summaryrefslogtreecommitdiff
path: root/templates
diff options
context:
space:
mode:
authorschneefux <schneefux+commit@schneefux.xyz>2017-03-25 13:13:28 +0100
committerschneefux <schneefux+commit@schneefux.xyz>2017-03-25 13:13:28 +0100
commitca88c377f918a9178c56e206b7bb13baefd30c91 (patch)
treee4ee2a5fda2ed378e9d103c627e9cb2a40f47310 /templates
parentb1bbeb2e2db4a287e7ccf627c2dc450cf5a53b62 (diff)
downloadminionlivesmatter-ca88c377f918a9178c56e206b7bb13baefd30c91.tar.gz
minionlivesmatter-ca88c377f918a9178c56e206b7bb13baefd30c91.zip
accidentally committed minionlivesmatter changes to meta
Diffstat (limited to 'templates')
-rw-r--r--templates/assets/bootstrap-material-design/dist/bootstrap-material-design.css10360
-rw-r--r--templates/assets/bootstrap-material-design/dist/bootstrap-material-design.iife.js11743
-rw-r--r--templates/assets/bootstrap-material-design/dist/bootstrap-material-design.iife.js.map1
-rw-r--r--templates/assets/bootstrap-material-design/dist/bootstrap-material-design.iife.min.js9
-rw-r--r--templates/assets/bootstrap-material-design/dist/bootstrap-material-design.min.css3
-rw-r--r--templates/assets/bootstrap-material-design/dist/bootstrap-material-design.umd.js2936
-rw-r--r--templates/assets/bootstrap-material-design/dist/bootstrap-material-design.umd.js.map1
-rw-r--r--templates/assets/bootstrap/dist/css/bootstrap-grid.css2298
-rw-r--r--templates/assets/bootstrap/dist/css/bootstrap-grid.css.map1
-rw-r--r--templates/assets/bootstrap/dist/css/bootstrap-grid.min.css1
-rw-r--r--templates/assets/bootstrap/dist/css/bootstrap-grid.min.css.map1
-rw-r--r--templates/assets/bootstrap/dist/css/bootstrap-reboot.css334
-rw-r--r--templates/assets/bootstrap/dist/css/bootstrap-reboot.css.map1
-rw-r--r--templates/assets/bootstrap/dist/css/bootstrap-reboot.min.css1
-rw-r--r--templates/assets/bootstrap/dist/css/bootstrap-reboot.min.css.map1
-rw-r--r--templates/assets/bootstrap/dist/css/bootstrap.css9119
-rw-r--r--templates/assets/bootstrap/dist/css/bootstrap.css.map1
-rw-r--r--templates/assets/bootstrap/dist/css/bootstrap.min.css6
-rw-r--r--templates/assets/bootstrap/dist/css/bootstrap.min.css.map1
-rw-r--r--templates/assets/bootstrap/dist/js/bootstrap.js3558
-rw-r--r--templates/assets/bootstrap/dist/js/bootstrap.min.js7
-rw-r--r--templates/assets/bootstrap/js/dist/alert.js183
-rw-r--r--templates/assets/bootstrap/js/dist/alert.js.map1
-rw-r--r--templates/assets/bootstrap/js/dist/button.js167
-rw-r--r--templates/assets/bootstrap/js/dist/button.js.map1
-rw-r--r--templates/assets/bootstrap/js/dist/carousel.js486
-rw-r--r--templates/assets/bootstrap/js/dist/carousel.js.map1
-rw-r--r--templates/assets/bootstrap/js/dist/collapse.js365
-rw-r--r--templates/assets/bootstrap/js/dist/collapse.js.map1
-rw-r--r--templates/assets/bootstrap/js/dist/dropdown.js291
-rw-r--r--templates/assets/bootstrap/js/dist/dropdown.js.map1
-rw-r--r--templates/assets/bootstrap/js/dist/modal.js535
-rw-r--r--templates/assets/bootstrap/js/dist/modal.js.map1
-rw-r--r--templates/assets/bootstrap/js/dist/popover.js193
-rw-r--r--templates/assets/bootstrap/js/dist/popover.js.map1
-rw-r--r--templates/assets/bootstrap/js/dist/scrollspy.js321
-rw-r--r--templates/assets/bootstrap/js/dist/scrollspy.js.map1
-rw-r--r--templates/assets/bootstrap/js/dist/tab.js264
-rw-r--r--templates/assets/bootstrap/js/dist/tab.js.map1
-rw-r--r--templates/assets/bootstrap/js/dist/tooltip.js623
-rw-r--r--templates/assets/bootstrap/js/dist/tooltip.js.map1
-rw-r--r--templates/assets/bootstrap/js/dist/util.js153
-rw-r--r--templates/assets/bootstrap/js/dist/util.js.map1
-rw-r--r--templates/assets/jquery/dist/jquery.js9814
-rw-r--r--templates/assets/jquery/dist/jquery.min.js4
-rw-r--r--templates/assets/jquery/dist/jquery.min.map1
-rw-r--r--templates/assets/jquery/external/sizzle/dist/sizzle.js2143
-rw-r--r--templates/assets/jquery/external/sizzle/dist/sizzle.min.js3
-rw-r--r--templates/assets/jquery/external/sizzle/dist/sizzle.min.map1
-rw-r--r--templates/assets/jquery/src/ajax/var/location.js3
-rw-r--r--templates/assets/jquery/src/ajax/var/nonce.js5
-rw-r--r--templates/assets/jquery/src/ajax/var/rquery.js3
-rw-r--r--templates/assets/jquery/src/core/var/rsingleTag.js5
-rw-r--r--templates/assets/jquery/src/css/var/cssExpand.js3
-rw-r--r--templates/assets/jquery/src/css/var/getStyles.js15
-rw-r--r--templates/assets/jquery/src/css/var/isHidden.js16
-rw-r--r--templates/assets/jquery/src/css/var/rmargin.js3
-rw-r--r--templates/assets/jquery/src/css/var/rnumnonpx.js5
-rw-r--r--templates/assets/jquery/src/css/var/swap.js24
-rw-r--r--templates/assets/jquery/src/data/var/acceptData.js18
-rw-r--r--templates/assets/jquery/src/data/var/dataPriv.js5
-rw-r--r--templates/assets/jquery/src/data/var/dataUser.js5
-rw-r--r--templates/assets/jquery/src/manipulation/var/rcheckableType.js3
-rw-r--r--templates/assets/jquery/src/manipulation/var/rscriptType.js3
-rw-r--r--templates/assets/jquery/src/manipulation/var/rtagName.js3
-rw-r--r--templates/assets/jquery/src/traversing/var/dir.js20
-rw-r--r--templates/assets/jquery/src/traversing/var/rneedsContext.js6
-rw-r--r--templates/assets/jquery/src/traversing/var/siblings.js15
-rw-r--r--templates/assets/jquery/src/var/arr.js3
-rw-r--r--templates/assets/jquery/src/var/class2type.js5
-rw-r--r--templates/assets/jquery/src/var/concat.js5
-rw-r--r--templates/assets/jquery/src/var/document.js3
-rw-r--r--templates/assets/jquery/src/var/documentElement.js5
-rw-r--r--templates/assets/jquery/src/var/hasOwn.js5
-rw-r--r--templates/assets/jquery/src/var/indexOf.js5
-rw-r--r--templates/assets/jquery/src/var/pnum.js3
-rw-r--r--templates/assets/jquery/src/var/push.js5
-rw-r--r--templates/assets/jquery/src/var/rcssNum.js7
-rw-r--r--templates/assets/jquery/src/var/rnotwhite.js3
-rw-r--r--templates/assets/jquery/src/var/slice.js5
-rw-r--r--templates/assets/jquery/src/var/support.js5
-rw-r--r--templates/assets/jquery/src/var/toString.js5
-rw-r--r--templates/assets/material-kit/dist/css/material-kit.css3746
-rw-r--r--templates/assets/material-kit/dist/css/material-kit.css.map7
-rw-r--r--templates/assets/material-kit/dist/js/material-kit.js129
-rw-r--r--templates/assets/tether/dist/css/tether-theme-arrows-dark.css150
-rw-r--r--templates/assets/tether/dist/css/tether-theme-arrows-dark.min.css1
-rw-r--r--templates/assets/tether/dist/css/tether-theme-arrows.css154
-rw-r--r--templates/assets/tether/dist/css/tether-theme-arrows.min.css1
-rw-r--r--templates/assets/tether/dist/css/tether-theme-basic.css21
-rw-r--r--templates/assets/tether/dist/css/tether-theme-basic.min.css1
-rw-r--r--templates/assets/tether/dist/css/tether.css8
-rw-r--r--templates/assets/tether/dist/css/tether.min.css1
-rw-r--r--templates/assets/tether/dist/js/tether.js1811
-rw-r--r--templates/assets/tether/dist/js/tether.min.js1
-rw-r--r--templates/index.html27
96 files changed, 62210 insertions, 13 deletions
diff --git a/templates/assets/bootstrap-material-design/dist/bootstrap-material-design.css b/templates/assets/bootstrap-material-design/dist/bootstrap-material-design.css
new file mode 100644
index 0000000..70ae616
--- /dev/null
+++ b/templates/assets/bootstrap-material-design/dist/bootstrap-material-design.css
@@ -0,0 +1,10360 @@
+.card {
+ font-size: .875rem;
+ font-weight: normal; }
+
+/*! normalize.css v4.0.0 | MIT License | github.com/necolas/normalize.css */
+html {
+ font-family: sans-serif;
+ -ms-text-size-adjust: 100%;
+ -webkit-text-size-adjust: 100%; }
+
+body {
+ margin: 0; }
+
+article,
+aside,
+details,
+figcaption,
+figure,
+footer,
+header,
+main,
+menu,
+nav,
+section,
+summary {
+ display: block; }
+
+audio,
+canvas,
+progress,
+video {
+ display: inline-block; }
+
+audio:not([controls]) {
+ display: none;
+ height: 0; }
+
+progress {
+ vertical-align: baseline; }
+
+template,
+[hidden] {
+ display: none; }
+
+a {
+ background-color: transparent; }
+
+a:active,
+a:hover {
+ outline-width: 0; }
+
+abbr[title] {
+ border-bottom: none;
+ text-decoration: underline;
+ text-decoration: underline dotted; }
+
+b,
+strong {
+ font-weight: inherit; }
+
+b,
+strong {
+ font-weight: bolder; }
+
+dfn {
+ font-style: italic; }
+
+h1 {
+ font-size: 2em;
+ margin: 0.67em 0; }
+
+mark {
+ background-color: #ff0;
+ color: #000; }
+
+small {
+ font-size: 80%; }
+
+sub,
+sup {
+ font-size: 75%;
+ line-height: 0;
+ position: relative;
+ vertical-align: baseline; }
+
+sub {
+ bottom: -0.25em; }
+
+sup {
+ top: -0.5em; }
+
+img {
+ border-style: none; }
+
+svg:not(:root) {
+ overflow: hidden; }
+
+code,
+kbd,
+pre,
+samp {
+ font-family: monospace, monospace;
+ font-size: 1em; }
+
+figure {
+ margin: 1em 40px; }
+
+hr {
+ -webkit-box-sizing: content-box;
+ box-sizing: content-box;
+ height: 0;
+ overflow: visible; }
+
+button,
+input,
+select,
+textarea {
+ font: inherit; }
+
+optgroup {
+ font-weight: bold; }
+
+button,
+input,
+select {
+ overflow: visible; }
+
+button,
+input,
+select,
+textarea {
+ margin: 0; }
+
+button,
+select {
+ text-transform: none; }
+
+button,
+[type="button"],
+[type="reset"],
+[type="submit"] {
+ cursor: pointer; }
+
+[disabled] {
+ cursor: default; }
+
+button,
+html [type="button"],
+[type="reset"],
+[type="submit"] {
+ -webkit-appearance: button; }
+
+button::-moz-focus-inner,
+input::-moz-focus-inner {
+ border: 0;
+ padding: 0; }
+
+button:-moz-focusring,
+input:-moz-focusring {
+ outline: 1px dotted ButtonText; }
+
+fieldset {
+ border: 1px solid #c0c0c0;
+ margin: 0 2px;
+ padding: 0.35em 0.625em 0.75em; }
+
+legend {
+ -webkit-box-sizing: border-box;
+ box-sizing: border-box;
+ color: inherit;
+ display: table;
+ max-width: 100%;
+ padding: 0;
+ white-space: normal; }
+
+textarea {
+ overflow: auto; }
+
+[type="checkbox"],
+[type="radio"] {
+ -webkit-box-sizing: border-box;
+ box-sizing: border-box;
+ padding: 0; }
+
+[type="number"]::-webkit-inner-spin-button,
+[type="number"]::-webkit-outer-spin-button {
+ height: auto; }
+
+[type="search"] {
+ -webkit-appearance: textfield; }
+
+[type="search"]::-webkit-search-cancel-button,
+[type="search"]::-webkit-search-decoration {
+ -webkit-appearance: none; }
+
+@media print {
+ *,
+ *::before,
+ *::after,
+ *::first-letter,
+ *::first-line {
+ text-shadow: none !important;
+ -webkit-box-shadow: none !important;
+ box-shadow: none !important; }
+ a,
+ a:visited {
+ text-decoration: underline; }
+ abbr[title]::after {
+ content: " (" attr(title) ")"; }
+ pre,
+ blockquote {
+ border: 1px solid #999;
+ page-break-inside: avoid; }
+ thead {
+ display: table-header-group; }
+ tr,
+ img {
+ page-break-inside: avoid; }
+ p,
+ h2,
+ h3 {
+ orphans: 3;
+ widows: 3; }
+ h2,
+ h3 {
+ page-break-after: avoid; }
+ .navbar {
+ display: none; }
+ .btn > .caret, .custom-file-control::before > .caret,
+ .dropup > .btn > .caret,
+ .dropup > .custom-file-control::before > .caret {
+ border-top-color: #000 !important; }
+ .tag {
+ border: 1px solid #000; }
+ .table {
+ border-collapse: collapse !important; }
+ .table td,
+ .table th {
+ background-color: #fff !important; }
+ .table-bordered th,
+ .table-bordered td {
+ border: 1px solid #ddd !important; } }
+
+html {
+ -webkit-box-sizing: border-box;
+ box-sizing: border-box; }
+
+*,
+*::before,
+*::after {
+ -webkit-box-sizing: inherit;
+ box-sizing: inherit; }
+
+@-ms-viewport {
+ width: device-width; }
+
+html {
+ font-size: 16px;
+ -ms-overflow-style: scrollbar;
+ -webkit-tap-highlight-color: transparent; }
+
+body {
+ font-family: "Roboto", "Helvetica", "Arial", sans-serif;
+ font-size: 1rem;
+ line-height: 1.5;
+ color: rgba(0, 0, 0, 0.87);
+ background-color: #fafafa; }
+
+[tabindex="-1"]:focus {
+ outline: none !important; }
+
+h1, h2, h3, h4, h5, h6 {
+ margin-top: 0;
+ margin-bottom: .5rem; }
+
+p {
+ margin-top: 0;
+ margin-bottom: 1rem; }
+
+abbr[title],
+abbr[data-original-title] {
+ cursor: help;
+ border-bottom: 1px dotted rgba(0, 0, 0, 0.26); }
+
+address {
+ margin-bottom: 1rem;
+ font-style: normal;
+ line-height: inherit; }
+
+ol,
+ul,
+dl {
+ margin-top: 0;
+ margin-bottom: 1rem; }
+
+ol ol,
+ul ul,
+ol ul,
+ul ol {
+ margin-bottom: 0; }
+
+dt {
+ font-weight: bold; }
+
+dd {
+ margin-bottom: .5rem;
+ margin-left: 0; }
+
+blockquote {
+ margin: 0 0 1rem; }
+
+a {
+ color: #009688;
+ text-decoration: none; }
+ a:focus, a:hover {
+ color: #004a43;
+ text-decoration: underline; }
+ a:focus {
+ outline: 5px auto -webkit-focus-ring-color;
+ outline-offset: -2px; }
+
+a:not([href]):not([tabindex]) {
+ color: inherit;
+ text-decoration: none; }
+ a:not([href]):not([tabindex]):focus, a:not([href]):not([tabindex]):hover {
+ color: inherit;
+ text-decoration: none; }
+ a:not([href]):not([tabindex]):focus {
+ outline: none; }
+
+pre {
+ margin-top: 0;
+ margin-bottom: 1rem;
+ overflow: auto; }
+
+figure {
+ margin: 0 0 1rem; }
+
+img {
+ vertical-align: middle; }
+
+[role="button"] {
+ cursor: pointer; }
+
+a,
+area,
+button,
+[role="button"],
+input,
+label,
+select,
+summary,
+textarea {
+ -ms-touch-action: manipulation;
+ touch-action: manipulation; }
+
+table {
+ border-collapse: collapse;
+ background-color: transparent; }
+
+caption {
+ padding-top: 0.75rem;
+ padding-bottom: 0.75rem;
+ color: rgba(0, 0, 0, 0.26);
+ text-align: left;
+ caption-side: bottom; }
+
+th {
+ text-align: left; }
+
+label {
+ display: inline-block;
+ margin-bottom: .5rem; }
+
+button:focus {
+ outline: 1px dotted;
+ outline: 5px auto -webkit-focus-ring-color; }
+
+input,
+button,
+select,
+textarea {
+ margin: 0;
+ line-height: inherit;
+ border-radius: 0; }
+
+input[type="radio"]:disabled,
+input[type="checkbox"]:disabled {
+ cursor: not-allowed; }
+
+input[type="date"],
+input[type="time"],
+input[type="datetime-local"],
+input[type="month"] {
+ -webkit-appearance: listbox; }
+
+textarea {
+ resize: vertical; }
+
+fieldset {
+ min-width: 0;
+ padding: 0;
+ margin: 0;
+ border: 0; }
+
+legend {
+ display: block;
+ width: 100%;
+ padding: 0;
+ margin-bottom: .5rem;
+ font-size: 1.5rem;
+ line-height: inherit; }
+
+input[type="search"] {
+ -webkit-appearance: none; }
+
+output {
+ display: inline-block; }
+
+[hidden] {
+ display: none !important; }
+
+h1, h2, h3, h4, h5, h6,
+.h1, .h2, .h3, .h4, .h5, .h6 {
+ margin-bottom: 0.25rem;
+ font-family: inherit;
+ font-weight: 400;
+ line-height: 1.1;
+ color: inherit; }
+
+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; }
+
+.lead {
+ font-size: 1.25rem;
+ font-weight: 300; }
+
+.display-1 {
+ font-size: 7rem;
+ font-weight: 300; }
+
+.display-2 {
+ font-size: 3.5rem;
+ font-weight: 300; }
+
+.display-3 {
+ font-size: 2.8125rem;
+ font-weight: 300; }
+
+.display-4 {
+ font-size: 2.125rem;
+ font-weight: 300; }
+
+hr {
+ margin-top: 0.5rem;
+ margin-bottom: 0.5rem;
+ border: 0;
+ border-top: 1px solid rgba(0, 0, 0, 0.1); }
+
+small,
+.small {
+ font-size: 80%;
+ font-weight: normal; }
+
+mark,
+.mark {
+ padding: 0.2em;
+ background-color: #ff5722; }
+
+.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: 5px; }
+
+.initialism {
+ font-size: 90%;
+ text-transform: uppercase; }
+
+.blockquote {
+ padding: 0.25rem 0.5rem;
+ margin-bottom: 0.5rem;
+ font-size: 1.25rem;
+ border-left: 0.25rem solid rgba(0, 0, 0, 0.12); }
+
+.blockquote-footer {
+ display: block;
+ font-size: 80%;
+ color: rgba(0, 0, 0, 0.26); }
+ .blockquote-footer::before {
+ content: "\2014 \00A0"; }
+
+.blockquote-reverse {
+ padding-right: 0.5rem;
+ padding-left: 0;
+ text-align: right;
+ border-right: 0.25rem solid rgba(0, 0, 0, 0.12);
+ border-left: 0; }
+
+.blockquote-reverse .blockquote-footer::before {
+ content: ""; }
+
+.blockquote-reverse .blockquote-footer::after {
+ content: "\00A0 \2014"; }
+
+.img-fluid, .carousel-inner > .carousel-item > img,
+.carousel-inner > .carousel-item > a > img {
+ display: block;
+ max-width: 100%;
+ height: auto; }
+
+.img-rounded {
+ border-radius: 0.3rem; }
+
+.img-thumbnail {
+ padding: 0.25rem;
+ background-color: #fafafa;
+ border: 1px solid #ddd;
+ border-radius: 0.125rem;
+ -webkit-transition: all .2s ease-in-out;
+ -o-transition: all .2s ease-in-out;
+ transition: all .2s ease-in-out;
+ -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.075);
+ box-shadow: 0 1px 2px rgba(0, 0, 0, 0.075);
+ display: inline-block;
+ max-width: 100%;
+ height: auto; }
+
+.img-circle {
+ border-radius: 50%; }
+
+.figure {
+ display: inline-block; }
+
+.figure-img {
+ margin-bottom: 0.25rem;
+ line-height: 1; }
+
+.figure-caption {
+ font-size: 90%;
+ color: rgba(0, 0, 0, 0.26); }
+
+code,
+kbd,
+pre,
+samp {
+ font-family: Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; }
+
+code {
+ padding: 0.2rem 0.4rem;
+ font-size: 90%;
+ color: #bd4147;
+ background-color: #eee;
+ border-radius: 0.125rem; }
+
+kbd {
+ padding: 0.2rem 0.4rem;
+ font-size: 90%;
+ color: #fff;
+ background-color: #333;
+ border-radius: 0.0625rem;
+ -webkit-box-shadow: inset 0 -0.1rem 0 rgba(0, 0, 0, 0.25);
+ box-shadow: inset 0 -0.1rem 0 rgba(0, 0, 0, 0.25); }
+ kbd kbd {
+ padding: 0;
+ font-size: 100%;
+ font-weight: bold;
+ -webkit-box-shadow: none;
+ box-shadow: none; }
+
+pre {
+ display: block;
+ margin-top: 0;
+ margin-bottom: 1rem;
+ font-size: 90%;
+ color: rgba(0, 0, 0, 0.87); }
+ pre code {
+ padding: 0;
+ font-size: inherit;
+ color: inherit;
+ background-color: transparent;
+ border-radius: 0; }
+
+.pre-scrollable {
+ max-height: 340px;
+ overflow-y: scroll; }
+
+.container {
+ margin-left: auto;
+ margin-right: auto;
+ padding-left: 15px;
+ padding-right: 15px; }
+ @media (min-width: 544px) {
+ .container {
+ max-width: 576px; } }
+ @media (min-width: 768px) {
+ .container {
+ max-width: 720px; } }
+ @media (min-width: 992px) {
+ .container {
+ max-width: 940px; } }
+ @media (min-width: 1200px) {
+ .container {
+ max-width: 1140px; } }
+
+.container-fluid {
+ margin-left: auto;
+ margin-right: auto;
+ padding-left: 15px;
+ padding-right: 15px; }
+
+.row {
+ display: -webkit-box;
+ display: -webkit-flex;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-flex-wrap: wrap;
+ -ms-flex-wrap: wrap;
+ flex-wrap: wrap;
+ margin-left: -15px;
+ margin-right: -15px; }
+
+.col-xs-1, .col-xs-2, .col-xs-3, .col-xs-4, .col-xs-5, .col-xs-6, .col-xs-7, .col-xs-8, .col-xs-9, .col-xs-10, .col-xs-11, .col-xs-12, .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-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-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-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 {
+ position: relative;
+ min-height: 1px;
+ padding-right: 15px;
+ padding-left: 15px;
+ width: 100%; }
+
+.col-xs {
+ position: relative;
+ -webkit-flex-basis: 0;
+ -ms-flex-preferred-size: 0;
+ flex-basis: 0;
+ -webkit-box-flex: 1;
+ -webkit-flex-grow: 1;
+ -ms-flex-positive: 1;
+ flex-grow: 1;
+ max-width: 100%;
+ min-height: 1px;
+ padding-right: 15px;
+ padding-left: 15px; }
+
+.col-xs-1 {
+ -webkit-box-flex: 0;
+ -webkit-flex: 0 0 8.33333%;
+ -ms-flex: 0 0 8.33333%;
+ flex: 0 0 8.33333%;
+ max-width: 8.33333%; }
+
+.col-xs-2 {
+ -webkit-box-flex: 0;
+ -webkit-flex: 0 0 16.66667%;
+ -ms-flex: 0 0 16.66667%;
+ flex: 0 0 16.66667%;
+ max-width: 16.66667%; }
+
+.col-xs-3 {
+ -webkit-box-flex: 0;
+ -webkit-flex: 0 0 25%;
+ -ms-flex: 0 0 25%;
+ flex: 0 0 25%;
+ max-width: 25%; }
+
+.col-xs-4 {
+ -webkit-box-flex: 0;
+ -webkit-flex: 0 0 33.33333%;
+ -ms-flex: 0 0 33.33333%;
+ flex: 0 0 33.33333%;
+ max-width: 33.33333%; }
+
+.col-xs-5 {
+ -webkit-box-flex: 0;
+ -webkit-flex: 0 0 41.66667%;
+ -ms-flex: 0 0 41.66667%;
+ flex: 0 0 41.66667%;
+ max-width: 41.66667%; }
+
+.col-xs-6 {
+ -webkit-box-flex: 0;
+ -webkit-flex: 0 0 50%;
+ -ms-flex: 0 0 50%;
+ flex: 0 0 50%;
+ max-width: 50%; }
+
+.col-xs-7 {
+ -webkit-box-flex: 0;
+ -webkit-flex: 0 0 58.33333%;
+ -ms-flex: 0 0 58.33333%;
+ flex: 0 0 58.33333%;
+ max-width: 58.33333%; }
+
+.col-xs-8 {
+ -webkit-box-flex: 0;
+ -webkit-flex: 0 0 66.66667%;
+ -ms-flex: 0 0 66.66667%;
+ flex: 0 0 66.66667%;
+ max-width: 66.66667%; }
+
+.col-xs-9 {
+ -webkit-box-flex: 0;
+ -webkit-flex: 0 0 75%;
+ -ms-flex: 0 0 75%;
+ flex: 0 0 75%;
+ max-width: 75%; }
+
+.col-xs-10 {
+ -webkit-box-flex: 0;
+ -webkit-flex: 0 0 83.33333%;
+ -ms-flex: 0 0 83.33333%;
+ flex: 0 0 83.33333%;
+ max-width: 83.33333%; }
+
+.col-xs-11 {
+ -webkit-box-flex: 0;
+ -webkit-flex: 0 0 91.66667%;
+ -ms-flex: 0 0 91.66667%;
+ flex: 0 0 91.66667%;
+ max-width: 91.66667%; }
+
+.col-xs-12 {
+ -webkit-box-flex: 0;
+ -webkit-flex: 0 0 100%;
+ -ms-flex: 0 0 100%;
+ flex: 0 0 100%;
+ max-width: 100%; }
+
+.pull-xs-0 {
+ right: auto; }
+
+.pull-xs-1 {
+ right: 8.33333%; }
+
+.pull-xs-2 {
+ right: 16.66667%; }
+
+.pull-xs-3 {
+ right: 25%; }
+
+.pull-xs-4 {
+ right: 33.33333%; }
+
+.pull-xs-5 {
+ right: 41.66667%; }
+
+.pull-xs-6 {
+ right: 50%; }
+
+.pull-xs-7 {
+ right: 58.33333%; }
+
+.pull-xs-8 {
+ right: 66.66667%; }
+
+.pull-xs-9 {
+ right: 75%; }
+
+.pull-xs-10 {
+ right: 83.33333%; }
+
+.pull-xs-11 {
+ right: 91.66667%; }
+
+.pull-xs-12 {
+ right: 100%; }
+
+.push-xs-0 {
+ left: auto; }
+
+.push-xs-1 {
+ left: 8.33333%; }
+
+.push-xs-2 {
+ left: 16.66667%; }
+
+.push-xs-3 {
+ left: 25%; }
+
+.push-xs-4 {
+ left: 33.33333%; }
+
+.push-xs-5 {
+ left: 41.66667%; }
+
+.push-xs-6 {
+ left: 50%; }
+
+.push-xs-7 {
+ left: 58.33333%; }
+
+.push-xs-8 {
+ left: 66.66667%; }
+
+.push-xs-9 {
+ left: 75%; }
+
+.push-xs-10 {
+ left: 83.33333%; }
+
+.push-xs-11 {
+ left: 91.66667%; }
+
+.push-xs-12 {
+ left: 100%; }
+
+.offset-xs-1 {
+ margin-left: 8.33333%; }
+
+.offset-xs-2 {
+ margin-left: 16.66667%; }
+
+.offset-xs-3 {
+ margin-left: 25%; }
+
+.offset-xs-4 {
+ margin-left: 33.33333%; }
+
+.offset-xs-5 {
+ margin-left: 41.66667%; }
+
+.offset-xs-6 {
+ margin-left: 50%; }
+
+.offset-xs-7 {
+ margin-left: 58.33333%; }
+
+.offset-xs-8 {
+ margin-left: 66.66667%; }
+
+.offset-xs-9 {
+ margin-left: 75%; }
+
+.offset-xs-10 {
+ margin-left: 83.33333%; }
+
+.offset-xs-11 {
+ margin-left: 91.66667%; }
+
+@media (min-width: 544px) {
+ .col-sm {
+ position: relative;
+ -webkit-flex-basis: 0;
+ -ms-flex-preferred-size: 0;
+ flex-basis: 0;
+ -webkit-box-flex: 1;
+ -webkit-flex-grow: 1;
+ -ms-flex-positive: 1;
+ flex-grow: 1;
+ max-width: 100%;
+ min-height: 1px;
+ padding-right: 15px;
+ padding-left: 15px; }
+ .col-sm-1 {
+ -webkit-box-flex: 0;
+ -webkit-flex: 0 0 8.33333%;
+ -ms-flex: 0 0 8.33333%;
+ flex: 0 0 8.33333%;
+ max-width: 8.33333%; }
+ .col-sm-2 {
+ -webkit-box-flex: 0;
+ -webkit-flex: 0 0 16.66667%;
+ -ms-flex: 0 0 16.66667%;
+ flex: 0 0 16.66667%;
+ max-width: 16.66667%; }
+ .col-sm-3 {
+ -webkit-box-flex: 0;
+ -webkit-flex: 0 0 25%;
+ -ms-flex: 0 0 25%;
+ flex: 0 0 25%;
+ max-width: 25%; }
+ .col-sm-4 {
+ -webkit-box-flex: 0;
+ -webkit-flex: 0 0 33.33333%;
+ -ms-flex: 0 0 33.33333%;
+ flex: 0 0 33.33333%;
+ max-width: 33.33333%; }
+ .col-sm-5 {
+ -webkit-box-flex: 0;
+ -webkit-flex: 0 0 41.66667%;
+ -ms-flex: 0 0 41.66667%;
+ flex: 0 0 41.66667%;
+ max-width: 41.66667%; }
+ .col-sm-6 {
+ -webkit-box-flex: 0;
+ -webkit-flex: 0 0 50%;
+ -ms-flex: 0 0 50%;
+ flex: 0 0 50%;
+ max-width: 50%; }
+ .col-sm-7 {
+ -webkit-box-flex: 0;
+ -webkit-flex: 0 0 58.33333%;
+ -ms-flex: 0 0 58.33333%;
+ flex: 0 0 58.33333%;
+ max-width: 58.33333%; }
+ .col-sm-8 {
+ -webkit-box-flex: 0;
+ -webkit-flex: 0 0 66.66667%;
+ -ms-flex: 0 0 66.66667%;
+ flex: 0 0 66.66667%;
+ max-width: 66.66667%; }
+ .col-sm-9 {
+ -webkit-box-flex: 0;
+ -webkit-flex: 0 0 75%;
+ -ms-flex: 0 0 75%;
+ flex: 0 0 75%;
+ max-width: 75%; }
+ .col-sm-10 {
+ -webkit-box-flex: 0;
+ -webkit-flex: 0 0 83.33333%;
+ -ms-flex: 0 0 83.33333%;
+ flex: 0 0 83.33333%;
+ max-width: 83.33333%; }
+ .col-sm-11 {
+ -webkit-box-flex: 0;
+ -webkit-flex: 0 0 91.66667%;
+ -ms-flex: 0 0 91.66667%;
+ flex: 0 0 91.66667%;
+ max-width: 91.66667%; }
+ .col-sm-12 {
+ -webkit-box-flex: 0;
+ -webkit-flex: 0 0 100%;
+ -ms-flex: 0 0 100%;
+ flex: 0 0 100%;
+ max-width: 100%; }
+ .pull-sm-0 {
+ right: auto; }
+ .pull-sm-1 {
+ right: 8.33333%; }
+ .pull-sm-2 {
+ right: 16.66667%; }
+ .pull-sm-3 {
+ right: 25%; }
+ .pull-sm-4 {
+ right: 33.33333%; }
+ .pull-sm-5 {
+ right: 41.66667%; }
+ .pull-sm-6 {
+ right: 50%; }
+ .pull-sm-7 {
+ right: 58.33333%; }
+ .pull-sm-8 {
+ right: 66.66667%; }
+ .pull-sm-9 {
+ right: 75%; }
+ .pull-sm-10 {
+ right: 83.33333%; }
+ .pull-sm-11 {
+ right: 91.66667%; }
+ .pull-sm-12 {
+ right: 100%; }
+ .push-sm-0 {
+ left: auto; }
+ .push-sm-1 {
+ left: 8.33333%; }
+ .push-sm-2 {
+ left: 16.66667%; }
+ .push-sm-3 {
+ left: 25%; }
+ .push-sm-4 {
+ left: 33.33333%; }
+ .push-sm-5 {
+ left: 41.66667%; }
+ .push-sm-6 {
+ left: 50%; }
+ .push-sm-7 {
+ left: 58.33333%; }
+ .push-sm-8 {
+ left: 66.66667%; }
+ .push-sm-9 {
+ left: 75%; }
+ .push-sm-10 {
+ left: 83.33333%; }
+ .push-sm-11 {
+ left: 91.66667%; }
+ .push-sm-12 {
+ left: 100%; }
+ .offset-sm-0 {
+ margin-left: 0%; }
+ .offset-sm-1 {
+ margin-left: 8.33333%; }
+ .offset-sm-2 {
+ margin-left: 16.66667%; }
+ .offset-sm-3 {
+ margin-left: 25%; }
+ .offset-sm-4 {
+ margin-left: 33.33333%; }
+ .offset-sm-5 {
+ margin-left: 41.66667%; }
+ .offset-sm-6 {
+ margin-left: 50%; }
+ .offset-sm-7 {
+ margin-left: 58.33333%; }
+ .offset-sm-8 {
+ margin-left: 66.66667%; }
+ .offset-sm-9 {
+ margin-left: 75%; }
+ .offset-sm-10 {
+ margin-left: 83.33333%; }
+ .offset-sm-11 {
+ margin-left: 91.66667%; } }
+
+@media (min-width: 768px) {
+ .col-md {
+ position: relative;
+ -webkit-flex-basis: 0;
+ -ms-flex-preferred-size: 0;
+ flex-basis: 0;
+ -webkit-box-flex: 1;
+ -webkit-flex-grow: 1;
+ -ms-flex-positive: 1;
+ flex-grow: 1;
+ max-width: 100%;
+ min-height: 1px;
+ padding-right: 15px;
+ padding-left: 15px; }
+ .col-md-1 {
+ -webkit-box-flex: 0;
+ -webkit-flex: 0 0 8.33333%;
+ -ms-flex: 0 0 8.33333%;
+ flex: 0 0 8.33333%;
+ max-width: 8.33333%; }
+ .col-md-2 {
+ -webkit-box-flex: 0;
+ -webkit-flex: 0 0 16.66667%;
+ -ms-flex: 0 0 16.66667%;
+ flex: 0 0 16.66667%;
+ max-width: 16.66667%; }
+ .col-md-3 {
+ -webkit-box-flex: 0;
+ -webkit-flex: 0 0 25%;
+ -ms-flex: 0 0 25%;
+ flex: 0 0 25%;
+ max-width: 25%; }
+ .col-md-4 {
+ -webkit-box-flex: 0;
+ -webkit-flex: 0 0 33.33333%;
+ -ms-flex: 0 0 33.33333%;
+ flex: 0 0 33.33333%;
+ max-width: 33.33333%; }
+ .col-md-5 {
+ -webkit-box-flex: 0;
+ -webkit-flex: 0 0 41.66667%;
+ -ms-flex: 0 0 41.66667%;
+ flex: 0 0 41.66667%;
+ max-width: 41.66667%; }
+ .col-md-6 {
+ -webkit-box-flex: 0;
+ -webkit-flex: 0 0 50%;
+ -ms-flex: 0 0 50%;
+ flex: 0 0 50%;
+ max-width: 50%; }
+ .col-md-7 {
+ -webkit-box-flex: 0;
+ -webkit-flex: 0 0 58.33333%;
+ -ms-flex: 0 0 58.33333%;
+ flex: 0 0 58.33333%;
+ max-width: 58.33333%; }
+ .col-md-8 {
+ -webkit-box-flex: 0;
+ -webkit-flex: 0 0 66.66667%;
+ -ms-flex: 0 0 66.66667%;
+ flex: 0 0 66.66667%;
+ max-width: 66.66667%; }
+ .col-md-9 {
+ -webkit-box-flex: 0;
+ -webkit-flex: 0 0 75%;
+ -ms-flex: 0 0 75%;
+ flex: 0 0 75%;
+ max-width: 75%; }
+ .col-md-10 {
+ -webkit-box-flex: 0;
+ -webkit-flex: 0 0 83.33333%;
+ -ms-flex: 0 0 83.33333%;
+ flex: 0 0 83.33333%;
+ max-width: 83.33333%; }
+ .col-md-11 {
+ -webkit-box-flex: 0;
+ -webkit-flex: 0 0 91.66667%;
+ -ms-flex: 0 0 91.66667%;
+ flex: 0 0 91.66667%;
+ max-width: 91.66667%; }
+ .col-md-12 {
+ -webkit-box-flex: 0;
+ -webkit-flex: 0 0 100%;
+ -ms-flex: 0 0 100%;
+ flex: 0 0 100%;
+ max-width: 100%; }
+ .pull-md-0 {
+ right: auto; }
+ .pull-md-1 {
+ right: 8.33333%; }
+ .pull-md-2 {
+ right: 16.66667%; }
+ .pull-md-3 {
+ right: 25%; }
+ .pull-md-4 {
+ right: 33.33333%; }
+ .pull-md-5 {
+ right: 41.66667%; }
+ .pull-md-6 {
+ right: 50%; }
+ .pull-md-7 {
+ right: 58.33333%; }
+ .pull-md-8 {
+ right: 66.66667%; }
+ .pull-md-9 {
+ right: 75%; }
+ .pull-md-10 {
+ right: 83.33333%; }
+ .pull-md-11 {
+ right: 91.66667%; }
+ .pull-md-12 {
+ right: 100%; }
+ .push-md-0 {
+ left: auto; }
+ .push-md-1 {
+ left: 8.33333%; }
+ .push-md-2 {
+ left: 16.66667%; }
+ .push-md-3 {
+ left: 25%; }
+ .push-md-4 {
+ left: 33.33333%; }
+ .push-md-5 {
+ left: 41.66667%; }
+ .push-md-6 {
+ left: 50%; }
+ .push-md-7 {
+ left: 58.33333%; }
+ .push-md-8 {
+ left: 66.66667%; }
+ .push-md-9 {
+ left: 75%; }
+ .push-md-10 {
+ left: 83.33333%; }
+ .push-md-11 {
+ left: 91.66667%; }
+ .push-md-12 {
+ left: 100%; }
+ .offset-md-0 {
+ margin-left: 0%; }
+ .offset-md-1 {
+ margin-left: 8.33333%; }
+ .offset-md-2 {
+ margin-left: 16.66667%; }
+ .offset-md-3 {
+ margin-left: 25%; }
+ .offset-md-4 {
+ margin-left: 33.33333%; }
+ .offset-md-5 {
+ margin-left: 41.66667%; }
+ .offset-md-6 {
+ margin-left: 50%; }
+ .offset-md-7 {
+ margin-left: 58.33333%; }
+ .offset-md-8 {
+ margin-left: 66.66667%; }
+ .offset-md-9 {
+ margin-left: 75%; }
+ .offset-md-10 {
+ margin-left: 83.33333%; }
+ .offset-md-11 {
+ margin-left: 91.66667%; } }
+
+@media (min-width: 992px) {
+ .col-lg {
+ position: relative;
+ -webkit-flex-basis: 0;
+ -ms-flex-preferred-size: 0;
+ flex-basis: 0;
+ -webkit-box-flex: 1;
+ -webkit-flex-grow: 1;
+ -ms-flex-positive: 1;
+ flex-grow: 1;
+ max-width: 100%;
+ min-height: 1px;
+ padding-right: 15px;
+ padding-left: 15px; }
+ .col-lg-1 {
+ -webkit-box-flex: 0;
+ -webkit-flex: 0 0 8.33333%;
+ -ms-flex: 0 0 8.33333%;
+ flex: 0 0 8.33333%;
+ max-width: 8.33333%; }
+ .col-lg-2 {
+ -webkit-box-flex: 0;
+ -webkit-flex: 0 0 16.66667%;
+ -ms-flex: 0 0 16.66667%;
+ flex: 0 0 16.66667%;
+ max-width: 16.66667%; }
+ .col-lg-3 {
+ -webkit-box-flex: 0;
+ -webkit-flex: 0 0 25%;
+ -ms-flex: 0 0 25%;
+ flex: 0 0 25%;
+ max-width: 25%; }
+ .col-lg-4 {
+ -webkit-box-flex: 0;
+ -webkit-flex: 0 0 33.33333%;
+ -ms-flex: 0 0 33.33333%;
+ flex: 0 0 33.33333%;
+ max-width: 33.33333%; }
+ .col-lg-5 {
+ -webkit-box-flex: 0;
+ -webkit-flex: 0 0 41.66667%;
+ -ms-flex: 0 0 41.66667%;
+ flex: 0 0 41.66667%;
+ max-width: 41.66667%; }
+ .col-lg-6 {
+ -webkit-box-flex: 0;
+ -webkit-flex: 0 0 50%;
+ -ms-flex: 0 0 50%;
+ flex: 0 0 50%;
+ max-width: 50%; }
+ .col-lg-7 {
+ -webkit-box-flex: 0;
+ -webkit-flex: 0 0 58.33333%;
+ -ms-flex: 0 0 58.33333%;
+ flex: 0 0 58.33333%;
+ max-width: 58.33333%; }
+ .col-lg-8 {
+ -webkit-box-flex: 0;
+ -webkit-flex: 0 0 66.66667%;
+ -ms-flex: 0 0 66.66667%;
+ flex: 0 0 66.66667%;
+ max-width: 66.66667%; }
+ .col-lg-9 {
+ -webkit-box-flex: 0;
+ -webkit-flex: 0 0 75%;
+ -ms-flex: 0 0 75%;
+ flex: 0 0 75%;
+ max-width: 75%; }
+ .col-lg-10 {
+ -webkit-box-flex: 0;
+ -webkit-flex: 0 0 83.33333%;
+ -ms-flex: 0 0 83.33333%;
+ flex: 0 0 83.33333%;
+ max-width: 83.33333%; }
+ .col-lg-11 {
+ -webkit-box-flex: 0;
+ -webkit-flex: 0 0 91.66667%;
+ -ms-flex: 0 0 91.66667%;
+ flex: 0 0 91.66667%;
+ max-width: 91.66667%; }
+ .col-lg-12 {
+ -webkit-box-flex: 0;
+ -webkit-flex: 0 0 100%;
+ -ms-flex: 0 0 100%;
+ flex: 0 0 100%;
+ max-width: 100%; }
+ .pull-lg-0 {
+ right: auto; }
+ .pull-lg-1 {
+ right: 8.33333%; }
+ .pull-lg-2 {
+ right: 16.66667%; }
+ .pull-lg-3 {
+ right: 25%; }
+ .pull-lg-4 {
+ right: 33.33333%; }
+ .pull-lg-5 {
+ right: 41.66667%; }
+ .pull-lg-6 {
+ right: 50%; }
+ .pull-lg-7 {
+ right: 58.33333%; }
+ .pull-lg-8 {
+ right: 66.66667%; }
+ .pull-lg-9 {
+ right: 75%; }
+ .pull-lg-10 {
+ right: 83.33333%; }
+ .pull-lg-11 {
+ right: 91.66667%; }
+ .pull-lg-12 {
+ right: 100%; }
+ .push-lg-0 {
+ left: auto; }
+ .push-lg-1 {
+ left: 8.33333%; }
+ .push-lg-2 {
+ left: 16.66667%; }
+ .push-lg-3 {
+ left: 25%; }
+ .push-lg-4 {
+ left: 33.33333%; }
+ .push-lg-5 {
+ left: 41.66667%; }
+ .push-lg-6 {
+ left: 50%; }
+ .push-lg-7 {
+ left: 58.33333%; }
+ .push-lg-8 {
+ left: 66.66667%; }
+ .push-lg-9 {
+ left: 75%; }
+ .push-lg-10 {
+ left: 83.33333%; }
+ .push-lg-11 {
+ left: 91.66667%; }
+ .push-lg-12 {
+ left: 100%; }
+ .offset-lg-0 {
+ margin-left: 0%; }
+ .offset-lg-1 {
+ margin-left: 8.33333%; }
+ .offset-lg-2 {
+ margin-left: 16.66667%; }
+ .offset-lg-3 {
+ margin-left: 25%; }
+ .offset-lg-4 {
+ margin-left: 33.33333%; }
+ .offset-lg-5 {
+ margin-left: 41.66667%; }
+ .offset-lg-6 {
+ margin-left: 50%; }
+ .offset-lg-7 {
+ margin-left: 58.33333%; }
+ .offset-lg-8 {
+ margin-left: 66.66667%; }
+ .offset-lg-9 {
+ margin-left: 75%; }
+ .offset-lg-10 {
+ margin-left: 83.33333%; }
+ .offset-lg-11 {
+ margin-left: 91.66667%; } }
+
+@media (min-width: 1200px) {
+ .col-xl {
+ position: relative;
+ -webkit-flex-basis: 0;
+ -ms-flex-preferred-size: 0;
+ flex-basis: 0;
+ -webkit-box-flex: 1;
+ -webkit-flex-grow: 1;
+ -ms-flex-positive: 1;
+ flex-grow: 1;
+ max-width: 100%;
+ min-height: 1px;
+ padding-right: 15px;
+ padding-left: 15px; }
+ .col-xl-1 {
+ -webkit-box-flex: 0;
+ -webkit-flex: 0 0 8.33333%;
+ -ms-flex: 0 0 8.33333%;
+ flex: 0 0 8.33333%;
+ max-width: 8.33333%; }
+ .col-xl-2 {
+ -webkit-box-flex: 0;
+ -webkit-flex: 0 0 16.66667%;
+ -ms-flex: 0 0 16.66667%;
+ flex: 0 0 16.66667%;
+ max-width: 16.66667%; }
+ .col-xl-3 {
+ -webkit-box-flex: 0;
+ -webkit-flex: 0 0 25%;
+ -ms-flex: 0 0 25%;
+ flex: 0 0 25%;
+ max-width: 25%; }
+ .col-xl-4 {
+ -webkit-box-flex: 0;
+ -webkit-flex: 0 0 33.33333%;
+ -ms-flex: 0 0 33.33333%;
+ flex: 0 0 33.33333%;
+ max-width: 33.33333%; }
+ .col-xl-5 {
+ -webkit-box-flex: 0;
+ -webkit-flex: 0 0 41.66667%;
+ -ms-flex: 0 0 41.66667%;
+ flex: 0 0 41.66667%;
+ max-width: 41.66667%; }
+ .col-xl-6 {
+ -webkit-box-flex: 0;
+ -webkit-flex: 0 0 50%;
+ -ms-flex: 0 0 50%;
+ flex: 0 0 50%;
+ max-width: 50%; }
+ .col-xl-7 {
+ -webkit-box-flex: 0;
+ -webkit-flex: 0 0 58.33333%;
+ -ms-flex: 0 0 58.33333%;
+ flex: 0 0 58.33333%;
+ max-width: 58.33333%; }
+ .col-xl-8 {
+ -webkit-box-flex: 0;
+ -webkit-flex: 0 0 66.66667%;
+ -ms-flex: 0 0 66.66667%;
+ flex: 0 0 66.66667%;
+ max-width: 66.66667%; }
+ .col-xl-9 {
+ -webkit-box-flex: 0;
+ -webkit-flex: 0 0 75%;
+ -ms-flex: 0 0 75%;
+ flex: 0 0 75%;
+ max-width: 75%; }
+ .col-xl-10 {
+ -webkit-box-flex: 0;
+ -webkit-flex: 0 0 83.33333%;
+ -ms-flex: 0 0 83.33333%;
+ flex: 0 0 83.33333%;
+ max-width: 83.33333%; }
+ .col-xl-11 {
+ -webkit-box-flex: 0;
+ -webkit-flex: 0 0 91.66667%;
+ -ms-flex: 0 0 91.66667%;
+ flex: 0 0 91.66667%;
+ max-width: 91.66667%; }
+ .col-xl-12 {
+ -webkit-box-flex: 0;
+ -webkit-flex: 0 0 100%;
+ -ms-flex: 0 0 100%;
+ flex: 0 0 100%;
+ max-width: 100%; }
+ .pull-xl-0 {
+ right: auto; }
+ .pull-xl-1 {
+ right: 8.33333%; }
+ .pull-xl-2 {
+ right: 16.66667%; }
+ .pull-xl-3 {
+ right: 25%; }
+ .pull-xl-4 {
+ right: 33.33333%; }
+ .pull-xl-5 {
+ right: 41.66667%; }
+ .pull-xl-6 {
+ right: 50%; }
+ .pull-xl-7 {
+ right: 58.33333%; }
+ .pull-xl-8 {
+ right: 66.66667%; }
+ .pull-xl-9 {
+ right: 75%; }
+ .pull-xl-10 {
+ right: 83.33333%; }
+ .pull-xl-11 {
+ right: 91.66667%; }
+ .pull-xl-12 {
+ right: 100%; }
+ .push-xl-0 {
+ left: auto; }
+ .push-xl-1 {
+ left: 8.33333%; }
+ .push-xl-2 {
+ left: 16.66667%; }
+ .push-xl-3 {
+ left: 25%; }
+ .push-xl-4 {
+ left: 33.33333%; }
+ .push-xl-5 {
+ left: 41.66667%; }
+ .push-xl-6 {
+ left: 50%; }
+ .push-xl-7 {
+ left: 58.33333%; }
+ .push-xl-8 {
+ left: 66.66667%; }
+ .push-xl-9 {
+ left: 75%; }
+ .push-xl-10 {
+ left: 83.33333%; }
+ .push-xl-11 {
+ left: 91.66667%; }
+ .push-xl-12 {
+ left: 100%; }
+ .offset-xl-0 {
+ margin-left: 0%; }
+ .offset-xl-1 {
+ margin-left: 8.33333%; }
+ .offset-xl-2 {
+ margin-left: 16.66667%; }
+ .offset-xl-3 {
+ margin-left: 25%; }
+ .offset-xl-4 {
+ margin-left: 33.33333%; }
+ .offset-xl-5 {
+ margin-left: 41.66667%; }
+ .offset-xl-6 {
+ margin-left: 50%; }
+ .offset-xl-7 {
+ margin-left: 58.33333%; }
+ .offset-xl-8 {
+ margin-left: 66.66667%; }
+ .offset-xl-9 {
+ margin-left: 75%; }
+ .offset-xl-10 {
+ margin-left: 83.33333%; }
+ .offset-xl-11 {
+ margin-left: 91.66667%; } }
+
+.table {
+ width: 100%;
+ max-width: 100%;
+ margin-bottom: 0.5rem; }
+ .table th,
+ .table td {
+ padding: 0.75rem;
+ vertical-align: top;
+ border-top: 1px solid rgba(0, 0, 0, 0.12); }
+ .table thead th {
+ vertical-align: bottom;
+ border-bottom: 2px solid rgba(0, 0, 0, 0.12); }
+ .table tbody + tbody {
+ border-top: 2px solid rgba(0, 0, 0, 0.12); }
+ .table .table {
+ background-color: #fafafa; }
+
+.table-sm th,
+.table-sm td {
+ padding: 0.3rem; }
+
+.table-bordered {
+ border: 1px solid rgba(0, 0, 0, 0.12); }
+ .table-bordered th,
+ .table-bordered td {
+ border: 1px solid rgba(0, 0, 0, 0.12); }
+ .table-bordered thead th,
+ .table-bordered thead td {
+ border-bottom-width: 2px; }
+
+.table-striped tbody tr:nth-of-type(odd) {
+ background-color: rgba(0, 0, 0, 0.05); }
+
+.table-hover tbody tr:hover {
+ background-color: rgba(0, 0, 0, 0.075); }
+
+.table-active,
+.table-active > th,
+.table-active > td {
+ background-color: rgba(0, 0, 0, 0.075); }
+
+.table-hover .table-active:hover {
+ background-color: rgba(0, 0, 0, 0.075); }
+ .table-hover .table-active:hover > td,
+ .table-hover .table-active:hover > th {
+ background-color: rgba(0, 0, 0, 0.075); }
+
+.table-success,
+.table-success > th,
+.table-success > td {
+ background-color: #4caf50; }
+
+.table-hover .table-success:hover {
+ background-color: #449d48; }
+ .table-hover .table-success:hover > td,
+ .table-hover .table-success:hover > th {
+ background-color: #449d48; }
+
+.table-info,
+.table-info > th,
+.table-info > td {
+ background-color: #03a9f4; }
+
+.table-hover .table-info:hover {
+ background-color: #0398db; }
+ .table-hover .table-info:hover > td,
+ .table-hover .table-info:hover > th {
+ background-color: #0398db; }
+
+.table-warning,
+.table-warning > th,
+.table-warning > td {
+ background-color: #ff5722; }
+
+.table-hover .table-warning:hover {
+ background-color: #ff4409; }
+ .table-hover .table-warning:hover > td,
+ .table-hover .table-warning:hover > th {
+ background-color: #ff4409; }
+
+.table-danger,
+.table-danger > th,
+.table-danger > td {
+ background-color: #f44336; }
+
+.table-hover .table-danger:hover {
+ background-color: #f32c1e; }
+ .table-hover .table-danger:hover > td,
+ .table-hover .table-danger:hover > th {
+ background-color: #f32c1e; }
+
+.thead-inverse th {
+ color: #fff;
+ background-color: rgba(0, 0, 0, 0.87); }
+
+.thead-default th {
+ color: rgba(0, 0, 0, 0.54);
+ background-color: rgba(0, 0, 0, 0.12); }
+
+.table-inverse {
+ color: rgba(0, 0, 0, 0.12);
+ background-color: rgba(0, 0, 0, 0.87); }
+ .table-inverse th,
+ .table-inverse td,
+ .table-inverse thead th {
+ border-color: rgba(0, 0, 0, 0.54); }
+ .table-inverse.table-bordered {
+ border: 0; }
+
+.table-responsive {
+ display: block;
+ width: 100%;
+ min-height: .01%;
+ overflow-x: auto; }
+
+.table-reflow thead {
+ float: left; }
+
+.table-reflow tbody {
+ display: block;
+ white-space: nowrap; }
+
+.table-reflow th,
+.table-reflow td {
+ border-top: 1px solid rgba(0, 0, 0, 0.12);
+ border-left: 1px solid rgba(0, 0, 0, 0.12); }
+ .table-reflow th:last-child,
+ .table-reflow td:last-child {
+ border-right: 1px solid rgba(0, 0, 0, 0.12); }
+
+.table-reflow thead:last-child tr:last-child th,
+.table-reflow thead:last-child tr:last-child td,
+.table-reflow tbody:last-child tr:last-child th,
+.table-reflow tbody:last-child tr:last-child td,
+.table-reflow tfoot:last-child tr:last-child th,
+.table-reflow tfoot:last-child tr:last-child td {
+ border-bottom: 1px solid rgba(0, 0, 0, 0.12); }
+
+.table-reflow tr {
+ float: left; }
+ .table-reflow tr th,
+ .table-reflow tr td {
+ display: block !important;
+ border: 1px solid rgba(0, 0, 0, 0.12); }
+
+.form-control, .custom-file-control {
+ display: block;
+ width: 100%;
+ padding: 0.4375rem 0;
+ font-size: 1rem;
+ line-height: 1.25;
+ color: rgba(0, 0, 0, 0.54);
+ background-color: transparent;
+ background-image: none;
+ -webkit-background-clip: padding-box;
+ background-clip: padding-box;
+ border: 1px solid rgba(0, 0, 0, 0.26);
+ border-radius: 0;
+ -webkit-box-shadow: none;
+ box-shadow: none; }
+ .form-control::-ms-expand, .custom-file-control::-ms-expand {
+ background-color: transparent;
+ border: 0; }
+ .form-control:focus, .custom-file-control:focus {
+ color: rgba(0, 0, 0, 0.54);
+ background-color: transparent;
+ border-color: #66afe9;
+ outline: none;
+ -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px none;
+ box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px none; }
+ .form-control::-webkit-input-placeholder, .custom-file-control::-webkit-input-placeholder {
+ color: rgba(0, 0, 0, 0.26);
+ opacity: 1; }
+ .form-control::-moz-placeholder, .custom-file-control::-moz-placeholder {
+ color: rgba(0, 0, 0, 0.26);
+ opacity: 1; }
+ .form-control:-ms-input-placeholder, .custom-file-control:-ms-input-placeholder {
+ color: rgba(0, 0, 0, 0.26);
+ opacity: 1; }
+ .form-control::placeholder, .custom-file-control::placeholder {
+ color: rgba(0, 0, 0, 0.26);
+ opacity: 1; }
+ .form-control:disabled, .custom-file-control:disabled, .form-control[readonly], [readonly].custom-file-control {
+ background-color: transparent;
+ opacity: 1; }
+ .form-control:disabled, .custom-file-control:disabled {
+ cursor: not-allowed; }
+
+select.form-control:not([size]):not([multiple]), select.custom-file-control:not([size]):not([multiple]) {
+ height: 2.375rem; }
+
+select.form-control:focus::-ms-value, select.custom-file-control:focus::-ms-value {
+ color: rgba(0, 0, 0, 0.54);
+ background-color: transparent; }
+
+.form-control-file,
+.form-control-range {
+ display: block; }
+
+.col-form-label {
+ padding-top: 0.4375rem;
+ padding-bottom: 0.4375rem;
+ margin-bottom: 0; }
+
+.col-form-label-lg {
+ padding-top: 0.5625rem;
+ padding-bottom: 0.5625rem;
+ font-size: 1.25rem; }
+
+.col-form-label-sm {
+ padding-top: 0.25rem;
+ padding-bottom: 0.25rem;
+ font-size: 0.875rem; }
+
+.col-form-legend {
+ padding-top: 0.4375rem;
+ padding-bottom: 0.4375rem;
+ margin-bottom: 0;
+ font-size: 1rem; }
+
+.form-control-static {
+ min-height: 2.375rem;
+ padding-top: 0.4375rem;
+ padding-bottom: 0.4375rem;
+ margin-bottom: 0; }
+ .form-control-static.form-control-sm, .input-group-sm > .form-control-static.form-control, .input-group-sm > .form-control-static.custom-file-control,
+ .input-group-sm > .form-control-static.input-group-addon,
+ .input-group-sm > .input-group-btn > .form-control-static.btn,
+ .input-group-sm > .input-group-btn > .form-control-static.custom-file-control::before, .form-control-static.form-control-lg, .input-group-lg > .form-control-static.form-control, .input-group-lg > .form-control-static.custom-file-control,
+ .input-group-lg > .form-control-static.input-group-addon,
+ .input-group-lg > .input-group-btn > .form-control-static.btn,
+ .input-group-lg > .input-group-btn > .form-control-static.custom-file-control::before {
+ padding-right: 0;
+ padding-left: 0; }
+
+.form-control-sm, .input-group-sm > .form-control, .input-group-sm > .custom-file-control,
+.input-group-sm > .input-group-addon,
+.input-group-sm > .input-group-btn > .btn,
+.input-group-sm > .input-group-btn > .custom-file-control::before {
+ padding: 0.25rem 0;
+ font-size: 0.875rem;
+ border-radius: 0.0625rem; }
+
+select.form-control-sm:not([size]):not([multiple]), .input-group-sm > select.form-control:not([size]):not([multiple]), .input-group-sm > select.custom-file-control:not([size]):not([multiple]),
+.input-group-sm > select.input-group-addon:not([size]):not([multiple]),
+.input-group-sm > .input-group-btn > select.btn:not([size]):not([multiple]),
+.input-group-sm > .input-group-btn > select.custom-file-control:not([size]):not([multiple])::before {
+ height: 1.8125rem; }
+
+.form-control-lg, .input-group-lg > .form-control, .input-group-lg > .custom-file-control,
+.input-group-lg > .input-group-addon,
+.input-group-lg > .input-group-btn > .btn,
+.input-group-lg > .input-group-btn > .custom-file-control::before {
+ padding: 0.5625rem 0;
+ font-size: 1.25rem;
+ border-radius: 0.3rem; }
+
+select.form-control-lg:not([size]):not([multiple]), .input-group-lg > select.form-control:not([size]):not([multiple]), .input-group-lg > select.custom-file-control:not([size]):not([multiple]),
+.input-group-lg > select.input-group-addon:not([size]):not([multiple]),
+.input-group-lg > .input-group-btn > select.btn:not([size]):not([multiple]),
+.input-group-lg > .input-group-btn > select.custom-file-control:not([size]):not([multiple])::before {
+ height: 2.79167rem; }
+
+.form-group {
+ margin-bottom: 0.5rem; }
+
+.form-text {
+ display: block;
+ margin-top: 0.125rem; }
+
+.form-check {
+ position: relative;
+ display: block;
+ margin-bottom: 0.375rem; }
+ .form-check + .form-check {
+ margin-top: -.25rem; }
+ .form-check.disabled .form-check-label {
+ color: rgba(0, 0, 0, 0.26);
+ cursor: not-allowed; }
+
+.form-check-label {
+ padding-left: 1.25rem;
+ margin-bottom: 0;
+ cursor: pointer; }
+
+.form-check-input {
+ position: absolute;
+ margin-top: .25rem;
+ margin-left: -1.25rem; }
+ .form-check-input:only-child {
+ position: static; }
+
+.form-check-inline {
+ position: relative;
+ display: inline-block;
+ padding-left: 1.25rem;
+ margin-bottom: 0;
+ vertical-align: middle;
+ cursor: pointer; }
+ .form-check-inline + .form-check-inline {
+ margin-left: .75rem; }
+ .form-check-inline.disabled {
+ cursor: not-allowed; }
+
+.form-control-feedback {
+ margin-top: 0.125rem; }
+
+.form-control-success,
+.form-control-warning,
+.form-control-danger {
+ padding-right: 0;
+ background-repeat: no-repeat;
+ background-position: center right 0.59375rem;
+ -webkit-background-size: 1.1875rem 1.1875rem;
+ background-size: 1.1875rem 1.1875rem; }
+
+.has-success .form-control-feedback,
+.has-success .form-control-label,
+.has-success .radio,
+.has-success .checkbox,
+.has-success .radio-inline,
+.has-success .checkbox-inline,
+.has-success.radio label,
+.has-success.checkbox label,
+.has-success.radio-inline label,
+.has-success.checkbox-inline label,
+.has-success .custom-control {
+ color: #4caf50; }
+
+.has-success .form-control, .has-success .custom-file-control {
+ border-color: #4caf50; }
+
+.has-success .input-group-addon {
+ color: #4caf50;
+ border-color: #4caf50;
+ background-color: #d9eeda; }
+
+.has-success .form-control-feedback {
+ color: #4caf50; }
+
+.has-success .form-control-success {
+ background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%235cb85c' 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"); }
+
+.has-warning .form-control-feedback,
+.has-warning .form-control-label,
+.has-warning .radio,
+.has-warning .checkbox,
+.has-warning .radio-inline,
+.has-warning .checkbox-inline,
+.has-warning.radio label,
+.has-warning.checkbox label,
+.has-warning.radio-inline label,
+.has-warning.checkbox-inline label,
+.has-warning .custom-control {
+ color: #ff5722; }
+
+.has-warning .form-control, .has-warning .custom-file-control {
+ border-color: #ff5722; }
+
+.has-warning .input-group-addon {
+ color: #ff5722;
+ border-color: #ff5722;
+ background-color: #fff2ee; }
+
+.has-warning .form-control-feedback {
+ color: #ff5722; }
+
+.has-warning .form-control-warning {
+ background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23f0ad4e' d='M4.4 5.324h-.8v-2.46h.8zm0 1.42h-.8V5.89h.8zM3.76.63L.04 7.075c-.115.2.016.425.26.426h7.397c.242 0 .372-.226.258-.426C6.726 4.924 5.47 2.79 4.253.63c-.113-.174-.39-.174-.494 0z'/%3E%3C/svg%3E"); }
+
+.has-danger .form-control-feedback,
+.has-danger .form-control-label,
+.has-danger .radio,
+.has-danger .checkbox,
+.has-danger .radio-inline,
+.has-danger .checkbox-inline,
+.has-danger.radio label,
+.has-danger.checkbox label,
+.has-danger.radio-inline label,
+.has-danger.checkbox-inline label,
+.has-danger .custom-control {
+ color: #f44336; }
+
+.has-danger .form-control, .has-danger .custom-file-control {
+ border-color: #f44336; }
+
+.has-danger .input-group-addon {
+ color: #f44336;
+ border-color: #f44336;
+ background-color: #fff8f7; }
+
+.has-danger .form-control-feedback {
+ color: #f44336; }
+
+.has-danger .form-control-danger {
+ background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23d9534f' viewBox='-2 -2 7 7'%3E%3Cpath stroke='%23d9534f' d='M0 0l3 3m0-3L0 3'/%3E%3Ccircle r='.5'/%3E%3Ccircle cx='3' r='.5'/%3E%3Ccircle cy='3' r='.5'/%3E%3Ccircle cx='3' cy='3' r='.5'/%3E%3C/svg%3E"); }
+
+@media (min-width: 544px) {
+ .form-inline .form-group {
+ display: inline-block;
+ margin-bottom: 0;
+ vertical-align: middle; }
+ .form-inline .form-control, .form-inline .custom-file-control {
+ display: inline-block;
+ width: auto;
+ vertical-align: middle; }
+ .form-inline .form-control-static {
+ display: inline-block; }
+ .form-inline .input-group {
+ display: inline-table;
+ vertical-align: middle; }
+ .form-inline .input-group .input-group-addon,
+ .form-inline .input-group .input-group-btn,
+ .form-inline .input-group .form-control,
+ .form-inline .input-group .custom-file-control {
+ width: auto; }
+ .form-inline .input-group > .form-control, .form-inline .input-group > .custom-file-control {
+ width: 100%; }
+ .form-inline .form-control-label {
+ margin-bottom: 0;
+ vertical-align: middle; }
+ .form-inline .form-check {
+ display: inline-block;
+ margin-top: 0;
+ margin-bottom: 0;
+ vertical-align: middle; }
+ .form-inline .form-check-label {
+ padding-left: 0; }
+ .form-inline .form-check-input {
+ position: relative;
+ margin-left: 0; }
+ .form-inline .has-feedback .form-control-feedback {
+ top: 0; } }
+
+.btn, .custom-file-control::before {
+ display: inline-block;
+ font-weight: 500;
+ line-height: 1.25;
+ text-align: center;
+ white-space: nowrap;
+ vertical-align: middle;
+ cursor: pointer;
+ -webkit-user-select: none;
+ -moz-user-select: none;
+ -ms-user-select: none;
+ user-select: none;
+ border: 1px solid transparent;
+ padding: 0.46875rem 1rem;
+ font-size: 1rem;
+ border-radius: 0.125rem; }
+ .btn:focus, .custom-file-control:focus::before, .btn.focus, .focus.custom-file-control::before, .btn:active:focus, .custom-file-control:active:focus::before, .btn:active.focus, .custom-file-control:active.focus::before, .btn.active:focus, .active.custom-file-control:focus::before, .btn.active.focus, .active.focus.custom-file-control::before {
+ outline: 5px auto -webkit-focus-ring-color;
+ outline-offset: -2px; }
+ .btn:focus, .custom-file-control:focus::before, .btn:hover, .custom-file-control:hover::before {
+ text-decoration: none; }
+ .btn.focus, .focus.custom-file-control::before {
+ text-decoration: none; }
+ .btn:active, .custom-file-control:active::before, .btn.active, .active.custom-file-control::before {
+ background-image: none;
+ outline: 0;
+ -webkit-box-shadow: none;
+ box-shadow: none; }
+ .btn.disabled, .disabled.custom-file-control::before, .btn:disabled, .custom-file-control:disabled::before {
+ cursor: not-allowed;
+ opacity: .65;
+ -webkit-box-shadow: none;
+ box-shadow: none; }
+
+a.btn.disabled, a.disabled.custom-file-control::before,
+fieldset[disabled] a.btn,
+fieldset[disabled] a.custom-file-control::before {
+ pointer-events: none; }
+
+.btn-primary {
+ color: #fff;
+ background-color: #009688;
+ border-color: #009688;
+ -webkit-box-shadow: none;
+ box-shadow: none; }
+ .btn-primary:hover {
+ color: #fff;
+ background-color: #00635a;
+ border-color: #005951; }
+ .btn-primary:focus, .btn-primary.focus {
+ color: #fff;
+ background-color: #00635a;
+ border-color: #005951; }
+ .btn-primary:active, .btn-primary.active,
+ .open > .btn-primary.dropdown-toggle {
+ color: #fff;
+ background-color: #00635a;
+ border-color: #005951;
+ background-image: none;
+ -webkit-box-shadow: none;
+ box-shadow: none; }
+ .btn-primary:active:hover, .btn-primary:active:focus, .btn-primary:active.focus, .btn-primary.active:hover, .btn-primary.active:focus, .btn-primary.active.focus,
+ .open > .btn-primary.dropdown-toggle:hover,
+ .open > .btn-primary.dropdown-toggle:focus,
+ .open > .btn-primary.dropdown-toggle.focus {
+ color: #fff;
+ background-color: #003f39;
+ border-color: #001714; }
+ .btn-primary.disabled:focus, .btn-primary.disabled.focus, .btn-primary:disabled:focus, .btn-primary:disabled.focus {
+ background-color: #009688;
+ border-color: #009688; }
+ .btn-primary.disabled:hover, .btn-primary:disabled:hover {
+ background-color: #009688;
+ border-color: #009688; }
+
+.btn-secondary {
+ color: rgba(0, 0, 0, 0.87);
+ background-color: #fafafa;
+ border-color: #ccc;
+ -webkit-box-shadow: none;
+ box-shadow: none; }
+ .btn-secondary:hover {
+ color: rgba(0, 0, 0, 0.87);
+ background-color: #e1e1e1;
+ border-color: #adadad; }
+ .btn-secondary:focus, .btn-secondary.focus {
+ color: rgba(0, 0, 0, 0.87);
+ background-color: #e1e1e1;
+ border-color: #adadad; }
+ .btn-secondary:active, .btn-secondary.active,
+ .open > .btn-secondary.dropdown-toggle {
+ color: rgba(0, 0, 0, 0.87);
+ background-color: #e1e1e1;
+ border-color: #adadad;
+ background-image: none;
+ -webkit-box-shadow: none;
+ box-shadow: none; }
+ .btn-secondary:active:hover, .btn-secondary:active:focus, .btn-secondary:active.focus, .btn-secondary.active:hover, .btn-secondary.active:focus, .btn-secondary.active.focus,
+ .open > .btn-secondary.dropdown-toggle:hover,
+ .open > .btn-secondary.dropdown-toggle:focus,
+ .open > .btn-secondary.dropdown-toggle.focus {
+ color: rgba(0, 0, 0, 0.87);
+ background-color: #cfcfcf;
+ border-color: #8c8c8c; }
+ .btn-secondary.disabled:focus, .btn-secondary.disabled.focus, .btn-secondary:disabled:focus, .btn-secondary:disabled.focus {
+ background-color: #fafafa;
+ border-color: #ccc; }
+ .btn-secondary.disabled:hover, .btn-secondary:disabled:hover {
+ background-color: #fafafa;
+ border-color: #ccc; }
+
+.btn-info {
+ color: #fff;
+ background-color: #03a9f4;
+ border-color: #03a9f4;
+ -webkit-box-shadow: none;
+ box-shadow: none; }
+ .btn-info:hover {
+ color: #fff;
+ background-color: #0286c2;
+ border-color: #027fb8; }
+ .btn-info:focus, .btn-info.focus {
+ color: #fff;
+ background-color: #0286c2;
+ border-color: #027fb8; }
+ .btn-info:active, .btn-info.active,
+ .open > .btn-info.dropdown-toggle {
+ color: #fff;
+ background-color: #0286c2;
+ border-color: #027fb8;
+ background-image: none;
+ -webkit-box-shadow: none;
+ box-shadow: none; }
+ .btn-info:active:hover, .btn-info:active:focus, .btn-info:active.focus, .btn-info.active:hover, .btn-info.active:focus, .btn-info.active.focus,
+ .open > .btn-info.dropdown-toggle:hover,
+ .open > .btn-info.dropdown-toggle:focus,
+ .open > .btn-info.dropdown-toggle.focus {
+ color: #fff;
+ background-color: #026e9e;
+ border-color: #015276; }
+ .btn-info.disabled:focus, .btn-info.disabled.focus, .btn-info:disabled:focus, .btn-info:disabled.focus {
+ background-color: #03a9f4;
+ border-color: #03a9f4; }
+ .btn-info.disabled:hover, .btn-info:disabled:hover {
+ background-color: #03a9f4;
+ border-color: #03a9f4; }
+
+.btn-success {
+ color: #fff;
+ background-color: #4caf50;
+ border-color: #4caf50;
+ -webkit-box-shadow: none;
+ box-shadow: none; }
+ .btn-success:hover {
+ color: #fff;
+ background-color: #3d8b40;
+ border-color: #39843c; }
+ .btn-success:focus, .btn-success.focus {
+ color: #fff;
+ background-color: #3d8b40;
+ border-color: #39843c; }
+ .btn-success:active, .btn-success.active,
+ .open > .btn-success.dropdown-toggle {
+ color: #fff;
+ background-color: #3d8b40;
+ border-color: #39843c;
+ background-image: none;
+ -webkit-box-shadow: none;
+ box-shadow: none; }
+ .btn-success:active:hover, .btn-success:active:focus, .btn-success:active.focus, .btn-success.active:hover, .btn-success.active:focus, .btn-success.active.focus,
+ .open > .btn-success.dropdown-toggle:hover,
+ .open > .btn-success.dropdown-toggle:focus,
+ .open > .btn-success.dropdown-toggle.focus {
+ color: #fff;
+ background-color: #327334;
+ border-color: #255627; }
+ .btn-success.disabled:focus, .btn-success.disabled.focus, .btn-success:disabled:focus, .btn-success:disabled.focus {
+ background-color: #4caf50;
+ border-color: #4caf50; }
+ .btn-success.disabled:hover, .btn-success:disabled:hover {
+ background-color: #4caf50;
+ border-color: #4caf50; }
+
+.btn-warning {
+ color: #fff;
+ background-color: #ff5722;
+ border-color: #ff5722;
+ -webkit-box-shadow: none;
+ box-shadow: none; }
+ .btn-warning:hover {
+ color: #fff;
+ background-color: #ee3900;
+ border-color: #e43700; }
+ .btn-warning:focus, .btn-warning.focus {
+ color: #fff;
+ background-color: #ee3900;
+ border-color: #e43700; }
+ .btn-warning:active, .btn-warning.active,
+ .open > .btn-warning.dropdown-toggle {
+ color: #fff;
+ background-color: #ee3900;
+ border-color: #e43700;
+ background-image: none;
+ -webkit-box-shadow: none;
+ box-shadow: none; }
+ .btn-warning:active:hover, .btn-warning:active:focus, .btn-warning:active.focus, .btn-warning.active:hover, .btn-warning.active:focus, .btn-warning.active.focus,
+ .open > .btn-warning.dropdown-toggle:hover,
+ .open > .btn-warning.dropdown-toggle:focus,
+ .open > .btn-warning.dropdown-toggle.focus {
+ color: #fff;
+ background-color: #ca3100;
+ border-color: #a22700; }
+ .btn-warning.disabled:focus, .btn-warning.disabled.focus, .btn-warning:disabled:focus, .btn-warning:disabled.focus {
+ background-color: #ff5722;
+ border-color: #ff5722; }
+ .btn-warning.disabled:hover, .btn-warning:disabled:hover {
+ background-color: #ff5722;
+ border-color: #ff5722; }
+
+.btn-danger {
+ color: #fff;
+ background-color: #f44336;
+ border-color: #f44336;
+ -webkit-box-shadow: none;
+ box-shadow: none; }
+ .btn-danger:hover {
+ color: #fff;
+ background-color: #ea1c0d;
+ border-color: #e11b0c; }
+ .btn-danger:focus, .btn-danger.focus {
+ color: #fff;
+ background-color: #ea1c0d;
+ border-color: #e11b0c; }
+ .btn-danger:active, .btn-danger.active,
+ .open > .btn-danger.dropdown-toggle {
+ color: #fff;
+ background-color: #ea1c0d;
+ border-color: #e11b0c;
+ background-image: none;
+ -webkit-box-shadow: none;
+ box-shadow: none; }
+ .btn-danger:active:hover, .btn-danger:active:focus, .btn-danger:active.focus, .btn-danger.active:hover, .btn-danger.active:focus, .btn-danger.active.focus,
+ .open > .btn-danger.dropdown-toggle:hover,
+ .open > .btn-danger.dropdown-toggle:focus,
+ .open > .btn-danger.dropdown-toggle.focus {
+ color: #fff;
+ background-color: #c8180b;
+ border-color: #a21309; }
+ .btn-danger.disabled:focus, .btn-danger.disabled.focus, .btn-danger:disabled:focus, .btn-danger:disabled.focus {
+ background-color: #f44336;
+ border-color: #f44336; }
+ .btn-danger.disabled:hover, .btn-danger:disabled:hover {
+ background-color: #f44336;
+ border-color: #f44336; }
+
+.btn-outline-primary {
+ color: #009688;
+ background-image: none;
+ background-color: transparent;
+ border-color: #009688; }
+ .btn-outline-primary:hover {
+ color: #fff;
+ background-color: #009688;
+ border-color: #009688; }
+ .btn-outline-primary:focus, .btn-outline-primary.focus {
+ color: #fff;
+ background-color: #009688;
+ border-color: #009688; }
+ .btn-outline-primary:active, .btn-outline-primary.active,
+ .open > .btn-outline-primary.dropdown-toggle {
+ color: #fff;
+ background-color: #009688;
+ border-color: #009688; }
+ .btn-outline-primary:active:hover, .btn-outline-primary:active:focus, .btn-outline-primary:active.focus, .btn-outline-primary.active:hover, .btn-outline-primary.active:focus, .btn-outline-primary.active.focus,
+ .open > .btn-outline-primary.dropdown-toggle:hover,
+ .open > .btn-outline-primary.dropdown-toggle:focus,
+ .open > .btn-outline-primary.dropdown-toggle.focus {
+ color: #fff;
+ background-color: #003f39;
+ border-color: #001714; }
+ .btn-outline-primary.disabled:focus, .btn-outline-primary.disabled.focus, .btn-outline-primary:disabled:focus, .btn-outline-primary:disabled.focus {
+ border-color: #00fce4; }
+ .btn-outline-primary.disabled:hover, .btn-outline-primary:disabled:hover {
+ border-color: #00fce4; }
+
+.btn-outline-secondary {
+ color: #ccc;
+ background-image: none;
+ background-color: transparent;
+ border-color: #ccc; }
+ .btn-outline-secondary:hover {
+ color: #fff;
+ background-color: #ccc;
+ border-color: #ccc; }
+ .btn-outline-secondary:focus, .btn-outline-secondary.focus {
+ color: #fff;
+ background-color: #ccc;
+ border-color: #ccc; }
+ .btn-outline-secondary:active, .btn-outline-secondary.active,
+ .open > .btn-outline-secondary.dropdown-toggle {
+ color: #fff;
+ background-color: #ccc;
+ border-color: #ccc; }
+ .btn-outline-secondary:active:hover, .btn-outline-secondary:active:focus, .btn-outline-secondary:active.focus, .btn-outline-secondary.active:hover, .btn-outline-secondary.active:focus, .btn-outline-secondary.active.focus,
+ .open > .btn-outline-secondary.dropdown-toggle:hover,
+ .open > .btn-outline-secondary.dropdown-toggle:focus,
+ .open > .btn-outline-secondary.dropdown-toggle.focus {
+ color: #fff;
+ background-color: #a1a1a1;
+ border-color: #8c8c8c; }
+ .btn-outline-secondary.disabled:focus, .btn-outline-secondary.disabled.focus, .btn-outline-secondary:disabled:focus, .btn-outline-secondary:disabled.focus {
+ border-color: white; }
+ .btn-outline-secondary.disabled:hover, .btn-outline-secondary:disabled:hover {
+ border-color: white; }
+
+.btn-outline-info {
+ color: #03a9f4;
+ background-image: none;
+ background-color: transparent;
+ border-color: #03a9f4; }
+ .btn-outline-info:hover {
+ color: #fff;
+ background-color: #03a9f4;
+ border-color: #03a9f4; }
+ .btn-outline-info:focus, .btn-outline-info.focus {
+ color: #fff;
+ background-color: #03a9f4;
+ border-color: #03a9f4; }
+ .btn-outline-info:active, .btn-outline-info.active,
+ .open > .btn-outline-info.dropdown-toggle {
+ color: #fff;
+ background-color: #03a9f4;
+ border-color: #03a9f4; }
+ .btn-outline-info:active:hover, .btn-outline-info:active:focus, .btn-outline-info:active.focus, .btn-outline-info.active:hover, .btn-outline-info.active:focus, .btn-outline-info.active.focus,
+ .open > .btn-outline-info.dropdown-toggle:hover,
+ .open > .btn-outline-info.dropdown-toggle:focus,
+ .open > .btn-outline-info.dropdown-toggle.focus {
+ color: #fff;
+ background-color: #026e9e;
+ border-color: #015276; }
+ .btn-outline-info.disabled:focus, .btn-outline-info.disabled.focus, .btn-outline-info:disabled:focus, .btn-outline-info:disabled.focus {
+ border-color: #60ccfd; }
+ .btn-outline-info.disabled:hover, .btn-outline-info:disabled:hover {
+ border-color: #60ccfd; }
+
+.btn-outline-success {
+ color: #4caf50;
+ background-image: none;
+ background-color: transparent;
+ border-color: #4caf50; }
+ .btn-outline-success:hover {
+ color: #fff;
+ background-color: #4caf50;
+ border-color: #4caf50; }
+ .btn-outline-success:focus, .btn-outline-success.focus {
+ color: #fff;
+ background-color: #4caf50;
+ border-color: #4caf50; }
+ .btn-outline-success:active, .btn-outline-success.active,
+ .open > .btn-outline-success.dropdown-toggle {
+ color: #fff;
+ background-color: #4caf50;
+ border-color: #4caf50; }
+ .btn-outline-success:active:hover, .btn-outline-success:active:focus, .btn-outline-success:active.focus, .btn-outline-success.active:hover, .btn-outline-success.active:focus, .btn-outline-success.active.focus,
+ .open > .btn-outline-success.dropdown-toggle:hover,
+ .open > .btn-outline-success.dropdown-toggle:focus,
+ .open > .btn-outline-success.dropdown-toggle.focus {
+ color: #fff;
+ background-color: #327334;
+ border-color: #255627; }
+ .btn-outline-success.disabled:focus, .btn-outline-success.disabled.focus, .btn-outline-success:disabled:focus, .btn-outline-success:disabled.focus {
+ border-color: #92cf94; }
+ .btn-outline-success.disabled:hover, .btn-outline-success:disabled:hover {
+ border-color: #92cf94; }
+
+.btn-outline-warning {
+ color: #ff5722;
+ background-image: none;
+ background-color: transparent;
+ border-color: #ff5722; }
+ .btn-outline-warning:hover {
+ color: #fff;
+ background-color: #ff5722;
+ border-color: #ff5722; }
+ .btn-outline-warning:focus, .btn-outline-warning.focus {
+ color: #fff;
+ background-color: #ff5722;
+ border-color: #ff5722; }
+ .btn-outline-warning:active, .btn-outline-warning.active,
+ .open > .btn-outline-warning.dropdown-toggle {
+ color: #fff;
+ background-color: #ff5722;
+ border-color: #ff5722; }
+ .btn-outline-warning:active:hover, .btn-outline-warning:active:focus, .btn-outline-warning:active.focus, .btn-outline-warning.active:hover, .btn-outline-warning.active:focus, .btn-outline-warning.active.focus,
+ .open > .btn-outline-warning.dropdown-toggle:hover,
+ .open > .btn-outline-warning.dropdown-toggle:focus,
+ .open > .btn-outline-warning.dropdown-toggle.focus {
+ color: #fff;
+ background-color: #ca3100;
+ border-color: #a22700; }
+ .btn-outline-warning.disabled:focus, .btn-outline-warning.disabled.focus, .btn-outline-warning:disabled:focus, .btn-outline-warning:disabled.focus {
+ border-color: #ffa588; }
+ .btn-outline-warning.disabled:hover, .btn-outline-warning:disabled:hover {
+ border-color: #ffa588; }
+
+.btn-outline-danger {
+ color: #f44336;
+ background-image: none;
+ background-color: transparent;
+ border-color: #f44336; }
+ .btn-outline-danger:hover {
+ color: #fff;
+ background-color: #f44336;
+ border-color: #f44336; }
+ .btn-outline-danger:focus, .btn-outline-danger.focus {
+ color: #fff;
+ background-color: #f44336;
+ border-color: #f44336; }
+ .btn-outline-danger:active, .btn-outline-danger.active,
+ .open > .btn-outline-danger.dropdown-toggle {
+ color: #fff;
+ background-color: #f44336;
+ border-color: #f44336; }
+ .btn-outline-danger:active:hover, .btn-outline-danger:active:focus, .btn-outline-danger:active.focus, .btn-outline-danger.active:hover, .btn-outline-danger.active:focus, .btn-outline-danger.active.focus,
+ .open > .btn-outline-danger.dropdown-toggle:hover,
+ .open > .btn-outline-danger.dropdown-toggle:focus,
+ .open > .btn-outline-danger.dropdown-toggle.focus {
+ color: #fff;
+ background-color: #c8180b;
+ border-color: #a21309; }
+ .btn-outline-danger.disabled:focus, .btn-outline-danger.disabled.focus, .btn-outline-danger:disabled:focus, .btn-outline-danger:disabled.focus {
+ border-color: #f99d97; }
+ .btn-outline-danger.disabled:hover, .btn-outline-danger:disabled:hover {
+ border-color: #f99d97; }
+
+.btn-link {
+ font-weight: normal;
+ color: #009688;
+ border-radius: 0; }
+ .btn-link, .btn-link:active, .btn-link.active, .btn-link:disabled {
+ background-color: transparent;
+ -webkit-box-shadow: none;
+ box-shadow: none; }
+ .btn-link, .btn-link:focus, .btn-link:active {
+ border-color: transparent; }
+ .btn-link:hover {
+ border-color: transparent; }
+ .btn-link:focus, .btn-link:hover {
+ color: #004a43;
+ text-decoration: underline;
+ background-color: transparent; }
+ .btn-link:disabled:focus, .btn-link:disabled:hover {
+ color: rgba(0, 0, 0, 0.26);
+ text-decoration: none; }
+
+.btn-lg, .btn-group-lg > .btn, .btn-group-lg > .custom-file-control::before {
+ padding: 0.75rem 1.5rem;
+ font-size: 1.25rem;
+ border-radius: 0.3rem; }
+
+.btn-sm, .btn-group-sm > .btn, .btn-group-sm > .custom-file-control::before {
+ padding: 0.40625rem 0.5rem;
+ font-size: 0.875rem;
+ border-radius: 0.0625rem; }
+
+.btn-block {
+ display: block;
+ width: 100%; }
+
+.btn-block + .btn-block {
+ margin-top: 0.5rem; }
+
+input[type="submit"].btn-block,
+input[type="reset"].btn-block,
+input[type="button"].btn-block {
+ width: 100%; }
+
+.fade {
+ opacity: 0;
+ -webkit-transition: opacity .15s linear;
+ -o-transition: opacity .15s linear;
+ transition: opacity .15s linear; }
+ .fade.in {
+ opacity: 1; }
+
+.collapse {
+ display: none; }
+ .collapse.in {
+ display: block; }
+
+.collapsing {
+ position: relative;
+ height: 0;
+ overflow: hidden;
+ -webkit-transition-timing-function: ease;
+ -o-transition-timing-function: ease;
+ transition-timing-function: ease;
+ -webkit-transition-duration: .35s;
+ -o-transition-duration: .35s;
+ transition-duration: .35s;
+ -webkit-transition-property: height;
+ -o-transition-property: height;
+ transition-property: height; }
+
+.dropup,
+.dropdown {
+ position: relative; }
+
+.dropdown-toggle::after {
+ display: inline-block;
+ width: 0;
+ height: 0;
+ margin-left: 0.3em;
+ vertical-align: middle;
+ content: "";
+ border-top: 0.3em solid;
+ border-right: 0.3em solid transparent;
+ border-left: 0.3em solid transparent; }
+
+.dropdown-toggle:focus {
+ outline: 0; }
+
+.dropup .dropdown-toggle::after {
+ border-top: 0;
+ border-bottom: 0.3em solid; }
+
+.dropdown-menu {
+ position: absolute;
+ top: 100%;
+ left: 0;
+ z-index: 1000;
+ display: none;
+ float: left;
+ min-width: 160px;
+ padding: 5px 0;
+ margin: 2px 0 0;
+ font-size: 1rem;
+ color: rgba(0, 0, 0, 0.87);
+ text-align: left;
+ list-style: none;
+ background-color: #fff;
+ -webkit-background-clip: padding-box;
+ background-clip: padding-box;
+ border: 1px solid rgba(0, 0, 0, 0.15);
+ border-radius: 0.125rem;
+ -webkit-box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 1px 5px 0 rgba(0, 0, 0, 0.12);
+ box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 1px 5px 0 rgba(0, 0, 0, 0.12); }
+
+.dropdown-divider {
+ height: 1px;
+ margin: 0.25rem 0;
+ overflow: hidden;
+ background-color: #e5e5e5; }
+
+.dropdown-item {
+ display: block;
+ width: 100%;
+ padding: 3px 20px;
+ clear: both;
+ font-weight: normal;
+ color: rgba(0, 0, 0, 0.87);
+ text-align: inherit;
+ white-space: nowrap;
+ background: none;
+ border: 0; }
+ .dropdown-item:focus, .dropdown-item:hover {
+ color: rgba(0, 0, 0, 0.87);
+ text-decoration: none;
+ background-color: #f5f5f5; }
+ .dropdown-item.active, .dropdown-item.active:focus, .dropdown-item.active:hover {
+ color: #fff;
+ text-decoration: none;
+ background-color: #009688;
+ outline: 0; }
+ .dropdown-item.disabled, .dropdown-item.disabled:focus, .dropdown-item.disabled:hover {
+ color: rgba(0, 0, 0, 0.26); }
+ .dropdown-item.disabled:focus, .dropdown-item.disabled:hover {
+ text-decoration: none;
+ cursor: not-allowed;
+ background-color: transparent;
+ background-image: none;
+ filter: "progid:DXImageTransform.Microsoft.gradient(enabled = false)"; }
+
+.open > .dropdown-menu {
+ display: block; }
+
+.open > a {
+ outline: 0; }
+
+.dropdown-menu-right {
+ right: 0;
+ left: auto; }
+
+.dropdown-menu-left {
+ right: auto;
+ left: 0; }
+
+.dropdown-header {
+ display: block;
+ padding: 5px 20px;
+ font-size: 0.875rem;
+ color: rgba(0, 0, 0, 0.26);
+ white-space: nowrap; }
+
+.dropdown-backdrop {
+ position: fixed;
+ top: 0;
+ right: 0;
+ bottom: 0;
+ left: 0;
+ z-index: 990; }
+
+.dropup .caret,
+.navbar-fixed-bottom .dropdown .caret {
+ content: "";
+ border-top: 0;
+ border-bottom: 0.3em solid; }
+
+.dropup .dropdown-menu,
+.navbar-fixed-bottom .dropdown .dropdown-menu {
+ top: auto;
+ bottom: 100%;
+ margin-bottom: 2px; }
+
+.btn-group,
+.btn-group-vertical {
+ position: relative;
+ display: inline-block;
+ vertical-align: middle; }
+ .btn-group > .btn, .btn-group > .custom-file-control::before,
+ .btn-group-vertical > .btn,
+ .btn-group-vertical > .custom-file-control::before {
+ position: relative;
+ float: left; }
+ .btn-group > .btn:focus, .btn-group > .custom-file-control:focus::before, .btn-group > .btn:active, .btn-group > .custom-file-control:active::before, .btn-group > .btn.active, .btn-group > .active.custom-file-control::before,
+ .btn-group-vertical > .btn:focus,
+ .btn-group-vertical > .custom-file-control:focus::before,
+ .btn-group-vertical > .btn:active,
+ .btn-group-vertical > .custom-file-control:active::before,
+ .btn-group-vertical > .btn.active,
+ .btn-group-vertical > .active.custom-file-control::before {
+ z-index: 2; }
+ .btn-group > .btn:hover, .btn-group > .custom-file-control:hover::before,
+ .btn-group-vertical > .btn:hover,
+ .btn-group-vertical > .custom-file-control:hover::before {
+ z-index: 2; }
+
+.btn-group .btn + .btn, .btn-group .custom-file-control::before + .btn, .btn-group .btn + .custom-file-control::before, .btn-group .custom-file-control::before + .custom-file-control::before,
+.btn-group .btn + .btn-group,
+.btn-group .custom-file-control::before + .btn-group,
+.btn-group .btn-group + .btn,
+.btn-group .btn-group + .custom-file-control::before,
+.btn-group .btn-group + .btn-group {
+ margin-left: -1px; }
+
+.btn-toolbar {
+ margin-left: -0.5rem; }
+ .btn-toolbar::after {
+ content: "";
+ display: table;
+ clear: both; }
+ .btn-toolbar .btn-group,
+ .btn-toolbar .input-group {
+ float: left; }
+ .btn-toolbar > .btn, .btn-toolbar > .custom-file-control::before,
+ .btn-toolbar > .btn-group,
+ .btn-toolbar > .input-group {
+ margin-left: 0.5rem; }
+
+.btn-group > .btn:not(:first-child):not(:last-child):not(.dropdown-toggle), .btn-group > .custom-file-control:not(:first-child):not(:last-child):not(.dropdown-toggle)::before {
+ border-radius: 0; }
+
+.btn-group > .btn:first-child, .btn-group > .custom-file-control:first-child::before {
+ margin-left: 0; }
+ .btn-group > .btn:first-child:not(:last-child):not(.dropdown-toggle), .btn-group > .custom-file-control:first-child:not(:last-child):not(.dropdown-toggle)::before {
+ border-bottom-right-radius: 0;
+ border-top-right-radius: 0; }
+
+.btn-group > .btn:last-child:not(:first-child), .btn-group > .custom-file-control:last-child:not(:first-child)::before,
+.btn-group > .dropdown-toggle:not(:first-child) {
+ border-bottom-left-radius: 0;
+ border-top-left-radius: 0; }
+
+.btn-group > .btn-group {
+ float: left; }
+
+.btn-group > .btn-group:not(:first-child):not(:last-child) > .btn, .btn-group > .btn-group:not(:first-child):not(:last-child) > .custom-file-control::before {
+ border-radius: 0; }
+
+.btn-group > .btn-group:first-child:not(:last-child) > .btn:last-child, .btn-group > .btn-group:first-child:not(:last-child) > .custom-file-control:last-child::before,
+.btn-group > .btn-group:first-child:not(:last-child) > .dropdown-toggle {
+ border-bottom-right-radius: 0;
+ border-top-right-radius: 0; }
+
+.btn-group > .btn-group:last-child:not(:first-child) > .btn:first-child, .btn-group > .btn-group:last-child:not(:first-child) > .custom-file-control:first-child::before {
+ border-bottom-left-radius: 0;
+ border-top-left-radius: 0; }
+
+.btn-group .dropdown-toggle:active,
+.btn-group.open .dropdown-toggle {
+ outline: 0; }
+
+.btn + .dropdown-toggle-split, .custom-file-control::before + .dropdown-toggle-split {
+ padding-right: 0.75rem;
+ padding-left: 0.75rem; }
+ .btn + .dropdown-toggle-split::after, .custom-file-control::before + .dropdown-toggle-split::after {
+ margin-left: 0; }
+
+.btn-sm + .dropdown-toggle-split, .btn-group-sm > .btn + .dropdown-toggle-split, .btn-group-sm > .custom-file-control::before + .dropdown-toggle-split {
+ padding-right: 0.375rem;
+ padding-left: 0.375rem; }
+
+.btn-lg + .dropdown-toggle-split, .btn-group-lg > .btn + .dropdown-toggle-split, .btn-group-lg > .custom-file-control::before + .dropdown-toggle-split {
+ padding-right: 1.125rem;
+ padding-left: 1.125rem; }
+
+.btn-group.open .dropdown-toggle {
+ -webkit-box-shadow: none;
+ box-shadow: none; }
+ .btn-group.open .dropdown-toggle.btn-link {
+ -webkit-box-shadow: none;
+ box-shadow: none; }
+
+.btn .caret, .custom-file-control::before .caret {
+ margin-left: 0; }
+
+.btn-lg .caret, .btn-group-lg > .btn .caret, .btn-group-lg > .custom-file-control::before .caret {
+ border-width: 0.3em 0.3em 0;
+ border-bottom-width: 0; }
+
+.dropup .btn-lg .caret, .dropup .btn-group-lg > .btn .caret, .dropup .btn-group-lg > .custom-file-control::before .caret {
+ border-width: 0 0.3em 0.3em; }
+
+.btn-group-vertical > .btn, .btn-group-vertical > .custom-file-control::before,
+.btn-group-vertical > .btn-group,
+.btn-group-vertical > .btn-group > .btn,
+.btn-group-vertical > .btn-group > .custom-file-control::before {
+ display: block;
+ float: none;
+ width: 100%;
+ max-width: 100%; }
+
+.btn-group-vertical > .btn-group::after {
+ content: "";
+ display: table;
+ clear: both; }
+
+.btn-group-vertical > .btn-group > .btn, .btn-group-vertical > .btn-group > .custom-file-control::before {
+ float: none; }
+
+.btn-group-vertical > .btn + .btn, .btn-group-vertical > .custom-file-control::before + .btn, .btn-group-vertical > .btn + .custom-file-control::before, .btn-group-vertical > .custom-file-control::before + .custom-file-control::before,
+.btn-group-vertical > .btn + .btn-group,
+.btn-group-vertical > .custom-file-control::before + .btn-group,
+.btn-group-vertical > .btn-group + .btn,
+.btn-group-vertical > .btn-group + .custom-file-control::before,
+.btn-group-vertical > .btn-group + .btn-group {
+ margin-top: -1px;
+ margin-left: 0; }
+
+.btn-group-vertical > .btn:not(:first-child):not(:last-child), .btn-group-vertical > .custom-file-control:not(:first-child):not(:last-child)::before {
+ border-radius: 0; }
+
+.btn-group-vertical > .btn:first-child:not(:last-child), .btn-group-vertical > .custom-file-control:first-child:not(:last-child)::before {
+ border-bottom-right-radius: 0;
+ border-bottom-left-radius: 0; }
+
+.btn-group-vertical > .btn:last-child:not(:first-child), .btn-group-vertical > .custom-file-control:last-child:not(:first-child)::before {
+ border-top-right-radius: 0;
+ border-top-left-radius: 0; }
+
+.btn-group-vertical > .btn-group:not(:first-child):not(:last-child) > .btn, .btn-group-vertical > .btn-group:not(:first-child):not(:last-child) > .custom-file-control::before {
+ border-radius: 0; }
+
+.btn-group-vertical > .btn-group:first-child:not(:last-child) > .btn:last-child, .btn-group-vertical > .btn-group:first-child:not(:last-child) > .custom-file-control:last-child::before,
+.btn-group-vertical > .btn-group:first-child:not(:last-child) > .dropdown-toggle {
+ border-bottom-right-radius: 0;
+ border-bottom-left-radius: 0; }
+
+.btn-group-vertical > .btn-group:last-child:not(:first-child) > .btn:first-child, .btn-group-vertical > .btn-group:last-child:not(:first-child) > .custom-file-control:first-child::before {
+ border-top-right-radius: 0;
+ border-top-left-radius: 0; }
+
+[data-toggle="buttons"] > .btn input[type="radio"], [data-toggle="buttons"] > .custom-file-control::before input[type="radio"],
+[data-toggle="buttons"] > .btn input[type="checkbox"],
+[data-toggle="buttons"] > .custom-file-control::before input[type="checkbox"],
+[data-toggle="buttons"] > .btn-group > .btn input[type="radio"],
+[data-toggle="buttons"] > .btn-group > .custom-file-control::before input[type="radio"],
+[data-toggle="buttons"] > .btn-group > .btn input[type="checkbox"],
+[data-toggle="buttons"] > .btn-group > .custom-file-control::before input[type="checkbox"] {
+ position: absolute;
+ clip: rect(0, 0, 0, 0);
+ pointer-events: none; }
+
+.input-group {
+ position: relative;
+ width: 100%;
+ display: -webkit-box;
+ display: -webkit-flex;
+ display: -ms-flexbox;
+ display: flex; }
+ .input-group .form-control, .input-group .custom-file-control {
+ position: relative;
+ z-index: 2;
+ -webkit-box-flex: 1;
+ -webkit-flex: 1;
+ -ms-flex: 1;
+ flex: 1;
+ margin-bottom: 0; }
+ .input-group .form-control:focus, .input-group .custom-file-control:focus, .input-group .form-control:active, .input-group .custom-file-control:active, .input-group .form-control:hover, .input-group .custom-file-control:hover {
+ z-index: 3; }
+
+.input-group-addon:not(:first-child):not(:last-child),
+.input-group-btn:not(:first-child):not(:last-child),
+.input-group .form-control:not(:first-child):not(:last-child),
+.input-group .custom-file-control:not(:first-child):not(:last-child) {
+ border-radius: 0; }
+
+.input-group-addon,
+.input-group-btn {
+ white-space: nowrap;
+ vertical-align: middle; }
+
+.input-group-addon {
+ padding: 0.4375rem 0;
+ margin-bottom: 0;
+ font-size: 1rem;
+ font-weight: normal;
+ line-height: 1.25;
+ color: rgba(0, 0, 0, 0.54);
+ text-align: center;
+ background-color: transparent;
+ border: 1px solid transparent;
+ border-radius: 0; }
+ .input-group-addon.form-control-sm,
+ .input-group-sm > .input-group-addon,
+ .input-group-sm > .input-group-btn > .input-group-addon.btn,
+ .input-group-sm > .input-group-btn > .input-group-addon.custom-file-control::before {
+ padding: 0.25rem 0;
+ font-size: 0.875rem;
+ border-radius: 0.0625rem; }
+ .input-group-addon.form-control-lg,
+ .input-group-lg > .input-group-addon,
+ .input-group-lg > .input-group-btn > .input-group-addon.btn,
+ .input-group-lg > .input-group-btn > .input-group-addon.custom-file-control::before {
+ padding: 0.5625rem 0;
+ font-size: 1.25rem;
+ border-radius: 0.3rem; }
+ .input-group-addon input[type="radio"],
+ .input-group-addon input[type="checkbox"] {
+ margin-top: 0; }
+
+.input-group .form-control:not(:last-child), .input-group .custom-file-control:not(:last-child),
+.input-group-addon:not(:last-child),
+.input-group-btn:not(:last-child) > .btn,
+.input-group-btn:not(:last-child) > .custom-file-control::before,
+.input-group-btn:not(:last-child) > .btn-group > .btn,
+.input-group-btn:not(:last-child) > .btn-group > .custom-file-control::before,
+.input-group-btn:not(:last-child) > .dropdown-toggle,
+.input-group-btn:not(:first-child) > .btn:not(:last-child):not(.dropdown-toggle),
+.input-group-btn:not(:first-child) > .custom-file-control:not(:last-child):not(.dropdown-toggle)::before,
+.input-group-btn:not(:first-child) > .btn-group:not(:last-child) > .btn,
+.input-group-btn:not(:first-child) > .btn-group:not(:last-child) > .custom-file-control::before {
+ border-bottom-right-radius: 0;
+ border-top-right-radius: 0; }
+
+.input-group-addon:not(:last-child) {
+ border-right: 0; }
+
+.input-group .form-control:not(:first-child), .input-group .custom-file-control:not(:first-child),
+.input-group-addon:not(:first-child),
+.input-group-btn:not(:first-child) > .btn,
+.input-group-btn:not(:first-child) > .custom-file-control::before,
+.input-group-btn:not(:first-child) > .btn-group > .btn,
+.input-group-btn:not(:first-child) > .btn-group > .custom-file-control::before,
+.input-group-btn:not(:first-child) > .dropdown-toggle,
+.input-group-btn:not(:last-child) > .btn:not(:first-child),
+.input-group-btn:not(:last-child) > .custom-file-control:not(:first-child)::before,
+.input-group-btn:not(:last-child) > .btn-group:not(:first-child) > .btn,
+.input-group-btn:not(:last-child) > .btn-group:not(:first-child) > .custom-file-control::before {
+ border-bottom-left-radius: 0;
+ border-top-left-radius: 0; }
+
+.form-control + .input-group-addon:not(:first-child), .custom-file-control + .input-group-addon:not(:first-child) {
+ border-left: 0; }
+
+.input-group-btn {
+ position: relative;
+ font-size: 0;
+ white-space: nowrap; }
+ .input-group-btn > .btn, .input-group-btn > .custom-file-control::before {
+ position: relative; }
+ .input-group-btn > .btn + .btn, .input-group-btn > .custom-file-control::before + .btn, .input-group-btn > .btn + .custom-file-control::before, .input-group-btn > .custom-file-control::before + .custom-file-control::before {
+ margin-left: -1px; }
+ .input-group-btn > .btn:focus, .input-group-btn > .custom-file-control:focus::before, .input-group-btn > .btn:active, .input-group-btn > .custom-file-control:active::before, .input-group-btn > .btn:hover, .input-group-btn > .custom-file-control:hover::before {
+ z-index: 3; }
+ .input-group-btn:not(:last-child) > .btn, .input-group-btn:not(:last-child) > .custom-file-control::before,
+ .input-group-btn:not(:last-child) > .btn-group {
+ margin-right: -1px; }
+ .input-group-btn:not(:first-child) > .btn, .input-group-btn:not(:first-child) > .custom-file-control::before,
+ .input-group-btn:not(:first-child) > .btn-group {
+ z-index: 2;
+ margin-left: -1px; }
+ .input-group-btn:not(:first-child) > .btn:focus, .input-group-btn:not(:first-child) > .custom-file-control:focus::before, .input-group-btn:not(:first-child) > .btn:active, .input-group-btn:not(:first-child) > .custom-file-control:active::before, .input-group-btn:not(:first-child) > .btn:hover, .input-group-btn:not(:first-child) > .custom-file-control:hover::before,
+ .input-group-btn:not(:first-child) > .btn-group:focus,
+ .input-group-btn:not(:first-child) > .btn-group:active,
+ .input-group-btn:not(:first-child) > .btn-group:hover {
+ z-index: 3; }
+
+.custom-control {
+ position: relative;
+ display: inline;
+ padding-left: 1.5rem;
+ cursor: pointer; }
+ .custom-control + .custom-control {
+ margin-left: 1rem; }
+
+.custom-control-input {
+ position: absolute;
+ z-index: -1;
+ opacity: 0; }
+ .custom-control-input:checked ~ .custom-control-indicator {
+ color: #fff;
+ background-color: #0074d9;
+ -webkit-box-shadow: none;
+ box-shadow: none; }
+ .custom-control-input:focus ~ .custom-control-indicator {
+ -webkit-box-shadow: 0 0 0 0.075rem #fff, 0 0 0 0.2rem #0074d9;
+ box-shadow: 0 0 0 0.075rem #fff, 0 0 0 0.2rem #0074d9; }
+ .custom-control-input:active ~ .custom-control-indicator {
+ color: #fff;
+ background-color: #84c6ff;
+ -webkit-box-shadow: none;
+ box-shadow: none; }
+ .custom-control-input:disabled ~ .custom-control-indicator {
+ cursor: not-allowed;
+ background-color: #eee; }
+ .custom-control-input:disabled ~ .custom-control-description {
+ color: #767676;
+ cursor: not-allowed; }
+
+.custom-control-indicator {
+ position: absolute;
+ top: .0625rem;
+ left: 0;
+ display: block;
+ width: 1rem;
+ height: 1rem;
+ pointer-events: none;
+ -webkit-user-select: none;
+ -moz-user-select: none;
+ -ms-user-select: none;
+ user-select: none;
+ background-color: #ddd;
+ background-repeat: no-repeat;
+ background-position: center center;
+ -webkit-background-size: 50% 50%;
+ background-size: 50% 50%;
+ -webkit-box-shadow: inset 0 0.25rem 0.25rem rgba(0, 0, 0, 0.1);
+ box-shadow: inset 0 0.25rem 0.25rem rgba(0, 0, 0, 0.1); }
+
+.custom-checkbox .custom-control-indicator {
+ border-radius: 0.125rem; }
+
+.custom-checkbox .custom-control-input:checked ~ .custom-control-indicator {
+ background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3E%3C/svg%3E"); }
+
+.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-indicator {
+ background-color: #0074d9;
+ background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 4'%3E%3Cpath stroke='%23fff' d='M0 2h4'/%3E%3C/svg%3E");
+ -webkit-box-shadow: none;
+ box-shadow: none; }
+
+.custom-radio .custom-control-indicator {
+ border-radius: 50%; }
+
+.custom-radio .custom-control-input:checked ~ .custom-control-indicator {
+ background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='%23fff'/%3E%3C/svg%3E"); }
+
+.custom-controls-stacked .custom-control {
+ display: inline; }
+ .custom-controls-stacked .custom-control::after {
+ display: block;
+ margin-bottom: 0.25rem;
+ content: ""; }
+ .custom-controls-stacked .custom-control + .custom-control {
+ margin-left: 0; }
+
+.custom-select {
+ display: inline-block;
+ max-width: 100%;
+ padding: 0.375rem 1.75rem 0.375rem 0.75rem;
+ padding-right: 0.75rem \9;
+ color: rgba(0, 0, 0, 0.54);
+ vertical-align: middle;
+ background: #fff url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3E%3Cpath fill='%23333' d='M2 0L0 2h4zm0 5L0 3h4z'/%3E%3C/svg%3E") no-repeat right 0.75rem center;
+ background-image: none \9;
+ -webkit-background-size: 8px 10px;
+ background-size: 8px 10px;
+ border: 1px solid rgba(0, 0, 0, 0.26);
+ border-radius: 0.125rem;
+ -moz-appearance: none;
+ -webkit-appearance: none; }
+ .custom-select:focus {
+ border-color: #51a7e8;
+ outline: none;
+ -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.075), 0 0 5px rgba(81, 167, 232, 0.5);
+ box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.075), 0 0 5px rgba(81, 167, 232, 0.5); }
+ .custom-select:focus::-ms-value {
+ color: rgba(0, 0, 0, 0.54);
+ background-color: transparent; }
+ .custom-select:disabled {
+ color: rgba(0, 0, 0, 0.26);
+ cursor: not-allowed;
+ background-color: rgba(0, 0, 0, 0.12); }
+ .custom-select::-ms-expand {
+ opacity: 0; }
+
+.custom-select-sm {
+ padding-top: 0.375rem;
+ padding-bottom: 0.375rem;
+ font-size: 75%; }
+
+.custom-file {
+ position: relative;
+ display: inline-block;
+ max-width: 100%;
+ height: 2.5rem;
+ cursor: pointer; }
+
+.custom-file-input {
+ min-width: 14rem;
+ max-width: 100%;
+ margin: 0;
+ filter: alpha(opacity=0);
+ opacity: 0; }
+ .custom-file-input:focus ~ .custom-file-control {
+ -webkit-box-shadow: 0 0 0 0.075rem #fff, 0 0 0 0.2rem #0074d9;
+ box-shadow: 0 0 0 0.075rem #fff, 0 0 0 0.2rem #0074d9; }
+
+.custom-file-control {
+ position: absolute;
+ top: 0;
+ right: 0;
+ left: 0;
+ z-index: 5;
+ height: 2.5rem;
+ padding: 0.5rem 1rem;
+ line-height: 1.3;
+ color: #555;
+ -webkit-user-select: none;
+ -moz-user-select: none;
+ -ms-user-select: none;
+ user-select: none;
+ background-color: transparent;
+ border: 0 solid #ddd;
+ border-radius: 0;
+ -webkit-box-shadow: none;
+ box-shadow: none; }
+ .custom-file-control:lang(en)::after {
+ content: "Choose file..."; }
+ .custom-file-control::before {
+ position: absolute;
+ top: 0;
+ right: 0;
+ bottom: 0;
+ z-index: 6;
+ display: block;
+ height: 2.5rem;
+ padding: 0.5rem 1rem;
+ line-height: 1.3;
+ color: #555;
+ background-color: #eee;
+ border: 0 solid #ddd;
+ border-radius: 0 0 0 0; }
+ .custom-file-control:lang(en)::before {
+ content: "Browse"; }
+
+.nav {
+ padding-left: 0;
+ margin-bottom: 0;
+ list-style: none; }
+
+.nav-link {
+ display: inline-block; }
+ .nav-link:focus, .nav-link:hover {
+ text-decoration: none; }
+ .nav-link.disabled {
+ color: rgba(0, 0, 0, 0.26); }
+ .nav-link.disabled, .nav-link.disabled:focus, .nav-link.disabled:hover {
+ color: rgba(0, 0, 0, 0.26);
+ cursor: not-allowed;
+ background-color: transparent; }
+
+.nav-inline .nav-item {
+ display: inline-block; }
+
+.nav-inline .nav-item + .nav-item,
+.nav-inline .nav-link + .nav-link {
+ margin-left: 1rem; }
+
+.nav-tabs {
+ border-bottom: 1px solid #ddd; }
+ .nav-tabs::after {
+ content: "";
+ display: table;
+ clear: both; }
+ .nav-tabs .nav-item {
+ float: left;
+ margin-bottom: -1px; }
+ .nav-tabs .nav-item + .nav-item {
+ margin-left: 0.2rem; }
+ .nav-tabs .nav-link {
+ display: block;
+ padding: 0.5em 1em;
+ border: 1px solid transparent;
+ border-top-right-radius: 0.125rem;
+ border-top-left-radius: 0.125rem; }
+ .nav-tabs .nav-link:focus, .nav-tabs .nav-link:hover {
+ border-color: rgba(0, 0, 0, 0.12) rgba(0, 0, 0, 0.12) #ddd; }
+ .nav-tabs .nav-link.disabled, .nav-tabs .nav-link.disabled:focus, .nav-tabs .nav-link.disabled:hover {
+ color: rgba(0, 0, 0, 0.26);
+ background-color: transparent;
+ border-color: transparent; }
+ .nav-tabs .nav-link.active, .nav-tabs .nav-link.active:focus, .nav-tabs .nav-link.active:hover,
+ .nav-tabs .nav-item.open .nav-link,
+ .nav-tabs .nav-item.open .nav-link:focus,
+ .nav-tabs .nav-item.open .nav-link:hover {
+ color: rgba(0, 0, 0, 0.54);
+ background-color: transparent;
+ border-color: #ddd #ddd transparent; }
+ .nav-tabs .dropdown-menu {
+ margin-top: -1px;
+ border-top-right-radius: 0;
+ border-top-left-radius: 0; }
+
+.nav-pills::after {
+ content: "";
+ display: table;
+ clear: both; }
+
+.nav-pills .nav-item {
+ float: left; }
+ .nav-pills .nav-item + .nav-item {
+ margin-left: 0.2rem; }
+
+.nav-pills .nav-link {
+ display: block;
+ padding: 0.5em 1em;
+ border-radius: 0.125rem; }
+
+.nav-pills .nav-link.active, .nav-pills .nav-link.active:focus, .nav-pills .nav-link.active:hover,
+.nav-pills .nav-item.open .nav-link,
+.nav-pills .nav-item.open .nav-link:focus,
+.nav-pills .nav-item.open .nav-link:hover {
+ color: #fff;
+ cursor: default;
+ background-color: #009688; }
+
+.nav-stacked .nav-item {
+ display: block;
+ float: none; }
+ .nav-stacked .nav-item + .nav-item {
+ margin-top: 0.2rem;
+ margin-left: 0; }
+
+.tab-content > .tab-pane {
+ display: none; }
+
+.tab-content > .active {
+ display: block; }
+
+.navbar {
+ position: relative;
+ padding: 0.25rem 0.5rem; }
+ .navbar::after {
+ content: "";
+ display: table;
+ clear: both; }
+ @media (min-width: 544px) {
+ .navbar {
+ border-radius: 0.125rem; } }
+
+.navbar-full {
+ z-index: 1000; }
+ @media (min-width: 544px) {
+ .navbar-full {
+ border-radius: 0; } }
+
+.navbar-fixed-top,
+.navbar-fixed-bottom {
+ position: fixed;
+ right: 0;
+ left: 0;
+ z-index: 1030; }
+ @media (min-width: 544px) {
+ .navbar-fixed-top,
+ .navbar-fixed-bottom {
+ border-radius: 0; } }
+
+.navbar-fixed-top {
+ top: 0; }
+
+.navbar-fixed-bottom {
+ bottom: 0; }
+
+.navbar-sticky-top {
+ position: -webkit-sticky;
+ position: sticky;
+ top: 0;
+ z-index: 1030;
+ width: 100%; }
+ @media (min-width: 544px) {
+ .navbar-sticky-top {
+ border-radius: 0; } }
+
+.navbar-brand {
+ float: left;
+ padding-top: 0.25rem;
+ padding-bottom: 0.25rem;
+ margin-right: 1rem;
+ font-size: 1.25rem; }
+ .navbar-brand:focus, .navbar-brand:hover {
+ text-decoration: none; }
+ .navbar-brand > img {
+ display: block; }
+
+.navbar-divider {
+ float: left;
+ width: 1px;
+ padding-top: .425rem;
+ padding-bottom: .425rem;
+ margin-right: 0.5rem;
+ margin-left: 0.5rem;
+ overflow: hidden; }
+ .navbar-divider::before {
+ content: "\00a0"; }
+
+.navbar-toggler {
+ padding: .5rem .75rem;
+ font-size: 1.25rem;
+ line-height: 1;
+ background: none;
+ border: 1px solid transparent;
+ border-radius: 0.125rem; }
+ .navbar-toggler:focus, .navbar-toggler:hover {
+ text-decoration: none; }
+
+.navbar-nav .nav-item {
+ float: left; }
+
+.navbar-nav .nav-link {
+ display: block;
+ padding-top: .425rem;
+ padding-bottom: .425rem; }
+ .navbar-nav .nav-link + .nav-link {
+ margin-left: 1rem; }
+
+.navbar-nav .nav-item + .nav-item {
+ margin-left: 1rem; }
+
+.navbar-light .navbar-brand {
+ color: rgba(0, 0, 0, 0.8); }
+ .navbar-light .navbar-brand:focus, .navbar-light .navbar-brand:hover {
+ color: rgba(0, 0, 0, 0.8); }
+
+.navbar-light .navbar-nav .nav-link {
+ color: rgba(0, 0, 0, 0.3); }
+ .navbar-light .navbar-nav .nav-link:focus, .navbar-light .navbar-nav .nav-link:hover {
+ color: rgba(0, 0, 0, 0.6); }
+
+.navbar-light .navbar-nav .open > .nav-link, .navbar-light .navbar-nav .open > .nav-link:focus, .navbar-light .navbar-nav .open > .nav-link:hover,
+.navbar-light .navbar-nav .active > .nav-link,
+.navbar-light .navbar-nav .active > .nav-link:focus,
+.navbar-light .navbar-nav .active > .nav-link:hover,
+.navbar-light .navbar-nav .nav-link.open,
+.navbar-light .navbar-nav .nav-link.open:focus,
+.navbar-light .navbar-nav .nav-link.open:hover,
+.navbar-light .navbar-nav .nav-link.active,
+.navbar-light .navbar-nav .nav-link.active:focus,
+.navbar-light .navbar-nav .nav-link.active:hover {
+ color: rgba(0, 0, 0, 0.8); }
+
+.navbar-light .navbar-divider {
+ background-color: rgba(0, 0, 0, 0.075); }
+
+.navbar-dark .navbar-brand {
+ color: white; }
+ .navbar-dark .navbar-brand:focus, .navbar-dark .navbar-brand:hover {
+ color: white; }
+
+.navbar-dark .navbar-nav .nav-link {
+ color: rgba(255, 255, 255, 0.5); }
+ .navbar-dark .navbar-nav .nav-link:focus, .navbar-dark .navbar-nav .nav-link:hover {
+ color: rgba(255, 255, 255, 0.75); }
+
+.navbar-dark .navbar-nav .open > .nav-link, .navbar-dark .navbar-nav .open > .nav-link:focus, .navbar-dark .navbar-nav .open > .nav-link:hover,
+.navbar-dark .navbar-nav .active > .nav-link,
+.navbar-dark .navbar-nav .active > .nav-link:focus,
+.navbar-dark .navbar-nav .active > .nav-link:hover,
+.navbar-dark .navbar-nav .nav-link.open,
+.navbar-dark .navbar-nav .nav-link.open:focus,
+.navbar-dark .navbar-nav .nav-link.open:hover,
+.navbar-dark .navbar-nav .nav-link.active,
+.navbar-dark .navbar-nav .nav-link.active:focus,
+.navbar-dark .navbar-nav .nav-link.active:hover {
+ color: white; }
+
+.navbar-dark .navbar-divider {
+ background-color: rgba(255, 255, 255, 0.075); }
+
+.navbar-toggleable-xs::after {
+ content: "";
+ display: table;
+ clear: both; }
+
+@media (max-width: 543px) {
+ .navbar-toggleable-xs .navbar-nav .nav-item {
+ float: none;
+ margin-left: 0; } }
+
+@media (min-width: 544px) {
+ .navbar-toggleable-xs {
+ display: block !important; } }
+
+.navbar-toggleable-sm::after {
+ content: "";
+ display: table;
+ clear: both; }
+
+@media (max-width: 767px) {
+ .navbar-toggleable-sm .navbar-nav .nav-item {
+ float: none;
+ margin-left: 0; } }
+
+@media (min-width: 768px) {
+ .navbar-toggleable-sm {
+ display: block !important; } }
+
+.navbar-toggleable-md::after {
+ content: "";
+ display: table;
+ clear: both; }
+
+@media (max-width: 991px) {
+ .navbar-toggleable-md .navbar-nav .nav-item {
+ float: none;
+ margin-left: 0; } }
+
+@media (min-width: 992px) {
+ .navbar-toggleable-md {
+ display: block !important; } }
+
+.card {
+ position: relative;
+ display: block;
+ margin-bottom: 0.75rem;
+ background-color: #fff;
+ border-radius: 0.125rem;
+ border: 1px solid rgba(0, 0, 0, 0.12); }
+
+.card-block {
+ padding: 1.25rem; }
+ .card-block::after {
+ content: "";
+ display: table;
+ clear: both; }
+
+.card-title {
+ margin-bottom: 0.75rem; }
+
+.card-subtitle {
+ margin-top: -0.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 > .list-group:first-child .list-group-item:first-child {
+ border-top-right-radius: 0.125rem;
+ border-top-left-radius: 0.125rem; }
+
+.card > .list-group:last-child .list-group-item:last-child {
+ border-bottom-right-radius: 0.125rem;
+ border-bottom-left-radius: 0.125rem; }
+
+.card-header {
+ padding: 0.75rem 1.25rem;
+ background-color: #fff;
+ border-bottom: 1px solid rgba(0, 0, 0, 0.12); }
+ .card-header::after {
+ content: "";
+ display: table;
+ clear: both; }
+ .card-header:first-child {
+ border-radius: 0.125rem 0.125rem 0 0; }
+
+.card-footer {
+ padding: 0.75rem 1.25rem;
+ background-color: #fff;
+ border-top: 1px solid rgba(0, 0, 0, 0.12); }
+ .card-footer::after {
+ content: "";
+ display: table;
+ clear: both; }
+ .card-footer:last-child {
+ border-radius: 0 0 0.125rem 0.125rem; }
+
+.card-header-tabs {
+ margin-right: -0.625rem;
+ margin-bottom: -0.75rem;
+ margin-left: -0.625rem;
+ border-bottom: 0; }
+
+.card-header-pills {
+ margin-right: -0.625rem;
+ margin-left: -0.625rem; }
+
+.card-primary {
+ background-color: #009688;
+ border-color: #009688; }
+ .card-primary .card-header,
+ .card-primary .card-footer {
+ background-color: transparent; }
+
+.card-success {
+ background-color: #4caf50;
+ border-color: #4caf50; }
+ .card-success .card-header,
+ .card-success .card-footer {
+ background-color: transparent; }
+
+.card-info {
+ background-color: #03a9f4;
+ border-color: #03a9f4; }
+ .card-info .card-header,
+ .card-info .card-footer {
+ background-color: transparent; }
+
+.card-warning {
+ background-color: #ff5722;
+ border-color: #ff5722; }
+ .card-warning .card-header,
+ .card-warning .card-footer {
+ background-color: transparent; }
+
+.card-danger {
+ background-color: #f44336;
+ border-color: #f44336; }
+ .card-danger .card-header,
+ .card-danger .card-footer {
+ background-color: transparent; }
+
+.card-outline-primary {
+ background-color: transparent;
+ border-color: #009688; }
+
+.card-outline-secondary {
+ background-color: transparent;
+ border-color: #ccc; }
+
+.card-outline-info {
+ background-color: transparent;
+ border-color: #03a9f4; }
+
+.card-outline-success {
+ background-color: transparent;
+ border-color: #4caf50; }
+
+.card-outline-warning {
+ background-color: transparent;
+ border-color: #ff5722; }
+
+.card-outline-danger {
+ background-color: transparent;
+ border-color: #f44336; }
+
+.card-inverse .card-header,
+.card-inverse .card-footer {
+ border-color: rgba(255, 255, 255, 0.2); }
+
+.card-inverse .card-header,
+.card-inverse .card-footer,
+.card-inverse .card-title,
+.card-inverse .card-blockquote {
+ color: #fff; }
+
+.card-inverse .card-link,
+.card-inverse .card-text,
+.card-inverse .card-subtitle,
+.card-inverse .card-blockquote .blockquote-footer {
+ color: rgba(255, 255, 255, 0.65); }
+
+.card-inverse .card-link:focus, .card-inverse .card-link:hover {
+ color: #fff; }
+
+.card-blockquote {
+ padding: 0;
+ margin-bottom: 0;
+ border-left: 0; }
+
+.card-img {
+ border-radius: 0.25rem; }
+
+.card-img-overlay {
+ position: absolute;
+ top: 0;
+ right: 0;
+ bottom: 0;
+ left: 0;
+ padding: 1.25rem; }
+
+.card-img-top {
+ border-top-right-radius: 0.125rem;
+ border-top-left-radius: 0.125rem; }
+
+.card-img-bottom {
+ border-bottom-right-radius: 0.125rem;
+ border-bottom-left-radius: 0.125rem; }
+
+@media (min-width: 544px) {
+ .card-deck {
+ display: -webkit-box;
+ display: -webkit-flex;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-flex-flow: row wrap;
+ -ms-flex-flow: row wrap;
+ flex-flow: row wrap;
+ margin-right: -0.625rem;
+ margin-bottom: 0.75rem;
+ margin-left: -0.625rem; }
+ .card-deck .card {
+ -webkit-box-flex: 1;
+ -webkit-flex: 1 0 0;
+ -ms-flex: 1 0 0;
+ flex: 1 0 0;
+ margin-right: 0.625rem;
+ margin-bottom: 0;
+ margin-left: 0.625rem; } }
+
+@media (min-width: 544px) {
+ .card-group {
+ display: -webkit-box;
+ display: -webkit-flex;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-flex-flow: row wrap;
+ -ms-flex-flow: row wrap;
+ flex-flow: row wrap; }
+ .card-group .card {
+ -webkit-box-flex: 1;
+ -webkit-flex: 1 0 0;
+ -ms-flex: 1 0 0;
+ flex: 1 0 0; }
+ .card-group .card + .card {
+ margin-left: 0;
+ border-left: 0; }
+ .card-group .card:first-child {
+ border-bottom-right-radius: 0;
+ border-top-right-radius: 0; }
+ .card-group .card:first-child .card-img-top {
+ border-top-right-radius: 0; }
+ .card-group .card:first-child .card-img-bottom {
+ border-bottom-right-radius: 0; }
+ .card-group .card:last-child {
+ border-bottom-left-radius: 0;
+ border-top-left-radius: 0; }
+ .card-group .card:last-child .card-img-top {
+ border-top-left-radius: 0; }
+ .card-group .card:last-child .card-img-bottom {
+ border-bottom-left-radius: 0; }
+ .card-group .card:not(:first-child):not(:last-child) {
+ border-radius: 0; }
+ .card-group .card:not(:first-child):not(:last-child) .card-img-top,
+ .card-group .card:not(:first-child):not(:last-child) .card-img-bottom {
+ border-radius: 0; } }
+
+@media (min-width: 544px) {
+ .card-columns {
+ -webkit-column-count: 3;
+ -moz-column-count: 3;
+ column-count: 3;
+ -webkit-column-gap: 1.25rem;
+ -moz-column-gap: 1.25rem;
+ column-gap: 1.25rem; }
+ .card-columns .card {
+ display: inline-block;
+ width: 100%; } }
+
+.breadcrumb {
+ padding: 0.75rem 1rem;
+ margin-bottom: 0.5rem;
+ list-style: none;
+ background-color: rgba(0, 0, 0, 0.12);
+ border-radius: 0.125rem; }
+ .breadcrumb::after {
+ content: "";
+ display: table;
+ clear: both; }
+
+.breadcrumb-item {
+ float: left; }
+ .breadcrumb-item + .breadcrumb-item::before {
+ display: inline-block;
+ padding-right: 0.5rem;
+ padding-left: 0.5rem;
+ color: rgba(0, 0, 0, 0.26);
+ content: "/"; }
+ .breadcrumb-item + .breadcrumb-item:hover::before {
+ text-decoration: underline; }
+ .breadcrumb-item + .breadcrumb-item:hover::before {
+ text-decoration: none; }
+ .breadcrumb-item.active {
+ color: rgba(0, 0, 0, 0.26); }
+
+.pagination {
+ display: inline-block;
+ padding-left: 0;
+ margin-top: 0.5rem;
+ margin-bottom: 0.5rem;
+ border-radius: 0.125rem; }
+
+.page-item {
+ display: inline; }
+ .page-item:first-child .page-link {
+ margin-left: 0;
+ border-bottom-left-radius: 0.125rem;
+ border-top-left-radius: 0.125rem; }
+ .page-item:last-child .page-link {
+ border-bottom-right-radius: 0.125rem;
+ border-top-right-radius: 0.125rem; }
+ .page-item.active .page-link, .page-item.active .page-link:focus, .page-item.active .page-link:hover {
+ z-index: 2;
+ color: #fff;
+ cursor: default;
+ background-color: #009688;
+ border-color: #009688; }
+ .page-item.disabled .page-link, .page-item.disabled .page-link:focus, .page-item.disabled .page-link:hover {
+ color: rgba(0, 0, 0, 0.26);
+ pointer-events: none;
+ cursor: not-allowed;
+ background-color: transparent;
+ border-color: #ddd; }
+
+.page-link {
+ position: relative;
+ float: left;
+ padding: 0.5rem 0.75rem;
+ margin-left: -1px;
+ color: #009688;
+ text-decoration: none;
+ background-color: transparent;
+ border: 0 solid #ddd; }
+ .page-link:focus, .page-link:hover {
+ color: #004a43;
+ background-color: rgba(0, 0, 0, 0.12);
+ border-color: #ddd; }
+
+.pagination-lg .page-link {
+ padding: 0.75rem 0;
+ font-size: 1.25rem; }
+
+.pagination-lg .page-item:first-child .page-link {
+ border-bottom-left-radius: 0.3rem;
+ border-top-left-radius: 0.3rem; }
+
+.pagination-lg .page-item:last-child .page-link {
+ border-bottom-right-radius: 0.3rem;
+ border-top-right-radius: 0.3rem; }
+
+.pagination-sm .page-link {
+ padding: 0.275rem 0;
+ font-size: 0.875rem; }
+
+.pagination-sm .page-item:first-child .page-link {
+ border-bottom-left-radius: 0.0625rem;
+ border-top-left-radius: 0.0625rem; }
+
+.pagination-sm .page-item:last-child .page-link {
+ border-bottom-right-radius: 0.0625rem;
+ border-top-right-radius: 0.0625rem; }
+
+.tag {
+ display: inline-block;
+ padding: 0.25em 0.4em;
+ font-size: 75%;
+ font-weight: bold;
+ line-height: 1;
+ color: #fff;
+ text-align: center;
+ white-space: nowrap;
+ vertical-align: baseline;
+ border-radius: 0.125rem; }
+ .tag:empty {
+ display: none; }
+
+.btn .tag, .custom-file-control::before .tag {
+ position: relative;
+ top: -1px; }
+
+a.tag:focus, a.tag:hover {
+ color: #fff;
+ text-decoration: none;
+ cursor: pointer; }
+
+.tag-pill {
+ padding-right: 0.6em;
+ padding-left: 0.6em;
+ border-radius: 10rem; }
+
+.tag-default {
+ background-color: rgba(0, 0, 0, 0.26); }
+ .tag-default[href]:focus, .tag-default[href]:hover {
+ background-color: rgba(0, 0, 0, 0.26); }
+
+.tag-primary {
+ background-color: #009688; }
+ .tag-primary[href]:focus, .tag-primary[href]:hover {
+ background-color: #00635a; }
+
+.tag-success {
+ background-color: #4caf50; }
+ .tag-success[href]:focus, .tag-success[href]:hover {
+ background-color: #3d8b40; }
+
+.tag-info {
+ background-color: #03a9f4; }
+ .tag-info[href]:focus, .tag-info[href]:hover {
+ background-color: #0286c2; }
+
+.tag-warning {
+ background-color: #ff5722; }
+ .tag-warning[href]:focus, .tag-warning[href]:hover {
+ background-color: #ee3900; }
+
+.tag-danger {
+ background-color: #f44336; }
+ .tag-danger[href]:focus, .tag-danger[href]:hover {
+ background-color: #ea1c0d; }
+
+.jumbotron {
+ padding: 2rem 1rem;
+ margin-bottom: 2rem;
+ background-color: rgba(0, 0, 0, 0.12);
+ border-radius: 0.3rem; }
+ @media (min-width: 544px) {
+ .jumbotron {
+ padding: 4rem 2rem; } }
+
+.jumbotron-hr {
+ border-top-color: rgba(0, 0, 0, 0.12); }
+
+.jumbotron-fluid {
+ padding-right: 0;
+ padding-left: 0;
+ border-radius: 0; }
+
+.alert {
+ padding: 15px;
+ margin-bottom: 0.5rem;
+ border: 1px solid transparent;
+ border-radius: 0.125rem; }
+
+.alert-heading {
+ color: inherit; }
+
+.alert-link {
+ font-weight: bold; }
+
+.alert-dismissible {
+ padding-right: 35px; }
+ .alert-dismissible .close {
+ position: relative;
+ top: -2px;
+ right: -21px;
+ color: inherit; }
+
+.alert-success {
+ background-color: #4caf50;
+ border-color: #449d48;
+ color: white; }
+ .alert-success hr {
+ border-top-color: #3d8b40; }
+ .alert-success .alert-link {
+ color: #e6e6e6; }
+
+.alert-info {
+ background-color: #03a9f4;
+ border-color: #0391d1;
+ color: white; }
+ .alert-info hr {
+ border-top-color: #027fb8; }
+ .alert-info .alert-link {
+ color: #e6e6e6; }
+
+.alert-warning {
+ background-color: #ff5722;
+ border-color: #ff4409;
+ color: white; }
+ .alert-warning hr {
+ border-top-color: #ee3900; }
+ .alert-warning .alert-link {
+ color: #e6e6e6; }
+
+.alert-danger {
+ background-color: #f44336;
+ border-color: #f32c1e;
+ color: white; }
+ .alert-danger hr {
+ border-top-color: #ea1c0d; }
+ .alert-danger .alert-link {
+ color: #e6e6e6; }
+
+@-webkit-keyframes progress-bar-stripes {
+ from {
+ background-position: 0.5rem 0; }
+ to {
+ background-position: 0 0; } }
+
+@-o-keyframes progress-bar-stripes {
+ from {
+ background-position: 0.5rem 0; }
+ to {
+ background-position: 0 0; } }
+
+@keyframes progress-bar-stripes {
+ from {
+ background-position: 0.5rem 0; }
+ to {
+ background-position: 0 0; } }
+
+.progress {
+ display: block;
+ width: 100%;
+ height: 0.5rem;
+ margin-bottom: 0.5rem; }
+
+.progress[value] {
+ background-color: #eee;
+ border: 0;
+ -webkit-appearance: none;
+ -moz-appearance: none;
+ appearance: none;
+ border-radius: 0.125rem; }
+
+.progress[value]::-ms-fill {
+ background-color: #0074d9;
+ border: 0; }
+
+.progress[value]::-moz-progress-bar {
+ background-color: #0074d9;
+ border-bottom-left-radius: 0.125rem;
+ border-top-left-radius: 0.125rem; }
+
+.progress[value]::-webkit-progress-value {
+ background-color: #0074d9;
+ border-bottom-left-radius: 0.125rem;
+ border-top-left-radius: 0.125rem; }
+
+.progress[value="100"]::-moz-progress-bar {
+ border-bottom-right-radius: 0.125rem;
+ border-top-right-radius: 0.125rem; }
+
+.progress[value="100"]::-webkit-progress-value {
+ border-bottom-right-radius: 0.125rem;
+ border-top-right-radius: 0.125rem; }
+
+.progress[value]::-webkit-progress-bar {
+ background-color: #eee;
+ border-radius: 0.125rem;
+ -webkit-box-shadow: inset 0 0.1rem 0.1rem rgba(0, 0, 0, 0.1);
+ box-shadow: inset 0 0.1rem 0.1rem rgba(0, 0, 0, 0.1); }
+
+base::-moz-progress-bar,
+.progress[value] {
+ background-color: #eee;
+ border-radius: 0.125rem;
+ box-shadow: inset 0 0.1rem 0.1rem rgba(0, 0, 0, 0.1); }
+
+@media screen and (min-width: 0\0) {
+ .progress {
+ background-color: #eee;
+ border-radius: 0.125rem;
+ -webkit-box-shadow: inset 0 0.1rem 0.1rem rgba(0, 0, 0, 0.1);
+ box-shadow: inset 0 0.1rem 0.1rem rgba(0, 0, 0, 0.1); }
+ .progress-bar {
+ display: inline-block;
+ height: 0.5rem;
+ text-indent: -999rem;
+ background-color: #0074d9;
+ border-bottom-left-radius: 0.125rem;
+ border-top-left-radius: 0.125rem; }
+ .progress[width="100%"] {
+ border-bottom-right-radius: 0.125rem;
+ border-top-right-radius: 0.125rem; } }
+
+.progress-striped[value]::-webkit-progress-value {
+ background-image: -webkit-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);
+ 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);
+ -webkit-background-size: 0.5rem 0.5rem;
+ background-size: 0.5rem 0.5rem; }
+
+.progress-striped[value]::-moz-progress-bar {
+ 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);
+ background-size: 0.5rem 0.5rem; }
+
+.progress-striped[value]::-ms-fill {
+ 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);
+ background-size: 0.5rem 0.5rem; }
+
+@media screen and (min-width: 0\0) {
+ .progress-bar-striped {
+ background-image: -webkit-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);
+ background-image: -o-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);
+ 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);
+ -webkit-background-size: 0.5rem 0.5rem;
+ background-size: 0.5rem 0.5rem; } }
+
+.progress-animated[value]::-webkit-progress-value {
+ -webkit-animation: progress-bar-stripes 2s linear infinite;
+ animation: progress-bar-stripes 2s linear infinite; }
+
+.progress-animated[value]::-moz-progress-bar {
+ animation: progress-bar-stripes 2s linear infinite; }
+
+@media screen and (min-width: 0\0) {
+ .progress-animated .progress-bar-striped {
+ -webkit-animation: progress-bar-stripes 2s linear infinite;
+ -o-animation: progress-bar-stripes 2s linear infinite;
+ animation: progress-bar-stripes 2s linear infinite; } }
+
+.progress-success[value]::-webkit-progress-value {
+ background-color: #4caf50; }
+
+.progress-success[value]::-moz-progress-bar {
+ background-color: #4caf50; }
+
+.progress-success[value]::-ms-fill {
+ background-color: #4caf50; }
+
+@media screen and (min-width: 0\0) {
+ .progress-success .progress-bar {
+ background-color: #4caf50; } }
+
+.progress-info[value]::-webkit-progress-value {
+ background-color: #03a9f4; }
+
+.progress-info[value]::-moz-progress-bar {
+ background-color: #03a9f4; }
+
+.progress-info[value]::-ms-fill {
+ background-color: #03a9f4; }
+
+@media screen and (min-width: 0\0) {
+ .progress-info .progress-bar {
+ background-color: #03a9f4; } }
+
+.progress-warning[value]::-webkit-progress-value {
+ background-color: #ff5722; }
+
+.progress-warning[value]::-moz-progress-bar {
+ background-color: #ff5722; }
+
+.progress-warning[value]::-ms-fill {
+ background-color: #ff5722; }
+
+@media screen and (min-width: 0\0) {
+ .progress-warning .progress-bar {
+ background-color: #ff5722; } }
+
+.progress-danger[value]::-webkit-progress-value {
+ background-color: #f44336; }
+
+.progress-danger[value]::-moz-progress-bar {
+ background-color: #f44336; }
+
+.progress-danger[value]::-ms-fill {
+ background-color: #f44336; }
+
+@media screen and (min-width: 0\0) {
+ .progress-danger .progress-bar {
+ background-color: #f44336; } }
+
+.media {
+ display: -webkit-box;
+ display: -webkit-flex;
+ display: -ms-flexbox;
+ display: flex;
+ margin-bottom: 0.5rem; }
+
+.media-body {
+ -webkit-box-flex: 1;
+ -webkit-flex: 1;
+ -ms-flex: 1;
+ flex: 1; }
+
+.media-middle {
+ -webkit-align-self: center;
+ -ms-flex-item-align: center;
+ align-self: center; }
+
+.media-bottom {
+ -webkit-align-self: flex-end;
+ -ms-flex-item-align: end;
+ align-self: flex-end; }
+
+.media-object {
+ display: block; }
+ .media-object.img-thumbnail {
+ max-width: none; }
+
+.media-right {
+ padding-left: 10px; }
+
+.media-left {
+ padding-right: 10px; }
+
+.media-heading {
+ margin-top: 0;
+ margin-bottom: 5px; }
+
+.media-list {
+ padding-left: 0;
+ list-style: none; }
+
+.list-group {
+ padding-left: 0;
+ margin-bottom: 0; }
+
+.list-group-item {
+ position: relative;
+ display: block;
+ padding: 0.75rem 1.25rem;
+ margin-bottom: 0;
+ background-color: inherit;
+ border: 0 solid #ddd; }
+ .list-group-item:first-child {
+ border-top-right-radius: 0;
+ border-top-left-radius: 0; }
+ .list-group-item:last-child {
+ margin-bottom: 0;
+ border-bottom-right-radius: 0;
+ border-bottom-left-radius: 0; }
+ .list-group-item.disabled, .list-group-item.disabled:focus, .list-group-item.disabled:hover {
+ color: rgba(0, 0, 0, 0.26);
+ cursor: not-allowed;
+ background-color: rgba(0, 0, 0, 0.12); }
+ .list-group-item.disabled .list-group-item-heading, .list-group-item.disabled:focus .list-group-item-heading, .list-group-item.disabled:hover .list-group-item-heading {
+ color: inherit; }
+ .list-group-item.disabled .list-group-item-text, .list-group-item.disabled:focus .list-group-item-text, .list-group-item.disabled:hover .list-group-item-text {
+ color: rgba(0, 0, 0, 0.26); }
+ .list-group-item.active, .list-group-item.active:focus, .list-group-item.active:hover {
+ z-index: 2;
+ color: #fff;
+ text-decoration: none;
+ background-color: #009688;
+ border-color: #009688; }
+ .list-group-item.active .list-group-item-heading,
+ .list-group-item.active .list-group-item-heading > small,
+ .list-group-item.active .list-group-item-heading > .small, .list-group-item.active:focus .list-group-item-heading,
+ .list-group-item.active:focus .list-group-item-heading > small,
+ .list-group-item.active:focus .list-group-item-heading > .small, .list-group-item.active:hover .list-group-item-heading,
+ .list-group-item.active:hover .list-group-item-heading > small,
+ .list-group-item.active:hover .list-group-item-heading > .small {
+ color: inherit; }
+ .list-group-item.active .list-group-item-text, .list-group-item.active:focus .list-group-item-text, .list-group-item.active:hover .list-group-item-text {
+ color: #63fff0; }
+
+.list-group-flush .list-group-item {
+ border-radius: 0; }
+
+.list-group-item-action {
+ width: 100%;
+ color: #555;
+ text-align: inherit; }
+ .list-group-item-action .list-group-item-heading {
+ color: #333; }
+ .list-group-item-action:focus, .list-group-item-action:hover {
+ color: #555;
+ text-decoration: none;
+ background-color: #f5f5f5; }
+
+.list-group-item-success {
+ color: white;
+ background-color: #4caf50; }
+
+a.list-group-item-success,
+button.list-group-item-success {
+ color: white; }
+ a.list-group-item-success .list-group-item-heading,
+ button.list-group-item-success .list-group-item-heading {
+ color: inherit; }
+ a.list-group-item-success:focus, a.list-group-item-success:hover,
+ button.list-group-item-success:focus,
+ button.list-group-item-success:hover {
+ color: white;
+ background-color: #449d48; }
+ a.list-group-item-success.active, a.list-group-item-success.active:focus, a.list-group-item-success.active:hover,
+ button.list-group-item-success.active,
+ button.list-group-item-success.active:focus,
+ button.list-group-item-success.active:hover {
+ color: #fff;
+ background-color: white;
+ border-color: white; }
+
+.list-group-item-info {
+ color: white;
+ background-color: #03a9f4; }
+
+a.list-group-item-info,
+button.list-group-item-info {
+ color: white; }
+ a.list-group-item-info .list-group-item-heading,
+ button.list-group-item-info .list-group-item-heading {
+ color: inherit; }
+ a.list-group-item-info:focus, a.list-group-item-info:hover,
+ button.list-group-item-info:focus,
+ button.list-group-item-info:hover {
+ color: white;
+ background-color: #0398db; }
+ a.list-group-item-info.active, a.list-group-item-info.active:focus, a.list-group-item-info.active:hover,
+ button.list-group-item-info.active,
+ button.list-group-item-info.active:focus,
+ button.list-group-item-info.active:hover {
+ color: #fff;
+ background-color: white;
+ border-color: white; }
+
+.list-group-item-warning {
+ color: white;
+ background-color: #ff5722; }
+
+a.list-group-item-warning,
+button.list-group-item-warning {
+ color: white; }
+ a.list-group-item-warning .list-group-item-heading,
+ button.list-group-item-warning .list-group-item-heading {
+ color: inherit; }
+ a.list-group-item-warning:focus, a.list-group-item-warning:hover,
+ button.list-group-item-warning:focus,
+ button.list-group-item-warning:hover {
+ color: white;
+ background-color: #ff4409; }
+ a.list-group-item-warning.active, a.list-group-item-warning.active:focus, a.list-group-item-warning.active:hover,
+ button.list-group-item-warning.active,
+ button.list-group-item-warning.active:focus,
+ button.list-group-item-warning.active:hover {
+ color: #fff;
+ background-color: white;
+ border-color: white; }
+
+.list-group-item-danger {
+ color: white;
+ background-color: #f44336; }
+
+a.list-group-item-danger,
+button.list-group-item-danger {
+ color: white; }
+ a.list-group-item-danger .list-group-item-heading,
+ button.list-group-item-danger .list-group-item-heading {
+ color: inherit; }
+ a.list-group-item-danger:focus, a.list-group-item-danger:hover,
+ button.list-group-item-danger:focus,
+ button.list-group-item-danger:hover {
+ color: white;
+ background-color: #f32c1e; }
+ a.list-group-item-danger.active, a.list-group-item-danger.active:focus, a.list-group-item-danger.active:hover,
+ button.list-group-item-danger.active,
+ button.list-group-item-danger.active:focus,
+ button.list-group-item-danger.active:hover {
+ color: #fff;
+ background-color: white;
+ border-color: white; }
+
+.list-group-item-heading {
+ margin-top: 0;
+ margin-bottom: 5px; }
+
+.list-group-item-text {
+ margin-bottom: 0;
+ line-height: 1.3; }
+
+.embed-responsive {
+ position: relative;
+ display: block;
+ height: 0;
+ padding: 0;
+ overflow: hidden; }
+ .embed-responsive .embed-responsive-item,
+ .embed-responsive iframe,
+ .embed-responsive embed,
+ .embed-responsive object,
+ .embed-responsive video {
+ position: absolute;
+ top: 0;
+ bottom: 0;
+ left: 0;
+ width: 100%;
+ height: 100%;
+ border: 0; }
+
+.embed-responsive-21by9 {
+ padding-bottom: 42.85714%; }
+
+.embed-responsive-16by9 {
+ padding-bottom: 56.25%; }
+
+.embed-responsive-4by3 {
+ padding-bottom: 75%; }
+
+.embed-responsive-1by1 {
+ padding-bottom: 100%; }
+
+.close {
+ float: right;
+ font-size: 1.5rem;
+ font-weight: bold;
+ line-height: 1;
+ color: #000;
+ text-shadow: 0 1px 0 #fff;
+ opacity: .2; }
+ .close:focus, .close:hover {
+ color: #000;
+ text-decoration: none;
+ cursor: pointer;
+ opacity: .5; }
+
+button.close {
+ padding: 0;
+ cursor: pointer;
+ background: transparent;
+ border: 0;
+ -webkit-appearance: none; }
+
+.modal-open {
+ overflow: hidden; }
+
+.modal {
+ position: fixed;
+ top: 0;
+ right: 0;
+ bottom: 0;
+ left: 0;
+ z-index: 1050;
+ display: none;
+ overflow: hidden;
+ outline: 0;
+ -webkit-overflow-scrolling: touch; }
+ .modal.fade .modal-dialog {
+ -webkit-transition: -webkit-transform .3s ease-out;
+ transition: -webkit-transform .3s ease-out;
+ -o-transition: transform .3s ease-out, -o-transform .3s ease-out;
+ transition: transform .3s ease-out;
+ transition: transform .3s ease-out, -webkit-transform .3s ease-out, -o-transform .3s ease-out;
+ -webkit-transform: translate(0, -25%);
+ -ms-transform: translate(0, -25%);
+ -o-transform: translate(0, -25%);
+ transform: translate(0, -25%); }
+ .modal.in .modal-dialog {
+ -webkit-transform: translate(0, 0);
+ -ms-transform: translate(0, 0);
+ -o-transform: translate(0, 0);
+ transform: translate(0, 0); }
+
+.modal-open .modal {
+ overflow-x: hidden;
+ overflow-y: auto; }
+
+.modal-dialog {
+ position: relative;
+ width: auto;
+ margin: 10px; }
+
+.modal-content {
+ position: relative;
+ background-color: #fff;
+ -webkit-background-clip: padding-box;
+ background-clip: padding-box;
+ border: 1px solid rgba(0, 0, 0, 0.2);
+ border-radius: 0.3rem;
+ -webkit-box-shadow: 0 9px 46px 8px rgba(0, 0, 0, 0.14), 0 11px 15px -7px rgba(0, 0, 0, 0.12), 0 24px 38px 3px rgba(0, 0, 0, 0.2);
+ box-shadow: 0 9px 46px 8px rgba(0, 0, 0, 0.14), 0 11px 15px -7px rgba(0, 0, 0, 0.12), 0 24px 38px 3px rgba(0, 0, 0, 0.2);
+ outline: 0; }
+
+.modal-backdrop {
+ position: fixed;
+ top: 0;
+ right: 0;
+ bottom: 0;
+ left: 0;
+ z-index: 1040;
+ background-color: #000; }
+ .modal-backdrop.fade {
+ opacity: 0; }
+ .modal-backdrop.in {
+ opacity: 0.26; }
+
+.modal-header {
+ padding: 15px;
+ border-bottom: 1px solid #e5e5e5; }
+ .modal-header::after {
+ content: "";
+ display: table;
+ clear: both; }
+
+.modal-header .close {
+ margin-top: -2px; }
+
+.modal-title {
+ margin: 0;
+ line-height: 1.5; }
+
+.modal-body {
+ position: relative;
+ padding: 15px; }
+
+.modal-footer {
+ padding: 15px;
+ text-align: right;
+ border-top: 1px solid #e5e5e5; }
+ .modal-footer::after {
+ content: "";
+ display: table;
+ clear: both; }
+
+.modal-scrollbar-measure {
+ position: absolute;
+ top: -9999px;
+ width: 50px;
+ height: 50px;
+ overflow: scroll; }
+
+@media (min-width: 544px) {
+ .modal-dialog {
+ max-width: 600px;
+ margin: 30px auto; }
+ .modal-content {
+ -webkit-box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5);
+ box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5); }
+ .modal-sm {
+ max-width: 300px; } }
+
+@media (min-width: 992px) {
+ .modal-lg {
+ max-width: 900px; } }
+
+.tooltip {
+ position: absolute;
+ z-index: 1070;
+ display: block;
+ font-family: "Roboto", "Helvetica", "Arial", sans-serif;
+ font-style: normal;
+ font-weight: normal;
+ letter-spacing: normal;
+ line-break: auto;
+ line-height: 1.5;
+ text-align: left;
+ text-align: start;
+ text-decoration: none;
+ text-shadow: none;
+ text-transform: none;
+ white-space: normal;
+ word-break: normal;
+ word-spacing: normal;
+ font-size: 0.875rem;
+ word-wrap: break-word;
+ opacity: 0; }
+ .tooltip.in {
+ opacity: 0.9; }
+ .tooltip.tooltip-top, .tooltip.bs-tether-element-attached-bottom {
+ padding: 5px 0;
+ margin-top: -3px; }
+ .tooltip.tooltip-top .tooltip-arrow, .tooltip.bs-tether-element-attached-bottom .tooltip-arrow {
+ bottom: 0;
+ left: 50%;
+ margin-left: -5px;
+ border-width: 5px 5px 0;
+ border-top-color: #000; }
+ .tooltip.tooltip-right, .tooltip.bs-tether-element-attached-left {
+ padding: 0 5px;
+ margin-left: 3px; }
+ .tooltip.tooltip-right .tooltip-arrow, .tooltip.bs-tether-element-attached-left .tooltip-arrow {
+ top: 50%;
+ left: 0;
+ margin-top: -5px;
+ border-width: 5px 5px 5px 0;
+ border-right-color: #000; }
+ .tooltip.tooltip-bottom, .tooltip.bs-tether-element-attached-top {
+ padding: 5px 0;
+ margin-top: 3px; }
+ .tooltip.tooltip-bottom .tooltip-arrow, .tooltip.bs-tether-element-attached-top .tooltip-arrow {
+ top: 0;
+ left: 50%;
+ margin-left: -5px;
+ border-width: 0 5px 5px;
+ border-bottom-color: #000; }
+ .tooltip.tooltip-left, .tooltip.bs-tether-element-attached-right {
+ padding: 0 5px;
+ margin-left: -3px; }
+ .tooltip.tooltip-left .tooltip-arrow, .tooltip.bs-tether-element-attached-right .tooltip-arrow {
+ top: 50%;
+ right: 0;
+ margin-top: -5px;
+ border-width: 5px 0 5px 5px;
+ border-left-color: #000; }
+
+.tooltip-inner {
+ max-width: 200px;
+ padding: 3px 8px;
+ color: #fff;
+ text-align: center;
+ background-color: #000;
+ border-radius: 0.125rem; }
+
+.tooltip-arrow {
+ position: absolute;
+ width: 0;
+ height: 0;
+ border-color: transparent;
+ border-style: solid; }
+
+.popover {
+ position: absolute;
+ top: 0;
+ left: 0;
+ z-index: 1060;
+ display: block;
+ max-width: 276px;
+ padding: 1px;
+ font-family: "Roboto", "Helvetica", "Arial", sans-serif;
+ font-style: normal;
+ font-weight: normal;
+ letter-spacing: normal;
+ line-break: auto;
+ line-height: 1.5;
+ text-align: left;
+ text-align: start;
+ text-decoration: none;
+ text-shadow: none;
+ text-transform: none;
+ white-space: normal;
+ word-break: normal;
+ word-spacing: normal;
+ font-size: 0.875rem;
+ word-wrap: break-word;
+ background-color: #fff;
+ -webkit-background-clip: padding-box;
+ background-clip: padding-box;
+ border: 1px solid rgba(0, 0, 0, 0.2);
+ border-radius: 0.3rem;
+ -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
+ box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2); }
+ .popover.popover-top, .popover.bs-tether-element-attached-bottom {
+ margin-top: -10px; }
+ .popover.popover-top .popover-arrow, .popover.bs-tether-element-attached-bottom .popover-arrow {
+ bottom: -11px;
+ left: 50%;
+ margin-left: -11px;
+ border-top-color: rgba(0, 0, 0, 0.25);
+ border-bottom-width: 0; }
+ .popover.popover-top .popover-arrow::after, .popover.bs-tether-element-attached-bottom .popover-arrow::after {
+ bottom: 1px;
+ margin-left: -10px;
+ content: "";
+ border-top-color: #fff;
+ border-bottom-width: 0; }
+ .popover.popover-right, .popover.bs-tether-element-attached-left {
+ margin-left: 10px; }
+ .popover.popover-right .popover-arrow, .popover.bs-tether-element-attached-left .popover-arrow {
+ top: 50%;
+ left: -11px;
+ margin-top: -11px;
+ border-right-color: rgba(0, 0, 0, 0.25);
+ border-left-width: 0; }
+ .popover.popover-right .popover-arrow::after, .popover.bs-tether-element-attached-left .popover-arrow::after {
+ bottom: -10px;
+ left: 1px;
+ content: "";
+ border-right-color: #fff;
+ border-left-width: 0; }
+ .popover.popover-bottom, .popover.bs-tether-element-attached-top {
+ margin-top: 10px; }
+ .popover.popover-bottom .popover-arrow, .popover.bs-tether-element-attached-top .popover-arrow {
+ top: -11px;
+ left: 50%;
+ margin-left: -11px;
+ border-top-width: 0;
+ border-bottom-color: rgba(0, 0, 0, 0.25); }
+ .popover.popover-bottom .popover-arrow::after, .popover.bs-tether-element-attached-top .popover-arrow::after {
+ top: 1px;
+ margin-left: -10px;
+ content: "";
+ border-top-width: 0;
+ border-bottom-color: #fff; }
+ .popover.popover-left, .popover.bs-tether-element-attached-right {
+ margin-left: -10px; }
+ .popover.popover-left .popover-arrow, .popover.bs-tether-element-attached-right .popover-arrow {
+ top: 50%;
+ right: -11px;
+ margin-top: -11px;
+ border-right-width: 0;
+ border-left-color: rgba(0, 0, 0, 0.25); }
+ .popover.popover-left .popover-arrow::after, .popover.bs-tether-element-attached-right .popover-arrow::after {
+ right: 1px;
+ bottom: -10px;
+ content: "";
+ border-right-width: 0;
+ border-left-color: #fff; }
+
+.popover-title {
+ padding: 8px 14px;
+ margin: 0;
+ font-size: 1rem;
+ background-color: #f7f7f7;
+ border-bottom: 1px solid #ebebeb;
+ border-radius: 0.2375rem 0.2375rem 0 0; }
+ .popover-title:empty {
+ display: none; }
+
+.popover-content {
+ padding: 9px 14px; }
+
+.popover-arrow, .popover-arrow::after {
+ position: absolute;
+ display: block;
+ width: 0;
+ height: 0;
+ border-color: transparent;
+ border-style: solid; }
+
+.popover-arrow {
+ border-width: 11px; }
+
+.popover-arrow::after {
+ content: "";
+ border-width: 10px; }
+
+.carousel {
+ position: relative; }
+
+.carousel-inner {
+ position: relative;
+ width: 100%;
+ overflow: hidden; }
+ .carousel-inner > .carousel-item {
+ position: relative;
+ display: none;
+ -webkit-transition: .6s ease-in-out left;
+ -o-transition: .6s ease-in-out left;
+ transition: .6s ease-in-out left; }
+ .carousel-inner > .carousel-item > img,
+ .carousel-inner > .carousel-item > a > img {
+ line-height: 1; }
+ @media all and (transform-3d), (-webkit-transform-3d) {
+ .carousel-inner > .carousel-item {
+ -webkit-transition: -webkit-transform .6s ease-in-out;
+ transition: -webkit-transform .6s ease-in-out;
+ -o-transition: transform .6s ease-in-out, -o-transform .6s ease-in-out;
+ transition: transform .6s ease-in-out;
+ transition: transform .6s ease-in-out, -webkit-transform .6s ease-in-out, -o-transform .6s ease-in-out;
+ -webkit-backface-visibility: hidden;
+ backface-visibility: hidden;
+ -webkit-perspective: 1000px;
+ perspective: 1000px; }
+ .carousel-inner > .carousel-item.next, .carousel-inner > .carousel-item.active.right {
+ left: 0;
+ -webkit-transform: translate3d(100%, 0, 0);
+ transform: translate3d(100%, 0, 0); }
+ .carousel-inner > .carousel-item.prev, .carousel-inner > .carousel-item.active.left {
+ left: 0;
+ -webkit-transform: translate3d(-100%, 0, 0);
+ transform: translate3d(-100%, 0, 0); }
+ .carousel-inner > .carousel-item.next.left, .carousel-inner > .carousel-item.prev.right, .carousel-inner > .carousel-item.active {
+ left: 0;
+ -webkit-transform: translate3d(0, 0, 0);
+ transform: translate3d(0, 0, 0); } }
+ .carousel-inner > .active,
+ .carousel-inner > .next,
+ .carousel-inner > .prev {
+ display: block; }
+ .carousel-inner > .active {
+ left: 0; }
+ .carousel-inner > .next,
+ .carousel-inner > .prev {
+ position: absolute;
+ top: 0;
+ width: 100%; }
+ .carousel-inner > .next {
+ left: 100%; }
+ .carousel-inner > .prev {
+ left: -100%; }
+ .carousel-inner > .next.left,
+ .carousel-inner > .prev.right {
+ left: 0; }
+ .carousel-inner > .active.left {
+ left: -100%; }
+ .carousel-inner > .active.right {
+ left: 100%; }
+
+.carousel-control {
+ position: absolute;
+ top: 0;
+ bottom: 0;
+ left: 0;
+ width: 15%;
+ font-size: 20px;
+ color: #fff;
+ text-align: center;
+ text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6);
+ opacity: 0.5; }
+ .carousel-control.left {
+ background-image: -webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0.0001)));
+ background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%);
+ background-image: -o-linear-gradient(left, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%);
+ background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%);
+ background-repeat: repeat-x;
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1); }
+ .carousel-control.right {
+ right: 0;
+ left: auto;
+ background-image: -webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, 0.0001)), to(rgba(0, 0, 0, 0.5)));
+ background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%);
+ background-image: -o-linear-gradient(left, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%);
+ background-image: linear-gradient(to right, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%);
+ background-repeat: repeat-x;
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1); }
+ .carousel-control:focus, .carousel-control:hover {
+ color: #fff;
+ text-decoration: none;
+ outline: 0;
+ opacity: .9; }
+ .carousel-control .icon-prev,
+ .carousel-control .icon-next {
+ position: absolute;
+ top: 50%;
+ z-index: 5;
+ display: inline-block;
+ width: 20px;
+ height: 20px;
+ margin-top: -10px;
+ font-family: serif;
+ line-height: 1; }
+ .carousel-control .icon-prev {
+ left: 50%;
+ margin-left: -10px; }
+ .carousel-control .icon-next {
+ right: 50%;
+ margin-right: -10px; }
+ .carousel-control .icon-prev::before {
+ content: "\2039"; }
+ .carousel-control .icon-next::before {
+ content: "\203a"; }
+
+.carousel-indicators {
+ position: absolute;
+ bottom: 10px;
+ left: 50%;
+ z-index: 15;
+ width: 60%;
+ padding-left: 0;
+ margin-left: -30%;
+ text-align: center;
+ list-style: none; }
+ .carousel-indicators li {
+ display: inline-block;
+ width: 10px;
+ height: 10px;
+ margin: 1px;
+ text-indent: -999px;
+ cursor: pointer;
+ background-color: transparent;
+ border: 1px solid #fff;
+ border-radius: 10px; }
+ .carousel-indicators .active {
+ width: 12px;
+ height: 12px;
+ margin: 0;
+ background-color: #fff; }
+
+.carousel-caption {
+ position: absolute;
+ right: 15%;
+ bottom: 20px;
+ left: 15%;
+ z-index: 10;
+ padding-top: 20px;
+ padding-bottom: 20px;
+ color: #fff;
+ text-align: center;
+ text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6); }
+ .carousel-caption .btn, .carousel-caption .custom-file-control::before {
+ text-shadow: none; }
+
+@media (min-width: 544px) {
+ .carousel-control .icon-prev,
+ .carousel-control .icon-next {
+ width: 30px;
+ height: 30px;
+ margin-top: -15px;
+ font-size: 30px; }
+ .carousel-control .icon-prev {
+ margin-left: -15px; }
+ .carousel-control .icon-next {
+ margin-right: -15px; }
+ .carousel-caption {
+ right: 20%;
+ left: 20%;
+ padding-bottom: 30px; }
+ .carousel-indicators {
+ bottom: 20px; } }
+
+.bg-faded {
+ background-color: #f7f7f9; }
+
+.bg-primary {
+ color: #fff !important;
+ background-color: #009688 !important; }
+
+a.bg-primary:focus, a.bg-primary:hover {
+ background-color: #00635a !important; }
+
+.bg-success {
+ color: #fff !important;
+ background-color: #4caf50 !important; }
+
+a.bg-success:focus, a.bg-success:hover {
+ background-color: #3d8b40 !important; }
+
+.bg-info {
+ color: #fff !important;
+ background-color: #03a9f4 !important; }
+
+a.bg-info:focus, a.bg-info:hover {
+ background-color: #0286c2 !important; }
+
+.bg-warning {
+ color: #fff !important;
+ background-color: #ff5722 !important; }
+
+a.bg-warning:focus, a.bg-warning:hover {
+ background-color: #ee3900 !important; }
+
+.bg-danger {
+ color: #fff !important;
+ background-color: #f44336 !important; }
+
+a.bg-danger:focus, a.bg-danger:hover {
+ background-color: #ea1c0d !important; }
+
+.bg-inverse {
+ color: #fff !important;
+ background-color: rgba(0, 0, 0, 0.87) !important; }
+
+a.bg-inverse:focus, a.bg-inverse:hover {
+ background-color: rgba(0, 0, 0, 0.87) !important; }
+
+.clearfix::after {
+ content: "";
+ display: table;
+ clear: both; }
+
+.d-block {
+ display: block !important; }
+
+.d-inline-block {
+ display: inline-block !important; }
+
+.d-inline {
+ display: inline !important; }
+
+.flex-xs-first {
+ -webkit-box-ordinal-group: 0;
+ -webkit-order: -1;
+ -ms-flex-order: -1;
+ order: -1; }
+
+.flex-xs-last {
+ -webkit-box-ordinal-group: 2;
+ -webkit-order: 1;
+ -ms-flex-order: 1;
+ order: 1; }
+
+.flex-xs-unordered {
+ -webkit-box-ordinal-group: 1;
+ -webkit-order: 0;
+ -ms-flex-order: 0;
+ order: 0; }
+
+.flex-items-xs-top {
+ -webkit-box-align: start;
+ -webkit-align-items: flex-start;
+ -ms-flex-align: start;
+ -ms-grid-row-align: flex-start;
+ align-items: flex-start; }
+
+.flex-items-xs-middle {
+ -webkit-box-align: center;
+ -webkit-align-items: center;
+ -ms-flex-align: center;
+ -ms-grid-row-align: center;
+ align-items: center; }
+
+.flex-items-xs-bottom {
+ -webkit-box-align: end;
+ -webkit-align-items: flex-end;
+ -ms-flex-align: end;
+ -ms-grid-row-align: flex-end;
+ align-items: flex-end; }
+
+.flex-xs-top {
+ -webkit-align-self: flex-start;
+ -ms-flex-item-align: start;
+ align-self: flex-start; }
+
+.flex-xs-middle {
+ -webkit-align-self: center;
+ -ms-flex-item-align: center;
+ align-self: center; }
+
+.flex-xs-bottom {
+ -webkit-align-self: flex-end;
+ -ms-flex-item-align: end;
+ align-self: flex-end; }
+
+.flex-items-xs-left {
+ -webkit-box-pack: start;
+ -webkit-justify-content: flex-start;
+ -ms-flex-pack: start;
+ justify-content: flex-start; }
+
+.flex-items-xs-center {
+ -webkit-box-pack: center;
+ -webkit-justify-content: center;
+ -ms-flex-pack: center;
+ justify-content: center; }
+
+.flex-items-xs-right {
+ -webkit-box-pack: end;
+ -webkit-justify-content: flex-end;
+ -ms-flex-pack: end;
+ justify-content: flex-end; }
+
+.flex-items-xs-around {
+ -webkit-justify-content: space-around;
+ -ms-flex-pack: distribute;
+ justify-content: space-around; }
+
+.flex-items-xs-between {
+ -webkit-box-pack: justify;
+ -webkit-justify-content: space-between;
+ -ms-flex-pack: justify;
+ justify-content: space-between; }
+
+@media (min-width: 544px) {
+ .flex-sm-first {
+ -webkit-box-ordinal-group: 0;
+ -webkit-order: -1;
+ -ms-flex-order: -1;
+ order: -1; }
+ .flex-sm-last {
+ -webkit-box-ordinal-group: 2;
+ -webkit-order: 1;
+ -ms-flex-order: 1;
+ order: 1; }
+ .flex-sm-unordered {
+ -webkit-box-ordinal-group: 1;
+ -webkit-order: 0;
+ -ms-flex-order: 0;
+ order: 0; } }
+
+@media (min-width: 544px) {
+ .flex-items-sm-top {
+ -webkit-box-align: start;
+ -webkit-align-items: flex-start;
+ -ms-flex-align: start;
+ -ms-grid-row-align: flex-start;
+ align-items: flex-start; }
+ .flex-items-sm-middle {
+ -webkit-box-align: center;
+ -webkit-align-items: center;
+ -ms-flex-align: center;
+ -ms-grid-row-align: center;
+ align-items: center; }
+ .flex-items-sm-bottom {
+ -webkit-box-align: end;
+ -webkit-align-items: flex-end;
+ -ms-flex-align: end;
+ -ms-grid-row-align: flex-end;
+ align-items: flex-end; } }
+
+@media (min-width: 544px) {
+ .flex-sm-top {
+ -webkit-align-self: flex-start;
+ -ms-flex-item-align: start;
+ align-self: flex-start; }
+ .flex-sm-middle {
+ -webkit-align-self: center;
+ -ms-flex-item-align: center;
+ align-self: center; }
+ .flex-sm-bottom {
+ -webkit-align-self: flex-end;
+ -ms-flex-item-align: end;
+ align-self: flex-end; } }
+
+@media (min-width: 544px) {
+ .flex-items-sm-left {
+ -webkit-box-pack: start;
+ -webkit-justify-content: flex-start;
+ -ms-flex-pack: start;
+ justify-content: flex-start; }
+ .flex-items-sm-center {
+ -webkit-box-pack: center;
+ -webkit-justify-content: center;
+ -ms-flex-pack: center;
+ justify-content: center; }
+ .flex-items-sm-right {
+ -webkit-box-pack: end;
+ -webkit-justify-content: flex-end;
+ -ms-flex-pack: end;
+ justify-content: flex-end; }
+ .flex-items-sm-around {
+ -webkit-justify-content: space-around;
+ -ms-flex-pack: distribute;
+ justify-content: space-around; }
+ .flex-items-sm-between {
+ -webkit-box-pack: justify;
+ -webkit-justify-content: space-between;
+ -ms-flex-pack: justify;
+ justify-content: space-between; } }
+
+@media (min-width: 768px) {
+ .flex-md-first {
+ -webkit-box-ordinal-group: 0;
+ -webkit-order: -1;
+ -ms-flex-order: -1;
+ order: -1; }
+ .flex-md-last {
+ -webkit-box-ordinal-group: 2;
+ -webkit-order: 1;
+ -ms-flex-order: 1;
+ order: 1; }
+ .flex-md-unordered {
+ -webkit-box-ordinal-group: 1;
+ -webkit-order: 0;
+ -ms-flex-order: 0;
+ order: 0; } }
+
+@media (min-width: 768px) {
+ .flex-items-md-top {
+ -webkit-box-align: start;
+ -webkit-align-items: flex-start;
+ -ms-flex-align: start;
+ -ms-grid-row-align: flex-start;
+ align-items: flex-start; }
+ .flex-items-md-middle {
+ -webkit-box-align: center;
+ -webkit-align-items: center;
+ -ms-flex-align: center;
+ -ms-grid-row-align: center;
+ align-items: center; }
+ .flex-items-md-bottom {
+ -webkit-box-align: end;
+ -webkit-align-items: flex-end;
+ -ms-flex-align: end;
+ -ms-grid-row-align: flex-end;
+ align-items: flex-end; } }
+
+@media (min-width: 768px) {
+ .flex-md-top {
+ -webkit-align-self: flex-start;
+ -ms-flex-item-align: start;
+ align-self: flex-start; }
+ .flex-md-middle {
+ -webkit-align-self: center;
+ -ms-flex-item-align: center;
+ align-self: center; }
+ .flex-md-bottom {
+ -webkit-align-self: flex-end;
+ -ms-flex-item-align: end;
+ align-self: flex-end; } }
+
+@media (min-width: 768px) {
+ .flex-items-md-left {
+ -webkit-box-pack: start;
+ -webkit-justify-content: flex-start;
+ -ms-flex-pack: start;
+ justify-content: flex-start; }
+ .flex-items-md-center {
+ -webkit-box-pack: center;
+ -webkit-justify-content: center;
+ -ms-flex-pack: center;
+ justify-content: center; }
+ .flex-items-md-right {
+ -webkit-box-pack: end;
+ -webkit-justify-content: flex-end;
+ -ms-flex-pack: end;
+ justify-content: flex-end; }
+ .flex-items-md-around {
+ -webkit-justify-content: space-around;
+ -ms-flex-pack: distribute;
+ justify-content: space-around; }
+ .flex-items-md-between {
+ -webkit-box-pack: justify;
+ -webkit-justify-content: space-between;
+ -ms-flex-pack: justify;
+ justify-content: space-between; } }
+
+@media (min-width: 992px) {
+ .flex-lg-first {
+ -webkit-box-ordinal-group: 0;
+ -webkit-order: -1;
+ -ms-flex-order: -1;
+ order: -1; }
+ .flex-lg-last {
+ -webkit-box-ordinal-group: 2;
+ -webkit-order: 1;
+ -ms-flex-order: 1;
+ order: 1; }
+ .flex-lg-unordered {
+ -webkit-box-ordinal-group: 1;
+ -webkit-order: 0;
+ -ms-flex-order: 0;
+ order: 0; } }
+
+@media (min-width: 992px) {
+ .flex-items-lg-top {
+ -webkit-box-align: start;
+ -webkit-align-items: flex-start;
+ -ms-flex-align: start;
+ -ms-grid-row-align: flex-start;
+ align-items: flex-start; }
+ .flex-items-lg-middle {
+ -webkit-box-align: center;
+ -webkit-align-items: center;
+ -ms-flex-align: center;
+ -ms-grid-row-align: center;
+ align-items: center; }
+ .flex-items-lg-bottom {
+ -webkit-box-align: end;
+ -webkit-align-items: flex-end;
+ -ms-flex-align: end;
+ -ms-grid-row-align: flex-end;
+ align-items: flex-end; } }
+
+@media (min-width: 992px) {
+ .flex-lg-top {
+ -webkit-align-self: flex-start;
+ -ms-flex-item-align: start;
+ align-self: flex-start; }
+ .flex-lg-middle {
+ -webkit-align-self: center;
+ -ms-flex-item-align: center;
+ align-self: center; }
+ .flex-lg-bottom {
+ -webkit-align-self: flex-end;
+ -ms-flex-item-align: end;
+ align-self: flex-end; } }
+
+@media (min-width: 992px) {
+ .flex-items-lg-left {
+ -webkit-box-pack: start;
+ -webkit-justify-content: flex-start;
+ -ms-flex-pack: start;
+ justify-content: flex-start; }
+ .flex-items-lg-center {
+ -webkit-box-pack: center;
+ -webkit-justify-content: center;
+ -ms-flex-pack: center;
+ justify-content: center; }
+ .flex-items-lg-right {
+ -webkit-box-pack: end;
+ -webkit-justify-content: flex-end;
+ -ms-flex-pack: end;
+ justify-content: flex-end; }
+ .flex-items-lg-around {
+ -webkit-justify-content: space-around;
+ -ms-flex-pack: distribute;
+ justify-content: space-around; }
+ .flex-items-lg-between {
+ -webkit-box-pack: justify;
+ -webkit-justify-content: space-between;
+ -ms-flex-pack: justify;
+ justify-content: space-between; } }
+
+@media (min-width: 1200px) {
+ .flex-xl-first {
+ -webkit-box-ordinal-group: 0;
+ -webkit-order: -1;
+ -ms-flex-order: -1;
+ order: -1; }
+ .flex-xl-last {
+ -webkit-box-ordinal-group: 2;
+ -webkit-order: 1;
+ -ms-flex-order: 1;
+ order: 1; }
+ .flex-xl-unordered {
+ -webkit-box-ordinal-group: 1;
+ -webkit-order: 0;
+ -ms-flex-order: 0;
+ order: 0; } }
+
+@media (min-width: 1200px) {
+ .flex-items-xl-top {
+ -webkit-box-align: start;
+ -webkit-align-items: flex-start;
+ -ms-flex-align: start;
+ -ms-grid-row-align: flex-start;
+ align-items: flex-start; }
+ .flex-items-xl-middle {
+ -webkit-box-align: center;
+ -webkit-align-items: center;
+ -ms-flex-align: center;
+ -ms-grid-row-align: center;
+ align-items: center; }
+ .flex-items-xl-bottom {
+ -webkit-box-align: end;
+ -webkit-align-items: flex-end;
+ -ms-flex-align: end;
+ -ms-grid-row-align: flex-end;
+ align-items: flex-end; } }
+
+@media (min-width: 1200px) {
+ .flex-xl-top {
+ -webkit-align-self: flex-start;
+ -ms-flex-item-align: start;
+ align-self: flex-start; }
+ .flex-xl-middle {
+ -webkit-align-self: center;
+ -ms-flex-item-align: center;
+ align-self: center; }
+ .flex-xl-bottom {
+ -webkit-align-self: flex-end;
+ -ms-flex-item-align: end;
+ align-self: flex-end; } }
+
+@media (min-width: 1200px) {
+ .flex-items-xl-left {
+ -webkit-box-pack: start;
+ -webkit-justify-content: flex-start;
+ -ms-flex-pack: start;
+ justify-content: flex-start; }
+ .flex-items-xl-center {
+ -webkit-box-pack: center;
+ -webkit-justify-content: center;
+ -ms-flex-pack: center;
+ justify-content: center; }
+ .flex-items-xl-right {
+ -webkit-box-pack: end;
+ -webkit-justify-content: flex-end;
+ -ms-flex-pack: end;
+ justify-content: flex-end; }
+ .flex-items-xl-around {
+ -webkit-justify-content: space-around;
+ -ms-flex-pack: distribute;
+ justify-content: space-around; }
+ .flex-items-xl-between {
+ -webkit-box-pack: justify;
+ -webkit-justify-content: space-between;
+ -ms-flex-pack: justify;
+ justify-content: space-between; } }
+
+.pull-xs-left {
+ float: left !important;
+ margin-right: auto; }
+
+.pull-xs-right {
+ float: right !important;
+ margin-left: auto; }
+
+.pull-xs-none {
+ float: none !important; }
+
+@media (min-width: 544px) {
+ .pull-sm-left {
+ float: left !important;
+ margin-right: auto; }
+ .pull-sm-right {
+ float: right !important;
+ margin-left: auto; }
+ .pull-sm-none {
+ float: none !important; } }
+
+@media (min-width: 768px) {
+ .pull-md-left {
+ float: left !important;
+ margin-right: auto; }
+ .pull-md-right {
+ float: right !important;
+ margin-left: auto; }
+ .pull-md-none {
+ float: none !important; } }
+
+@media (min-width: 992px) {
+ .pull-lg-left {
+ float: left !important;
+ margin-right: auto; }
+ .pull-lg-right {
+ float: right !important;
+ margin-left: auto; }
+ .pull-lg-none {
+ float: none !important; } }
+
+@media (min-width: 1200px) {
+ .pull-xl-left {
+ float: left !important;
+ margin-right: auto; }
+ .pull-xl-right {
+ float: right !important;
+ margin-left: auto; }
+ .pull-xl-none {
+ float: none !important; } }
+
+.sr-only {
+ position: absolute;
+ width: 1px;
+ height: 1px;
+ padding: 0;
+ margin: -1px;
+ overflow: hidden;
+ clip: rect(0, 0, 0, 0);
+ border: 0; }
+
+.sr-only-focusable:active, .sr-only-focusable:focus {
+ position: static;
+ width: auto;
+ height: auto;
+ margin: 0;
+ overflow: visible;
+ clip: auto; }
+
+.w-100 {
+ width: 100% !important; }
+
+.m-x-auto {
+ margin-right: auto !important;
+ margin-left: auto !important; }
+
+.m-a-0 {
+ margin: 0 0 !important; }
+
+.m-t-0 {
+ margin-top: 0 !important; }
+
+.m-r-0 {
+ margin-right: 0 !important; }
+
+.m-b-0 {
+ margin-bottom: 0 !important; }
+
+.m-l-0 {
+ margin-left: 0 !important; }
+
+.m-x-0 {
+ margin-right: 0 !important;
+ margin-left: 0 !important; }
+
+.m-y-0 {
+ margin-top: 0 !important;
+ margin-bottom: 0 !important; }
+
+.m-a-1 {
+ margin: 0.5rem 0.5rem !important; }
+
+.m-t-1 {
+ margin-top: 0.5rem !important; }
+
+.m-r-1 {
+ margin-right: 0.5rem !important; }
+
+.m-b-1 {
+ margin-bottom: 0.5rem !important; }
+
+.m-l-1 {
+ margin-left: 0.5rem !important; }
+
+.m-x-1 {
+ margin-right: 0.5rem !important;
+ margin-left: 0.5rem !important; }
+
+.m-y-1 {
+ margin-top: 0.5rem !important;
+ margin-bottom: 0.5rem !important; }
+
+.m-a-2 {
+ margin: 0.75rem 0.75rem !important; }
+
+.m-t-2 {
+ margin-top: 0.75rem !important; }
+
+.m-r-2 {
+ margin-right: 0.75rem !important; }
+
+.m-b-2 {
+ margin-bottom: 0.75rem !important; }
+
+.m-l-2 {
+ margin-left: 0.75rem !important; }
+
+.m-x-2 {
+ margin-right: 0.75rem !important;
+ margin-left: 0.75rem !important; }
+
+.m-y-2 {
+ margin-top: 0.75rem !important;
+ margin-bottom: 0.75rem !important; }
+
+.m-a-3 {
+ margin: 1.5rem 1.5rem !important; }
+
+.m-t-3 {
+ margin-top: 1.5rem !important; }
+
+.m-r-3 {
+ margin-right: 1.5rem !important; }
+
+.m-b-3 {
+ margin-bottom: 1.5rem !important; }
+
+.m-l-3 {
+ margin-left: 1.5rem !important; }
+
+.m-x-3 {
+ margin-right: 1.5rem !important;
+ margin-left: 1.5rem !important; }
+
+.m-y-3 {
+ margin-top: 1.5rem !important;
+ margin-bottom: 1.5rem !important; }
+
+.p-a-0 {
+ padding: 0 0 !important; }
+
+.p-t-0 {
+ padding-top: 0 !important; }
+
+.p-r-0 {
+ padding-right: 0 !important; }
+
+.p-b-0 {
+ padding-bottom: 0 !important; }
+
+.p-l-0 {
+ padding-left: 0 !important; }
+
+.p-x-0 {
+ padding-right: 0 !important;
+ padding-left: 0 !important; }
+
+.p-y-0 {
+ padding-top: 0 !important;
+ padding-bottom: 0 !important; }
+
+.p-a-1 {
+ padding: 0.5rem 0.5rem !important; }
+
+.p-t-1 {
+ padding-top: 0.5rem !important; }
+
+.p-r-1 {
+ padding-right: 0.5rem !important; }
+
+.p-b-1 {
+ padding-bottom: 0.5rem !important; }
+
+.p-l-1 {
+ padding-left: 0.5rem !important; }
+
+.p-x-1 {
+ padding-right: 0.5rem !important;
+ padding-left: 0.5rem !important; }
+
+.p-y-1 {
+ padding-top: 0.5rem !important;
+ padding-bottom: 0.5rem !important; }
+
+.p-a-2 {
+ padding: 0.75rem 0.75rem !important; }
+
+.p-t-2 {
+ padding-top: 0.75rem !important; }
+
+.p-r-2 {
+ padding-right: 0.75rem !important; }
+
+.p-b-2 {
+ padding-bottom: 0.75rem !important; }
+
+.p-l-2 {
+ padding-left: 0.75rem !important; }
+
+.p-x-2 {
+ padding-right: 0.75rem !important;
+ padding-left: 0.75rem !important; }
+
+.p-y-2 {
+ padding-top: 0.75rem !important;
+ padding-bottom: 0.75rem !important; }
+
+.p-a-3 {
+ padding: 1.5rem 1.5rem !important; }
+
+.p-t-3 {
+ padding-top: 1.5rem !important; }
+
+.p-r-3 {
+ padding-right: 1.5rem !important; }
+
+.p-b-3 {
+ padding-bottom: 1.5rem !important; }
+
+.p-l-3 {
+ padding-left: 1.5rem !important; }
+
+.p-x-3 {
+ padding-right: 1.5rem !important;
+ padding-left: 1.5rem !important; }
+
+.p-y-3 {
+ padding-top: 1.5rem !important;
+ padding-bottom: 1.5rem !important; }
+
+.pos-f-t {
+ position: fixed;
+ top: 0;
+ right: 0;
+ left: 0;
+ z-index: 1030; }
+
+.text-justify {
+ text-align: justify !important; }
+
+.text-nowrap {
+ white-space: nowrap !important; }
+
+.text-truncate {
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap; }
+
+.text-xs-left {
+ text-align: left !important; }
+
+.text-xs-right {
+ text-align: right !important; }
+
+.text-xs-center {
+ text-align: center !important; }
+
+@media (min-width: 544px) {
+ .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) {
+ .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) {
+ .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) {
+ .text-xl-left {
+ text-align: left !important; }
+ .text-xl-right {
+ text-align: right !important; }
+ .text-xl-center {
+ text-align: center !important; } }
+
+.text-lowercase {
+ text-transform: lowercase !important; }
+
+.text-uppercase {
+ text-transform: uppercase !important; }
+
+.text-capitalize {
+ text-transform: capitalize !important; }
+
+.font-weight-normal {
+ font-weight: normal; }
+
+.font-weight-bold {
+ font-weight: bold; }
+
+.font-italic {
+ font-style: italic; }
+
+.text-muted, .bmd-help {
+ color: rgba(0, 0, 0, 0.26) !important; }
+
+a.text-muted:focus, a.bmd-help:focus, a.text-muted:hover, a.bmd-help:hover {
+ color: rgba(0, 0, 0, 0.26); }
+
+.text-primary {
+ color: #009688 !important; }
+
+a.text-primary:focus, a.text-primary:hover {
+ color: #00635a; }
+
+.text-success {
+ color: #4caf50 !important; }
+
+a.text-success:focus, a.text-success:hover {
+ color: #3d8b40; }
+
+.text-info {
+ color: #03a9f4 !important; }
+
+a.text-info:focus, a.text-info:hover {
+ color: #0286c2; }
+
+.text-warning {
+ color: #ff5722 !important; }
+
+a.text-warning:focus, a.text-warning:hover {
+ color: #ee3900; }
+
+.text-danger {
+ color: #f44336 !important; }
+
+a.text-danger:focus, a.text-danger:hover {
+ color: #ea1c0d; }
+
+.text-hide {
+ font: 0/0 a;
+ color: transparent;
+ text-shadow: none;
+ background-color: transparent;
+ border: 0; }
+
+.invisible {
+ visibility: hidden !important; }
+
+.hidden-xs-up {
+ display: none !important; }
+
+@media (max-width: 543px) {
+ .hidden-xs-down {
+ display: none !important; } }
+
+@media (min-width: 544px) {
+ .hidden-sm-up {
+ display: none !important; } }
+
+@media (max-width: 767px) {
+ .hidden-sm-down {
+ display: none !important; } }
+
+@media (min-width: 768px) {
+ .hidden-md-up {
+ display: none !important; } }
+
+@media (max-width: 991px) {
+ .hidden-md-down {
+ display: none !important; } }
+
+@media (min-width: 992px) {
+ .hidden-lg-up {
+ display: none !important; } }
+
+@media (max-width: 1199px) {
+ .hidden-lg-down {
+ display: none !important; } }
+
+@media (min-width: 1200px) {
+ .hidden-xl-up {
+ display: none !important; } }
+
+.hidden-xl-down {
+ display: none !important; }
+
+.visible-print-block {
+ display: none !important; }
+ @media print {
+ .visible-print-block {
+ display: block !important; } }
+
+.visible-print-inline {
+ display: none !important; }
+ @media print {
+ .visible-print-inline {
+ display: inline !important; } }
+
+.visible-print-inline-block {
+ display: none !important; }
+ @media print {
+ .visible-print-inline-block {
+ display: inline-block !important; } }
+
+@media print {
+ .hidden-print {
+ display: none !important; } }
+
+body {
+ font-weight: 400; }
+
+a:focus {
+ outline: none; }
+
+button:focus {
+ outline: none; }
+
+.bmd-layout-canvas {
+ position: absolute;
+ width: 100%;
+ height: 100%; }
+
+.bmd-layout-container {
+ position: relative;
+ display: -webkit-box;
+ display: -webkit-flex;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-box-orient: vertical;
+ -webkit-box-direction: normal;
+ -webkit-flex-direction: column;
+ -ms-flex-direction: column;
+ flex-direction: column;
+ width: 100%;
+ height: 100%;
+ overflow-x: hidden;
+ overflow-y: auto;
+ -webkit-overflow-scrolling: touch; }
+
+.bmd-layout-header {
+ z-index: 3;
+ display: -webkit-box;
+ display: -webkit-flex;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-box-orient: vertical;
+ -webkit-box-direction: normal;
+ -webkit-flex-direction: column;
+ -ms-flex-direction: column;
+ flex-direction: column;
+ -webkit-flex-wrap: nowrap;
+ -ms-flex-wrap: nowrap;
+ flex-wrap: nowrap;
+ -webkit-flex-shrink: 0;
+ -ms-flex-negative: 0;
+ flex-shrink: 0;
+ -webkit-box-pack: start;
+ -webkit-justify-content: flex-start;
+ -ms-flex-pack: start;
+ justify-content: flex-start;
+ width: 100%;
+ max-height: 1000px;
+ -webkit-transform: translateZ(0);
+ transform: translateZ(0);
+ -webkit-transition-duration: 0.2s;
+ -o-transition-duration: 0.2s;
+ transition-duration: 0.2s;
+ -webkit-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
+ -o-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
+ transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); }
+
+.bmd-layout-content {
+ position: relative;
+ z-index: 1;
+ display: inline-block;
+ -webkit-box-flex: 1;
+ -webkit-flex-grow: 1;
+ -ms-flex-positive: 1;
+ flex-grow: 1;
+ overflow-x: hidden;
+ overflow-y: auto;
+ -webkit-overflow-scrolling: touch;
+ -webkit-transition-duration: 0.2s;
+ -o-transition-duration: 0.2s;
+ transition-duration: 0.2s;
+ -webkit-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
+ -o-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
+ transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); }
+
+.bmd-layout-spacer {
+ -webkit-box-flex: 1;
+ -webkit-flex-grow: 1;
+ -ms-flex-positive: 1;
+ flex-grow: 1; }
+
+.bmd-layout-backdrop {
+ position: absolute;
+ top: 0;
+ left: 0;
+ z-index: 4;
+ width: 100%;
+ height: 100%;
+ visibility: hidden;
+ background-color: transparent;
+ -webkit-transition-property: background-color;
+ -o-transition-property: background-color;
+ transition-property: background-color;
+ -webkit-transition-duration: 0.2s;
+ -o-transition-duration: 0.2s;
+ transition-duration: 0.2s;
+ -webkit-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
+ -o-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
+ transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); }
+ @supports (pointer-events: auto) {
+ .bmd-layout-backdrop {
+ background-color: rgba(0, 0, 0, 0.5);
+ opacity: 0;
+ -webkit-transition-property: opacity;
+ -o-transition-property: opacity;
+ transition-property: opacity;
+ visibility: visible;
+ pointer-events: none; } }
+
+.btn, .custom-file-control::before {
+ position: relative;
+ margin-bottom: 0.3125rem;
+ font-size: 0.875rem;
+ text-decoration: none;
+ text-transform: uppercase;
+ letter-spacing: 0;
+ cursor: pointer;
+ background-color: transparent;
+ border: 0;
+ outline: 0;
+ -webkit-transition: background-color 0.2s cubic-bezier(0.4, 0, 0.2, 1), color 0.2s cubic-bezier(0.4, 0, 0.2, 1), -webkit-box-shadow 0.2s cubic-bezier(0.4, 0, 1, 1);
+ transition: background-color 0.2s cubic-bezier(0.4, 0, 0.2, 1), color 0.2s cubic-bezier(0.4, 0, 0.2, 1), -webkit-box-shadow 0.2s cubic-bezier(0.4, 0, 1, 1);
+ -o-transition: box-shadow 0.2s cubic-bezier(0.4, 0, 1, 1), background-color 0.2s cubic-bezier(0.4, 0, 0.2, 1), color 0.2s cubic-bezier(0.4, 0, 0.2, 1);
+ transition: box-shadow 0.2s cubic-bezier(0.4, 0, 1, 1), background-color 0.2s cubic-bezier(0.4, 0, 0.2, 1), color 0.2s cubic-bezier(0.4, 0, 0.2, 1);
+ transition: box-shadow 0.2s cubic-bezier(0.4, 0, 1, 1), background-color 0.2s cubic-bezier(0.4, 0, 0.2, 1), color 0.2s cubic-bezier(0.4, 0, 0.2, 1), -webkit-box-shadow 0.2s cubic-bezier(0.4, 0, 1, 1);
+ will-change: box-shadow, transform;
+ color: rgba(0, 0, 0, 0.87);
+ background-color: inherit;
+ border-color: #ccc; }
+ .btn:focus, .custom-file-control:focus::before, .btn.focus, .focus.custom-file-control::before, .btn:active:focus, .custom-file-control:active:focus::before, .btn:active.focus, .custom-file-control:active.focus::before, .btn.active:focus, .active.custom-file-control:focus::before, .btn.active.focus, .active.focus.custom-file-control::before {
+ outline: 0; }
+ .btn:hover, .custom-file-control:hover::before {
+ color: rgba(0, 0, 0, 0.87);
+ background-color: rgba(153, 153, 153, 0.2);
+ border-color: rgba(153, 153, 153, 0.2); }
+ .btn:focus, .custom-file-control:focus::before, .btn.focus, .focus.custom-file-control::before {
+ color: rgba(0, 0, 0, 0.87);
+ background-color: rgba(153, 153, 153, 0.2);
+ border-color: rgba(153, 153, 153, 0.2); }
+ .btn:active, .custom-file-control:active::before, .btn.active, .active.custom-file-control::before,
+ .open > .btn.dropdown-toggle,
+ .open > .dropdown-toggle.custom-file-control::before {
+ color: rgba(0, 0, 0, 0.87);
+ background-color: rgba(153, 153, 153, 0.2);
+ border-color: rgba(153, 153, 153, 0.2); }
+ .btn:active:hover, .custom-file-control:active:hover::before, .btn:active:focus, .custom-file-control:active:focus::before, .btn:active.focus, .custom-file-control:active.focus::before, .btn.active:hover, .active.custom-file-control:hover::before, .btn.active:focus, .active.custom-file-control:focus::before, .btn.active.focus, .active.focus.custom-file-control::before,
+ .open > .btn.dropdown-toggle:hover,
+ .open > .dropdown-toggle.custom-file-control:hover::before,
+ .open > .btn.dropdown-toggle:focus,
+ .open > .dropdown-toggle.custom-file-control:focus::before,
+ .open > .btn.dropdown-toggle.focus,
+ .open > .dropdown-toggle.focus.custom-file-control::before {
+ color: rgba(0, 0, 0, 0.87);
+ background-color: rgba(153, 153, 153, 0.4);
+ border-color: rgba(153, 153, 153, 0.4); }
+ .open > .btn.dropdown-toggle.bmd-btn-icon, .open > .dropdown-toggle.bmd-btn-icon.custom-file-control::before {
+ color: inherit;
+ background-color: inherit; }
+ .open > .btn.dropdown-toggle.bmd-btn-icon:hover, .open > .dropdown-toggle.bmd-btn-icon.custom-file-control:hover::before {
+ background-color: rgba(153, 153, 153, 0.2); }
+ .btn.disabled:focus, .disabled.custom-file-control:focus::before, .btn.disabled.focus, .disabled.focus.custom-file-control::before, .btn:disabled:focus, .custom-file-control:disabled:focus::before, .btn:disabled.focus, .custom-file-control:disabled.focus::before {
+ background-color: inherit;
+ border-color: #ccc; }
+ .btn.disabled:hover, .disabled.custom-file-control:hover::before, .btn:disabled:hover, .custom-file-control:disabled:hover::before {
+ background-color: inherit;
+ border-color: #ccc; }
+ .bg-inverse .btn, .bg-inverse .custom-file-control::before {
+ color: rgba(0, 0, 0, 0.87);
+ background-color: inherit;
+ border-color: #ccc; }
+ .bg-inverse .btn:hover, .bg-inverse .custom-file-control:hover::before {
+ color: rgba(0, 0, 0, 0.87);
+ background-color: rgba(204, 204, 204, 0.15);
+ border-color: rgba(204, 204, 204, 0.15); }
+ .bg-inverse .btn:focus, .bg-inverse .custom-file-control:focus::before, .bg-inverse .btn.focus, .bg-inverse .focus.custom-file-control::before {
+ color: rgba(0, 0, 0, 0.87);
+ background-color: rgba(204, 204, 204, 0.15);
+ border-color: rgba(204, 204, 204, 0.15); }
+ .bg-inverse .btn:active, .bg-inverse .custom-file-control:active::before, .bg-inverse .btn.active, .bg-inverse .active.custom-file-control::before,
+ .open > .bg-inverse .btn.dropdown-toggle,
+ .open > .bg-inverse .dropdown-toggle.custom-file-control::before {
+ color: rgba(0, 0, 0, 0.87);
+ background-color: rgba(204, 204, 204, 0.15);
+ border-color: rgba(204, 204, 204, 0.15); }
+ .bg-inverse .btn:active:hover, .bg-inverse .custom-file-control:active:hover::before, .bg-inverse .btn:active:focus, .bg-inverse .custom-file-control:active:focus::before, .bg-inverse .btn:active.focus, .bg-inverse .custom-file-control:active.focus::before, .bg-inverse .btn.active:hover, .bg-inverse .active.custom-file-control:hover::before, .bg-inverse .btn.active:focus, .bg-inverse .active.custom-file-control:focus::before, .bg-inverse .btn.active.focus, .bg-inverse .active.focus.custom-file-control::before,
+ .open > .bg-inverse .btn.dropdown-toggle:hover,
+ .open > .bg-inverse .dropdown-toggle.custom-file-control:hover::before,
+ .open > .bg-inverse .btn.dropdown-toggle:focus,
+ .open > .bg-inverse .dropdown-toggle.custom-file-control:focus::before,
+ .open > .bg-inverse .btn.dropdown-toggle.focus,
+ .open > .bg-inverse .dropdown-toggle.focus.custom-file-control::before {
+ color: rgba(0, 0, 0, 0.87);
+ background-color: rgba(204, 204, 204, 0.25);
+ border-color: rgba(204, 204, 204, 0.25); }
+ .open > .bg-inverse .btn.dropdown-toggle.bmd-btn-icon, .open > .bg-inverse .dropdown-toggle.bmd-btn-icon.custom-file-control::before {
+ color: inherit;
+ background-color: inherit; }
+ .open > .bg-inverse .btn.dropdown-toggle.bmd-btn-icon:hover, .open > .bg-inverse .dropdown-toggle.bmd-btn-icon.custom-file-control:hover::before {
+ background-color: rgba(204, 204, 204, 0.15); }
+ .bg-inverse .btn.disabled:focus, .bg-inverse .disabled.custom-file-control:focus::before, .bg-inverse .btn.disabled.focus, .bg-inverse .disabled.focus.custom-file-control::before, .bg-inverse .btn:disabled:focus, .bg-inverse .custom-file-control:disabled:focus::before, .bg-inverse .btn:disabled.focus, .bg-inverse .custom-file-control:disabled.focus::before {
+ background-color: inherit;
+ border-color: #ccc; }
+ .bg-inverse .btn.disabled:hover, .bg-inverse .disabled.custom-file-control:hover::before, .bg-inverse .btn:disabled:hover, .bg-inverse .custom-file-control:disabled:hover::before {
+ background-color: inherit;
+ border-color: #ccc; }
+ .btn.btn-link, .btn-link.custom-file-control::before {
+ background-color: transparent; }
+ .btn.btn-primary, .btn-primary.custom-file-control::before {
+ color: #009688;
+ background-color: inherit;
+ border-color: #ccc; }
+ .btn.btn-primary:hover, .btn-primary.custom-file-control:hover::before {
+ color: #009688;
+ background-color: rgba(153, 153, 153, 0.2);
+ border-color: rgba(153, 153, 153, 0.2); }
+ .btn.btn-primary:focus, .btn-primary.custom-file-control:focus::before, .btn.btn-primary.focus, .btn-primary.focus.custom-file-control::before {
+ color: #009688;
+ background-color: rgba(153, 153, 153, 0.2);
+ border-color: rgba(153, 153, 153, 0.2); }
+ .btn.btn-primary:active, .btn-primary.custom-file-control:active::before, .btn.btn-primary.active, .btn-primary.active.custom-file-control::before,
+ .open > .btn.btn-primary.dropdown-toggle,
+ .open > .btn-primary.dropdown-toggle.custom-file-control::before {
+ color: #009688;
+ background-color: rgba(153, 153, 153, 0.2);
+ border-color: rgba(153, 153, 153, 0.2); }
+ .btn.btn-primary:active:hover, .btn-primary.custom-file-control:active:hover::before, .btn.btn-primary:active:focus, .btn-primary.custom-file-control:active:focus::before, .btn.btn-primary:active.focus, .btn-primary.custom-file-control:active.focus::before, .btn.btn-primary.active:hover, .btn-primary.active.custom-file-control:hover::before, .btn.btn-primary.active:focus, .btn-primary.active.custom-file-control:focus::before, .btn.btn-primary.active.focus, .btn-primary.active.focus.custom-file-control::before,
+ .open > .btn.btn-primary.dropdown-toggle:hover,
+ .open > .btn-primary.dropdown-toggle.custom-file-control:hover::before,
+ .open > .btn.btn-primary.dropdown-toggle:focus,
+ .open > .btn-primary.dropdown-toggle.custom-file-control:focus::before,
+ .open > .btn.btn-primary.dropdown-toggle.focus,
+ .open > .btn-primary.dropdown-toggle.focus.custom-file-control::before {
+ color: #009688;
+ background-color: rgba(153, 153, 153, 0.4);
+ border-color: rgba(153, 153, 153, 0.4); }
+ .open > .btn.btn-primary.dropdown-toggle.bmd-btn-icon, .open > .btn-primary.dropdown-toggle.bmd-btn-icon.custom-file-control::before {
+ color: inherit;
+ background-color: inherit; }
+ .open > .btn.btn-primary.dropdown-toggle.bmd-btn-icon:hover, .open > .btn-primary.dropdown-toggle.bmd-btn-icon.custom-file-control:hover::before {
+ background-color: rgba(153, 153, 153, 0.2); }
+ .btn.btn-primary.disabled:focus, .btn-primary.disabled.custom-file-control:focus::before, .btn.btn-primary.disabled.focus, .btn-primary.disabled.focus.custom-file-control::before, .btn.btn-primary:disabled:focus, .btn-primary.custom-file-control:disabled:focus::before, .btn.btn-primary:disabled.focus, .btn-primary.custom-file-control:disabled.focus::before {
+ background-color: inherit;
+ border-color: #ccc; }
+ .btn.btn-primary.disabled:hover, .btn-primary.disabled.custom-file-control:hover::before, .btn.btn-primary:disabled:hover, .btn-primary.custom-file-control:disabled:hover::before {
+ background-color: inherit;
+ border-color: #ccc; }
+ .bg-inverse .btn.btn-primary, .bg-inverse .btn-primary.custom-file-control::before {
+ color: #009688;
+ background-color: inherit;
+ border-color: #ccc; }
+ .bg-inverse .btn.btn-primary:hover, .bg-inverse .btn-primary.custom-file-control:hover::before {
+ color: #009688;
+ background-color: rgba(204, 204, 204, 0.15);
+ border-color: rgba(204, 204, 204, 0.15); }
+ .bg-inverse .btn.btn-primary:focus, .bg-inverse .btn-primary.custom-file-control:focus::before, .bg-inverse .btn.btn-primary.focus, .bg-inverse .btn-primary.focus.custom-file-control::before {
+ color: #009688;
+ background-color: rgba(204, 204, 204, 0.15);
+ border-color: rgba(204, 204, 204, 0.15); }
+ .bg-inverse .btn.btn-primary:active, .bg-inverse .btn-primary.custom-file-control:active::before, .bg-inverse .btn.btn-primary.active, .bg-inverse .btn-primary.active.custom-file-control::before,
+ .open > .bg-inverse .btn.btn-primary.dropdown-toggle,
+ .open > .bg-inverse .btn-primary.dropdown-toggle.custom-file-control::before {
+ color: #009688;
+ background-color: rgba(204, 204, 204, 0.15);
+ border-color: rgba(204, 204, 204, 0.15); }
+ .bg-inverse .btn.btn-primary:active:hover, .bg-inverse .btn-primary.custom-file-control:active:hover::before, .bg-inverse .btn.btn-primary:active:focus, .bg-inverse .btn-primary.custom-file-control:active:focus::before, .bg-inverse .btn.btn-primary:active.focus, .bg-inverse .btn-primary.custom-file-control:active.focus::before, .bg-inverse .btn.btn-primary.active:hover, .bg-inverse .btn-primary.active.custom-file-control:hover::before, .bg-inverse .btn.btn-primary.active:focus, .bg-inverse .btn-primary.active.custom-file-control:focus::before, .bg-inverse .btn.btn-primary.active.focus, .bg-inverse .btn-primary.active.focus.custom-file-control::before,
+ .open > .bg-inverse .btn.btn-primary.dropdown-toggle:hover,
+ .open > .bg-inverse .btn-primary.dropdown-toggle.custom-file-control:hover::before,
+ .open > .bg-inverse .btn.btn-primary.dropdown-toggle:focus,
+ .open > .bg-inverse .btn-primary.dropdown-toggle.custom-file-control:focus::before,
+ .open > .bg-inverse .btn.btn-primary.dropdown-toggle.focus,
+ .open > .bg-inverse .btn-primary.dropdown-toggle.focus.custom-file-control::before {
+ color: #009688;
+ background-color: rgba(204, 204, 204, 0.25);
+ border-color: rgba(204, 204, 204, 0.25); }
+ .open > .bg-inverse .btn.btn-primary.dropdown-toggle.bmd-btn-icon, .open > .bg-inverse .btn-primary.dropdown-toggle.bmd-btn-icon.custom-file-control::before {
+ color: inherit;
+ background-color: inherit; }
+ .open > .bg-inverse .btn.btn-primary.dropdown-toggle.bmd-btn-icon:hover, .open > .bg-inverse .btn-primary.dropdown-toggle.bmd-btn-icon.custom-file-control:hover::before {
+ background-color: rgba(204, 204, 204, 0.15); }
+ .bg-inverse .btn.btn-primary.disabled:focus, .bg-inverse .btn-primary.disabled.custom-file-control:focus::before, .bg-inverse .btn.btn-primary.disabled.focus, .bg-inverse .btn-primary.disabled.focus.custom-file-control::before, .bg-inverse .btn.btn-primary:disabled:focus, .bg-inverse .btn-primary.custom-file-control:disabled:focus::before, .bg-inverse .btn.btn-primary:disabled.focus, .bg-inverse .btn-primary.custom-file-control:disabled.focus::before {
+ background-color: inherit;
+ border-color: #ccc; }
+ .bg-inverse .btn.btn-primary.disabled:hover, .bg-inverse .btn-primary.disabled.custom-file-control:hover::before, .bg-inverse .btn.btn-primary:disabled:hover, .bg-inverse .btn-primary.custom-file-control:disabled:hover::before {
+ background-color: inherit;
+ border-color: #ccc; }
+ .btn.btn-primary.btn-link, .btn-primary.btn-link.custom-file-control::before {
+ background-color: transparent; }
+ .btn.btn-secondary, .btn-secondary.custom-file-control::before {
+ color: rgba(0, 0, 0, 0.87);
+ background-color: inherit;
+ border-color: #ccc; }
+ .btn.btn-secondary:hover, .btn-secondary.custom-file-control:hover::before {
+ color: rgba(0, 0, 0, 0.87);
+ background-color: rgba(153, 153, 153, 0.2);
+ border-color: rgba(153, 153, 153, 0.2); }
+ .btn.btn-secondary:focus, .btn-secondary.custom-file-control:focus::before, .btn.btn-secondary.focus, .btn-secondary.focus.custom-file-control::before {
+ color: rgba(0, 0, 0, 0.87);
+ background-color: rgba(153, 153, 153, 0.2);
+ border-color: rgba(153, 153, 153, 0.2); }
+ .btn.btn-secondary:active, .btn-secondary.custom-file-control:active::before, .btn.btn-secondary.active, .btn-secondary.active.custom-file-control::before,
+ .open > .btn.btn-secondary.dropdown-toggle,
+ .open > .btn-secondary.dropdown-toggle.custom-file-control::before {
+ color: rgba(0, 0, 0, 0.87);
+ background-color: rgba(153, 153, 153, 0.2);
+ border-color: rgba(153, 153, 153, 0.2); }
+ .btn.btn-secondary:active:hover, .btn-secondary.custom-file-control:active:hover::before, .btn.btn-secondary:active:focus, .btn-secondary.custom-file-control:active:focus::before, .btn.btn-secondary:active.focus, .btn-secondary.custom-file-control:active.focus::before, .btn.btn-secondary.active:hover, .btn-secondary.active.custom-file-control:hover::before, .btn.btn-secondary.active:focus, .btn-secondary.active.custom-file-control:focus::before, .btn.btn-secondary.active.focus, .btn-secondary.active.focus.custom-file-control::before,
+ .open > .btn.btn-secondary.dropdown-toggle:hover,
+ .open > .btn-secondary.dropdown-toggle.custom-file-control:hover::before,
+ .open > .btn.btn-secondary.dropdown-toggle:focus,
+ .open > .btn-secondary.dropdown-toggle.custom-file-control:focus::before,
+ .open > .btn.btn-secondary.dropdown-toggle.focus,
+ .open > .btn-secondary.dropdown-toggle.focus.custom-file-control::before {
+ color: rgba(0, 0, 0, 0.87);
+ background-color: rgba(153, 153, 153, 0.4);
+ border-color: rgba(153, 153, 153, 0.4); }
+ .open > .btn.btn-secondary.dropdown-toggle.bmd-btn-icon, .open > .btn-secondary.dropdown-toggle.bmd-btn-icon.custom-file-control::before {
+ color: inherit;
+ background-color: inherit; }
+ .open > .btn.btn-secondary.dropdown-toggle.bmd-btn-icon:hover, .open > .btn-secondary.dropdown-toggle.bmd-btn-icon.custom-file-control:hover::before {
+ background-color: rgba(153, 153, 153, 0.2); }
+ .btn.btn-secondary.disabled:focus, .btn-secondary.disabled.custom-file-control:focus::before, .btn.btn-secondary.disabled.focus, .btn-secondary.disabled.focus.custom-file-control::before, .btn.btn-secondary:disabled:focus, .btn-secondary.custom-file-control:disabled:focus::before, .btn.btn-secondary:disabled.focus, .btn-secondary.custom-file-control:disabled.focus::before {
+ background-color: inherit;
+ border-color: #ccc; }
+ .btn.btn-secondary.disabled:hover, .btn-secondary.disabled.custom-file-control:hover::before, .btn.btn-secondary:disabled:hover, .btn-secondary.custom-file-control:disabled:hover::before {
+ background-color: inherit;
+ border-color: #ccc; }
+ .bg-inverse .btn.btn-secondary, .bg-inverse .btn-secondary.custom-file-control::before {
+ color: rgba(0, 0, 0, 0.87);
+ background-color: inherit;
+ border-color: #ccc; }
+ .bg-inverse .btn.btn-secondary:hover, .bg-inverse .btn-secondary.custom-file-control:hover::before {
+ color: rgba(0, 0, 0, 0.87);
+ background-color: rgba(204, 204, 204, 0.15);
+ border-color: rgba(204, 204, 204, 0.15); }
+ .bg-inverse .btn.btn-secondary:focus, .bg-inverse .btn-secondary.custom-file-control:focus::before, .bg-inverse .btn.btn-secondary.focus, .bg-inverse .btn-secondary.focus.custom-file-control::before {
+ color: rgba(0, 0, 0, 0.87);
+ background-color: rgba(204, 204, 204, 0.15);
+ border-color: rgba(204, 204, 204, 0.15); }
+ .bg-inverse .btn.btn-secondary:active, .bg-inverse .btn-secondary.custom-file-control:active::before, .bg-inverse .btn.btn-secondary.active, .bg-inverse .btn-secondary.active.custom-file-control::before,
+ .open > .bg-inverse .btn.btn-secondary.dropdown-toggle,
+ .open > .bg-inverse .btn-secondary.dropdown-toggle.custom-file-control::before {
+ color: rgba(0, 0, 0, 0.87);
+ background-color: rgba(204, 204, 204, 0.15);
+ border-color: rgba(204, 204, 204, 0.15); }
+ .bg-inverse .btn.btn-secondary:active:hover, .bg-inverse .btn-secondary.custom-file-control:active:hover::before, .bg-inverse .btn.btn-secondary:active:focus, .bg-inverse .btn-secondary.custom-file-control:active:focus::before, .bg-inverse .btn.btn-secondary:active.focus, .bg-inverse .btn-secondary.custom-file-control:active.focus::before, .bg-inverse .btn.btn-secondary.active:hover, .bg-inverse .btn-secondary.active.custom-file-control:hover::before, .bg-inverse .btn.btn-secondary.active:focus, .bg-inverse .btn-secondary.active.custom-file-control:focus::before, .bg-inverse .btn.btn-secondary.active.focus, .bg-inverse .btn-secondary.active.focus.custom-file-control::before,
+ .open > .bg-inverse .btn.btn-secondary.dropdown-toggle:hover,
+ .open > .bg-inverse .btn-secondary.dropdown-toggle.custom-file-control:hover::before,
+ .open > .bg-inverse .btn.btn-secondary.dropdown-toggle:focus,
+ .open > .bg-inverse .btn-secondary.dropdown-toggle.custom-file-control:focus::before,
+ .open > .bg-inverse .btn.btn-secondary.dropdown-toggle.focus,
+ .open > .bg-inverse .btn-secondary.dropdown-toggle.focus.custom-file-control::before {
+ color: rgba(0, 0, 0, 0.87);
+ background-color: rgba(204, 204, 204, 0.25);
+ border-color: rgba(204, 204, 204, 0.25); }
+ .open > .bg-inverse .btn.btn-secondary.dropdown-toggle.bmd-btn-icon, .open > .bg-inverse .btn-secondary.dropdown-toggle.bmd-btn-icon.custom-file-control::before {
+ color: inherit;
+ background-color: inherit; }
+ .open > .bg-inverse .btn.btn-secondary.dropdown-toggle.bmd-btn-icon:hover, .open > .bg-inverse .btn-secondary.dropdown-toggle.bmd-btn-icon.custom-file-control:hover::before {
+ background-color: rgba(204, 204, 204, 0.15); }
+ .bg-inverse .btn.btn-secondary.disabled:focus, .bg-inverse .btn-secondary.disabled.custom-file-control:focus::before, .bg-inverse .btn.btn-secondary.disabled.focus, .bg-inverse .btn-secondary.disabled.focus.custom-file-control::before, .bg-inverse .btn.btn-secondary:disabled:focus, .bg-inverse .btn-secondary.custom-file-control:disabled:focus::before, .bg-inverse .btn.btn-secondary:disabled.focus, .bg-inverse .btn-secondary.custom-file-control:disabled.focus::before {
+ background-color: inherit;
+ border-color: #ccc; }
+ .bg-inverse .btn.btn-secondary.disabled:hover, .bg-inverse .btn-secondary.disabled.custom-file-control:hover::before, .bg-inverse .btn.btn-secondary:disabled:hover, .bg-inverse .btn-secondary.custom-file-control:disabled:hover::before {
+ background-color: inherit;
+ border-color: #ccc; }
+ .btn.btn-secondary.btn-link, .btn-secondary.btn-link.custom-file-control::before {
+ background-color: transparent; }
+ .btn.btn-info, .btn-info.custom-file-control::before {
+ color: #03a9f4;
+ background-color: inherit;
+ border-color: #ccc; }
+ .btn.btn-info:hover, .btn-info.custom-file-control:hover::before {
+ color: #03a9f4;
+ background-color: rgba(153, 153, 153, 0.2);
+ border-color: rgba(153, 153, 153, 0.2); }
+ .btn.btn-info:focus, .btn-info.custom-file-control:focus::before, .btn.btn-info.focus, .btn-info.focus.custom-file-control::before {
+ color: #03a9f4;
+ background-color: rgba(153, 153, 153, 0.2);
+ border-color: rgba(153, 153, 153, 0.2); }
+ .btn.btn-info:active, .btn-info.custom-file-control:active::before, .btn.btn-info.active, .btn-info.active.custom-file-control::before,
+ .open > .btn.btn-info.dropdown-toggle,
+ .open > .btn-info.dropdown-toggle.custom-file-control::before {
+ color: #03a9f4;
+ background-color: rgba(153, 153, 153, 0.2);
+ border-color: rgba(153, 153, 153, 0.2); }
+ .btn.btn-info:active:hover, .btn-info.custom-file-control:active:hover::before, .btn.btn-info:active:focus, .btn-info.custom-file-control:active:focus::before, .btn.btn-info:active.focus, .btn-info.custom-file-control:active.focus::before, .btn.btn-info.active:hover, .btn-info.active.custom-file-control:hover::before, .btn.btn-info.active:focus, .btn-info.active.custom-file-control:focus::before, .btn.btn-info.active.focus, .btn-info.active.focus.custom-file-control::before,
+ .open > .btn.btn-info.dropdown-toggle:hover,
+ .open > .btn-info.dropdown-toggle.custom-file-control:hover::before,
+ .open > .btn.btn-info.dropdown-toggle:focus,
+ .open > .btn-info.dropdown-toggle.custom-file-control:focus::before,
+ .open > .btn.btn-info.dropdown-toggle.focus,
+ .open > .btn-info.dropdown-toggle.focus.custom-file-control::before {
+ color: #03a9f4;
+ background-color: rgba(153, 153, 153, 0.4);
+ border-color: rgba(153, 153, 153, 0.4); }
+ .open > .btn.btn-info.dropdown-toggle.bmd-btn-icon, .open > .btn-info.dropdown-toggle.bmd-btn-icon.custom-file-control::before {
+ color: inherit;
+ background-color: inherit; }
+ .open > .btn.btn-info.dropdown-toggle.bmd-btn-icon:hover, .open > .btn-info.dropdown-toggle.bmd-btn-icon.custom-file-control:hover::before {
+ background-color: rgba(153, 153, 153, 0.2); }
+ .btn.btn-info.disabled:focus, .btn-info.disabled.custom-file-control:focus::before, .btn.btn-info.disabled.focus, .btn-info.disabled.focus.custom-file-control::before, .btn.btn-info:disabled:focus, .btn-info.custom-file-control:disabled:focus::before, .btn.btn-info:disabled.focus, .btn-info.custom-file-control:disabled.focus::before {
+ background-color: inherit;
+ border-color: #ccc; }
+ .btn.btn-info.disabled:hover, .btn-info.disabled.custom-file-control:hover::before, .btn.btn-info:disabled:hover, .btn-info.custom-file-control:disabled:hover::before {
+ background-color: inherit;
+ border-color: #ccc; }
+ .bg-inverse .btn.btn-info, .bg-inverse .btn-info.custom-file-control::before {
+ color: #03a9f4;
+ background-color: inherit;
+ border-color: #ccc; }
+ .bg-inverse .btn.btn-info:hover, .bg-inverse .btn-info.custom-file-control:hover::before {
+ color: #03a9f4;
+ background-color: rgba(204, 204, 204, 0.15);
+ border-color: rgba(204, 204, 204, 0.15); }
+ .bg-inverse .btn.btn-info:focus, .bg-inverse .btn-info.custom-file-control:focus::before, .bg-inverse .btn.btn-info.focus, .bg-inverse .btn-info.focus.custom-file-control::before {
+ color: #03a9f4;
+ background-color: rgba(204, 204, 204, 0.15);
+ border-color: rgba(204, 204, 204, 0.15); }
+ .bg-inverse .btn.btn-info:active, .bg-inverse .btn-info.custom-file-control:active::before, .bg-inverse .btn.btn-info.active, .bg-inverse .btn-info.active.custom-file-control::before,
+ .open > .bg-inverse .btn.btn-info.dropdown-toggle,
+ .open > .bg-inverse .btn-info.dropdown-toggle.custom-file-control::before {
+ color: #03a9f4;
+ background-color: rgba(204, 204, 204, 0.15);
+ border-color: rgba(204, 204, 204, 0.15); }
+ .bg-inverse .btn.btn-info:active:hover, .bg-inverse .btn-info.custom-file-control:active:hover::before, .bg-inverse .btn.btn-info:active:focus, .bg-inverse .btn-info.custom-file-control:active:focus::before, .bg-inverse .btn.btn-info:active.focus, .bg-inverse .btn-info.custom-file-control:active.focus::before, .bg-inverse .btn.btn-info.active:hover, .bg-inverse .btn-info.active.custom-file-control:hover::before, .bg-inverse .btn.btn-info.active:focus, .bg-inverse .btn-info.active.custom-file-control:focus::before, .bg-inverse .btn.btn-info.active.focus, .bg-inverse .btn-info.active.focus.custom-file-control::before,
+ .open > .bg-inverse .btn.btn-info.dropdown-toggle:hover,
+ .open > .bg-inverse .btn-info.dropdown-toggle.custom-file-control:hover::before,
+ .open > .bg-inverse .btn.btn-info.dropdown-toggle:focus,
+ .open > .bg-inverse .btn-info.dropdown-toggle.custom-file-control:focus::before,
+ .open > .bg-inverse .btn.btn-info.dropdown-toggle.focus,
+ .open > .bg-inverse .btn-info.dropdown-toggle.focus.custom-file-control::before {
+ color: #03a9f4;
+ background-color: rgba(204, 204, 204, 0.25);
+ border-color: rgba(204, 204, 204, 0.25); }
+ .open > .bg-inverse .btn.btn-info.dropdown-toggle.bmd-btn-icon, .open > .bg-inverse .btn-info.dropdown-toggle.bmd-btn-icon.custom-file-control::before {
+ color: inherit;
+ background-color: inherit; }
+ .open > .bg-inverse .btn.btn-info.dropdown-toggle.bmd-btn-icon:hover, .open > .bg-inverse .btn-info.dropdown-toggle.bmd-btn-icon.custom-file-control:hover::before {
+ background-color: rgba(204, 204, 204, 0.15); }
+ .bg-inverse .btn.btn-info.disabled:focus, .bg-inverse .btn-info.disabled.custom-file-control:focus::before, .bg-inverse .btn.btn-info.disabled.focus, .bg-inverse .btn-info.disabled.focus.custom-file-control::before, .bg-inverse .btn.btn-info:disabled:focus, .bg-inverse .btn-info.custom-file-control:disabled:focus::before, .bg-inverse .btn.btn-info:disabled.focus, .bg-inverse .btn-info.custom-file-control:disabled.focus::before {
+ background-color: inherit;
+ border-color: #ccc; }
+ .bg-inverse .btn.btn-info.disabled:hover, .bg-inverse .btn-info.disabled.custom-file-control:hover::before, .bg-inverse .btn.btn-info:disabled:hover, .bg-inverse .btn-info.custom-file-control:disabled:hover::before {
+ background-color: inherit;
+ border-color: #ccc; }
+ .btn.btn-info.btn-link, .btn-info.btn-link.custom-file-control::before {
+ background-color: transparent; }
+ .btn.btn-success, .btn-success.custom-file-control::before {
+ color: #4caf50;
+ background-color: inherit;
+ border-color: #ccc; }
+ .btn.btn-success:hover, .btn-success.custom-file-control:hover::before {
+ color: #4caf50;
+ background-color: rgba(153, 153, 153, 0.2);
+ border-color: rgba(153, 153, 153, 0.2); }
+ .btn.btn-success:focus, .btn-success.custom-file-control:focus::before, .btn.btn-success.focus, .btn-success.focus.custom-file-control::before {
+ color: #4caf50;
+ background-color: rgba(153, 153, 153, 0.2);
+ border-color: rgba(153, 153, 153, 0.2); }
+ .btn.btn-success:active, .btn-success.custom-file-control:active::before, .btn.btn-success.active, .btn-success.active.custom-file-control::before,
+ .open > .btn.btn-success.dropdown-toggle,
+ .open > .btn-success.dropdown-toggle.custom-file-control::before {
+ color: #4caf50;
+ background-color: rgba(153, 153, 153, 0.2);
+ border-color: rgba(153, 153, 153, 0.2); }
+ .btn.btn-success:active:hover, .btn-success.custom-file-control:active:hover::before, .btn.btn-success:active:focus, .btn-success.custom-file-control:active:focus::before, .btn.btn-success:active.focus, .btn-success.custom-file-control:active.focus::before, .btn.btn-success.active:hover, .btn-success.active.custom-file-control:hover::before, .btn.btn-success.active:focus, .btn-success.active.custom-file-control:focus::before, .btn.btn-success.active.focus, .btn-success.active.focus.custom-file-control::before,
+ .open > .btn.btn-success.dropdown-toggle:hover,
+ .open > .btn-success.dropdown-toggle.custom-file-control:hover::before,
+ .open > .btn.btn-success.dropdown-toggle:focus,
+ .open > .btn-success.dropdown-toggle.custom-file-control:focus::before,
+ .open > .btn.btn-success.dropdown-toggle.focus,
+ .open > .btn-success.dropdown-toggle.focus.custom-file-control::before {
+ color: #4caf50;
+ background-color: rgba(153, 153, 153, 0.4);
+ border-color: rgba(153, 153, 153, 0.4); }
+ .open > .btn.btn-success.dropdown-toggle.bmd-btn-icon, .open > .btn-success.dropdown-toggle.bmd-btn-icon.custom-file-control::before {
+ color: inherit;
+ background-color: inherit; }
+ .open > .btn.btn-success.dropdown-toggle.bmd-btn-icon:hover, .open > .btn-success.dropdown-toggle.bmd-btn-icon.custom-file-control:hover::before {
+ background-color: rgba(153, 153, 153, 0.2); }
+ .btn.btn-success.disabled:focus, .btn-success.disabled.custom-file-control:focus::before, .btn.btn-success.disabled.focus, .btn-success.disabled.focus.custom-file-control::before, .btn.btn-success:disabled:focus, .btn-success.custom-file-control:disabled:focus::before, .btn.btn-success:disabled.focus, .btn-success.custom-file-control:disabled.focus::before {
+ background-color: inherit;
+ border-color: #ccc; }
+ .btn.btn-success.disabled:hover, .btn-success.disabled.custom-file-control:hover::before, .btn.btn-success:disabled:hover, .btn-success.custom-file-control:disabled:hover::before {
+ background-color: inherit;
+ border-color: #ccc; }
+ .bg-inverse .btn.btn-success, .bg-inverse .btn-success.custom-file-control::before {
+ color: #4caf50;
+ background-color: inherit;
+ border-color: #ccc; }
+ .bg-inverse .btn.btn-success:hover, .bg-inverse .btn-success.custom-file-control:hover::before {
+ color: #4caf50;
+ background-color: rgba(204, 204, 204, 0.15);
+ border-color: rgba(204, 204, 204, 0.15); }
+ .bg-inverse .btn.btn-success:focus, .bg-inverse .btn-success.custom-file-control:focus::before, .bg-inverse .btn.btn-success.focus, .bg-inverse .btn-success.focus.custom-file-control::before {
+ color: #4caf50;
+ background-color: rgba(204, 204, 204, 0.15);
+ border-color: rgba(204, 204, 204, 0.15); }
+ .bg-inverse .btn.btn-success:active, .bg-inverse .btn-success.custom-file-control:active::before, .bg-inverse .btn.btn-success.active, .bg-inverse .btn-success.active.custom-file-control::before,
+ .open > .bg-inverse .btn.btn-success.dropdown-toggle,
+ .open > .bg-inverse .btn-success.dropdown-toggle.custom-file-control::before {
+ color: #4caf50;
+ background-color: rgba(204, 204, 204, 0.15);
+ border-color: rgba(204, 204, 204, 0.15); }
+ .bg-inverse .btn.btn-success:active:hover, .bg-inverse .btn-success.custom-file-control:active:hover::before, .bg-inverse .btn.btn-success:active:focus, .bg-inverse .btn-success.custom-file-control:active:focus::before, .bg-inverse .btn.btn-success:active.focus, .bg-inverse .btn-success.custom-file-control:active.focus::before, .bg-inverse .btn.btn-success.active:hover, .bg-inverse .btn-success.active.custom-file-control:hover::before, .bg-inverse .btn.btn-success.active:focus, .bg-inverse .btn-success.active.custom-file-control:focus::before, .bg-inverse .btn.btn-success.active.focus, .bg-inverse .btn-success.active.focus.custom-file-control::before,
+ .open > .bg-inverse .btn.btn-success.dropdown-toggle:hover,
+ .open > .bg-inverse .btn-success.dropdown-toggle.custom-file-control:hover::before,
+ .open > .bg-inverse .btn.btn-success.dropdown-toggle:focus,
+ .open > .bg-inverse .btn-success.dropdown-toggle.custom-file-control:focus::before,
+ .open > .bg-inverse .btn.btn-success.dropdown-toggle.focus,
+ .open > .bg-inverse .btn-success.dropdown-toggle.focus.custom-file-control::before {
+ color: #4caf50;
+ background-color: rgba(204, 204, 204, 0.25);
+ border-color: rgba(204, 204, 204, 0.25); }
+ .open > .bg-inverse .btn.btn-success.dropdown-toggle.bmd-btn-icon, .open > .bg-inverse .btn-success.dropdown-toggle.bmd-btn-icon.custom-file-control::before {
+ color: inherit;
+ background-color: inherit; }
+ .open > .bg-inverse .btn.btn-success.dropdown-toggle.bmd-btn-icon:hover, .open > .bg-inverse .btn-success.dropdown-toggle.bmd-btn-icon.custom-file-control:hover::before {
+ background-color: rgba(204, 204, 204, 0.15); }
+ .bg-inverse .btn.btn-success.disabled:focus, .bg-inverse .btn-success.disabled.custom-file-control:focus::before, .bg-inverse .btn.btn-success.disabled.focus, .bg-inverse .btn-success.disabled.focus.custom-file-control::before, .bg-inverse .btn.btn-success:disabled:focus, .bg-inverse .btn-success.custom-file-control:disabled:focus::before, .bg-inverse .btn.btn-success:disabled.focus, .bg-inverse .btn-success.custom-file-control:disabled.focus::before {
+ background-color: inherit;
+ border-color: #ccc; }
+ .bg-inverse .btn.btn-success.disabled:hover, .bg-inverse .btn-success.disabled.custom-file-control:hover::before, .bg-inverse .btn.btn-success:disabled:hover, .bg-inverse .btn-success.custom-file-control:disabled:hover::before {
+ background-color: inherit;
+ border-color: #ccc; }
+ .btn.btn-success.btn-link, .btn-success.btn-link.custom-file-control::before {
+ background-color: transparent; }
+ .btn.btn-warning, .btn-warning.custom-file-control::before {
+ color: #ff5722;
+ background-color: inherit;
+ border-color: #ccc; }
+ .btn.btn-warning:hover, .btn-warning.custom-file-control:hover::before {
+ color: #ff5722;
+ background-color: rgba(153, 153, 153, 0.2);
+ border-color: rgba(153, 153, 153, 0.2); }
+ .btn.btn-warning:focus, .btn-warning.custom-file-control:focus::before, .btn.btn-warning.focus, .btn-warning.focus.custom-file-control::before {
+ color: #ff5722;
+ background-color: rgba(153, 153, 153, 0.2);
+ border-color: rgba(153, 153, 153, 0.2); }
+ .btn.btn-warning:active, .btn-warning.custom-file-control:active::before, .btn.btn-warning.active, .btn-warning.active.custom-file-control::before,
+ .open > .btn.btn-warning.dropdown-toggle,
+ .open > .btn-warning.dropdown-toggle.custom-file-control::before {
+ color: #ff5722;
+ background-color: rgba(153, 153, 153, 0.2);
+ border-color: rgba(153, 153, 153, 0.2); }
+ .btn.btn-warning:active:hover, .btn-warning.custom-file-control:active:hover::before, .btn.btn-warning:active:focus, .btn-warning.custom-file-control:active:focus::before, .btn.btn-warning:active.focus, .btn-warning.custom-file-control:active.focus::before, .btn.btn-warning.active:hover, .btn-warning.active.custom-file-control:hover::before, .btn.btn-warning.active:focus, .btn-warning.active.custom-file-control:focus::before, .btn.btn-warning.active.focus, .btn-warning.active.focus.custom-file-control::before,
+ .open > .btn.btn-warning.dropdown-toggle:hover,
+ .open > .btn-warning.dropdown-toggle.custom-file-control:hover::before,
+ .open > .btn.btn-warning.dropdown-toggle:focus,
+ .open > .btn-warning.dropdown-toggle.custom-file-control:focus::before,
+ .open > .btn.btn-warning.dropdown-toggle.focus,
+ .open > .btn-warning.dropdown-toggle.focus.custom-file-control::before {
+ color: #ff5722;
+ background-color: rgba(153, 153, 153, 0.4);
+ border-color: rgba(153, 153, 153, 0.4); }
+ .open > .btn.btn-warning.dropdown-toggle.bmd-btn-icon, .open > .btn-warning.dropdown-toggle.bmd-btn-icon.custom-file-control::before {
+ color: inherit;
+ background-color: inherit; }
+ .open > .btn.btn-warning.dropdown-toggle.bmd-btn-icon:hover, .open > .btn-warning.dropdown-toggle.bmd-btn-icon.custom-file-control:hover::before {
+ background-color: rgba(153, 153, 153, 0.2); }
+ .btn.btn-warning.disabled:focus, .btn-warning.disabled.custom-file-control:focus::before, .btn.btn-warning.disabled.focus, .btn-warning.disabled.focus.custom-file-control::before, .btn.btn-warning:disabled:focus, .btn-warning.custom-file-control:disabled:focus::before, .btn.btn-warning:disabled.focus, .btn-warning.custom-file-control:disabled.focus::before {
+ background-color: inherit;
+ border-color: #ccc; }
+ .btn.btn-warning.disabled:hover, .btn-warning.disabled.custom-file-control:hover::before, .btn.btn-warning:disabled:hover, .btn-warning.custom-file-control:disabled:hover::before {
+ background-color: inherit;
+ border-color: #ccc; }
+ .bg-inverse .btn.btn-warning, .bg-inverse .btn-warning.custom-file-control::before {
+ color: #ff5722;
+ background-color: inherit;
+ border-color: #ccc; }
+ .bg-inverse .btn.btn-warning:hover, .bg-inverse .btn-warning.custom-file-control:hover::before {
+ color: #ff5722;
+ background-color: rgba(204, 204, 204, 0.15);
+ border-color: rgba(204, 204, 204, 0.15); }
+ .bg-inverse .btn.btn-warning:focus, .bg-inverse .btn-warning.custom-file-control:focus::before, .bg-inverse .btn.btn-warning.focus, .bg-inverse .btn-warning.focus.custom-file-control::before {
+ color: #ff5722;
+ background-color: rgba(204, 204, 204, 0.15);
+ border-color: rgba(204, 204, 204, 0.15); }
+ .bg-inverse .btn.btn-warning:active, .bg-inverse .btn-warning.custom-file-control:active::before, .bg-inverse .btn.btn-warning.active, .bg-inverse .btn-warning.active.custom-file-control::before,
+ .open > .bg-inverse .btn.btn-warning.dropdown-toggle,
+ .open > .bg-inverse .btn-warning.dropdown-toggle.custom-file-control::before {
+ color: #ff5722;
+ background-color: rgba(204, 204, 204, 0.15);
+ border-color: rgba(204, 204, 204, 0.15); }
+ .bg-inverse .btn.btn-warning:active:hover, .bg-inverse .btn-warning.custom-file-control:active:hover::before, .bg-inverse .btn.btn-warning:active:focus, .bg-inverse .btn-warning.custom-file-control:active:focus::before, .bg-inverse .btn.btn-warning:active.focus, .bg-inverse .btn-warning.custom-file-control:active.focus::before, .bg-inverse .btn.btn-warning.active:hover, .bg-inverse .btn-warning.active.custom-file-control:hover::before, .bg-inverse .btn.btn-warning.active:focus, .bg-inverse .btn-warning.active.custom-file-control:focus::before, .bg-inverse .btn.btn-warning.active.focus, .bg-inverse .btn-warning.active.focus.custom-file-control::before,
+ .open > .bg-inverse .btn.btn-warning.dropdown-toggle:hover,
+ .open > .bg-inverse .btn-warning.dropdown-toggle.custom-file-control:hover::before,
+ .open > .bg-inverse .btn.btn-warning.dropdown-toggle:focus,
+ .open > .bg-inverse .btn-warning.dropdown-toggle.custom-file-control:focus::before,
+ .open > .bg-inverse .btn.btn-warning.dropdown-toggle.focus,
+ .open > .bg-inverse .btn-warning.dropdown-toggle.focus.custom-file-control::before {
+ color: #ff5722;
+ background-color: rgba(204, 204, 204, 0.25);
+ border-color: rgba(204, 204, 204, 0.25); }
+ .open > .bg-inverse .btn.btn-warning.dropdown-toggle.bmd-btn-icon, .open > .bg-inverse .btn-warning.dropdown-toggle.bmd-btn-icon.custom-file-control::before {
+ color: inherit;
+ background-color: inherit; }
+ .open > .bg-inverse .btn.btn-warning.dropdown-toggle.bmd-btn-icon:hover, .open > .bg-inverse .btn-warning.dropdown-toggle.bmd-btn-icon.custom-file-control:hover::before {
+ background-color: rgba(204, 204, 204, 0.15); }
+ .bg-inverse .btn.btn-warning.disabled:focus, .bg-inverse .btn-warning.disabled.custom-file-control:focus::before, .bg-inverse .btn.btn-warning.disabled.focus, .bg-inverse .btn-warning.disabled.focus.custom-file-control::before, .bg-inverse .btn.btn-warning:disabled:focus, .bg-inverse .btn-warning.custom-file-control:disabled:focus::before, .bg-inverse .btn.btn-warning:disabled.focus, .bg-inverse .btn-warning.custom-file-control:disabled.focus::before {
+ background-color: inherit;
+ border-color: #ccc; }
+ .bg-inverse .btn.btn-warning.disabled:hover, .bg-inverse .btn-warning.disabled.custom-file-control:hover::before, .bg-inverse .btn.btn-warning:disabled:hover, .bg-inverse .btn-warning.custom-file-control:disabled:hover::before {
+ background-color: inherit;
+ border-color: #ccc; }
+ .btn.btn-warning.btn-link, .btn-warning.btn-link.custom-file-control::before {
+ background-color: transparent; }
+ .btn.btn-danger, .btn-danger.custom-file-control::before {
+ color: #f44336;
+ background-color: inherit;
+ border-color: #ccc; }
+ .btn.btn-danger:hover, .btn-danger.custom-file-control:hover::before {
+ color: #f44336;
+ background-color: rgba(153, 153, 153, 0.2);
+ border-color: rgba(153, 153, 153, 0.2); }
+ .btn.btn-danger:focus, .btn-danger.custom-file-control:focus::before, .btn.btn-danger.focus, .btn-danger.focus.custom-file-control::before {
+ color: #f44336;
+ background-color: rgba(153, 153, 153, 0.2);
+ border-color: rgba(153, 153, 153, 0.2); }
+ .btn.btn-danger:active, .btn-danger.custom-file-control:active::before, .btn.btn-danger.active, .btn-danger.active.custom-file-control::before,
+ .open > .btn.btn-danger.dropdown-toggle,
+ .open > .btn-danger.dropdown-toggle.custom-file-control::before {
+ color: #f44336;
+ background-color: rgba(153, 153, 153, 0.2);
+ border-color: rgba(153, 153, 153, 0.2); }
+ .btn.btn-danger:active:hover, .btn-danger.custom-file-control:active:hover::before, .btn.btn-danger:active:focus, .btn-danger.custom-file-control:active:focus::before, .btn.btn-danger:active.focus, .btn-danger.custom-file-control:active.focus::before, .btn.btn-danger.active:hover, .btn-danger.active.custom-file-control:hover::before, .btn.btn-danger.active:focus, .btn-danger.active.custom-file-control:focus::before, .btn.btn-danger.active.focus, .btn-danger.active.focus.custom-file-control::before,
+ .open > .btn.btn-danger.dropdown-toggle:hover,
+ .open > .btn-danger.dropdown-toggle.custom-file-control:hover::before,
+ .open > .btn.btn-danger.dropdown-toggle:focus,
+ .open > .btn-danger.dropdown-toggle.custom-file-control:focus::before,
+ .open > .btn.btn-danger.dropdown-toggle.focus,
+ .open > .btn-danger.dropdown-toggle.focus.custom-file-control::before {
+ color: #f44336;
+ background-color: rgba(153, 153, 153, 0.4);
+ border-color: rgba(153, 153, 153, 0.4); }
+ .open > .btn.btn-danger.dropdown-toggle.bmd-btn-icon, .open > .btn-danger.dropdown-toggle.bmd-btn-icon.custom-file-control::before {
+ color: inherit;
+ background-color: inherit; }
+ .open > .btn.btn-danger.dropdown-toggle.bmd-btn-icon:hover, .open > .btn-danger.dropdown-toggle.bmd-btn-icon.custom-file-control:hover::before {
+ background-color: rgba(153, 153, 153, 0.2); }
+ .btn.btn-danger.disabled:focus, .btn-danger.disabled.custom-file-control:focus::before, .btn.btn-danger.disabled.focus, .btn-danger.disabled.focus.custom-file-control::before, .btn.btn-danger:disabled:focus, .btn-danger.custom-file-control:disabled:focus::before, .btn.btn-danger:disabled.focus, .btn-danger.custom-file-control:disabled.focus::before {
+ background-color: inherit;
+ border-color: #ccc; }
+ .btn.btn-danger.disabled:hover, .btn-danger.disabled.custom-file-control:hover::before, .btn.btn-danger:disabled:hover, .btn-danger.custom-file-control:disabled:hover::before {
+ background-color: inherit;
+ border-color: #ccc; }
+ .bg-inverse .btn.btn-danger, .bg-inverse .btn-danger.custom-file-control::before {
+ color: #f44336;
+ background-color: inherit;
+ border-color: #ccc; }
+ .bg-inverse .btn.btn-danger:hover, .bg-inverse .btn-danger.custom-file-control:hover::before {
+ color: #f44336;
+ background-color: rgba(204, 204, 204, 0.15);
+ border-color: rgba(204, 204, 204, 0.15); }
+ .bg-inverse .btn.btn-danger:focus, .bg-inverse .btn-danger.custom-file-control:focus::before, .bg-inverse .btn.btn-danger.focus, .bg-inverse .btn-danger.focus.custom-file-control::before {
+ color: #f44336;
+ background-color: rgba(204, 204, 204, 0.15);
+ border-color: rgba(204, 204, 204, 0.15); }
+ .bg-inverse .btn.btn-danger:active, .bg-inverse .btn-danger.custom-file-control:active::before, .bg-inverse .btn.btn-danger.active, .bg-inverse .btn-danger.active.custom-file-control::before,
+ .open > .bg-inverse .btn.btn-danger.dropdown-toggle,
+ .open > .bg-inverse .btn-danger.dropdown-toggle.custom-file-control::before {
+ color: #f44336;
+ background-color: rgba(204, 204, 204, 0.15);
+ border-color: rgba(204, 204, 204, 0.15); }
+ .bg-inverse .btn.btn-danger:active:hover, .bg-inverse .btn-danger.custom-file-control:active:hover::before, .bg-inverse .btn.btn-danger:active:focus, .bg-inverse .btn-danger.custom-file-control:active:focus::before, .bg-inverse .btn.btn-danger:active.focus, .bg-inverse .btn-danger.custom-file-control:active.focus::before, .bg-inverse .btn.btn-danger.active:hover, .bg-inverse .btn-danger.active.custom-file-control:hover::before, .bg-inverse .btn.btn-danger.active:focus, .bg-inverse .btn-danger.active.custom-file-control:focus::before, .bg-inverse .btn.btn-danger.active.focus, .bg-inverse .btn-danger.active.focus.custom-file-control::before,
+ .open > .bg-inverse .btn.btn-danger.dropdown-toggle:hover,
+ .open > .bg-inverse .btn-danger.dropdown-toggle.custom-file-control:hover::before,
+ .open > .bg-inverse .btn.btn-danger.dropdown-toggle:focus,
+ .open > .bg-inverse .btn-danger.dropdown-toggle.custom-file-control:focus::before,
+ .open > .bg-inverse .btn.btn-danger.dropdown-toggle.focus,
+ .open > .bg-inverse .btn-danger.dropdown-toggle.focus.custom-file-control::before {
+ color: #f44336;
+ background-color: rgba(204, 204, 204, 0.25);
+ border-color: rgba(204, 204, 204, 0.25); }
+ .open > .bg-inverse .btn.btn-danger.dropdown-toggle.bmd-btn-icon, .open > .bg-inverse .btn-danger.dropdown-toggle.bmd-btn-icon.custom-file-control::before {
+ color: inherit;
+ background-color: inherit; }
+ .open > .bg-inverse .btn.btn-danger.dropdown-toggle.bmd-btn-icon:hover, .open > .bg-inverse .btn-danger.dropdown-toggle.bmd-btn-icon.custom-file-control:hover::before {
+ background-color: rgba(204, 204, 204, 0.15); }
+ .bg-inverse .btn.btn-danger.disabled:focus, .bg-inverse .btn-danger.disabled.custom-file-control:focus::before, .bg-inverse .btn.btn-danger.disabled.focus, .bg-inverse .btn-danger.disabled.focus.custom-file-control::before, .bg-inverse .btn.btn-danger:disabled:focus, .bg-inverse .btn-danger.custom-file-control:disabled:focus::before, .bg-inverse .btn.btn-danger:disabled.focus, .bg-inverse .btn-danger.custom-file-control:disabled.focus::before {
+ background-color: inherit;
+ border-color: #ccc; }
+ .bg-inverse .btn.btn-danger.disabled:hover, .bg-inverse .btn-danger.disabled.custom-file-control:hover::before, .bg-inverse .btn.btn-danger:disabled:hover, .bg-inverse .btn-danger.custom-file-control:disabled:hover::before {
+ background-color: inherit;
+ border-color: #ccc; }
+ .btn.btn-danger.btn-link, .btn-danger.btn-link.custom-file-control::before {
+ background-color: transparent; }
+ .btn.bmd-btn-fab.btn-primary, .bmd-btn-fab.btn-primary.custom-file-control::before, .btn.btn-raised.btn-primary, .btn-raised.btn-primary.custom-file-control::before,
+ .btn-group-raised .btn.btn-primary,
+ .btn-group-raised .btn-primary.custom-file-control::before {
+ color: #fff;
+ background-color: #009688;
+ border-color: #009688; }
+ .btn.bmd-btn-fab.btn-primary:hover, .bmd-btn-fab.btn-primary.custom-file-control:hover::before, .btn.btn-raised.btn-primary:hover, .btn-raised.btn-primary.custom-file-control:hover::before,
+ .btn-group-raised .btn.btn-primary:hover,
+ .btn-group-raised .btn-primary.custom-file-control:hover::before {
+ color: #fff;
+ background-color: #008276;
+ border-color: #005951; }
+ .btn.bmd-btn-fab.btn-primary:focus, .bmd-btn-fab.btn-primary.custom-file-control:focus::before, .btn.bmd-btn-fab.btn-primary.focus, .bmd-btn-fab.btn-primary.focus.custom-file-control::before, .btn.btn-raised.btn-primary:focus, .btn-raised.btn-primary.custom-file-control:focus::before, .btn.btn-raised.btn-primary.focus, .btn-raised.btn-primary.focus.custom-file-control::before,
+ .btn-group-raised .btn.btn-primary:focus,
+ .btn-group-raised .btn-primary.custom-file-control:focus::before,
+ .btn-group-raised .btn.btn-primary.focus,
+ .btn-group-raised .btn-primary.focus.custom-file-control::before {
+ color: #fff;
+ background-color: #008276;
+ border-color: #005951; }
+ .btn.bmd-btn-fab.btn-primary:active, .bmd-btn-fab.btn-primary.custom-file-control:active::before, .btn.bmd-btn-fab.btn-primary.active, .bmd-btn-fab.btn-primary.active.custom-file-control::before,
+ .open > .btn.bmd-btn-fab.btn-primary.dropdown-toggle,
+ .open > .bmd-btn-fab.btn-primary.dropdown-toggle.custom-file-control::before, .btn.btn-raised.btn-primary:active, .btn-raised.btn-primary.custom-file-control:active::before, .btn.btn-raised.btn-primary.active, .btn-raised.btn-primary.active.custom-file-control::before,
+ .open > .btn.btn-raised.btn-primary.dropdown-toggle,
+ .open > .btn-raised.btn-primary.dropdown-toggle.custom-file-control::before,
+ .btn-group-raised .btn.btn-primary:active,
+ .btn-group-raised .btn-primary.custom-file-control:active::before,
+ .btn-group-raised .btn.btn-primary.active,
+ .btn-group-raised .btn-primary.active.custom-file-control::before,
+ .open >
+ .btn-group-raised .btn.btn-primary.dropdown-toggle,
+ .open >
+ .btn-group-raised .btn-primary.dropdown-toggle.custom-file-control::before {
+ color: #fff;
+ background-color: #008276;
+ border-color: #005951; }
+ .btn.bmd-btn-fab.btn-primary:active:hover, .bmd-btn-fab.btn-primary.custom-file-control:active:hover::before, .btn.bmd-btn-fab.btn-primary:active:focus, .bmd-btn-fab.btn-primary.custom-file-control:active:focus::before, .btn.bmd-btn-fab.btn-primary:active.focus, .bmd-btn-fab.btn-primary.custom-file-control:active.focus::before, .btn.bmd-btn-fab.btn-primary.active:hover, .bmd-btn-fab.btn-primary.active.custom-file-control:hover::before, .btn.bmd-btn-fab.btn-primary.active:focus, .bmd-btn-fab.btn-primary.active.custom-file-control:focus::before, .btn.bmd-btn-fab.btn-primary.active.focus, .bmd-btn-fab.btn-primary.active.focus.custom-file-control::before,
+ .open > .btn.bmd-btn-fab.btn-primary.dropdown-toggle:hover,
+ .open > .bmd-btn-fab.btn-primary.dropdown-toggle.custom-file-control:hover::before,
+ .open > .btn.bmd-btn-fab.btn-primary.dropdown-toggle:focus,
+ .open > .bmd-btn-fab.btn-primary.dropdown-toggle.custom-file-control:focus::before,
+ .open > .btn.bmd-btn-fab.btn-primary.dropdown-toggle.focus,
+ .open > .bmd-btn-fab.btn-primary.dropdown-toggle.focus.custom-file-control::before, .btn.btn-raised.btn-primary:active:hover, .btn-raised.btn-primary.custom-file-control:active:hover::before, .btn.btn-raised.btn-primary:active:focus, .btn-raised.btn-primary.custom-file-control:active:focus::before, .btn.btn-raised.btn-primary:active.focus, .btn-raised.btn-primary.custom-file-control:active.focus::before, .btn.btn-raised.btn-primary.active:hover, .btn-raised.btn-primary.active.custom-file-control:hover::before, .btn.btn-raised.btn-primary.active:focus, .btn-raised.btn-primary.active.custom-file-control:focus::before, .btn.btn-raised.btn-primary.active.focus, .btn-raised.btn-primary.active.focus.custom-file-control::before,
+ .open > .btn.btn-raised.btn-primary.dropdown-toggle:hover,
+ .open > .btn-raised.btn-primary.dropdown-toggle.custom-file-control:hover::before,
+ .open > .btn.btn-raised.btn-primary.dropdown-toggle:focus,
+ .open > .btn-raised.btn-primary.dropdown-toggle.custom-file-control:focus::before,
+ .open > .btn.btn-raised.btn-primary.dropdown-toggle.focus,
+ .open > .btn-raised.btn-primary.dropdown-toggle.focus.custom-file-control::before,
+ .btn-group-raised .btn.btn-primary:active:hover,
+ .btn-group-raised .btn-primary.custom-file-control:active:hover::before,
+ .btn-group-raised .btn.btn-primary:active:focus,
+ .btn-group-raised .btn-primary.custom-file-control:active:focus::before,
+ .btn-group-raised .btn.btn-primary:active.focus,
+ .btn-group-raised .btn-primary.custom-file-control:active.focus::before,
+ .btn-group-raised .btn.btn-primary.active:hover,
+ .btn-group-raised .btn-primary.active.custom-file-control:hover::before,
+ .btn-group-raised .btn.btn-primary.active:focus,
+ .btn-group-raised .btn-primary.active.custom-file-control:focus::before,
+ .btn-group-raised .btn.btn-primary.active.focus,
+ .btn-group-raised .btn-primary.active.focus.custom-file-control::before,
+ .open >
+ .btn-group-raised .btn.btn-primary.dropdown-toggle:hover,
+ .open >
+ .btn-group-raised .btn-primary.dropdown-toggle.custom-file-control:hover::before,
+ .open >
+ .btn-group-raised .btn.btn-primary.dropdown-toggle:focus,
+ .open >
+ .btn-group-raised .btn-primary.dropdown-toggle.custom-file-control:focus::before,
+ .open >
+ .btn-group-raised .btn.btn-primary.dropdown-toggle.focus,
+ .open >
+ .btn-group-raised .btn-primary.dropdown-toggle.focus.custom-file-control::before {
+ color: #fff;
+ background-color: #008276;
+ border-color: #001714; }
+ .open > .btn.bmd-btn-fab.btn-primary.dropdown-toggle.bmd-btn-icon, .open > .bmd-btn-fab.btn-primary.dropdown-toggle.bmd-btn-icon.custom-file-control::before, .open > .btn.btn-raised.btn-primary.dropdown-toggle.bmd-btn-icon, .open > .btn-raised.btn-primary.dropdown-toggle.bmd-btn-icon.custom-file-control::before, .open >
+ .btn-group-raised .btn.btn-primary.dropdown-toggle.bmd-btn-icon, .open >
+ .btn-group-raised .btn-primary.dropdown-toggle.bmd-btn-icon.custom-file-control::before {
+ color: inherit;
+ background-color: #009688; }
+ .open > .btn.bmd-btn-fab.btn-primary.dropdown-toggle.bmd-btn-icon:hover, .open > .bmd-btn-fab.btn-primary.dropdown-toggle.bmd-btn-icon.custom-file-control:hover::before, .open > .btn.btn-raised.btn-primary.dropdown-toggle.bmd-btn-icon:hover, .open > .btn-raised.btn-primary.dropdown-toggle.bmd-btn-icon.custom-file-control:hover::before, .open >
+ .btn-group-raised .btn.btn-primary.dropdown-toggle.bmd-btn-icon:hover, .open >
+ .btn-group-raised .btn-primary.dropdown-toggle.bmd-btn-icon.custom-file-control:hover::before {
+ background-color: #008276; }
+ .btn.bmd-btn-fab.btn-primary.disabled:focus, .bmd-btn-fab.btn-primary.disabled.custom-file-control:focus::before, .btn.bmd-btn-fab.btn-primary.disabled.focus, .bmd-btn-fab.btn-primary.disabled.focus.custom-file-control::before, .btn.bmd-btn-fab.btn-primary:disabled:focus, .bmd-btn-fab.btn-primary.custom-file-control:disabled:focus::before, .btn.bmd-btn-fab.btn-primary:disabled.focus, .bmd-btn-fab.btn-primary.custom-file-control:disabled.focus::before, .btn.btn-raised.btn-primary.disabled:focus, .btn-raised.btn-primary.disabled.custom-file-control:focus::before, .btn.btn-raised.btn-primary.disabled.focus, .btn-raised.btn-primary.disabled.focus.custom-file-control::before, .btn.btn-raised.btn-primary:disabled:focus, .btn-raised.btn-primary.custom-file-control:disabled:focus::before, .btn.btn-raised.btn-primary:disabled.focus, .btn-raised.btn-primary.custom-file-control:disabled.focus::before,
+ .btn-group-raised .btn.btn-primary.disabled:focus,
+ .btn-group-raised .btn-primary.disabled.custom-file-control:focus::before,
+ .btn-group-raised .btn.btn-primary.disabled.focus,
+ .btn-group-raised .btn-primary.disabled.focus.custom-file-control::before,
+ .btn-group-raised .btn.btn-primary:disabled:focus,
+ .btn-group-raised .btn-primary.custom-file-control:disabled:focus::before,
+ .btn-group-raised .btn.btn-primary:disabled.focus,
+ .btn-group-raised .btn-primary.custom-file-control:disabled.focus::before {
+ background-color: #009688;
+ border-color: #009688; }
+ .btn.bmd-btn-fab.btn-primary.disabled:hover, .bmd-btn-fab.btn-primary.disabled.custom-file-control:hover::before, .btn.bmd-btn-fab.btn-primary:disabled:hover, .bmd-btn-fab.btn-primary.custom-file-control:disabled:hover::before, .btn.btn-raised.btn-primary.disabled:hover, .btn-raised.btn-primary.disabled.custom-file-control:hover::before, .btn.btn-raised.btn-primary:disabled:hover, .btn-raised.btn-primary.custom-file-control:disabled:hover::before,
+ .btn-group-raised .btn.btn-primary.disabled:hover,
+ .btn-group-raised .btn-primary.disabled.custom-file-control:hover::before,
+ .btn-group-raised .btn.btn-primary:disabled:hover,
+ .btn-group-raised .btn-primary.custom-file-control:disabled:hover::before {
+ background-color: #009688;
+ border-color: #009688; }
+ .btn.bmd-btn-fab.btn-secondary, .bmd-btn-fab.btn-secondary.custom-file-control::before, .btn.btn-raised.btn-secondary, .btn-raised.btn-secondary.custom-file-control::before,
+ .btn-group-raised .btn.btn-secondary,
+ .btn-group-raised .btn-secondary.custom-file-control::before {
+ color: rgba(0, 0, 0, 0.87);
+ background-color: #fafafa;
+ border-color: #ccc; }
+ .btn.bmd-btn-fab.btn-secondary:hover, .bmd-btn-fab.btn-secondary.custom-file-control:hover::before, .btn.btn-raised.btn-secondary:hover, .btn-raised.btn-secondary.custom-file-control:hover::before,
+ .btn-group-raised .btn.btn-secondary:hover,
+ .btn-group-raised .btn-secondary.custom-file-control:hover::before {
+ color: rgba(0, 0, 0, 0.87);
+ background-color: #f0f0f0;
+ border-color: #adadad; }
+ .btn.bmd-btn-fab.btn-secondary:focus, .bmd-btn-fab.btn-secondary.custom-file-control:focus::before, .btn.bmd-btn-fab.btn-secondary.focus, .bmd-btn-fab.btn-secondary.focus.custom-file-control::before, .btn.btn-raised.btn-secondary:focus, .btn-raised.btn-secondary.custom-file-control:focus::before, .btn.btn-raised.btn-secondary.focus, .btn-raised.btn-secondary.focus.custom-file-control::before,
+ .btn-group-raised .btn.btn-secondary:focus,
+ .btn-group-raised .btn-secondary.custom-file-control:focus::before,
+ .btn-group-raised .btn.btn-secondary.focus,
+ .btn-group-raised .btn-secondary.focus.custom-file-control::before {
+ color: rgba(0, 0, 0, 0.87);
+ background-color: #f0f0f0;
+ border-color: #adadad; }
+ .btn.bmd-btn-fab.btn-secondary:active, .bmd-btn-fab.btn-secondary.custom-file-control:active::before, .btn.bmd-btn-fab.btn-secondary.active, .bmd-btn-fab.btn-secondary.active.custom-file-control::before,
+ .open > .btn.bmd-btn-fab.btn-secondary.dropdown-toggle,
+ .open > .bmd-btn-fab.btn-secondary.dropdown-toggle.custom-file-control::before, .btn.btn-raised.btn-secondary:active, .btn-raised.btn-secondary.custom-file-control:active::before, .btn.btn-raised.btn-secondary.active, .btn-raised.btn-secondary.active.custom-file-control::before,
+ .open > .btn.btn-raised.btn-secondary.dropdown-toggle,
+ .open > .btn-raised.btn-secondary.dropdown-toggle.custom-file-control::before,
+ .btn-group-raised .btn.btn-secondary:active,
+ .btn-group-raised .btn-secondary.custom-file-control:active::before,
+ .btn-group-raised .btn.btn-secondary.active,
+ .btn-group-raised .btn-secondary.active.custom-file-control::before,
+ .open >
+ .btn-group-raised .btn.btn-secondary.dropdown-toggle,
+ .open >
+ .btn-group-raised .btn-secondary.dropdown-toggle.custom-file-control::before {
+ color: rgba(0, 0, 0, 0.87);
+ background-color: #f0f0f0;
+ border-color: #adadad; }
+ .btn.bmd-btn-fab.btn-secondary:active:hover, .bmd-btn-fab.btn-secondary.custom-file-control:active:hover::before, .btn.bmd-btn-fab.btn-secondary:active:focus, .bmd-btn-fab.btn-secondary.custom-file-control:active:focus::before, .btn.bmd-btn-fab.btn-secondary:active.focus, .bmd-btn-fab.btn-secondary.custom-file-control:active.focus::before, .btn.bmd-btn-fab.btn-secondary.active:hover, .bmd-btn-fab.btn-secondary.active.custom-file-control:hover::before, .btn.bmd-btn-fab.btn-secondary.active:focus, .bmd-btn-fab.btn-secondary.active.custom-file-control:focus::before, .btn.bmd-btn-fab.btn-secondary.active.focus, .bmd-btn-fab.btn-secondary.active.focus.custom-file-control::before,
+ .open > .btn.bmd-btn-fab.btn-secondary.dropdown-toggle:hover,
+ .open > .bmd-btn-fab.btn-secondary.dropdown-toggle.custom-file-control:hover::before,
+ .open > .btn.bmd-btn-fab.btn-secondary.dropdown-toggle:focus,
+ .open > .bmd-btn-fab.btn-secondary.dropdown-toggle.custom-file-control:focus::before,
+ .open > .btn.bmd-btn-fab.btn-secondary.dropdown-toggle.focus,
+ .open > .bmd-btn-fab.btn-secondary.dropdown-toggle.focus.custom-file-control::before, .btn.btn-raised.btn-secondary:active:hover, .btn-raised.btn-secondary.custom-file-control:active:hover::before, .btn.btn-raised.btn-secondary:active:focus, .btn-raised.btn-secondary.custom-file-control:active:focus::before, .btn.btn-raised.btn-secondary:active.focus, .btn-raised.btn-secondary.custom-file-control:active.focus::before, .btn.btn-raised.btn-secondary.active:hover, .btn-raised.btn-secondary.active.custom-file-control:hover::before, .btn.btn-raised.btn-secondary.active:focus, .btn-raised.btn-secondary.active.custom-file-control:focus::before, .btn.btn-raised.btn-secondary.active.focus, .btn-raised.btn-secondary.active.focus.custom-file-control::before,
+ .open > .btn.btn-raised.btn-secondary.dropdown-toggle:hover,
+ .open > .btn-raised.btn-secondary.dropdown-toggle.custom-file-control:hover::before,
+ .open > .btn.btn-raised.btn-secondary.dropdown-toggle:focus,
+ .open > .btn-raised.btn-secondary.dropdown-toggle.custom-file-control:focus::before,
+ .open > .btn.btn-raised.btn-secondary.dropdown-toggle.focus,
+ .open > .btn-raised.btn-secondary.dropdown-toggle.focus.custom-file-control::before,
+ .btn-group-raised .btn.btn-secondary:active:hover,
+ .btn-group-raised .btn-secondary.custom-file-control:active:hover::before,
+ .btn-group-raised .btn.btn-secondary:active:focus,
+ .btn-group-raised .btn-secondary.custom-file-control:active:focus::before,
+ .btn-group-raised .btn.btn-secondary:active.focus,
+ .btn-group-raised .btn-secondary.custom-file-control:active.focus::before,
+ .btn-group-raised .btn.btn-secondary.active:hover,
+ .btn-group-raised .btn-secondary.active.custom-file-control:hover::before,
+ .btn-group-raised .btn.btn-secondary.active:focus,
+ .btn-group-raised .btn-secondary.active.custom-file-control:focus::before,
+ .btn-group-raised .btn.btn-secondary.active.focus,
+ .btn-group-raised .btn-secondary.active.focus.custom-file-control::before,
+ .open >
+ .btn-group-raised .btn.btn-secondary.dropdown-toggle:hover,
+ .open >
+ .btn-group-raised .btn-secondary.dropdown-toggle.custom-file-control:hover::before,
+ .open >
+ .btn-group-raised .btn.btn-secondary.dropdown-toggle:focus,
+ .open >
+ .btn-group-raised .btn-secondary.dropdown-toggle.custom-file-control:focus::before,
+ .open >
+ .btn-group-raised .btn.btn-secondary.dropdown-toggle.focus,
+ .open >
+ .btn-group-raised .btn-secondary.dropdown-toggle.focus.custom-file-control::before {
+ color: rgba(0, 0, 0, 0.87);
+ background-color: #f0f0f0;
+ border-color: #8c8c8c; }
+ .open > .btn.bmd-btn-fab.btn-secondary.dropdown-toggle.bmd-btn-icon, .open > .bmd-btn-fab.btn-secondary.dropdown-toggle.bmd-btn-icon.custom-file-control::before, .open > .btn.btn-raised.btn-secondary.dropdown-toggle.bmd-btn-icon, .open > .btn-raised.btn-secondary.dropdown-toggle.bmd-btn-icon.custom-file-control::before, .open >
+ .btn-group-raised .btn.btn-secondary.dropdown-toggle.bmd-btn-icon, .open >
+ .btn-group-raised .btn-secondary.dropdown-toggle.bmd-btn-icon.custom-file-control::before {
+ color: inherit;
+ background-color: #fafafa; }
+ .open > .btn.bmd-btn-fab.btn-secondary.dropdown-toggle.bmd-btn-icon:hover, .open > .bmd-btn-fab.btn-secondary.dropdown-toggle.bmd-btn-icon.custom-file-control:hover::before, .open > .btn.btn-raised.btn-secondary.dropdown-toggle.bmd-btn-icon:hover, .open > .btn-raised.btn-secondary.dropdown-toggle.bmd-btn-icon.custom-file-control:hover::before, .open >
+ .btn-group-raised .btn.btn-secondary.dropdown-toggle.bmd-btn-icon:hover, .open >
+ .btn-group-raised .btn-secondary.dropdown-toggle.bmd-btn-icon.custom-file-control:hover::before {
+ background-color: #f0f0f0; }
+ .btn.bmd-btn-fab.btn-secondary.disabled:focus, .bmd-btn-fab.btn-secondary.disabled.custom-file-control:focus::before, .btn.bmd-btn-fab.btn-secondary.disabled.focus, .bmd-btn-fab.btn-secondary.disabled.focus.custom-file-control::before, .btn.bmd-btn-fab.btn-secondary:disabled:focus, .bmd-btn-fab.btn-secondary.custom-file-control:disabled:focus::before, .btn.bmd-btn-fab.btn-secondary:disabled.focus, .bmd-btn-fab.btn-secondary.custom-file-control:disabled.focus::before, .btn.btn-raised.btn-secondary.disabled:focus, .btn-raised.btn-secondary.disabled.custom-file-control:focus::before, .btn.btn-raised.btn-secondary.disabled.focus, .btn-raised.btn-secondary.disabled.focus.custom-file-control::before, .btn.btn-raised.btn-secondary:disabled:focus, .btn-raised.btn-secondary.custom-file-control:disabled:focus::before, .btn.btn-raised.btn-secondary:disabled.focus, .btn-raised.btn-secondary.custom-file-control:disabled.focus::before,
+ .btn-group-raised .btn.btn-secondary.disabled:focus,
+ .btn-group-raised .btn-secondary.disabled.custom-file-control:focus::before,
+ .btn-group-raised .btn.btn-secondary.disabled.focus,
+ .btn-group-raised .btn-secondary.disabled.focus.custom-file-control::before,
+ .btn-group-raised .btn.btn-secondary:disabled:focus,
+ .btn-group-raised .btn-secondary.custom-file-control:disabled:focus::before,
+ .btn-group-raised .btn.btn-secondary:disabled.focus,
+ .btn-group-raised .btn-secondary.custom-file-control:disabled.focus::before {
+ background-color: #fafafa;
+ border-color: #ccc; }
+ .btn.bmd-btn-fab.btn-secondary.disabled:hover, .bmd-btn-fab.btn-secondary.disabled.custom-file-control:hover::before, .btn.bmd-btn-fab.btn-secondary:disabled:hover, .bmd-btn-fab.btn-secondary.custom-file-control:disabled:hover::before, .btn.btn-raised.btn-secondary.disabled:hover, .btn-raised.btn-secondary.disabled.custom-file-control:hover::before, .btn.btn-raised.btn-secondary:disabled:hover, .btn-raised.btn-secondary.custom-file-control:disabled:hover::before,
+ .btn-group-raised .btn.btn-secondary.disabled:hover,
+ .btn-group-raised .btn-secondary.disabled.custom-file-control:hover::before,
+ .btn-group-raised .btn.btn-secondary:disabled:hover,
+ .btn-group-raised .btn-secondary.custom-file-control:disabled:hover::before {
+ background-color: #fafafa;
+ border-color: #ccc; }
+ .btn.bmd-btn-fab.btn-info, .bmd-btn-fab.btn-info.custom-file-control::before, .btn.btn-raised.btn-info, .btn-raised.btn-info.custom-file-control::before,
+ .btn-group-raised .btn.btn-info,
+ .btn-group-raised .btn-info.custom-file-control::before {
+ color: #fff;
+ background-color: #03a9f4;
+ border-color: #03a9f4; }
+ .btn.bmd-btn-fab.btn-info:hover, .bmd-btn-fab.btn-info.custom-file-control:hover::before, .btn.btn-raised.btn-info:hover, .btn-raised.btn-info.custom-file-control:hover::before,
+ .btn-group-raised .btn.btn-info:hover,
+ .btn-group-raised .btn-info.custom-file-control:hover::before {
+ color: #fff;
+ background-color: #039be0;
+ border-color: #027fb8; }
+ .btn.bmd-btn-fab.btn-info:focus, .bmd-btn-fab.btn-info.custom-file-control:focus::before, .btn.bmd-btn-fab.btn-info.focus, .bmd-btn-fab.btn-info.focus.custom-file-control::before, .btn.btn-raised.btn-info:focus, .btn-raised.btn-info.custom-file-control:focus::before, .btn.btn-raised.btn-info.focus, .btn-raised.btn-info.focus.custom-file-control::before,
+ .btn-group-raised .btn.btn-info:focus,
+ .btn-group-raised .btn-info.custom-file-control:focus::before,
+ .btn-group-raised .btn.btn-info.focus,
+ .btn-group-raised .btn-info.focus.custom-file-control::before {
+ color: #fff;
+ background-color: #039be0;
+ border-color: #027fb8; }
+ .btn.bmd-btn-fab.btn-info:active, .bmd-btn-fab.btn-info.custom-file-control:active::before, .btn.bmd-btn-fab.btn-info.active, .bmd-btn-fab.btn-info.active.custom-file-control::before,
+ .open > .btn.bmd-btn-fab.btn-info.dropdown-toggle,
+ .open > .bmd-btn-fab.btn-info.dropdown-toggle.custom-file-control::before, .btn.btn-raised.btn-info:active, .btn-raised.btn-info.custom-file-control:active::before, .btn.btn-raised.btn-info.active, .btn-raised.btn-info.active.custom-file-control::before,
+ .open > .btn.btn-raised.btn-info.dropdown-toggle,
+ .open > .btn-raised.btn-info.dropdown-toggle.custom-file-control::before,
+ .btn-group-raised .btn.btn-info:active,
+ .btn-group-raised .btn-info.custom-file-control:active::before,
+ .btn-group-raised .btn.btn-info.active,
+ .btn-group-raised .btn-info.active.custom-file-control::before,
+ .open >
+ .btn-group-raised .btn.btn-info.dropdown-toggle,
+ .open >
+ .btn-group-raised .btn-info.dropdown-toggle.custom-file-control::before {
+ color: #fff;
+ background-color: #039be0;
+ border-color: #027fb8; }
+ .btn.bmd-btn-fab.btn-info:active:hover, .bmd-btn-fab.btn-info.custom-file-control:active:hover::before, .btn.bmd-btn-fab.btn-info:active:focus, .bmd-btn-fab.btn-info.custom-file-control:active:focus::before, .btn.bmd-btn-fab.btn-info:active.focus, .bmd-btn-fab.btn-info.custom-file-control:active.focus::before, .btn.bmd-btn-fab.btn-info.active:hover, .bmd-btn-fab.btn-info.active.custom-file-control:hover::before, .btn.bmd-btn-fab.btn-info.active:focus, .bmd-btn-fab.btn-info.active.custom-file-control:focus::before, .btn.bmd-btn-fab.btn-info.active.focus, .bmd-btn-fab.btn-info.active.focus.custom-file-control::before,
+ .open > .btn.bmd-btn-fab.btn-info.dropdown-toggle:hover,
+ .open > .bmd-btn-fab.btn-info.dropdown-toggle.custom-file-control:hover::before,
+ .open > .btn.bmd-btn-fab.btn-info.dropdown-toggle:focus,
+ .open > .bmd-btn-fab.btn-info.dropdown-toggle.custom-file-control:focus::before,
+ .open > .btn.bmd-btn-fab.btn-info.dropdown-toggle.focus,
+ .open > .bmd-btn-fab.btn-info.dropdown-toggle.focus.custom-file-control::before, .btn.btn-raised.btn-info:active:hover, .btn-raised.btn-info.custom-file-control:active:hover::before, .btn.btn-raised.btn-info:active:focus, .btn-raised.btn-info.custom-file-control:active:focus::before, .btn.btn-raised.btn-info:active.focus, .btn-raised.btn-info.custom-file-control:active.focus::before, .btn.btn-raised.btn-info.active:hover, .btn-raised.btn-info.active.custom-file-control:hover::before, .btn.btn-raised.btn-info.active:focus, .btn-raised.btn-info.active.custom-file-control:focus::before, .btn.btn-raised.btn-info.active.focus, .btn-raised.btn-info.active.focus.custom-file-control::before,
+ .open > .btn.btn-raised.btn-info.dropdown-toggle:hover,
+ .open > .btn-raised.btn-info.dropdown-toggle.custom-file-control:hover::before,
+ .open > .btn.btn-raised.btn-info.dropdown-toggle:focus,
+ .open > .btn-raised.btn-info.dropdown-toggle.custom-file-control:focus::before,
+ .open > .btn.btn-raised.btn-info.dropdown-toggle.focus,
+ .open > .btn-raised.btn-info.dropdown-toggle.focus.custom-file-control::before,
+ .btn-group-raised .btn.btn-info:active:hover,
+ .btn-group-raised .btn-info.custom-file-control:active:hover::before,
+ .btn-group-raised .btn.btn-info:active:focus,
+ .btn-group-raised .btn-info.custom-file-control:active:focus::before,
+ .btn-group-raised .btn.btn-info:active.focus,
+ .btn-group-raised .btn-info.custom-file-control:active.focus::before,
+ .btn-group-raised .btn.btn-info.active:hover,
+ .btn-group-raised .btn-info.active.custom-file-control:hover::before,
+ .btn-group-raised .btn.btn-info.active:focus,
+ .btn-group-raised .btn-info.active.custom-file-control:focus::before,
+ .btn-group-raised .btn.btn-info.active.focus,
+ .btn-group-raised .btn-info.active.focus.custom-file-control::before,
+ .open >
+ .btn-group-raised .btn.btn-info.dropdown-toggle:hover,
+ .open >
+ .btn-group-raised .btn-info.dropdown-toggle.custom-file-control:hover::before,
+ .open >
+ .btn-group-raised .btn.btn-info.dropdown-toggle:focus,
+ .open >
+ .btn-group-raised .btn-info.dropdown-toggle.custom-file-control:focus::before,
+ .open >
+ .btn-group-raised .btn.btn-info.dropdown-toggle.focus,
+ .open >
+ .btn-group-raised .btn-info.dropdown-toggle.focus.custom-file-control::before {
+ color: #fff;
+ background-color: #039be0;
+ border-color: #015276; }
+ .open > .btn.bmd-btn-fab.btn-info.dropdown-toggle.bmd-btn-icon, .open > .bmd-btn-fab.btn-info.dropdown-toggle.bmd-btn-icon.custom-file-control::before, .open > .btn.btn-raised.btn-info.dropdown-toggle.bmd-btn-icon, .open > .btn-raised.btn-info.dropdown-toggle.bmd-btn-icon.custom-file-control::before, .open >
+ .btn-group-raised .btn.btn-info.dropdown-toggle.bmd-btn-icon, .open >
+ .btn-group-raised .btn-info.dropdown-toggle.bmd-btn-icon.custom-file-control::before {
+ color: inherit;
+ background-color: #03a9f4; }
+ .open > .btn.bmd-btn-fab.btn-info.dropdown-toggle.bmd-btn-icon:hover, .open > .bmd-btn-fab.btn-info.dropdown-toggle.bmd-btn-icon.custom-file-control:hover::before, .open > .btn.btn-raised.btn-info.dropdown-toggle.bmd-btn-icon:hover, .open > .btn-raised.btn-info.dropdown-toggle.bmd-btn-icon.custom-file-control:hover::before, .open >
+ .btn-group-raised .btn.btn-info.dropdown-toggle.bmd-btn-icon:hover, .open >
+ .btn-group-raised .btn-info.dropdown-toggle.bmd-btn-icon.custom-file-control:hover::before {
+ background-color: #039be0; }
+ .btn.bmd-btn-fab.btn-info.disabled:focus, .bmd-btn-fab.btn-info.disabled.custom-file-control:focus::before, .btn.bmd-btn-fab.btn-info.disabled.focus, .bmd-btn-fab.btn-info.disabled.focus.custom-file-control::before, .btn.bmd-btn-fab.btn-info:disabled:focus, .bmd-btn-fab.btn-info.custom-file-control:disabled:focus::before, .btn.bmd-btn-fab.btn-info:disabled.focus, .bmd-btn-fab.btn-info.custom-file-control:disabled.focus::before, .btn.btn-raised.btn-info.disabled:focus, .btn-raised.btn-info.disabled.custom-file-control:focus::before, .btn.btn-raised.btn-info.disabled.focus, .btn-raised.btn-info.disabled.focus.custom-file-control::before, .btn.btn-raised.btn-info:disabled:focus, .btn-raised.btn-info.custom-file-control:disabled:focus::before, .btn.btn-raised.btn-info:disabled.focus, .btn-raised.btn-info.custom-file-control:disabled.focus::before,
+ .btn-group-raised .btn.btn-info.disabled:focus,
+ .btn-group-raised .btn-info.disabled.custom-file-control:focus::before,
+ .btn-group-raised .btn.btn-info.disabled.focus,
+ .btn-group-raised .btn-info.disabled.focus.custom-file-control::before,
+ .btn-group-raised .btn.btn-info:disabled:focus,
+ .btn-group-raised .btn-info.custom-file-control:disabled:focus::before,
+ .btn-group-raised .btn.btn-info:disabled.focus,
+ .btn-group-raised .btn-info.custom-file-control:disabled.focus::before {
+ background-color: #03a9f4;
+ border-color: #03a9f4; }
+ .btn.bmd-btn-fab.btn-info.disabled:hover, .bmd-btn-fab.btn-info.disabled.custom-file-control:hover::before, .btn.bmd-btn-fab.btn-info:disabled:hover, .bmd-btn-fab.btn-info.custom-file-control:disabled:hover::before, .btn.btn-raised.btn-info.disabled:hover, .btn-raised.btn-info.disabled.custom-file-control:hover::before, .btn.btn-raised.btn-info:disabled:hover, .btn-raised.btn-info.custom-file-control:disabled:hover::before,
+ .btn-group-raised .btn.btn-info.disabled:hover,
+ .btn-group-raised .btn-info.disabled.custom-file-control:hover::before,
+ .btn-group-raised .btn.btn-info:disabled:hover,
+ .btn-group-raised .btn-info.custom-file-control:disabled:hover::before {
+ background-color: #03a9f4;
+ border-color: #03a9f4; }
+ .btn.bmd-btn-fab.btn-success, .bmd-btn-fab.btn-success.custom-file-control::before, .btn.btn-raised.btn-success, .btn-raised.btn-success.custom-file-control::before,
+ .btn-group-raised .btn.btn-success,
+ .btn-group-raised .btn-success.custom-file-control::before {
+ color: #fff;
+ background-color: #4caf50;
+ border-color: #4caf50; }
+ .btn.bmd-btn-fab.btn-success:hover, .bmd-btn-fab.btn-success.custom-file-control:hover::before, .btn.btn-raised.btn-success:hover, .btn-raised.btn-success.custom-file-control:hover::before,
+ .btn-group-raised .btn.btn-success:hover,
+ .btn-group-raised .btn-success.custom-file-control:hover::before {
+ color: #fff;
+ background-color: #46a149;
+ border-color: #39843c; }
+ .btn.bmd-btn-fab.btn-success:focus, .bmd-btn-fab.btn-success.custom-file-control:focus::before, .btn.bmd-btn-fab.btn-success.focus, .bmd-btn-fab.btn-success.focus.custom-file-control::before, .btn.btn-raised.btn-success:focus, .btn-raised.btn-success.custom-file-control:focus::before, .btn.btn-raised.btn-success.focus, .btn-raised.btn-success.focus.custom-file-control::before,
+ .btn-group-raised .btn.btn-success:focus,
+ .btn-group-raised .btn-success.custom-file-control:focus::before,
+ .btn-group-raised .btn.btn-success.focus,
+ .btn-group-raised .btn-success.focus.custom-file-control::before {
+ color: #fff;
+ background-color: #46a149;
+ border-color: #39843c; }
+ .btn.bmd-btn-fab.btn-success:active, .bmd-btn-fab.btn-success.custom-file-control:active::before, .btn.bmd-btn-fab.btn-success.active, .bmd-btn-fab.btn-success.active.custom-file-control::before,
+ .open > .btn.bmd-btn-fab.btn-success.dropdown-toggle,
+ .open > .bmd-btn-fab.btn-success.dropdown-toggle.custom-file-control::before, .btn.btn-raised.btn-success:active, .btn-raised.btn-success.custom-file-control:active::before, .btn.btn-raised.btn-success.active, .btn-raised.btn-success.active.custom-file-control::before,
+ .open > .btn.btn-raised.btn-success.dropdown-toggle,
+ .open > .btn-raised.btn-success.dropdown-toggle.custom-file-control::before,
+ .btn-group-raised .btn.btn-success:active,
+ .btn-group-raised .btn-success.custom-file-control:active::before,
+ .btn-group-raised .btn.btn-success.active,
+ .btn-group-raised .btn-success.active.custom-file-control::before,
+ .open >
+ .btn-group-raised .btn.btn-success.dropdown-toggle,
+ .open >
+ .btn-group-raised .btn-success.dropdown-toggle.custom-file-control::before {
+ color: #fff;
+ background-color: #46a149;
+ border-color: #39843c; }
+ .btn.bmd-btn-fab.btn-success:active:hover, .bmd-btn-fab.btn-success.custom-file-control:active:hover::before, .btn.bmd-btn-fab.btn-success:active:focus, .bmd-btn-fab.btn-success.custom-file-control:active:focus::before, .btn.bmd-btn-fab.btn-success:active.focus, .bmd-btn-fab.btn-success.custom-file-control:active.focus::before, .btn.bmd-btn-fab.btn-success.active:hover, .bmd-btn-fab.btn-success.active.custom-file-control:hover::before, .btn.bmd-btn-fab.btn-success.active:focus, .bmd-btn-fab.btn-success.active.custom-file-control:focus::before, .btn.bmd-btn-fab.btn-success.active.focus, .bmd-btn-fab.btn-success.active.focus.custom-file-control::before,
+ .open > .btn.bmd-btn-fab.btn-success.dropdown-toggle:hover,
+ .open > .bmd-btn-fab.btn-success.dropdown-toggle.custom-file-control:hover::before,
+ .open > .btn.bmd-btn-fab.btn-success.dropdown-toggle:focus,
+ .open > .bmd-btn-fab.btn-success.dropdown-toggle.custom-file-control:focus::before,
+ .open > .btn.bmd-btn-fab.btn-success.dropdown-toggle.focus,
+ .open > .bmd-btn-fab.btn-success.dropdown-toggle.focus.custom-file-control::before, .btn.btn-raised.btn-success:active:hover, .btn-raised.btn-success.custom-file-control:active:hover::before, .btn.btn-raised.btn-success:active:focus, .btn-raised.btn-success.custom-file-control:active:focus::before, .btn.btn-raised.btn-success:active.focus, .btn-raised.btn-success.custom-file-control:active.focus::before, .btn.btn-raised.btn-success.active:hover, .btn-raised.btn-success.active.custom-file-control:hover::before, .btn.btn-raised.btn-success.active:focus, .btn-raised.btn-success.active.custom-file-control:focus::before, .btn.btn-raised.btn-success.active.focus, .btn-raised.btn-success.active.focus.custom-file-control::before,
+ .open > .btn.btn-raised.btn-success.dropdown-toggle:hover,
+ .open > .btn-raised.btn-success.dropdown-toggle.custom-file-control:hover::before,
+ .open > .btn.btn-raised.btn-success.dropdown-toggle:focus,
+ .open > .btn-raised.btn-success.dropdown-toggle.custom-file-control:focus::before,
+ .open > .btn.btn-raised.btn-success.dropdown-toggle.focus,
+ .open > .btn-raised.btn-success.dropdown-toggle.focus.custom-file-control::before,
+ .btn-group-raised .btn.btn-success:active:hover,
+ .btn-group-raised .btn-success.custom-file-control:active:hover::before,
+ .btn-group-raised .btn.btn-success:active:focus,
+ .btn-group-raised .btn-success.custom-file-control:active:focus::before,
+ .btn-group-raised .btn.btn-success:active.focus,
+ .btn-group-raised .btn-success.custom-file-control:active.focus::before,
+ .btn-group-raised .btn.btn-success.active:hover,
+ .btn-group-raised .btn-success.active.custom-file-control:hover::before,
+ .btn-group-raised .btn.btn-success.active:focus,
+ .btn-group-raised .btn-success.active.custom-file-control:focus::before,
+ .btn-group-raised .btn.btn-success.active.focus,
+ .btn-group-raised .btn-success.active.focus.custom-file-control::before,
+ .open >
+ .btn-group-raised .btn.btn-success.dropdown-toggle:hover,
+ .open >
+ .btn-group-raised .btn-success.dropdown-toggle.custom-file-control:hover::before,
+ .open >
+ .btn-group-raised .btn.btn-success.dropdown-toggle:focus,
+ .open >
+ .btn-group-raised .btn-success.dropdown-toggle.custom-file-control:focus::before,
+ .open >
+ .btn-group-raised .btn.btn-success.dropdown-toggle.focus,
+ .open >
+ .btn-group-raised .btn-success.dropdown-toggle.focus.custom-file-control::before {
+ color: #fff;
+ background-color: #46a149;
+ border-color: #255627; }
+ .open > .btn.bmd-btn-fab.btn-success.dropdown-toggle.bmd-btn-icon, .open > .bmd-btn-fab.btn-success.dropdown-toggle.bmd-btn-icon.custom-file-control::before, .open > .btn.btn-raised.btn-success.dropdown-toggle.bmd-btn-icon, .open > .btn-raised.btn-success.dropdown-toggle.bmd-btn-icon.custom-file-control::before, .open >
+ .btn-group-raised .btn.btn-success.dropdown-toggle.bmd-btn-icon, .open >
+ .btn-group-raised .btn-success.dropdown-toggle.bmd-btn-icon.custom-file-control::before {
+ color: inherit;
+ background-color: #4caf50; }
+ .open > .btn.bmd-btn-fab.btn-success.dropdown-toggle.bmd-btn-icon:hover, .open > .bmd-btn-fab.btn-success.dropdown-toggle.bmd-btn-icon.custom-file-control:hover::before, .open > .btn.btn-raised.btn-success.dropdown-toggle.bmd-btn-icon:hover, .open > .btn-raised.btn-success.dropdown-toggle.bmd-btn-icon.custom-file-control:hover::before, .open >
+ .btn-group-raised .btn.btn-success.dropdown-toggle.bmd-btn-icon:hover, .open >
+ .btn-group-raised .btn-success.dropdown-toggle.bmd-btn-icon.custom-file-control:hover::before {
+ background-color: #46a149; }
+ .btn.bmd-btn-fab.btn-success.disabled:focus, .bmd-btn-fab.btn-success.disabled.custom-file-control:focus::before, .btn.bmd-btn-fab.btn-success.disabled.focus, .bmd-btn-fab.btn-success.disabled.focus.custom-file-control::before, .btn.bmd-btn-fab.btn-success:disabled:focus, .bmd-btn-fab.btn-success.custom-file-control:disabled:focus::before, .btn.bmd-btn-fab.btn-success:disabled.focus, .bmd-btn-fab.btn-success.custom-file-control:disabled.focus::before, .btn.btn-raised.btn-success.disabled:focus, .btn-raised.btn-success.disabled.custom-file-control:focus::before, .btn.btn-raised.btn-success.disabled.focus, .btn-raised.btn-success.disabled.focus.custom-file-control::before, .btn.btn-raised.btn-success:disabled:focus, .btn-raised.btn-success.custom-file-control:disabled:focus::before, .btn.btn-raised.btn-success:disabled.focus, .btn-raised.btn-success.custom-file-control:disabled.focus::before,
+ .btn-group-raised .btn.btn-success.disabled:focus,
+ .btn-group-raised .btn-success.disabled.custom-file-control:focus::before,
+ .btn-group-raised .btn.btn-success.disabled.focus,
+ .btn-group-raised .btn-success.disabled.focus.custom-file-control::before,
+ .btn-group-raised .btn.btn-success:disabled:focus,
+ .btn-group-raised .btn-success.custom-file-control:disabled:focus::before,
+ .btn-group-raised .btn.btn-success:disabled.focus,
+ .btn-group-raised .btn-success.custom-file-control:disabled.focus::before {
+ background-color: #4caf50;
+ border-color: #4caf50; }
+ .btn.bmd-btn-fab.btn-success.disabled:hover, .bmd-btn-fab.btn-success.disabled.custom-file-control:hover::before, .btn.bmd-btn-fab.btn-success:disabled:hover, .bmd-btn-fab.btn-success.custom-file-control:disabled:hover::before, .btn.btn-raised.btn-success.disabled:hover, .btn-raised.btn-success.disabled.custom-file-control:hover::before, .btn.btn-raised.btn-success:disabled:hover, .btn-raised.btn-success.custom-file-control:disabled:hover::before,
+ .btn-group-raised .btn.btn-success.disabled:hover,
+ .btn-group-raised .btn-success.disabled.custom-file-control:hover::before,
+ .btn-group-raised .btn.btn-success:disabled:hover,
+ .btn-group-raised .btn-success.custom-file-control:disabled:hover::before {
+ background-color: #4caf50;
+ border-color: #4caf50; }
+ .btn.bmd-btn-fab.btn-warning, .bmd-btn-fab.btn-warning.custom-file-control::before, .btn.btn-raised.btn-warning, .btn-raised.btn-warning.custom-file-control::before,
+ .btn-group-raised .btn.btn-warning,
+ .btn-group-raised .btn-warning.custom-file-control::before {
+ color: #fff;
+ background-color: #ff5722;
+ border-color: #ff5722; }
+ .btn.bmd-btn-fab.btn-warning:hover, .bmd-btn-fab.btn-warning.custom-file-control:hover::before, .btn.btn-raised.btn-warning:hover, .btn-raised.btn-warning.custom-file-control:hover::before,
+ .btn-group-raised .btn.btn-warning:hover,
+ .btn-group-raised .btn-warning.custom-file-control:hover::before {
+ color: #fff;
+ background-color: #ff470e;
+ border-color: #e43700; }
+ .btn.bmd-btn-fab.btn-warning:focus, .bmd-btn-fab.btn-warning.custom-file-control:focus::before, .btn.bmd-btn-fab.btn-warning.focus, .bmd-btn-fab.btn-warning.focus.custom-file-control::before, .btn.btn-raised.btn-warning:focus, .btn-raised.btn-warning.custom-file-control:focus::before, .btn.btn-raised.btn-warning.focus, .btn-raised.btn-warning.focus.custom-file-control::before,
+ .btn-group-raised .btn.btn-warning:focus,
+ .btn-group-raised .btn-warning.custom-file-control:focus::before,
+ .btn-group-raised .btn.btn-warning.focus,
+ .btn-group-raised .btn-warning.focus.custom-file-control::before {
+ color: #fff;
+ background-color: #ff470e;
+ border-color: #e43700; }
+ .btn.bmd-btn-fab.btn-warning:active, .bmd-btn-fab.btn-warning.custom-file-control:active::before, .btn.bmd-btn-fab.btn-warning.active, .bmd-btn-fab.btn-warning.active.custom-file-control::before,
+ .open > .btn.bmd-btn-fab.btn-warning.dropdown-toggle,
+ .open > .bmd-btn-fab.btn-warning.dropdown-toggle.custom-file-control::before, .btn.btn-raised.btn-warning:active, .btn-raised.btn-warning.custom-file-control:active::before, .btn.btn-raised.btn-warning.active, .btn-raised.btn-warning.active.custom-file-control::before,
+ .open > .btn.btn-raised.btn-warning.dropdown-toggle,
+ .open > .btn-raised.btn-warning.dropdown-toggle.custom-file-control::before,
+ .btn-group-raised .btn.btn-warning:active,
+ .btn-group-raised .btn-warning.custom-file-control:active::before,
+ .btn-group-raised .btn.btn-warning.active,
+ .btn-group-raised .btn-warning.active.custom-file-control::before,
+ .open >
+ .btn-group-raised .btn.btn-warning.dropdown-toggle,
+ .open >
+ .btn-group-raised .btn-warning.dropdown-toggle.custom-file-control::before {
+ color: #fff;
+ background-color: #ff470e;
+ border-color: #e43700; }
+ .btn.bmd-btn-fab.btn-warning:active:hover, .bmd-btn-fab.btn-warning.custom-file-control:active:hover::before, .btn.bmd-btn-fab.btn-warning:active:focus, .bmd-btn-fab.btn-warning.custom-file-control:active:focus::before, .btn.bmd-btn-fab.btn-warning:active.focus, .bmd-btn-fab.btn-warning.custom-file-control:active.focus::before, .btn.bmd-btn-fab.btn-warning.active:hover, .bmd-btn-fab.btn-warning.active.custom-file-control:hover::before, .btn.bmd-btn-fab.btn-warning.active:focus, .bmd-btn-fab.btn-warning.active.custom-file-control:focus::before, .btn.bmd-btn-fab.btn-warning.active.focus, .bmd-btn-fab.btn-warning.active.focus.custom-file-control::before,
+ .open > .btn.bmd-btn-fab.btn-warning.dropdown-toggle:hover,
+ .open > .bmd-btn-fab.btn-warning.dropdown-toggle.custom-file-control:hover::before,
+ .open > .btn.bmd-btn-fab.btn-warning.dropdown-toggle:focus,
+ .open > .bmd-btn-fab.btn-warning.dropdown-toggle.custom-file-control:focus::before,
+ .open > .btn.bmd-btn-fab.btn-warning.dropdown-toggle.focus,
+ .open > .bmd-btn-fab.btn-warning.dropdown-toggle.focus.custom-file-control::before, .btn.btn-raised.btn-warning:active:hover, .btn-raised.btn-warning.custom-file-control:active:hover::before, .btn.btn-raised.btn-warning:active:focus, .btn-raised.btn-warning.custom-file-control:active:focus::before, .btn.btn-raised.btn-warning:active.focus, .btn-raised.btn-warning.custom-file-control:active.focus::before, .btn.btn-raised.btn-warning.active:hover, .btn-raised.btn-warning.active.custom-file-control:hover::before, .btn.btn-raised.btn-warning.active:focus, .btn-raised.btn-warning.active.custom-file-control:focus::before, .btn.btn-raised.btn-warning.active.focus, .btn-raised.btn-warning.active.focus.custom-file-control::before,
+ .open > .btn.btn-raised.btn-warning.dropdown-toggle:hover,
+ .open > .btn-raised.btn-warning.dropdown-toggle.custom-file-control:hover::before,
+ .open > .btn.btn-raised.btn-warning.dropdown-toggle:focus,
+ .open > .btn-raised.btn-warning.dropdown-toggle.custom-file-control:focus::before,
+ .open > .btn.btn-raised.btn-warning.dropdown-toggle.focus,
+ .open > .btn-raised.btn-warning.dropdown-toggle.focus.custom-file-control::before,
+ .btn-group-raised .btn.btn-warning:active:hover,
+ .btn-group-raised .btn-warning.custom-file-control:active:hover::before,
+ .btn-group-raised .btn.btn-warning:active:focus,
+ .btn-group-raised .btn-warning.custom-file-control:active:focus::before,
+ .btn-group-raised .btn.btn-warning:active.focus,
+ .btn-group-raised .btn-warning.custom-file-control:active.focus::before,
+ .btn-group-raised .btn.btn-warning.active:hover,
+ .btn-group-raised .btn-warning.active.custom-file-control:hover::before,
+ .btn-group-raised .btn.btn-warning.active:focus,
+ .btn-group-raised .btn-warning.active.custom-file-control:focus::before,
+ .btn-group-raised .btn.btn-warning.active.focus,
+ .btn-group-raised .btn-warning.active.focus.custom-file-control::before,
+ .open >
+ .btn-group-raised .btn.btn-warning.dropdown-toggle:hover,
+ .open >
+ .btn-group-raised .btn-warning.dropdown-toggle.custom-file-control:hover::before,
+ .open >
+ .btn-group-raised .btn.btn-warning.dropdown-toggle:focus,
+ .open >
+ .btn-group-raised .btn-warning.dropdown-toggle.custom-file-control:focus::before,
+ .open >
+ .btn-group-raised .btn.btn-warning.dropdown-toggle.focus,
+ .open >
+ .btn-group-raised .btn-warning.dropdown-toggle.focus.custom-file-control::before {
+ color: #fff;
+ background-color: #ff470e;
+ border-color: #a22700; }
+ .open > .btn.bmd-btn-fab.btn-warning.dropdown-toggle.bmd-btn-icon, .open > .bmd-btn-fab.btn-warning.dropdown-toggle.bmd-btn-icon.custom-file-control::before, .open > .btn.btn-raised.btn-warning.dropdown-toggle.bmd-btn-icon, .open > .btn-raised.btn-warning.dropdown-toggle.bmd-btn-icon.custom-file-control::before, .open >
+ .btn-group-raised .btn.btn-warning.dropdown-toggle.bmd-btn-icon, .open >
+ .btn-group-raised .btn-warning.dropdown-toggle.bmd-btn-icon.custom-file-control::before {
+ color: inherit;
+ background-color: #ff5722; }
+ .open > .btn.bmd-btn-fab.btn-warning.dropdown-toggle.bmd-btn-icon:hover, .open > .bmd-btn-fab.btn-warning.dropdown-toggle.bmd-btn-icon.custom-file-control:hover::before, .open > .btn.btn-raised.btn-warning.dropdown-toggle.bmd-btn-icon:hover, .open > .btn-raised.btn-warning.dropdown-toggle.bmd-btn-icon.custom-file-control:hover::before, .open >
+ .btn-group-raised .btn.btn-warning.dropdown-toggle.bmd-btn-icon:hover, .open >
+ .btn-group-raised .btn-warning.dropdown-toggle.bmd-btn-icon.custom-file-control:hover::before {
+ background-color: #ff470e; }
+ .btn.bmd-btn-fab.btn-warning.disabled:focus, .bmd-btn-fab.btn-warning.disabled.custom-file-control:focus::before, .btn.bmd-btn-fab.btn-warning.disabled.focus, .bmd-btn-fab.btn-warning.disabled.focus.custom-file-control::before, .btn.bmd-btn-fab.btn-warning:disabled:focus, .bmd-btn-fab.btn-warning.custom-file-control:disabled:focus::before, .btn.bmd-btn-fab.btn-warning:disabled.focus, .bmd-btn-fab.btn-warning.custom-file-control:disabled.focus::before, .btn.btn-raised.btn-warning.disabled:focus, .btn-raised.btn-warning.disabled.custom-file-control:focus::before, .btn.btn-raised.btn-warning.disabled.focus, .btn-raised.btn-warning.disabled.focus.custom-file-control::before, .btn.btn-raised.btn-warning:disabled:focus, .btn-raised.btn-warning.custom-file-control:disabled:focus::before, .btn.btn-raised.btn-warning:disabled.focus, .btn-raised.btn-warning.custom-file-control:disabled.focus::before,
+ .btn-group-raised .btn.btn-warning.disabled:focus,
+ .btn-group-raised .btn-warning.disabled.custom-file-control:focus::before,
+ .btn-group-raised .btn.btn-warning.disabled.focus,
+ .btn-group-raised .btn-warning.disabled.focus.custom-file-control::before,
+ .btn-group-raised .btn.btn-warning:disabled:focus,
+ .btn-group-raised .btn-warning.custom-file-control:disabled:focus::before,
+ .btn-group-raised .btn.btn-warning:disabled.focus,
+ .btn-group-raised .btn-warning.custom-file-control:disabled.focus::before {
+ background-color: #ff5722;
+ border-color: #ff5722; }
+ .btn.bmd-btn-fab.btn-warning.disabled:hover, .bmd-btn-fab.btn-warning.disabled.custom-file-control:hover::before, .btn.bmd-btn-fab.btn-warning:disabled:hover, .bmd-btn-fab.btn-warning.custom-file-control:disabled:hover::before, .btn.btn-raised.btn-warning.disabled:hover, .btn-raised.btn-warning.disabled.custom-file-control:hover::before, .btn.btn-raised.btn-warning:disabled:hover, .btn-raised.btn-warning.custom-file-control:disabled:hover::before,
+ .btn-group-raised .btn.btn-warning.disabled:hover,
+ .btn-group-raised .btn-warning.disabled.custom-file-control:hover::before,
+ .btn-group-raised .btn.btn-warning:disabled:hover,
+ .btn-group-raised .btn-warning.custom-file-control:disabled:hover::before {
+ background-color: #ff5722;
+ border-color: #ff5722; }
+ .btn.bmd-btn-fab.btn-danger, .bmd-btn-fab.btn-danger.custom-file-control::before, .btn.btn-raised.btn-danger, .btn-raised.btn-danger.custom-file-control::before,
+ .btn-group-raised .btn.btn-danger,
+ .btn-group-raised .btn-danger.custom-file-control::before {
+ color: #fff;
+ background-color: #f44336;
+ border-color: #f44336; }
+ .btn.bmd-btn-fab.btn-danger:hover, .bmd-btn-fab.btn-danger.custom-file-control:hover::before, .btn.btn-raised.btn-danger:hover, .btn-raised.btn-danger.custom-file-control:hover::before,
+ .btn-group-raised .btn.btn-danger:hover,
+ .btn-group-raised .btn-danger.custom-file-control:hover::before {
+ color: #fff;
+ background-color: #f55549;
+ border-color: #e11b0c; }
+ .btn.bmd-btn-fab.btn-danger:focus, .bmd-btn-fab.btn-danger.custom-file-control:focus::before, .btn.bmd-btn-fab.btn-danger.focus, .bmd-btn-fab.btn-danger.focus.custom-file-control::before, .btn.btn-raised.btn-danger:focus, .btn-raised.btn-danger.custom-file-control:focus::before, .btn.btn-raised.btn-danger.focus, .btn-raised.btn-danger.focus.custom-file-control::before,
+ .btn-group-raised .btn.btn-danger:focus,
+ .btn-group-raised .btn-danger.custom-file-control:focus::before,
+ .btn-group-raised .btn.btn-danger.focus,
+ .btn-group-raised .btn-danger.focus.custom-file-control::before {
+ color: #fff;
+ background-color: #f55549;
+ border-color: #e11b0c; }
+ .btn.bmd-btn-fab.btn-danger:active, .bmd-btn-fab.btn-danger.custom-file-control:active::before, .btn.bmd-btn-fab.btn-danger.active, .bmd-btn-fab.btn-danger.active.custom-file-control::before,
+ .open > .btn.bmd-btn-fab.btn-danger.dropdown-toggle,
+ .open > .bmd-btn-fab.btn-danger.dropdown-toggle.custom-file-control::before, .btn.btn-raised.btn-danger:active, .btn-raised.btn-danger.custom-file-control:active::before, .btn.btn-raised.btn-danger.active, .btn-raised.btn-danger.active.custom-file-control::before,
+ .open > .btn.btn-raised.btn-danger.dropdown-toggle,
+ .open > .btn-raised.btn-danger.dropdown-toggle.custom-file-control::before,
+ .btn-group-raised .btn.btn-danger:active,
+ .btn-group-raised .btn-danger.custom-file-control:active::before,
+ .btn-group-raised .btn.btn-danger.active,
+ .btn-group-raised .btn-danger.active.custom-file-control::before,
+ .open >
+ .btn-group-raised .btn.btn-danger.dropdown-toggle,
+ .open >
+ .btn-group-raised .btn-danger.dropdown-toggle.custom-file-control::before {
+ color: #fff;
+ background-color: #f55549;
+ border-color: #e11b0c; }
+ .btn.bmd-btn-fab.btn-danger:active:hover, .bmd-btn-fab.btn-danger.custom-file-control:active:hover::before, .btn.bmd-btn-fab.btn-danger:active:focus, .bmd-btn-fab.btn-danger.custom-file-control:active:focus::before, .btn.bmd-btn-fab.btn-danger:active.focus, .bmd-btn-fab.btn-danger.custom-file-control:active.focus::before, .btn.bmd-btn-fab.btn-danger.active:hover, .bmd-btn-fab.btn-danger.active.custom-file-control:hover::before, .btn.bmd-btn-fab.btn-danger.active:focus, .bmd-btn-fab.btn-danger.active.custom-file-control:focus::before, .btn.bmd-btn-fab.btn-danger.active.focus, .bmd-btn-fab.btn-danger.active.focus.custom-file-control::before,
+ .open > .btn.bmd-btn-fab.btn-danger.dropdown-toggle:hover,
+ .open > .bmd-btn-fab.btn-danger.dropdown-toggle.custom-file-control:hover::before,
+ .open > .btn.bmd-btn-fab.btn-danger.dropdown-toggle:focus,
+ .open > .bmd-btn-fab.btn-danger.dropdown-toggle.custom-file-control:focus::before,
+ .open > .btn.bmd-btn-fab.btn-danger.dropdown-toggle.focus,
+ .open > .bmd-btn-fab.btn-danger.dropdown-toggle.focus.custom-file-control::before, .btn.btn-raised.btn-danger:active:hover, .btn-raised.btn-danger.custom-file-control:active:hover::before, .btn.btn-raised.btn-danger:active:focus, .btn-raised.btn-danger.custom-file-control:active:focus::before, .btn.btn-raised.btn-danger:active.focus, .btn-raised.btn-danger.custom-file-control:active.focus::before, .btn.btn-raised.btn-danger.active:hover, .btn-raised.btn-danger.active.custom-file-control:hover::before, .btn.btn-raised.btn-danger.active:focus, .btn-raised.btn-danger.active.custom-file-control:focus::before, .btn.btn-raised.btn-danger.active.focus, .btn-raised.btn-danger.active.focus.custom-file-control::before,
+ .open > .btn.btn-raised.btn-danger.dropdown-toggle:hover,
+ .open > .btn-raised.btn-danger.dropdown-toggle.custom-file-control:hover::before,
+ .open > .btn.btn-raised.btn-danger.dropdown-toggle:focus,
+ .open > .btn-raised.btn-danger.dropdown-toggle.custom-file-control:focus::before,
+ .open > .btn.btn-raised.btn-danger.dropdown-toggle.focus,
+ .open > .btn-raised.btn-danger.dropdown-toggle.focus.custom-file-control::before,
+ .btn-group-raised .btn.btn-danger:active:hover,
+ .btn-group-raised .btn-danger.custom-file-control:active:hover::before,
+ .btn-group-raised .btn.btn-danger:active:focus,
+ .btn-group-raised .btn-danger.custom-file-control:active:focus::before,
+ .btn-group-raised .btn.btn-danger:active.focus,
+ .btn-group-raised .btn-danger.custom-file-control:active.focus::before,
+ .btn-group-raised .btn.btn-danger.active:hover,
+ .btn-group-raised .btn-danger.active.custom-file-control:hover::before,
+ .btn-group-raised .btn.btn-danger.active:focus,
+ .btn-group-raised .btn-danger.active.custom-file-control:focus::before,
+ .btn-group-raised .btn.btn-danger.active.focus,
+ .btn-group-raised .btn-danger.active.focus.custom-file-control::before,
+ .open >
+ .btn-group-raised .btn.btn-danger.dropdown-toggle:hover,
+ .open >
+ .btn-group-raised .btn-danger.dropdown-toggle.custom-file-control:hover::before,
+ .open >
+ .btn-group-raised .btn.btn-danger.dropdown-toggle:focus,
+ .open >
+ .btn-group-raised .btn-danger.dropdown-toggle.custom-file-control:focus::before,
+ .open >
+ .btn-group-raised .btn.btn-danger.dropdown-toggle.focus,
+ .open >
+ .btn-group-raised .btn-danger.dropdown-toggle.focus.custom-file-control::before {
+ color: #fff;
+ background-color: #f55549;
+ border-color: #a21309; }
+ .open > .btn.bmd-btn-fab.btn-danger.dropdown-toggle.bmd-btn-icon, .open > .bmd-btn-fab.btn-danger.dropdown-toggle.bmd-btn-icon.custom-file-control::before, .open > .btn.btn-raised.btn-danger.dropdown-toggle.bmd-btn-icon, .open > .btn-raised.btn-danger.dropdown-toggle.bmd-btn-icon.custom-file-control::before, .open >
+ .btn-group-raised .btn.btn-danger.dropdown-toggle.bmd-btn-icon, .open >
+ .btn-group-raised .btn-danger.dropdown-toggle.bmd-btn-icon.custom-file-control::before {
+ color: inherit;
+ background-color: #f44336; }
+ .open > .btn.bmd-btn-fab.btn-danger.dropdown-toggle.bmd-btn-icon:hover, .open > .bmd-btn-fab.btn-danger.dropdown-toggle.bmd-btn-icon.custom-file-control:hover::before, .open > .btn.btn-raised.btn-danger.dropdown-toggle.bmd-btn-icon:hover, .open > .btn-raised.btn-danger.dropdown-toggle.bmd-btn-icon.custom-file-control:hover::before, .open >
+ .btn-group-raised .btn.btn-danger.dropdown-toggle.bmd-btn-icon:hover, .open >
+ .btn-group-raised .btn-danger.dropdown-toggle.bmd-btn-icon.custom-file-control:hover::before {
+ background-color: #f55549; }
+ .btn.bmd-btn-fab.btn-danger.disabled:focus, .bmd-btn-fab.btn-danger.disabled.custom-file-control:focus::before, .btn.bmd-btn-fab.btn-danger.disabled.focus, .bmd-btn-fab.btn-danger.disabled.focus.custom-file-control::before, .btn.bmd-btn-fab.btn-danger:disabled:focus, .bmd-btn-fab.btn-danger.custom-file-control:disabled:focus::before, .btn.bmd-btn-fab.btn-danger:disabled.focus, .bmd-btn-fab.btn-danger.custom-file-control:disabled.focus::before, .btn.btn-raised.btn-danger.disabled:focus, .btn-raised.btn-danger.disabled.custom-file-control:focus::before, .btn.btn-raised.btn-danger.disabled.focus, .btn-raised.btn-danger.disabled.focus.custom-file-control::before, .btn.btn-raised.btn-danger:disabled:focus, .btn-raised.btn-danger.custom-file-control:disabled:focus::before, .btn.btn-raised.btn-danger:disabled.focus, .btn-raised.btn-danger.custom-file-control:disabled.focus::before,
+ .btn-group-raised .btn.btn-danger.disabled:focus,
+ .btn-group-raised .btn-danger.disabled.custom-file-control:focus::before,
+ .btn-group-raised .btn.btn-danger.disabled.focus,
+ .btn-group-raised .btn-danger.disabled.focus.custom-file-control::before,
+ .btn-group-raised .btn.btn-danger:disabled:focus,
+ .btn-group-raised .btn-danger.custom-file-control:disabled:focus::before,
+ .btn-group-raised .btn.btn-danger:disabled.focus,
+ .btn-group-raised .btn-danger.custom-file-control:disabled.focus::before {
+ background-color: #f44336;
+ border-color: #f44336; }
+ .btn.bmd-btn-fab.btn-danger.disabled:hover, .bmd-btn-fab.btn-danger.disabled.custom-file-control:hover::before, .btn.bmd-btn-fab.btn-danger:disabled:hover, .bmd-btn-fab.btn-danger.custom-file-control:disabled:hover::before, .btn.btn-raised.btn-danger.disabled:hover, .btn-raised.btn-danger.disabled.custom-file-control:hover::before, .btn.btn-raised.btn-danger:disabled:hover, .btn-raised.btn-danger.custom-file-control:disabled:hover::before,
+ .btn-group-raised .btn.btn-danger.disabled:hover,
+ .btn-group-raised .btn-danger.disabled.custom-file-control:hover::before,
+ .btn-group-raised .btn.btn-danger:disabled:hover,
+ .btn-group-raised .btn-danger.custom-file-control:disabled:hover::before {
+ background-color: #f44336;
+ border-color: #f44336; }
+ .btn.bmd-btn-fab:focus, .bmd-btn-fab.custom-file-control:focus::before, .btn.bmd-btn-fab:hover, .bmd-btn-fab.custom-file-control:hover::before, .btn.btn-raised:focus, .btn-raised.custom-file-control:focus::before, .btn.btn-raised:hover, .btn-raised.custom-file-control:hover::before,
+ .btn-group-raised .btn:focus,
+ .btn-group-raised .custom-file-control:focus::before,
+ .btn-group-raised .btn:hover,
+ .btn-group-raised .custom-file-control:hover::before {
+ z-index: 1;
+ -webkit-box-shadow: 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12), 0 2px 4px -1px rgba(0, 0, 0, 0.2);
+ box-shadow: 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12), 0 2px 4px -1px rgba(0, 0, 0, 0.2); }
+ .btn.bmd-btn-fab.active, .bmd-btn-fab.active.custom-file-control::before, .btn.bmd-btn-fab:active, .bmd-btn-fab.custom-file-control:active::before, .btn.btn-raised.active, .btn-raised.active.custom-file-control::before, .btn.btn-raised:active, .btn-raised.custom-file-control:active::before,
+ .btn-group-raised .btn.active,
+ .btn-group-raised .active.custom-file-control::before,
+ .btn-group-raised .btn:active,
+ .btn-group-raised .custom-file-control:active::before {
+ z-index: 1;
+ -webkit-box-shadow: 0 0 8px rgba(0, 0, 0, 0.18), 0 8px 16px rgba(0, 0, 0, 0.36);
+ box-shadow: 0 0 8px rgba(0, 0, 0, 0.18), 0 8px 16px rgba(0, 0, 0, 0.36); }
+ .btn.btn-raised, .btn-raised.custom-file-control::before,
+ .btn-group-raised .btn,
+ .btn-group-raised .custom-file-control::before {
+ -webkit-box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 1px 5px 0 rgba(0, 0, 0, 0.12);
+ box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 1px 5px 0 rgba(0, 0, 0, 0.12); }
+ .btn.btn-raised.btn-link, .btn-raised.btn-link.custom-file-control::before,
+ .btn-group-raised .btn.btn-link,
+ .btn-group-raised .btn-link.custom-file-control::before {
+ -webkit-box-shadow: none;
+ box-shadow: none; }
+ .btn.btn-raised.btn-link.active, .btn-raised.btn-link.active.custom-file-control::before,
+ .btn-group-raised .btn.btn-link.active,
+ .btn-group-raised .btn-link.active.custom-file-control::before {
+ -webkit-box-shadow: none;
+ box-shadow: none; }
+ .btn.btn-raised.btn-link:focus, .btn-raised.btn-link.custom-file-control:focus::before, .btn.btn-raised.btn-link:active, .btn-raised.btn-link.custom-file-control:active::before, .btn.btn-raised.btn-link:hover, .btn-raised.btn-link.custom-file-control:hover::before,
+ .btn-group-raised .btn.btn-link:focus,
+ .btn-group-raised .btn-link.custom-file-control:focus::before,
+ .btn-group-raised .btn.btn-link:active,
+ .btn-group-raised .btn-link.custom-file-control:active::before,
+ .btn-group-raised .btn.btn-link:hover,
+ .btn-group-raised .btn-link.custom-file-control:hover::before {
+ -webkit-box-shadow: none;
+ box-shadow: none; }
+ fieldset[disabled][disabled] .btn.btn-raised, fieldset[disabled][disabled] .btn-raised.custom-file-control::before, .btn.btn-raised.disabled, .btn-raised.disabled.custom-file-control::before, .btn.btn-raised:disabled, .btn-raised.custom-file-control:disabled::before, .btn.btn-raised[disabled], .btn-raised[disabled].custom-file-control::before, fieldset[disabled][disabled]
+ .btn-group-raised .btn, fieldset[disabled][disabled]
+ .btn-group-raised .custom-file-control::before,
+ .btn-group-raised .btn.disabled,
+ .btn-group-raised .disabled.custom-file-control::before,
+ .btn-group-raised .btn:disabled,
+ .btn-group-raised .custom-file-control:disabled::before,
+ .btn-group-raised .btn[disabled],
+ .btn-group-raised [disabled].custom-file-control::before {
+ -webkit-box-shadow: none;
+ box-shadow: none; }
+ .btn.btn-outline, .btn-outline.custom-file-control::before, .btn.btn-outline-primary, .btn-outline-primary.custom-file-control::before, .btn.btn-outline-secondary, .btn-outline-secondary.custom-file-control::before, .btn.btn-outline-info, .btn-outline-info.custom-file-control::before, .btn.btn-outline-success, .btn-outline-success.custom-file-control::before, .btn.btn-outline-warning, .btn-outline-warning.custom-file-control::before, .btn.btn-outline-danger, .btn-outline-danger.custom-file-control::before {
+ border-color: currentColor;
+ border-style: solid;
+ border-width: 1px; }
+ .btn.btn-outline, .btn-outline.custom-file-control::before {
+ color: rgba(0, 0, 0, 0.87);
+ background-color: inherit;
+ border-color: rgba(0, 0, 0, 0.87); }
+ .btn.btn-outline:hover, .btn-outline.custom-file-control:hover::before {
+ color: rgba(0, 0, 0, 0.87);
+ background-color: rgba(153, 153, 153, 0.2);
+ border-color: rgba(0, 0, 0, 0.87); }
+ .btn.btn-outline:focus, .btn-outline.custom-file-control:focus::before, .btn.btn-outline.focus, .btn-outline.focus.custom-file-control::before {
+ color: rgba(0, 0, 0, 0.87);
+ background-color: rgba(153, 153, 153, 0.2);
+ border-color: rgba(0, 0, 0, 0.87); }
+ .btn.btn-outline:active, .btn-outline.custom-file-control:active::before, .btn.btn-outline.active, .btn-outline.active.custom-file-control::before,
+ .open > .btn.btn-outline.dropdown-toggle,
+ .open > .btn-outline.dropdown-toggle.custom-file-control::before {
+ color: rgba(0, 0, 0, 0.87);
+ background-color: rgba(153, 153, 153, 0.2);
+ border-color: rgba(0, 0, 0, 0.87); }
+ .btn.btn-outline:active:hover, .btn-outline.custom-file-control:active:hover::before, .btn.btn-outline:active:focus, .btn-outline.custom-file-control:active:focus::before, .btn.btn-outline:active.focus, .btn-outline.custom-file-control:active.focus::before, .btn.btn-outline.active:hover, .btn-outline.active.custom-file-control:hover::before, .btn.btn-outline.active:focus, .btn-outline.active.custom-file-control:focus::before, .btn.btn-outline.active.focus, .btn-outline.active.focus.custom-file-control::before,
+ .open > .btn.btn-outline.dropdown-toggle:hover,
+ .open > .btn-outline.dropdown-toggle.custom-file-control:hover::before,
+ .open > .btn.btn-outline.dropdown-toggle:focus,
+ .open > .btn-outline.dropdown-toggle.custom-file-control:focus::before,
+ .open > .btn.btn-outline.dropdown-toggle.focus,
+ .open > .btn-outline.dropdown-toggle.focus.custom-file-control::before {
+ color: rgba(0, 0, 0, 0.87);
+ background-color: rgba(153, 153, 153, 0.4);
+ border-color: rgba(0, 0, 0, 0.87); }
+ .open > .btn.btn-outline.dropdown-toggle.bmd-btn-icon, .open > .btn-outline.dropdown-toggle.bmd-btn-icon.custom-file-control::before {
+ color: inherit;
+ background-color: inherit; }
+ .open > .btn.btn-outline.dropdown-toggle.bmd-btn-icon:hover, .open > .btn-outline.dropdown-toggle.bmd-btn-icon.custom-file-control:hover::before {
+ background-color: rgba(153, 153, 153, 0.2); }
+ .btn.btn-outline.disabled:focus, .btn-outline.disabled.custom-file-control:focus::before, .btn.btn-outline.disabled.focus, .btn-outline.disabled.focus.custom-file-control::before, .btn.btn-outline:disabled:focus, .btn-outline.custom-file-control:disabled:focus::before, .btn.btn-outline:disabled.focus, .btn-outline.custom-file-control:disabled.focus::before {
+ background-color: inherit;
+ border-color: rgba(0, 0, 0, 0.87); }
+ .btn.btn-outline.disabled:hover, .btn-outline.disabled.custom-file-control:hover::before, .btn.btn-outline:disabled:hover, .btn-outline.custom-file-control:disabled:hover::before {
+ background-color: inherit;
+ border-color: rgba(0, 0, 0, 0.87); }
+ .bg-inverse .btn.btn-outline, .bg-inverse .btn-outline.custom-file-control::before {
+ color: rgba(0, 0, 0, 0.87);
+ background-color: inherit;
+ border-color: rgba(0, 0, 0, 0.87); }
+ .bg-inverse .btn.btn-outline:hover, .bg-inverse .btn-outline.custom-file-control:hover::before {
+ color: rgba(0, 0, 0, 0.87);
+ background-color: rgba(204, 204, 204, 0.15);
+ border-color: rgba(204, 204, 204, 0.15); }
+ .bg-inverse .btn.btn-outline:focus, .bg-inverse .btn-outline.custom-file-control:focus::before, .bg-inverse .btn.btn-outline.focus, .bg-inverse .btn-outline.focus.custom-file-control::before {
+ color: rgba(0, 0, 0, 0.87);
+ background-color: rgba(204, 204, 204, 0.15);
+ border-color: rgba(204, 204, 204, 0.15); }
+ .bg-inverse .btn.btn-outline:active, .bg-inverse .btn-outline.custom-file-control:active::before, .bg-inverse .btn.btn-outline.active, .bg-inverse .btn-outline.active.custom-file-control::before,
+ .open > .bg-inverse .btn.btn-outline.dropdown-toggle,
+ .open > .bg-inverse .btn-outline.dropdown-toggle.custom-file-control::before {
+ color: rgba(0, 0, 0, 0.87);
+ background-color: rgba(204, 204, 204, 0.15);
+ border-color: rgba(204, 204, 204, 0.15); }
+ .bg-inverse .btn.btn-outline:active:hover, .bg-inverse .btn-outline.custom-file-control:active:hover::before, .bg-inverse .btn.btn-outline:active:focus, .bg-inverse .btn-outline.custom-file-control:active:focus::before, .bg-inverse .btn.btn-outline:active.focus, .bg-inverse .btn-outline.custom-file-control:active.focus::before, .bg-inverse .btn.btn-outline.active:hover, .bg-inverse .btn-outline.active.custom-file-control:hover::before, .bg-inverse .btn.btn-outline.active:focus, .bg-inverse .btn-outline.active.custom-file-control:focus::before, .bg-inverse .btn.btn-outline.active.focus, .bg-inverse .btn-outline.active.focus.custom-file-control::before,
+ .open > .bg-inverse .btn.btn-outline.dropdown-toggle:hover,
+ .open > .bg-inverse .btn-outline.dropdown-toggle.custom-file-control:hover::before,
+ .open > .bg-inverse .btn.btn-outline.dropdown-toggle:focus,
+ .open > .bg-inverse .btn-outline.dropdown-toggle.custom-file-control:focus::before,
+ .open > .bg-inverse .btn.btn-outline.dropdown-toggle.focus,
+ .open > .bg-inverse .btn-outline.dropdown-toggle.focus.custom-file-control::before {
+ color: rgba(0, 0, 0, 0.87);
+ background-color: rgba(204, 204, 204, 0.25);
+ border-color: rgba(204, 204, 204, 0.25); }
+ .open > .bg-inverse .btn.btn-outline.dropdown-toggle.bmd-btn-icon, .open > .bg-inverse .btn-outline.dropdown-toggle.bmd-btn-icon.custom-file-control::before {
+ color: inherit;
+ background-color: inherit; }
+ .open > .bg-inverse .btn.btn-outline.dropdown-toggle.bmd-btn-icon:hover, .open > .bg-inverse .btn-outline.dropdown-toggle.bmd-btn-icon.custom-file-control:hover::before {
+ background-color: rgba(204, 204, 204, 0.15); }
+ .bg-inverse .btn.btn-outline.disabled:focus, .bg-inverse .btn-outline.disabled.custom-file-control:focus::before, .bg-inverse .btn.btn-outline.disabled.focus, .bg-inverse .btn-outline.disabled.focus.custom-file-control::before, .bg-inverse .btn.btn-outline:disabled:focus, .bg-inverse .btn-outline.custom-file-control:disabled:focus::before, .bg-inverse .btn.btn-outline:disabled.focus, .bg-inverse .btn-outline.custom-file-control:disabled.focus::before {
+ background-color: inherit;
+ border-color: rgba(0, 0, 0, 0.87); }
+ .bg-inverse .btn.btn-outline.disabled:hover, .bg-inverse .btn-outline.disabled.custom-file-control:hover::before, .bg-inverse .btn.btn-outline:disabled:hover, .bg-inverse .btn-outline.custom-file-control:disabled:hover::before {
+ background-color: inherit;
+ border-color: rgba(0, 0, 0, 0.87); }
+ .btn.btn-outline.btn-link, .btn-outline.btn-link.custom-file-control::before {
+ background-color: transparent; }
+ .btn.btn-outline-primary, .btn-outline-primary.custom-file-control::before {
+ color: #009688;
+ background-color: inherit;
+ border-color: #009688; }
+ .btn.btn-outline-primary:hover, .btn-outline-primary.custom-file-control:hover::before {
+ color: #009688;
+ background-color: rgba(153, 153, 153, 0.2);
+ border-color: #009688; }
+ .btn.btn-outline-primary:focus, .btn-outline-primary.custom-file-control:focus::before, .btn.btn-outline-primary.focus, .btn-outline-primary.focus.custom-file-control::before {
+ color: #009688;
+ background-color: rgba(153, 153, 153, 0.2);
+ border-color: #009688; }
+ .btn.btn-outline-primary:active, .btn-outline-primary.custom-file-control:active::before, .btn.btn-outline-primary.active, .btn-outline-primary.active.custom-file-control::before,
+ .open > .btn.btn-outline-primary.dropdown-toggle,
+ .open > .btn-outline-primary.dropdown-toggle.custom-file-control::before {
+ color: #009688;
+ background-color: rgba(153, 153, 153, 0.2);
+ border-color: #009688; }
+ .btn.btn-outline-primary:active:hover, .btn-outline-primary.custom-file-control:active:hover::before, .btn.btn-outline-primary:active:focus, .btn-outline-primary.custom-file-control:active:focus::before, .btn.btn-outline-primary:active.focus, .btn-outline-primary.custom-file-control:active.focus::before, .btn.btn-outline-primary.active:hover, .btn-outline-primary.active.custom-file-control:hover::before, .btn.btn-outline-primary.active:focus, .btn-outline-primary.active.custom-file-control:focus::before, .btn.btn-outline-primary.active.focus, .btn-outline-primary.active.focus.custom-file-control::before,
+ .open > .btn.btn-outline-primary.dropdown-toggle:hover,
+ .open > .btn-outline-primary.dropdown-toggle.custom-file-control:hover::before,
+ .open > .btn.btn-outline-primary.dropdown-toggle:focus,
+ .open > .btn-outline-primary.dropdown-toggle.custom-file-control:focus::before,
+ .open > .btn.btn-outline-primary.dropdown-toggle.focus,
+ .open > .btn-outline-primary.dropdown-toggle.focus.custom-file-control::before {
+ color: #009688;
+ background-color: rgba(153, 153, 153, 0.4);
+ border-color: #009688; }
+ .open > .btn.btn-outline-primary.dropdown-toggle.bmd-btn-icon, .open > .btn-outline-primary.dropdown-toggle.bmd-btn-icon.custom-file-control::before {
+ color: inherit;
+ background-color: inherit; }
+ .open > .btn.btn-outline-primary.dropdown-toggle.bmd-btn-icon:hover, .open > .btn-outline-primary.dropdown-toggle.bmd-btn-icon.custom-file-control:hover::before {
+ background-color: rgba(153, 153, 153, 0.2); }
+ .btn.btn-outline-primary.disabled:focus, .btn-outline-primary.disabled.custom-file-control:focus::before, .btn.btn-outline-primary.disabled.focus, .btn-outline-primary.disabled.focus.custom-file-control::before, .btn.btn-outline-primary:disabled:focus, .btn-outline-primary.custom-file-control:disabled:focus::before, .btn.btn-outline-primary:disabled.focus, .btn-outline-primary.custom-file-control:disabled.focus::before {
+ background-color: inherit;
+ border-color: #009688; }
+ .btn.btn-outline-primary.disabled:hover, .btn-outline-primary.disabled.custom-file-control:hover::before, .btn.btn-outline-primary:disabled:hover, .btn-outline-primary.custom-file-control:disabled:hover::before {
+ background-color: inherit;
+ border-color: #009688; }
+ .bg-inverse .btn.btn-outline-primary, .bg-inverse .btn-outline-primary.custom-file-control::before {
+ color: #009688;
+ background-color: inherit;
+ border-color: #009688; }
+ .bg-inverse .btn.btn-outline-primary:hover, .bg-inverse .btn-outline-primary.custom-file-control:hover::before {
+ color: #009688;
+ background-color: rgba(204, 204, 204, 0.15);
+ border-color: rgba(204, 204, 204, 0.15); }
+ .bg-inverse .btn.btn-outline-primary:focus, .bg-inverse .btn-outline-primary.custom-file-control:focus::before, .bg-inverse .btn.btn-outline-primary.focus, .bg-inverse .btn-outline-primary.focus.custom-file-control::before {
+ color: #009688;
+ background-color: rgba(204, 204, 204, 0.15);
+ border-color: rgba(204, 204, 204, 0.15); }
+ .bg-inverse .btn.btn-outline-primary:active, .bg-inverse .btn-outline-primary.custom-file-control:active::before, .bg-inverse .btn.btn-outline-primary.active, .bg-inverse .btn-outline-primary.active.custom-file-control::before,
+ .open > .bg-inverse .btn.btn-outline-primary.dropdown-toggle,
+ .open > .bg-inverse .btn-outline-primary.dropdown-toggle.custom-file-control::before {
+ color: #009688;
+ background-color: rgba(204, 204, 204, 0.15);
+ border-color: rgba(204, 204, 204, 0.15); }
+ .bg-inverse .btn.btn-outline-primary:active:hover, .bg-inverse .btn-outline-primary.custom-file-control:active:hover::before, .bg-inverse .btn.btn-outline-primary:active:focus, .bg-inverse .btn-outline-primary.custom-file-control:active:focus::before, .bg-inverse .btn.btn-outline-primary:active.focus, .bg-inverse .btn-outline-primary.custom-file-control:active.focus::before, .bg-inverse .btn.btn-outline-primary.active:hover, .bg-inverse .btn-outline-primary.active.custom-file-control:hover::before, .bg-inverse .btn.btn-outline-primary.active:focus, .bg-inverse .btn-outline-primary.active.custom-file-control:focus::before, .bg-inverse .btn.btn-outline-primary.active.focus, .bg-inverse .btn-outline-primary.active.focus.custom-file-control::before,
+ .open > .bg-inverse .btn.btn-outline-primary.dropdown-toggle:hover,
+ .open > .bg-inverse .btn-outline-primary.dropdown-toggle.custom-file-control:hover::before,
+ .open > .bg-inverse .btn.btn-outline-primary.dropdown-toggle:focus,
+ .open > .bg-inverse .btn-outline-primary.dropdown-toggle.custom-file-control:focus::before,
+ .open > .bg-inverse .btn.btn-outline-primary.dropdown-toggle.focus,
+ .open > .bg-inverse .btn-outline-primary.dropdown-toggle.focus.custom-file-control::before {
+ color: #009688;
+ background-color: rgba(204, 204, 204, 0.25);
+ border-color: rgba(204, 204, 204, 0.25); }
+ .open > .bg-inverse .btn.btn-outline-primary.dropdown-toggle.bmd-btn-icon, .open > .bg-inverse .btn-outline-primary.dropdown-toggle.bmd-btn-icon.custom-file-control::before {
+ color: inherit;
+ background-color: inherit; }
+ .open > .bg-inverse .btn.btn-outline-primary.dropdown-toggle.bmd-btn-icon:hover, .open > .bg-inverse .btn-outline-primary.dropdown-toggle.bmd-btn-icon.custom-file-control:hover::before {
+ background-color: rgba(204, 204, 204, 0.15); }
+ .bg-inverse .btn.btn-outline-primary.disabled:focus, .bg-inverse .btn-outline-primary.disabled.custom-file-control:focus::before, .bg-inverse .btn.btn-outline-primary.disabled.focus, .bg-inverse .btn-outline-primary.disabled.focus.custom-file-control::before, .bg-inverse .btn.btn-outline-primary:disabled:focus, .bg-inverse .btn-outline-primary.custom-file-control:disabled:focus::before, .bg-inverse .btn.btn-outline-primary:disabled.focus, .bg-inverse .btn-outline-primary.custom-file-control:disabled.focus::before {
+ background-color: inherit;
+ border-color: #009688; }
+ .bg-inverse .btn.btn-outline-primary.disabled:hover, .bg-inverse .btn-outline-primary.disabled.custom-file-control:hover::before, .bg-inverse .btn.btn-outline-primary:disabled:hover, .bg-inverse .btn-outline-primary.custom-file-control:disabled:hover::before {
+ background-color: inherit;
+ border-color: #009688; }
+ .btn.btn-outline-primary.btn-link, .btn-outline-primary.btn-link.custom-file-control::before {
+ background-color: transparent; }
+ .btn.btn-outline-secondary, .btn-outline-secondary.custom-file-control::before {
+ color: rgba(0, 0, 0, 0.87);
+ background-color: inherit;
+ border-color: rgba(0, 0, 0, 0.87); }
+ .btn.btn-outline-secondary:hover, .btn-outline-secondary.custom-file-control:hover::before {
+ color: rgba(0, 0, 0, 0.87);
+ background-color: rgba(153, 153, 153, 0.2);
+ border-color: rgba(0, 0, 0, 0.87); }
+ .btn.btn-outline-secondary:focus, .btn-outline-secondary.custom-file-control:focus::before, .btn.btn-outline-secondary.focus, .btn-outline-secondary.focus.custom-file-control::before {
+ color: rgba(0, 0, 0, 0.87);
+ background-color: rgba(153, 153, 153, 0.2);
+ border-color: rgba(0, 0, 0, 0.87); }
+ .btn.btn-outline-secondary:active, .btn-outline-secondary.custom-file-control:active::before, .btn.btn-outline-secondary.active, .btn-outline-secondary.active.custom-file-control::before,
+ .open > .btn.btn-outline-secondary.dropdown-toggle,
+ .open > .btn-outline-secondary.dropdown-toggle.custom-file-control::before {
+ color: rgba(0, 0, 0, 0.87);
+ background-color: rgba(153, 153, 153, 0.2);
+ border-color: rgba(0, 0, 0, 0.87); }
+ .btn.btn-outline-secondary:active:hover, .btn-outline-secondary.custom-file-control:active:hover::before, .btn.btn-outline-secondary:active:focus, .btn-outline-secondary.custom-file-control:active:focus::before, .btn.btn-outline-secondary:active.focus, .btn-outline-secondary.custom-file-control:active.focus::before, .btn.btn-outline-secondary.active:hover, .btn-outline-secondary.active.custom-file-control:hover::before, .btn.btn-outline-secondary.active:focus, .btn-outline-secondary.active.custom-file-control:focus::before, .btn.btn-outline-secondary.active.focus, .btn-outline-secondary.active.focus.custom-file-control::before,
+ .open > .btn.btn-outline-secondary.dropdown-toggle:hover,
+ .open > .btn-outline-secondary.dropdown-toggle.custom-file-control:hover::before,
+ .open > .btn.btn-outline-secondary.dropdown-toggle:focus,
+ .open > .btn-outline-secondary.dropdown-toggle.custom-file-control:focus::before,
+ .open > .btn.btn-outline-secondary.dropdown-toggle.focus,
+ .open > .btn-outline-secondary.dropdown-toggle.focus.custom-file-control::before {
+ color: rgba(0, 0, 0, 0.87);
+ background-color: rgba(153, 153, 153, 0.4);
+ border-color: rgba(0, 0, 0, 0.87); }
+ .open > .btn.btn-outline-secondary.dropdown-toggle.bmd-btn-icon, .open > .btn-outline-secondary.dropdown-toggle.bmd-btn-icon.custom-file-control::before {
+ color: inherit;
+ background-color: inherit; }
+ .open > .btn.btn-outline-secondary.dropdown-toggle.bmd-btn-icon:hover, .open > .btn-outline-secondary.dropdown-toggle.bmd-btn-icon.custom-file-control:hover::before {
+ background-color: rgba(153, 153, 153, 0.2); }
+ .btn.btn-outline-secondary.disabled:focus, .btn-outline-secondary.disabled.custom-file-control:focus::before, .btn.btn-outline-secondary.disabled.focus, .btn-outline-secondary.disabled.focus.custom-file-control::before, .btn.btn-outline-secondary:disabled:focus, .btn-outline-secondary.custom-file-control:disabled:focus::before, .btn.btn-outline-secondary:disabled.focus, .btn-outline-secondary.custom-file-control:disabled.focus::before {
+ background-color: inherit;
+ border-color: rgba(0, 0, 0, 0.87); }
+ .btn.btn-outline-secondary.disabled:hover, .btn-outline-secondary.disabled.custom-file-control:hover::before, .btn.btn-outline-secondary:disabled:hover, .btn-outline-secondary.custom-file-control:disabled:hover::before {
+ background-color: inherit;
+ border-color: rgba(0, 0, 0, 0.87); }
+ .bg-inverse .btn.btn-outline-secondary, .bg-inverse .btn-outline-secondary.custom-file-control::before {
+ color: rgba(0, 0, 0, 0.87);
+ background-color: inherit;
+ border-color: rgba(0, 0, 0, 0.87); }
+ .bg-inverse .btn.btn-outline-secondary:hover, .bg-inverse .btn-outline-secondary.custom-file-control:hover::before {
+ color: rgba(0, 0, 0, 0.87);
+ background-color: rgba(204, 204, 204, 0.15);
+ border-color: rgba(204, 204, 204, 0.15); }
+ .bg-inverse .btn.btn-outline-secondary:focus, .bg-inverse .btn-outline-secondary.custom-file-control:focus::before, .bg-inverse .btn.btn-outline-secondary.focus, .bg-inverse .btn-outline-secondary.focus.custom-file-control::before {
+ color: rgba(0, 0, 0, 0.87);
+ background-color: rgba(204, 204, 204, 0.15);
+ border-color: rgba(204, 204, 204, 0.15); }
+ .bg-inverse .btn.btn-outline-secondary:active, .bg-inverse .btn-outline-secondary.custom-file-control:active::before, .bg-inverse .btn.btn-outline-secondary.active, .bg-inverse .btn-outline-secondary.active.custom-file-control::before,
+ .open > .bg-inverse .btn.btn-outline-secondary.dropdown-toggle,
+ .open > .bg-inverse .btn-outline-secondary.dropdown-toggle.custom-file-control::before {
+ color: rgba(0, 0, 0, 0.87);
+ background-color: rgba(204, 204, 204, 0.15);
+ border-color: rgba(204, 204, 204, 0.15); }
+ .bg-inverse .btn.btn-outline-secondary:active:hover, .bg-inverse .btn-outline-secondary.custom-file-control:active:hover::before, .bg-inverse .btn.btn-outline-secondary:active:focus, .bg-inverse .btn-outline-secondary.custom-file-control:active:focus::before, .bg-inverse .btn.btn-outline-secondary:active.focus, .bg-inverse .btn-outline-secondary.custom-file-control:active.focus::before, .bg-inverse .btn.btn-outline-secondary.active:hover, .bg-inverse .btn-outline-secondary.active.custom-file-control:hover::before, .bg-inverse .btn.btn-outline-secondary.active:focus, .bg-inverse .btn-outline-secondary.active.custom-file-control:focus::before, .bg-inverse .btn.btn-outline-secondary.active.focus, .bg-inverse .btn-outline-secondary.active.focus.custom-file-control::before,
+ .open > .bg-inverse .btn.btn-outline-secondary.dropdown-toggle:hover,
+ .open > .bg-inverse .btn-outline-secondary.dropdown-toggle.custom-file-control:hover::before,
+ .open > .bg-inverse .btn.btn-outline-secondary.dropdown-toggle:focus,
+ .open > .bg-inverse .btn-outline-secondary.dropdown-toggle.custom-file-control:focus::before,
+ .open > .bg-inverse .btn.btn-outline-secondary.dropdown-toggle.focus,
+ .open > .bg-inverse .btn-outline-secondary.dropdown-toggle.focus.custom-file-control::before {
+ color: rgba(0, 0, 0, 0.87);
+ background-color: rgba(204, 204, 204, 0.25);
+ border-color: rgba(204, 204, 204, 0.25); }
+ .open > .bg-inverse .btn.btn-outline-secondary.dropdown-toggle.bmd-btn-icon, .open > .bg-inverse .btn-outline-secondary.dropdown-toggle.bmd-btn-icon.custom-file-control::before {
+ color: inherit;
+ background-color: inherit; }
+ .open > .bg-inverse .btn.btn-outline-secondary.dropdown-toggle.bmd-btn-icon:hover, .open > .bg-inverse .btn-outline-secondary.dropdown-toggle.bmd-btn-icon.custom-file-control:hover::before {
+ background-color: rgba(204, 204, 204, 0.15); }
+ .bg-inverse .btn.btn-outline-secondary.disabled:focus, .bg-inverse .btn-outline-secondary.disabled.custom-file-control:focus::before, .bg-inverse .btn.btn-outline-secondary.disabled.focus, .bg-inverse .btn-outline-secondary.disabled.focus.custom-file-control::before, .bg-inverse .btn.btn-outline-secondary:disabled:focus, .bg-inverse .btn-outline-secondary.custom-file-control:disabled:focus::before, .bg-inverse .btn.btn-outline-secondary:disabled.focus, .bg-inverse .btn-outline-secondary.custom-file-control:disabled.focus::before {
+ background-color: inherit;
+ border-color: rgba(0, 0, 0, 0.87); }
+ .bg-inverse .btn.btn-outline-secondary.disabled:hover, .bg-inverse .btn-outline-secondary.disabled.custom-file-control:hover::before, .bg-inverse .btn.btn-outline-secondary:disabled:hover, .bg-inverse .btn-outline-secondary.custom-file-control:disabled:hover::before {
+ background-color: inherit;
+ border-color: rgba(0, 0, 0, 0.87); }
+ .btn.btn-outline-secondary.btn-link, .btn-outline-secondary.btn-link.custom-file-control::before {
+ background-color: transparent; }
+ .btn.btn-outline-info, .btn-outline-info.custom-file-control::before {
+ color: #03a9f4;
+ background-color: inherit;
+ border-color: #03a9f4; }
+ .btn.btn-outline-info:hover, .btn-outline-info.custom-file-control:hover::before {
+ color: #03a9f4;
+ background-color: rgba(153, 153, 153, 0.2);
+ border-color: #03a9f4; }
+ .btn.btn-outline-info:focus, .btn-outline-info.custom-file-control:focus::before, .btn.btn-outline-info.focus, .btn-outline-info.focus.custom-file-control::before {
+ color: #03a9f4;
+ background-color: rgba(153, 153, 153, 0.2);
+ border-color: #03a9f4; }
+ .btn.btn-outline-info:active, .btn-outline-info.custom-file-control:active::before, .btn.btn-outline-info.active, .btn-outline-info.active.custom-file-control::before,
+ .open > .btn.btn-outline-info.dropdown-toggle,
+ .open > .btn-outline-info.dropdown-toggle.custom-file-control::before {
+ color: #03a9f4;
+ background-color: rgba(153, 153, 153, 0.2);
+ border-color: #03a9f4; }
+ .btn.btn-outline-info:active:hover, .btn-outline-info.custom-file-control:active:hover::before, .btn.btn-outline-info:active:focus, .btn-outline-info.custom-file-control:active:focus::before, .btn.btn-outline-info:active.focus, .btn-outline-info.custom-file-control:active.focus::before, .btn.btn-outline-info.active:hover, .btn-outline-info.active.custom-file-control:hover::before, .btn.btn-outline-info.active:focus, .btn-outline-info.active.custom-file-control:focus::before, .btn.btn-outline-info.active.focus, .btn-outline-info.active.focus.custom-file-control::before,
+ .open > .btn.btn-outline-info.dropdown-toggle:hover,
+ .open > .btn-outline-info.dropdown-toggle.custom-file-control:hover::before,
+ .open > .btn.btn-outline-info.dropdown-toggle:focus,
+ .open > .btn-outline-info.dropdown-toggle.custom-file-control:focus::before,
+ .open > .btn.btn-outline-info.dropdown-toggle.focus,
+ .open > .btn-outline-info.dropdown-toggle.focus.custom-file-control::before {
+ color: #03a9f4;
+ background-color: rgba(153, 153, 153, 0.4);
+ border-color: #03a9f4; }
+ .open > .btn.btn-outline-info.dropdown-toggle.bmd-btn-icon, .open > .btn-outline-info.dropdown-toggle.bmd-btn-icon.custom-file-control::before {
+ color: inherit;
+ background-color: inherit; }
+ .open > .btn.btn-outline-info.dropdown-toggle.bmd-btn-icon:hover, .open > .btn-outline-info.dropdown-toggle.bmd-btn-icon.custom-file-control:hover::before {
+ background-color: rgba(153, 153, 153, 0.2); }
+ .btn.btn-outline-info.disabled:focus, .btn-outline-info.disabled.custom-file-control:focus::before, .btn.btn-outline-info.disabled.focus, .btn-outline-info.disabled.focus.custom-file-control::before, .btn.btn-outline-info:disabled:focus, .btn-outline-info.custom-file-control:disabled:focus::before, .btn.btn-outline-info:disabled.focus, .btn-outline-info.custom-file-control:disabled.focus::before {
+ background-color: inherit;
+ border-color: #03a9f4; }
+ .btn.btn-outline-info.disabled:hover, .btn-outline-info.disabled.custom-file-control:hover::before, .btn.btn-outline-info:disabled:hover, .btn-outline-info.custom-file-control:disabled:hover::before {
+ background-color: inherit;
+ border-color: #03a9f4; }
+ .bg-inverse .btn.btn-outline-info, .bg-inverse .btn-outline-info.custom-file-control::before {
+ color: #03a9f4;
+ background-color: inherit;
+ border-color: #03a9f4; }
+ .bg-inverse .btn.btn-outline-info:hover, .bg-inverse .btn-outline-info.custom-file-control:hover::before {
+ color: #03a9f4;
+ background-color: rgba(204, 204, 204, 0.15);
+ border-color: rgba(204, 204, 204, 0.15); }
+ .bg-inverse .btn.btn-outline-info:focus, .bg-inverse .btn-outline-info.custom-file-control:focus::before, .bg-inverse .btn.btn-outline-info.focus, .bg-inverse .btn-outline-info.focus.custom-file-control::before {
+ color: #03a9f4;
+ background-color: rgba(204, 204, 204, 0.15);
+ border-color: rgba(204, 204, 204, 0.15); }
+ .bg-inverse .btn.btn-outline-info:active, .bg-inverse .btn-outline-info.custom-file-control:active::before, .bg-inverse .btn.btn-outline-info.active, .bg-inverse .btn-outline-info.active.custom-file-control::before,
+ .open > .bg-inverse .btn.btn-outline-info.dropdown-toggle,
+ .open > .bg-inverse .btn-outline-info.dropdown-toggle.custom-file-control::before {
+ color: #03a9f4;
+ background-color: rgba(204, 204, 204, 0.15);
+ border-color: rgba(204, 204, 204, 0.15); }
+ .bg-inverse .btn.btn-outline-info:active:hover, .bg-inverse .btn-outline-info.custom-file-control:active:hover::before, .bg-inverse .btn.btn-outline-info:active:focus, .bg-inverse .btn-outline-info.custom-file-control:active:focus::before, .bg-inverse .btn.btn-outline-info:active.focus, .bg-inverse .btn-outline-info.custom-file-control:active.focus::before, .bg-inverse .btn.btn-outline-info.active:hover, .bg-inverse .btn-outline-info.active.custom-file-control:hover::before, .bg-inverse .btn.btn-outline-info.active:focus, .bg-inverse .btn-outline-info.active.custom-file-control:focus::before, .bg-inverse .btn.btn-outline-info.active.focus, .bg-inverse .btn-outline-info.active.focus.custom-file-control::before,
+ .open > .bg-inverse .btn.btn-outline-info.dropdown-toggle:hover,
+ .open > .bg-inverse .btn-outline-info.dropdown-toggle.custom-file-control:hover::before,
+ .open > .bg-inverse .btn.btn-outline-info.dropdown-toggle:focus,
+ .open > .bg-inverse .btn-outline-info.dropdown-toggle.custom-file-control:focus::before,
+ .open > .bg-inverse .btn.btn-outline-info.dropdown-toggle.focus,
+ .open > .bg-inverse .btn-outline-info.dropdown-toggle.focus.custom-file-control::before {
+ color: #03a9f4;
+ background-color: rgba(204, 204, 204, 0.25);
+ border-color: rgba(204, 204, 204, 0.25); }
+ .open > .bg-inverse .btn.btn-outline-info.dropdown-toggle.bmd-btn-icon, .open > .bg-inverse .btn-outline-info.dropdown-toggle.bmd-btn-icon.custom-file-control::before {
+ color: inherit;
+ background-color: inherit; }
+ .open > .bg-inverse .btn.btn-outline-info.dropdown-toggle.bmd-btn-icon:hover, .open > .bg-inverse .btn-outline-info.dropdown-toggle.bmd-btn-icon.custom-file-control:hover::before {
+ background-color: rgba(204, 204, 204, 0.15); }
+ .bg-inverse .btn.btn-outline-info.disabled:focus, .bg-inverse .btn-outline-info.disabled.custom-file-control:focus::before, .bg-inverse .btn.btn-outline-info.disabled.focus, .bg-inverse .btn-outline-info.disabled.focus.custom-file-control::before, .bg-inverse .btn.btn-outline-info:disabled:focus, .bg-inverse .btn-outline-info.custom-file-control:disabled:focus::before, .bg-inverse .btn.btn-outline-info:disabled.focus, .bg-inverse .btn-outline-info.custom-file-control:disabled.focus::before {
+ background-color: inherit;
+ border-color: #03a9f4; }
+ .bg-inverse .btn.btn-outline-info.disabled:hover, .bg-inverse .btn-outline-info.disabled.custom-file-control:hover::before, .bg-inverse .btn.btn-outline-info:disabled:hover, .bg-inverse .btn-outline-info.custom-file-control:disabled:hover::before {
+ background-color: inherit;
+ border-color: #03a9f4; }
+ .btn.btn-outline-info.btn-link, .btn-outline-info.btn-link.custom-file-control::before {
+ background-color: transparent; }
+ .btn.btn-outline-success, .btn-outline-success.custom-file-control::before {
+ color: #4caf50;
+ background-color: inherit;
+ border-color: #4caf50; }
+ .btn.btn-outline-success:hover, .btn-outline-success.custom-file-control:hover::before {
+ color: #4caf50;
+ background-color: rgba(153, 153, 153, 0.2);
+ border-color: #4caf50; }
+ .btn.btn-outline-success:focus, .btn-outline-success.custom-file-control:focus::before, .btn.btn-outline-success.focus, .btn-outline-success.focus.custom-file-control::before {
+ color: #4caf50;
+ background-color: rgba(153, 153, 153, 0.2);
+ border-color: #4caf50; }
+ .btn.btn-outline-success:active, .btn-outline-success.custom-file-control:active::before, .btn.btn-outline-success.active, .btn-outline-success.active.custom-file-control::before,
+ .open > .btn.btn-outline-success.dropdown-toggle,
+ .open > .btn-outline-success.dropdown-toggle.custom-file-control::before {
+ color: #4caf50;
+ background-color: rgba(153, 153, 153, 0.2);
+ border-color: #4caf50; }
+ .btn.btn-outline-success:active:hover, .btn-outline-success.custom-file-control:active:hover::before, .btn.btn-outline-success:active:focus, .btn-outline-success.custom-file-control:active:focus::before, .btn.btn-outline-success:active.focus, .btn-outline-success.custom-file-control:active.focus::before, .btn.btn-outline-success.active:hover, .btn-outline-success.active.custom-file-control:hover::before, .btn.btn-outline-success.active:focus, .btn-outline-success.active.custom-file-control:focus::before, .btn.btn-outline-success.active.focus, .btn-outline-success.active.focus.custom-file-control::before,
+ .open > .btn.btn-outline-success.dropdown-toggle:hover,
+ .open > .btn-outline-success.dropdown-toggle.custom-file-control:hover::before,
+ .open > .btn.btn-outline-success.dropdown-toggle:focus,
+ .open > .btn-outline-success.dropdown-toggle.custom-file-control:focus::before,
+ .open > .btn.btn-outline-success.dropdown-toggle.focus,
+ .open > .btn-outline-success.dropdown-toggle.focus.custom-file-control::before {
+ color: #4caf50;
+ background-color: rgba(153, 153, 153, 0.4);
+ border-color: #4caf50; }
+ .open > .btn.btn-outline-success.dropdown-toggle.bmd-btn-icon, .open > .btn-outline-success.dropdown-toggle.bmd-btn-icon.custom-file-control::before {
+ color: inherit;
+ background-color: inherit; }
+ .open > .btn.btn-outline-success.dropdown-toggle.bmd-btn-icon:hover, .open > .btn-outline-success.dropdown-toggle.bmd-btn-icon.custom-file-control:hover::before {
+ background-color: rgba(153, 153, 153, 0.2); }
+ .btn.btn-outline-success.disabled:focus, .btn-outline-success.disabled.custom-file-control:focus::before, .btn.btn-outline-success.disabled.focus, .btn-outline-success.disabled.focus.custom-file-control::before, .btn.btn-outline-success:disabled:focus, .btn-outline-success.custom-file-control:disabled:focus::before, .btn.btn-outline-success:disabled.focus, .btn-outline-success.custom-file-control:disabled.focus::before {
+ background-color: inherit;
+ border-color: #4caf50; }
+ .btn.btn-outline-success.disabled:hover, .btn-outline-success.disabled.custom-file-control:hover::before, .btn.btn-outline-success:disabled:hover, .btn-outline-success.custom-file-control:disabled:hover::before {
+ background-color: inherit;
+ border-color: #4caf50; }
+ .bg-inverse .btn.btn-outline-success, .bg-inverse .btn-outline-success.custom-file-control::before {
+ color: #4caf50;
+ background-color: inherit;
+ border-color: #4caf50; }
+ .bg-inverse .btn.btn-outline-success:hover, .bg-inverse .btn-outline-success.custom-file-control:hover::before {
+ color: #4caf50;
+ background-color: rgba(204, 204, 204, 0.15);
+ border-color: rgba(204, 204, 204, 0.15); }
+ .bg-inverse .btn.btn-outline-success:focus, .bg-inverse .btn-outline-success.custom-file-control:focus::before, .bg-inverse .btn.btn-outline-success.focus, .bg-inverse .btn-outline-success.focus.custom-file-control::before {
+ color: #4caf50;
+ background-color: rgba(204, 204, 204, 0.15);
+ border-color: rgba(204, 204, 204, 0.15); }
+ .bg-inverse .btn.btn-outline-success:active, .bg-inverse .btn-outline-success.custom-file-control:active::before, .bg-inverse .btn.btn-outline-success.active, .bg-inverse .btn-outline-success.active.custom-file-control::before,
+ .open > .bg-inverse .btn.btn-outline-success.dropdown-toggle,
+ .open > .bg-inverse .btn-outline-success.dropdown-toggle.custom-file-control::before {
+ color: #4caf50;
+ background-color: rgba(204, 204, 204, 0.15);
+ border-color: rgba(204, 204, 204, 0.15); }
+ .bg-inverse .btn.btn-outline-success:active:hover, .bg-inverse .btn-outline-success.custom-file-control:active:hover::before, .bg-inverse .btn.btn-outline-success:active:focus, .bg-inverse .btn-outline-success.custom-file-control:active:focus::before, .bg-inverse .btn.btn-outline-success:active.focus, .bg-inverse .btn-outline-success.custom-file-control:active.focus::before, .bg-inverse .btn.btn-outline-success.active:hover, .bg-inverse .btn-outline-success.active.custom-file-control:hover::before, .bg-inverse .btn.btn-outline-success.active:focus, .bg-inverse .btn-outline-success.active.custom-file-control:focus::before, .bg-inverse .btn.btn-outline-success.active.focus, .bg-inverse .btn-outline-success.active.focus.custom-file-control::before,
+ .open > .bg-inverse .btn.btn-outline-success.dropdown-toggle:hover,
+ .open > .bg-inverse .btn-outline-success.dropdown-toggle.custom-file-control:hover::before,
+ .open > .bg-inverse .btn.btn-outline-success.dropdown-toggle:focus,
+ .open > .bg-inverse .btn-outline-success.dropdown-toggle.custom-file-control:focus::before,
+ .open > .bg-inverse .btn.btn-outline-success.dropdown-toggle.focus,
+ .open > .bg-inverse .btn-outline-success.dropdown-toggle.focus.custom-file-control::before {
+ color: #4caf50;
+ background-color: rgba(204, 204, 204, 0.25);
+ border-color: rgba(204, 204, 204, 0.25); }
+ .open > .bg-inverse .btn.btn-outline-success.dropdown-toggle.bmd-btn-icon, .open > .bg-inverse .btn-outline-success.dropdown-toggle.bmd-btn-icon.custom-file-control::before {
+ color: inherit;
+ background-color: inherit; }
+ .open > .bg-inverse .btn.btn-outline-success.dropdown-toggle.bmd-btn-icon:hover, .open > .bg-inverse .btn-outline-success.dropdown-toggle.bmd-btn-icon.custom-file-control:hover::before {
+ background-color: rgba(204, 204, 204, 0.15); }
+ .bg-inverse .btn.btn-outline-success.disabled:focus, .bg-inverse .btn-outline-success.disabled.custom-file-control:focus::before, .bg-inverse .btn.btn-outline-success.disabled.focus, .bg-inverse .btn-outline-success.disabled.focus.custom-file-control::before, .bg-inverse .btn.btn-outline-success:disabled:focus, .bg-inverse .btn-outline-success.custom-file-control:disabled:focus::before, .bg-inverse .btn.btn-outline-success:disabled.focus, .bg-inverse .btn-outline-success.custom-file-control:disabled.focus::before {
+ background-color: inherit;
+ border-color: #4caf50; }
+ .bg-inverse .btn.btn-outline-success.disabled:hover, .bg-inverse .btn-outline-success.disabled.custom-file-control:hover::before, .bg-inverse .btn.btn-outline-success:disabled:hover, .bg-inverse .btn-outline-success.custom-file-control:disabled:hover::before {
+ background-color: inherit;
+ border-color: #4caf50; }
+ .btn.btn-outline-success.btn-link, .btn-outline-success.btn-link.custom-file-control::before {
+ background-color: transparent; }
+ .btn.btn-outline-warning, .btn-outline-warning.custom-file-control::before {
+ color: #ff5722;
+ background-color: inherit;
+ border-color: #ff5722; }
+ .btn.btn-outline-warning:hover, .btn-outline-warning.custom-file-control:hover::before {
+ color: #ff5722;
+ background-color: rgba(153, 153, 153, 0.2);
+ border-color: #ff5722; }
+ .btn.btn-outline-warning:focus, .btn-outline-warning.custom-file-control:focus::before, .btn.btn-outline-warning.focus, .btn-outline-warning.focus.custom-file-control::before {
+ color: #ff5722;
+ background-color: rgba(153, 153, 153, 0.2);
+ border-color: #ff5722; }
+ .btn.btn-outline-warning:active, .btn-outline-warning.custom-file-control:active::before, .btn.btn-outline-warning.active, .btn-outline-warning.active.custom-file-control::before,
+ .open > .btn.btn-outline-warning.dropdown-toggle,
+ .open > .btn-outline-warning.dropdown-toggle.custom-file-control::before {
+ color: #ff5722;
+ background-color: rgba(153, 153, 153, 0.2);
+ border-color: #ff5722; }
+ .btn.btn-outline-warning:active:hover, .btn-outline-warning.custom-file-control:active:hover::before, .btn.btn-outline-warning:active:focus, .btn-outline-warning.custom-file-control:active:focus::before, .btn.btn-outline-warning:active.focus, .btn-outline-warning.custom-file-control:active.focus::before, .btn.btn-outline-warning.active:hover, .btn-outline-warning.active.custom-file-control:hover::before, .btn.btn-outline-warning.active:focus, .btn-outline-warning.active.custom-file-control:focus::before, .btn.btn-outline-warning.active.focus, .btn-outline-warning.active.focus.custom-file-control::before,
+ .open > .btn.btn-outline-warning.dropdown-toggle:hover,
+ .open > .btn-outline-warning.dropdown-toggle.custom-file-control:hover::before,
+ .open > .btn.btn-outline-warning.dropdown-toggle:focus,
+ .open > .btn-outline-warning.dropdown-toggle.custom-file-control:focus::before,
+ .open > .btn.btn-outline-warning.dropdown-toggle.focus,
+ .open > .btn-outline-warning.dropdown-toggle.focus.custom-file-control::before {
+ color: #ff5722;
+ background-color: rgba(153, 153, 153, 0.4);
+ border-color: #ff5722; }
+ .open > .btn.btn-outline-warning.dropdown-toggle.bmd-btn-icon, .open > .btn-outline-warning.dropdown-toggle.bmd-btn-icon.custom-file-control::before {
+ color: inherit;
+ background-color: inherit; }
+ .open > .btn.btn-outline-warning.dropdown-toggle.bmd-btn-icon:hover, .open > .btn-outline-warning.dropdown-toggle.bmd-btn-icon.custom-file-control:hover::before {
+ background-color: rgba(153, 153, 153, 0.2); }
+ .btn.btn-outline-warning.disabled:focus, .btn-outline-warning.disabled.custom-file-control:focus::before, .btn.btn-outline-warning.disabled.focus, .btn-outline-warning.disabled.focus.custom-file-control::before, .btn.btn-outline-warning:disabled:focus, .btn-outline-warning.custom-file-control:disabled:focus::before, .btn.btn-outline-warning:disabled.focus, .btn-outline-warning.custom-file-control:disabled.focus::before {
+ background-color: inherit;
+ border-color: #ff5722; }
+ .btn.btn-outline-warning.disabled:hover, .btn-outline-warning.disabled.custom-file-control:hover::before, .btn.btn-outline-warning:disabled:hover, .btn-outline-warning.custom-file-control:disabled:hover::before {
+ background-color: inherit;
+ border-color: #ff5722; }
+ .bg-inverse .btn.btn-outline-warning, .bg-inverse .btn-outline-warning.custom-file-control::before {
+ color: #ff5722;
+ background-color: inherit;
+ border-color: #ff5722; }
+ .bg-inverse .btn.btn-outline-warning:hover, .bg-inverse .btn-outline-warning.custom-file-control:hover::before {
+ color: #ff5722;
+ background-color: rgba(204, 204, 204, 0.15);
+ border-color: rgba(204, 204, 204, 0.15); }
+ .bg-inverse .btn.btn-outline-warning:focus, .bg-inverse .btn-outline-warning.custom-file-control:focus::before, .bg-inverse .btn.btn-outline-warning.focus, .bg-inverse .btn-outline-warning.focus.custom-file-control::before {
+ color: #ff5722;
+ background-color: rgba(204, 204, 204, 0.15);
+ border-color: rgba(204, 204, 204, 0.15); }
+ .bg-inverse .btn.btn-outline-warning:active, .bg-inverse .btn-outline-warning.custom-file-control:active::before, .bg-inverse .btn.btn-outline-warning.active, .bg-inverse .btn-outline-warning.active.custom-file-control::before,
+ .open > .bg-inverse .btn.btn-outline-warning.dropdown-toggle,
+ .open > .bg-inverse .btn-outline-warning.dropdown-toggle.custom-file-control::before {
+ color: #ff5722;
+ background-color: rgba(204, 204, 204, 0.15);
+ border-color: rgba(204, 204, 204, 0.15); }
+ .bg-inverse .btn.btn-outline-warning:active:hover, .bg-inverse .btn-outline-warning.custom-file-control:active:hover::before, .bg-inverse .btn.btn-outline-warning:active:focus, .bg-inverse .btn-outline-warning.custom-file-control:active:focus::before, .bg-inverse .btn.btn-outline-warning:active.focus, .bg-inverse .btn-outline-warning.custom-file-control:active.focus::before, .bg-inverse .btn.btn-outline-warning.active:hover, .bg-inverse .btn-outline-warning.active.custom-file-control:hover::before, .bg-inverse .btn.btn-outline-warning.active:focus, .bg-inverse .btn-outline-warning.active.custom-file-control:focus::before, .bg-inverse .btn.btn-outline-warning.active.focus, .bg-inverse .btn-outline-warning.active.focus.custom-file-control::before,
+ .open > .bg-inverse .btn.btn-outline-warning.dropdown-toggle:hover,
+ .open > .bg-inverse .btn-outline-warning.dropdown-toggle.custom-file-control:hover::before,
+ .open > .bg-inverse .btn.btn-outline-warning.dropdown-toggle:focus,
+ .open > .bg-inverse .btn-outline-warning.dropdown-toggle.custom-file-control:focus::before,
+ .open > .bg-inverse .btn.btn-outline-warning.dropdown-toggle.focus,
+ .open > .bg-inverse .btn-outline-warning.dropdown-toggle.focus.custom-file-control::before {
+ color: #ff5722;
+ background-color: rgba(204, 204, 204, 0.25);
+ border-color: rgba(204, 204, 204, 0.25); }
+ .open > .bg-inverse .btn.btn-outline-warning.dropdown-toggle.bmd-btn-icon, .open > .bg-inverse .btn-outline-warning.dropdown-toggle.bmd-btn-icon.custom-file-control::before {
+ color: inherit;
+ background-color: inherit; }
+ .open > .bg-inverse .btn.btn-outline-warning.dropdown-toggle.bmd-btn-icon:hover, .open > .bg-inverse .btn-outline-warning.dropdown-toggle.bmd-btn-icon.custom-file-control:hover::before {
+ background-color: rgba(204, 204, 204, 0.15); }
+ .bg-inverse .btn.btn-outline-warning.disabled:focus, .bg-inverse .btn-outline-warning.disabled.custom-file-control:focus::before, .bg-inverse .btn.btn-outline-warning.disabled.focus, .bg-inverse .btn-outline-warning.disabled.focus.custom-file-control::before, .bg-inverse .btn.btn-outline-warning:disabled:focus, .bg-inverse .btn-outline-warning.custom-file-control:disabled:focus::before, .bg-inverse .btn.btn-outline-warning:disabled.focus, .bg-inverse .btn-outline-warning.custom-file-control:disabled.focus::before {
+ background-color: inherit;
+ border-color: #ff5722; }
+ .bg-inverse .btn.btn-outline-warning.disabled:hover, .bg-inverse .btn-outline-warning.disabled.custom-file-control:hover::before, .bg-inverse .btn.btn-outline-warning:disabled:hover, .bg-inverse .btn-outline-warning.custom-file-control:disabled:hover::before {
+ background-color: inherit;
+ border-color: #ff5722; }
+ .btn.btn-outline-warning.btn-link, .btn-outline-warning.btn-link.custom-file-control::before {
+ background-color: transparent; }
+ .btn.btn-outline-danger, .btn-outline-danger.custom-file-control::before {
+ color: #f44336;
+ background-color: inherit;
+ border-color: #f44336; }
+ .btn.btn-outline-danger:hover, .btn-outline-danger.custom-file-control:hover::before {
+ color: #f44336;
+ background-color: rgba(153, 153, 153, 0.2);
+ border-color: #f44336; }
+ .btn.btn-outline-danger:focus, .btn-outline-danger.custom-file-control:focus::before, .btn.btn-outline-danger.focus, .btn-outline-danger.focus.custom-file-control::before {
+ color: #f44336;
+ background-color: rgba(153, 153, 153, 0.2);
+ border-color: #f44336; }
+ .btn.btn-outline-danger:active, .btn-outline-danger.custom-file-control:active::before, .btn.btn-outline-danger.active, .btn-outline-danger.active.custom-file-control::before,
+ .open > .btn.btn-outline-danger.dropdown-toggle,
+ .open > .btn-outline-danger.dropdown-toggle.custom-file-control::before {
+ color: #f44336;
+ background-color: rgba(153, 153, 153, 0.2);
+ border-color: #f44336; }
+ .btn.btn-outline-danger:active:hover, .btn-outline-danger.custom-file-control:active:hover::before, .btn.btn-outline-danger:active:focus, .btn-outline-danger.custom-file-control:active:focus::before, .btn.btn-outline-danger:active.focus, .btn-outline-danger.custom-file-control:active.focus::before, .btn.btn-outline-danger.active:hover, .btn-outline-danger.active.custom-file-control:hover::before, .btn.btn-outline-danger.active:focus, .btn-outline-danger.active.custom-file-control:focus::before, .btn.btn-outline-danger.active.focus, .btn-outline-danger.active.focus.custom-file-control::before,
+ .open > .btn.btn-outline-danger.dropdown-toggle:hover,
+ .open > .btn-outline-danger.dropdown-toggle.custom-file-control:hover::before,
+ .open > .btn.btn-outline-danger.dropdown-toggle:focus,
+ .open > .btn-outline-danger.dropdown-toggle.custom-file-control:focus::before,
+ .open > .btn.btn-outline-danger.dropdown-toggle.focus,
+ .open > .btn-outline-danger.dropdown-toggle.focus.custom-file-control::before {
+ color: #f44336;
+ background-color: rgba(153, 153, 153, 0.4);
+ border-color: #f44336; }
+ .open > .btn.btn-outline-danger.dropdown-toggle.bmd-btn-icon, .open > .btn-outline-danger.dropdown-toggle.bmd-btn-icon.custom-file-control::before {
+ color: inherit;
+ background-color: inherit; }
+ .open > .btn.btn-outline-danger.dropdown-toggle.bmd-btn-icon:hover, .open > .btn-outline-danger.dropdown-toggle.bmd-btn-icon.custom-file-control:hover::before {
+ background-color: rgba(153, 153, 153, 0.2); }
+ .btn.btn-outline-danger.disabled:focus, .btn-outline-danger.disabled.custom-file-control:focus::before, .btn.btn-outline-danger.disabled.focus, .btn-outline-danger.disabled.focus.custom-file-control::before, .btn.btn-outline-danger:disabled:focus, .btn-outline-danger.custom-file-control:disabled:focus::before, .btn.btn-outline-danger:disabled.focus, .btn-outline-danger.custom-file-control:disabled.focus::before {
+ background-color: inherit;
+ border-color: #f44336; }
+ .btn.btn-outline-danger.disabled:hover, .btn-outline-danger.disabled.custom-file-control:hover::before, .btn.btn-outline-danger:disabled:hover, .btn-outline-danger.custom-file-control:disabled:hover::before {
+ background-color: inherit;
+ border-color: #f44336; }
+ .bg-inverse .btn.btn-outline-danger, .bg-inverse .btn-outline-danger.custom-file-control::before {
+ color: #f44336;
+ background-color: inherit;
+ border-color: #f44336; }
+ .bg-inverse .btn.btn-outline-danger:hover, .bg-inverse .btn-outline-danger.custom-file-control:hover::before {
+ color: #f44336;
+ background-color: rgba(204, 204, 204, 0.15);
+ border-color: rgba(204, 204, 204, 0.15); }
+ .bg-inverse .btn.btn-outline-danger:focus, .bg-inverse .btn-outline-danger.custom-file-control:focus::before, .bg-inverse .btn.btn-outline-danger.focus, .bg-inverse .btn-outline-danger.focus.custom-file-control::before {
+ color: #f44336;
+ background-color: rgba(204, 204, 204, 0.15);
+ border-color: rgba(204, 204, 204, 0.15); }
+ .bg-inverse .btn.btn-outline-danger:active, .bg-inverse .btn-outline-danger.custom-file-control:active::before, .bg-inverse .btn.btn-outline-danger.active, .bg-inverse .btn-outline-danger.active.custom-file-control::before,
+ .open > .bg-inverse .btn.btn-outline-danger.dropdown-toggle,
+ .open > .bg-inverse .btn-outline-danger.dropdown-toggle.custom-file-control::before {
+ color: #f44336;
+ background-color: rgba(204, 204, 204, 0.15);
+ border-color: rgba(204, 204, 204, 0.15); }
+ .bg-inverse .btn.btn-outline-danger:active:hover, .bg-inverse .btn-outline-danger.custom-file-control:active:hover::before, .bg-inverse .btn.btn-outline-danger:active:focus, .bg-inverse .btn-outline-danger.custom-file-control:active:focus::before, .bg-inverse .btn.btn-outline-danger:active.focus, .bg-inverse .btn-outline-danger.custom-file-control:active.focus::before, .bg-inverse .btn.btn-outline-danger.active:hover, .bg-inverse .btn-outline-danger.active.custom-file-control:hover::before, .bg-inverse .btn.btn-outline-danger.active:focus, .bg-inverse .btn-outline-danger.active.custom-file-control:focus::before, .bg-inverse .btn.btn-outline-danger.active.focus, .bg-inverse .btn-outline-danger.active.focus.custom-file-control::before,
+ .open > .bg-inverse .btn.btn-outline-danger.dropdown-toggle:hover,
+ .open > .bg-inverse .btn-outline-danger.dropdown-toggle.custom-file-control:hover::before,
+ .open > .bg-inverse .btn.btn-outline-danger.dropdown-toggle:focus,
+ .open > .bg-inverse .btn-outline-danger.dropdown-toggle.custom-file-control:focus::before,
+ .open > .bg-inverse .btn.btn-outline-danger.dropdown-toggle.focus,
+ .open > .bg-inverse .btn-outline-danger.dropdown-toggle.focus.custom-file-control::before {
+ color: #f44336;
+ background-color: rgba(204, 204, 204, 0.25);
+ border-color: rgba(204, 204, 204, 0.25); }
+ .open > .bg-inverse .btn.btn-outline-danger.dropdown-toggle.bmd-btn-icon, .open > .bg-inverse .btn-outline-danger.dropdown-toggle.bmd-btn-icon.custom-file-control::before {
+ color: inherit;
+ background-color: inherit; }
+ .open > .bg-inverse .btn.btn-outline-danger.dropdown-toggle.bmd-btn-icon:hover, .open > .bg-inverse .btn-outline-danger.dropdown-toggle.bmd-btn-icon.custom-file-control:hover::before {
+ background-color: rgba(204, 204, 204, 0.15); }
+ .bg-inverse .btn.btn-outline-danger.disabled:focus, .bg-inverse .btn-outline-danger.disabled.custom-file-control:focus::before, .bg-inverse .btn.btn-outline-danger.disabled.focus, .bg-inverse .btn-outline-danger.disabled.focus.custom-file-control::before, .bg-inverse .btn.btn-outline-danger:disabled:focus, .bg-inverse .btn-outline-danger.custom-file-control:disabled:focus::before, .bg-inverse .btn.btn-outline-danger:disabled.focus, .bg-inverse .btn-outline-danger.custom-file-control:disabled.focus::before {
+ background-color: inherit;
+ border-color: #f44336; }
+ .bg-inverse .btn.btn-outline-danger.disabled:hover, .bg-inverse .btn-outline-danger.disabled.custom-file-control:hover::before, .bg-inverse .btn.btn-outline-danger:disabled:hover, .bg-inverse .btn-outline-danger.custom-file-control:disabled:hover::before {
+ background-color: inherit;
+ border-color: #f44336; }
+ .btn.btn-outline-danger.btn-link, .btn-outline-danger.btn-link.custom-file-control::before {
+ background-color: transparent; }
+ .btn.bmd-btn-fab, .bmd-btn-fab.custom-file-control::before, .btn.bmd-btn-icon, .bmd-btn-icon.custom-file-control::before {
+ overflow: hidden;
+ font-size: 1.5rem;
+ line-height: normal; }
+ .btn-group-lg .btn.bmd-btn-fab, .btn-group-lg .bmd-btn-fab.custom-file-control::before,
+ .btn-group-sm .btn.bmd-btn-fab,
+ .btn-group-sm .bmd-btn-fab.custom-file-control::before, .btn.bmd-btn-fab, .bmd-btn-fab.custom-file-control::before, .btn-group-lg .btn.bmd-btn-icon, .btn-group-lg .bmd-btn-icon.custom-file-control::before,
+ .btn-group-sm .btn.bmd-btn-icon,
+ .btn-group-sm .bmd-btn-icon.custom-file-control::before, .btn.bmd-btn-icon, .bmd-btn-icon.custom-file-control::before {
+ padding: 0;
+ border-radius: 50%; }
+ .btn.bmd-btn-fab .material-icons, .bmd-btn-fab.custom-file-control::before .material-icons, .btn.bmd-btn-icon .material-icons, .bmd-btn-icon.custom-file-control::before .material-icons {
+ position: absolute;
+ top: 50%;
+ left: 50%;
+ width: 1.5rem;
+ line-height: 1.5rem;
+ -webkit-transform: translate(-0.75rem, -0.75rem);
+ -ms-transform: translate(-0.75rem, -0.75rem);
+ -o-transform: translate(-0.75rem, -0.75rem);
+ transform: translate(-0.75rem, -0.75rem); }
+ .btn.bmd-btn-fab, .bmd-btn-fab.custom-file-control::before {
+ width: 3.5rem;
+ min-width: 3.5rem;
+ height: 3.5rem;
+ -webkit-box-shadow: 0 1px 1.5px 0 rgba(0, 0, 0, 0.12), 0 1px 1px 0 rgba(0, 0, 0, 0.26);
+ box-shadow: 0 1px 1.5px 0 rgba(0, 0, 0, 0.12), 0 1px 1px 0 rgba(0, 0, 0, 0.26); }
+ .btn.bmd-btn-fab .ripple-container, .bmd-btn-fab.custom-file-control::before .ripple-container {
+ border-radius: 50%; }
+ .btn.bmd-btn-fab.bmd-btn-fab-sm, .bmd-btn-fab.bmd-btn-fab-sm.custom-file-control::before,
+ .btn-group-sm .btn.bmd-btn-fab,
+ .btn-group-sm .bmd-btn-fab.custom-file-control::before {
+ width: 2.5rem;
+ min-width: 2.5rem;
+ height: 2.5rem; }
+ .btn.bmd-btn-icon, .bmd-btn-icon.custom-file-control::before {
+ width: 2rem;
+ min-width: 2rem;
+ height: 2rem;
+ margin: 0;
+ color: inherit; }
+ .btn.bmd-btn-icon.bmd-btn-icon-sm, .bmd-btn-icon.bmd-btn-icon-sm.custom-file-control::before,
+ .btn-group-sm .btn.bmd-btn-icon,
+ .btn-group-sm .bmd-btn-icon.custom-file-control::before {
+ width: 1.5rem;
+ min-width: 1.5rem;
+ height: 1.5rem;
+ font-size: 1.125rem; }
+ .btn.bmd-btn-icon.bmd-btn-icon-sm .material-icons, .bmd-btn-icon.bmd-btn-icon-sm.custom-file-control::before .material-icons,
+ .btn-group-sm .btn.bmd-btn-icon .material-icons,
+ .btn-group-sm .bmd-btn-icon.custom-file-control::before .material-icons {
+ width: 1.125rem;
+ font-size: 1.125rem;
+ line-height: 1;
+ -webkit-transform: translate(-0.5625rem, -0.5625rem);
+ -ms-transform: translate(-0.5625rem, -0.5625rem);
+ -o-transform: translate(-0.5625rem, -0.5625rem);
+ transform: translate(-0.5625rem, -0.5625rem); }
+ .btn .material-icons, .custom-file-control::before .material-icons {
+ position: relative;
+ top: .25em;
+ margin-top: -1em;
+ margin-bottom: -1em;
+ font-size: 1.5em; }
+ .btn.btn-lg, .btn-group-lg > .btn, .btn-group-lg > .custom-file-control::before, .btn-lg.custom-file-control::before,
+ .btn-group-lg .btn,
+ .btn-group-lg .custom-file-control::before {
+ padding: 0.75rem 1.5rem;
+ font-size: 1.25rem;
+ border-radius: 0.3rem; }
+ .btn.btn-sm, .btn-group-sm > .btn, .btn-group-sm > .custom-file-control::before, .btn-sm.custom-file-control::before,
+ .btn-group-sm .btn,
+ .btn-group-sm .custom-file-control::before {
+ padding: 0.40625rem 0.5rem;
+ font-size: 0.8125rem;
+ border-radius: 0.0625rem;
+ font-size: 0.8125rem; }
+
+fieldset[disabled][disabled] .btn, fieldset[disabled][disabled] .custom-file-control::before, .btn.disabled, .disabled.custom-file-control::before, .btn:disabled, .custom-file-control:disabled::before, .btn[disabled], [disabled].custom-file-control::before, fieldset[disabled][disabled]
+.input-group-btn .btn, fieldset[disabled][disabled]
+.input-group-btn .custom-file-control::before,
+.input-group-btn .btn.disabled,
+.input-group-btn .disabled.custom-file-control::before,
+.input-group-btn .btn:disabled,
+.input-group-btn .custom-file-control:disabled::before,
+.input-group-btn .btn[disabled],
+.input-group-btn [disabled].custom-file-control::before, fieldset[disabled][disabled]
+.btn-group,
+.btn-group.disabled,
+.btn-group:disabled,
+.btn-group[disabled], fieldset[disabled][disabled]
+.btn-group-vertical,
+.btn-group-vertical.disabled,
+.btn-group-vertical:disabled,
+.btn-group-vertical[disabled] {
+ color: rgba(0, 0, 0, 0.26); }
+ .bg-inverse fieldset[disabled][disabled] .btn, .bg-inverse fieldset[disabled][disabled] .custom-file-control::before, .bg-inverse .btn.disabled, .bg-inverse .disabled.custom-file-control::before, .bg-inverse .btn:disabled, .bg-inverse .custom-file-control:disabled::before, .bg-inverse .btn[disabled], .bg-inverse [disabled].custom-file-control::before, .bg-inverse fieldset[disabled][disabled]
+ .input-group-btn .btn, .bg-inverse fieldset[disabled][disabled]
+ .input-group-btn .custom-file-control::before, .bg-inverse
+ .input-group-btn .btn.disabled, .bg-inverse
+ .input-group-btn .disabled.custom-file-control::before, .bg-inverse
+ .input-group-btn .btn:disabled, .bg-inverse
+ .input-group-btn .custom-file-control:disabled::before, .bg-inverse
+ .input-group-btn .btn[disabled], .bg-inverse
+ .input-group-btn [disabled].custom-file-control::before, .bg-inverse fieldset[disabled][disabled]
+ .btn-group, .bg-inverse
+ .btn-group.disabled, .bg-inverse
+ .btn-group:disabled, .bg-inverse
+ .btn-group[disabled], .bg-inverse fieldset[disabled][disabled]
+ .btn-group-vertical, .bg-inverse
+ .btn-group-vertical.disabled, .bg-inverse
+ .btn-group-vertical:disabled, .bg-inverse
+ .btn-group-vertical[disabled] {
+ color: rgba(255, 255, 255, 0.3); }
+ fieldset[disabled][disabled] .btn, fieldset[disabled][disabled] .custom-file-control::before, fieldset[disabled][disabled] .btn:hover, fieldset[disabled][disabled] .custom-file-control:hover::before, fieldset[disabled][disabled] .btn:focus, fieldset[disabled][disabled] .custom-file-control:focus::before, .btn.disabled, .disabled.custom-file-control::before, .btn.disabled:hover, .disabled.custom-file-control:hover::before, .btn.disabled:focus, .disabled.custom-file-control:focus::before, .btn:disabled, .custom-file-control:disabled::before, .btn:disabled:hover, .custom-file-control:disabled:hover::before, .btn:disabled:focus, .custom-file-control:disabled:focus::before, .btn[disabled], [disabled].custom-file-control::before, .btn[disabled]:hover, [disabled].custom-file-control:hover::before, .btn[disabled]:focus, [disabled].custom-file-control:focus::before, fieldset[disabled][disabled]
+ .input-group-btn .btn, fieldset[disabled][disabled]
+ .input-group-btn .custom-file-control::before, fieldset[disabled][disabled]
+ .input-group-btn .btn:hover, fieldset[disabled][disabled]
+ .input-group-btn .custom-file-control:hover::before, fieldset[disabled][disabled]
+ .input-group-btn .btn:focus, fieldset[disabled][disabled]
+ .input-group-btn .custom-file-control:focus::before,
+ .input-group-btn .btn.disabled,
+ .input-group-btn .disabled.custom-file-control::before,
+ .input-group-btn .btn.disabled:hover,
+ .input-group-btn .disabled.custom-file-control:hover::before,
+ .input-group-btn .btn.disabled:focus,
+ .input-group-btn .disabled.custom-file-control:focus::before,
+ .input-group-btn .btn:disabled,
+ .input-group-btn .custom-file-control:disabled::before,
+ .input-group-btn .btn:disabled:hover,
+ .input-group-btn .custom-file-control:disabled:hover::before,
+ .input-group-btn .btn:disabled:focus,
+ .input-group-btn .custom-file-control:disabled:focus::before,
+ .input-group-btn .btn[disabled],
+ .input-group-btn [disabled].custom-file-control::before,
+ .input-group-btn .btn[disabled]:hover,
+ .input-group-btn [disabled].custom-file-control:hover::before,
+ .input-group-btn .btn[disabled]:focus,
+ .input-group-btn [disabled].custom-file-control:focus::before, fieldset[disabled][disabled]
+ .btn-group, fieldset[disabled][disabled]
+ .btn-group:hover, fieldset[disabled][disabled]
+ .btn-group:focus,
+ .btn-group.disabled,
+ .btn-group.disabled:hover,
+ .btn-group.disabled:focus,
+ .btn-group:disabled,
+ .btn-group:disabled:hover,
+ .btn-group:disabled:focus,
+ .btn-group[disabled],
+ .btn-group[disabled]:hover,
+ .btn-group[disabled]:focus, fieldset[disabled][disabled]
+ .btn-group-vertical, fieldset[disabled][disabled]
+ .btn-group-vertical:hover, fieldset[disabled][disabled]
+ .btn-group-vertical:focus,
+ .btn-group-vertical.disabled,
+ .btn-group-vertical.disabled:hover,
+ .btn-group-vertical.disabled:focus,
+ .btn-group-vertical:disabled,
+ .btn-group-vertical:disabled:hover,
+ .btn-group-vertical:disabled:focus,
+ .btn-group-vertical[disabled],
+ .btn-group-vertical[disabled]:hover,
+ .btn-group-vertical[disabled]:focus {
+ background: transparent; }
+
+.btn-group,
+.btn-group-vertical {
+ position: relative;
+ margin: 10px 1px; }
+ .btn-group .dropdown-menu,
+ .btn-group-vertical .dropdown-menu {
+ border-radius: 0 0 0.125rem 0.125rem; }
+ .btn-group.btn-group-raised,
+ .btn-group-vertical.btn-group-raised {
+ -webkit-box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 1px 5px 0 rgba(0, 0, 0, 0.12);
+ box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 1px 5px 0 rgba(0, 0, 0, 0.12); }
+ .btn-group .btn + .btn, .btn-group .custom-file-control::before + .btn, .btn-group .btn + .custom-file-control::before, .btn-group .custom-file-control::before + .custom-file-control::before,
+ .btn-group .btn,
+ .btn-group .custom-file-control::before,
+ .btn-group .btn:active,
+ .btn-group .custom-file-control:active::before,
+ .btn-group .btn-group,
+ .btn-group-vertical .btn + .btn,
+ .btn-group-vertical .custom-file-control::before + .btn,
+ .btn-group-vertical .btn + .custom-file-control::before,
+ .btn-group-vertical .custom-file-control::before + .custom-file-control::before,
+ .btn-group-vertical .btn,
+ .btn-group-vertical .custom-file-control::before,
+ .btn-group-vertical .btn:active,
+ .btn-group-vertical .custom-file-control:active::before,
+ .btn-group-vertical .btn-group {
+ margin: 0; }
+ .btn-group > .btn-group,
+ .btn-group-vertical > .btn-group {
+ margin: 0; }
+
+.checkbox label,
+label.checkbox-inline {
+ padding-left: 1.5625rem;
+ cursor: pointer; }
+ .checkbox label .checkbox-decorator,
+ label.checkbox-inline .checkbox-decorator {
+ position: absolute;
+ top: 0.125rem;
+ left: 0;
+ vertical-align: middle; }
+ .checkbox label .checkbox-decorator::before,
+ label.checkbox-inline .checkbox-decorator::before {
+ position: absolute;
+ left: 0;
+ z-index: 1;
+ display: block;
+ width: 1.25rem;
+ height: 1.25rem;
+ margin: 0;
+ content: "";
+ background-color: rgba(0, 0, 0, 0.84);
+ border-radius: 100%;
+ opacity: 0;
+ -webkit-transform: scale3d(2.3, 2.3, 1);
+ transform: scale3d(2.3, 2.3, 1); }
+ .checkbox label .checkbox-decorator .check,
+ label.checkbox-inline .checkbox-decorator .check {
+ position: relative;
+ z-index: 1;
+ display: inline-block;
+ width: 1.25rem;
+ height: 1.25rem;
+ overflow: hidden;
+ border: 0.125rem solid rgba(0, 0, 0, 0.54);
+ border-radius: 0.125rem; }
+ .checkbox label .checkbox-decorator .check::before,
+ label.checkbox-inline .checkbox-decorator .check::before {
+ position: absolute;
+ display: block;
+ width: 0;
+ height: 0;
+ margin-top: -4px;
+ margin-left: 6px;
+ content: "";
+ -webkit-box-shadow: 0 0 0 0, 0 0 0 0, 0 0 0 0, 0 0 0 0, 0 0 0 0, 0 0 0 0, 0 0 0 0 inset;
+ box-shadow: 0 0 0 0, 0 0 0 0, 0 0 0 0, 0 0 0 0, 0 0 0 0, 0 0 0 0, 0 0 0 0 inset;
+ -webkit-transform: rotate(45deg);
+ -ms-transform: rotate(45deg);
+ -o-transform: rotate(45deg);
+ transform: rotate(45deg);
+ -webkit-animation: checkbox-off;
+ -o-animation: checkbox-off;
+ animation: checkbox-off; }
+ .is-focused .checkbox label .checkbox-decorator .check::before, .is-focused
+ label.checkbox-inline .checkbox-decorator .check::before {
+ -webkit-animation: checkbox-off 0.3s forwards;
+ -o-animation: checkbox-off 0.3s forwards;
+ animation: checkbox-off 0.3s forwards; }
+ .checkbox label input[type=checkbox],
+ label.checkbox-inline input[type=checkbox] {
+ position: absolute;
+ left: 0;
+ z-index: -1;
+ width: 0;
+ height: 0;
+ margin: 0;
+ overflow: hidden;
+ pointer-events: none;
+ opacity: 0; }
+ .checkbox label input[type=checkbox]:focus + .checkbox-decorator .check::after,
+ label.checkbox-inline input[type=checkbox]:focus + .checkbox-decorator .check::after {
+ opacity: 0.2; }
+ .checkbox label input[type=checkbox]:checked + .checkbox-decorator .check,
+ label.checkbox-inline input[type=checkbox]:checked + .checkbox-decorator .check {
+ color: #009688;
+ border-color: #009688; }
+ .checkbox label input[type=checkbox]:checked + .checkbox-decorator .check::before,
+ label.checkbox-inline input[type=checkbox]:checked + .checkbox-decorator .check::before {
+ color: #009688;
+ -webkit-box-shadow: 0 0 0 10px, 10px -10px 0 10px, 32px 0 0 20px, 032px 0 20px, -5px 5px 0 10px, 20px -12px 0 11px;
+ box-shadow: 0 0 0 10px, 10px -10px 0 10px, 32px 0 0 20px, 032px 0 20px, -5px 5px 0 10px, 20px -12px 0 11px;
+ -webkit-animation: checkbox-on 0.3s forwards;
+ -o-animation: checkbox-on 0.3s forwards;
+ animation: checkbox-on 0.3s forwards; }
+ .checkbox label input[type=checkbox]:checked + .checkbox-decorator::before,
+ label.checkbox-inline input[type=checkbox]:checked + .checkbox-decorator::before {
+ -webkit-animation: rippleOn;
+ -o-animation: rippleOn;
+ animation: rippleOn; }
+ .is-focused .checkbox label input[type=checkbox]:checked + .checkbox-decorator::before, .is-focused
+ label.checkbox-inline input[type=checkbox]:checked + .checkbox-decorator::before {
+ -webkit-animation: rippleOn 500ms;
+ -o-animation: rippleOn 500ms;
+ animation: rippleOn 500ms; }
+ .checkbox label input[type=checkbox]:checked + .checkbox-decorator .check::after,
+ label.checkbox-inline input[type=checkbox]:checked + .checkbox-decorator .check::after {
+ -webkit-animation: rippleOn 500ms forwards;
+ -o-animation: rippleOn 500ms forwards;
+ animation: rippleOn 500ms forwards; }
+ .checkbox label input[type=checkbox]:not(:checked) + .checkbox-decorator::before,
+ label.checkbox-inline input[type=checkbox]:not(:checked) + .checkbox-decorator::before {
+ -webkit-animation: rippleOff;
+ -o-animation: rippleOff;
+ animation: rippleOff; }
+ .is-focused .checkbox label input[type=checkbox]:not(:checked) + .checkbox-decorator::before, .is-focused
+ label.checkbox-inline input[type=checkbox]:not(:checked) + .checkbox-decorator::before {
+ -webkit-animation: rippleOff 500ms;
+ -o-animation: rippleOff 500ms;
+ animation: rippleOff 500ms; }
+ .checkbox label input[type=checkbox]:not(:checked) + .checkbox-decorator .check::after,
+ label.checkbox-inline input[type=checkbox]:not(:checked) + .checkbox-decorator .check::after {
+ -webkit-animation: rippleOff 500ms forwards;
+ -o-animation: rippleOff 500ms forwards;
+ animation: rippleOff 500ms forwards; }
+ .checkbox label input[type=checkbox][disabled] + .checkbox-decorator .check::after,
+ .checkbox label input[type=checkbox][disabled] .check::after,
+ fieldset[disabled] .checkbox label input[type=checkbox] + .checkbox-decorator .check::after,
+ fieldset[disabled] .checkbox label input[type=checkbox] .check::after,
+ label.checkbox-inline input[type=checkbox][disabled] + .checkbox-decorator .check::after,
+ label.checkbox-inline input[type=checkbox][disabled] .check::after,
+ fieldset[disabled]
+ label.checkbox-inline input[type=checkbox] + .checkbox-decorator .check::after,
+ fieldset[disabled]
+ label.checkbox-inline input[type=checkbox] .check::after {
+ background-color: rgba(0, 0, 0, 0.87);
+ -webkit-transform: rotate(-45deg);
+ -ms-transform: rotate(-45deg);
+ -o-transform: rotate(-45deg);
+ transform: rotate(-45deg); }
+ .checkbox label input[type=checkbox][disabled] + .checkbox-decorator .check,
+ .checkbox label input[type=checkbox][disabled] .check,
+ fieldset[disabled] .checkbox label input[type=checkbox] + .checkbox-decorator .check,
+ fieldset[disabled] .checkbox label input[type=checkbox] .check,
+ label.checkbox-inline input[type=checkbox][disabled] + .checkbox-decorator .check,
+ label.checkbox-inline input[type=checkbox][disabled] .check,
+ fieldset[disabled]
+ label.checkbox-inline input[type=checkbox] + .checkbox-decorator .check,
+ fieldset[disabled]
+ label.checkbox-inline input[type=checkbox] .check {
+ border-color: rgba(0, 0, 0, 0.26); }
+
+@-webkit-keyframes checkbox-on {
+ 0% {
+ -webkit-box-shadow: 0 0 0 10px, 10px -10px 0 10px, 32px 0 0 20px, 0 32px 0 20px, -5px 5px 0 10px, 15px 2px 0 11px;
+ box-shadow: 0 0 0 10px, 10px -10px 0 10px, 32px 0 0 20px, 0 32px 0 20px, -5px 5px 0 10px, 15px 2px 0 11px; }
+ 50% {
+ -webkit-box-shadow: 0 0 0 10px, 10px -10px 0 10px, 32px 0 0 20px, 0 32px 0 20px, -5px 5px 0 10px, 20px 2px 0 11px;
+ box-shadow: 0 0 0 10px, 10px -10px 0 10px, 32px 0 0 20px, 0 32px 0 20px, -5px 5px 0 10px, 20px 2px 0 11px; }
+ 100% {
+ -webkit-box-shadow: 0 0 0 10px, 10px -10px 0 10px, 32px 0 0 20px, 0 32px 0 20px, -5px 5px 0 10px, 20px -12px 0 11px;
+ box-shadow: 0 0 0 10px, 10px -10px 0 10px, 32px 0 0 20px, 0 32px 0 20px, -5px 5px 0 10px, 20px -12px 0 11px; } }
+
+@-o-keyframes checkbox-on {
+ 0% {
+ box-shadow: 0 0 0 10px, 10px -10px 0 10px, 32px 0 0 20px, 0 32px 0 20px, -5px 5px 0 10px, 15px 2px 0 11px; }
+ 50% {
+ box-shadow: 0 0 0 10px, 10px -10px 0 10px, 32px 0 0 20px, 0 32px 0 20px, -5px 5px 0 10px, 20px 2px 0 11px; }
+ 100% {
+ box-shadow: 0 0 0 10px, 10px -10px 0 10px, 32px 0 0 20px, 0 32px 0 20px, -5px 5px 0 10px, 20px -12px 0 11px; } }
+
+@keyframes checkbox-on {
+ 0% {
+ -webkit-box-shadow: 0 0 0 10px, 10px -10px 0 10px, 32px 0 0 20px, 0 32px 0 20px, -5px 5px 0 10px, 15px 2px 0 11px;
+ box-shadow: 0 0 0 10px, 10px -10px 0 10px, 32px 0 0 20px, 0 32px 0 20px, -5px 5px 0 10px, 15px 2px 0 11px; }
+ 50% {
+ -webkit-box-shadow: 0 0 0 10px, 10px -10px 0 10px, 32px 0 0 20px, 0 32px 0 20px, -5px 5px 0 10px, 20px 2px 0 11px;
+ box-shadow: 0 0 0 10px, 10px -10px 0 10px, 32px 0 0 20px, 0 32px 0 20px, -5px 5px 0 10px, 20px 2px 0 11px; }
+ 100% {
+ -webkit-box-shadow: 0 0 0 10px, 10px -10px 0 10px, 32px 0 0 20px, 0 32px 0 20px, -5px 5px 0 10px, 20px -12px 0 11px;
+ box-shadow: 0 0 0 10px, 10px -10px 0 10px, 32px 0 0 20px, 0 32px 0 20px, -5px 5px 0 10px, 20px -12px 0 11px; } }
+
+@-webkit-keyframes checkbox-off {
+ 0% {
+ -webkit-box-shadow: 0 0 0 10px, 10px -10px 0 10px, 32px 0 0 20px, 0 32px 0 20px, -5px 5px 0 10px, 20px -12px 0 11px, 0 0 0 0 inset;
+ box-shadow: 0 0 0 10px, 10px -10px 0 10px, 32px 0 0 20px, 0 32px 0 20px, -5px 5px 0 10px, 20px -12px 0 11px, 0 0 0 0 inset; }
+ 25% {
+ -webkit-box-shadow: 0 0 0 10px, 10px -10px 0 10px, 32px 0 0 20px, 0 32px 0 20px, -5px 5px 0 10px, 20px -12px 0 11px, 0 0 0 0 inset;
+ box-shadow: 0 0 0 10px, 10px -10px 0 10px, 32px 0 0 20px, 0 32px 0 20px, -5px 5px 0 10px, 20px -12px 0 11px, 0 0 0 0 inset; }
+ 50% {
+ width: 0;
+ height: 0;
+ margin-top: -4px;
+ margin-left: 6px;
+ -webkit-box-shadow: 0 0 0 10px, 10px -10px 0 10px, 32px 0 0 20px, 0 32px 0 20px, -5px 5px 0 10px, 15px 2px 0 11px, 0 0 0 0 inset;
+ box-shadow: 0 0 0 10px, 10px -10px 0 10px, 32px 0 0 20px, 0 32px 0 20px, -5px 5px 0 10px, 15px 2px 0 11px, 0 0 0 0 inset;
+ -webkit-transform: rotate(45deg);
+ transform: rotate(45deg); }
+ 51% {
+ width: 20px;
+ height: 20px;
+ margin-top: -2px;
+ margin-left: -2px;
+ -webkit-box-shadow: 0 0 0 0, 0 0 0 0, 0 0 0 0, 0 0 0 0, 0 0 0 0, 0 0 0 0, 0 0 0 10px inset;
+ box-shadow: 0 0 0 0, 0 0 0 0, 0 0 0 0, 0 0 0 0, 0 0 0 0, 0 0 0 0, 0 0 0 10px inset;
+ -webkit-transform: rotate(0deg);
+ transform: rotate(0deg); }
+ 100% {
+ width: 20px;
+ height: 20px;
+ margin-top: -2px;
+ margin-left: -2px;
+ -webkit-box-shadow: 0 0 0 0, 0 0 0 0, 0 0 0 0, 0 0 0 0, 0 0 0 0, 0 0 0 0, 0 0 0 0 inset;
+ box-shadow: 0 0 0 0, 0 0 0 0, 0 0 0 0, 0 0 0 0, 0 0 0 0, 0 0 0 0, 0 0 0 0 inset;
+ -webkit-transform: rotate(0deg);
+ transform: rotate(0deg); } }
+
+@-o-keyframes checkbox-off {
+ 0% {
+ box-shadow: 0 0 0 10px, 10px -10px 0 10px, 32px 0 0 20px, 0 32px 0 20px, -5px 5px 0 10px, 20px -12px 0 11px, 0 0 0 0 inset; }
+ 25% {
+ box-shadow: 0 0 0 10px, 10px -10px 0 10px, 32px 0 0 20px, 0 32px 0 20px, -5px 5px 0 10px, 20px -12px 0 11px, 0 0 0 0 inset; }
+ 50% {
+ width: 0;
+ height: 0;
+ margin-top: -4px;
+ margin-left: 6px;
+ box-shadow: 0 0 0 10px, 10px -10px 0 10px, 32px 0 0 20px, 0 32px 0 20px, -5px 5px 0 10px, 15px 2px 0 11px, 0 0 0 0 inset;
+ -o-transform: rotate(45deg);
+ transform: rotate(45deg); }
+ 51% {
+ width: 20px;
+ height: 20px;
+ margin-top: -2px;
+ margin-left: -2px;
+ box-shadow: 0 0 0 0, 0 0 0 0, 0 0 0 0, 0 0 0 0, 0 0 0 0, 0 0 0 0, 0 0 0 10px inset;
+ -o-transform: rotate(0deg);
+ transform: rotate(0deg); }
+ 100% {
+ width: 20px;
+ height: 20px;
+ margin-top: -2px;
+ margin-left: -2px;
+ box-shadow: 0 0 0 0, 0 0 0 0, 0 0 0 0, 0 0 0 0, 0 0 0 0, 0 0 0 0, 0 0 0 0 inset;
+ -o-transform: rotate(0deg);
+ transform: rotate(0deg); } }
+
+@keyframes checkbox-off {
+ 0% {
+ -webkit-box-shadow: 0 0 0 10px, 10px -10px 0 10px, 32px 0 0 20px, 0 32px 0 20px, -5px 5px 0 10px, 20px -12px 0 11px, 0 0 0 0 inset;
+ box-shadow: 0 0 0 10px, 10px -10px 0 10px, 32px 0 0 20px, 0 32px 0 20px, -5px 5px 0 10px, 20px -12px 0 11px, 0 0 0 0 inset; }
+ 25% {
+ -webkit-box-shadow: 0 0 0 10px, 10px -10px 0 10px, 32px 0 0 20px, 0 32px 0 20px, -5px 5px 0 10px, 20px -12px 0 11px, 0 0 0 0 inset;
+ box-shadow: 0 0 0 10px, 10px -10px 0 10px, 32px 0 0 20px, 0 32px 0 20px, -5px 5px 0 10px, 20px -12px 0 11px, 0 0 0 0 inset; }
+ 50% {
+ width: 0;
+ height: 0;
+ margin-top: -4px;
+ margin-left: 6px;
+ -webkit-box-shadow: 0 0 0 10px, 10px -10px 0 10px, 32px 0 0 20px, 0 32px 0 20px, -5px 5px 0 10px, 15px 2px 0 11px, 0 0 0 0 inset;
+ box-shadow: 0 0 0 10px, 10px -10px 0 10px, 32px 0 0 20px, 0 32px 0 20px, -5px 5px 0 10px, 15px 2px 0 11px, 0 0 0 0 inset;
+ -webkit-transform: rotate(45deg);
+ -o-transform: rotate(45deg);
+ transform: rotate(45deg); }
+ 51% {
+ width: 20px;
+ height: 20px;
+ margin-top: -2px;
+ margin-left: -2px;
+ -webkit-box-shadow: 0 0 0 0, 0 0 0 0, 0 0 0 0, 0 0 0 0, 0 0 0 0, 0 0 0 0, 0 0 0 10px inset;
+ box-shadow: 0 0 0 0, 0 0 0 0, 0 0 0 0, 0 0 0 0, 0 0 0 0, 0 0 0 0, 0 0 0 10px inset;
+ -webkit-transform: rotate(0deg);
+ -o-transform: rotate(0deg);
+ transform: rotate(0deg); }
+ 100% {
+ width: 20px;
+ height: 20px;
+ margin-top: -2px;
+ margin-left: -2px;
+ -webkit-box-shadow: 0 0 0 0, 0 0 0 0, 0 0 0 0, 0 0 0 0, 0 0 0 0, 0 0 0 0, 0 0 0 0 inset;
+ box-shadow: 0 0 0 0, 0 0 0 0, 0 0 0 0, 0 0 0 0, 0 0 0 0, 0 0 0 0, 0 0 0 0 inset;
+ -webkit-transform: rotate(0deg);
+ -o-transform: rotate(0deg);
+ transform: rotate(0deg); } }
+
+@-webkit-keyframes rippleOn {
+ 0% {
+ opacity: 0; }
+ 50% {
+ opacity: 0.2; }
+ 100% {
+ opacity: 0; } }
+
+@-o-keyframes rippleOn {
+ 0% {
+ opacity: 0; }
+ 50% {
+ opacity: 0.2; }
+ 100% {
+ opacity: 0; } }
+
+@keyframes rippleOn {
+ 0% {
+ opacity: 0; }
+ 50% {
+ opacity: 0.2; }
+ 100% {
+ opacity: 0; } }
+
+@-webkit-keyframes rippleOff {
+ 0% {
+ opacity: 0; }
+ 50% {
+ opacity: 0.2; }
+ 100% {
+ opacity: 0; } }
+
+@-o-keyframes rippleOff {
+ 0% {
+ opacity: 0; }
+ 50% {
+ opacity: 0.2; }
+ 100% {
+ opacity: 0; } }
+
+@keyframes rippleOff {
+ 0% {
+ opacity: 0; }
+ 50% {
+ opacity: 0.2; }
+ 100% {
+ opacity: 0; } }
+
+.custom-file-control [class^='bmd-label'],
+.custom-file-control [class*=' bmd-label'] {
+ color: rgba(0, 0, 0, 0.26); }
+
+.custom-file-control .form-control, .custom-file-control .custom-file-control,
+.is-focused .custom-file-control .form-control,
+.is-focused .custom-file-control .custom-file-control {
+ background-image: -webkit-linear-gradient(bottom, #009688 2px, rgba(0, 150, 136, 0) 2px), -webkit-linear-gradient(bottom, rgba(0, 0, 0, 0.26) 1px, transparent 1px);
+ background-image: -o-linear-gradient(bottom, #009688 2px, rgba(0, 150, 136, 0) 2px), -o-linear-gradient(bottom, rgba(0, 0, 0, 0.26) 1px, transparent 1px);
+ background-image: linear-gradient(to top, #009688 2px, rgba(0, 150, 136, 0) 2px), linear-gradient(to top, rgba(0, 0, 0, 0.26) 1px, transparent 1px); }
+
+.custom-file-control .form-control:invalid, .custom-file-control .custom-file-control:invalid {
+ background-image: -webkit-linear-gradient(bottom, #d50000 2px, rgba(213, 0, 0, 0) 2px), -webkit-linear-gradient(bottom, rgba(0, 0, 0, 0.26) 1px, transparent 1px);
+ background-image: -o-linear-gradient(bottom, #d50000 2px, rgba(213, 0, 0, 0) 2px), -o-linear-gradient(bottom, rgba(0, 0, 0, 0.26) 1px, transparent 1px);
+ background-image: linear-gradient(to top, #d50000 2px, rgba(213, 0, 0, 0) 2px), linear-gradient(to top, rgba(0, 0, 0, 0.26) 1px, transparent 1px); }
+
+.custom-file-control .form-control:-moz-read-only, .custom-file-control .custom-file-control:-moz-read-only {
+ background-image: linear-gradient(to top, rgba(0, 0, 0, 0.26) 1px, transparent 1px), linear-gradient(to top, rgba(0, 0, 0, 0.26) 1px, transparent 1px); }
+
+.custom-file-control .form-control:read-only, .custom-file-control .custom-file-control:read-only {
+ background-image: -webkit-linear-gradient(bottom, rgba(0, 0, 0, 0.26) 1px, transparent 1px), -webkit-linear-gradient(bottom, rgba(0, 0, 0, 0.26) 1px, transparent 1px);
+ background-image: -o-linear-gradient(bottom, rgba(0, 0, 0, 0.26) 1px, transparent 1px), -o-linear-gradient(bottom, rgba(0, 0, 0, 0.26) 1px, transparent 1px);
+ background-image: linear-gradient(to top, rgba(0, 0, 0, 0.26) 1px, transparent 1px), linear-gradient(to top, rgba(0, 0, 0, 0.26) 1px, transparent 1px); }
+
+fieldset[disabled][disabled] .custom-file-control .form-control, fieldset[disabled][disabled] .custom-file-control .custom-file-control, .custom-file-control .form-control.disabled, .custom-file-control .disabled.custom-file-control, .custom-file-control .form-control:disabled, .custom-file-control .custom-file-control:disabled, .custom-file-control .form-control[disabled], .custom-file-control [disabled].custom-file-control {
+ background-image: -webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, 0.26)), color-stop(30%, rgba(0, 0, 0, 0.26)), color-stop(30%, transparent), to(transparent));
+ background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.26) 0%, rgba(0, 0, 0, 0.26) 30%, transparent 30%, transparent 100%);
+ background-image: -o-linear-gradient(left, rgba(0, 0, 0, 0.26) 0%, rgba(0, 0, 0, 0.26) 30%, transparent 30%, transparent 100%);
+ background-image: linear-gradient(to right, rgba(0, 0, 0, 0.26) 0%, rgba(0, 0, 0, 0.26) 30%, transparent 30%, transparent 100%);
+ background-repeat: repeat-x;
+ -webkit-background-size: 3px 1px;
+ background-size: 3px 1px; }
+
+.custom-file-control .form-control.form-control-success, .custom-file-control .form-control-success.custom-file-control,
+.is-focused .custom-file-control .form-control.form-control-success,
+.is-focused .custom-file-control .form-control-success.custom-file-control {
+ background-image: -webkit-linear-gradient(bottom, #009688 2px, rgba(0, 150, 136, 0) 2px), -webkit-linear-gradient(bottom, rgba(0, 0, 0, 0.26) 1px, transparent 1px), url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%235cb85c' 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-image: -o-linear-gradient(bottom, #009688 2px, rgba(0, 150, 136, 0) 2px), -o-linear-gradient(bottom, rgba(0, 0, 0, 0.26) 1px, transparent 1px), url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%235cb85c' 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-image: linear-gradient(to top, #009688 2px, rgba(0, 150, 136, 0) 2px), linear-gradient(to top, rgba(0, 0, 0, 0.26) 1px, transparent 1px), url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%235cb85c' 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"); }
+
+.custom-file-control .form-control.form-control-warning, .custom-file-control .form-control-warning.custom-file-control,
+.is-focused .custom-file-control .form-control.form-control-warning,
+.is-focused .custom-file-control .form-control-warning.custom-file-control {
+ background-image: -webkit-linear-gradient(bottom, #009688 2px, rgba(0, 150, 136, 0) 2px), -webkit-linear-gradient(bottom, rgba(0, 0, 0, 0.26) 1px, transparent 1px), url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23f0ad4e' d='M4.4 5.324h-.8v-2.46h.8zm0 1.42h-.8V5.89h.8zM3.76.63L.04 7.075c-.115.2.016.425.26.426h7.397c.242 0 .372-.226.258-.426C6.726 4.924 5.47 2.79 4.253.63c-.113-.174-.39-.174-.494 0z'/%3E%3C/svg%3E");
+ background-image: -o-linear-gradient(bottom, #009688 2px, rgba(0, 150, 136, 0) 2px), -o-linear-gradient(bottom, rgba(0, 0, 0, 0.26) 1px, transparent 1px), url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23f0ad4e' d='M4.4 5.324h-.8v-2.46h.8zm0 1.42h-.8V5.89h.8zM3.76.63L.04 7.075c-.115.2.016.425.26.426h7.397c.242 0 .372-.226.258-.426C6.726 4.924 5.47 2.79 4.253.63c-.113-.174-.39-.174-.494 0z'/%3E%3C/svg%3E");
+ background-image: linear-gradient(to top, #009688 2px, rgba(0, 150, 136, 0) 2px), linear-gradient(to top, rgba(0, 0, 0, 0.26) 1px, transparent 1px), url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23f0ad4e' d='M4.4 5.324h-.8v-2.46h.8zm0 1.42h-.8V5.89h.8zM3.76.63L.04 7.075c-.115.2.016.425.26.426h7.397c.242 0 .372-.226.258-.426C6.726 4.924 5.47 2.79 4.253.63c-.113-.174-.39-.174-.494 0z'/%3E%3C/svg%3E"); }
+
+.custom-file-control .form-control.form-control-danger, .custom-file-control .form-control-danger.custom-file-control,
+.is-focused .custom-file-control .form-control.form-control-danger,
+.is-focused .custom-file-control .form-control-danger.custom-file-control {
+ background-image: -webkit-linear-gradient(bottom, #009688 2px, rgba(0, 150, 136, 0) 2px), -webkit-linear-gradient(bottom, rgba(0, 0, 0, 0.26) 1px, transparent 1px), url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23d9534f' viewBox='-2 -2 7 7'%3E%3Cpath stroke='%23d9534f' d='M0 0l3 3m0-3L0 3'/%3E%3Ccircle r='.5'/%3E%3Ccircle cx='3' r='.5'/%3E%3Ccircle cy='3' r='.5'/%3E%3Ccircle cx='3' cy='3' r='.5'/%3E%3C/svg%3E");
+ background-image: -o-linear-gradient(bottom, #009688 2px, rgba(0, 150, 136, 0) 2px), -o-linear-gradient(bottom, rgba(0, 0, 0, 0.26) 1px, transparent 1px), url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23d9534f' viewBox='-2 -2 7 7'%3E%3Cpath stroke='%23d9534f' d='M0 0l3 3m0-3L0 3'/%3E%3Ccircle r='.5'/%3E%3Ccircle cx='3' r='.5'/%3E%3Ccircle cy='3' r='.5'/%3E%3Ccircle cx='3' cy='3' r='.5'/%3E%3C/svg%3E");
+ background-image: linear-gradient(to top, #009688 2px, rgba(0, 150, 136, 0) 2px), linear-gradient(to top, rgba(0, 0, 0, 0.26) 1px, transparent 1px), url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23d9534f' viewBox='-2 -2 7 7'%3E%3Cpath stroke='%23d9534f' d='M0 0l3 3m0-3L0 3'/%3E%3Ccircle r='.5'/%3E%3Ccircle cx='3' r='.5'/%3E%3Ccircle cy='3' r='.5'/%3E%3Ccircle cx='3' cy='3' r='.5'/%3E%3C/svg%3E"); }
+
+.custom-file-control .is-focused .form-control-feedback,
+.custom-file-control .is-focused .form-control-label,
+.custom-file-control .is-focused .radio,
+.custom-file-control .is-focused .checkbox,
+.custom-file-control .is-focused .radio-inline,
+.custom-file-control .is-focused .checkbox-inline,
+.custom-file-control .is-focused.radio label,
+.custom-file-control .is-focused.checkbox label,
+.custom-file-control .is-focused.radio-inline label,
+.custom-file-control .is-focused.checkbox-inline label,
+.custom-file-control .is-focused .custom-control, .custom-file-control.is-focused .form-control-feedback,
+.custom-file-control.is-focused .form-control-label,
+.custom-file-control.is-focused .radio,
+.custom-file-control.is-focused .checkbox,
+.custom-file-control.is-focused .radio-inline,
+.custom-file-control.is-focused .checkbox-inline,
+.custom-file-control.is-focused.radio label,
+.custom-file-control.is-focused.checkbox label,
+.custom-file-control.is-focused.radio-inline label,
+.custom-file-control.is-focused.checkbox-inline label,
+.custom-file-control.is-focused .custom-control {
+ color: rgba(0, 0, 0, 0.26); }
+
+.custom-file-control .is-focused .form-control, .custom-file-control .is-focused .custom-file-control, .custom-file-control.is-focused .form-control, .custom-file-control.is-focused .custom-file-control {
+ border-color: rgba(0, 0, 0, 0.26); }
+
+.custom-file-control .is-focused .input-group-addon, .custom-file-control.is-focused .input-group-addon {
+ color: rgba(0, 0, 0, 0.26);
+ border-color: rgba(0, 0, 0, 0.26);
+ background-color: rgba(102, 102, 102, 0.26); }
+
+.custom-file-control .is-focused .form-control-feedback, .custom-file-control.is-focused .form-control-feedback {
+ color: rgba(0, 0, 0, 0.26); }
+
+.custom-file-control .is-focused [class^='bmd-label'],
+.custom-file-control .is-focused [class*=' bmd-label'], .custom-file-control.is-focused [class^='bmd-label'],
+.custom-file-control.is-focused [class*=' bmd-label'] {
+ color: #009688; }
+
+.custom-file-control .is-focused .bmd-label-placeholder, .custom-file-control.is-focused .bmd-label-placeholder {
+ color: rgba(0, 0, 0, 0.26); }
+
+.custom-file-control .is-focused .form-control, .custom-file-control .is-focused .custom-file-control, .custom-file-control.is-focused .form-control, .custom-file-control.is-focused .custom-file-control {
+ border-color: rgba(0, 0, 0, 0.26); }
+
+.custom-file-control .is-focused .bmd-help, .custom-file-control.is-focused .bmd-help {
+ color: rgba(0, 0, 0, 0.54); }
+
+.custom-file-control::before {
+ position: absolute;
+ height: calc(100% - 1px); }
+
+.switch label {
+ position: relative;
+ padding-left: 2.4375rem; }
+ .switch label .bmd-switch-track {
+ position: absolute;
+ top: 0.3125rem;
+ left: 0;
+ display: inline-block;
+ width: 2.125rem;
+ height: 0.875rem;
+ cursor: pointer;
+ background-image: -webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, 0.26)), color-stop(50%, rgba(0, 0, 0, 0.26)), color-stop(50%, #49dcce), to(#49dcce));
+ background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.26) 0%, rgba(0, 0, 0, 0.26) 50%, #49dcce 50%, #49dcce 100%);
+ background-image: -o-linear-gradient(left, rgba(0, 0, 0, 0.26) 0%, rgba(0, 0, 0, 0.26) 50%, #49dcce 50%, #49dcce 100%);
+ background-image: linear-gradient(to right, rgba(0, 0, 0, 0.26) 0%, rgba(0, 0, 0, 0.26) 50%, #49dcce 50%, #49dcce 100%);
+ background-position: 0%;
+ -webkit-background-size: 4.25rem 0.875rem;
+ background-size: 4.25rem 0.875rem;
+ border-radius: 2.125rem;
+ -webkit-transition: background-position 0.2s ease-in;
+ -o-transition: background-position 0.2s ease-in;
+ transition: background-position 0.2s ease-in; }
+ .switch label .bmd-switch-track::after {
+ position: absolute;
+ top: 50%;
+ left: 0;
+ display: block;
+ -webkit-align-self: center;
+ -ms-flex-item-align: center;
+ align-self: center;
+ width: 1.25rem;
+ height: 1.25rem;
+ content: "";
+ background: #f1f1f1;
+ border-radius: 100%;
+ -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.5);
+ box-shadow: 0 1px 3px rgba(0, 0, 0, 0.5);
+ -webkit-transition: left 0.2s ease-in, background-color 0.2s ease-in, -webkit-transform 0.3s ease;
+ transition: left 0.2s ease-in, background-color 0.2s ease-in, -webkit-transform 0.3s ease;
+ -o-transition: left 0.2s ease-in, background-color 0.2s ease-in, transform 0.3s ease, -o-transform 0.3s ease;
+ transition: left 0.2s ease-in, background-color 0.2s ease-in, transform 0.3s ease;
+ transition: left 0.2s ease-in, background-color 0.2s ease-in, transform 0.3s ease, -webkit-transform 0.3s ease, -o-transform 0.3s ease;
+ -webkit-transform: translateY(-50%);
+ -ms-transform: translateY(-50%);
+ -o-transform: translateY(-50%);
+ transform: translateY(-50%); }
+ .switch label .bmd-switch-track:active::after {
+ -webkit-transform: translateY(-50%) scale3d(1.15, 0.85, 1);
+ transform: translateY(-50%) scale3d(1.15, 0.85, 1); }
+ .switch label input {
+ position: absolute;
+ display: block;
+ width: 0;
+ height: 0;
+ opacity: 0; }
+ .switch label input:checked + .bmd-switch-track {
+ background-position: -100%; }
+ .switch label input:checked + .bmd-switch-track::after {
+ left: calc(100% - 1.25rem);
+ background-color: #009688; }
+ .switch label input:disabled + .bmd-switch-track:active::after {
+ -webkit-transform: translateY(-50%);
+ -ms-transform: translateY(-50%);
+ -o-transform: translateY(-50%);
+ transform: translateY(-50%); }
+ .switch label input:disabled + .bmd-switch-track {
+ cursor: default;
+ background: rgba(0, 0, 0, 0.12); }
+ .switch label input:disabled + .bmd-switch-track::after {
+ background: #bdbdbd; }
+
+.radio label,
+label.radio-inline {
+ position: relative;
+ padding-left: 1.5625rem; }
+ .radio label .bmd-radio-outer-circle,
+ .radio label .bmd-radio-inner-circle,
+ label.radio-inline .bmd-radio-outer-circle,
+ label.radio-inline .bmd-radio-inner-circle {
+ position: absolute;
+ top: 0.125rem;
+ left: 0;
+ display: inline-block;
+ width: 1.25rem;
+ height: 1.25rem;
+ cursor: pointer;
+ -webkit-transition-duration: 0.2s;
+ -o-transition-duration: 0.2s;
+ transition-duration: 0.2s; }
+ .radio label .bmd-radio-outer-circle.bmd-radio-outer-circle,
+ .radio label .bmd-radio-inner-circle.bmd-radio-outer-circle,
+ label.radio-inline .bmd-radio-outer-circle.bmd-radio-outer-circle,
+ label.radio-inline .bmd-radio-inner-circle.bmd-radio-outer-circle {
+ border: 0.125rem solid rgba(0, 0, 0, 0.54);
+ border-radius: 50%;
+ -webkit-transition: border-color ease .28s;
+ -o-transition: border-color ease .28s;
+ transition: border-color ease .28s; }
+ .radio label .bmd-radio-outer-circle.bmd-radio-inner-circle,
+ .radio label .bmd-radio-inner-circle.bmd-radio-inner-circle,
+ label.radio-inline .bmd-radio-outer-circle.bmd-radio-inner-circle,
+ label.radio-inline .bmd-radio-inner-circle.bmd-radio-inner-circle {
+ display: inline-block;
+ background-color: #009688;
+ border-radius: 50%;
+ -webkit-transition: -webkit-transform ease .28s;
+ transition: -webkit-transform ease .28s;
+ -o-transition: transform ease .28s, -o-transform ease .28s;
+ transition: transform ease .28s;
+ transition: transform ease .28s, -webkit-transform ease .28s, -o-transform ease .28s;
+ -webkit-transform: scale3d(0, 0, 0);
+ transform: scale3d(0, 0, 0); }
+ .radio label .bmd-radio-outer-circle.bmd-radio-inner-circle::after,
+ .radio label .bmd-radio-inner-circle.bmd-radio-inner-circle::after,
+ label.radio-inline .bmd-radio-outer-circle.bmd-radio-inner-circle::after,
+ label.radio-inline .bmd-radio-inner-circle.bmd-radio-inner-circle::after {
+ position: absolute;
+ top: -1em;
+ left: -1em;
+ z-index: 1;
+ display: block;
+ width: 50px;
+ height: 50px;
+ margin: 0;
+ content: "";
+ background-color: rgba(0, 0, 0, 0.87);
+ border-radius: 100%;
+ opacity: 0;
+ -webkit-transform: scale3d(1.5, 1.5, 1);
+ transform: scale3d(1.5, 1.5, 1); }
+ .radio label input[type=radio],
+ label.radio-inline input[type=radio] {
+ position: absolute;
+ left: 0;
+ z-index: -1;
+ width: 0;
+ height: 0;
+ margin: 0;
+ overflow: hidden;
+ pointer-events: none;
+ opacity: 0; }
+ .radio label input[type=radio]:checked ~ .bmd-radio-inner-circle,
+ label.radio-inline input[type=radio]:checked ~ .bmd-radio-inner-circle {
+ background-color: #009688; }
+ .radio label input[type=radio]:checked ~ .bmd-radio-outer-circle,
+ label.radio-inline input[type=radio]:checked ~ .bmd-radio-outer-circle {
+ border-color: #009688; }
+ .radio label input[type=radio]:checked ~ .bmd-radio-inner-circle,
+ label.radio-inline input[type=radio]:checked ~ .bmd-radio-inner-circle {
+ -webkit-transform: scale3d(0.55, 0.55, 1);
+ transform: scale3d(0.55, 0.55, 1); }
+ .radio label input[type=radio]:checked ~ .bmd-radio-inner-circle::after,
+ label.radio-inline input[type=radio]:checked ~ .bmd-radio-inner-circle::after {
+ -webkit-animation: rippleOn;
+ -o-animation: rippleOn;
+ animation: rippleOn; }
+ .is-focused .radio label input[type=radio]:checked ~ .bmd-radio-inner-circle::after, .is-focused
+ label.radio-inline input[type=radio]:checked ~ .bmd-radio-inner-circle::after {
+ -webkit-animation: rippleOn 500ms;
+ -o-animation: rippleOn 500ms;
+ animation: rippleOn 500ms; }
+ .radio label input[type=radio]:not(:checked) ~ .bmd-radio-inner-circle::after,
+ label.radio-inline input[type=radio]:not(:checked) ~ .bmd-radio-inner-circle::after {
+ -webkit-animation: rippleOff 500ms;
+ -o-animation: rippleOff 500ms;
+ animation: rippleOff 500ms; }
+ .radio label input[type=radio][disabled] + .bmd-radio-outer-circle, .radio label input[type=radio]:disabled + .bmd-radio-outer-circle,
+ fieldset[disabled] .radio label input[type=radio] + .bmd-radio-outer-circle,
+ label.radio-inline input[type=radio][disabled] + .bmd-radio-outer-circle,
+ label.radio-inline input[type=radio]:disabled + .bmd-radio-outer-circle,
+ fieldset[disabled]
+ label.radio-inline input[type=radio] + .bmd-radio-outer-circle {
+ cursor: default; }
+ .radio label input[type=radio][disabled] ~ .bmd-radio-inner-circle, .radio label input[type=radio]:disabled ~ .bmd-radio-inner-circle,
+ fieldset[disabled] .radio label input[type=radio] ~ .bmd-radio-inner-circle,
+ label.radio-inline input[type=radio][disabled] ~ .bmd-radio-inner-circle,
+ label.radio-inline input[type=radio]:disabled ~ .bmd-radio-inner-circle,
+ fieldset[disabled]
+ label.radio-inline input[type=radio] ~ .bmd-radio-inner-circle {
+ background-color: rgba(0, 0, 0, 0.26); }
+ .radio label input[type=radio][disabled] ~ .bmd-radio-outer-circle, .radio label input[type=radio]:disabled ~ .bmd-radio-outer-circle,
+ fieldset[disabled] .radio label input[type=radio] ~ .bmd-radio-outer-circle,
+ label.radio-inline input[type=radio][disabled] ~ .bmd-radio-outer-circle,
+ label.radio-inline input[type=radio]:disabled ~ .bmd-radio-outer-circle,
+ fieldset[disabled]
+ label.radio-inline input[type=radio] ~ .bmd-radio-outer-circle {
+ border-color: rgba(0, 0, 0, 0.26); }
+ .bg-inverse .radio label input[type=radio][disabled] ~ .bmd-radio-inner-circle, .bg-inverse .radio label input[type=radio]:disabled ~ .bmd-radio-inner-circle, .bg-inverse
+ fieldset[disabled] .radio label input[type=radio] ~ .bmd-radio-inner-circle, .bg-inverse
+ label.radio-inline input[type=radio][disabled] ~ .bmd-radio-inner-circle, .bg-inverse
+ label.radio-inline input[type=radio]:disabled ~ .bmd-radio-inner-circle, .bg-inverse
+ fieldset[disabled]
+ label.radio-inline input[type=radio] ~ .bmd-radio-inner-circle {
+ background-color: rgba(255, 255, 255, 0.3); }
+ .bg-inverse .radio label input[type=radio][disabled] ~ .bmd-radio-outer-circle, .bg-inverse .radio label input[type=radio]:disabled ~ .bmd-radio-outer-circle, .bg-inverse
+ fieldset[disabled] .radio label input[type=radio] ~ .bmd-radio-outer-circle, .bg-inverse
+ label.radio-inline input[type=radio][disabled] ~ .bmd-radio-outer-circle, .bg-inverse
+ label.radio-inline input[type=radio]:disabled ~ .bmd-radio-outer-circle, .bg-inverse
+ fieldset[disabled]
+ label.radio-inline input[type=radio] ~ .bmd-radio-outer-circle {
+ border-color: rgba(255, 255, 255, 0.3); }
+
+@keyframes rippleOn {
+ 0% {
+ opacity: 0; }
+ 50% {
+ opacity: 0.2; }
+ 100% {
+ opacity: 0; } }
+
+@keyframes rippleOff {
+ 0% {
+ opacity: 0; }
+ 50% {
+ opacity: 0.2; }
+ 100% {
+ opacity: 0; } }
+
+form {
+ margin-bottom: 1.125rem; }
+ .navbar form {
+ margin-bottom: 0; }
+ .navbar form .bmd-form-group {
+ display: inline-block;
+ padding-top: 0; }
+ .navbar form .btn, .navbar form .custom-file-control::before {
+ margin-bottom: 0; }
+
+.form-control, .custom-file-control {
+ background: no-repeat center bottom, center calc(100% - 1px);
+ -webkit-background-size: 0 100%, 100% 100%;
+ background-size: 0 100%, 100% 100%;
+ border: 0;
+ -webkit-transition: background 0s ease-out;
+ -o-transition: background 0s ease-out;
+ transition: background 0s ease-out; }
+ .form-control:focus, .custom-file-control:focus,
+ .bmd-form-group.is-focused .form-control,
+ .bmd-form-group.is-focused .custom-file-control {
+ -webkit-background-size: 100% 100%, 100% 100%;
+ background-size: 100% 100%, 100% 100%;
+ -webkit-transition-duration: 0.3s;
+ -o-transition-duration: 0.3s;
+ transition-duration: 0.3s; }
+
+.bmd-help {
+ position: absolute;
+ display: none;
+ font-size: .8rem;
+ font-weight: normal; }
+ .bmd-form-group.is-focused .bmd-help {
+ display: block; }
+ .bmd-help:nth-of-type(2) {
+ padding-top: 1rem; }
+ .bmd-help + .bmd-help {
+ position: relative;
+ margin-bottom: 0; }
+
+.radio label,
+.is-focused .radio label,
+.radio-inline,
+.is-focused
+.radio-inline,
+.checkbox label,
+.is-focused
+.checkbox label,
+.checkbox-inline,
+.is-focused
+.checkbox-inline,
+.switch label,
+.is-focused
+.switch label {
+ color: rgba(0, 0, 0, 0.26); }
+ .radio label:focus, .radio label:active, .radio label:hover,
+ .is-focused .radio label:focus,
+ .is-focused .radio label:active,
+ .is-focused .radio label:hover,
+ .radio-inline:focus,
+ .radio-inline:active,
+ .radio-inline:hover,
+ .is-focused
+ .radio-inline:focus,
+ .is-focused
+ .radio-inline:active,
+ .is-focused
+ .radio-inline:hover,
+ .checkbox label:focus,
+ .checkbox label:active,
+ .checkbox label:hover,
+ .is-focused
+ .checkbox label:focus,
+ .is-focused
+ .checkbox label:active,
+ .is-focused
+ .checkbox label:hover,
+ .checkbox-inline:focus,
+ .checkbox-inline:active,
+ .checkbox-inline:hover,
+ .is-focused
+ .checkbox-inline:focus,
+ .is-focused
+ .checkbox-inline:active,
+ .is-focused
+ .checkbox-inline:hover,
+ .switch label:focus,
+ .switch label:active,
+ .switch label:hover,
+ .is-focused
+ .switch label:focus,
+ .is-focused
+ .switch label:active,
+ .is-focused
+ .switch label:hover {
+ color: rgba(0, 0, 0, 0.54); }
+ .radio label label:has(input[type=radio][disabled]), .radio label label:has(input[type=radio][disabled]):hover, .radio label label:has(input[type=radio][disabled]):focus,
+ .radio label label:has(input[type=checkbox][disabled]),
+ .radio label label:has(input[type=checkbox][disabled]):hover,
+ .radio label label:has(input[type=checkbox][disabled]):focus,
+ fieldset[disabled] .radio label,
+ fieldset[disabled] .radio label:hover,
+ fieldset[disabled] .radio label:focus,
+ .is-focused .radio label label:has(input[type=radio][disabled]),
+ .is-focused .radio label label:has(input[type=radio][disabled]):hover,
+ .is-focused .radio label label:has(input[type=radio][disabled]):focus,
+ .is-focused .radio label label:has(input[type=checkbox][disabled]),
+ .is-focused .radio label label:has(input[type=checkbox][disabled]):hover,
+ .is-focused .radio label label:has(input[type=checkbox][disabled]):focus,
+ fieldset[disabled]
+ .is-focused .radio label,
+ fieldset[disabled]
+ .is-focused .radio label:hover,
+ fieldset[disabled]
+ .is-focused .radio label:focus,
+ .radio-inline label:has(input[type=radio][disabled]),
+ .radio-inline label:has(input[type=radio][disabled]):hover,
+ .radio-inline label:has(input[type=radio][disabled]):focus,
+ .radio-inline label:has(input[type=checkbox][disabled]),
+ .radio-inline label:has(input[type=checkbox][disabled]):hover,
+ .radio-inline label:has(input[type=checkbox][disabled]):focus,
+ fieldset[disabled]
+ .radio-inline,
+ fieldset[disabled]
+ .radio-inline:hover,
+ fieldset[disabled]
+ .radio-inline:focus,
+ .is-focused
+ .radio-inline label:has(input[type=radio][disabled]),
+ .is-focused
+ .radio-inline label:has(input[type=radio][disabled]):hover,
+ .is-focused
+ .radio-inline label:has(input[type=radio][disabled]):focus,
+ .is-focused
+ .radio-inline label:has(input[type=checkbox][disabled]),
+ .is-focused
+ .radio-inline label:has(input[type=checkbox][disabled]):hover,
+ .is-focused
+ .radio-inline label:has(input[type=checkbox][disabled]):focus,
+ fieldset[disabled]
+ .is-focused
+ .radio-inline,
+ fieldset[disabled]
+ .is-focused
+ .radio-inline:hover,
+ fieldset[disabled]
+ .is-focused
+ .radio-inline:focus,
+ .checkbox label label:has(input[type=radio][disabled]),
+ .checkbox label label:has(input[type=radio][disabled]):hover,
+ .checkbox label label:has(input[type=radio][disabled]):focus,
+ .checkbox label label:has(input[type=checkbox][disabled]),
+ .checkbox label label:has(input[type=checkbox][disabled]):hover,
+ .checkbox label label:has(input[type=checkbox][disabled]):focus,
+ fieldset[disabled]
+ .checkbox label,
+ fieldset[disabled]
+ .checkbox label:hover,
+ fieldset[disabled]
+ .checkbox label:focus,
+ .is-focused
+ .checkbox label label:has(input[type=radio][disabled]),
+ .is-focused
+ .checkbox label label:has(input[type=radio][disabled]):hover,
+ .is-focused
+ .checkbox label label:has(input[type=radio][disabled]):focus,
+ .is-focused
+ .checkbox label label:has(input[type=checkbox][disabled]),
+ .is-focused
+ .checkbox label label:has(input[type=checkbox][disabled]):hover,
+ .is-focused
+ .checkbox label label:has(input[type=checkbox][disabled]):focus,
+ fieldset[disabled]
+ .is-focused
+ .checkbox label,
+ fieldset[disabled]
+ .is-focused
+ .checkbox label:hover,
+ fieldset[disabled]
+ .is-focused
+ .checkbox label:focus,
+ .checkbox-inline label:has(input[type=radio][disabled]),
+ .checkbox-inline label:has(input[type=radio][disabled]):hover,
+ .checkbox-inline label:has(input[type=radio][disabled]):focus,
+ .checkbox-inline label:has(input[type=checkbox][disabled]),
+ .checkbox-inline label:has(input[type=checkbox][disabled]):hover,
+ .checkbox-inline label:has(input[type=checkbox][disabled]):focus,
+ fieldset[disabled]
+ .checkbox-inline,
+ fieldset[disabled]
+ .checkbox-inline:hover,
+ fieldset[disabled]
+ .checkbox-inline:focus,
+ .is-focused
+ .checkbox-inline label:has(input[type=radio][disabled]),
+ .is-focused
+ .checkbox-inline label:has(input[type=radio][disabled]):hover,
+ .is-focused
+ .checkbox-inline label:has(input[type=radio][disabled]):focus,
+ .is-focused
+ .checkbox-inline label:has(input[type=checkbox][disabled]),
+ .is-focused
+ .checkbox-inline label:has(input[type=checkbox][disabled]):hover,
+ .is-focused
+ .checkbox-inline label:has(input[type=checkbox][disabled]):focus,
+ fieldset[disabled]
+ .is-focused
+ .checkbox-inline,
+ fieldset[disabled]
+ .is-focused
+ .checkbox-inline:hover,
+ fieldset[disabled]
+ .is-focused
+ .checkbox-inline:focus,
+ .switch label label:has(input[type=radio][disabled]),
+ .switch label label:has(input[type=radio][disabled]):hover,
+ .switch label label:has(input[type=radio][disabled]):focus,
+ .switch label label:has(input[type=checkbox][disabled]),
+ .switch label label:has(input[type=checkbox][disabled]):hover,
+ .switch label label:has(input[type=checkbox][disabled]):focus,
+ fieldset[disabled]
+ .switch label,
+ fieldset[disabled]
+ .switch label:hover,
+ fieldset[disabled]
+ .switch label:focus,
+ .is-focused
+ .switch label label:has(input[type=radio][disabled]),
+ .is-focused
+ .switch label label:has(input[type=radio][disabled]):hover,
+ .is-focused
+ .switch label label:has(input[type=radio][disabled]):focus,
+ .is-focused
+ .switch label label:has(input[type=checkbox][disabled]),
+ .is-focused
+ .switch label label:has(input[type=checkbox][disabled]):hover,
+ .is-focused
+ .switch label label:has(input[type=checkbox][disabled]):focus,
+ fieldset[disabled]
+ .is-focused
+ .switch label,
+ fieldset[disabled]
+ .is-focused
+ .switch label:hover,
+ fieldset[disabled]
+ .is-focused
+ .switch label:focus {
+ color: rgba(0, 0, 0, 0.26); }
+
+[class^='bmd-label'],
+[class*=' bmd-label'] {
+ color: rgba(0, 0, 0, 0.26); }
+
+.form-control, .custom-file-control,
+.is-focused .form-control,
+.is-focused .custom-file-control {
+ background-image: -webkit-linear-gradient(bottom, #009688 2px, rgba(0, 150, 136, 0) 2px), -webkit-linear-gradient(bottom, rgba(0, 0, 0, 0.26) 1px, transparent 1px);
+ background-image: -o-linear-gradient(bottom, #009688 2px, rgba(0, 150, 136, 0) 2px), -o-linear-gradient(bottom, rgba(0, 0, 0, 0.26) 1px, transparent 1px);
+ background-image: linear-gradient(to top, #009688 2px, rgba(0, 150, 136, 0) 2px), linear-gradient(to top, rgba(0, 0, 0, 0.26) 1px, transparent 1px); }
+
+.form-control:invalid, .custom-file-control:invalid {
+ background-image: -webkit-linear-gradient(bottom, #d50000 2px, rgba(213, 0, 0, 0) 2px), -webkit-linear-gradient(bottom, rgba(0, 0, 0, 0.26) 1px, transparent 1px);
+ background-image: -o-linear-gradient(bottom, #d50000 2px, rgba(213, 0, 0, 0) 2px), -o-linear-gradient(bottom, rgba(0, 0, 0, 0.26) 1px, transparent 1px);
+ background-image: linear-gradient(to top, #d50000 2px, rgba(213, 0, 0, 0) 2px), linear-gradient(to top, rgba(0, 0, 0, 0.26) 1px, transparent 1px); }
+
+.form-control:-moz-read-only, .custom-file-control:-moz-read-only {
+ background-image: linear-gradient(to top, rgba(0, 0, 0, 0.26) 1px, transparent 1px), linear-gradient(to top, rgba(0, 0, 0, 0.26) 1px, transparent 1px); }
+
+.form-control:read-only, .custom-file-control:read-only {
+ background-image: -webkit-linear-gradient(bottom, rgba(0, 0, 0, 0.26) 1px, transparent 1px), -webkit-linear-gradient(bottom, rgba(0, 0, 0, 0.26) 1px, transparent 1px);
+ background-image: -o-linear-gradient(bottom, rgba(0, 0, 0, 0.26) 1px, transparent 1px), -o-linear-gradient(bottom, rgba(0, 0, 0, 0.26) 1px, transparent 1px);
+ background-image: linear-gradient(to top, rgba(0, 0, 0, 0.26) 1px, transparent 1px), linear-gradient(to top, rgba(0, 0, 0, 0.26) 1px, transparent 1px); }
+
+fieldset[disabled][disabled] .form-control, fieldset[disabled][disabled] .custom-file-control, .form-control.disabled, .disabled.custom-file-control, .form-control:disabled, .custom-file-control:disabled, .form-control[disabled], [disabled].custom-file-control {
+ background-image: -webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, 0.26)), color-stop(30%, rgba(0, 0, 0, 0.26)), color-stop(30%, transparent), to(transparent));
+ background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.26) 0%, rgba(0, 0, 0, 0.26) 30%, transparent 30%, transparent 100%);
+ background-image: -o-linear-gradient(left, rgba(0, 0, 0, 0.26) 0%, rgba(0, 0, 0, 0.26) 30%, transparent 30%, transparent 100%);
+ background-image: linear-gradient(to right, rgba(0, 0, 0, 0.26) 0%, rgba(0, 0, 0, 0.26) 30%, transparent 30%, transparent 100%);
+ background-repeat: repeat-x;
+ -webkit-background-size: 3px 1px;
+ background-size: 3px 1px; }
+
+.form-control.form-control-success, .form-control-success.custom-file-control,
+.is-focused .form-control.form-control-success,
+.is-focused .form-control-success.custom-file-control {
+ background-image: -webkit-linear-gradient(bottom, #009688 2px, rgba(0, 150, 136, 0) 2px), -webkit-linear-gradient(bottom, rgba(0, 0, 0, 0.26) 1px, transparent 1px), url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%235cb85c' 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-image: -o-linear-gradient(bottom, #009688 2px, rgba(0, 150, 136, 0) 2px), -o-linear-gradient(bottom, rgba(0, 0, 0, 0.26) 1px, transparent 1px), url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%235cb85c' 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-image: linear-gradient(to top, #009688 2px, rgba(0, 150, 136, 0) 2px), linear-gradient(to top, rgba(0, 0, 0, 0.26) 1px, transparent 1px), url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%235cb85c' 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"); }
+
+.form-control.form-control-warning, .form-control-warning.custom-file-control,
+.is-focused .form-control.form-control-warning,
+.is-focused .form-control-warning.custom-file-control {
+ background-image: -webkit-linear-gradient(bottom, #009688 2px, rgba(0, 150, 136, 0) 2px), -webkit-linear-gradient(bottom, rgba(0, 0, 0, 0.26) 1px, transparent 1px), url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23f0ad4e' d='M4.4 5.324h-.8v-2.46h.8zm0 1.42h-.8V5.89h.8zM3.76.63L.04 7.075c-.115.2.016.425.26.426h7.397c.242 0 .372-.226.258-.426C6.726 4.924 5.47 2.79 4.253.63c-.113-.174-.39-.174-.494 0z'/%3E%3C/svg%3E");
+ background-image: -o-linear-gradient(bottom, #009688 2px, rgba(0, 150, 136, 0) 2px), -o-linear-gradient(bottom, rgba(0, 0, 0, 0.26) 1px, transparent 1px), url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23f0ad4e' d='M4.4 5.324h-.8v-2.46h.8zm0 1.42h-.8V5.89h.8zM3.76.63L.04 7.075c-.115.2.016.425.26.426h7.397c.242 0 .372-.226.258-.426C6.726 4.924 5.47 2.79 4.253.63c-.113-.174-.39-.174-.494 0z'/%3E%3C/svg%3E");
+ background-image: linear-gradient(to top, #009688 2px, rgba(0, 150, 136, 0) 2px), linear-gradient(to top, rgba(0, 0, 0, 0.26) 1px, transparent 1px), url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23f0ad4e' d='M4.4 5.324h-.8v-2.46h.8zm0 1.42h-.8V5.89h.8zM3.76.63L.04 7.075c-.115.2.016.425.26.426h7.397c.242 0 .372-.226.258-.426C6.726 4.924 5.47 2.79 4.253.63c-.113-.174-.39-.174-.494 0z'/%3E%3C/svg%3E"); }
+
+.form-control.form-control-danger, .form-control-danger.custom-file-control,
+.is-focused .form-control.form-control-danger,
+.is-focused .form-control-danger.custom-file-control {
+ background-image: -webkit-linear-gradient(bottom, #009688 2px, rgba(0, 150, 136, 0) 2px), -webkit-linear-gradient(bottom, rgba(0, 0, 0, 0.26) 1px, transparent 1px), url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23d9534f' viewBox='-2 -2 7 7'%3E%3Cpath stroke='%23d9534f' d='M0 0l3 3m0-3L0 3'/%3E%3Ccircle r='.5'/%3E%3Ccircle cx='3' r='.5'/%3E%3Ccircle cy='3' r='.5'/%3E%3Ccircle cx='3' cy='3' r='.5'/%3E%3C/svg%3E");
+ background-image: -o-linear-gradient(bottom, #009688 2px, rgba(0, 150, 136, 0) 2px), -o-linear-gradient(bottom, rgba(0, 0, 0, 0.26) 1px, transparent 1px), url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23d9534f' viewBox='-2 -2 7 7'%3E%3Cpath stroke='%23d9534f' d='M0 0l3 3m0-3L0 3'/%3E%3Ccircle r='.5'/%3E%3Ccircle cx='3' r='.5'/%3E%3Ccircle cy='3' r='.5'/%3E%3Ccircle cx='3' cy='3' r='.5'/%3E%3C/svg%3E");
+ background-image: linear-gradient(to top, #009688 2px, rgba(0, 150, 136, 0) 2px), linear-gradient(to top, rgba(0, 0, 0, 0.26) 1px, transparent 1px), url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23d9534f' viewBox='-2 -2 7 7'%3E%3Cpath stroke='%23d9534f' d='M0 0l3 3m0-3L0 3'/%3E%3Ccircle r='.5'/%3E%3Ccircle cx='3' r='.5'/%3E%3Ccircle cy='3' r='.5'/%3E%3Ccircle cx='3' cy='3' r='.5'/%3E%3C/svg%3E"); }
+
+.is-focused .form-control-feedback,
+.is-focused .form-control-label,
+.is-focused .radio,
+.is-focused .checkbox,
+.is-focused .radio-inline,
+.is-focused .checkbox-inline,
+.is-focused.radio label,
+.is-focused.checkbox label,
+.is-focused.radio-inline label,
+.is-focused.checkbox-inline label,
+.is-focused .custom-control,
+.is-focused .form-control-feedback,
+.is-focused .form-control-label,
+.is-focused .radio,
+.is-focused .checkbox,
+.is-focused .radio-inline,
+.is-focused .checkbox-inline,
+.is-focused.radio label,
+.is-focused.checkbox label,
+.is-focused.radio-inline label,
+.is-focused.checkbox-inline label,
+.is-focused .custom-control {
+ color: rgba(0, 0, 0, 0.26); }
+
+.is-focused .form-control, .is-focused .custom-file-control,
+.is-focused .form-control,
+.is-focused .custom-file-control {
+ border-color: rgba(0, 0, 0, 0.26); }
+
+.is-focused .input-group-addon,
+.is-focused .input-group-addon {
+ color: rgba(0, 0, 0, 0.26);
+ border-color: rgba(0, 0, 0, 0.26);
+ background-color: rgba(102, 102, 102, 0.26); }
+
+.is-focused .form-control-feedback,
+.is-focused .form-control-feedback {
+ color: rgba(0, 0, 0, 0.26); }
+
+.is-focused [class^='bmd-label'],
+.is-focused [class*=' bmd-label'],
+.is-focused [class^='bmd-label'],
+.is-focused [class*=' bmd-label'] {
+ color: #009688; }
+
+.is-focused .bmd-label-placeholder,
+.is-focused .bmd-label-placeholder {
+ color: rgba(0, 0, 0, 0.26); }
+
+.is-focused .form-control, .is-focused .custom-file-control,
+.is-focused .form-control,
+.is-focused .custom-file-control {
+ border-color: rgba(0, 0, 0, 0.26); }
+
+.is-focused .bmd-help,
+.is-focused .bmd-help {
+ color: rgba(0, 0, 0, 0.54); }
+
+.has-success [class^='bmd-label'],
+.has-success [class*=' bmd-label'] {
+ color: #4caf50; }
+
+.has-success .form-control, .has-success .custom-file-control,
+.is-focused .has-success .form-control,
+.is-focused .has-success .custom-file-control {
+ background-image: -webkit-linear-gradient(bottom, #4caf50 2px, rgba(76, 175, 80, 0) 2px), -webkit-linear-gradient(bottom, rgba(0, 0, 0, 0.26) 1px, transparent 1px);
+ background-image: -o-linear-gradient(bottom, #4caf50 2px, rgba(76, 175, 80, 0) 2px), -o-linear-gradient(bottom, rgba(0, 0, 0, 0.26) 1px, transparent 1px);
+ background-image: linear-gradient(to top, #4caf50 2px, rgba(76, 175, 80, 0) 2px), linear-gradient(to top, rgba(0, 0, 0, 0.26) 1px, transparent 1px); }
+
+.has-success .form-control:invalid, .has-success .custom-file-control:invalid {
+ background-image: -webkit-linear-gradient(bottom, #d50000 2px, rgba(213, 0, 0, 0) 2px), -webkit-linear-gradient(bottom, rgba(0, 0, 0, 0.26) 1px, transparent 1px);
+ background-image: -o-linear-gradient(bottom, #d50000 2px, rgba(213, 0, 0, 0) 2px), -o-linear-gradient(bottom, rgba(0, 0, 0, 0.26) 1px, transparent 1px);
+ background-image: linear-gradient(to top, #d50000 2px, rgba(213, 0, 0, 0) 2px), linear-gradient(to top, rgba(0, 0, 0, 0.26) 1px, transparent 1px); }
+
+.has-success .form-control:-moz-read-only, .has-success .custom-file-control:-moz-read-only {
+ background-image: linear-gradient(to top, rgba(0, 0, 0, 0.26) 1px, transparent 1px), linear-gradient(to top, rgba(0, 0, 0, 0.26) 1px, transparent 1px); }
+
+.has-success .form-control:read-only, .has-success .custom-file-control:read-only {
+ background-image: -webkit-linear-gradient(bottom, rgba(0, 0, 0, 0.26) 1px, transparent 1px), -webkit-linear-gradient(bottom, rgba(0, 0, 0, 0.26) 1px, transparent 1px);
+ background-image: -o-linear-gradient(bottom, rgba(0, 0, 0, 0.26) 1px, transparent 1px), -o-linear-gradient(bottom, rgba(0, 0, 0, 0.26) 1px, transparent 1px);
+ background-image: linear-gradient(to top, rgba(0, 0, 0, 0.26) 1px, transparent 1px), linear-gradient(to top, rgba(0, 0, 0, 0.26) 1px, transparent 1px); }
+
+fieldset[disabled][disabled] .has-success .form-control, fieldset[disabled][disabled] .has-success .custom-file-control, .has-success .form-control.disabled, .has-success .disabled.custom-file-control, .has-success .form-control:disabled, .has-success .custom-file-control:disabled, .has-success .form-control[disabled], .has-success [disabled].custom-file-control {
+ background-image: -webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, 0.26)), color-stop(30%, rgba(0, 0, 0, 0.26)), color-stop(30%, transparent), to(transparent));
+ background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.26) 0%, rgba(0, 0, 0, 0.26) 30%, transparent 30%, transparent 100%);
+ background-image: -o-linear-gradient(left, rgba(0, 0, 0, 0.26) 0%, rgba(0, 0, 0, 0.26) 30%, transparent 30%, transparent 100%);
+ background-image: linear-gradient(to right, rgba(0, 0, 0, 0.26) 0%, rgba(0, 0, 0, 0.26) 30%, transparent 30%, transparent 100%);
+ background-repeat: repeat-x;
+ -webkit-background-size: 3px 1px;
+ background-size: 3px 1px; }
+
+.has-success .form-control.form-control-success, .has-success .form-control-success.custom-file-control,
+.is-focused .has-success .form-control.form-control-success,
+.is-focused .has-success .form-control-success.custom-file-control {
+ background-image: -webkit-linear-gradient(bottom, #4caf50 2px, rgba(76, 175, 80, 0) 2px), -webkit-linear-gradient(bottom, rgba(0, 0, 0, 0.26) 1px, transparent 1px), url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%235cb85c' 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-image: -o-linear-gradient(bottom, #4caf50 2px, rgba(76, 175, 80, 0) 2px), -o-linear-gradient(bottom, rgba(0, 0, 0, 0.26) 1px, transparent 1px), url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%235cb85c' 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-image: linear-gradient(to top, #4caf50 2px, rgba(76, 175, 80, 0) 2px), linear-gradient(to top, rgba(0, 0, 0, 0.26) 1px, transparent 1px), url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%235cb85c' 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"); }
+
+.has-success .form-control.form-control-warning, .has-success .form-control-warning.custom-file-control,
+.is-focused .has-success .form-control.form-control-warning,
+.is-focused .has-success .form-control-warning.custom-file-control {
+ background-image: -webkit-linear-gradient(bottom, #4caf50 2px, rgba(76, 175, 80, 0) 2px), -webkit-linear-gradient(bottom, rgba(0, 0, 0, 0.26) 1px, transparent 1px), url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23f0ad4e' d='M4.4 5.324h-.8v-2.46h.8zm0 1.42h-.8V5.89h.8zM3.76.63L.04 7.075c-.115.2.016.425.26.426h7.397c.242 0 .372-.226.258-.426C6.726 4.924 5.47 2.79 4.253.63c-.113-.174-.39-.174-.494 0z'/%3E%3C/svg%3E");
+ background-image: -o-linear-gradient(bottom, #4caf50 2px, rgba(76, 175, 80, 0) 2px), -o-linear-gradient(bottom, rgba(0, 0, 0, 0.26) 1px, transparent 1px), url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23f0ad4e' d='M4.4 5.324h-.8v-2.46h.8zm0 1.42h-.8V5.89h.8zM3.76.63L.04 7.075c-.115.2.016.425.26.426h7.397c.242 0 .372-.226.258-.426C6.726 4.924 5.47 2.79 4.253.63c-.113-.174-.39-.174-.494 0z'/%3E%3C/svg%3E");
+ background-image: linear-gradient(to top, #4caf50 2px, rgba(76, 175, 80, 0) 2px), linear-gradient(to top, rgba(0, 0, 0, 0.26) 1px, transparent 1px), url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23f0ad4e' d='M4.4 5.324h-.8v-2.46h.8zm0 1.42h-.8V5.89h.8zM3.76.63L.04 7.075c-.115.2.016.425.26.426h7.397c.242 0 .372-.226.258-.426C6.726 4.924 5.47 2.79 4.253.63c-.113-.174-.39-.174-.494 0z'/%3E%3C/svg%3E"); }
+
+.has-success .form-control.form-control-danger, .has-success .form-control-danger.custom-file-control,
+.is-focused .has-success .form-control.form-control-danger,
+.is-focused .has-success .form-control-danger.custom-file-control {
+ background-image: -webkit-linear-gradient(bottom, #4caf50 2px, rgba(76, 175, 80, 0) 2px), -webkit-linear-gradient(bottom, rgba(0, 0, 0, 0.26) 1px, transparent 1px), url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23d9534f' viewBox='-2 -2 7 7'%3E%3Cpath stroke='%23d9534f' d='M0 0l3 3m0-3L0 3'/%3E%3Ccircle r='.5'/%3E%3Ccircle cx='3' r='.5'/%3E%3Ccircle cy='3' r='.5'/%3E%3Ccircle cx='3' cy='3' r='.5'/%3E%3C/svg%3E");
+ background-image: -o-linear-gradient(bottom, #4caf50 2px, rgba(76, 175, 80, 0) 2px), -o-linear-gradient(bottom, rgba(0, 0, 0, 0.26) 1px, transparent 1px), url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23d9534f' viewBox='-2 -2 7 7'%3E%3Cpath stroke='%23d9534f' d='M0 0l3 3m0-3L0 3'/%3E%3Ccircle r='.5'/%3E%3Ccircle cx='3' r='.5'/%3E%3Ccircle cy='3' r='.5'/%3E%3Ccircle cx='3' cy='3' r='.5'/%3E%3C/svg%3E");
+ background-image: linear-gradient(to top, #4caf50 2px, rgba(76, 175, 80, 0) 2px), linear-gradient(to top, rgba(0, 0, 0, 0.26) 1px, transparent 1px), url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23d9534f' viewBox='-2 -2 7 7'%3E%3Cpath stroke='%23d9534f' d='M0 0l3 3m0-3L0 3'/%3E%3Ccircle r='.5'/%3E%3Ccircle cx='3' r='.5'/%3E%3Ccircle cy='3' r='.5'/%3E%3Ccircle cx='3' cy='3' r='.5'/%3E%3C/svg%3E"); }
+
+.has-success .is-focused .form-control-feedback,
+.has-success .is-focused .form-control-label,
+.has-success .is-focused .radio,
+.has-success .is-focused .checkbox,
+.has-success .is-focused .radio-inline,
+.has-success .is-focused .checkbox-inline,
+.has-success .is-focused.radio label,
+.has-success .is-focused.checkbox label,
+.has-success .is-focused.radio-inline label,
+.has-success .is-focused.checkbox-inline label,
+.has-success .is-focused .custom-control, .has-success.is-focused .form-control-feedback,
+.has-success.is-focused .form-control-label,
+.has-success.is-focused .radio,
+.has-success.is-focused .checkbox,
+.has-success.is-focused .radio-inline,
+.has-success.is-focused .checkbox-inline,
+.has-success.is-focused.radio label,
+.has-success.is-focused.checkbox label,
+.has-success.is-focused.radio-inline label,
+.has-success.is-focused.checkbox-inline label,
+.has-success.is-focused .custom-control {
+ color: #4caf50; }
+
+.has-success .is-focused .form-control, .has-success .is-focused .custom-file-control, .has-success.is-focused .form-control, .has-success.is-focused .custom-file-control {
+ border-color: #4caf50; }
+
+.has-success .is-focused .input-group-addon, .has-success.is-focused .input-group-addon {
+ color: #4caf50;
+ border-color: #4caf50;
+ background-color: #d9eeda; }
+
+.has-success .is-focused .form-control-feedback, .has-success.is-focused .form-control-feedback {
+ color: #4caf50; }
+
+.has-success .is-focused [class^='bmd-label'],
+.has-success .is-focused [class*=' bmd-label'], .has-success.is-focused [class^='bmd-label'],
+.has-success.is-focused [class*=' bmd-label'] {
+ color: #4caf50; }
+
+.has-success .is-focused .bmd-label-placeholder, .has-success.is-focused .bmd-label-placeholder {
+ color: #4caf50; }
+
+.has-success .is-focused .form-control, .has-success .is-focused .custom-file-control, .has-success.is-focused .form-control, .has-success.is-focused .custom-file-control {
+ border-color: #4caf50; }
+
+.has-success .is-focused .bmd-help, .has-success.is-focused .bmd-help {
+ color: rgba(0, 0, 0, 0.54); }
+
+.has-info [class^='bmd-label'],
+.has-info [class*=' bmd-label'] {
+ color: #03a9f4; }
+
+.has-info .form-control, .has-info .custom-file-control,
+.is-focused .has-info .form-control,
+.is-focused .has-info .custom-file-control {
+ background-image: -webkit-linear-gradient(bottom, #03a9f4 2px, rgba(3, 169, 244, 0) 2px), -webkit-linear-gradient(bottom, rgba(0, 0, 0, 0.26) 1px, transparent 1px);
+ background-image: -o-linear-gradient(bottom, #03a9f4 2px, rgba(3, 169, 244, 0) 2px), -o-linear-gradient(bottom, rgba(0, 0, 0, 0.26) 1px, transparent 1px);
+ background-image: linear-gradient(to top, #03a9f4 2px, rgba(3, 169, 244, 0) 2px), linear-gradient(to top, rgba(0, 0, 0, 0.26) 1px, transparent 1px); }
+
+.has-info .form-control:invalid, .has-info .custom-file-control:invalid {
+ background-image: -webkit-linear-gradient(bottom, #d50000 2px, rgba(213, 0, 0, 0) 2px), -webkit-linear-gradient(bottom, rgba(0, 0, 0, 0.26) 1px, transparent 1px);
+ background-image: -o-linear-gradient(bottom, #d50000 2px, rgba(213, 0, 0, 0) 2px), -o-linear-gradient(bottom, rgba(0, 0, 0, 0.26) 1px, transparent 1px);
+ background-image: linear-gradient(to top, #d50000 2px, rgba(213, 0, 0, 0) 2px), linear-gradient(to top, rgba(0, 0, 0, 0.26) 1px, transparent 1px); }
+
+.has-info .form-control:-moz-read-only, .has-info .custom-file-control:-moz-read-only {
+ background-image: linear-gradient(to top, rgba(0, 0, 0, 0.26) 1px, transparent 1px), linear-gradient(to top, rgba(0, 0, 0, 0.26) 1px, transparent 1px); }
+
+.has-info .form-control:read-only, .has-info .custom-file-control:read-only {
+ background-image: -webkit-linear-gradient(bottom, rgba(0, 0, 0, 0.26) 1px, transparent 1px), -webkit-linear-gradient(bottom, rgba(0, 0, 0, 0.26) 1px, transparent 1px);
+ background-image: -o-linear-gradient(bottom, rgba(0, 0, 0, 0.26) 1px, transparent 1px), -o-linear-gradient(bottom, rgba(0, 0, 0, 0.26) 1px, transparent 1px);
+ background-image: linear-gradient(to top, rgba(0, 0, 0, 0.26) 1px, transparent 1px), linear-gradient(to top, rgba(0, 0, 0, 0.26) 1px, transparent 1px); }
+
+fieldset[disabled][disabled] .has-info .form-control, fieldset[disabled][disabled] .has-info .custom-file-control, .has-info .form-control.disabled, .has-info .disabled.custom-file-control, .has-info .form-control:disabled, .has-info .custom-file-control:disabled, .has-info .form-control[disabled], .has-info [disabled].custom-file-control {
+ background-image: -webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, 0.26)), color-stop(30%, rgba(0, 0, 0, 0.26)), color-stop(30%, transparent), to(transparent));
+ background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.26) 0%, rgba(0, 0, 0, 0.26) 30%, transparent 30%, transparent 100%);
+ background-image: -o-linear-gradient(left, rgba(0, 0, 0, 0.26) 0%, rgba(0, 0, 0, 0.26) 30%, transparent 30%, transparent 100%);
+ background-image: linear-gradient(to right, rgba(0, 0, 0, 0.26) 0%, rgba(0, 0, 0, 0.26) 30%, transparent 30%, transparent 100%);
+ background-repeat: repeat-x;
+ -webkit-background-size: 3px 1px;
+ background-size: 3px 1px; }
+
+.has-info .form-control.form-control-success, .has-info .form-control-success.custom-file-control,
+.is-focused .has-info .form-control.form-control-success,
+.is-focused .has-info .form-control-success.custom-file-control {
+ background-image: -webkit-linear-gradient(bottom, #03a9f4 2px, rgba(3, 169, 244, 0) 2px), -webkit-linear-gradient(bottom, rgba(0, 0, 0, 0.26) 1px, transparent 1px), url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%235cb85c' 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-image: -o-linear-gradient(bottom, #03a9f4 2px, rgba(3, 169, 244, 0) 2px), -o-linear-gradient(bottom, rgba(0, 0, 0, 0.26) 1px, transparent 1px), url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%235cb85c' 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-image: linear-gradient(to top, #03a9f4 2px, rgba(3, 169, 244, 0) 2px), linear-gradient(to top, rgba(0, 0, 0, 0.26) 1px, transparent 1px), url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%235cb85c' 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"); }
+
+.has-info .form-control.form-control-warning, .has-info .form-control-warning.custom-file-control,
+.is-focused .has-info .form-control.form-control-warning,
+.is-focused .has-info .form-control-warning.custom-file-control {
+ background-image: -webkit-linear-gradient(bottom, #03a9f4 2px, rgba(3, 169, 244, 0) 2px), -webkit-linear-gradient(bottom, rgba(0, 0, 0, 0.26) 1px, transparent 1px), url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23f0ad4e' d='M4.4 5.324h-.8v-2.46h.8zm0 1.42h-.8V5.89h.8zM3.76.63L.04 7.075c-.115.2.016.425.26.426h7.397c.242 0 .372-.226.258-.426C6.726 4.924 5.47 2.79 4.253.63c-.113-.174-.39-.174-.494 0z'/%3E%3C/svg%3E");
+ background-image: -o-linear-gradient(bottom, #03a9f4 2px, rgba(3, 169, 244, 0) 2px), -o-linear-gradient(bottom, rgba(0, 0, 0, 0.26) 1px, transparent 1px), url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23f0ad4e' d='M4.4 5.324h-.8v-2.46h.8zm0 1.42h-.8V5.89h.8zM3.76.63L.04 7.075c-.115.2.016.425.26.426h7.397c.242 0 .372-.226.258-.426C6.726 4.924 5.47 2.79 4.253.63c-.113-.174-.39-.174-.494 0z'/%3E%3C/svg%3E");
+ background-image: linear-gradient(to top, #03a9f4 2px, rgba(3, 169, 244, 0) 2px), linear-gradient(to top, rgba(0, 0, 0, 0.26) 1px, transparent 1px), url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23f0ad4e' d='M4.4 5.324h-.8v-2.46h.8zm0 1.42h-.8V5.89h.8zM3.76.63L.04 7.075c-.115.2.016.425.26.426h7.397c.242 0 .372-.226.258-.426C6.726 4.924 5.47 2.79 4.253.63c-.113-.174-.39-.174-.494 0z'/%3E%3C/svg%3E"); }
+
+.has-info .form-control.form-control-danger, .has-info .form-control-danger.custom-file-control,
+.is-focused .has-info .form-control.form-control-danger,
+.is-focused .has-info .form-control-danger.custom-file-control {
+ background-image: -webkit-linear-gradient(bottom, #03a9f4 2px, rgba(3, 169, 244, 0) 2px), -webkit-linear-gradient(bottom, rgba(0, 0, 0, 0.26) 1px, transparent 1px), url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23d9534f' viewBox='-2 -2 7 7'%3E%3Cpath stroke='%23d9534f' d='M0 0l3 3m0-3L0 3'/%3E%3Ccircle r='.5'/%3E%3Ccircle cx='3' r='.5'/%3E%3Ccircle cy='3' r='.5'/%3E%3Ccircle cx='3' cy='3' r='.5'/%3E%3C/svg%3E");
+ background-image: -o-linear-gradient(bottom, #03a9f4 2px, rgba(3, 169, 244, 0) 2px), -o-linear-gradient(bottom, rgba(0, 0, 0, 0.26) 1px, transparent 1px), url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23d9534f' viewBox='-2 -2 7 7'%3E%3Cpath stroke='%23d9534f' d='M0 0l3 3m0-3L0 3'/%3E%3Ccircle r='.5'/%3E%3Ccircle cx='3' r='.5'/%3E%3Ccircle cy='3' r='.5'/%3E%3Ccircle cx='3' cy='3' r='.5'/%3E%3C/svg%3E");
+ background-image: linear-gradient(to top, #03a9f4 2px, rgba(3, 169, 244, 0) 2px), linear-gradient(to top, rgba(0, 0, 0, 0.26) 1px, transparent 1px), url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23d9534f' viewBox='-2 -2 7 7'%3E%3Cpath stroke='%23d9534f' d='M0 0l3 3m0-3L0 3'/%3E%3Ccircle r='.5'/%3E%3Ccircle cx='3' r='.5'/%3E%3Ccircle cy='3' r='.5'/%3E%3Ccircle cx='3' cy='3' r='.5'/%3E%3C/svg%3E"); }
+
+.has-info .is-focused .form-control-feedback,
+.has-info .is-focused .form-control-label,
+.has-info .is-focused .radio,
+.has-info .is-focused .checkbox,
+.has-info .is-focused .radio-inline,
+.has-info .is-focused .checkbox-inline,
+.has-info .is-focused.radio label,
+.has-info .is-focused.checkbox label,
+.has-info .is-focused.radio-inline label,
+.has-info .is-focused.checkbox-inline label,
+.has-info .is-focused .custom-control, .has-info.is-focused .form-control-feedback,
+.has-info.is-focused .form-control-label,
+.has-info.is-focused .radio,
+.has-info.is-focused .checkbox,
+.has-info.is-focused .radio-inline,
+.has-info.is-focused .checkbox-inline,
+.has-info.is-focused.radio label,
+.has-info.is-focused.checkbox label,
+.has-info.is-focused.radio-inline label,
+.has-info.is-focused.checkbox-inline label,
+.has-info.is-focused .custom-control {
+ color: #03a9f4; }
+
+.has-info .is-focused .form-control, .has-info .is-focused .custom-file-control, .has-info.is-focused .form-control, .has-info.is-focused .custom-file-control {
+ border-color: #03a9f4; }
+
+.has-info .is-focused .input-group-addon, .has-info.is-focused .input-group-addon {
+ color: #03a9f4;
+ border-color: #03a9f4;
+ background-color: #c5ecfe; }
+
+.has-info .is-focused .form-control-feedback, .has-info.is-focused .form-control-feedback {
+ color: #03a9f4; }
+
+.has-info .is-focused [class^='bmd-label'],
+.has-info .is-focused [class*=' bmd-label'], .has-info.is-focused [class^='bmd-label'],
+.has-info.is-focused [class*=' bmd-label'] {
+ color: #03a9f4; }
+
+.has-info .is-focused .bmd-label-placeholder, .has-info.is-focused .bmd-label-placeholder {
+ color: #03a9f4; }
+
+.has-info .is-focused .form-control, .has-info .is-focused .custom-file-control, .has-info.is-focused .form-control, .has-info.is-focused .custom-file-control {
+ border-color: #03a9f4; }
+
+.has-info .is-focused .bmd-help, .has-info.is-focused .bmd-help {
+ color: rgba(0, 0, 0, 0.54); }
+
+.has-warning [class^='bmd-label'],
+.has-warning [class*=' bmd-label'] {
+ color: #ff5722; }
+
+.has-warning .form-control, .has-warning .custom-file-control,
+.is-focused .has-warning .form-control,
+.is-focused .has-warning .custom-file-control {
+ background-image: -webkit-linear-gradient(bottom, #ff5722 2px, rgba(255, 87, 34, 0) 2px), -webkit-linear-gradient(bottom, rgba(0, 0, 0, 0.26) 1px, transparent 1px);
+ background-image: -o-linear-gradient(bottom, #ff5722 2px, rgba(255, 87, 34, 0) 2px), -o-linear-gradient(bottom, rgba(0, 0, 0, 0.26) 1px, transparent 1px);
+ background-image: linear-gradient(to top, #ff5722 2px, rgba(255, 87, 34, 0) 2px), linear-gradient(to top, rgba(0, 0, 0, 0.26) 1px, transparent 1px); }
+
+.has-warning .form-control:invalid, .has-warning .custom-file-control:invalid {
+ background-image: -webkit-linear-gradient(bottom, #d50000 2px, rgba(213, 0, 0, 0) 2px), -webkit-linear-gradient(bottom, rgba(0, 0, 0, 0.26) 1px, transparent 1px);
+ background-image: -o-linear-gradient(bottom, #d50000 2px, rgba(213, 0, 0, 0) 2px), -o-linear-gradient(bottom, rgba(0, 0, 0, 0.26) 1px, transparent 1px);
+ background-image: linear-gradient(to top, #d50000 2px, rgba(213, 0, 0, 0) 2px), linear-gradient(to top, rgba(0, 0, 0, 0.26) 1px, transparent 1px); }
+
+.has-warning .form-control:-moz-read-only, .has-warning .custom-file-control:-moz-read-only {
+ background-image: linear-gradient(to top, rgba(0, 0, 0, 0.26) 1px, transparent 1px), linear-gradient(to top, rgba(0, 0, 0, 0.26) 1px, transparent 1px); }
+
+.has-warning .form-control:read-only, .has-warning .custom-file-control:read-only {
+ background-image: -webkit-linear-gradient(bottom, rgba(0, 0, 0, 0.26) 1px, transparent 1px), -webkit-linear-gradient(bottom, rgba(0, 0, 0, 0.26) 1px, transparent 1px);
+ background-image: -o-linear-gradient(bottom, rgba(0, 0, 0, 0.26) 1px, transparent 1px), -o-linear-gradient(bottom, rgba(0, 0, 0, 0.26) 1px, transparent 1px);
+ background-image: linear-gradient(to top, rgba(0, 0, 0, 0.26) 1px, transparent 1px), linear-gradient(to top, rgba(0, 0, 0, 0.26) 1px, transparent 1px); }
+
+fieldset[disabled][disabled] .has-warning .form-control, fieldset[disabled][disabled] .has-warning .custom-file-control, .has-warning .form-control.disabled, .has-warning .disabled.custom-file-control, .has-warning .form-control:disabled, .has-warning .custom-file-control:disabled, .has-warning .form-control[disabled], .has-warning [disabled].custom-file-control {
+ background-image: -webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, 0.26)), color-stop(30%, rgba(0, 0, 0, 0.26)), color-stop(30%, transparent), to(transparent));
+ background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.26) 0%, rgba(0, 0, 0, 0.26) 30%, transparent 30%, transparent 100%);
+ background-image: -o-linear-gradient(left, rgba(0, 0, 0, 0.26) 0%, rgba(0, 0, 0, 0.26) 30%, transparent 30%, transparent 100%);
+ background-image: linear-gradient(to right, rgba(0, 0, 0, 0.26) 0%, rgba(0, 0, 0, 0.26) 30%, transparent 30%, transparent 100%);
+ background-repeat: repeat-x;
+ -webkit-background-size: 3px 1px;
+ background-size: 3px 1px; }
+
+.has-warning .form-control.form-control-success, .has-warning .form-control-success.custom-file-control,
+.is-focused .has-warning .form-control.form-control-success,
+.is-focused .has-warning .form-control-success.custom-file-control {
+ background-image: -webkit-linear-gradient(bottom, #ff5722 2px, rgba(255, 87, 34, 0) 2px), -webkit-linear-gradient(bottom, rgba(0, 0, 0, 0.26) 1px, transparent 1px), url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%235cb85c' 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-image: -o-linear-gradient(bottom, #ff5722 2px, rgba(255, 87, 34, 0) 2px), -o-linear-gradient(bottom, rgba(0, 0, 0, 0.26) 1px, transparent 1px), url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%235cb85c' 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-image: linear-gradient(to top, #ff5722 2px, rgba(255, 87, 34, 0) 2px), linear-gradient(to top, rgba(0, 0, 0, 0.26) 1px, transparent 1px), url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%235cb85c' 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"); }
+
+.has-warning .form-control.form-control-warning, .has-warning .form-control-warning.custom-file-control,
+.is-focused .has-warning .form-control.form-control-warning,
+.is-focused .has-warning .form-control-warning.custom-file-control {
+ background-image: -webkit-linear-gradient(bottom, #ff5722 2px, rgba(255, 87, 34, 0) 2px), -webkit-linear-gradient(bottom, rgba(0, 0, 0, 0.26) 1px, transparent 1px), url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23f0ad4e' d='M4.4 5.324h-.8v-2.46h.8zm0 1.42h-.8V5.89h.8zM3.76.63L.04 7.075c-.115.2.016.425.26.426h7.397c.242 0 .372-.226.258-.426C6.726 4.924 5.47 2.79 4.253.63c-.113-.174-.39-.174-.494 0z'/%3E%3C/svg%3E");
+ background-image: -o-linear-gradient(bottom, #ff5722 2px, rgba(255, 87, 34, 0) 2px), -o-linear-gradient(bottom, rgba(0, 0, 0, 0.26) 1px, transparent 1px), url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23f0ad4e' d='M4.4 5.324h-.8v-2.46h.8zm0 1.42h-.8V5.89h.8zM3.76.63L.04 7.075c-.115.2.016.425.26.426h7.397c.242 0 .372-.226.258-.426C6.726 4.924 5.47 2.79 4.253.63c-.113-.174-.39-.174-.494 0z'/%3E%3C/svg%3E");
+ background-image: linear-gradient(to top, #ff5722 2px, rgba(255, 87, 34, 0) 2px), linear-gradient(to top, rgba(0, 0, 0, 0.26) 1px, transparent 1px), url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23f0ad4e' d='M4.4 5.324h-.8v-2.46h.8zm0 1.42h-.8V5.89h.8zM3.76.63L.04 7.075c-.115.2.016.425.26.426h7.397c.242 0 .372-.226.258-.426C6.726 4.924 5.47 2.79 4.253.63c-.113-.174-.39-.174-.494 0z'/%3E%3C/svg%3E"); }
+
+.has-warning .form-control.form-control-danger, .has-warning .form-control-danger.custom-file-control,
+.is-focused .has-warning .form-control.form-control-danger,
+.is-focused .has-warning .form-control-danger.custom-file-control {
+ background-image: -webkit-linear-gradient(bottom, #ff5722 2px, rgba(255, 87, 34, 0) 2px), -webkit-linear-gradient(bottom, rgba(0, 0, 0, 0.26) 1px, transparent 1px), url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23d9534f' viewBox='-2 -2 7 7'%3E%3Cpath stroke='%23d9534f' d='M0 0l3 3m0-3L0 3'/%3E%3Ccircle r='.5'/%3E%3Ccircle cx='3' r='.5'/%3E%3Ccircle cy='3' r='.5'/%3E%3Ccircle cx='3' cy='3' r='.5'/%3E%3C/svg%3E");
+ background-image: -o-linear-gradient(bottom, #ff5722 2px, rgba(255, 87, 34, 0) 2px), -o-linear-gradient(bottom, rgba(0, 0, 0, 0.26) 1px, transparent 1px), url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23d9534f' viewBox='-2 -2 7 7'%3E%3Cpath stroke='%23d9534f' d='M0 0l3 3m0-3L0 3'/%3E%3Ccircle r='.5'/%3E%3Ccircle cx='3' r='.5'/%3E%3Ccircle cy='3' r='.5'/%3E%3Ccircle cx='3' cy='3' r='.5'/%3E%3C/svg%3E");
+ background-image: linear-gradient(to top, #ff5722 2px, rgba(255, 87, 34, 0) 2px), linear-gradient(to top, rgba(0, 0, 0, 0.26) 1px, transparent 1px), url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23d9534f' viewBox='-2 -2 7 7'%3E%3Cpath stroke='%23d9534f' d='M0 0l3 3m0-3L0 3'/%3E%3Ccircle r='.5'/%3E%3Ccircle cx='3' r='.5'/%3E%3Ccircle cy='3' r='.5'/%3E%3Ccircle cx='3' cy='3' r='.5'/%3E%3C/svg%3E"); }
+
+.has-warning .is-focused .form-control-feedback,
+.has-warning .is-focused .form-control-label,
+.has-warning .is-focused .radio,
+.has-warning .is-focused .checkbox,
+.has-warning .is-focused .radio-inline,
+.has-warning .is-focused .checkbox-inline,
+.has-warning .is-focused.radio label,
+.has-warning .is-focused.checkbox label,
+.has-warning .is-focused.radio-inline label,
+.has-warning .is-focused.checkbox-inline label,
+.has-warning .is-focused .custom-control, .has-warning.is-focused .form-control-feedback,
+.has-warning.is-focused .form-control-label,
+.has-warning.is-focused .radio,
+.has-warning.is-focused .checkbox,
+.has-warning.is-focused .radio-inline,
+.has-warning.is-focused .checkbox-inline,
+.has-warning.is-focused.radio label,
+.has-warning.is-focused.checkbox label,
+.has-warning.is-focused.radio-inline label,
+.has-warning.is-focused.checkbox-inline label,
+.has-warning.is-focused .custom-control {
+ color: #ff5722; }
+
+.has-warning .is-focused .form-control, .has-warning .is-focused .custom-file-control, .has-warning.is-focused .form-control, .has-warning.is-focused .custom-file-control {
+ border-color: #ff5722; }
+
+.has-warning .is-focused .input-group-addon, .has-warning.is-focused .input-group-addon {
+ color: #ff5722;
+ border-color: #ff5722;
+ background-color: #fff2ee; }
+
+.has-warning .is-focused .form-control-feedback, .has-warning.is-focused .form-control-feedback {
+ color: #ff5722; }
+
+.has-warning .is-focused [class^='bmd-label'],
+.has-warning .is-focused [class*=' bmd-label'], .has-warning.is-focused [class^='bmd-label'],
+.has-warning.is-focused [class*=' bmd-label'] {
+ color: #ff5722; }
+
+.has-warning .is-focused .bmd-label-placeholder, .has-warning.is-focused .bmd-label-placeholder {
+ color: #ff5722; }
+
+.has-warning .is-focused .form-control, .has-warning .is-focused .custom-file-control, .has-warning.is-focused .form-control, .has-warning.is-focused .custom-file-control {
+ border-color: #ff5722; }
+
+.has-warning .is-focused .bmd-help, .has-warning.is-focused .bmd-help {
+ color: rgba(0, 0, 0, 0.54); }
+
+.has-danger [class^='bmd-label'],
+.has-danger [class*=' bmd-label'] {
+ color: #f44336; }
+
+.has-danger .form-control, .has-danger .custom-file-control,
+.is-focused .has-danger .form-control,
+.is-focused .has-danger .custom-file-control {
+ background-image: -webkit-linear-gradient(bottom, #f44336 2px, rgba(244, 67, 54, 0) 2px), -webkit-linear-gradient(bottom, rgba(0, 0, 0, 0.26) 1px, transparent 1px);
+ background-image: -o-linear-gradient(bottom, #f44336 2px, rgba(244, 67, 54, 0) 2px), -o-linear-gradient(bottom, rgba(0, 0, 0, 0.26) 1px, transparent 1px);
+ background-image: linear-gradient(to top, #f44336 2px, rgba(244, 67, 54, 0) 2px), linear-gradient(to top, rgba(0, 0, 0, 0.26) 1px, transparent 1px); }
+
+.has-danger .form-control:invalid, .has-danger .custom-file-control:invalid {
+ background-image: -webkit-linear-gradient(bottom, #d50000 2px, rgba(213, 0, 0, 0) 2px), -webkit-linear-gradient(bottom, rgba(0, 0, 0, 0.26) 1px, transparent 1px);
+ background-image: -o-linear-gradient(bottom, #d50000 2px, rgba(213, 0, 0, 0) 2px), -o-linear-gradient(bottom, rgba(0, 0, 0, 0.26) 1px, transparent 1px);
+ background-image: linear-gradient(to top, #d50000 2px, rgba(213, 0, 0, 0) 2px), linear-gradient(to top, rgba(0, 0, 0, 0.26) 1px, transparent 1px); }
+
+.has-danger .form-control:-moz-read-only, .has-danger .custom-file-control:-moz-read-only {
+ background-image: linear-gradient(to top, rgba(0, 0, 0, 0.26) 1px, transparent 1px), linear-gradient(to top, rgba(0, 0, 0, 0.26) 1px, transparent 1px); }
+
+.has-danger .form-control:read-only, .has-danger .custom-file-control:read-only {
+ background-image: -webkit-linear-gradient(bottom, rgba(0, 0, 0, 0.26) 1px, transparent 1px), -webkit-linear-gradient(bottom, rgba(0, 0, 0, 0.26) 1px, transparent 1px);
+ background-image: -o-linear-gradient(bottom, rgba(0, 0, 0, 0.26) 1px, transparent 1px), -o-linear-gradient(bottom, rgba(0, 0, 0, 0.26) 1px, transparent 1px);
+ background-image: linear-gradient(to top, rgba(0, 0, 0, 0.26) 1px, transparent 1px), linear-gradient(to top, rgba(0, 0, 0, 0.26) 1px, transparent 1px); }
+
+fieldset[disabled][disabled] .has-danger .form-control, fieldset[disabled][disabled] .has-danger .custom-file-control, .has-danger .form-control.disabled, .has-danger .disabled.custom-file-control, .has-danger .form-control:disabled, .has-danger .custom-file-control:disabled, .has-danger .form-control[disabled], .has-danger [disabled].custom-file-control {
+ background-image: -webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, 0.26)), color-stop(30%, rgba(0, 0, 0, 0.26)), color-stop(30%, transparent), to(transparent));
+ background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.26) 0%, rgba(0, 0, 0, 0.26) 30%, transparent 30%, transparent 100%);
+ background-image: -o-linear-gradient(left, rgba(0, 0, 0, 0.26) 0%, rgba(0, 0, 0, 0.26) 30%, transparent 30%, transparent 100%);
+ background-image: linear-gradient(to right, rgba(0, 0, 0, 0.26) 0%, rgba(0, 0, 0, 0.26) 30%, transparent 30%, transparent 100%);
+ background-repeat: repeat-x;
+ -webkit-background-size: 3px 1px;
+ background-size: 3px 1px; }
+
+.has-danger .form-control.form-control-success, .has-danger .form-control-success.custom-file-control,
+.is-focused .has-danger .form-control.form-control-success,
+.is-focused .has-danger .form-control-success.custom-file-control {
+ background-image: -webkit-linear-gradient(bottom, #f44336 2px, rgba(244, 67, 54, 0) 2px), -webkit-linear-gradient(bottom, rgba(0, 0, 0, 0.26) 1px, transparent 1px), url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%235cb85c' 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-image: -o-linear-gradient(bottom, #f44336 2px, rgba(244, 67, 54, 0) 2px), -o-linear-gradient(bottom, rgba(0, 0, 0, 0.26) 1px, transparent 1px), url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%235cb85c' 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-image: linear-gradient(to top, #f44336 2px, rgba(244, 67, 54, 0) 2px), linear-gradient(to top, rgba(0, 0, 0, 0.26) 1px, transparent 1px), url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%235cb85c' 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"); }
+
+.has-danger .form-control.form-control-warning, .has-danger .form-control-warning.custom-file-control,
+.is-focused .has-danger .form-control.form-control-warning,
+.is-focused .has-danger .form-control-warning.custom-file-control {
+ background-image: -webkit-linear-gradient(bottom, #f44336 2px, rgba(244, 67, 54, 0) 2px), -webkit-linear-gradient(bottom, rgba(0, 0, 0, 0.26) 1px, transparent 1px), url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23f0ad4e' d='M4.4 5.324h-.8v-2.46h.8zm0 1.42h-.8V5.89h.8zM3.76.63L.04 7.075c-.115.2.016.425.26.426h7.397c.242 0 .372-.226.258-.426C6.726 4.924 5.47 2.79 4.253.63c-.113-.174-.39-.174-.494 0z'/%3E%3C/svg%3E");
+ background-image: -o-linear-gradient(bottom, #f44336 2px, rgba(244, 67, 54, 0) 2px), -o-linear-gradient(bottom, rgba(0, 0, 0, 0.26) 1px, transparent 1px), url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23f0ad4e' d='M4.4 5.324h-.8v-2.46h.8zm0 1.42h-.8V5.89h.8zM3.76.63L.04 7.075c-.115.2.016.425.26.426h7.397c.242 0 .372-.226.258-.426C6.726 4.924 5.47 2.79 4.253.63c-.113-.174-.39-.174-.494 0z'/%3E%3C/svg%3E");
+ background-image: linear-gradient(to top, #f44336 2px, rgba(244, 67, 54, 0) 2px), linear-gradient(to top, rgba(0, 0, 0, 0.26) 1px, transparent 1px), url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23f0ad4e' d='M4.4 5.324h-.8v-2.46h.8zm0 1.42h-.8V5.89h.8zM3.76.63L.04 7.075c-.115.2.016.425.26.426h7.397c.242 0 .372-.226.258-.426C6.726 4.924 5.47 2.79 4.253.63c-.113-.174-.39-.174-.494 0z'/%3E%3C/svg%3E"); }
+
+.has-danger .form-control.form-control-danger, .has-danger .form-control-danger.custom-file-control,
+.is-focused .has-danger .form-control.form-control-danger,
+.is-focused .has-danger .form-control-danger.custom-file-control {
+ background-image: -webkit-linear-gradient(bottom, #f44336 2px, rgba(244, 67, 54, 0) 2px), -webkit-linear-gradient(bottom, rgba(0, 0, 0, 0.26) 1px, transparent 1px), url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23d9534f' viewBox='-2 -2 7 7'%3E%3Cpath stroke='%23d9534f' d='M0 0l3 3m0-3L0 3'/%3E%3Ccircle r='.5'/%3E%3Ccircle cx='3' r='.5'/%3E%3Ccircle cy='3' r='.5'/%3E%3Ccircle cx='3' cy='3' r='.5'/%3E%3C/svg%3E");
+ background-image: -o-linear-gradient(bottom, #f44336 2px, rgba(244, 67, 54, 0) 2px), -o-linear-gradient(bottom, rgba(0, 0, 0, 0.26) 1px, transparent 1px), url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23d9534f' viewBox='-2 -2 7 7'%3E%3Cpath stroke='%23d9534f' d='M0 0l3 3m0-3L0 3'/%3E%3Ccircle r='.5'/%3E%3Ccircle cx='3' r='.5'/%3E%3Ccircle cy='3' r='.5'/%3E%3Ccircle cx='3' cy='3' r='.5'/%3E%3C/svg%3E");
+ background-image: linear-gradient(to top, #f44336 2px, rgba(244, 67, 54, 0) 2px), linear-gradient(to top, rgba(0, 0, 0, 0.26) 1px, transparent 1px), url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23d9534f' viewBox='-2 -2 7 7'%3E%3Cpath stroke='%23d9534f' d='M0 0l3 3m0-3L0 3'/%3E%3Ccircle r='.5'/%3E%3Ccircle cx='3' r='.5'/%3E%3Ccircle cy='3' r='.5'/%3E%3Ccircle cx='3' cy='3' r='.5'/%3E%3C/svg%3E"); }
+
+.has-danger .is-focused .form-control-feedback,
+.has-danger .is-focused .form-control-label,
+.has-danger .is-focused .radio,
+.has-danger .is-focused .checkbox,
+.has-danger .is-focused .radio-inline,
+.has-danger .is-focused .checkbox-inline,
+.has-danger .is-focused.radio label,
+.has-danger .is-focused.checkbox label,
+.has-danger .is-focused.radio-inline label,
+.has-danger .is-focused.checkbox-inline label,
+.has-danger .is-focused .custom-control, .has-danger.is-focused .form-control-feedback,
+.has-danger.is-focused .form-control-label,
+.has-danger.is-focused .radio,
+.has-danger.is-focused .checkbox,
+.has-danger.is-focused .radio-inline,
+.has-danger.is-focused .checkbox-inline,
+.has-danger.is-focused.radio label,
+.has-danger.is-focused.checkbox label,
+.has-danger.is-focused.radio-inline label,
+.has-danger.is-focused.checkbox-inline label,
+.has-danger.is-focused .custom-control {
+ color: #f44336; }
+
+.has-danger .is-focused .form-control, .has-danger .is-focused .custom-file-control, .has-danger.is-focused .form-control, .has-danger.is-focused .custom-file-control {
+ border-color: #f44336; }
+
+.has-danger .is-focused .input-group-addon, .has-danger.is-focused .input-group-addon {
+ color: #f44336;
+ border-color: #f44336;
+ background-color: #fff8f7; }
+
+.has-danger .is-focused .form-control-feedback, .has-danger.is-focused .form-control-feedback {
+ color: #f44336; }
+
+.has-danger .is-focused [class^='bmd-label'],
+.has-danger .is-focused [class*=' bmd-label'], .has-danger.is-focused [class^='bmd-label'],
+.has-danger.is-focused [class*=' bmd-label'] {
+ color: #f44336; }
+
+.has-danger .is-focused .bmd-label-placeholder, .has-danger.is-focused .bmd-label-placeholder {
+ color: #f44336; }
+
+.has-danger .is-focused .form-control, .has-danger .is-focused .custom-file-control, .has-danger.is-focused .form-control, .has-danger.is-focused .custom-file-control {
+ border-color: #f44336; }
+
+.has-danger .is-focused .bmd-help, .has-danger.is-focused .bmd-help {
+ color: rgba(0, 0, 0, 0.54); }
+
+.bmd-form-group {
+ position: relative;
+ padding-top: 1.75rem; }
+ .bmd-form-group [class^='bmd-label'],
+ .bmd-form-group [class*=' bmd-label'] {
+ position: absolute;
+ pointer-events: none;
+ -webkit-transition: 0.3s ease all;
+ -o-transition: 0.3s ease all;
+ transition: 0.3s ease all; }
+ .bmd-form-group [class^='bmd-label'].bmd-label-floating,
+ .bmd-form-group [class*=' bmd-label'].bmd-label-floating {
+ will-change: left, top, contents; }
+ .bmd-form-group.is-filled .bmd-label-placeholder {
+ display: none; }
+ .bmd-form-group.bmd-collapse-inline {
+ padding: 0; }
+ .bmd-form-group.bmd-collapse-inline .collapse.in {
+ max-width: 600px; }
+ .bmd-form-group.bmd-collapse-inline .collapsing,
+ .bmd-form-group.bmd-collapse-inline .width:not(.collapse),
+ .bmd-form-group.bmd-collapse-inline .collapse.in {
+ display: inline-block; }
+ .bmd-form-group.bmd-collapse-inline .collapsing {
+ -webkit-transition-duration: 0.2s;
+ -o-transition-duration: 0.2s;
+ transition-duration: 0.2s;
+ -webkit-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
+ -o-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
+ transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); }
+ .bmd-form-group .form-control, .bmd-form-group .custom-file-control,
+ .bmd-form-group label,
+ .bmd-form-group input::-webkit-input-placeholder {
+ line-height: 1; }
+ .bmd-form-group .form-control, .bmd-form-group .custom-file-control,
+ .bmd-form-group label,
+ .bmd-form-group input::-moz-placeholder {
+ line-height: 1; }
+ .bmd-form-group .form-control, .bmd-form-group .custom-file-control,
+ .bmd-form-group label,
+ .bmd-form-group input:-ms-input-placeholder {
+ line-height: 1; }
+ .bmd-form-group .form-control, .bmd-form-group .custom-file-control,
+ .bmd-form-group label,
+ .bmd-form-group input::placeholder {
+ line-height: 1; }
+ .bmd-form-group .radio label,
+ .bmd-form-group label.radio-inline,
+ .bmd-form-group .checkbox label,
+ .bmd-form-group label.checkbox-inline,
+ .bmd-form-group .switch label {
+ line-height: 1.5; }
+ .bmd-form-group input::-webkit-input-placeholder {
+ font-size: 1rem; }
+ .bmd-form-group input::-moz-placeholder {
+ font-size: 1rem; }
+ .bmd-form-group input:-ms-input-placeholder {
+ font-size: 1rem; }
+ .bmd-form-group input::placeholder {
+ font-size: 1rem; }
+ .bmd-form-group .checkbox label,
+ .bmd-form-group .radio label,
+ .bmd-form-group label {
+ font-size: 1rem; }
+ .bmd-form-group .bmd-label-floating,
+ .bmd-form-group .bmd-label-placeholder {
+ top: 2.1875rem; }
+ .bmd-form-group.is-focused .bmd-label-floating,
+ .bmd-form-group .is-focused .bmd-label-floating, .bmd-form-group.is-filled .bmd-label-floating,
+ .bmd-form-group .is-filled .bmd-label-floating {
+ top: 1rem;
+ left: 0;
+ font-size: 0.75rem; }
+ .bmd-form-group .bmd-label-static {
+ top: 1rem;
+ left: 0;
+ font-size: 0.75rem; }
+ .bmd-form-group .bmd-help {
+ margin-top: 0;
+ font-size: 0.75rem; }
+ .bmd-form-group .form-control.form-control-success, .bmd-form-group .form-control-success.custom-file-control, .bmd-form-group .form-control.form-control-warning, .bmd-form-group .form-control-warning.custom-file-control, .bmd-form-group .form-control.form-control-danger, .bmd-form-group .form-control-danger.custom-file-control {
+ -webkit-background-size: 0 100%, 100% 100%, 0.9375rem 0.9375rem;
+ background-size: 0 100%, 100% 100%, 0.9375rem 0.9375rem; }
+ .bmd-form-group .form-control.form-control-success, .bmd-form-group .form-control-success.custom-file-control, .bmd-form-group .form-control.form-control-success:focus, .bmd-form-group .form-control-success.custom-file-control:focus,
+ .bmd-form-group.is-focused .bmd-form-group .form-control.form-control-success,
+ .bmd-form-group.is-focused .bmd-form-group .form-control-success.custom-file-control, .bmd-form-group .form-control.form-control-warning, .bmd-form-group .form-control-warning.custom-file-control, .bmd-form-group .form-control.form-control-warning:focus, .bmd-form-group .form-control-warning.custom-file-control:focus,
+ .bmd-form-group.is-focused .bmd-form-group .form-control.form-control-warning,
+ .bmd-form-group.is-focused .bmd-form-group .form-control-warning.custom-file-control, .bmd-form-group .form-control.form-control-danger, .bmd-form-group .form-control-danger.custom-file-control, .bmd-form-group .form-control.form-control-danger:focus, .bmd-form-group .form-control-danger.custom-file-control:focus,
+ .bmd-form-group.is-focused .bmd-form-group .form-control.form-control-danger,
+ .bmd-form-group.is-focused .bmd-form-group .form-control-danger.custom-file-control {
+ padding-right: 0;
+ background-repeat: no-repeat, no-repeat;
+ background-position: center bottom, center calc(100% - 1px), center right 0.46875rem; }
+ .bmd-form-group .form-control.form-control-success:focus, .bmd-form-group .form-control-success.custom-file-control:focus,
+ .bmd-form-group.is-focused .bmd-form-group .form-control.form-control-success,
+ .bmd-form-group.is-focused .bmd-form-group .form-control-success.custom-file-control, .bmd-form-group .form-control.form-control-warning:focus, .bmd-form-group .form-control-warning.custom-file-control:focus,
+ .bmd-form-group.is-focused .bmd-form-group .form-control.form-control-warning,
+ .bmd-form-group.is-focused .bmd-form-group .form-control-warning.custom-file-control, .bmd-form-group .form-control.form-control-danger:focus, .bmd-form-group .form-control-danger.custom-file-control:focus,
+ .bmd-form-group.is-focused .bmd-form-group .form-control.form-control-danger,
+ .bmd-form-group.is-focused .bmd-form-group .form-control-danger.custom-file-control {
+ -webkit-background-size: 100% 100%, 100% 100%, 0.9375rem 0.9375rem;
+ background-size: 100% 100%, 100% 100%, 0.9375rem 0.9375rem; }
+ .bmd-form-group.bmd-form-group-sm {
+ padding-top: 1.40625rem; }
+ .bmd-form-group.bmd-form-group-sm .form-control, .bmd-form-group.bmd-form-group-sm .custom-file-control,
+ .bmd-form-group.bmd-form-group-sm label,
+ .bmd-form-group.bmd-form-group-sm input::-webkit-input-placeholder {
+ line-height: 1; }
+ .bmd-form-group.bmd-form-group-sm .form-control, .bmd-form-group.bmd-form-group-sm .custom-file-control,
+ .bmd-form-group.bmd-form-group-sm label,
+ .bmd-form-group.bmd-form-group-sm input::-moz-placeholder {
+ line-height: 1; }
+ .bmd-form-group.bmd-form-group-sm .form-control, .bmd-form-group.bmd-form-group-sm .custom-file-control,
+ .bmd-form-group.bmd-form-group-sm label,
+ .bmd-form-group.bmd-form-group-sm input:-ms-input-placeholder {
+ line-height: 1; }
+ .bmd-form-group.bmd-form-group-sm .form-control, .bmd-form-group.bmd-form-group-sm .custom-file-control,
+ .bmd-form-group.bmd-form-group-sm label,
+ .bmd-form-group.bmd-form-group-sm input::placeholder {
+ line-height: 1; }
+ .bmd-form-group.bmd-form-group-sm .radio label,
+ .bmd-form-group.bmd-form-group-sm label.radio-inline,
+ .bmd-form-group.bmd-form-group-sm .checkbox label,
+ .bmd-form-group.bmd-form-group-sm label.checkbox-inline,
+ .bmd-form-group.bmd-form-group-sm .switch label {
+ line-height: 1.5; }
+ .bmd-form-group.bmd-form-group-sm input::-webkit-input-placeholder {
+ font-size: 0.875rem; }
+ .bmd-form-group.bmd-form-group-sm input::-moz-placeholder {
+ font-size: 0.875rem; }
+ .bmd-form-group.bmd-form-group-sm input:-ms-input-placeholder {
+ font-size: 0.875rem; }
+ .bmd-form-group.bmd-form-group-sm input::placeholder {
+ font-size: 0.875rem; }
+ .bmd-form-group.bmd-form-group-sm .checkbox label,
+ .bmd-form-group.bmd-form-group-sm .radio label,
+ .bmd-form-group.bmd-form-group-sm label {
+ font-size: 0.875rem; }
+ .bmd-form-group.bmd-form-group-sm .bmd-label-floating,
+ .bmd-form-group.bmd-form-group-sm .bmd-label-placeholder {
+ top: 1.65625rem; }
+ .bmd-form-group.bmd-form-group-sm.is-focused .bmd-label-floating,
+ .bmd-form-group.bmd-form-group-sm .is-focused .bmd-label-floating, .bmd-form-group.bmd-form-group-sm.is-filled .bmd-label-floating,
+ .bmd-form-group.bmd-form-group-sm .is-filled .bmd-label-floating {
+ top: 0.75rem;
+ left: 0;
+ font-size: 0.65625rem; }
+ .bmd-form-group.bmd-form-group-sm .bmd-label-static {
+ top: 0.75rem;
+ left: 0;
+ font-size: 0.65625rem; }
+ .bmd-form-group.bmd-form-group-sm .bmd-help {
+ margin-top: 0;
+ font-size: 0.65625rem; }
+ .bmd-form-group.bmd-form-group-sm .form-control.form-control-success, .bmd-form-group.bmd-form-group-sm .form-control-success.custom-file-control, .bmd-form-group.bmd-form-group-sm .form-control.form-control-warning, .bmd-form-group.bmd-form-group-sm .form-control-warning.custom-file-control, .bmd-form-group.bmd-form-group-sm .form-control.form-control-danger, .bmd-form-group.bmd-form-group-sm .form-control-danger.custom-file-control {
+ -webkit-background-size: 0 100%, 100% 100%, 0.6875rem 0.6875rem;
+ background-size: 0 100%, 100% 100%, 0.6875rem 0.6875rem; }
+ .bmd-form-group.bmd-form-group-sm .form-control.form-control-success, .bmd-form-group.bmd-form-group-sm .form-control-success.custom-file-control, .bmd-form-group.bmd-form-group-sm .form-control.form-control-success:focus, .bmd-form-group.bmd-form-group-sm .form-control-success.custom-file-control:focus,
+ .bmd-form-group.is-focused .bmd-form-group.bmd-form-group-sm .form-control.form-control-success,
+ .bmd-form-group.is-focused .bmd-form-group.bmd-form-group-sm .form-control-success.custom-file-control, .bmd-form-group.bmd-form-group-sm .form-control.form-control-warning, .bmd-form-group.bmd-form-group-sm .form-control-warning.custom-file-control, .bmd-form-group.bmd-form-group-sm .form-control.form-control-warning:focus, .bmd-form-group.bmd-form-group-sm .form-control-warning.custom-file-control:focus,
+ .bmd-form-group.is-focused .bmd-form-group.bmd-form-group-sm .form-control.form-control-warning,
+ .bmd-form-group.is-focused .bmd-form-group.bmd-form-group-sm .form-control-warning.custom-file-control, .bmd-form-group.bmd-form-group-sm .form-control.form-control-danger, .bmd-form-group.bmd-form-group-sm .form-control-danger.custom-file-control, .bmd-form-group.bmd-form-group-sm .form-control.form-control-danger:focus, .bmd-form-group.bmd-form-group-sm .form-control-danger.custom-file-control:focus,
+ .bmd-form-group.is-focused .bmd-form-group.bmd-form-group-sm .form-control.form-control-danger,
+ .bmd-form-group.is-focused .bmd-form-group.bmd-form-group-sm .form-control-danger.custom-file-control {
+ padding-right: 0;
+ background-repeat: no-repeat, no-repeat;
+ background-position: center bottom, center calc(100% - 1px), center right 0.34375rem; }
+ .bmd-form-group.bmd-form-group-sm .form-control.form-control-success:focus, .bmd-form-group.bmd-form-group-sm .form-control-success.custom-file-control:focus,
+ .bmd-form-group.is-focused .bmd-form-group.bmd-form-group-sm .form-control.form-control-success,
+ .bmd-form-group.is-focused .bmd-form-group.bmd-form-group-sm .form-control-success.custom-file-control, .bmd-form-group.bmd-form-group-sm .form-control.form-control-warning:focus, .bmd-form-group.bmd-form-group-sm .form-control-warning.custom-file-control:focus,
+ .bmd-form-group.is-focused .bmd-form-group.bmd-form-group-sm .form-control.form-control-warning,
+ .bmd-form-group.is-focused .bmd-form-group.bmd-form-group-sm .form-control-warning.custom-file-control, .bmd-form-group.bmd-form-group-sm .form-control.form-control-danger:focus, .bmd-form-group.bmd-form-group-sm .form-control-danger.custom-file-control:focus,
+ .bmd-form-group.is-focused .bmd-form-group.bmd-form-group-sm .form-control.form-control-danger,
+ .bmd-form-group.is-focused .bmd-form-group.bmd-form-group-sm .form-control-danger.custom-file-control {
+ -webkit-background-size: 100% 100%, 100% 100%, 0.6875rem 0.6875rem;
+ background-size: 100% 100%, 100% 100%, 0.6875rem 0.6875rem; }
+ .bmd-form-group.bmd-form-group-lg {
+ padding-top: 1.9375rem; }
+ .bmd-form-group.bmd-form-group-lg .form-control, .bmd-form-group.bmd-form-group-lg .custom-file-control,
+ .bmd-form-group.bmd-form-group-lg label,
+ .bmd-form-group.bmd-form-group-lg input::-webkit-input-placeholder {
+ line-height: 1; }
+ .bmd-form-group.bmd-form-group-lg .form-control, .bmd-form-group.bmd-form-group-lg .custom-file-control,
+ .bmd-form-group.bmd-form-group-lg label,
+ .bmd-form-group.bmd-form-group-lg input::-moz-placeholder {
+ line-height: 1; }
+ .bmd-form-group.bmd-form-group-lg .form-control, .bmd-form-group.bmd-form-group-lg .custom-file-control,
+ .bmd-form-group.bmd-form-group-lg label,
+ .bmd-form-group.bmd-form-group-lg input:-ms-input-placeholder {
+ line-height: 1; }
+ .bmd-form-group.bmd-form-group-lg .form-control, .bmd-form-group.bmd-form-group-lg .custom-file-control,
+ .bmd-form-group.bmd-form-group-lg label,
+ .bmd-form-group.bmd-form-group-lg input::placeholder {
+ line-height: 1; }
+ .bmd-form-group.bmd-form-group-lg .radio label,
+ .bmd-form-group.bmd-form-group-lg label.radio-inline,
+ .bmd-form-group.bmd-form-group-lg .checkbox label,
+ .bmd-form-group.bmd-form-group-lg label.checkbox-inline,
+ .bmd-form-group.bmd-form-group-lg .switch label {
+ line-height: 1.5; }
+ .bmd-form-group.bmd-form-group-lg input::-webkit-input-placeholder {
+ font-size: 1.25rem; }
+ .bmd-form-group.bmd-form-group-lg input::-moz-placeholder {
+ font-size: 1.25rem; }
+ .bmd-form-group.bmd-form-group-lg input:-ms-input-placeholder {
+ font-size: 1.25rem; }
+ .bmd-form-group.bmd-form-group-lg input::placeholder {
+ font-size: 1.25rem; }
+ .bmd-form-group.bmd-form-group-lg .checkbox label,
+ .bmd-form-group.bmd-form-group-lg .radio label,
+ .bmd-form-group.bmd-form-group-lg label {
+ font-size: 1.25rem; }
+ .bmd-form-group.bmd-form-group-lg .bmd-label-floating,
+ .bmd-form-group.bmd-form-group-lg .bmd-label-placeholder {
+ top: 2.5rem; }
+ .bmd-form-group.bmd-form-group-lg.is-focused .bmd-label-floating,
+ .bmd-form-group.bmd-form-group-lg .is-focused .bmd-label-floating, .bmd-form-group.bmd-form-group-lg.is-filled .bmd-label-floating,
+ .bmd-form-group.bmd-form-group-lg .is-filled .bmd-label-floating {
+ top: 1rem;
+ left: 0;
+ font-size: 0.9375rem; }
+ .bmd-form-group.bmd-form-group-lg .bmd-label-static {
+ top: 1rem;
+ left: 0;
+ font-size: 0.9375rem; }
+ .bmd-form-group.bmd-form-group-lg .bmd-help {
+ margin-top: 0;
+ font-size: 0.9375rem; }
+ .bmd-form-group.bmd-form-group-lg .form-control.form-control-success, .bmd-form-group.bmd-form-group-lg .form-control-success.custom-file-control, .bmd-form-group.bmd-form-group-lg .form-control.form-control-warning, .bmd-form-group.bmd-form-group-lg .form-control-warning.custom-file-control, .bmd-form-group.bmd-form-group-lg .form-control.form-control-danger, .bmd-form-group.bmd-form-group-lg .form-control-danger.custom-file-control {
+ -webkit-background-size: 0 100%, 100% 100%, 1.1875rem 1.1875rem;
+ background-size: 0 100%, 100% 100%, 1.1875rem 1.1875rem; }
+ .bmd-form-group.bmd-form-group-lg .form-control.form-control-success, .bmd-form-group.bmd-form-group-lg .form-control-success.custom-file-control, .bmd-form-group.bmd-form-group-lg .form-control.form-control-success:focus, .bmd-form-group.bmd-form-group-lg .form-control-success.custom-file-control:focus,
+ .bmd-form-group.is-focused .bmd-form-group.bmd-form-group-lg .form-control.form-control-success,
+ .bmd-form-group.is-focused .bmd-form-group.bmd-form-group-lg .form-control-success.custom-file-control, .bmd-form-group.bmd-form-group-lg .form-control.form-control-warning, .bmd-form-group.bmd-form-group-lg .form-control-warning.custom-file-control, .bmd-form-group.bmd-form-group-lg .form-control.form-control-warning:focus, .bmd-form-group.bmd-form-group-lg .form-control-warning.custom-file-control:focus,
+ .bmd-form-group.is-focused .bmd-form-group.bmd-form-group-lg .form-control.form-control-warning,
+ .bmd-form-group.is-focused .bmd-form-group.bmd-form-group-lg .form-control-warning.custom-file-control, .bmd-form-group.bmd-form-group-lg .form-control.form-control-danger, .bmd-form-group.bmd-form-group-lg .form-control-danger.custom-file-control, .bmd-form-group.bmd-form-group-lg .form-control.form-control-danger:focus, .bmd-form-group.bmd-form-group-lg .form-control-danger.custom-file-control:focus,
+ .bmd-form-group.is-focused .bmd-form-group.bmd-form-group-lg .form-control.form-control-danger,
+ .bmd-form-group.is-focused .bmd-form-group.bmd-form-group-lg .form-control-danger.custom-file-control {
+ padding-right: 0;
+ background-repeat: no-repeat, no-repeat;
+ background-position: center bottom, center calc(100% - 1px), center right 0.59375rem; }
+ .bmd-form-group.bmd-form-group-lg .form-control.form-control-success:focus, .bmd-form-group.bmd-form-group-lg .form-control-success.custom-file-control:focus,
+ .bmd-form-group.is-focused .bmd-form-group.bmd-form-group-lg .form-control.form-control-success,
+ .bmd-form-group.is-focused .bmd-form-group.bmd-form-group-lg .form-control-success.custom-file-control, .bmd-form-group.bmd-form-group-lg .form-control.form-control-warning:focus, .bmd-form-group.bmd-form-group-lg .form-control-warning.custom-file-control:focus,
+ .bmd-form-group.is-focused .bmd-form-group.bmd-form-group-lg .form-control.form-control-warning,
+ .bmd-form-group.is-focused .bmd-form-group.bmd-form-group-lg .form-control-warning.custom-file-control, .bmd-form-group.bmd-form-group-lg .form-control.form-control-danger:focus, .bmd-form-group.bmd-form-group-lg .form-control-danger.custom-file-control:focus,
+ .bmd-form-group.is-focused .bmd-form-group.bmd-form-group-lg .form-control.form-control-danger,
+ .bmd-form-group.is-focused .bmd-form-group.bmd-form-group-lg .form-control-danger.custom-file-control {
+ -webkit-background-size: 100% 100%, 100% 100%, 1.1875rem 1.1875rem;
+ background-size: 100% 100%, 100% 100%, 1.1875rem 1.1875rem; }
+
+.form-control, .custom-file-control,
+label,
+input::-webkit-input-placeholder {
+ line-height: 1; }
+
+.form-control, .custom-file-control,
+label,
+input::-moz-placeholder {
+ line-height: 1; }
+
+.form-control, .custom-file-control,
+label,
+input:-ms-input-placeholder {
+ line-height: 1; }
+
+.form-control, .custom-file-control,
+label,
+input::placeholder {
+ line-height: 1; }
+
+.radio label,
+label.radio-inline,
+.checkbox label,
+label.checkbox-inline,
+.switch label {
+ line-height: 1.5; }
+
+input::-webkit-input-placeholder {
+ font-size: 1rem; }
+
+input::-moz-placeholder {
+ font-size: 1rem; }
+
+input:-ms-input-placeholder {
+ font-size: 1rem; }
+
+input::placeholder {
+ font-size: 1rem; }
+
+.checkbox label,
+.radio label,
+label {
+ font-size: 1rem; }
+
+.bmd-label-floating,
+.bmd-label-placeholder {
+ top: 2.1875rem; }
+
+.is-focused .bmd-label-floating,
+.is-focused .bmd-label-floating,
+.is-filled .bmd-label-floating,
+.is-filled .bmd-label-floating {
+ top: 1rem;
+ left: 0;
+ font-size: 0.75rem; }
+
+.bmd-label-static {
+ top: 1rem;
+ left: 0;
+ font-size: 0.75rem; }
+
+.bmd-help {
+ margin-top: 0;
+ font-size: 0.75rem; }
+
+.form-control.form-control-success, .form-control-success.custom-file-control, .form-control.form-control-warning, .form-control-warning.custom-file-control, .form-control.form-control-danger, .form-control-danger.custom-file-control {
+ -webkit-background-size: 0 100%, 100% 100%, 0.9375rem 0.9375rem;
+ background-size: 0 100%, 100% 100%, 0.9375rem 0.9375rem; }
+ .form-control.form-control-success, .form-control-success.custom-file-control, .form-control.form-control-success:focus, .form-control-success.custom-file-control:focus,
+ .bmd-form-group.is-focused .form-control.form-control-success,
+ .bmd-form-group.is-focused .form-control-success.custom-file-control, .form-control.form-control-warning, .form-control-warning.custom-file-control, .form-control.form-control-warning:focus, .form-control-warning.custom-file-control:focus,
+ .bmd-form-group.is-focused .form-control.form-control-warning,
+ .bmd-form-group.is-focused .form-control-warning.custom-file-control, .form-control.form-control-danger, .form-control-danger.custom-file-control, .form-control.form-control-danger:focus, .form-control-danger.custom-file-control:focus,
+ .bmd-form-group.is-focused .form-control.form-control-danger,
+ .bmd-form-group.is-focused .form-control-danger.custom-file-control {
+ padding-right: 0;
+ background-repeat: no-repeat, no-repeat;
+ background-position: center bottom, center calc(100% - 1px), center right 0.46875rem; }
+ .form-control.form-control-success:focus, .form-control-success.custom-file-control:focus,
+ .bmd-form-group.is-focused .form-control.form-control-success,
+ .bmd-form-group.is-focused .form-control-success.custom-file-control, .form-control.form-control-warning:focus, .form-control-warning.custom-file-control:focus,
+ .bmd-form-group.is-focused .form-control.form-control-warning,
+ .bmd-form-group.is-focused .form-control-warning.custom-file-control, .form-control.form-control-danger:focus, .form-control-danger.custom-file-control:focus,
+ .bmd-form-group.is-focused .form-control.form-control-danger,
+ .bmd-form-group.is-focused .form-control-danger.custom-file-control {
+ -webkit-background-size: 100% 100%, 100% 100%, 0.9375rem 0.9375rem;
+ background-size: 100% 100%, 100% 100%, 0.9375rem 0.9375rem; }
+
+select, select.form-control, select.custom-file-control {
+ -moz-appearance: none;
+ -webkit-appearance: none; }
+
+@media (min-width: 544px) {
+ .form-inline .input-group {
+ display: -webkit-inline-box;
+ display: -webkit-inline-flex;
+ display: -ms-inline-flexbox;
+ display: inline-flex;
+ -webkit-box-align: center;
+ -webkit-align-items: center;
+ -ms-flex-align: center;
+ align-items: center; } }
+
+.input-group .input-group-addon {
+ display: -webkit-box;
+ display: -webkit-flex;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-box-pack: center;
+ -webkit-justify-content: center;
+ -ms-flex-pack: center;
+ justify-content: center;
+ -webkit-box-align: center;
+ -webkit-align-items: center;
+ -ms-flex-align: center;
+ align-items: center;
+ background-color: transparent;
+ border-color: transparent; }
+
+.input-group .input-group-addon + input,
+.input-group input + .input-group-addon {
+ margin-left: .75rem; }
+
+.list-group {
+ display: -webkit-box;
+ display: -webkit-flex;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-box-orient: vertical;
+ -webkit-box-direction: normal;
+ -webkit-flex-direction: column;
+ -ms-flex-direction: column;
+ flex-direction: column;
+ -webkit-box-flex: 1;
+ -webkit-flex-grow: 1;
+ -ms-flex-positive: 1;
+ flex-grow: 1;
+ padding: .5rem 0; }
+ .list-group.bmd-list-group-sm {
+ padding: .25rem 0; }
+ .list-group.bmd-list-group-sm .list-group-item {
+ padding: .5rem 1rem; }
+
+.bmd-list-group-col {
+ display: -webkit-box;
+ display: -webkit-flex;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-box-orient: vertical;
+ -webkit-box-direction: normal;
+ -webkit-flex-direction: column;
+ -ms-flex-direction: column;
+ flex-direction: column;
+ min-width: 0; }
+
+.list-group-item {
+ display: -webkit-box;
+ display: -webkit-flex;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-flex-flow: row wrap;
+ -ms-flex-flow: row wrap;
+ flex-flow: row wrap;
+ -webkit-box-align: center;
+ -webkit-align-items: center;
+ -ms-flex-align: center;
+ align-items: center;
+ padding: 1rem;
+ line-height: 1; }
+ .list-group-item .list-group-item-text {
+ min-width: 0;
+ max-height: 2.188rem;
+ overflow: hidden;
+ text-overflow: ellipsis; }
+ .list-group-item :first-child {
+ margin-right: 2rem; }
+ .list-group-item > .pull-xs-right,
+ .list-group-item > .pull-sm-right,
+ .list-group-item > .pull-md-right,
+ .list-group-item > .pull-lg-right,
+ .list-group-item > .pull-xl-right,
+ .list-group-item > * ~ .label:last-child,
+ .list-group-item > * ~ .material-icons:last-child {
+ margin-right: 0;
+ margin-left: auto; }
+ .list-group-item .material-icons.pull-xs-right,
+ .list-group-item .material-icons.pull-sm-right,
+ .list-group-item .material-icons.pull-md-right,
+ .list-group-item .material-icons.pull-lg-right,
+ .list-group-item .material-icons.pull-xl-right,
+ .list-group-item .material-icons ~ .material-icons:last-child {
+ padding-left: 1rem; }
+ .list-group-item .list-group-item-text {
+ font-size: .875rem;
+ color: rgba(0, 0, 0, 0.54); }
+
+.table-inverse {
+ color: rgba(255, 255, 255, 0.84); }
+
+.nav-link {
+ text-transform: uppercase; }
+
+.navbar-nav .nav-link {
+ padding: 0.5321rem;
+ font-size: 0.875rem;
+ font-weight: 400; }
+
+.nav-tabs,
+.nav-pills {
+ border: 0; }
+ .nav-tabs .nav-link,
+ .nav-pills .nav-link {
+ padding: 1.4286em 0.8575em;
+ font-size: 0.875rem;
+ font-weight: 500;
+ border: 0; }
+
+.nav-tabs .nav-link {
+ border-bottom: 0.214rem solid transparent; }
+
+.nav-tabs .nav-link {
+ color: rgba(0, 0, 0, 0.54); }
+ .nav-tabs .nav-link.active {
+ color: rgba(0, 0, 0, 0.87);
+ border-color: #009688; }
+ .nav-tabs .nav-link.active:focus, .nav-tabs .nav-link.active:hover {
+ border-color: #009688; }
+ .nav-tabs .nav-link.disabled {
+ color: rgba(0, 0, 0, 0.26); }
+ .nav-tabs .nav-link.disabled, .nav-tabs .nav-link.disabled:focus, .nav-tabs .nav-link.disabled:hover {
+ color: rgba(0, 0, 0, 0.26); }
+
+.nav-tabs.bg-primary .nav-link {
+ color: white; }
+ .nav-tabs.bg-primary .nav-link.active {
+ color: #fff;
+ border-color: #fff; }
+ .nav-tabs.bg-primary .nav-link.active:focus, .nav-tabs.bg-primary .nav-link.active:hover {
+ border-color: #fff; }
+ .nav-tabs.bg-primary .nav-link.disabled {
+ color: rgba(255, 255, 255, 0.84); }
+ .nav-tabs.bg-primary .nav-link.disabled, .nav-tabs.bg-primary .nav-link.disabled:focus, .nav-tabs.bg-primary .nav-link.disabled:hover {
+ color: rgba(255, 255, 255, 0.84); }
+
+.nav-tabs.bg-inverse .nav-link {
+ color: white; }
+ .nav-tabs.bg-inverse .nav-link.active {
+ color: #fff;
+ border-color: #fff; }
+ .nav-tabs.bg-inverse .nav-link.active:focus, .nav-tabs.bg-inverse .nav-link.active:hover {
+ border-color: #fff; }
+ .nav-tabs.bg-inverse .nav-link.disabled {
+ color: rgba(255, 255, 255, 0.84); }
+ .nav-tabs.bg-inverse .nav-link.disabled, .nav-tabs.bg-inverse .nav-link.disabled:focus, .nav-tabs.bg-inverse .nav-link.disabled:hover {
+ color: rgba(255, 255, 255, 0.84); }
+
+.nav .nav-item {
+ position: relative; }
+
+.navbar {
+ z-index: 1;
+ border: 0;
+ border-radius: 0;
+ -webkit-box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 1px 5px 0 rgba(0, 0, 0, 0.12);
+ box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 1px 5px 0 rgba(0, 0, 0, 0.12);
+ display: -webkit-box;
+ display: -webkit-flex;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-flex-flow: row nowrap;
+ -ms-flex-flow: row nowrap;
+ flex-flow: row nowrap;
+ -webkit-flex-shrink: 0;
+ -ms-flex-negative: 0;
+ flex-shrink: 0;
+ -webkit-box-align: center;
+ -webkit-align-items: center;
+ -ms-flex-align: center;
+ align-items: center;
+ -webkit-align-self: stretch;
+ -ms-flex-item-align: stretch;
+ align-self: stretch; }
+ .navbar .navbar-brand {
+ position: relative; }
+ .navbar > * {
+ -webkit-flex-shrink: 0;
+ -ms-flex-negative: 0;
+ flex-shrink: 0; }
+ .navbar > .container {
+ -webkit-box-flex: 1;
+ -webkit-flex: 1;
+ -ms-flex: 1;
+ flex: 1; }
+
+.alert {
+ border: 0;
+ border-radius: 0; }
+
+.progress {
+ height: 4px;
+ background: #c8c8c8;
+ border-radius: 0;
+ -webkit-box-shadow: none;
+ box-shadow: none; }
+ .progress .progress-bar {
+ -webkit-box-shadow: none;
+ box-shadow: none; }
+
+.page-item:first-child .page-link {
+ border-bottom-left-radius: 4em;
+ border-top-left-radius: 4em; }
+
+.page-item:last-child .page-link {
+ border-bottom-right-radius: 4em;
+ border-top-right-radius: 4em;
+ margin-right: 0; }
+
+.page-item:first-child .page-link, .page-item:last-child .page-link {
+ display: -webkit-box;
+ display: -webkit-flex;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-box-pack: center;
+ -webkit-justify-content: center;
+ -ms-flex-pack: center;
+ justify-content: center;
+ padding-right: 0;
+ padding-left: 0; }
+ .page-item:first-child .page-link > .material-icons, .page-item:last-child .page-link > .material-icons {
+ font-size: 1.5em; }
+
+.page-link {
+ min-width: 2.6em;
+ margin-right: 0.5em;
+ text-align: center;
+ border-radius: 4em; }
+ .page-link:focus, .page-link:hover {
+ text-decoration: none; }
+
+.pagination-lg .page-link {
+ min-width: 2.8em; }
+
+.pagination-lg .page-link {
+ padding: 0.75rem 0;
+ font-size: 1.25rem; }
+
+.pagination-lg .page-item:first-child .page-link {
+ border-bottom-left-radius: 4em;
+ border-top-left-radius: 4em; }
+
+.pagination-lg .page-item:last-child .page-link {
+ border-bottom-right-radius: 4em;
+ border-top-right-radius: 4em; }
+
+.pagination-sm .page-link {
+ min-width: 2.2em; }
+
+.pagination-sm .page-link {
+ padding: 0.275rem 0;
+ font-size: 0.875rem; }
+
+.pagination-sm .page-item:first-child .page-link {
+ border-bottom-left-radius: 4em;
+ border-top-left-radius: 4em; }
+
+.pagination-sm .page-item:last-child .page-link {
+ border-bottom-right-radius: 4em;
+ border-top-right-radius: 4em; }
+
+h6 {
+ font-weight: 500; }
+
+.card {
+ border: 0;
+ -webkit-box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 1px 5px 0 rgba(0, 0, 0, 0.12);
+ box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 1px 5px 0 rgba(0, 0, 0, 0.12); }
+ .card .card-header {
+ padding: 1rem; }
+ .card .card-block {
+ padding: 1.5rem 1rem 1rem; }
+ .card h1.card-title, .card h2.card-title, .card h3.card-title, .card h4.card-title, .card h5.card-title, .card h6.card-title {
+ font-size: 1.5rem;
+ font-weight: 300; }
+ .card .bmd-card-actions,
+ .card .card-footer {
+ padding: .5rem; }
+ .card.bmd-card-raised {
+ -webkit-box-shadow: 0 8px 10px 1px rgba(0, 0, 0, 0.14), 0 3px 14px 2px rgba(0, 0, 0, 0.12), 0 5px 5px -3px rgba(0, 0, 0, 0.2);
+ box-shadow: 0 8px 10px 1px rgba(0, 0, 0, 0.14), 0 3px 14px 2px rgba(0, 0, 0, 0.12), 0 5px 5px -3px rgba(0, 0, 0, 0.2); }
+ @media (min-width: 992px) {
+ .card.bmd-card-flat {
+ -webkit-box-shadow: none;
+ box-shadow: none; } }
+
+.modal-content {
+ border: 0;
+ border-radius: 0.125rem; }
+ .modal-content .modal-header {
+ padding: 24px 24px 0;
+ border-bottom: 0; }
+ .modal-content .modal-body {
+ padding: 20px 24px 24px; }
+ .modal-content .modal-footer {
+ padding: 8px 8px 8px 24px;
+ border-top: 0; }
+ .modal-content .modal-footer .btn, .modal-content .modal-footer .custom-file-control::before {
+ margin: 0; }
+ .modal-content .modal-footer .btn + .btn, .modal-content .modal-footer .custom-file-control::before + .btn, .modal-content .modal-footer .btn + .custom-file-control::before, .modal-content .modal-footer .custom-file-control::before + .custom-file-control::before {
+ margin-left: 8px; }
+
+.dropdown-menu {
+ display: block;
+ padding: .25rem 0;
+ border: 0;
+ opacity: 0;
+ -webkit-transition: opacity 0.2s cubic-bezier(0.4, 0, 0.2, 1), -webkit-transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
+ transition: opacity 0.2s cubic-bezier(0.4, 0, 0.2, 1), -webkit-transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
+ -o-transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.2s cubic-bezier(0.4, 0, 0.2, 1), -o-transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
+ transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.2s cubic-bezier(0.4, 0, 0.2, 1);
+ transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.2s cubic-bezier(0.4, 0, 0.2, 1), -webkit-transform 0.3s cubic-bezier(0.4, 0, 0.2, 1), -o-transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
+ -webkit-transform: scale(0);
+ -ms-transform: scale(0);
+ -o-transform: scale(0);
+ transform: scale(0);
+ -webkit-transform-origin: 0 0;
+ -ms-transform-origin: 0 0;
+ -o-transform-origin: 0 0;
+ transform-origin: 0 0;
+ will-change: transform;
+ right: 0;
+ left: auto;
+ -webkit-transform-origin: 100% 0;
+ -ms-transform-origin: 100% 0;
+ -o-transform-origin: 100% 0;
+ transform-origin: 100% 0; }
+ @media (min-width: 768px) {
+ .dropdown-menu {
+ padding: .5rem 0; } }
+ .open > .dropdown-menu {
+ opacity: 1;
+ -webkit-transform: scale(1);
+ -ms-transform: scale(1);
+ -o-transform: scale(1);
+ transform: scale(1); }
+ .dropdown-menu.dropdown-menu-left {
+ top: 100%;
+ left: 0;
+ -webkit-transform-origin: 0 0;
+ -ms-transform-origin: 0 0;
+ -o-transform-origin: 0 0;
+ transform-origin: 0 0; }
+ .dropdown-menu.dropdown-menu-right {
+ right: 0;
+ left: auto;
+ -webkit-transform-origin: 100% 0;
+ -ms-transform-origin: 100% 0;
+ -o-transform-origin: 100% 0;
+ transform-origin: 100% 0; }
+ .dropdown-menu .dropdown-item {
+ position: relative;
+ display: -webkit-box;
+ display: -webkit-flex;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-flex-flow: row wrap;
+ -ms-flex-flow: row wrap;
+ flex-flow: row wrap;
+ -webkit-box-align: center;
+ -webkit-align-items: center;
+ -ms-flex-align: center;
+ align-items: center;
+ min-width: 7rem;
+ max-width: 17.5rem;
+ min-height: 3rem;
+ padding: 0.8rem 1rem 0.8rem 1rem;
+ overflow: hidden;
+ line-height: 1;
+ text-overflow: ellipsis;
+ word-wrap: break-word; }
+ @media (min-width: 768px) {
+ .dropdown-menu .dropdown-item {
+ padding-right: 1.5rem;
+ padding-left: 1.5rem; } }
+
+.dropdown-toggle.bmd-btn-icon::after, .dropdown-toggle.bmd-btn-fab::after {
+ display: none; }
+
+.dropdown-toggle.bmd-btn-icon ~ .dropdown-menu.dropdown-menu-top-left, .dropdown-toggle.bmd-btn-icon ~ .dropdown-menu.dropdown-menu-top-right, .dropdown-toggle.bmd-btn-fab ~ .dropdown-menu.dropdown-menu-top-left, .dropdown-toggle.bmd-btn-fab ~ .dropdown-menu.dropdown-menu-top-right {
+ bottom: 2rem; }
+
+.dropdown-toggle.bmd-btn-fab-sm ~ .dropdown-menu.dropdown-menu-top-left, .dropdown-toggle.bmd-btn-fab-sm ~ .dropdown-menu.dropdown-menu-top-right {
+ bottom: 2.5rem; }
+
+.dropdown-toggle.bmd-btn-icon ~ .dropdown-menu {
+ margin: 0; }
+
+.bmd-layout-drawer {
+ position: absolute;
+ z-index: 5;
+ -webkit-box-sizing: border-box;
+ box-sizing: border-box;
+ display: -webkit-box;
+ display: -webkit-flex;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-box-orient: vertical;
+ -webkit-box-direction: normal;
+ -webkit-flex-direction: column;
+ -ms-flex-direction: column;
+ flex-direction: column;
+ -webkit-flex-wrap: nowrap;
+ -ms-flex-wrap: nowrap;
+ flex-wrap: nowrap;
+ max-height: 100%;
+ overflow: visible;
+ overflow-y: auto;
+ font-size: .875rem;
+ -webkit-transition: -webkit-transform;
+ transition: -webkit-transform;
+ -o-transition: transform, -o-transform;
+ transition: transform;
+ transition: transform, -webkit-transform, -o-transform;
+ will-change: transform;
+ -webkit-transform-style: preserve-3d;
+ transform-style: preserve-3d;
+ -webkit-box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 1px 5px 0 rgba(0, 0, 0, 0.12);
+ box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 1px 5px 0 rgba(0, 0, 0, 0.12);
+ -webkit-transition-duration: 0.2s;
+ -o-transition-duration: 0.2s;
+ transition-duration: 0.2s;
+ -webkit-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
+ -o-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
+ transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); }
+ .bmd-layout-drawer > * {
+ -webkit-flex-shrink: 0;
+ -ms-flex-negative: 0;
+ flex-shrink: 0; }
+ .bmd-layout-drawer > header {
+ display: -webkit-box;
+ display: -webkit-flex;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-box-orient: vertical;
+ -webkit-box-direction: normal;
+ -webkit-flex-direction: column;
+ -ms-flex-direction: column;
+ flex-direction: column;
+ -webkit-box-pack: end;
+ -webkit-justify-content: flex-end;
+ -ms-flex-pack: end;
+ justify-content: flex-end;
+ padding: 1rem; }
+ .bmd-layout-drawer > header .navbar-brand {
+ padding-left: 1.5rem;
+ font-size: 1.25rem; }
+ .bmd-layout-drawer > .list-group {
+ padding-top: 1rem; }
+ .bmd-layout-drawer > .list-group .list-group-item {
+ padding-right: 2.5rem;
+ padding-left: 2.5rem;
+ font-size: .8125rem;
+ font-weight: 500; }
+
+.bmd-drawer-f-l > .bmd-layout-drawer {
+ top: 0;
+ left: 0;
+ width: 240px;
+ height: 100%;
+ -webkit-transform: translateX(-250px);
+ -ms-transform: translateX(-250px);
+ -o-transform: translateX(-250px);
+ transform: translateX(-250px); }
+
+.bmd-drawer-f-l > .bmd-layout-header,
+.bmd-drawer-f-l > .bmd-layout-content {
+ margin-left: 0; }
+
+.bmd-drawer-f-r > .bmd-layout-drawer {
+ top: 0;
+ right: 0;
+ width: 240px;
+ height: 100%;
+ -webkit-transform: translateX(250px);
+ -ms-transform: translateX(250px);
+ -o-transform: translateX(250px);
+ transform: translateX(250px); }
+
+.bmd-drawer-f-r > .bmd-layout-header,
+.bmd-drawer-f-r > .bmd-layout-content {
+ margin-right: 0; }
+
+.bmd-drawer-f-t > .bmd-layout-drawer {
+ top: 0;
+ left: 0;
+ width: 100%;
+ height: 100px;
+ -webkit-transform: translateY(-110px);
+ -ms-transform: translateY(-110px);
+ -o-transform: translateY(-110px);
+ transform: translateY(-110px); }
+
+.bmd-drawer-f-t > .bmd-layout-content {
+ margin-top: 0; }
+
+.bmd-drawer-f-b > .bmd-layout-drawer {
+ bottom: 0;
+ left: 0;
+ width: 100%;
+ height: 100px;
+ -webkit-transform: translateY(110px);
+ -ms-transform: translateY(110px);
+ -o-transform: translateY(110px);
+ transform: translateY(110px); }
+
+.bmd-drawer-f-b > .bmd-layout-content {
+ margin-bottom: 0; }
+
+:not(.bmd-drawer-out).bmd-drawer-in.bmd-drawer-f-l > .bmd-layout-header {
+ width: calc(100% - 240px);
+ margin-left: 240px; }
+
+:not(.bmd-drawer-out).bmd-drawer-in.bmd-drawer-f-l > .bmd-layout-drawer {
+ -webkit-transform: translateX(0);
+ -ms-transform: translateX(0);
+ -o-transform: translateX(0);
+ transform: translateX(0); }
+
+:not(.bmd-drawer-out).bmd-drawer-in.bmd-drawer-f-l > .bmd-layout-content {
+ margin-left: 240px; }
+
+:not(.bmd-drawer-out).bmd-drawer-in.bmd-drawer-f-r > .bmd-layout-header {
+ width: calc(100% - 240px);
+ margin-right: 240px; }
+
+:not(.bmd-drawer-out).bmd-drawer-in.bmd-drawer-f-r > .bmd-layout-drawer {
+ -webkit-transform: translateX(0);
+ -ms-transform: translateX(0);
+ -o-transform: translateX(0);
+ transform: translateX(0); }
+
+:not(.bmd-drawer-out).bmd-drawer-in.bmd-drawer-f-r > .bmd-layout-content {
+ margin-right: 240px; }
+
+:not(.bmd-drawer-out).bmd-drawer-in.bmd-drawer-f-t > .bmd-layout-header {
+ margin-top: 100px; }
+
+:not(.bmd-drawer-out).bmd-drawer-in.bmd-drawer-f-t > .bmd-layout-drawer {
+ -webkit-transform: translateY(0);
+ -ms-transform: translateY(0);
+ -o-transform: translateY(0);
+ transform: translateY(0); }
+
+:not(.bmd-drawer-out).bmd-drawer-in.bmd-drawer-f-b > .bmd-layout-drawer {
+ -webkit-transform: translateY(0);
+ -ms-transform: translateY(0);
+ -o-transform: translateY(0);
+ transform: translateY(0); }
+
+:not(.bmd-drawer-out).bmd-drawer-in.bmd-drawer-f-b > .bmd-layout-content {
+ margin-bottom: 100px; }
+
+:not(.bmd-drawer-out).bmd-drawer-overlay.bmd-drawer-overlay > .bmd-layout-backdrop .in {
+ visibility: visible;
+ background-color: rgba(0, 0, 0, 0.5); }
+
+@supports (pointer-events: auto) {
+ :not(.bmd-drawer-out).bmd-drawer-overlay.bmd-drawer-overlay > .bmd-layout-backdrop.in {
+ pointer-events: auto;
+ opacity: 1; } }
+
+:not(.bmd-drawer-out).bmd-drawer-overlay.bmd-drawer-overlay.bmd-drawer-f-l > .bmd-layout-header,
+:not(.bmd-drawer-out).bmd-drawer-overlay.bmd-drawer-overlay.bmd-drawer-f-l > .bmd-layout-content {
+ width: 100%;
+ margin-left: 0; }
+
+:not(.bmd-drawer-out).bmd-drawer-overlay.bmd-drawer-overlay.bmd-drawer-f-r > .bmd-layout-header,
+:not(.bmd-drawer-out).bmd-drawer-overlay.bmd-drawer-overlay.bmd-drawer-f-r > .bmd-layout-content {
+ width: 100%;
+ margin-right: 0; }
+
+:not(.bmd-drawer-out).bmd-drawer-overlay.bmd-drawer-overlay > .bmd-layout-backdrop .in {
+ visibility: visible;
+ background-color: rgba(0, 0, 0, 0.5); }
+
+@supports (pointer-events: auto) {
+ :not(.bmd-drawer-out).bmd-drawer-overlay.bmd-drawer-overlay > .bmd-layout-backdrop.in {
+ pointer-events: auto;
+ opacity: 1; } }
+
+:not(.bmd-drawer-out).bmd-drawer-overlay.bmd-drawer-overlay.bmd-drawer-f-t > .bmd-layout-header {
+ margin-top: 0; }
+
+:not(.bmd-drawer-out).bmd-drawer-overlay.bmd-drawer-overlay.bmd-drawer-f-b > .bmd-layout-content {
+ margin-bottom: 0; }
+
+@media (min-width: 544px) {
+ :not(.bmd-drawer-out).bmd-drawer-in-sm-up.bmd-drawer-f-l > .bmd-layout-header {
+ width: calc(100% - 240px);
+ margin-left: 240px; }
+ :not(.bmd-drawer-out).bmd-drawer-in-sm-up.bmd-drawer-f-l > .bmd-layout-drawer {
+ -webkit-transform: translateX(0);
+ -ms-transform: translateX(0);
+ -o-transform: translateX(0);
+ transform: translateX(0); }
+ :not(.bmd-drawer-out).bmd-drawer-in-sm-up.bmd-drawer-f-l > .bmd-layout-content {
+ margin-left: 240px; }
+ :not(.bmd-drawer-out).bmd-drawer-in-sm-up.bmd-drawer-f-r > .bmd-layout-header {
+ width: calc(100% - 240px);
+ margin-right: 240px; }
+ :not(.bmd-drawer-out).bmd-drawer-in-sm-up.bmd-drawer-f-r > .bmd-layout-drawer {
+ -webkit-transform: translateX(0);
+ -ms-transform: translateX(0);
+ -o-transform: translateX(0);
+ transform: translateX(0); }
+ :not(.bmd-drawer-out).bmd-drawer-in-sm-up.bmd-drawer-f-r > .bmd-layout-content {
+ margin-right: 240px; } }
+
+@media (min-width: 544px) {
+ :not(.bmd-drawer-out).bmd-drawer-in-sm-up.bmd-drawer-f-t > .bmd-layout-header {
+ margin-top: 100px; }
+ :not(.bmd-drawer-out).bmd-drawer-in-sm-up.bmd-drawer-f-t > .bmd-layout-drawer {
+ -webkit-transform: translateY(0);
+ -ms-transform: translateY(0);
+ -o-transform: translateY(0);
+ transform: translateY(0); }
+ :not(.bmd-drawer-out).bmd-drawer-in-sm-up.bmd-drawer-f-b > .bmd-layout-drawer {
+ -webkit-transform: translateY(0);
+ -ms-transform: translateY(0);
+ -o-transform: translateY(0);
+ transform: translateY(0); }
+ :not(.bmd-drawer-out).bmd-drawer-in-sm-up.bmd-drawer-f-b > .bmd-layout-content {
+ margin-bottom: 100px; } }
+
+@media (max-width: 767px) {
+ :not(.bmd-drawer-out).bmd-drawer-overlay-sm-down > .bmd-layout-backdrop .in {
+ visibility: visible;
+ background-color: rgba(0, 0, 0, 0.5); }
+ @supports (pointer-events: auto) {
+ :not(.bmd-drawer-out).bmd-drawer-overlay-sm-down > .bmd-layout-backdrop.in {
+ pointer-events: auto;
+ opacity: 1; } }
+ :not(.bmd-drawer-out).bmd-drawer-overlay-sm-down.bmd-drawer-f-l > .bmd-layout-header,
+ :not(.bmd-drawer-out).bmd-drawer-overlay-sm-down.bmd-drawer-f-l > .bmd-layout-content {
+ width: 100%;
+ margin-left: 0; }
+ :not(.bmd-drawer-out).bmd-drawer-overlay-sm-down.bmd-drawer-f-r > .bmd-layout-header,
+ :not(.bmd-drawer-out).bmd-drawer-overlay-sm-down.bmd-drawer-f-r > .bmd-layout-content {
+ width: 100%;
+ margin-right: 0; } }
+
+@media (max-width: 767px) {
+ :not(.bmd-drawer-out).bmd-drawer-overlay-sm-down > .bmd-layout-backdrop .in {
+ visibility: visible;
+ background-color: rgba(0, 0, 0, 0.5); }
+ @supports (pointer-events: auto) {
+ :not(.bmd-drawer-out).bmd-drawer-overlay-sm-down > .bmd-layout-backdrop.in {
+ pointer-events: auto;
+ opacity: 1; } }
+ :not(.bmd-drawer-out).bmd-drawer-overlay-sm-down.bmd-drawer-f-t > .bmd-layout-header {
+ margin-top: 0; }
+ :not(.bmd-drawer-out).bmd-drawer-overlay-sm-down.bmd-drawer-f-b > .bmd-layout-content {
+ margin-bottom: 0; } }
+
+@media (min-width: 768px) {
+ :not(.bmd-drawer-out).bmd-drawer-in-md-up.bmd-drawer-f-l > .bmd-layout-header {
+ width: calc(100% - 240px);
+ margin-left: 240px; }
+ :not(.bmd-drawer-out).bmd-drawer-in-md-up.bmd-drawer-f-l > .bmd-layout-drawer {
+ -webkit-transform: translateX(0);
+ -ms-transform: translateX(0);
+ -o-transform: translateX(0);
+ transform: translateX(0); }
+ :not(.bmd-drawer-out).bmd-drawer-in-md-up.bmd-drawer-f-l > .bmd-layout-content {
+ margin-left: 240px; }
+ :not(.bmd-drawer-out).bmd-drawer-in-md-up.bmd-drawer-f-r > .bmd-layout-header {
+ width: calc(100% - 240px);
+ margin-right: 240px; }
+ :not(.bmd-drawer-out).bmd-drawer-in-md-up.bmd-drawer-f-r > .bmd-layout-drawer {
+ -webkit-transform: translateX(0);
+ -ms-transform: translateX(0);
+ -o-transform: translateX(0);
+ transform: translateX(0); }
+ :not(.bmd-drawer-out).bmd-drawer-in-md-up.bmd-drawer-f-r > .bmd-layout-content {
+ margin-right: 240px; } }
+
+@media (min-width: 768px) {
+ :not(.bmd-drawer-out).bmd-drawer-in-md-up.bmd-drawer-f-t > .bmd-layout-header {
+ margin-top: 100px; }
+ :not(.bmd-drawer-out).bmd-drawer-in-md-up.bmd-drawer-f-t > .bmd-layout-drawer {
+ -webkit-transform: translateY(0);
+ -ms-transform: translateY(0);
+ -o-transform: translateY(0);
+ transform: translateY(0); }
+ :not(.bmd-drawer-out).bmd-drawer-in-md-up.bmd-drawer-f-b > .bmd-layout-drawer {
+ -webkit-transform: translateY(0);
+ -ms-transform: translateY(0);
+ -o-transform: translateY(0);
+ transform: translateY(0); }
+ :not(.bmd-drawer-out).bmd-drawer-in-md-up.bmd-drawer-f-b > .bmd-layout-content {
+ margin-bottom: 100px; } }
+
+@media (max-width: 991px) {
+ :not(.bmd-drawer-out).bmd-drawer-overlay-md-down > .bmd-layout-backdrop .in {
+ visibility: visible;
+ background-color: rgba(0, 0, 0, 0.5); }
+ @supports (pointer-events: auto) {
+ :not(.bmd-drawer-out).bmd-drawer-overlay-md-down > .bmd-layout-backdrop.in {
+ pointer-events: auto;
+ opacity: 1; } }
+ :not(.bmd-drawer-out).bmd-drawer-overlay-md-down.bmd-drawer-f-l > .bmd-layout-header,
+ :not(.bmd-drawer-out).bmd-drawer-overlay-md-down.bmd-drawer-f-l > .bmd-layout-content {
+ width: 100%;
+ margin-left: 0; }
+ :not(.bmd-drawer-out).bmd-drawer-overlay-md-down.bmd-drawer-f-r > .bmd-layout-header,
+ :not(.bmd-drawer-out).bmd-drawer-overlay-md-down.bmd-drawer-f-r > .bmd-layout-content {
+ width: 100%;
+ margin-right: 0; } }
+
+@media (max-width: 991px) {
+ :not(.bmd-drawer-out).bmd-drawer-overlay-md-down > .bmd-layout-backdrop .in {
+ visibility: visible;
+ background-color: rgba(0, 0, 0, 0.5); }
+ @supports (pointer-events: auto) {
+ :not(.bmd-drawer-out).bmd-drawer-overlay-md-down > .bmd-layout-backdrop.in {
+ pointer-events: auto;
+ opacity: 1; } }
+ :not(.bmd-drawer-out).bmd-drawer-overlay-md-down.bmd-drawer-f-t > .bmd-layout-header {
+ margin-top: 0; }
+ :not(.bmd-drawer-out).bmd-drawer-overlay-md-down.bmd-drawer-f-b > .bmd-layout-content {
+ margin-bottom: 0; } }
+
+@media (min-width: 992px) {
+ :not(.bmd-drawer-out).bmd-drawer-in-lg-up.bmd-drawer-f-l > .bmd-layout-header {
+ width: calc(100% - 240px);
+ margin-left: 240px; }
+ :not(.bmd-drawer-out).bmd-drawer-in-lg-up.bmd-drawer-f-l > .bmd-layout-drawer {
+ -webkit-transform: translateX(0);
+ -ms-transform: translateX(0);
+ -o-transform: translateX(0);
+ transform: translateX(0); }
+ :not(.bmd-drawer-out).bmd-drawer-in-lg-up.bmd-drawer-f-l > .bmd-layout-content {
+ margin-left: 240px; }
+ :not(.bmd-drawer-out).bmd-drawer-in-lg-up.bmd-drawer-f-r > .bmd-layout-header {
+ width: calc(100% - 240px);
+ margin-right: 240px; }
+ :not(.bmd-drawer-out).bmd-drawer-in-lg-up.bmd-drawer-f-r > .bmd-layout-drawer {
+ -webkit-transform: translateX(0);
+ -ms-transform: translateX(0);
+ -o-transform: translateX(0);
+ transform: translateX(0); }
+ :not(.bmd-drawer-out).bmd-drawer-in-lg-up.bmd-drawer-f-r > .bmd-layout-content {
+ margin-right: 240px; } }
+
+@media (min-width: 992px) {
+ :not(.bmd-drawer-out).bmd-drawer-in-lg-up.bmd-drawer-f-t > .bmd-layout-header {
+ margin-top: 100px; }
+ :not(.bmd-drawer-out).bmd-drawer-in-lg-up.bmd-drawer-f-t > .bmd-layout-drawer {
+ -webkit-transform: translateY(0);
+ -ms-transform: translateY(0);
+ -o-transform: translateY(0);
+ transform: translateY(0); }
+ :not(.bmd-drawer-out).bmd-drawer-in-lg-up.bmd-drawer-f-b > .bmd-layout-drawer {
+ -webkit-transform: translateY(0);
+ -ms-transform: translateY(0);
+ -o-transform: translateY(0);
+ transform: translateY(0); }
+ :not(.bmd-drawer-out).bmd-drawer-in-lg-up.bmd-drawer-f-b > .bmd-layout-content {
+ margin-bottom: 100px; } }
+
+@media (max-width: 1199px) {
+ :not(.bmd-drawer-out).bmd-drawer-overlay-lg-down > .bmd-layout-backdrop .in {
+ visibility: visible;
+ background-color: rgba(0, 0, 0, 0.5); }
+ @supports (pointer-events: auto) {
+ :not(.bmd-drawer-out).bmd-drawer-overlay-lg-down > .bmd-layout-backdrop.in {
+ pointer-events: auto;
+ opacity: 1; } }
+ :not(.bmd-drawer-out).bmd-drawer-overlay-lg-down.bmd-drawer-f-l > .bmd-layout-header,
+ :not(.bmd-drawer-out).bmd-drawer-overlay-lg-down.bmd-drawer-f-l > .bmd-layout-content {
+ width: 100%;
+ margin-left: 0; }
+ :not(.bmd-drawer-out).bmd-drawer-overlay-lg-down.bmd-drawer-f-r > .bmd-layout-header,
+ :not(.bmd-drawer-out).bmd-drawer-overlay-lg-down.bmd-drawer-f-r > .bmd-layout-content {
+ width: 100%;
+ margin-right: 0; } }
+
+@media (max-width: 1199px) {
+ :not(.bmd-drawer-out).bmd-drawer-overlay-lg-down > .bmd-layout-backdrop .in {
+ visibility: visible;
+ background-color: rgba(0, 0, 0, 0.5); }
+ @supports (pointer-events: auto) {
+ :not(.bmd-drawer-out).bmd-drawer-overlay-lg-down > .bmd-layout-backdrop.in {
+ pointer-events: auto;
+ opacity: 1; } }
+ :not(.bmd-drawer-out).bmd-drawer-overlay-lg-down.bmd-drawer-f-t > .bmd-layout-header {
+ margin-top: 0; }
+ :not(.bmd-drawer-out).bmd-drawer-overlay-lg-down.bmd-drawer-f-b > .bmd-layout-content {
+ margin-bottom: 0; } }
+
+@media (min-width: 1200px) {
+ :not(.bmd-drawer-out).bmd-drawer-in-xl-up.bmd-drawer-f-l > .bmd-layout-header {
+ width: calc(100% - 240px);
+ margin-left: 240px; }
+ :not(.bmd-drawer-out).bmd-drawer-in-xl-up.bmd-drawer-f-l > .bmd-layout-drawer {
+ -webkit-transform: translateX(0);
+ -ms-transform: translateX(0);
+ -o-transform: translateX(0);
+ transform: translateX(0); }
+ :not(.bmd-drawer-out).bmd-drawer-in-xl-up.bmd-drawer-f-l > .bmd-layout-content {
+ margin-left: 240px; }
+ :not(.bmd-drawer-out).bmd-drawer-in-xl-up.bmd-drawer-f-r > .bmd-layout-header {
+ width: calc(100% - 240px);
+ margin-right: 240px; }
+ :not(.bmd-drawer-out).bmd-drawer-in-xl-up.bmd-drawer-f-r > .bmd-layout-drawer {
+ -webkit-transform: translateX(0);
+ -ms-transform: translateX(0);
+ -o-transform: translateX(0);
+ transform: translateX(0); }
+ :not(.bmd-drawer-out).bmd-drawer-in-xl-up.bmd-drawer-f-r > .bmd-layout-content {
+ margin-right: 240px; } }
+
+@media (min-width: 1200px) {
+ :not(.bmd-drawer-out).bmd-drawer-in-xl-up.bmd-drawer-f-t > .bmd-layout-header {
+ margin-top: 100px; }
+ :not(.bmd-drawer-out).bmd-drawer-in-xl-up.bmd-drawer-f-t > .bmd-layout-drawer {
+ -webkit-transform: translateY(0);
+ -ms-transform: translateY(0);
+ -o-transform: translateY(0);
+ transform: translateY(0); }
+ :not(.bmd-drawer-out).bmd-drawer-in-xl-up.bmd-drawer-f-b > .bmd-layout-drawer {
+ -webkit-transform: translateY(0);
+ -ms-transform: translateY(0);
+ -o-transform: translateY(0);
+ transform: translateY(0); }
+ :not(.bmd-drawer-out).bmd-drawer-in-xl-up.bmd-drawer-f-b > .bmd-layout-content {
+ margin-bottom: 100px; } }
+
+:not(.bmd-drawer-out).bmd-drawer-overlay-xl-down > .bmd-layout-backdrop .in {
+ visibility: visible;
+ background-color: rgba(0, 0, 0, 0.5); }
+
+@supports (pointer-events: auto) {
+ :not(.bmd-drawer-out).bmd-drawer-overlay-xl-down > .bmd-layout-backdrop.in {
+ pointer-events: auto;
+ opacity: 1; } }
+
+:not(.bmd-drawer-out).bmd-drawer-overlay-xl-down.bmd-drawer-f-l > .bmd-layout-header,
+:not(.bmd-drawer-out).bmd-drawer-overlay-xl-down.bmd-drawer-f-l > .bmd-layout-content {
+ width: 100%;
+ margin-left: 0; }
+
+:not(.bmd-drawer-out).bmd-drawer-overlay-xl-down.bmd-drawer-f-r > .bmd-layout-header,
+:not(.bmd-drawer-out).bmd-drawer-overlay-xl-down.bmd-drawer-f-r > .bmd-layout-content {
+ width: 100%;
+ margin-right: 0; }
+
+:not(.bmd-drawer-out).bmd-drawer-overlay-xl-down > .bmd-layout-backdrop .in {
+ visibility: visible;
+ background-color: rgba(0, 0, 0, 0.5); }
+
+@supports (pointer-events: auto) {
+ :not(.bmd-drawer-out).bmd-drawer-overlay-xl-down > .bmd-layout-backdrop.in {
+ pointer-events: auto;
+ opacity: 1; } }
+
+:not(.bmd-drawer-out).bmd-drawer-overlay-xl-down.bmd-drawer-f-t > .bmd-layout-header {
+ margin-top: 0; }
+
+:not(.bmd-drawer-out).bmd-drawer-overlay-xl-down.bmd-drawer-f-b > .bmd-layout-content {
+ margin-bottom: 0; }
+
+.ripple {
+ position: relative; }
+
+.ripple-container {
+ position: absolute;
+ top: 0;
+ left: 0;
+ z-index: 1;
+ width: 100%;
+ height: 100%;
+ overflow: hidden;
+ pointer-events: none;
+ border-radius: inherit; }
+ .ripple-container .ripple-decorator {
+ position: absolute;
+ width: 20px;
+ height: 20px;
+ margin-top: -10px;
+ margin-left: -10px;
+ pointer-events: none;
+ background-color: rgba(0, 0, 0, 0.05);
+ border-radius: 100%;
+ opacity: 0;
+ -webkit-transform: scale(1);
+ -ms-transform: scale(1);
+ -o-transform: scale(1);
+ transform: scale(1);
+ -webkit-transform-origin: 50%;
+ -ms-transform-origin: 50%;
+ -o-transform-origin: 50%;
+ transform-origin: 50%; }
+ .ripple-container .ripple-decorator.ripple-on {
+ opacity: 0.1;
+ -webkit-transition: opacity 0.15s ease-in 0s, -webkit-transform 0.5s cubic-bezier(0.4, 0, 0.2, 1) 0.1s;
+ transition: opacity 0.15s ease-in 0s, -webkit-transform 0.5s cubic-bezier(0.4, 0, 0.2, 1) 0.1s;
+ -o-transition: opacity 0.15s ease-in 0s, transform 0.5s cubic-bezier(0.4, 0, 0.2, 1) 0.1s, -o-transform 0.5s cubic-bezier(0.4, 0, 0.2, 1) 0.1s;
+ transition: opacity 0.15s ease-in 0s, transform 0.5s cubic-bezier(0.4, 0, 0.2, 1) 0.1s;
+ transition: opacity 0.15s ease-in 0s, transform 0.5s cubic-bezier(0.4, 0, 0.2, 1) 0.1s, -webkit-transform 0.5s cubic-bezier(0.4, 0, 0.2, 1) 0.1s, -o-transform 0.5s cubic-bezier(0.4, 0, 0.2, 1) 0.1s; }
+ .ripple-container .ripple-decorator.ripple-out {
+ opacity: 0;
+ -webkit-transition: opacity 0.1s linear 0s !important;
+ -o-transition: opacity 0.1s linear 0s !important;
+ transition: opacity 0.1s linear 0s !important; }
+
+/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm1peGlucy9fdHlwZS5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19ub3JtYWxpemUuc2NzcyIsImJvb3RzdHJhcC1tYXRlcmlhbC1kZXNpZ24uY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19wcmludC5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19yZWJvb3Quc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fdmFyaWFibGVzLnNjc3MiLCJ2YXJpYWJsZXMvYm9vdHN0cmFwL190eXBlLnNjc3MiLCJ2YXJpYWJsZXMvX2NvbG9ycy5zY3NzIiwidmFyaWFibGVzL2Jvb3RzdHJhcC9fYm9keS5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9faG92ZXIuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX3RhYi1mb2N1cy5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL190eXBlLnNjc3MiLCJ2YXJpYWJsZXMvYm9vdHN0cmFwL19zcGFjaW5nLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19saXN0cy5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19pbWFnZXMuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2ltYWdlLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19ib3JkZXItcmFkaXVzLnNjc3MiLCJ2YXJpYWJsZXMvYm9vdHN0cmFwL19jb21wb25lbnRzLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX21peGlucy5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19jb2RlLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2dyaWQuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2dyaWQuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2JyZWFrcG9pbnRzLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19ncmlkLWZyYW1ld29yay5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL190YWJsZXMuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX3RhYmxlLXJvdy5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19mb3Jtcy5zY3NzIiwidmFyaWFibGVzL2Jvb3RzdHJhcC9fZm9ybXMuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2Zvcm1zLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2J1dHRvbnMuc2NzcyIsInZhcmlhYmxlcy9ib290c3RyYXAvX2J1dHRvbnMuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2J1dHRvbnMuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fYW5pbWF0aW9uLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2Ryb3Bkb3duLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19uYXYtZGl2aWRlci5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fcmVzZXQtZmlsdGVyLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2J1dHRvbi1ncm91cC5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fY2xlYXJmaXguc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9faW5wdXQtZ3JvdXAuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fY3VzdG9tLWZvcm1zLnNjc3MiLCJ2YXJpYWJsZXMvYm9vdHN0cmFwL19jdXN0b20tZm9ybXMuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fbmF2LnNjc3MiLCJ2YXJpYWJsZXMvYm9vdHN0cmFwL19uYXYuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fbmF2YmFyLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2NhcmQuc2NzcyIsInZhcmlhYmxlcy9ib290c3RyYXAvX2NhcmQuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2NhcmRzLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2JyZWFkY3J1bWIuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fcGFnaW5hdGlvbi5zY3NzIiwidmFyaWFibGVzL2Jvb3RzdHJhcC9fcGFnaW5hdGlvbi5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fcGFnaW5hdGlvbi5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL190YWdzLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL190YWcuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fanVtYm90cm9uLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2FsZXJ0LnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19hbGVydC5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19wcm9ncmVzcy5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fZ3JhZGllbnRzLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19wcm9ncmVzcy5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19tZWRpYS5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19saXN0LWdyb3VwLnNjc3MiLCJ2YXJpYWJsZXMvYm9vdHN0cmFwL19saXN0LWdyb3VwLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19saXN0LWdyb3VwLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX3Jlc3BvbnNpdmUtZW1iZWQuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fY2xvc2Uuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fbW9kYWwuc2NzcyIsInZhcmlhYmxlcy9ib290c3RyYXAvX21vZGFscy5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL190b29sdGlwLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19yZXNldC10ZXh0LnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX3BvcG92ZXIuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fY2Fyb3VzZWwuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy91dGlsaXRpZXMvX2JhY2tncm91bmQuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2JhY2tncm91bmQtdmFyaWFudC5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3V0aWxpdGllcy9fY2xlYXJmaXguc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy91dGlsaXRpZXMvX2Rpc3BsYXkuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy91dGlsaXRpZXMvX2ZsZXguc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy91dGlsaXRpZXMvX3B1bGxzLnNjc3MiLCJfY29yZS1ib290c3RyYXAuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy91dGlsaXRpZXMvX3NjcmVlbnJlYWRlcnMuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX3NjcmVlbi1yZWFkZXIuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy91dGlsaXRpZXMvX3NwYWNpbmcuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy91dGlsaXRpZXMvX3RleHQuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX3RleHQtdHJ1bmNhdGUuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX3RleHQtZW1waGFzaXMuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX3RleHQtaGlkZS5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3V0aWxpdGllcy9fdmlzaWJpbGl0eS5zY3NzIiwiX3JlYm9vdC5zY3NzIiwiX3ZhcmlhYmxlcy5zY3NzIiwiX2xheW91dC5zY3NzIiwibWl4aW5zL19hbmltYXRpb25zLnNjc3MiLCJfYnV0dG9ucy5zY3NzIiwibWl4aW5zL19idXR0b25zLnNjc3MiLCJtaXhpbnMvX2hvdmVyLnNjc3MiLCJtaXhpbnMvX2Zvcm1zLnNjc3MiLCJfY2hlY2tib3hlcy5zY3NzIiwiX2N1c3RvbS1mb3Jtcy5zY3NzIiwiX3N3aXRjaGVzLnNjc3MiLCJtaXhpbnMvX3V0aWxpdGllcy5zY3NzIiwiX3JhZGlvcy5zY3NzIiwiX2Zvcm1zLnNjc3MiLCJfaW5wdXQtZ3JvdXAuc2NzcyIsIl9saXN0LWdyb3VwLnNjc3MiLCJfdGFibGVzLnNjc3MiLCJfbmF2LnNjc3MiLCJtaXhpbnMvX25hdnMuc2NzcyIsIl9uYXZiYXIuc2NzcyIsIl9hbGVydHMuc2NzcyIsIl9wcm9ncmVzcy5zY3NzIiwiX3BhZ2luYXRpb24uc2NzcyIsIl90eXBlLnNjc3MiLCJfY2FyZHMuc2NzcyIsIl9tb2RhbC5zY3NzIiwiX2Ryb3Bkb3duLnNjc3MiLCJ2YXJpYWJsZXMvX21lbnUuc2NzcyIsIl9kcmF3ZXIuc2NzcyIsIm1peGlucy9fZHJhd2VyLnNjc3MiLCJ2YXJpYWJsZXMvX2RyYXdlci5zY3NzIiwibWl4aW5zL19sYXlvdXQuc2NzcyIsIl9yaXBwbGVzLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBT0E7RUFDRSxtQkFBbUI7RUFDbkIsb0JBQW9CLEVBQ3JCOztBQ1ZELDRFQUE0RTtBQU81RTtFQUNFLHdCQUF3QjtFQUN4QiwyQkFBMkI7RUFDM0IsK0JBQStCLEVBQ2hDOztBQU1EO0VBQ0UsVUFBVSxFQUNYOztBQVdEOzs7Ozs7Ozs7Ozs7RUFZRSxlQUFlLEVBQ2hCOztBQU1EOzs7O0VBSUUsc0JBQXNCLEVBQ3ZCOztBQU1EO0VBQ0UsY0FBYztFQUNkLFVBQVUsRUFDWDs7QUFNRDtFQUNFLHlCQUF5QixFQUMxQjs7QUFPRDs7RUFFRSxjQUFjLEVBQ2Y7O0FBU0Q7RUFDRSw4QkFBOEIsRUFDL0I7O0FBT0Q7O0VBRUUsaUJBQWlCLEVBQ2xCOztBQVVEO0VBQ0Usb0JBQW9CO0VBQ3BCLDJCQUEyQjtFQUMzQixrQ0FBa0MsRUFDbkM7O0FBTUQ7O0VBRUUscUJBQXFCLEVBQ3RCOztBQU1EOztFQUVFLG9CQUFvQixFQUNyQjs7QUFNRDtFQUNFLG1CQUFtQixFQUNwQjs7QUFPRDtFQUNFLGVBQWU7RUFDZixpQkFBaUIsRUFDbEI7O0FBTUQ7RUFDRSx1QkFBdUI7RUFDdkIsWUFBWSxFQUNiOztBQU1EO0VBQ0UsZUFBZSxFQUNoQjs7QUFPRDs7RUFFRSxlQUFlO0VBQ2YsZUFBZTtFQUNmLG1CQUFtQjtFQUNuQix5QkFBeUIsRUFDMUI7O0FBRUQ7RUFD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RVBoQjtFQUtDO0lGa0JSLFlBQXVELEVFaEI5QztFQUZEO0lGa0JSLGdCQUErQixFRWhCdEI7RUFGRDtJRmtCUixpQkFBK0IsRUVoQnRCO0VBRkQ7SUZrQlIsV0FBK0IsRUVoQnRCO0VBRkQ7SUZrQlIsaUJBQStCLEVFaEJ0QjtFQUZEO0lGa0JSLGlCQUErQixFRWhCdEI7RUFGRDtJRmtCUixXQUErQixFRWhCdEI7RUFGRDtJRmtCUixpQkFBK0IsRUVoQnRCO0VBRkQ7SUZrQlIsaUJBQStCLEVFaEJ0QjtFQUZEO0lGa0JSLFdBQStCLEVFaEJ0QjtFQUZEO0lGa0JSLGlCQUErQixFRWhCdEI7RUFGRDtJRmtCUixpQkFBK0IsRUVoQnRCO0VBRkQ7SUZrQlIsWUFBK0IsRUVoQnRCO0VBRkQ7SUZjUixXQUFzRCxFRVo3QztFQUZEO0lGY1IsZUFBOEIsRUVackI7RUFGRDtJRmNSLGdCQUE4QixFRVpyQjtFQUZEO0lGY1IsVUFBOEIsRUVackI7RUFGRDtJRmNSLGdCQUE4QixFRVpyQjtFQUZEO0lGY1IsZ0JBQThCLEVFWnJCO0VBRkQ7SUZjUixVQUE4QixFRVpyQjtFQUZEO0lGY1IsZ0JBQThCLEVFWnJCO0VBRkQ7SUZjUixnQkFBOEIsRUVackI7RUFGRDtJRmNSLFVBQThCLEVFWnJCO0VBRkQ7SUZjUixnQkFBOEIsRUVackI7RUFGRDtJRmNSLGdCQUE4QixFRVpyQjtFQUZEO0lGY1IsV0FBOEIsRUVackI7RUFPRDtJRkNSLGdCQUF1QixFRUNkO0VBRkQ7SUZDUixzQkFBdUIsRUVDZDtFQUZEO0lGQ1IsdUJBQXVCLEVFQ2Q7RUFGRDtJRkNSLGlCQUF1QixFRUNkO0VBRkQ7SUZDUix1QkFBdUIsRUVDZDtFQUZEO0lGQ1IsdUJBQXVCLEVFQ2Q7RUFGRDtJRkNSLGlCQUF1QixFRUNkO0VBRkQ7SUZDUix1QkFBdUIsRUVDZDtFQUZEO0lGQ1IsdUJBQXVCLEVFQ2Q7RUFGRDtJRkNSLGlCQUF1QixFRUNkO0VBRkQ7SUZDUix1QkFBdUIsRUVDZDtFQUZEO0lGQ1IsdUJBQXVCLEVFQ2QsRUFBQTs7QURuQlA7RUNYSTtJ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d0N3QjtZWHhDeEIsaUJXd0N3QixFQUN6Qjs7QUFJSDs7O0VBRUUscUJBQXFCLEVBQ3RCOztBQU9EO0VFcERFLFkxQnFRbUM7RTBCcFFuQywwQnhCa0tnQjtFd0JqS2hCLHNCeEJpS2dCO0VXdEtkLHlCWThCaUM7VVo5QmpDLGlCWThCaUMsRUQyQnBDO0VBRkQ7SUU5Q0ksWTFCK1BpQztJMEI5UGpDLDBCQVZ3QjtJQVdwQixzQkFWZ0IsRXRCR0M7RW9CbUR6QjtJRXZDSSxZMUJ3UGlDO0kwQnZQakMsMEJBakJ3QjtJQWtCcEIsc0JBakJnQixFQWtCckI7RUZvQ0g7O0lFL0JJLFkxQmdQaUM7STBCL09qQywwQkF6QndCO0lBMEJwQixzQkF6QmdCO0lBMkJwQix1QkFBdUI7SWI1QnZCLHlCWStCaUM7WVovQmpDLGlCWStCaUMsRUNPbEM7SUZpQkg7Ozs7TUVyQk0sWTFCc08rQjtNMEJyTy9CLDBCQUF3QjtNQUNwQixzQkFBb0IsRUFDekI7RUZrQkw7SUVYTSwwQnhCMEhZO0l3QnpIUixzQnhCeUhRLEV3QnhIYjtFRlNMO0lFUE0sMEJ4QnNIWTtJd0JySFIsc0J4QnFIUSxFRWxLTzs7QW9Cc0R6QjtFRXZERSwyQnhCeVZVO0V3QnhWViwwQnZCTmtDO0V1Qk9sQyxtQjFCeVFtQztFYTlRakMseUJZOEJpQztVWjlCakMsaUJZOEJpQyxFRDhCcEM7RUFGRDtJRWpESSwyQnhCbVZRO0l3QmxWUiwwQkFWd0I7SUFXcEIsc0JBVmdCLEV0QkdDO0VvQnNEekI7SUUxQ0ksMkJ4QjRVUTtJd0IzVVIsMEJBakJ3QjtJQWtCcEIsc0JBakJnQixFQWtCckI7RUZ1Q0g7O0lFbENJLDJCeEJvVVE7SXdCblVSLDBCQXpCd0I7SUEwQnBCLHNCQXpCZ0I7SUEyQnBCLHVCQUF1QjtJYjVCdkIseUJZK0JpQztZWi9CakMsaUJZK0JpQyxFQ09sQztJRm9CSDs7OztNRXhCTSwyQnhCMFRNO013QnpUTiwwQkFBd0I7TUFDcEIsc0JBQW9CLEVBQ3pCO0VGcUJMO0lFZE0sMEJ2QjlDOEI7SXVCK0MxQixtQjFCaU8yQixFMEJoT2hDO0VGWUw7SUVWTSwwQnZCbEQ4QjtJdUJtRDFCLG1CMUI2TjJCLEVJMVFaOztBb0J5RHpCO0VFMURFLFkxQjZRbUM7RTBCNVFuQywwQnhCZ0lzQjtFd0IvSHRCLHNCeEIrSHNCO0VXcElwQix5Qlk4QmlDO1VaOUJqQyxpQlk4QmlDLEVEaUNwQztFQUZEO0lFcERJLFkxQnVRaUM7STBCdFFqQywwQkFWd0I7SUFXcEIsc0JBVmdCLEV0QkdDO0VvQnlEekI7SUU3Q0ksWTFCZ1FpQztJMEIvUGpDLDBCQWpCd0I7SUFrQnBCLHNCQWpCZ0IsRUFrQnJCO0VGMENIOztJRXJDSSxZMUJ3UGlDO0kwQnZQakMsMEJBekJ3QjtJQTBCcEIsc0JBekJnQjtJQTJCcEIsdUJBQXVCO0liNUJ2Qix5QlkrQmlDO1laL0JqQyxpQlkrQmlDLEVDT2xDO0lGdUJIOzs7O01FM0JNLFkxQjhPK0I7TTBCN08vQiwwQkFBd0I7TUFDcEIsc0JBQW9CLEVBQ3pCO0VGd0JMO0lFakJNLDBCeEJ3RmtCO0l3QnZGZCxzQnhCdUZjLEV3QnRGbkI7RUZlTDtJRWJNLDBCeEJvRmtCO0l3Qm5GZCxzQnhCbUZjLEVFaElDOztBb0I0RHpCO0VFN0RFLFkxQmlSbUM7RTBCaFJuQywwQnhCbUxpQjtFd0JsTGpCLHNCeEJrTGlCO0VXdkxmLHlCWThCaUM7VVo5QmpDLGlCWThCaUMsRURvQ3BDO0VBRkQ7SUV2REksWTFCMlFpQztJMEIxUWpDLDBCQVZ3QjtJQVdwQixzQkFWZ0IsRXRCR0M7RW9CNER6QjtJRWhESSxZMUJvUWlDO0kwQm5RakMsMEJBakJ3QjtJQWtCcEIsc0JBakJnQixFQWtCckI7RUY2Q0g7O0lFeENJLFkxQjRQaUM7STBCM1BqQywwQkF6QndCO0lBMEJwQixzQkF6QmdCO0lBMkJwQix1QkFBdUI7SWI1QnZCLHlCWStCaUM7WVovQmpDLGlCWStCaUMsRUNPbEM7SUYwQkg7Ozs7TUU5Qk0sWTFCa1ArQjtNMEJqUC9CLDBCQUF3QjtNQUNwQixzQkFBb0IsRUFDekI7RUYyQkw7SUVwQk0sMEJ4QjJJYTtJd0IxSVQsc0J4QjBJUyxFd0J6SWQ7RUZrQkw7SUVoQk0sMEJ4QnVJYTtJd0J0SVQsc0J4QnNJUyxFRW5MTTs7QW9CK0R6QjtFRWhFRSxZMUJxUm1DO0UwQnBSbkMsMEJ4QnlSdUI7RXdCeFJ2QixzQnhCd1J1QjtFVzdSckIseUJZOEJpQztVWjlCakMsaUJZOEJpQyxFRHVDcEM7RUFGRDtJRTFESSxZMUIrUWlDO0kwQjlRakMsMEJBVndCO0lBV3BCLHNCQVZnQixFdEJHQztFb0IrRHpCO0lFbkRJLFkxQndRaUM7STBCdlFqQywwQkFqQndCO0lBa0JwQixzQkFqQmdCLEVBa0JyQjtFRmdESDs7SUUzQ0ksWTFCZ1FpQztJMEIvUGpDLDBCQXpCd0I7SUEwQnBCLHNCQXpCZ0I7SUEyQnBCLHVCQUF1QjtJYjVCdkIseUJZK0JpQztZWi9CakMsaUJZK0JpQyxFQ09sQztJRjZCSDs7OztNRWpDTSxZMUJzUCtCO00wQnJQL0IsMEJBQXdCO01BQ3BCLHNCQUFvQixFQUN6QjtFRjhCTDtJRXZCTSwwQnhCaVBtQjtJd0JoUGYsc0J4QmdQZSxFd0IvT3BCO0VGcUJMO0lFbkJNLDBCeEI2T21CO0l3QjVPZixzQnhCNE9lLEVFelJBOztBb0JrRXpCO0VFbkVFLFkxQnlSbUM7RTBCeFJuQywwQnhCMEJlO0V3QnpCZixzQnhCeUJlO0VXOUJiLHlCWThCaUM7VVo5QmpDLGlCWThCaUMsRUQwQ3BDO0VBRkQ7SUU3REksWTFCbVJpQztJMEJsUmpDLDBCQVZ3QjtJQVdwQixzQkFWZ0IsRXRCR0M7RW9Ca0V6QjtJRXRESSxZMUI0UWlDO0kwQjNRakMsMEJBakJ3QjtJQWtCcEIsc0JBakJnQixFQWtCckI7RUZtREg7O0lFOUNJLFkxQm9RaUM7STBCblFqQywwQkF6QndCO0lBMEJwQixzQkF6QmdCO0lBMkJwQix1QkFBdUI7SWI1QnZCLHlCWStCaUM7WVovQmpDLGlCWStCaUMsRUNPbEM7SUZnQ0g7Ozs7TUVwQ00sWTFCMFArQjtNMEJ6UC9CLDBCQUF3QjtNQUNwQixzQkFBb0IsRUFDekI7RUZpQ0w7SUUxQk0sMEJ4QmRXO0l3QmVQLHNCeEJmTyxFd0JnQlo7RUZ3Qkw7SUV0Qk0sMEJ4QmxCVztJd0JtQlAsc0J4Qm5CTyxFRTFCUTs7QW9CdUV6QjtFRXBCRSxleEIrR2dCO0V3QjlHaEIsdUJBQXVCO0VBQ3ZCLDhCQUE4QjtFQUM5QixzQnhCNEdnQixFc0J6RmpCO0VBRkQ7SUVkSSxZQUFZO0lBQ1osMEJ4QndHYztJd0J2R1Ysc0J4QnVHVSxFRWxLTztFb0J1RXpCO0lFUEksWUFBWTtJQUNaLDBCeEJpR2M7SXdCaEdWLHNCeEJnR1UsRXdCL0ZmO0VGSUg7O0lFQ0ksWUFBWTtJQUNaLDBCeEJ5RmM7SXdCeEZWLHNCeEJ3RlUsRXdCL0VmO0lGWkg7Ozs7TUVRTSxZQUFZO01BQ1osMEJBQXdCO01BQ3BCLHNCQUFvQixFQUN6QjtFRlhMO0lFa0JNLHNCQUFxQixFQUN0QjtFRm5CTDtJRXFCTSxzQkFBcUIsRXRCNUZGOztBb0IwRXpCO0VFdkJFLFkxQnVObUM7RTBCdE5uQyx1QkFBdUI7RUFDdkIsOEJBQThCO0VBQzlCLG1CMUJvTm1DLEV3QjlMcEM7RUFGRDtJRWpCSSxZQUFZO0lBQ1osdUIxQmdOaUM7STBCL003QixtQjFCK002QixFSTFRWjtFb0IwRXpCO0lFVkksWUFBWTtJQUNaLHVCMUJ5TWlDO0kwQnhNN0IsbUIxQndNNkIsRTBCdk1sQztFRk9IOztJRUZJLFlBQVk7SUFDWix1QjFCaU1pQztJMEJoTTdCLG1CMUJnTTZCLEUwQnZMbEM7SUZUSDs7OztNRUtNLFlBQVk7TUFDWiwwQkFBd0I7TUFDcEIsc0JBQW9CLEVBQ3pCO0VGUkw7SUVlTSxvQkFBcUIsRUFDdEI7RUZoQkw7SUVrQk0sb0JBQXFCLEV0QjVGRjs7QW9CNkV6QjtFRTFCRSxleEI2RXNCO0V3QjVFdEIsdUJBQXVCO0VBQ3ZCLDhCQUE4QjtFQUM5QixzQnhCMEVzQixFc0JqRHZCO0VBRkQ7SUVwQkksWUFBWTtJQUNaLDBCeEJzRW9CO0l3QnJFaEIsc0J4QnFFZ0IsRUVoSUM7RW9CNkV6QjtJRWJJLFlBQVk7SUFDWiwwQnhCK0RvQjtJd0I5RGhCLHNCeEI4RGdCLEV3QjdEckI7RUZVSDs7SUVMSSxZQUFZO0lBQ1osMEJ4QnVEb0I7SXdCdERoQixzQnhCc0RnQixFd0I3Q3JCO0lGTkg7Ozs7TUVFTSxZQUFZO01BQ1osMEJBQXdCO01BQ3BCLHNCQUFvQixFQUN6QjtFRkxMO0lFWU0sc0JBQXFCLEVBQ3RCO0VGYkw7SUVlTSxzQkFBcUIsRXRCNUZGOztBb0JnRnpCO0VFN0JFLGV4QmdJaUI7RXdCL0hqQix1QkFBdUI7RUFDdkIsOEJBQThCO0VBQzlCLHNCeEI2SGlCLEVzQmpHbEI7RUFGRDtJRXZCSSxZQUFZO0lBQ1osMEJ4QnlIZTtJd0J4SFgsc0J4QndIVyxFRW5MTTtFb0JnRnpCO0lFaEJJLFlBQVk7SUFDWiwwQnhCa0hlO0l3QmpIWCxzQnhCaUhXLEV3QmhIaEI7RUZhSDs7SUVSSSxZQUFZO0lBQ1osMEJ4QjBHZTtJd0J6R1gsc0J4QnlHVyxFd0JoR2hCO0lGSEg7Ozs7TUVETSxZQUFZO01BQ1osMEJBQXdCO01BQ3BCLHNCQUFvQixFQUN6QjtFRkZMO0lFU00sc0JBQXFCLEVBQ3RCO0VGVkw7SUVZTSxzQkFBcUIsRXRCNUZGOztBb0JtRnpCO0VFaENFLGV4QnNPdUI7RXdCck92Qix1QkFBdUI7RUFDdkIsOEJBQThCO0VBQzlCLHNCeEJtT3VCLEVzQnBNeEI7RUFGRDtJRTFCSSxZQUFZO0lBQ1osMEJ4QitOcUI7SXdCOU5qQixzQnhCOE5pQixFRXpSQTtFb0JtRnpCO0lFbkJJLFlBQVk7SUFDWiwwQnhCd05xQjtJd0J2TmpCLHNCeEJ1TmlCLEV3QnROdEI7RUZnQkg7O0lFWEksWUFBWTtJQUNaLDBCeEJnTnFCO0l3Qi9NakIsc0J4QitNaUIsRXdCdE10QjtJRkFIOzs7O01FSk0sWUFBWTtNQUNaLDBCQUF3QjtNQUNwQixzQkFBb0IsRUFDekI7RUZDTDtJRU1NLHNCQUFxQixFQUN0QjtFRlBMO0lFU00sc0JBQXFCLEV0QjVGRjs7QW9Cc0Z6QjtFRW5DRSxleEJ6QmU7RXdCMEJmLHVCQUF1QjtFQUN2Qiw4QkFBOEI7RUFDOUIsc0J4QjVCZSxFc0I4RGhCO0VBRkQ7SUU3QkksWUFBWTtJQUNaLDBCeEJoQ2E7SXdCaUNU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WCxrQmpDakZZLEVpQ3NGYjtJQXBDTDs7OztNQWtDUSxXQUFXLEU3QjlIZDs7QThCOUNMO0VBQ0UsbUJBQW1CO0VBQ25CLGdCQUFnQjtFQUNoQixxQmxDbVY4QjtFa0NsVjlCLGdCQUFnQixFQUtqQjtFQVREO0lBT0ksa0JsQ2dWMEIsRWtDL1UzQjs7QUFHSDtFQUNFLG1CQUFtQjtFQUNuQixZQUFZO0VBQ1osV0FBVyxFQThCWjtFQWpDRDtJQU1JLFlsQ2tWOEM7SWtDalY5QywwQmxDa1ZpRDtJYXpXakQseUJiMFc4QztZYTFXOUMsaUJiMFc4QyxFa0NqVi9DO0VBVEg7SUFhSSw4RGxDK1UrRTtZa0MvVS9FLHNEbEMrVStFLEVrQzlVaEY7RUFkSDtJQWlCSSxZbEM2VTZDO0lrQzVVN0MsMEJsQzZVZ0Q7SWEvV2hELHlCYmdYNkM7WWFoWDdDLGlCYmdYNkMsRWtDNVU5QztFQXBCSDtJQXdCTSxvQmxDaVRzQztJa0NoVHRDLHVCbEM0VDJDLEVrQzNUNUM7RUExQkw7SUE2Qk0sZWxDeVQ4QztJa0N4VDlDLG9CbEMyU3NDLEVrQzFTdkM7O0FBUUw7RUFDRSxtQkFBbUI7RUFDbkIsY0FBYztFQUNkLFFBQVE7RUFDUixlQUFlO0VBQ2YsWWxDbVN3QztFa0NsU3hDLGFsQ2tTd0M7RWtDalN4QyxxQkFBcUI7RUFDckIsMEJBQWtCO0tBQWxCLHVCQUFrQjtNQUFsQixzQkFBa0I7VUFBbEIsa0JBQWtCO0VBQ2xCLHVCbENnU3dDO0VrQy9SeEMsNkJBQTZCO0VBQzdCLG1DQUFtQztFQUNuQyxpQ2xDOFIyQztVa0M5UjNDLHlCbEM4UjJDO0Vhald6QywrRGJrVzREO1VhbFc1RCx1RGJrVzRELEVrQzdSL0Q7O0FBTUQ7RXZCN0VJLHdCQ0c0QixFc0I2RTdCOztBQUhIO0VBTUksMk5sQ2tTOEIsRWtDalMvQjs7QUFQSDtFQVVJLDBCbEMrUnNDO0VrQzlSdEMsd0tsQytSb0M7RWFyWHBDLHlCYnNYMkM7VWF0WDNDLGlCYnNYMkMsRWtDOVI1Qzs7QUFPSDtFQUVJLG1CbEN1UnFCLEVrQ3RSdEI7O0FBSEg7RUFNSSxxS2xDb1IyQixFa0NuUjVCOztBQVNIO0VBRUksZ0JBQWdCLEVBV2pCO0VBYkg7SUFLTSxlQUFlO0lBQ2YsdUJsQ3dPMEI7SWtDdk8xQixZQUFZLEVBQ2I7RUFSTDtJQVdNLGVBQWUsRUFDaEI7O0FBWUw7RUFDRSxzQkFBc0I7RUFDdEIsZ0JBQWdCO0VBQ2hCLDJDbENpUHVDO0VrQ2hQdkMsMEJBQTBDO0VBQzFDLDJCaENnTlU7RWdDL01WLHVCQUF1QjtFQUN2QixvTkFBc0c7RUFDdEcsMEJBQTBCO0VBQzFCLGtDbENrUG9DO1VrQ2xQcEMsMEJsQ2tQb0M7RWtDalBwQyxzQ2hDMk1VO0VTOVZSLHdCQ0c0QjtFc0JtSjlCLHNCQUFzQjtFQUN0Qix5QkFBeUIsRUE0QjFCO0VBMUNEO0lBaUJJLHNCbENnUHNDO0lrQy9PdEMsY0FBYztJckJ6SmQsMEZieVlnRjtZYXpZaEYsa0ZieVlnRixFa0NwT2pGO0lBOUJIO01BMkJNLDJCaEMwTE07TWdDekxOLDhCaEN5TE0sRWdDeExQO0VBN0JMO0lBaUNJLDJCaENvTFE7SWdDbkxSLG9CbENnTHdDO0lrQy9LeEMsc0NoQ2tMUSxFZ0NqTFQ7RUFwQ0g7SUF3Q0ksV0FBVyxFQUNaOztBQUdIO0VBQ0Usc0JsQ3dNd0M7RWtDdk14Qyx5QmxDdU13QztFa0N0TXhDLGVsQ3NOOEIsRWtDaE4vQjs7QUFPRDtFQUNFLG1CQUFtQjtFQUNuQixzQkFBc0I7RUFDdEIsZ0JBQWdCO0VBQ2hCLGVsQ3VNbUM7RWtDdE1uQyxnQkFBZ0IsRUFDakI7O0FBRUQ7RUFDRSxpQmxDbU1rQztFa0NsTWxDLGdCQUFnQjtFQUNoQixVQUFVO0VBQ1YseUJBQWE7RUFDYixXQUFXLEVBS1o7RUFWRDtJckIzTUksOERiZ1prRTtZYWhabEUsc0RiZ1prRSxFa0M1TG5FOztBQUdIO0VBQ0UsbUJBQW1CO0VBQ25CLE9BQU87RUFDUCxTQUFTO0VBQ1QsUUFBUTtFQUNSLFdBQVc7RUFDWCxlbENpTG1DO0VrQ2hMbkMscUJsQ3FMOEI7RWtDcEw5QixpQkNqTzJCO0VEa08zQixZbENxTDhCO0VrQ3BMOUIsMEJBQWtCO0tBQWxCLHVCQUFrQjtNQUFsQixzQkFBa0I7VUFBbEIsa0JBQWtCO0VBQ2xCLDhCQ3hPMEI7RUR5TzFCLHFCbENxTDhCO0VXMVo1QixpQndCRHlCO0V0Qkd6Qix5QnNCSnlCO1V0Qkl6QixpQnNCSnlCLEVEc1E1QjtFQTNDRDtJQWtCTSwwQmxDc0xrQixFa0NyTG5CO0VBbkJMO0lBdUJJLG1CQUFtQjtJQUNuQixPQ3BQd0I7SURxUHhCLFNDclB3QjtJRHNQeEIsVUN0UHdCO0lEdVB4QixXQUFXO0lBQ1gsZUFBZTtJQUNmLGVsQzBKaUM7SWtDekpqQyxxQmxDOEo0QjtJa0M3SjVCLGlCQ3hQeUI7SUR5UHpCLFlsQzhKNEI7SWtDN0o1Qix1QmxDb0s0QjtJa0NuSzVCLHFCbEMrSjRCO0lXMVo1Qix1QnVCNFBnRixFQUNqRjtFQXBDSDtJQXdDTSxrQmxDbUtVLEVrQ2xLWDs7QUVqUUw7RUFDRSxnQkFBZ0I7RUFDaEIsaUJBQWlCO0VBQ2pCLGlCQUFpQixFQUNsQjs7QUFFRDtFQUNFLHNCQUFzQixFQWdCdkI7RUFqQkQ7SUFJSSxzQkFBc0IsRWhDUXJCO0VnQ1pMO0lBU0ksMkJsQzhVUSxFa0N2VVQ7SUFoQkg7TUFZTSwyQmxDMlVNO01rQzFVTixvQnBDdVVzQztNb0N0VXRDLDhCcEMrZHFDLEVJaGR0Qzs7QWdDUEw7RUFFSSxzQkFBc0IsRUFDdkI7O0FBSEg7O0VBT0ksa0JwQzJjZ0MsRW9DMWNqQzs7QUFRSDtFQUNFLDhCcEN3Y2dELEVvQ3paakQ7RUFoREQ7SUovQ0ksWUFBWTtJQUNaLGVBQWU7SUFDZixZQUFZLEVBQ2I7RUk0Q0g7SUFLSSxZQUFZO0lBRVosb0JwQzJDYyxFb0N0Q2Y7SUFaSDtNQVVNLG9CcEN1YitCLEVvQ3RiaEM7RUFYTDtJQWVJLGVBQWU7SUFDZixtQnBDbWJvQztJb0NsYnBDLDhCQUFnRDtJekJ4RGhELGtDQ0g0QjtJREk1QixpQ0NKNEIsRXdCeUU3QjtJQS9CSDtNQXFCTSwyRHBDb2I0QyxFSW5lN0M7SWdDMEJMO01BMEJRLDJCbEN1Ukk7TWtDdFJKLDhCQUE4QjtNQUM5Qiww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MkMzZDFDLGtCQUFrQjtFQUNsQixlekMySGdCO0V5QzFIaEIsc0JBQXNCO0VBQ3RCLDhCQ2xEeUI7RURtRHpCLHFCM0NrZXlDLEUyQzNkMUM7RUFmRDtJQVdJLGUzQzZEMEI7STJDNUQxQixzQ3pDMFNRO0l5Q3pTUixtQjNDaWV1QyxFSW5nQnRDOztBeUNwQkg7RUFDRSxtQkRBdUI7RUNDdkIsbUI3Q29Lb0IsRTZDbktyQjs7QUFJRztFbENxQkYsa0NYME0wQjtFV3pNMUIsK0JYeU0wQixFNkM3TnZCOztBQUdEO0VsQ0VGLG1DWHdOMEI7RVd2TjFCLGdDWHVOMEIsRTZDeE52Qjs7QUFkTDtFQUNFLG9CREN1QjtFQ0F2QixvQjdDcUtvQixFNkNwS3JCOztBQUlHO0VsQ3FCRixxQ0N0QjZCO0VEdUI3QixrQ0N2QjZCLEVpQ0cxQjs7QUFHRDtFbENFRixzQ0NSNkI7RURTN0IsbUNDVDZCLEVpQ1ExQjs7QUNaUDtFQUNFLHNCQUFzQjtFQUN0QixzQjlDK25COEI7RThDOW5COUIsZTlDNG5CNkI7RThDM25CN0Isa0I5QzRuQjhCO0U4QzNuQjlCLGVBQWU7RUFDZixZOUN1bkI4QjtFOEN0bkI5QixtQkFBbUI7RUFDbkIsb0JBQW9CO0VBQ3BCLHlCQUF5QjtFbkNWdkIsd0JDRzRCLEVrQ2MvQjtFQWhCRDtJQWNJLGNBQWMsRUFDZjs7QUFJSDtFQUNFLG1CQUFtQjtFQUNuQixVQUFVLEVBQ1g7O0FBSUQ7RUFFSSxZOUNrbUI0QjtFOENqbUI1QixzQkFBc0I7RUFDdEIsZ0JBQWdCLEUxQ1pmOztBMENxQkw7RUFDRSxxQjlDNGxCOEI7RThDM2xCOUIsb0I5QzJsQjhCO0VXcm9CNUIscUJYd29CNkIsRThDNWxCaEM7O0FBTUQ7RUNuREUsc0M3QytWVSxFNEMxU1g7RUFGRDtJQy9DTSxzQ0FBd0IsRTNDZ0J6Qjs7QTBDbUNMO0VDdkRFLDBCN0N5S2dCLEU0Q2hIakI7RUFGRDtJQ25ETSwwQkFBd0IsRTNDZ0J6Qjs7QTBDdUNMO0VDM0RFLDBCN0MwTGlCLEU0QzdIbEI7RUFGRDtJQ3ZETSwwQkFBd0IsRTNDZ0J6Qjs7QTBDMkNMO0VDL0RFLDBCN0N1SXNCLEU0Q3RFdkI7RUFGRDtJQzNETSwwQkFBd0IsRTNDZ0J6Qjs7QTBDK0NMO0VDbkVFLDBCN0NnU3VCLEU0QzNOeEI7RUFGRDtJQy9ETSwwQkFBd0IsRTNDZ0J6Qjs7QTBDbURMO0VDdkVFLDBCN0NpQ2UsRTRDd0NoQjtFQUZEO0lDbkVNLDBCQUF3QixFM0NnQnpCOztBNEN2Qkw7RUFDRSxtQkFBK0M7RUFDL0Msb0JoRHFpQm1DO0VnRHBpQm5DLHNDOUMrVlU7RVM5VlIsc0JYcU8wQixFZ0RoTzdCO0UvQm9DRztJK0I3Q0o7TUFPSSxtQmhEZ2lCaUMsRWdEOWhCcEMsRUFBQTs7QUFFRDtFQUNFLHNDQUF3QixFQUN6Qjs7QUFFRDtFQUNFLGlCQUFpQjtFQUNqQixnQkFBZ0I7RXJDYmQsaUJxQ2NzQixFQUN6Qjs7QUNmRDtFQUNFLGNqRDBxQmdDO0VpRHpxQmhDLHNCMUNEZ0M7RTBDRWhDLDhCQUE2QztFdENIM0Msd0JDRzRCLEVxQ0UvQjs7QUFHRDtFQUVFLGVBQWUsRUFDaEI7O0FBR0Q7RUFDRSxrQmpEOHBCZ0MsRWlEN3BCakM7O0FBT0Q7RUFDRSxvQkFBOEIsRUFTL0I7RUFWRDtJQUtJLG1CQUFtQjtJQUNuQixVQUFVO0lBQ1YsYUFBYTtJQUNiLGVBQWUsRUFDaEI7O0FBUUg7RUN6Q0UsMEJoRDBMaUI7RWdEekxqQixzQmxENmlCcUM7RWtENWlCckMsYWhEOFZVLEUrQ3JUWDtFQ3ZDQztJQUNFLDBCQUF3QixFQUN6QjtFQUNEO0lBQ0UsZUFBYSxFQUNkOztBRG1DSDtFQzVDRSwwQmhEdUlzQjtFZ0R0SXRCLHNCbERpakJxQztFa0RoakJyQyxhaEQ4VlUsRStDbFRYO0VDMUNDO0lBQ0UsMEJBQXdCLEVBQ3pCO0VBQ0Q7SUFDRSxlQUFhLEVBQ2Q7O0FEc0NIO0VDL0NFLDBCaERnU3VCO0VnRC9SdkIsc0JsRHNqQnFDO0VrRHJqQnJDLGFoRDhWVSxFK0MvU1g7RUM3Q0M7SUFDRSwwQkFBd0IsRUFDekI7RUFDRDtJQUNFLGVBQWEsRUFDZDs7QUR5Q0g7RUNsREUsMEJoRGlDZTtFZ0RoQ2Ysc0JsRDBqQnFDO0VrRHpqQnJDLGFoRDhWVSxFK0M1U1g7RUNoREM7SUFDRSwwQkFBd0IsRUFDekI7RUFDRDtJQUNFLGVBQWEsRUFDZDs7QUNSSDtFQUNFO0lBQU8sOEJBQWdDLEVBQUE7RUFDdkM7SUFBSyx5QkFBeUIsRUFBQSxFQUFBOztBQUZoQztFQUNFO0lBQU8sOEJBQWdDLEVBQUE7RUFDdkM7SUFBSyx5QkFBeUIsRUFBQSxFQUFBOztBQUZoQztFQUNFO0lBQU8sOEJBQWdDLEVBQUE7RUFDdkM7SUFBSyx5QkFBeUIsRUFBQSxFQUFBOztBQVFoQztFQUNFLGVBQWU7RUFDZixZQUFZO0VBQ1osZTVDWmdDO0U0Q2FoQyxzQjVDYmdDLEU0Q2NqQzs7QUFDRDtFQUVFLHVCbkRpckJnQztFbUQvcUJoQyxVQUFVO0VBRVYseUJBQWlCO0tBQWpCLHNCQUFpQjtVQUFqQixpQkFBaUI7RXhDdEJmLHdCQ0c0QixFdUNzQi9COztBQUdEO0VBQ0UsMEJuRHVxQm1DO0VtRHJxQm5DLFVBQVUsRUFDWDs7QUFDRDtFQUNFLDBCbkRrcUJtQztFV3pxQmpDLG9DQ3hCNEI7RUR5QjVCLGlDQ3pCNEIsRXVDaUMvQjs7QUFDRDtFQUNFLDBCbkQ4cEJtQztFV3pxQmpDLG9DQ3hCNEI7RUR5QjVCLGlDQ3pCNEIsRXVDcUMvQjs7QUFFRDtFeEM3QkkscUNDVjRCO0VEVzVCLGtDQ1g0QixFdUN5Qy9COztBQUNEO0V4Q2hDSSxxQ0NWNEI7RURXNUIsa0NDWDRCLEV1QzRDL0I7O0FBR0Q7RUFDRSx1Qm5EZ3BCZ0M7RVduc0I5Qix3QkNHNEI7RUNENUIsNkRib3NCa0Q7VWFwc0JsRCxxRGJvc0JrRCxFbURocEJyRDs7QUFDRDs7RUFFRSx1Qm5EMG9CZ0M7RVduc0I5Qix3QkNHNEI7RUNENUIscURib3NCa0QsRW1EMW9CckQ7O0FBR0Q7RUFDRTtJQUNFLHVCbkRrb0I4QjtJV25zQjlCLHdCQ0c0QjtJQ0Q1Qiw2RGJvc0JrRDtZYXBzQmxELHFEYm9zQmtELEVtRGxvQm5EO0VBQ0Q7SUFDRSxzQkFBc0I7SUFDdEIsZTVDdEU4QjtJNEN1RTlCLHFCQUFxQjtJQUNyQiwwQm5EMm5CaUM7SVd6cUJqQyxvQ0N4QjRCO0lEeUI1QixpQ0N6QjRCLEV1Q3dFN0I7RUFDRDtJeEMvREUscUNDVjRCO0lEVzVCLGtDQ1g0QixFdUMyRTdCLEVBQUE7O0FBUUg7RUNqREUsOE1BQWlDO0VBQWpDLHNNQUFpQztFRG1EakMsdUM1Q3ZGZ0M7VTRDdUZoQywrQjVDdkZnQyxFNEN3RmpDOztBQUNEO0VDckRFLHNNQUFpQztFRHVEakMsK0I1QzNGZ0MsRTRDNEZqQzs7QUFDRDtFQ3pERSxzTUFBaUM7RUQyRGpDLCtCNUMvRmdDLEU0Q2dHakM7O0FBRUQ7RUFDRTtJQy9EQSw4TUFBaUM7SUFBakMseU1BQWlDO0lBQWpDLHNNQUFpQztJRGlFL0IsdUM1Q3JHOEI7WTRDcUc5QiwrQjVDckc4QixFNENzRy9CLEVBQUE7O0FBUUg7RUFDRSwyREFBbUQ7VUFBbkQsbURBQW1ELEVBQ3BEOztBQUNEO0VBQ0UsbURBQW1ELEVBQ3BEOztBQUVEO0VBQ0U7SUFDRSwyREFBbUQ7U0FBbkQsc0RBQW1EO1lBQW5ELG1EQUFtRCxFQUNwRCxFQUFBOztBQVFIO0VFaklJLDBCbkR5TGUsRW1EeExoQjs7QUZnSUg7RUU3SEksMEJuRHFMZSxFbURwTGhCOztBRjRISDtFRXhISSwwQm5EZ0xlLEVtRC9LaEI7O0FBR0Q7RUFDRTtJQUNFLDBCbkQwS2EsRW1EektkLEVBQUE7O0FGb0hMO0VFcElJLDBCbkRzSW9CLEVtRHJJckI7O0FGbUlIO0VFaElJLDBCbkRrSW9CLEVtRGpJckI7O0FGK0hIO0VFM0hJLDBCbkQ2SG9CLEVtRDVIckI7O0FBR0Q7RUFDRTtJQUNFLDBCbkR1SGtCLEVtRHRIbkIsRUFBQTs7QUZ1SEw7RUV2SUksMEJuRCtScUIsRW1EOVJ0Qjs7QUZzSUg7RUVuSUksMEJuRDJScUIsRW1EMVJ0Qjs7QUZrSUg7RUU5SEksMEJuRHNScUIsRW1EclJ0Qjs7QUFHRDtFQUNFO0lBQ0UsMEJuRGdSbUIsRW1EL1FwQixFQUFBOztBRjBITDtFRTFJSSwwQm5EZ0NhLEVtRC9CZDs7QUZ5SUg7RUV0SUksMEJuRDRCYSxFbUQzQmQ7O0FGcUlIO0VFaklJLDBCbkR1QmEsRW1EdEJkOztBQUdEO0VBQ0U7SUFDRSwwQm5EaUJXLEVtRGhCWixFQUFBOztBQ25CSDtFQUNFLHFCQUFjO0VBQWQsc0JBQWM7RUFBZCxxQkFBYztFQUFkLGNBQWM7RUFDZCxzQi9DRThCLEUrQ0QvQjs7QUFDRDtFQUNFLG9CQUFRO0VBQVIsZ0JBQVE7TUFBUixZQUFRO1VBQVIsUUFBUSxFQUNUOztBQUNEO0VBQ0UsMkJBQW1CO01BQW5CLDRCQUFtQjtVQUFuQixtQkFBbUIsRUFDcEI7O0FBQ0Q7RUFDRSw2QkFBcUI7TUFBckIseUJBQXFCO1VBQXJCLHFCQUFxQixFQUN0Qjs7QUFtQ0g7RUFDRSxlQUFlLEVBTWhCO0VBUEQ7SUFLSSxnQkFBZ0IsRUFDakI7O0FBUUg7RUFDRSxtQnRENnNCZ0MsRXNENXNCakM7O0FBRUQ7RUFDRSxvQnREeXNCZ0MsRXNEeHNCakM7O0FBT0Q7RUFDRSxjQUFjO0VBQ2QsbUJ0RDhyQmdDLEVzRDdyQmpDOztBQU9EO0VBQ0UsZ0JBQWdCO0VBQ2hCLGlCQUFpQixFQUNsQjs7QUNwRkQ7RUFFRSxnQkFBZ0I7RUFDaEIsaUJBQWlCLEVBQ2xCOztBQU9EO0VBQ0UsbUJBQW1CO0VBQ25CLGVBQWU7RUFDZix5QnZEc3RCNkM7RXVEcHRCN0MsaUJDaEIrQjtFRGlCL0IsMEJDbkJxQztFRG9CckMscUJ2RGdzQmtDLEV1RGxwQm5DO0VBckREO0k1Q0xJLDJCNkNMNkI7STdDTTdCLDBCNkNONkIsRURxQjlCO0VBWEg7SUFjSSxpQkFBaUI7STVDTGpCLDhCNkNuQjZCO0k3Q29CN0IsNkI2Q3BCNkIsRUQwQjlCO0VBaEJIO0lBb0JNLDJCckQrVE07SXFEOVROLG9CdkQyVHNDO0l1RDFUdEMsc0NyRDZUTSxFRTFUUDtJbUR6Qkw7TUEwQlEsZUFBZSxFQUNoQjtJQTNCUDtNQTZCUSwyQnJEc1RJLEVxRHJUTDtFQTlCUDtJQW9DTSxXQUFXO0lBQ1gsWXZEd0x1QjtJdUR2THZCLHNCQUFzQjtJQUN0QiwwQnJEc0hZO0lxRHJIWixzQnJEcUhZLEVFcEliO0ltRHpCTDs7Ozs7OztNQThDUSxlQUFlLEVBQ2hCO0lBL0NQO01BaURRLGV2RDhwQitCLEV1RDdwQmhDOztBQUtQO0VBRUksaUJBQWlCLEVBQ2xCOztBQVNIO0VBQ0UsWUFBWTtFQUNaLFl2RGdwQmtDO0V1RC9vQmxDLG9CQUFvQixFQVlyQjtFQWZEO0lBTUksWXZEOG9CZ0MsRXVEN29CakM7RUFQSDtJQVdJLFl2RHVvQmdDO0l1RHRvQmhDLHNCQUFzQjtJQUN0QiwwQnZEMm5CbUMsRUluc0JsQzs7QXFEcEJIO0VBQ0UsYXZEK1ZRO0V1RDlWUiwwQnZEd0xlLEV1RHZMaEI7O0FBRUQ7O0VBQ0UsYXZEMFZRLEV1RHhVVDtFQW5CRDs7SUFJSSxlQUFlLEVBQ2hCO0VBTEg7OztJQVFJLGF2RG1WTTtJdURsVk4sMEJBQXdCLEVyRE16QjtFcURmSDs7OztJQWNNLFlBQVk7SUFDWix3QnZENFVJO0l1RDNVSixvQnZEMlVJLEVFM1RQOztBcURyQ0g7RUFDRSxhdkQrVlE7RXVEOVZSLDBCdkRxSW9CLEV1RHBJckI7O0FBRUQ7O0VBQ0UsYXZEMFZRLEV1RHhVVDtFQW5CRDs7SUFJSSxlQUFlLEVBQ2hCO0VBTEg7OztJQVFJLGF2RG1WTTtJdURsVk4sMEJBQXdCLEVyRE16QjtFcURmSDs7OztJQWNNLFlBQVk7SUFDWix3QnZENFVJO0l1RDNVSixvQnZEMlVJLEVFM1RQOztBcURyQ0g7RUFDRSxhdkQrVlE7RXVEOVZSLDBCdkQ4UnFCLEV1RDdSdEI7O0FBRUQ7O0VBQ0UsYXZEMFZRLEV1RHhVVDtFQW5CRDs7SUFJSSxlQUFlLEVBQ2hCO0VBTEg7OztJQVFJLGF2RG1WTTtJdURsVk4sMEJBQXdCLEVyRE16QjtFcURmSDs7OztJQWNNLFlBQVk7SUFDWix3QnZENFVJO0l1RDNVSixvQnZEMlVJLEVFM1RQOztBcURyQ0g7RUFDRSxhdkQrVlE7RXVEOVZSLDBCdkQrQmEsRXVEOUJkOztBQUVEOztFQUNFLGF2RDBWUSxFdUR4VVQ7RUFuQkQ7O0lBSUksZUFBZSxFQUNo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O0lDSUksMkJwRjJWUTtJb0YxVlIsMkM3REd3QjtJNkRGeEIsdUM3REV3QixFckJESDtFaUZQekI7SUNXSSwyQnBGb1ZRO0lvRm5WUiwyQzdESndCO0k2REt4Qix1QzdETHdCLEU2RE16QjtFRGRIOzs7SUNtQkksMkJwRjRVUTtJb0YzVVIsMkM3RFp3QjtJNkRheEIsdUM3RGJ3QixFNkRzQnpCO0lEOUJIOzs7Ozs7O01DMEJNLDJCcEZxVU07TW9GcFVOLDJDN0RsQnVCO002RG1CdkIsdUM3RG5CdUIsRTZEb0J4QjtFQUlIO0lBQ0UsZUFBZTtJQUNmLDBCN0Q5QjhCLEU2RG9DL0I7SUFSRDtNQU1JLDJDN0QvQnNCLEU2RGdDdkI7RUR4Q0w7SUMrQ00sMEI3RDFDNEI7STZEMkM1QixtQjdEMUN5QixFNkQyQzFCO0VEakRMO0lDbURNLDBCN0Q5QzRCO0k2RCtDNUIsbUI3RDlDeUIsRXJCQ047RWtGc0V2QjtJQTlFQSwyQnBGZ1dVO0lvRi9WViwwQjdES2dDO0k2REpoQyxtQjdESzZCLEU2RHFGNUI7SUFkRDtNQXpFRSwyQnBGMlZRO01vRjFWUiw0QzdET2dDO002RE5oQyx3QzdETWdDLEVyQkxYO0lrRnNFdkI7TUFsRUUsMkJwRm9WUTtNb0ZuVlIsNEM3REFnQztNNkRDaEMsd0M3RERnQyxFNkRFakM7SUErREQ7OztNQTFERSwyQnBGNFVRO01vRjNVUiw0QzdEUmdDO002RFNoQyx3QzdEVGdDLEU2RGtCakM7TUErQ0Q7Ozs7Ozs7UUFuREksMkJwRnFVTTtRb0ZwVU4sNEM3RGQrQjtRNkRlL0Isd0M3RGYrQixFNkRnQmhDO0lBSUg7TUFDRSxlQUFlO01BQ2YsMEI3RDlCOEIsRTZEb0MvQjtNQVJEO1FBTUksNEM3RDNCOEIsRTZENEIvQjtJQXFDSDtNQTlCSSwwQjdEMUM0QjtNNkQyQzVCLG1CN0QxQ3lCLEU2RDJDMUI7SUE0Qkg7TUExQkksMEI3RDlDNEI7TTZEK0M1QixtQjdEOUN5QixFckJDTjtFaUZQekI7SUMrRkksOEJBQThCLEVBQy9CO0VEaEdIO0lDREUsZXBGMEtnQjtJb0Z6S2hCLDBCN0RLZ0M7STZESmhDLG1CN0RLNkIsRTZEb0c1QjtJRDFHSDtNQ0lJLGVwRnFLYztNb0ZwS2QsMkM3REd3QjtNNkRGeEIsdUM3REV3QixFckJESDtJaUZQekI7TUNXSSxlcEY4SmM7TW9GN0pkLDJDN0RKd0I7TTZES3hCLHVDN0RMd0IsRTZETXpCO0lEZEg7OztNQ21CSSxlcEZzSmM7TW9GckpkLDJDN0Rad0I7TTZEYXhCLHVDN0Rid0IsRTZEc0J6QjtNRDlCSDs7Ozs7OztRQzBCTSxlcEYrSVk7UW9GOUlaLDJDN0RsQnVCO1E2RG1CdkIsdUM3RG5CdUIsRTZEb0J4QjtJQUlIO01BQ0UsZUFBZTtNQUNmLDBCN0Q5QjhCLEU2RG9DL0I7TUFSRDtRQU1JLDJDN0QvQnNCLEU2RGdDdkI7SUR4Q0w7TUMrQ00sMEI3RDFDNEI7TTZEMkM1QixtQjdEMUN5QixFNkQyQzFCO0lEakRMO01DbURNLDBCN0Q5QzRCO002RCtDNUIsbUI3RDlDeUIsRXJCQ047SWtGc0V2QjtNQTlFQSxlcEYwS2dCO01vRnpLaEIsMEI3REtnQztNNkRKaEMsbUI3REs2QixFNkRxRjVCO01BZEQ7UUF6RUUsZXBGcUtjO1FvRnBLZCw0QzdET2dDO1E2RE5oQyx3QzdETWdDLEVyQkxYO01rRnNFdkI7UUFsRUUsZXBGOEpjO1FvRjdKZCw0QzdEQWdDO1E2RENoQyx3QzdERGdDLEU2REVqQztNQStERDs7O1FBMURFLGVwRnNKYztRb0ZySmQsNEM3RFJnQztRNkRTaEMsd0M3RFRnQyxFNkRrQmpDO1FBK0NEOzs7Ozs7O1VBbkRJLGVwRitJWTtVb0Y5SVosNEM3RGQrQjtVNkRlL0Isd0M3RGYrQixFNkRnQmhDO01BSUg7UUFDRSxlQUFlO1FBQ2YsMEI3RDlCOEIsRTZEb0MvQjtRQVJEO1VBTUksNEM3RDNCOEIsRTZENEIvQjtNQXFDSDtRQTlCSSwwQjdEMUM0QjtRNkQyQzVCLG1CN0QxQ3lCLEU2RDJDMUI7TUE0Qkg7UUExQkksMEI3RDlDNEI7UTZEK0M1QixtQjdEOUN5QixFckJDTjtJaUZQekI7TUMrRkksOEJBQThCLEVBQy9CO0VEaEdIO0lDREUsMkJwRmdXVTtJb0YvVlYsMEI3REtnQztJNkRKaEMsbUI3REs2QixFNkR1RzVCO0lEN0dIO01DSUksMkJwRjJWUTtNb0YxVlIsMkM3REd3QjtNNkRGeEIsdUM3REV3QixFckJESDtJaUZQekI7TUNXSSwyQnBGb1ZRO01vRm5WUiwyQzdESndCO002REt4Qix1QzdETHdCLEU2RE16QjtJRGRIOzs7TUNtQkksMkJwRjRVUTtNb0YzVVIsMkM3RFp3QjtNNkRheEIsdUM3RGJ3QixFNkRzQnpCO01EOUJIOzs7Ozs7O1FDMEJNLDJCcEZxVU07UW9GcFVOLDJDN0RsQnVCO1E2RG1CdkIsdUM3RG5CdUIsRTZEb0J4QjtJQUlIO01BQ0UsZUFBZTtNQUNmLDBCN0Q5QjhCLEU2RG9DL0I7TUFSRDtRQU1JLDJDN0QvQnNCLEU2RGdDdkI7SUR4Q0w7TUMrQ00sMEI3RDFDNEI7TTZEMkM1QixtQjdEMUN5QixFNkQyQzFCO0lEakRMO01DbURNLDBCN0Q5QzRCO002RCtDNUIsbUI3RDlDeUIsRXJCQ047SWtGc0V2QjtNQTlFQSwyQnBGZ1dVO01vRi9WViwwQjdES2dDO002REpoQyxtQjdESzZCLEU2RHFGNUI7TUFkRDtRQXpFRSwyQnBGMlZRO1FvRjFWUiw0QzdET2dDO1E2RE5oQyx3QzdETWdDLEVyQkxYO01rRnNFdkI7UUFsRUUsMkJwRm9WUTtRb0ZuVlIsNEM3REFnQztRNkRDaEMsd0M3RERnQyxFNkRFakM7TUErREQ7OztRQTFERSwyQnBGNFVRO1FvRjNVUiw0QzdEUmdDO1E2RFNoQyx3QzdEVGdDLEU2RGtCakM7UUErQ0Q7Ozs7Ozs7VUFuREksMkJwRnFVTTtVb0ZwVU4sNEM3RGQrQjtVNkRlL0Isd0M3RGYrQixFNkRnQmhDO01BSUg7UUFDRSxlQUFlO1FBQ2YsMEI3RDlCOEIsRTZEb0MvQjtRQVJEO1VBTUksNEM3RDNCOEIsRTZENEIvQjtNQXFDSDtRQTlCSSwwQjdEMUM0QjtRNkQyQzVCLG1CN0QxQ3lCLEU2RDJDMUI7TUE0Qkg7UUExQkksMEI3RDlDNEI7UTZEK0M1QixtQjdEOUN5QixFckJDTjtJaUZQekI7TUMrRkksOEJBQThCLEVBQy9CO0VEaEdIO0lDREUsZXBGd0lzQjtJb0Z2SXRCLDBCN0RLZ0M7STZESmhDLG1CN0RLNkIsRTZEMEc1QjtJRGhISDtNQ0lJLGVwRm1Jb0I7TW9GbElwQiwyQzdER3dCO002REZ4Qix1QzdERXdCLEVyQkRIO0lpRlB6QjtNQ1dJLGVwRjRIb0I7TW9GM0hwQiwyQzdESndCO002REt4Qix1QzdETHdCLEU2RE16QjtJRGRIOzs7TUNtQkksZXBGb0hvQjtNb0ZuSHBCLDJDN0Rad0I7TTZEYXhCLHVDN0Rid0IsRTZEc0J6QjtNRDlCSDs7Ozs7OztRQzBCTSxlcEY2R2tCO1FvRjVHbEIsMkM3RGxCdUI7UTZEbUJ2Qix1QzdEbkJ1QixFNkRvQnhCO0lBSUg7TUFDRSxlQUFlO01BQ2YsMEI3RDlCOEIsRTZEb0MvQjtNQVJEO1FBTUksMkM3RC9Cc0IsRTZEZ0N2QjtJRHhDTDtNQytDTSwwQjdEMUM0QjtNNkQyQzVCLG1CN0QxQ3lCLEU2RDJDMUI7SURqREw7TUNtRE0sMEI3RDlDNEI7TTZEK0M1QixtQjdEOUN5QixFckJDTjtJa0ZzRXZCO01BOUVBLGVwRndJc0I7TW9Gdkl0QiwwQjdES2dDO002REpoQyxtQjdESzZCLEU2RHFGNUI7TUFkRDtRQXpFRSxlcEZtSW9CO1FvRmxJcEIsNEM3RE9nQztRNkROaEMsd0M3RE1nQyxFckJMWDtNa0ZzRXZCO1FBbEVFLGVwRjRIb0I7UW9GM0hwQiw0QzdEQWdDO1E2RENoQyx3QzdERGdDLEU2REVqQztNQStERDs7O1FBMURFLGVwRm9Ib0I7UW9GbkhwQiw0QzdEUmdDO1E2RFNoQyx3QzdEVGdDLEU2RGtCakM7UUErQ0Q7Ozs7Ozs7VUFuREksZXBGNkdrQjtVb0Y1R2xCLDRDN0RkK0I7VTZEZS9CLHdDN0RmK0IsRTZEZ0JoQztNQUlIO1FBQ0UsZUFBZTtRQUNmLDBCN0Q5QjhCLEU2RG9DL0I7UUFSRDtVQU1JLDRDN0QzQjhCLEU2RDRCL0I7TUFxQ0g7UUE5QkksMEI3RDFDNEI7UTZEMkM1QixtQjdEMUN5QixFNkQyQzFCO01BNEJIO1FBMUJJLDBCN0Q5QzRCO1E2RCtDNUIsbUI3RDlDeUIsRXJCQ047SWlGUHpCO01DK0ZJLDhCQUE4QixFQUMvQjtFRGhHSDtJQ0RFLGVwRjJMaUI7SW9GMUxqQiwwQjdES2dDO0k2REpoQyxtQjdESzZCLEU2RDZHNUI7SURuSEg7TUNJSSxlcEZzTGU7TW9GckxmLDJDN0RHd0I7TTZERnhCLHVDN0RFd0IsRXJCREg7SWlGUHpCO01DV0ksZXBGK0tlO01vRjlLZiwyQzdESndCO002REt4Qix1QzdETHdCLEU2RE16QjtJRGRIOzs7TUNtQkksZXBGdUtlO01vRnRLZiwyQzdEWndCO002RGF4Qix1QzdEYndCLEU2RHNCekI7TUQ5Qkg7Ozs7Ozs7UUMwQk0sZXBGZ0thO1FvRi9KYiwyQzdEbEJ1QjtRNkRtQnZCLHVDN0RuQnVCLEU2RG9CeEI7SUFJSDtNQUNFLGVBQWU7TUFDZiwwQjdEOUI4QixFNkRvQy9CO01BUkQ7UUFNSSwyQzdEL0JzQixFNkRnQ3ZCO0lEeENMO01DK0NNLDBCN0QxQzRCO002RDJDNUIsbUI3RDFDeUIsRTZEMkMxQjtJRGpETDtNQ21ETSwwQjdEOUM0QjtNNkQrQzVCLG1CN0Q5Q3lCLEVyQkNOO0lrRnNFdkI7TUE5RUEsZXBGMkxpQjtNb0YxTGpCLDBCN0RLZ0M7TTZESmhDLG1CN0RLNkIsRTZEcUY1QjtNQWREO1FBekVFLGVwRnNMZTtRb0ZyTGYsNEM3RE9nQztRNkROaEMsd0M3RE1nQyxFckJMWDtNa0ZzRXZCO1FBbEVFLGVwRitLZTtRb0Y5S2YsNEM3REFnQztRNkRDaEMsd0M3RERnQyxFNkRFakM7TUErREQ7OztRQTFERSxlcEZ1S2U7UW9GdEtmLDRDN0RSZ0M7UTZEU2hDLHdDN0RUZ0MsRTZEa0JqQztRQStDRDs7Ozs7OztVQW5ESSxlcEZnS2E7VW9GL0piLDRDN0RkK0I7VTZEZS9CLHdDN0RmK0IsRTZEZ0JoQztNQUlIO1FBQ0UsZUFBZTtRQUNmLDBCN0Q5QjhCLEU2RG9DL0I7UUFSRDtVQU1JLDRDN0QzQjhCLEU2RDRCL0I7TUFxQ0g7UUE5QkksMEI3RDFDNEI7UTZEMkM1QixtQjdEMUN5QixFNkQyQzFCO01BNEJIO1FBMUJJLDBCN0Q5QzRCO1E2RCtDNUIsbUI3RDlDeUIsRXJCQ047SWlGUHpCO01DK0ZJLDhCQUE4QixFQUMvQjtFRGhHSDtJQ0RFLGVwRmlTdUI7SW9GaFN2QiwwQjdES2dDO0k2REpoQyxtQjdESzZCLEU2RGdINUI7SUR0SEg7TUNJSSxlcEY0UnFCO01vRjNSckIsMkM3REd3QjtNNkRGeEIsdUM3REV3QixFckJESDtJaUZQekI7TUNXSSxlcEZxUnFCO01vRnBSckIsMkM3REp3QjtNNkRLeEIsdUM3REx3QixFNkRNekI7SURkSDs7O01DbUJJLGVwRjZRcUI7TW9GNVFyQiwyQzdEWndCO002RGF4Qix1QzdEYndCLEU2RHNCekI7TUQ5Qkg7Ozs7Ozs7UUMwQk0sZXBGc1FtQjtRb0ZyUW5CLDJDN0RsQnVCO1E2RG1CdkIsdUM3RG5CdUIsRTZEb0J4QjtJQUlIO01BQ0UsZUFBZTtNQUNmLDBCN0Q5QjhCLEU2RG9DL0I7TUFSRDtRQU1JLDJDN0QvQnNCLEU2RGdDdkI7SUR4Q0w7TUMrQ00sMEI3RDFDNEI7TTZEMkM1QixtQjdEMUN5QixFNkQyQzFCO0lEakRMO01DbURNLDBCN0Q5QzRCO002RCtDNUIsbUI3RDlDeUIsRXJCQ047SWtGc0V2QjtNQTlFQSxlcEZpU3VCO01vRmhTdkIsMEI3REtnQztNNkRKaEMsbUI3REs2QixFNkRxRjVCO01BZEQ7UUF6RUUsZXBGNFJxQjtRb0YzUnJCLDRDN0RPZ0M7UTZETmhDLHdDN0RNZ0MsRXJCTFg7TWtGc0V2QjtRQWxFRSxlcEZxUnFCO1FvRnBSckIsNEM3REFnQztRNkRDaEMsd0M3RERnQyxFNkRFakM7TUErREQ7OztRQTFERSxlcEY2UXFCO1FvRjVRckIsNEM3RFJnQztRNkRTaEMsd0M3RFRnQyxFNkRrQmpDO1FBK0NEOzs7Ozs7O1VBbkRJLGVwRnNRbUI7VW9GclFuQiw0QzdEZCtCO1U2RGUvQix3QzdEZitCLEU2RGdCaEM7TUFJSDtRQUNFLGVBQWU7UUFDZiwwQjdEOUI4QixFNkRvQy9CO1FBUkQ7VUFNSSw0QzdEM0I4QixFNkQ0Qi9CO01BcUNIO1FBOUJJLDBCN0QxQzRCO1E2RDJDNUIsbUI3RDFDeUIsRTZEMkMxQjtNQTRCSDtRQTFCSSwwQjdEOUM0QjtRNkQrQzVCLG1CN0Q5Q3lCLEVyQkNOO0lpRlB6QjtNQytGSSw4QkFBOEIsRUFDL0I7RURoR0g7SUNERSxlcEZrQ2U7SW9GakNmLDBCN0RLZ0M7STZESmhDLG1CN0RLNkIsRTZEbUg1QjtJRHpISDtNQ0lJLGVwRjZCYTtNb0Y1QmIsMkM3REd3QjtNNkRGeEIsdUM3REV3QixFckJESDtJaUZQekI7TUNXSSxlcEZzQmE7TW9GckJiLDJDN0RKd0I7TTZES3hCLHVDN0RMd0IsRTZETXpCO0lEZEg7OztNQ21CSSxlcEZjYTtNb0ZiYiwyQzdEWndCO002RGF4Qix1QzdEYndCLEU2RHNCekI7TUQ5Qkg7Ozs7Ozs7UUMwQk0sZXBGT1c7UW9GTlgsMkM3RGxCdUI7UTZEbUJ2Qix1QzdEbkJ1QixFNkRvQnhCO0lBSUg7TUFDRSxlQUFlO01BQ2YsMEI3RDlCOEIsRTZEb0MvQjtNQVJEO1FBTUksMkM3RC9Cc0IsRTZEZ0N2QjtJRHhDTDtNQytDTSwwQjdEMUM0QjtNNkQyQzVCLG1CN0QxQ3lCLEU2RDJDMUI7SURqREw7TUNtRE0sMEI3RDlDNEI7TTZEK0M1QixtQjdEOUN5QixFckJDTjtJa0ZzRXZCO01BOUVBLGVwRmtDZTtNb0ZqQ2YsMEI3REtnQztNNkRKaEMsbUI3REs2QixFNkRxRjVCO01BZEQ7UUF6RUUsZXBGNkJhO1FvRjVCYiw0QzdET2dDO1E2RE5oQyx3QzdETWdDLEVyQkxYO01rRnNFdkI7UUFsRUUsZXBGc0JhO1FvRnJCYiw0QzdEQWdDO1E2RENoQyx3QzdERGdDLEU2REVqQztNQStERDs7O1FBMURFLGVwRmNhO1FvRmJiLDRDN0RSZ0M7UTZEU2hDLHdDN0RUZ0MsRTZEa0JqQztRQStDRDs7Ozs7OztVQW5ESSxlcEZPVztVb0ZOWCw0QzdEZCtCO1U2RGUvQix3QzdEZitCLEU2RGdCaEM7TUFJSDtRQUNFLGVBQWU7UUFDZiwwQjdEOUI4QixFNkRvQy9CO1FBUkQ7VUFNSSw0QzdEM0I4QixFNkQ0Qi9CO01BcUNIO1FBOUJJLDBCN0QxQzRCO1E2RDJDNUIsbUI3RDFDeUIsRTZEMkMxQjtNQTRCSDtRQTFCSSwwQjdEOUM0QjtRNkQrQzVCLG1CN0Q5Q3lCLEVyQkNOO0lpRlB6QjtNQytGSSw4QkFBOEIsRUFDL0I7RURoR0g7OztJQ0RFLFl0RjRRbUM7SXNGM1FuQywwQnBGeUtnQjtJb0Z4S2hCLHNCcEZ3S2dCLEVvRmdCZjtJRHpMSDs7O01DSUksWXRGdVFpQztNc0Z0UWpDLDBCQStKbUQ7TUE5Sm5ELHNCQWdLbUIsRWxGL0pFO0lpRlB6Qjs7Ozs7TUNXSSxZdEZnUWlDO01zRi9QakMsMEJBd0ptRDtNQXZKbkQsc0JBeUptQixFQXhKcEI7SURkSDs7Ozs7Ozs7Ozs7OztNQ21CSSxZdEZ3UGlDO01zRnZQakMsMEJBZ0ptRDtNQS9JbkQsc0JBaUptQixFQXhJcEI7TUQ5Qkg7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7UUMwQk0sWXRGaVArQjtRc0ZoUC9CLDBCQXlJaUQ7UUF4SWpELHNCQThJa0IsRUE3SW5CO0lBSUg7OztNQUNFLGVBQWU7TUFDZiwwQnBGc0ljLEVvRmhJZjtNQVJEOzs7UUFNSSwwQkE2SGlELEVBNUhsRDtJRHhDTDs7Ozs7Ozs7O01DK0NNLDBCcEYwSFk7TW9GekhaLHNCcEZ5SFksRW9GeEhiO0lEakRMOzs7OztNQ21ETSwwQnBGc0hZO01vRnJIWixzQnBGcUhZLEVFbEtPO0VpRlB6Qjs7O0lDREUsMkJwRmdXVTtJb0YvVlYsMEJuRkNrQztJbUZBbEMsbUJ0RmdSbUMsRXNGckZsQztJRDVMSDs7O01DSUksMkJwRjJWUTtNb0YxVlIsMEJBK0ptRDtNQTlKbkQsc0JBZ0ttQixFbEYvSkU7SWlGUHpCOzs7OztNQ1dJLDJCcEZvVlE7TW9GblZSLDBCQXdKbUQ7TUF2Sm5ELHNCQXlKbUIsRUF4SnBCO0lEZEg7Ozs7Ozs7Ozs7Ozs7TUNtQkksMkJwRjRVUTtNb0YzVVIsMEJBZ0ptRDtNQS9JbkQsc0JBaUptQixFQXhJcEI7TUQ5Qkg7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7UUMwQk0sMkJwRnFVTTtRb0ZwVU4sMEJBeUlpRDtRQXhJakQsc0JBOElrQixFQTdJbkI7SUFJSDs7O01BQ0UsZUFBZTtNQUNmLDBCbkZsQ2dDLEVtRndDakM7TUFSRDs7O1FBTUksMEJBNkhpRCxFQTVIbEQ7SUR4Q0w7Ozs7Ozs7OztNQytDTSwwQm5GOUM4QjtNbUYrQzlCLG1CdEZpTytCLEVzRmhPaEM7SURqREw7Ozs7O01DbURNLDBCbkZsRDhCO01tRm1EOUIsbUJ0RjZOK0IsRUkxUVo7RWlGUHpCOzs7SUNERSxZdEZvUm1DO0lzRm5SbkMsMEJwRnVJc0I7SW9GdEl0QixzQnBGc0lzQixFb0Z3RHJCO0lEL0xIOzs7TUNJSSxZdEYrUWlDO01zRjlRakMsMEJBK0ptRDtNQTlKbkQsc0JBZ0ttQixFbEYvSkU7SWlGUHpCOzs7OztNQ1dJLFl0RndRaUM7TXNGdlFqQywwQkF3Sm1EO01BdkpuRCxzQkF5Sm1CLEVBeEpwQjtJRGRIOzs7Ozs7Ozs7Ozs7O01DbUJJLFl0RmdRaUM7TXNGL1BqQywwQkFnSm1EO01BL0luRCxzQkFpSm1CLEVBeElwQjtNRDlCSDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztRQzBCTSxZdEZ5UCtCO1FzRnhQL0IsMEJBeUlpRDtRQXhJakQsc0JBOElrQixFQTdJbkI7SUFJSDs7O01BQ0UsZUFBZTtNQUNmLDBCcEZvR29CLEVvRjlGckI7TUFSRDs7O1FBTUksMEJBNkhpRCxFQTVIbEQ7SUR4Q0w7Ozs7Ozs7OztNQytDTSwwQnBGd0ZrQjtNb0Z2RmxCLHNCcEZ1RmtCLEVvRnRGbkI7SURqREw7Ozs7O01DbURNLDBCcEZvRmtCO01vRm5GbEIsc0JwRm1Ga0IsRUVoSUM7RWlGUHpCOzs7SUNERSxZdEZ3Um1DO0lzRnZSbkMsMEJwRjBMaUI7SW9GekxqQixzQnBGeUxpQixFb0ZRaEI7SURsTUg7OztNQ0lJLFl0Rm1SaUM7TXNGbFJqQywwQkErSm1EO01BOUpuRCxzQkFnS21CLEVsRi9KRTtJaUZQekI7Ozs7O01DV0ksWXRGNFFpQztNc0YzUWpDLDBCQXdKbUQ7TUF2Sm5ELHNCQXlKbUIsRUF4SnBCO0lEZEg7Ozs7Ozs7Ozs7Ozs7TUNtQkksWXRGb1FpQztNc0ZuUWpDLDBCQWdKbUQ7TUEvSW5ELHNCQWlKbUIsRUF4SXBCO01EOUJIOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O1FDMEJNLFl0RjZQK0I7UXNGNVAvQiwwQkF5SWlEO1FBeElqRCxzQkE4SWtCLEVBN0luQjtJQUlIOzs7TUFDRSxlQUFlO01BQ2YsMEJwRnVKZSxFb0ZqSmhCO01BUkQ7OztRQU1JLDBCQTZIaUQsRUE1SGxEO0lEeENMOzs7Ozs7Ozs7TUMrQ00sMEJwRjJJYTtNb0YxSWIsc0JwRjBJYSxFb0Z6SWQ7SURqREw7Ozs7O01DbURNLDBCcEZ1SWE7TW9GdEliLHNCcEZzSWEsRUVuTE07RWlGUHpCOzs7SUNERSxZdEY0Um1DO0lzRjNSbkMsMEJwRmdTdUI7SW9GL1J2QixzQnBGK1J1QixFb0YzRnRCO0lEck1IOzs7TUNJSSxZdEZ1UmlDO01zRnRSakMsMEJBK0ptRDtNQTlKbkQsc0JBZ0ttQixFbEYvSkU7SWlGUHpCOzs7OztNQ1dJLFl0RmdSaUM7TXNGL1FqQywwQkF3Sm1EO01BdkpuRCxzQkF5Sm1CLEVBeEpwQjtJRGRIOzs7Ozs7Ozs7Ozs7O01DbUJJLFl0RndRaUM7TXNGdlFqQywwQkFnSm1EO01BL0luRCxzQkFpSm1CLEVBeElwQjtNRDlCSDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztRQzBCTSxZdEZpUStCO1FzRmhRL0IsMEJBeUlpRDtRQXhJakQsc0JBOElrQixFQTdJbkI7SUFJSDs7O01BQ0UsZUFBZTtNQUNmLDBCcEY2UHFCLEVvRnZQdEI7TUFSRDs7O1FBTUksMEJBNkhpRCxFQTVIbEQ7SUR4Q0w7Ozs7Ozs7OztNQytDTSwwQnBGaVBtQjtNb0ZoUG5CLHNCcEZnUG1CLEVvRi9PcEI7SURqREw7Ozs7O01DbURNLDBCcEY2T21CO01vRjVPbkIsc0JwRjRPbUIsRUV6UkE7RWlGUHpCOzs7SUNERSxZdEZnU21DO0lzRi9SbkMsMEJwRmlDZTtJb0ZoQ2Ysc0JwRmdDZSxFb0Z1S2Q7SUR4TUg7OztNQ0lJLFl0RjJSaUM7TXNGMVJqQywwQkErSjZFO01BOUo3RSxzQkFnS21CLEVsRi9KRTtJaUZQekI7Ozs7O01DV0ksWXRGb1JpQztNc0ZuUmpDLDBCQXdKNkU7TUF2SjdFLHNCQXlKbUIsRUF4SnBCO0lEZEg7Ozs7Ozs7Ozs7Ozs7TUNtQkksWXRGNFFpQztNc0YzUWpDLDBCQWdKNkU7TUEvSTdFLHNCQWlKbUIsRUF4SXBCO01EOUJIOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O1FDMEJNLFl0RnFRK0I7UXNGcFEvQiwwQkF5STJFO1FBeEkzRSxzQkE4SWtCLEVBN0luQjtJQUlIOzs7TUFDRSxlQUFlO01BQ2YsMEJwRkZhLEVvRlFkO01BUkQ7OztRQU1JLDBCQTZIMkUsRUE1SDVFO0lEeENMOzs7Ozs7Ozs7TUMrQ00sMEJwRmRXO01vRmVYLHNCcEZmVyxFb0ZnQlo7SURqREw7Ozs7O01DbURNLDBCcEZsQlc7TW9GbUJYLHNCcEZuQlcsRUUxQlE7RWlGUHpCOzs7OztJQWtDTSxXQUFXO0l4RS9CYix5SFg0VlE7WVc1VlIsaUhYNFZRLEVFM1VQO0VpRnBCTDs7Ozs7SUEwQ00sV0FBVztJeEV2Q2IsZ0ZYNFZRO1lXNVZSLHdFWDRWUSxFbUZsVFA7RUE3Q0w7OztJeEVHSSx3SFg0VlE7WVc1VlIsZ0hYNFZRLEVtRjVSVDtJQW5FSDs7O01BMERNLHlCQUFpQjtjQUFqQixpQkFBaUIsRUFJbEI7TUE5REw7OztRQTREUSx5QkFBaUI7Z0JBQWpCLGlCQUFpQixFRTNEdEI7TUZESDs7Ozs7OztRQTREUSx5QkFBaUI7Z0JBQWpCLGlCQUFpQixFakZOcEI7SW9GeERIOzs7Ozs7Ozs7TUhtRUkseUJBQWlCO2NBQWpCLGlCQUFpQixFRzlEcEI7RUhISDtJQ29JSSwyQkFBMkI7SUFDM0Isb0JBQW9CO0lBQ3BCLGtCQUFrQixFQUNuQjtFRHZJSDtJQ0RFLDJCcEZnV1U7SW9GL1ZWLDBCN0RLZ0M7STZESmhDLGtDcEY4VlUsRW9Gbk5UO0lENUlIO01DSUksMkJwRjJWUTtNb0YxVlIsMkM3REd3QjtNNkRGeEIsa0NwRnlWUSxFRXhWYTtJaUZQekI7TUNXSSwyQnBGb1ZRO01vRm5WUiwyQzdESndCO002REt4QixrQ3BGa1ZRLEVvRmpWVDtJRGRIOzs7TUNtQkksMkJwRjRVUTtNb0YzVVIsMkM3RFp3QjtNNkRheEIsa0NwRjBVUSxFb0ZqVVQ7TUQ5Qkg7Ozs7Ozs7UUMwQk0sMkJwRnFVTTtRb0ZwVU4sMkM3RGxCdUI7UTZEbUJ2QixrQ3BGbVVNLEVvRmxVUDtJQUlIO01BQ0UsZUFBZTtNQUNmLDBCN0Q5QjhCLEU2RG9DL0I7TUFSRDtRQU1JLDJDN0QvQnNCLEU2RGdDdkI7SUR4Q0w7TUMrQ00sMEI3RDFDNEI7TTZEMkM1QixrQ3BGK1NNLEVvRjlTUDtJRGpETDtNQ21ETSwwQjdEOUM0QjtNNkQrQzVCLGtDcEYyU00sRUV4VmE7SWtGc0V2QjtNQTlFQSwyQnBGZ1dVO01vRi9WViwwQjdES2dDO002REpoQyxrQ3BGOFZVLEVvRnBRVDtNQWREO1FBekVFLDJCcEYyVlE7UW9GMVZSLDRDN0RPZ0M7UTZETmhDLHdDN0RNZ0MsRXJCTFg7TWtGc0V2QjtRQWxFRSwyQnBGb1ZRO1FvRm5WUiw0QzdEQWdDO1E2RENoQyx3QzdERGdDLEU2REVqQztNQStERDs7O1FBMURFLDJCcEY0VVE7UW9GM1VSLDRDN0RSZ0M7UTZEU2hDLHdDN0RUZ0MsRTZEa0JqQztRQStDRDs7Ozs7OztVQW5ESSwyQnBGcVVNO1VvRnBVTiw0QzdEZCtCO1U2RGUvQix3QzdEZitCLEU2RGdCaEM7TUFJSDtRQUNFLGVBQWU7UUFDZiwwQjdEOUI4QixFNkRvQy9CO1FBUkQ7VUFNSSw0QzdEM0I4QixFNkQ0Qi9CO01BcUNIO1FBOUJJLDBCN0QxQzRCO1E2RDJDNUIsa0NwRitTTSxFb0Y5U1A7TUE0Qkg7UUExQkksMEI3RDlDNEI7UTZEK0M1QixrQ3BGMlNNLEVFeFZhO0lpRlB6QjtNQytGSSw4QkFBOEIsRUFDL0I7RURoR0g7SUNERSxlcEYwS2dCO0lvRnpLaEIsMEI3REtnQztJNkRKaEMsc0JwRndLZ0IsRW9GMUJmO0lEL0lIO01DSUksZXBGcUtjO01vRnBLZCwyQzdER3dCO002REZ4QixzQnBGbUtjLEVFbEtPO0lpRlB6QjtNQ1dJLGVwRjhKYztNb0Y3SmQsMkM3REp3QjtNNkRLeEIsc0JwRjRKYyxFb0YzSmY7SURkSDs7O01DbUJJLGVwRnNKYztNb0ZySmQsMkM3RFp3QjtNNkRheEIsc0JwRm9KYyxFb0YzSWY7TUQ5Qkg7Ozs7Ozs7UUMwQk0sZXBGK0lZO1FvRjlJWiwyQzdEbEJ1QjtRNkRtQnZCLHNCcEY2SVksRW9GNUliO0lBSUg7TUFDRSxlQUFlO01BQ2YsMEI3RDlCOEIsRTZEb0MvQjtNQVJEO1FBTUksMkM3RC9Cc0IsRTZEZ0N2QjtJRHhDTDtNQytDTSwwQjdEMUM0QjtNNkQyQzVCLHNCcEZ5SFksRW9GeEhiO0lEakRMO01DbURNLDBCN0Q5QzRCO002RCtDNUIsc0JwRnFIWSxFRWxLTztJa0ZzRXZCO01BOUVBLGVwRjBLZ0I7TW9GektoQiwwQjdES2dDO002REpoQyxzQnBGd0tnQixFb0Y5RWY7TUFkRDtRQXpFRSxlcEZxS2M7UW9GcEtkLDRDN0RPZ0M7UTZETmhDLHdDN0RNZ0MsRXJCTFg7TWtGc0V2QjtRQWxFRSxlcEY4SmM7UW9GN0pkLDRDN0RBZ0M7UTZEQ2hDLHdDN0REZ0MsRTZERWpDO01BK0REOzs7UUExREUsZXBGc0pjO1FvRnJKZCw0QzdEUmdDO1E2RFNoQyx3QzdEVGdDLEU2RGtCakM7UUErQ0Q7Ozs7Ozs7VUFuREksZXBGK0lZO1VvRjlJWiw0QzdEZCtCO1U2RGUvQix3QzdEZitCLEU2RGdCaEM7TUFJSDtRQUNFLGVBQWU7UUFDZiwwQjdEOUI4QixFNkRvQy9CO1FBUkQ7VUFNSSw0QzdEM0I4QixFNkQ0Qi9CO01BcUNIO1FBOUJJLDBCN0QxQzRCO1E2RDJDNUIsc0JwRnlIWSxFb0Z4SGI7TUE0Qkg7UUExQkksMEI3RDlDNEI7UTZEK0M1QixzQnBGcUhZLEVFbEtPO0lpRlB6QjtNQytGSSw4QkFBOEIsRUFDL0I7RURoR0g7SUNERSwyQnBGZ1dVO0lvRi9WViwwQjdES2dDO0k2REpoQyxrQ3BGOFZVLEVvRjdNVDtJRGxKSDtNQ0lJLDJCcEYyVlE7TW9GMVZSLDJDN0RHd0I7TTZERnhCLGtDcEZ5VlEsRUV4VmE7SWlGUHpCO01DV0ksMkJwRm9WUTtNb0ZuVlIsMkM3REp3QjtNNkRLeEIsa0NwRmtWUSxFb0ZqVlQ7SURkSDs7O01DbUJJLDJCcEY0VVE7TW9GM1VSLDJDN0Rad0I7TTZEYXhCLGtDcEYwVVEsRW9GalVUO01EOUJIOzs7Ozs7O1FDMEJNLDJCcEZxVU07UW9GcFVOLDJDN0RsQnVCO1E2RG1CdkIsa0NwRm1VTSxFb0ZsVVA7SUFJSDtNQUNFLGVBQWU7TUFDZiwwQjdEOUI4QixFNkRvQy9CO01BUkQ7UUFNSSwyQzdEL0JzQixFNkRnQ3ZCO0lEeENMO01DK0NNLDBCN0QxQzRCO002RDJDNUIsa0NwRitTTSxFb0Y5U1A7SURqREw7TUNtRE0sMEI3RDlDNEI7TTZEK0M1QixrQ3BGMlNNLEVFeFZhO0lrRnNFdkI7TUE5RUEsMkJwRmdXVTtNb0YvVlYsMEI3REtnQztNNkRKaEMsa0NwRjhWVSxFb0ZwUVQ7TUFkRDtRQXpFRSwyQnBGMlZRO1FvRjFWUiw0QzdET2dDO1E2RE5oQyx3QzdETWdDLEVyQkxYO01rRnNFdkI7UUFsRUUsMkJwRm9WUTtRb0ZuVlIsNEM3REFnQztRNkRDaEMsd0M3RERnQyxFNkRFakM7TUErREQ7OztRQTFERSwyQnBGNFVRO1FvRjNVUiw0QzdEUmdDO1E2RFNoQyx3QzdEVGdDLEU2RGtCakM7UUErQ0Q7Ozs7Ozs7VUFuREksMkJwRnFVTTtVb0ZwVU4sNEM3RGQrQjtVNkRlL0Isd0M3RGYrQixFNkRnQmhDO01BSUg7UUFDRSxlQUFlO1FBQ2YsMEI3RDlCOEIsRTZEb0MvQjtRQVJEO1VBTUksNEM3RDNCOEIsRTZENEIvQjtNQXFDSDtRQTlCSSwwQjdEMUM0QjtRNkQyQzVCLGtDcEYrU00sRW9GOVNQO01BNEJIO1FBMUJJLDBCN0Q5QzRCO1E2RCtDNUIsa0NwRjJTTSxFRXhWYTtJaUZQekI7TUMrRkksOEJBQThCLEVBQy9CO0VEaEdIO0lDREUsZXBGd0lzQjtJb0Z2SXRCLDBCN0RLZ0M7STZESmhDLHNCcEZzSXNCLEVvRmNyQjtJRHJKSDtNQ0lJLGVwRm1Jb0I7TW9GbElwQiwyQzdER3dCO002REZ4QixzQnBGaUlvQixFRWhJQztJaUZQekI7TUNXSSxlcEY0SG9CO01vRjNIcEIsMkM3REp3QjtNNkRLeEIsc0JwRjBIb0IsRW9GekhyQjtJRGRIOzs7TUNtQkksZXBGb0hvQjtNb0ZuSHBCLDJDN0Rad0I7TTZEYXhCLHNCcEZrSG9CLEVvRnpHckI7TUQ5Qkg7Ozs7Ozs7UUMwQk0sZXBGNkdrQjtRb0Y1R2xCLDJDN0RsQnVCO1E2RG1CdkIsc0JwRjJHa0IsRW9GMUduQjtJQUlIO01BQ0UsZUFBZTtNQUNmLDBCN0Q5QjhCLEU2RG9DL0I7TUFSRDtRQU1JLDJDN0QvQnNCLEU2RGdDdkI7SUR4Q0w7TUMrQ00sMEI3RDFDNEI7TTZEMkM1QixzQnBGdUZrQixFb0Z0Rm5CO0lEakRMO01DbURNLDBCN0Q5QzRCO002RCtDNUIsc0JwRm1Ga0IsRUVoSUM7SWtGc0V2QjtNQTlFQSxlcEZ3SXNCO01vRnZJdEIsMEI3REtnQztNNkRKaEMsc0JwRnNJc0IsRW9GNUNyQjtNQWREO1FBekVFLGVwRm1Jb0I7UW9GbElwQiw0QzdET2dDO1E2RE5oQyx3QzdETWdDLEVyQkxYO01rRnNFdkI7UUFsRUUsZXBGNEhvQjtRb0YzSHBCLDRDN0RBZ0M7UTZEQ2hDLHdDN0REZ0MsRTZERWpDO01BK0REOzs7UUExREUsZXBGb0hvQjtRb0ZuSHBCLDRDN0RSZ0M7UTZEU2hDLHdDN0RUZ0MsRTZEa0JqQztRQStDRDs7Ozs7OztVQW5ESSxlcEY2R2tCO1VvRjVHbEIsNEM3RGQrQjtVNkRlL0Isd0M3RGYrQixFNkRnQmhDO01BSUg7UUFDRSxlQUFlO1FBQ2YsMEI3RDlCOEIsRTZEb0MvQjtRQVJEO1VBTUksNEM3RDNCOEIsRTZENEIvQjtNQXFDSDtRQTlCSSwwQjdEMUM0QjtRNkQyQzVCLHNCcEZ1RmtCLEVvRnRGbkI7TUE0Qkg7UUExQkksMEI3RDlDNEI7UTZEK0M1QixzQnBGbUZrQixFRWhJQztJaUZQekI7TUMrRkksOEJBQThCLEVBQy9CO0VEaEdIO0lDREUsZXBGMkxpQjtJb0YxTGpCLDBCN0RLZ0M7STZESmhDLHNCcEZ5TGlCLEVvRmxDaEI7SUR4Skg7TUNJSSxlcEZzTGU7TW9GckxmLDJDN0RHd0I7TTZERnhCLHNCcEZvTGUsRUVuTE07SWlGUHpCO01DV0ksZXBGK0tlO01vRjlLZiwyQzdESndCO002REt4QixzQnBGNktlLEVvRjVLaEI7SURkSDs7O01DbUJJLGVwRnVLZTtNb0Z0S2YsMkM3RFp3QjtNNkRheEIsc0JwRnFLZSxFb0Y1SmhCO01EOUJIOzs7Ozs7O1FDMEJNLGVwRmdLYTtRb0YvSmIsMkM3RGxCdUI7UTZEbUJ2QixzQnBGOEphLEVvRjdKZDtJQUlIO01BQ0UsZUFBZTtNQUNmLDBCN0Q5QjhCLEU2RG9DL0I7TUFSRDtRQU1JLDJDN0QvQnNCLEU2RGdDdkI7SUR4Q0w7TUMrQ00sMEI3RDFDNEI7TTZEMkM1QixzQnBGMElhLEVvRnpJZDtJRGpETDtNQ21ETSwwQjdEOUM0QjtNNkQrQzVCLHNCcEZzSWEsRUVuTE07SWtGc0V2QjtNQTlFQSxlcEYyTGlCO01vRjFMakIsMEI3REtnQztNNkRKaEMsc0JwRnlMaUIsRW9GL0ZoQjtNQWREO1FBekVFLGVwRnNMZTtRb0ZyTGYsNEM3RE9nQztRNkROaEMsd0M3RE1nQyxFckJMWDtNa0ZzRXZCO1FBbEVFLGVwRitLZTtRb0Y5S2YsNEM3REFnQztRNkRDaEMsd0M3RERnQyxFNkRFakM7TUErREQ7OztRQTFERSxlcEZ1S2U7UW9GdEtmLDRDN0RSZ0M7UTZEU2hDLHdDN0RUZ0MsRTZEa0JqQztRQStDRDs7Ozs7OztVQW5ESSxlcEZnS2E7VW9GL0piLDRDN0RkK0I7VTZEZS9CLHdDN0RmK0IsRTZEZ0JoQztNQUlIO1FBQ0UsZUFBZTtRQUNmLDBCN0Q5QjhCLEU2RG9DL0I7UUFSRDtVQU1JLDRDN0QzQjhCLEU2RDRCL0I7TUFxQ0g7UUE5QkksMEI3RDFDNEI7UTZEMkM1QixzQnBGMElhLEVvRnpJZDtNQTRCSDtRQTFCSSwwQjdEOUM0QjtRNkQrQzVCLHNCcEZzSWEsRUVuTE07SWlGUHpCO01DK0ZJLDhCQUE4QixFQUMvQjtFRGhHSDtJQ0RFLGVwRmlTdUI7SW9GaFN2QiwwQjdES2dDO0k2REpoQyxzQnBGK1J1QixFb0ZySXRCO0lEM0pIO01DSUksZXBGNFJxQjtNb0YzUnJCLDJDN0RHd0I7TTZERnhCLHNCcEYwUnFCLEVFelJBO0lpRlB6QjtNQ1dJLGVwRnFScUI7TW9GcFJyQiwyQzdESndCO002REt4QixzQnBGbVJxQixFb0ZsUnRCO0lEZEg7OztNQ21CSSxlcEY2UXFCO01vRjVRckIsMkM3RFp3QjtNNkRheEIsc0JwRjJRcUIsRW9GbFF0QjtNRDlCSDs7Ozs7OztRQzBCTSxlcEZzUW1CO1FvRnJRbkIsMkM3RGxCdUI7UTZEbUJ2QixzQnBGb1FtQixFb0ZuUXBCO0lBSUg7TUFDRSxlQUFlO01BQ2YsMEI3RDlCOEIsRTZEb0MvQjtNQVJEO1FBTUksMkM3RC9Cc0IsRTZEZ0N2QjtJRHhDTDtNQytDTSwwQjdEMUM0QjtNNkQyQzVCLHNCcEZnUG1CLEVvRi9PcEI7SURqREw7TUNtRE0sMEI3RDlDNEI7TTZEK0M1QixzQnBGNE9tQixFRXpSQTtJa0ZzRXZCO01BOUVBLGVwRmlTdUI7TW9GaFN2QiwwQjdES2dDO002REpoQyxzQnBGK1J1QixFb0ZyTXRCO01BZEQ7UUF6RUUsZXBGNFJxQjtRb0YzUnJCLDRDN0RPZ0M7UTZETmhDLHdDN0RNZ0MsRXJCTFg7TWtGc0V2QjtRQWxFRSxlcEZxUnFCO1FvRnBSckIsNEM3REFnQztRNkRDaEMsd0M3RERnQyxFNkRFakM7TUErREQ7OztRQTFERSxlcEY2UXFCO1FvRjVRckIsNEM3RFJnQztRNkRTaEMsd0M3RFRnQyxFNkRrQmpDO1FBK0NEOzs7Ozs7O1VBbkRJLGVwRnNRbUI7VW9GclFuQiw0QzdEZCtCO1U2RGUvQix3QzdEZitCLEU2RGdCaEM7TUFJSDtRQUNFLGVBQWU7UUFDZiwwQjdEOUI4QixFNkRvQy9CO1FBUkQ7VUFNSSw0QzdEM0I4QixFNkQ0Qi9CO01BcUNIO1FBOUJJLDBCN0QxQzRCO1E2RDJDNUIsc0JwRmdQbUIsRW9GL09wQjtNQTRCSDtRQTFCSSwwQjdEOUM0QjtRNkQrQzVCLHNCcEY0T21CLEVFelJBO0lpRlB6QjtNQytGSSw4QkFBOEIsRUFDL0I7RURoR0g7SUNERSxlcEZrQ2U7SW9GakNmLDBCN0RLZ0M7STZESmhDLHNCcEZnQ2UsRW9GNkhkO0lEOUpIO01DSUksZXBGNkJhO01vRjVCYiwyQzdER3dCO002REZ4QixzQnBGMkJhLEVFMUJRO0lpRlB6QjtNQ1dJLGVwRnNCYTtNb0ZyQmIsMkM3REp3QjtNNkRLeEIsc0JwRm9CYSxFb0ZuQmQ7SURkSDs7O01DbUJJLGVwRmNhO01vRmJiLDJDN0Rad0I7TTZEYXhCLHNCcEZZYSxFb0ZIZDtNRDlCSDs7Ozs7OztRQzBCTSxlcEZPVztRb0ZOWCwyQzdEbEJ1QjtRNkRtQnZCLHNCcEZLVyxFb0ZKWjtJQUlIO01BQ0UsZUFBZTtNQUNmLDBCN0Q5QjhCLEU2RG9DL0I7TUFSRDtRQU1JLDJDN0QvQnNCLEU2RGdDdkI7SUR4Q0w7TUMrQ00sMEI3RDFDNEI7TTZEMkM1QixzQnBGZlcsRW9GZ0JaO0lEakRMO01DbURNLDBCN0Q5QzRCO002RCtDNUIsc0JwRm5CVyxFRTFCUTtJa0ZzRXZCO01BOUVBLGVwRmtDZTtNb0ZqQ2YsMEI3REtnQztNNkRKaEMsc0JwRmdDZSxFb0YwRGQ7TUFkRDtRQXpFRSxlcEY2QmE7UW9GNUJiLDRDN0RPZ0M7UTZETmhDLHdDN0RNZ0MsRXJCTFg7TWtGc0V2QjtRQWxFRSxlcEZzQmE7UW9GckJiLDRDN0RBZ0M7UTZEQ2hDLHdDN0REZ0MsRTZERWpDO01BK0REOzs7UUExREUsZXBGY2E7UW9GYmIsNEM3RFJnQztRNkRTaEMsd0M3RFRnQyxFNkRrQmpDO1FBK0NEOzs7Ozs7O1VBbkRJLGVwRk9XO1VvRk5YLDRDN0RkK0I7VTZEZS9CLHdDN0RmK0IsRTZEZ0JoQztNQUlIO1FBQ0UsZUFBZTtRQUNmLDBCN0Q5QjhCLEU2RG9DL0I7UUFSRDtVQU1JLDRDN0QzQjhCLEU2RDRCL0I7TUFxQ0g7UUE5QkksMEI3RDFDNEI7UTZEMkM1Qixz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MEIsRUFFN0I7O0FBRUM7RUFFRSxpQkFBMEIsRUFFN0I7O0FHcExQO0VBQ0UsbUJBQW1CLEVBQ3BCOztBQUVEO0VBQ0UsbUJBQW1CO0VBQ25CLE9BQU87RUFDUCxRQUFRO0VBQ1IsV0FBVztFQUNYLFlBQVk7RUFDWixhQUFhO0VBQ2IsaUJBQWlCO0VBQ2pCLHFCQUFxQjtFQUNyQix1QkFBdUIsRUF5QnhCO0VBbENEO0lBWUksbUJBQW1CO0lBQ25CLFlBQVk7SUFDWixhQUFhO0lBQ2Isa0JBQWtCO0lBQ2xCLG1CQUFtQjtJQUNuQixxQkFBcUI7SUFDckIsc0MvRzJVUTtJK0cxVVIsb0JBQW9CO0lBQ3BCLFdBQVc7SUFDWCw0QkFBZ0I7UUFBaEIsd0JBQWdCO1NBQWhCLHVCQUFnQjtZQUFoQixvQkFBZ0I7SUFDaEIsOEJBQXNCO1FBQXRCLDBCQUFzQjtTQUF0Qix5QkFBc0I7WUFBdEIsc0JBQXNCLEVBV3ZCO0lBakNIO01BeUJNLGFBQWE7TUFDYix1R0FBc0Y7TUFBdEYsK0ZBQXNGO01BQXRGLCtJQUFzRjtNQUF0Rix1RkFBc0Y7TUFBdEYsc01BQXNGLEVBQ3ZGO0lBM0JMO01BOEJNLFdBQVc7TUFDWCxzREFBOEM7TUFBOUMsaURBQThDO01BQTlDLDhDQUE4QyxFQUMvQyIsImZpbGUiOiJib290c3RyYXAtbWF0ZXJpYWwtZGVzaWduLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIkBtaXhpbiBoZWFkaW5ncygpIHtcbiAgaDEsIGgyLCBoMywgaDQsIGg1LCBoNiB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8gMTRzcCBmb250XG4lc3RkLWZvbnQge1xuICBmb250LXNpemU6IC44NzVyZW07XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG59XG4iLCIvKiEgbm9ybWFsaXplLmNzcyB2NC4wLjAgfCBNSVQgTGljZW5zZSB8IGdpdGh1Yi5jb20vbmVjb2xhcy9ub3JtYWxpemUuY3NzICovXG5cbi8vXG4vLyAxLiBDaGFuZ2UgdGhlIGRlZmF1bHQgZm9udCBmYW1pbHkgaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4vLyAyLiBQcmV2ZW50IGFkanVzdG1lbnRzIG9mIGZvbnQgc2l6ZSBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2VzIGluIElFIGFuZCBpT1MuXG4vL1xuXG5odG1sIHtcbiAgZm9udC1mYW1pbHk6IHNhbnMtc2VyaWY7IC8vIDFcbiAgLW1zLXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8vIDJcbiAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvLyAyXG59XG5cbi8vXG4vLyBSZW1vdmUgdGhlIG1hcmdpbiBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbi8vXG5cbmJvZHkge1xuICBtYXJnaW46IDA7XG59XG5cbi8vIEhUTUw1IGRpc3BsYXkgZGVmaW5pdGlvbnNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vXG4vLyBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbi8vIDEuIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIEVkZ2UsIElFLCBhbmQgRmlyZWZveC5cbi8vIDIuIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFLlxuLy9cblxuYXJ0aWNsZSxcbmFzaWRlLFxuZGV0YWlscywgLy8gMVxuZmlnY2FwdGlvbixcbmZpZ3VyZSxcbmZvb3RlcixcbmhlYWRlcixcbm1haW4sIC8vIDJcbm1lbnUsXG5uYXYsXG5zZWN0aW9uLFxuc3VtbWFyeSB7IC8vIDFcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8vXG4vLyBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbi8vXG5cbmF1ZGlvLFxuY2FudmFzLFxucHJvZ3Jlc3MsXG52aWRlbyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuLy9cbi8vIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIGlPUyA0LTcuXG4vL1xuXG5hdWRpbzpub3QoW2NvbnRyb2xzXSkge1xuICBkaXNwbGF5OiBub25lO1xuICBoZWlnaHQ6IDA7XG59XG5cbi8vXG4vLyBBZGQgdGhlIGNvcnJlY3QgdmVydGljYWwgYWxpZ25tZW50IGluIENocm9tZSwgRmlyZWZveCwgYW5kIE9wZXJhLlxuLy9cblxucHJvZ3Jlc3Mge1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG5cbi8vXG4vLyBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSAxMC0uXG4vLyAxLiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRS5cbi8vXG5cbnRlbXBsYXRlLCAvLyAyXG5baGlkZGVuXSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8vIExpbmtzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vL1xuLy8gUmVtb3ZlIHRoZSBncmF5IGJhY2tncm91bmQgb24gYWN0aXZlIGxpbmtzIGluIElFIDEwLlxuLy9cblxuYSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuXG4vL1xuLy8gUmVtb3ZlIHRoZSBvdXRsaW5lIG9uIGZvY3VzZWQgbGlua3Mgd2hlbiB0aGV5IGFyZSBhbHNvIGFjdGl2ZSBvciBob3ZlcmVkXG4vLyBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbi8vXG5cbmE6YWN0aXZlLFxuYTpob3ZlciB7XG4gIG91dGxpbmUtd2lkdGg6IDA7XG59XG5cbi8vIFRleHQtbGV2ZWwgc2VtYW50aWNzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vL1xuLy8gMS4gUmVtb3ZlIHRoZSBib3R0b20gYm9yZGVyIGluIEZpcmVmb3ggMzktLlxuLy8gMi4gQWRkIHRoZSBjb3JyZWN0IHRleHQgZGVjb3JhdGlvbiBpbiBDaHJvbWUsIEVkZ2UsIElFLCBPcGVyYSwgYW5kIFNhZmFyaS5cbi8vXG5cbmFiYnJbdGl0bGVdIHtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTsgLy8gMVxuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgLy8gMlxuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7IC8vIDJcbn1cblxuLy9cbi8vIFByZXZlbnQgdGhlIGR1cGxpY2F0ZSBhcHBsaWNhdGlvbiBvZiBgYm9sZGVyYCBieSB0aGUgbmV4dCBydWxlIGluIFNhZmFyaSA2LlxuLy9cblxuYixcbnN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiBpbmhlcml0O1xufVxuXG4vL1xuLy8gQWRkIHRoZSBjb3JyZWN0IGZvbnQgd2VpZ2h0IGluIENocm9tZSwgRWRnZSwgYW5kIFNhZmFyaS5cbi8vXG5cbmIsXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogYm9sZGVyO1xufVxuXG4vL1xuLy8gQWRkIHRoZSBjb3JyZWN0IGZvbnQgc3R5bGUgaW4gQW5kcm9pZCA0LjMtLlxuLy9cblxuZGZuIHtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xufVxuXG4vL1xuLy8gQ29ycmVjdCB0aGUgZm9udCBzaXplIGFuZCBtYXJnaW4gb24gYGgxYCBlbGVtZW50cyB3aXRoaW4gYHNlY3Rpb25gIGFuZFxuLy8gYGFydGljbGVgIGNvbnRleHRzIGluIENocm9tZSwgRmlyZWZveCwgYW5kIFNhZmFyaS5cbi8vXG5cbmgxIHtcbiAgZm9udC1zaXplOiAyZW07XG4gIG1hcmdpbjogMC42N2VtIDA7XG59XG5cbi8vXG4vLyBBZGQgdGhlIGNvcnJlY3QgYmFja2dyb3VuZCBhbmQgY29sb3IgaW4gSUUgOS0uXG4vL1xuXG5tYXJrIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmMDtcbiAgY29sb3I6ICMwMDA7XG59XG5cbi8vXG4vLyBBZGQgdGhlIGNvcnJlY3QgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbi8vXG5cbnNtYWxsIHtcbiAgZm9udC1zaXplOiA4MCU7XG59XG5cbi8vXG4vLyBQcmV2ZW50IGBzdWJgIGFuZCBgc3VwYCBlbGVtZW50cyBmcm9tIGFmZmVjdGluZyB0aGUgbGluZSBoZWlnaHQgaW5cbi8vIGFsbCBicm93c2Vycy5cbi8vXG5cbnN1YixcbnN1cCB7XG4gIGZvbnQtc2l6ZTogNzUlO1xuICBsaW5lLWhlaWdodDogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG5cbnN1YiB7XG4gIGJvdHRvbTogLTAuMjVlbTtcbn1cblxuc3VwIHtcbiAgdG9wOiAtMC41ZW07XG59XG5cbi8vIEVtYmVkZGVkIGNvbnRlbnRcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vXG4vLyBSZW1vdmUgdGhlIGJvcmRlciBvbiBpbWFnZXMgaW5zaWRlIGxpbmtzIGluIElFIDEwLS5cbi8vXG5cbmltZyB7XG4gIGJvcmRlci1zdHlsZTogbm9uZTtcbn1cblxuLy9cbi8vIEhpZGUgdGhlIG92ZXJmbG93IGluIElFLlxuLy9cblxuc3ZnOm5vdCg6cm9vdCkge1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4vLyBHcm91cGluZyBjb250ZW50XG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vL1xuLy8gMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbi8vIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbi8vXG5cbmNvZGUsXG5rYmQsXG5wcmUsXG5zYW1wIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlOyAvLyAxXG4gIGZvbnQtc2l6ZTogMWVtOyAvLyAyXG59XG5cbi8vXG4vLyBBZGQgdGhlIGNvcnJlY3QgbWFyZ2luIGluIElFIDguXG4vL1xuXG5maWd1cmUge1xuICBtYXJnaW46IDFlbSA0MHB4O1xufVxuXG4vL1xuLy8gMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gRmlyZWZveC5cbi8vIDIuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UgYW5kIElFLlxuLy9cblxuaHIge1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDsgLy8gMVxuICBoZWlnaHQ6IDA7IC8vIDFcbiAgb3ZlcmZsb3c6IHZpc2libGU7IC8vIDJcbn1cblxuLy8gRm9ybXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vXG4vLyBDaGFuZ2UgZm9udCBwcm9wZXJ0aWVzIHRvIGBpbmhlcml0YCBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbi8vXG5cbmJ1dHRvbixcbmlucHV0LFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICBmb250OiBpbmhlcml0O1xufVxuXG4vL1xuLy8gUmVzdG9yZSB0aGUgZm9udCB3ZWlnaHQgdW5zZXQgYnkgdGhlIHByZXZpb3VzIHJ1bGUuXG4vL1xuXG5vcHRncm91cCB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4vL1xuLy8gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gSUUuXG4vLyAxLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlLlxuLy8gMi4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZSwgRmlyZWZveCwgYW5kIElFLlxuLy9cblxuYnV0dG9uLFxuaW5wdXQsIC8vIDFcbnNlbGVjdCB7IC8vIDJcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG59XG5cbi8vXG4vLyBSZW1vdmUgdGhlIG1hcmdpbiBpbiBTYWZhcmkuXG4vLyAxLiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBGaXJlZm94IGFuZCBTYWZhcmkuXG4vL1xuXG5idXR0b24sXG5pbnB1dCxcbnNlbGVjdCxcbnRleHRhcmVhIHsgLy8gMVxuICBtYXJnaW46IDA7XG59XG5cbi8vXG4vLyBSZW1vdmUgdGhlIGluaGVyaXRlbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEVkZ2UsIEZpcmVmb3gsIGFuZCBJRS5cbi8vIDEuIFJlbW92ZSB0aGUgaW5oZXJpdGVuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRmlyZWZveC5cbi8vXG5cbmJ1dHRvbixcbnNlbGVjdCB7IC8vIDFcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG59XG5cbi8vXG4vLyBDaGFuZ2UgdGhlIGN1cnNvciBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbi8vXG5cbmJ1dHRvbixcblt0eXBlPVwiYnV0dG9uXCJdLFxuW3R5cGU9XCJyZXNldFwiXSxcblt0eXBlPVwic3VibWl0XCJdIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4vL1xuLy8gUmVzdG9yZSB0aGUgZGVmYXVsdCBjdXJzb3IgdG8gZGlzYWJsZWQgZWxlbWVudHMgdW5zZXQgYnkgdGhlIHByZXZpb3VzIHJ1bGUuXG4vL1xuXG5bZGlzYWJsZWRdIHtcbiAgY3Vyc29yOiBkZWZhdWx0O1xufVxuXG4vL1xuLy8gMS4gUHJldmVudCBhIFdlYktpdCBidWcgd2hlcmUgKDIpIGRlc3Ryb3lzIG5hdGl2ZSBgYXVkaW9gIGFuZCBgdmlkZW9gXG4vLyAgICBjb250cm9scyBpbiBBbmRyb2lkIDQuXG4vLyAyLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUy5cbi8vXG5cbmJ1dHRvbixcbmh0bWwgW3R5cGU9XCJidXR0b25cIl0sIC8vIDFcblt0eXBlPVwicmVzZXRcIl0sXG5bdHlwZT1cInN1Ym1pdFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvLyAyXG59XG5cbi8vXG4vLyBSZW1vdmUgdGhlIGlubmVyIGJvcmRlciBhbmQgcGFkZGluZyBpbiBGaXJlZm94LlxuLy9cblxuYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFxuaW5wdXQ6Oi1tb3otZm9jdXMtaW5uZXIge1xuICBib3JkZXI6IDA7XG4gIHBhZGRpbmc6IDA7XG59XG5cbi8vXG4vLyBSZXN0b3JlIHRoZSBmb2N1cyBzdHlsZXMgdW5zZXQgYnkgdGhlIHByZXZpb3VzIHJ1bGUuXG4vL1xuXG5idXR0b246LW1vei1mb2N1c3JpbmcsXG5pbnB1dDotbW96LWZvY3VzcmluZyB7XG4gIG91dGxpbmU6IDFweCBkb3R0ZWQgQnV0dG9uVGV4dDtcbn1cblxuLy9cbi8vIENoYW5nZSB0aGUgYm9yZGVyLCBtYXJnaW4sIGFuZCBwYWRkaW5nIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuLy9cblxuZmllbGRzZXQge1xuICBib3JkZXI6IDFweCBzb2xpZCAjYzBjMGMwO1xuICBtYXJnaW46IDAgMnB4O1xuICBwYWRkaW5nOiAwLjM1ZW0gMC42MjVlbSAwLjc1ZW07XG59XG5cbi8vXG4vLyAxLiBDb3JyZWN0IHRoZSB0ZXh0IHdyYXBwaW5nIGluIEVkZ2UgYW5kIElFLlxuLy8gMi4gQ29ycmVjdCB0aGUgY29sb3IgaW5oZXJpdGFuY2UgZnJvbSBgZmllbGRzZXRgIGVsZW1lbnRzIGluIElFLlxuLy8gMy4gUmVtb3ZlIHRoZSBwYWRkaW5nIHNvIGRldmVsb3BlcnMgYXJlIG5vdCBjYXVnaHQgb3V0IHdoZW4gdGhleSB6ZXJvIG91dFxuLy8gICAgYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBhbGwgYnJvd3NlcnMuXG4vL1xuXG5sZWdlbmQge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvLyAxXG4gIGNvbG9yOiBpbmhlcml0OyAvLyAyXG4gIGRpc3BsYXk6IHRhYmxlOyAvLyAxXG4gIG1heC13aWR0aDogMTAwJTsgLy8gMVxuICBwYWRkaW5nOiAwOyAvLyAzXG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7IC8vIDFcbn1cblxuLy9cbi8vIFJlbW92ZSB0aGUgZGVmYXVsdCB2ZXJ0aWNhbCBzY3JvbGxiYXIgaW4gSUUuXG4vL1xuXG50ZXh0YXJlYSB7XG4gIG92ZXJmbG93OiBhdXRvO1xufVxuXG4vL1xuLy8gMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gSUUgMTAtLlxuLy8gMi4gUmVtb3ZlIHRoZSBwYWRkaW5nIGluIElFIDEwLS5cbi8vXG5cblt0eXBlPVwiY2hlY2tib3hcIl0sXG5bdHlwZT1cInJhZGlvXCJdIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLy8gMVxuICBwYWRkaW5nOiAwOyAvLyAyXG59XG5cbi8vXG4vLyBDb3JyZWN0IHRoZSBjdXJzb3Igc3R5bGUgb2YgaW5jcmVtZW50IGFuZCBkZWNyZW1lbnQgYnV0dG9ucyBpbiBDaHJvbWUuXG4vL1xuXG5bdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcblt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG4vL1xuLy8gQ29ycmVjdCB0aGUgb2RkIGFwcGVhcmFuY2Ugb2Ygc2VhcmNoIGlucHV0cyBpbiBDaHJvbWUgYW5kIFNhZmFyaS5cbi8vXG5cblt0eXBlPVwic2VhcmNoXCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7XG59XG5cbi8vXG4vLyBSZW1vdmUgdGhlIGlubmVyIHBhZGRpbmcgYW5kIGNhbmNlbCBidXR0b25zIGluIENocm9tZSBvbiBPUyBYIGFuZFxuLy8gU2FmYXJpIG9uIE9TIFguXG4vL1xuXG5bdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbixcblt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xufVxuIiwiLmNhcmQge1xuICBmb250LXNpemU6IC44NzVyZW07XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7IH1cblxuLyohIG5vcm1hbGl6ZS5jc3MgdjQuMC4wIHwgTUlUIExpY2Vuc2UgfCBnaXRodWIuY29tL25lY29sYXMvbm9ybWFsaXplLmNzcyAqL1xuaHRtbCB7XG4gIGZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmO1xuICAtbXMtdGV4dC1zaXplLWFkanVzdDogMTAwJTtcbiAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyB9XG5cbmJvZHkge1xuICBtYXJnaW46IDA7IH1cblxuYXJ0aWNsZSxcbmFzaWRlLFxuZGV0YWlscyxcbmZpZ2NhcHRpb24sXG5maWd1cmUsXG5mb290ZXIsXG5oZWFkZXIsXG5tYWluLFxubWVudSxcbm5hdixcbnNlY3Rpb24sXG5zdW1tYXJ5IHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuYXVkaW8sXG5jYW52YXMsXG5wcm9ncmVzcyxcbnZpZGVvIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG5cbmF1ZGlvOm5vdChbY29udHJvbHNdKSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGhlaWdodDogMDsgfVxuXG5wcm9ncmVzcyB7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsgfVxuXG50ZW1wbGF0ZSxcbltoaWRkZW5dIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG5hIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cblxuYTphY3RpdmUsXG5hOmhvdmVyIHtcbiAgb3V0bGluZS13aWR0aDogMDsgfVxuXG5hYmJyW3RpdGxlXSB7XG4gIGJvcmRlci1ib3R0b206IG5vbmU7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7IH1cblxuYixcbnN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiBpbmhlcml0OyB9XG5cbmIsXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogYm9sZGVyOyB9XG5cbmRmbiB7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYzsgfVxuXG5oMSB7XG4gIGZvbnQtc2l6ZTogMmVtO1xuICBtYXJnaW46IDAuNjdlbSAwOyB9XG5cbm1hcmsge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmYwO1xuICBjb2xvcjogIzAwMDsgfVxuXG5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogODAlOyB9XG5cbnN1YixcbnN1cCB7XG4gIGZvbnQtc2l6ZTogNzUlO1xuICBsaW5lLWhlaWdodDogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7IH1cblxuc3ViIHtcbiAgYm90dG9tOiAtMC4yNWVtOyB9XG5cbnN1cCB7XG4gIHRvcDogLTAuNWVtOyB9XG5cbmltZyB7XG4gIGJvcmRlci1zdHlsZTogbm9uZTsgfVxuXG5zdmc6bm90KDpyb290KSB7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cblxuY29kZSxcbmtiZCxcbnByZSxcbnNhbXAge1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7XG4gIGZvbnQtc2l6ZTogMWVtOyB9XG5cbmZpZ3VyZSB7XG4gIG1hcmdpbjogMWVtIDQwcHg7IH1cblxuaHIge1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgaGVpZ2h0OiAwO1xuICBvdmVyZmxvdzogdmlzaWJsZTsgfVxuXG5idXR0b24sXG5pbnB1dCxcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgZm9udDogaW5oZXJpdDsgfVxuXG5vcHRncm91cCB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG5cbmJ1dHRvbixcbmlucHV0LFxuc2VsZWN0IHtcbiAgb3ZlcmZsb3c6IHZpc2libGU7IH1cblxuYnV0dG9uLFxuaW5wdXQsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIG1hcmdpbjogMDsgfVxuXG5idXR0b24sXG5zZWxlY3Qge1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgfVxuXG5idXR0b24sXG5bdHlwZT1cImJ1dHRvblwiXSxcblt0eXBlPVwicmVzZXRcIl0sXG5bdHlwZT1cInN1Ym1pdFwiXSB7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuXG5bZGlzYWJsZWRdIHtcbiAgY3Vyc29yOiBkZWZhdWx0OyB9XG5cbmJ1dHRvbixcbmh0bWwgW3R5cGU9XCJidXR0b25cIl0sXG5bdHlwZT1cInJlc2V0XCJdLFxuW3R5cGU9XCJzdWJtaXRcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgfVxuXG5idXR0b246Oi1tb3otZm9jdXMtaW5uZXIsXG5pbnB1dDo6LW1vei1mb2N1cy1pbm5lciB7XG4gIGJvcmRlcjogMDtcbiAgcGFkZGluZzogMDsgfVxuXG5idXR0b246LW1vei1mb2N1c3JpbmcsXG5pbnB1dDotbW96LWZvY3VzcmluZyB7XG4gIG91dGxpbmU6IDFweCBkb3R0ZWQgQnV0dG9uVGV4dDsgfVxuXG5maWVsZHNldCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjMGMwYzA7XG4gIG1hcmdpbjogMCAycHg7XG4gIHBhZGRpbmc6IDAuMzVlbSAwLjYyNWVtIDAuNzVlbTsgfVxuXG5sZWdlbmQge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBjb2xvcjogaW5oZXJpdDtcbiAgZGlzcGxheTogdGFibGU7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgcGFkZGluZzogMDtcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDsgfVxuXG50ZXh0YXJlYSB7XG4gIG92ZXJmbG93OiBhdXRvOyB9XG5cblt0eXBlPVwiY2hlY2tib3hcIl0sXG5bdHlwZT1cInJhZGlvXCJdIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgcGFkZGluZzogMDsgfVxuXG5bdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcblt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgaGVpZ2h0OiBhdXRvOyB9XG5cblt0eXBlPVwic2VhcmNoXCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7IH1cblxuW3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sXG5bdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsgfVxuXG5AbWVkaWEgcHJpbnQge1xuICAqLFxuICAqOjpiZWZvcmUsXG4gICo6OmFmdGVyLFxuICAqOjpmaXJzdC1sZXR0ZXIsXG4gICo6OmZpcnN0LWxpbmUge1xuICAgIHRleHQtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50OyB9XG4gIGEsXG4gIGE6dmlzaXRlZCB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiAgYWJiclt0aXRsZV06OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIiAoXCIgYXR0cih0aXRsZSkgXCIpXCI7IH1cbiAgcHJlLFxuICBibG9ja3F1b3RlIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjOTk5O1xuICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDsgfVxuICB0aGVhZCB7XG4gICAgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwOyB9XG4gIHRyLFxuICBpbWcge1xuICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDsgfVxuICBwLFxuICBoMixcbiAgaDMge1xuICAgIG9ycGhhbnM6IDM7XG4gICAgd2lkb3dzOiAzOyB9XG4gIGgyLFxuICBoMyB7XG4gICAgcGFnZS1icmVhay1hZnRlcjogYXZvaWQ7IH1cbiAgLm5hdmJhciB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAuYnRuID4gLmNhcmV0LCAuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlID4gLmNhcmV0LFxuICAuZHJvcHVwID4gLmJ0biA+IC5jYXJldCxcbiAgLmRyb3B1cCA+IC5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUgPiAuY2FyZXQge1xuICAgIGJvcmRlci10b3AtY29sb3I6ICMwMDAgIWltcG9ydGFudDsgfVxuICAudGFnIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjMDAwOyB9XG4gIC50YWJsZSB7XG4gICAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZSAhaW1wb3J0YW50OyB9XG4gICAgLnRhYmxlIHRkLFxuICAgIC50YWJsZSB0aCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmICFpbXBvcnRhbnQ7IH1cbiAgLnRhYmxlLWJvcmRlcmVkIHRoLFxuICAudGFibGUtYm9yZGVyZWQgdGQge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNkZGQgIWltcG9ydGFudDsgfSB9XG5cbmh0bWwge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XG5cbiosXG4qOjpiZWZvcmUsXG4qOjphZnRlciB7XG4gIGJveC1zaXppbmc6IGluaGVyaXQ7IH1cblxuQC1tcy12aWV3cG9ydCB7XG4gIHdpZHRoOiBkZXZpY2Utd2lkdGg7IH1cblxuaHRtbCB7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgLW1zLW92ZXJmbG93LXN0eWxlOiBzY3JvbGxiYXI7XG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cblxuYm9keSB7XG4gIGZvbnQtZmFtaWx5OiBcIlJvYm90b1wiLCBcIkhlbHZldGljYVwiLCBcIkFyaWFsXCIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmYWZhZmE7IH1cblxuW3RhYmluZGV4PVwiLTFcIl06Zm9jdXMge1xuICBvdXRsaW5lOiBub25lICFpbXBvcnRhbnQ7IH1cblxuaDEsIGgyLCBoMywgaDQsIGg1LCBoNiB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IC41cmVtOyB9XG5cbnAge1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtOyB9XG5cbmFiYnJbdGl0bGVdLFxuYWJicltkYXRhLW9yaWdpbmFsLXRpdGxlXSB7XG4gIGN1cnNvcjogaGVscDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IGRvdHRlZCByZ2JhKDAsIDAsIDAsIDAuMjYpOyB9XG5cbmFkZHJlc3Mge1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0OyB9XG5cbm9sLFxudWwsXG5kbCB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07IH1cblxub2wgb2wsXG51bCB1bCxcbm9sIHVsLFxudWwgb2wge1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbmR0IHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cblxuZGQge1xuICBtYXJnaW4tYm90dG9tOiAuNXJlbTtcbiAgbWFyZ2luLWxlZnQ6IDA7IH1cblxuYmxvY2txdW90ZSB7XG4gIG1hcmdpbjogMCAwIDFyZW07IH1cblxuYSB7XG4gIGNvbG9yOiAjMDA5Njg4O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgYTpmb2N1cywgYTpob3ZlciB7XG4gICAgY29sb3I6ICMwMDRhNDM7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiAgYTpmb2N1cyB7XG4gICAgb3V0bGluZTogNXB4IGF1dG8gLXdlYmtpdC1mb2N1cy1yaW5nLWNvbG9yO1xuICAgIG91dGxpbmUtb2Zmc2V0OiAtMnB4OyB9XG5cbmE6bm90KFtocmVmXSk6bm90KFt0YWJpbmRleF0pIHtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICBhOm5vdChbaHJlZl0pOm5vdChbdGFiaW5kZXhdKTpmb2N1cywgYTpub3QoW2hyZWZdKTpub3QoW3RhYmluZGV4XSk6aG92ZXIge1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICBhOm5vdChbaHJlZl0pOm5vdChbdGFiaW5kZXhdKTpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTsgfVxuXG5wcmUge1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBvdmVyZmxvdzogYXV0bzsgfVxuXG5maWd1cmUge1xuICBtYXJnaW46IDAgMCAxcmVtOyB9XG5cbmltZyB7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cblxuW3JvbGU9XCJidXR0b25cIl0ge1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cblxuYSxcbmFyZWEsXG5idXR0b24sXG5bcm9sZT1cImJ1dHRvblwiXSxcbmlucHV0LFxubGFiZWwsXG5zZWxlY3QsXG5zdW1tYXJ5LFxudGV4dGFyZWEge1xuICB0b3VjaC1hY3Rpb246IG1hbmlwdWxhdGlvbjsgfVxuXG50YWJsZSB7XG4gIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG5cbmNhcHRpb24ge1xuICBwYWRkaW5nLXRvcDogMC43NXJlbTtcbiAgcGFkZGluZy1ib3R0b206IDAuNzVyZW07XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMjYpO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBjYXB0aW9uLXNpZGU6IGJvdHRvbTsgfVxuXG50aCB7XG4gIHRleHQtYWxpZ246IGxlZnQ7IH1cblxubGFiZWwge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbi1ib3R0b206IC41cmVtOyB9XG5cbmJ1dHRvbjpmb2N1cyB7XG4gIG91dGxpbmU6IDFweCBkb3R0ZWQ7XG4gIG91dGxpbmU6IDVweCBhdXRvIC13ZWJraXQtZm9jdXMtcmluZy1jb2xvcjsgfVxuXG5pbnB1dCxcbmJ1dHRvbixcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgbWFyZ2luOiAwO1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgYm9yZGVyLXJhZGl1czogMDsgfVxuXG5pbnB1dFt0eXBlPVwicmFkaW9cIl06ZGlzYWJsZWQsXG5pbnB1dFt0eXBlPVwiY2hlY2tib3hcIl06ZGlzYWJsZWQge1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG5cbmlucHV0W3R5cGU9XCJkYXRlXCJdLFxuaW5wdXRbdHlwZT1cInRpbWVcIl0sXG5pbnB1dFt0eXBlPVwiZGF0ZXRpbWUtbG9jYWxcIl0sXG5pbnB1dFt0eXBlPVwibW9udGhcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGxpc3Rib3g7IH1cblxudGV4dGFyZWEge1xuICByZXNpemU6IHZlcnRpY2FsOyB9XG5cbmZpZWxkc2V0IHtcbiAgbWluLXdpZHRoOiAwO1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG4gIGJvcmRlcjogMDsgfVxuXG5sZWdlbmQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbi1ib3R0b206IC41cmVtO1xuICBmb250LXNpemU6IDEuNXJlbTtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7IH1cblxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsgfVxuXG5vdXRwdXQge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cblxuW2hpZGRlbl0ge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuaDEsIGgyLCBoMywgaDQsIGg1LCBoNixcbi5oMSwgLmgyLCAuaDMsIC5oNCwgLmg1LCAuaDYge1xuICBtYXJnaW4tYm90dG9tOiAwLjI1cmVtO1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgbGluZS1oZWlnaHQ6IDEuMTtcbiAgY29sb3I6IGluaGVyaXQ7IH1cblxuaDEsIC5oMSB7XG4gIGZvbnQtc2l6ZTogMi41cmVtOyB9XG5cbmgyLCAuaDIge1xuICBmb250LXNpemU6IDJyZW07IH1cblxuaDMsIC5oMyB7XG4gIGZvbnQtc2l6ZTogMS43NXJlbTsgfVxuXG5oNCwgLmg0IHtcbiAgZm9udC1zaXplOiAxLjVyZW07IH1cblxuaDUsIC5oNSB7XG4gIGZvbnQtc2l6ZTogMS4yNXJlbTsgfVxuXG5oNiwgLmg2IHtcbiAgZm9udC1zaXplOiAxcmVtOyB9XG5cbi5sZWFkIHtcbiAgZm9udC1zaXplOiAxLjI1cmVtO1xuICBmb250LXdlaWdodDogMzAwOyB9XG5cbi5kaXNwbGF5LTEge1xuICBmb250LXNpemU6IDdyZW07XG4gIGZvbnQtd2VpZ2h0OiAzMDA7IH1cblxuLmRpc3BsYXktMiB7XG4gIGZvbnQtc2l6ZTogMy41cmVtO1xuICBmb250LXdlaWdodDogMzAwOyB9XG5cbi5kaXNwbGF5LTMge1xuICBmb250LXNpemU6IDIuODEyNXJlbTtcbiAgZm9udC13ZWlnaHQ6IDMwMDsgfVxuXG4uZGlzcGxheS00IHtcbiAgZm9udC1zaXplOiAyLjEyNXJlbTtcbiAgZm9udC13ZWlnaHQ6IDMwMDsgfVxuXG5ociB7XG4gIG1hcmdpbi10b3A6IDAuNXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuICBib3JkZXI6IDA7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCByZ2JhKDAsIDAsIDAsIDAuMSk7IH1cblxuc21hbGwsXG4uc21hbGwge1xuICBmb250LXNpemU6IDgwJTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDsgfVxuXG5tYXJrLFxuLm1hcmsge1xuICBwYWRkaW5nOiAwLjJlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmNTcyMjsgfVxuXG4ubGlzdC11bnN0eWxlZCB7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTsgfVxuXG4ubGlzdC1pbmxpbmUge1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7IH1cblxuLmxpc3QtaW5saW5lLWl0ZW0ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgLmxpc3QtaW5saW5lLWl0ZW06bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgbWFyZ2luLXJpZ2h0OiA1cHg7IH1cblxuLmluaXRpYWxpc20ge1xuICBmb250LXNpemU6IDkwJTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuXG4uYmxvY2txdW90ZSB7XG4gIHBhZGRpbmc6IDAuMjVyZW0gMC41cmVtO1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XG4gIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgYm9yZGVyLWxlZnQ6IDAuMjVyZW0gc29saWQgcmdiYSgwLCAwLCAwLCAwLjEyKTsgfVxuXG4uYmxvY2txdW90ZS1mb290ZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1zaXplOiA4MCU7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMjYpOyB9XG4gIC5ibG9ja3F1b3RlLWZvb3Rlcjo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcMjAxNCBcXDAwQTBcIjsgfVxuXG4uYmxvY2txdW90ZS1yZXZlcnNlIHtcbiAgcGFkZGluZy1yaWdodDogMC41cmVtO1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xuICBib3JkZXItcmlnaHQ6IDAuMjVyZW0gc29saWQgcmdiYSgwLCAwLCAwLCAwLjEyKTtcbiAgYm9yZGVyLWxlZnQ6IDA7IH1cblxuLmJsb2NrcXVvdGUtcmV2ZXJzZSAuYmxvY2txdW90ZS1mb290ZXI6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXCI7IH1cblxuLmJsb2NrcXVvdGUtcmV2ZXJzZSAuYmxvY2txdW90ZS1mb290ZXI6OmFmdGVyIHtcbiAgY29udGVudDogXCJcXDAwQTAgXFwyMDE0XCI7IH1cblxuLmltZy1mbHVpZCwgLmNhcm91c2VsLWlubmVyID4gLmNhcm91c2VsLWl0ZW0gPiBpbWcsXG4uY2Fyb3VzZWwtaW5uZXIgPiAuY2Fyb3VzZWwtaXRlbSA+IGEgPiBpbWcge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGF1dG87IH1cblxuLmltZy1yb3VuZGVkIHtcbiAgYm9yZGVyLXJhZGl1czogMC4zcmVtOyB9XG5cbi5pbWctdGh1bWJuYWlsIHtcbiAgcGFkZGluZzogMC4yNXJlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZhZmFmYTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2RkZDtcbiAgYm9yZGVyLXJhZGl1czogMC4xMjVyZW07XG4gIHRyYW5zaXRpb246IGFsbCAuMnMgZWFzZS1pbi1vdXQ7XG4gIGJveC1zaGFkb3c6IDAgMXB4IDJweCByZ2JhKDAsIDAsIDAsIDAuMDc1KTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bzsgfVxuXG4uaW1nLWNpcmNsZSB7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTsgfVxuXG4uZmlndXJlIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG5cbi5maWd1cmUtaW1nIHtcbiAgbWFyZ2luLWJvdHRvbTogMC4yNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDE7IH1cblxuLmZpZ3VyZS1jYXB0aW9uIHtcbiAgZm9udC1zaXplOiA5MCU7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMjYpOyB9XG5cbmNvZGUsXG5rYmQsXG5wcmUsXG5zYW1wIHtcbiAgZm9udC1mYW1pbHk6IE1lbmxvLCBNb25hY28sIENvbnNvbGFzLCBcIkxpYmVyYXRpb24gTW9ub1wiLCBcIkNvdXJpZXIgTmV3XCIsIG1vbm9zcGFjZTsgfVxuXG5jb2RlIHtcbiAgcGFkZGluZzogMC4ycmVtIDAuNHJlbTtcbiAgZm9udC1zaXplOiA5MCU7XG4gIGNvbG9yOiAjYmQ0MTQ3O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWVlO1xuICBib3JkZXItcmFkaXVzOiAwLjEyNXJlbTsgfVxuXG5rYmQge1xuICBwYWRkaW5nOiAwLjJyZW0gMC40cmVtO1xuICBmb250LXNpemU6IDkwJTtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzMzM7XG4gIGJvcmRlci1yYWRpdXM6IDAuMDYyNXJlbTtcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAtMC4xcmVtIDAgcmdiYSgwLCAwLCAwLCAwLjI1KTsgfVxuICBrYmQga2JkIHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGZvbnQtc2l6ZTogMTAwJTtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBib3gtc2hhZG93OiBub25lOyB9XG5cbnByZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBmb250LXNpemU6IDkwJTtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7IH1cbiAgcHJlIGNvZGUge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgZm9udC1zaXplOiBpbmhlcml0O1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1yYWRpdXM6IDA7IH1cblxuLnByZS1zY3JvbGxhYmxlIHtcbiAgbWF4LWhlaWdodDogMzQwcHg7XG4gIG92ZXJmbG93LXk6IHNjcm9sbDsgfVxuXG4uY29udGFpbmVyIHtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgcGFkZGluZy1sZWZ0OiAxNXB4O1xuICBwYWRkaW5nLXJpZ2h0OiAxNXB4OyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA1NDRweCkge1xuICAgIC5jb250YWluZXIge1xuICAgICAgbWF4LXdpZHRoOiA1NzZweDsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5jb250YWluZXIge1xuICAgICAgbWF4LXdpZHRoOiA3MjBweDsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAgIC5jb250YWluZXIge1xuICAgICAgbWF4LXdpZHRoOiA5NDBweDsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgICAuY29udGFpbmVyIHtcbiAgICAgIG1heC13aWR0aDogMTE0MHB4OyB9IH1cblxuLmNvbnRhaW5lci1mbHVpZCB7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIHBhZGRpbmctbGVmdDogMTVweDtcbiAgcGFkZGluZy1yaWdodDogMTVweDsgfVxuXG4ucm93IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBtYXJnaW4tbGVmdDogLTE1cHg7XG4gIG1hcmdpbi1yaWdodDogLTE1cHg7IH1cblxuLmNvbC14cy0xLCAuY29sLXhzLTIsIC5jb2wteHMtMywgLmNvbC14cy00LCAuY29sLXhzLTUsIC5jb2wteHMtNiwgLmNvbC14cy03LCAuY29sLXhzLTgsIC5jb2wteHMtOSwgLmNvbC14cy0xMCwgLmNvbC14cy0xMSwgLmNvbC14cy0xMiwgLmNvbC1zbS0xLCAuY29sLXNtLTIsIC5jb2wtc20tMywgLmNvbC1zbS00LCAuY29sLXNtLTUsIC5jb2wtc20tNiwgLmNvbC1zbS03LCAuY29sLXNtLTgsIC5jb2wtc20tOSwgLmNvbC1zbS0xMCwgLmNvbC1zbS0xMSwgLmNvbC1zbS0xMiwgLmNvbC1tZC0xLCAuY29sLW1kLTIsIC5jb2wtbWQtMywgLmNvbC1tZC00LCAuY29sLW1kLTUsIC5jb2wtbWQtNiwgLmNvbC1tZC03LCAuY29sLW1kLTgsIC5jb2wtbWQtOSwgLmNvbC1tZC0xMCwgLmNvbC1tZC0xMSwgLmNvbC1tZC0xMiwgLmNvbC1sZy0xLCAuY29sLWxnLTIsIC5jb2wtbGctMywgLmNvbC1sZy00LCAuY29sLWxnLTUsIC5jb2wtbGctNiwgLmNvbC1sZy03LCAuY29sLWxnLTgsIC5jb2wtbGctOSwgLmNvbC1sZy0xMCwgLmNvbC1sZy0xMSwgLmNvbC1sZy0xMiwgLmNvbC14bC0xLCAuY29sLXhsLTIsIC5jb2wteGwtMywgLmNvbC14bC00LCAuY29sLXhsLTUsIC5jb2wteGwtNiwgLmNvbC14bC03LCAuY29sLXhsLTgsIC5jb2wteGwtOSwgLmNvbC14bC0xMCwgLmNvbC14bC0xMSwgLmNvbC14bC0xMiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWluLWhlaWdodDogMXB4O1xuICBwYWRkaW5nLXJpZ2h0OiAxNXB4O1xuICBwYWRkaW5nLWxlZnQ6IDE1cHg7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi5jb2wteHMge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGZsZXgtYmFzaXM6IDA7XG4gIGZsZXgtZ3JvdzogMTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBtaW4taGVpZ2h0OiAxcHg7XG4gIHBhZGRpbmctcmlnaHQ6IDE1cHg7XG4gIHBhZGRpbmctbGVmdDogMTVweDsgfVxuXG4uY29sLXhzLTEge1xuICBmbGV4OiAwIDAgOC4zMzMzMyU7XG4gIG1heC13aWR0aDogOC4zMzMzMyU7IH1cblxuLmNvbC14cy0yIHtcbiAgZmxleDogMCAwIDE2LjY2NjY3JTtcbiAgbWF4LXdpZHRoOiAxNi42NjY2NyU7IH1cblxuLmNvbC14cy0zIHtcbiAgZmxleDogMCAwIDI1JTtcbiAgbWF4LXdpZHRoOiAyNSU7IH1cblxuLmNvbC14cy00IHtcbiAgZmxleDogMCAwIDMzLjMzMzMzJTtcbiAgbWF4LXdpZHRoOiAzMy4zMzMzMyU7IH1cblxuLmNvbC14cy01IHtcbiAgZmxleDogMCAwIDQxLjY2NjY3JTtcbiAgbWF4LXdpZHRoOiA0MS42NjY2NyU7IH1cblxuLmNvbC14cy02IHtcbiAgZmxleDogMCAwIDUwJTtcbiAgbWF4LXdpZHRoOiA1MCU7IH1cblxuLmNvbC14cy03IHtcbiAgZmxleDogMCAwIDU4LjMzMzMzJTtcbiAgbWF4LXdpZHRoOiA1OC4zMzMzMyU7IH1cblxuLmNvbC14cy04IHtcbiAgZmxleDogMCAwIDY2LjY2NjY3JTtcbiAgbWF4LXdpZHRoOiA2Ni42NjY2NyU7IH1cblxuLmNvbC14cy05IHtcbiAgZmxleDogMCAwIDc1JTtcbiAgbWF4LXdpZHRoOiA3NSU7IH1cblxuLmNvbC14cy0xMCB7XG4gIGZsZXg6IDAgMCA4My4zMzMzMyU7XG4gIG1heC13aWR0aDogODMuMzMzMzMlOyB9XG5cbi5jb2wteHMtMTEge1xuICBmbGV4OiAwIDAgOTEuNjY2NjclO1xuICBtYXgtd2lkdGg6IDkxLjY2NjY3JTsgfVxuXG4uY29sLXhzLTEyIHtcbiAgZmxleDogMCAwIDEwMCU7XG4gIG1heC13aWR0aDogMTAwJTsgfVxuXG4ucHVsbC14cy0wIHtcbiAgcmlnaHQ6IGF1dG87IH1cblxuLnB1bGwteHMtMSB7XG4gIHJpZ2h0OiA4LjMzMzMzJTsgfVxuXG4ucHVsbC14cy0yIHtcbiAgcmlnaHQ6IDE2LjY2NjY3JTsgfVxuXG4ucHVsbC14cy0zIHtcbiAgcmlnaHQ6IDI1JTsgfVxuXG4ucHVsbC14cy00IHtcbiAgcmlnaHQ6IDMzLjMzMzMzJTsgfVxuXG4ucHVsbC14cy01IHtcbiAgcmlnaHQ6IDQxLjY2NjY3JTsgfVxuXG4ucHVsbC14cy02IHtcbiAgcmlnaHQ6IDUwJTsgfVxuXG4ucHVsbC14cy03IHtcbiAgcmlnaHQ6IDU4LjMzMzMzJTsgfVxuXG4ucHVsbC14cy04IHtcbiAgcmlnaHQ6IDY2LjY2NjY3JTsgfVxuXG4ucHVsbC14cy05IHtcbiAgcmlnaHQ6IDc1JTsgfVxuXG4ucHVsbC14cy0xMCB7XG4gIHJpZ2h0OiA4My4zMzMzMyU7IH1cblxuLnB1bGwteHMtMTEge1xuICByaWdodDogOTEuNjY2NjclOyB9XG5cbi5wdWxsLXhzLTEyIHtcbiAgcmlnaHQ6IDEwMCU7IH1cblxuLnB1c2gteHMtMCB7XG4gIGxlZnQ6IGF1dG87IH1cblxuLnB1c2gteHMtMSB7XG4gIGxlZnQ6IDguMzMzMzMlOyB9XG5cbi5wdXNoLXhzLTIge1xuICBsZWZ0OiAxNi42NjY2NyU7IH1cblxuLnB1c2gteHMtMyB7XG4gIGxlZnQ6IDI1JTsgfVxuXG4ucHVzaC14cy00IHtcbiAgbGVmdDogMzMuMzMzMzMlOyB9XG5cbi5wdXNoLXhzLTUge1xuICBsZWZ0OiA0MS42NjY2NyU7IH1cblxuLnB1c2gteHMtNiB7XG4gIGxlZnQ6IDUwJTsgfVxuXG4ucHVzaC14cy03IHtcbiAgbGVmdDogNTguMzMzMzMlOyB9XG5cbi5wdXNoLXhzLTgge1xuICBsZWZ0OiA2Ni42NjY2NyU7IH1cblxuLnB1c2gteHMtOSB7XG4gIGxlZnQ6IDc1JTsgfVxuXG4ucHVzaC14cy0xMCB7XG4gIGxlZnQ6IDgzLjMzMzMzJTsgfVxuXG4ucHVzaC14cy0xMSB7XG4gIGxlZnQ6IDkxLjY2NjY3JTsgfVxuXG4ucHVzaC14cy0xMiB7XG4gIGxlZnQ6IDEwMCU7IH1cblxuLm9mZnNldC14cy0xIHtcbiAgbWFyZ2luLWxlZnQ6IDguMzMzMzMlOyB9XG5cbi5vZmZzZXQteHMtMiB7XG4gIG1hcmdpbi1sZWZ0OiAxNi42NjY2NyU7IH1cblxuLm9mZnNldC14cy0zIHtcbiAgbWFyZ2luLWxlZnQ6IDI1JTsgfVxuXG4ub2Zmc2V0LXhzLTQge1xuICBtYXJnaW4tbGVmdDogMzMuMzMzMzMlOyB9XG5cbi5vZmZzZXQteHMtNSB7XG4gIG1hcmdpbi1sZWZ0OiA0MS42NjY2NyU7IH1cblxuLm9mZnNldC14cy02IHtcbiAgbWFyZ2luLWxlZnQ6IDUwJTsgfVxuXG4ub2Zmc2V0LXhzLTcge1xuICBtYXJnaW4tbGVmdDogNTguMzMzMzMlOyB9XG5cbi5vZmZzZXQteHMtOCB7XG4gIG1hcmdpbi1sZWZ0OiA2Ni42NjY2NyU7IH1cblxuLm9mZnNldC14cy05IHtcbiAgbWFyZ2luLWxlZnQ6IDc1JTsgfVxuXG4ub2Zmc2V0LXhzLTEwIHtcbiAgbWFyZ2luLWxlZnQ6IDgzLjMzMzMzJTsgfVxuXG4ub2Zmc2V0LXhzLTExIHtcbiAgbWFyZ2luLWxlZnQ6IDkxLjY2NjY3JTsgfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNTQ0cHgpIHtcbiAgLmNvbC1zbSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZsZXgtYmFzaXM6IDA7XG4gICAgZmxleC1ncm93OiAxO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBtaW4taGVpZ2h0OiAxcHg7XG4gICAgcGFkZGluZy1yaWdodDogMTVweDtcbiAgICBwYWRkaW5nLWxlZnQ6IDE1cHg7IH1cbiAgLmNvbC1zbS0xIHtcbiAgICBmbGV4OiAwIDAgOC4zMzMzMyU7XG4gICAgbWF4LXdpZHRoOiA4LjMzMzMzJTsgfVxuICAuY29sLXNtLTIge1xuICAgIGZsZXg6IDAgMCAxNi42NjY2NyU7XG4gICAgbWF4LXdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLmNvbC1zbS0zIHtcbiAgICBmbGV4OiAwIDAgMjUlO1xuICAgIG1heC13aWR0aDogMjUlOyB9XG4gIC5jb2wtc20tNCB7XG4gICAgZmxleDogMCAwIDMzLjMzMzMzJTtcbiAgICBtYXgtd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAuY29sLXNtLTUge1xuICAgIGZsZXg6IDAgMCA0MS42NjY2NyU7XG4gICAgbWF4LXdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLmNvbC1zbS02IHtcbiAgICBmbGV4OiAwIDAgNTAlO1xuICAgIG1heC13aWR0aDogNTAlOyB9XG4gIC5jb2wtc20tNyB7XG4gICAgZmxleDogMCAwIDU4LjMzMzMzJTtcbiAgICBtYXgtd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAuY29sLXNtLTgge1xuICAgIGZsZXg6IDAgMCA2Ni42NjY2NyU7XG4gICAgbWF4LXdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLmNvbC1zbS05IHtcbiAgICBmbGV4OiAwIDAgNzUlO1xuICAgIG1heC13aWR0aDogNzUlOyB9XG4gIC5jb2wtc20tMTAge1xuICAgIGZsZXg6IDAgMCA4My4zMzMzMyU7XG4gICAgbWF4LXdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLmNvbC1zbS0xMSB7XG4gICAgZmxleDogMCAwIDkxLjY2NjY3JTtcbiAgICBtYXgtd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAuY29sLXNtLTEyIHtcbiAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7IH1cbiAgLnB1bGwtc20tMCB7XG4gICAgcmlnaHQ6IGF1dG87IH1cbiAgLnB1bGwtc20tMSB7XG4gICAgcmlnaHQ6IDguMzMzMzMlOyB9XG4gIC5wdWxsLXNtLTIge1xuICAgIHJpZ2h0OiAxNi42NjY2NyU7IH1cbiAgLnB1bGwtc20tMyB7XG4gICAgcmlnaHQ6IDI1JTsgfVxuICAucHVsbC1zbS00IHtcbiAgICByaWdodDogMzMuMzMzMzMlOyB9XG4gIC5wdWxsLXNtLTUge1xuICAgIHJpZ2h0OiA0MS42NjY2NyU7IH1cbiAgLnB1bGwtc20tNiB7XG4gICAgcmlnaHQ6IDUwJTsgfVxuICAucHVsbC1zbS03IHtcbiAgICByaWdodDogNTguMzMzMzMlOyB9XG4gIC5wdWxsLXNtLTgge1xuICAgIHJpZ2h0OiA2Ni42NjY2NyU7IH1cbiAgLnB1bGwtc20tOSB7XG4gICAgcmlnaHQ6IDc1JTsgfVxuICAucHVsbC1zbS0xMCB7XG4gICAgcmlnaHQ6IDgzLjMzMzMzJTsgfVxuICAucHVsbC1zbS0xMSB7XG4gICAgcmlnaHQ6IDkxLjY2NjY3JTsgfVxuICAucHVsbC1zbS0xMiB7XG4gICAgcmlnaHQ6IDEwMCU7IH1cbiAgLnB1c2gtc20tMCB7XG4gICAgbGVmdDogYXV0bzsgfVxuICAucHVzaC1zbS0xIHtcbiAgICBsZWZ0OiA4LjMzMzMzJTsgfVxuICAucHVzaC1zbS0yIHtcbiAgICBsZWZ0OiAxNi42NjY2NyU7IH1cbiAgLnB1c2gtc20tMyB7XG4gICAgbGVmdDogMjUlOyB9XG4gIC5wdXNoLXNtLTQge1xuICAgIGxlZnQ6IDMzLjMzMzMzJTsgfVxuICAucHVzaC1zbS01IHtcbiAgICBsZWZ0OiA0MS42NjY2NyU7IH1cbiAgLnB1c2gtc20tNiB7XG4gICAgbGVmdDogNTAlOyB9XG4gIC5wdXNoLXNtLTcge1xuICAgIGxlZnQ6IDU4LjMzMzMzJTsgfVxuICAucHVzaC1zbS04IHtcbiAgICBsZWZ0OiA2Ni42NjY2NyU7IH1cbiAgLnB1c2gtc20tOSB7XG4gICAgbGVmdDogNzUlOyB9XG4gIC5wdXNoLXNtLTEwIHtcbiAgICBsZWZ0OiA4My4zMzMzMyU7IH1cbiAgLnB1c2gtc20tMTEge1xuICAgIGxlZnQ6IDkxLjY2NjY3JTsgfVxuICAucHVzaC1zbS0xMiB7XG4gICAgbGVmdDogMTAwJTsgfVxuICAub2Zmc2V0LXNtLTAge1xuICAgIG1hcmdpbi1sZWZ0OiAwJTsgfVxuICAub2Zmc2V0LXNtLTEge1xuICAgIG1hcmdpbi1sZWZ0OiA4LjMzMzMzJTsgfVxuICAub2Zmc2V0LXNtLTIge1xuICAgIG1hcmdpbi1sZWZ0OiAxNi42NjY2NyU7IH1cbiAgLm9mZnNldC1zbS0zIHtcbiAgICBtYXJnaW4tbGVmdDogMjUlOyB9XG4gIC5vZmZzZXQtc20tNCB7XG4gICAgbWFyZ2luLWxlZnQ6IDMzLjMzMzMzJTsgfVxuICAub2Zmc2V0LXNtLTUge1xuICAgIG1hcmdpbi1sZWZ0OiA0MS42NjY2NyU7IH1cbiAgLm9mZnNldC1zbS02IHtcbiAgICBtYXJnaW4tbGVmdDogNTAlOyB9XG4gIC5vZmZzZXQtc20tNyB7XG4gICAgbWFyZ2luLWxlZnQ6IDU4LjMzMzMzJTsgfVxuICAub2Zmc2V0LXNtLTgge1xuICAgIG1hcmdpbi1sZWZ0OiA2Ni42NjY2NyU7IH1cbiAgLm9mZnNldC1zbS05IHtcbiAgICBtYXJnaW4tbGVmdDogNzUlOyB9XG4gIC5vZmZzZXQtc20tMTAge1xuICAgIG1hcmdpbi1sZWZ0OiA4My4zMzMzMyU7IH1cbiAgLm9mZnNldC1zbS0xMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDkxLjY2NjY3JTsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuY29sLW1kIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZmxleC1iYXNpczogMDtcbiAgICBmbGV4LWdyb3c6IDE7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIG1pbi1oZWlnaHQ6IDFweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxNXB4O1xuICAgIHBhZGRpbmctbGVmdDogMTVweDsgfVxuICAuY29sLW1kLTEge1xuICAgIGZsZXg6IDAgMCA4LjMzMzMzJTtcbiAgICBtYXgtd2lkdGg6IDguMzMzMzMlOyB9XG4gIC5jb2wtbWQtMiB7XG4gICAgZmxleDogMCAwIDE2LjY2NjY3JTtcbiAgICBtYXgtd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAuY29sLW1kLTMge1xuICAgIGZsZXg6IDAgMCAyNSU7XG4gICAgbWF4LXdpZHRoOiAyNSU7IH1cbiAgLmNvbC1tZC00IHtcbiAgICBmbGV4OiAwIDAgMzMuMzMzMzMlO1xuICAgIG1heC13aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5jb2wtbWQtNSB7XG4gICAgZmxleDogMCAwIDQxLjY2NjY3JTtcbiAgICBtYXgtd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAuY29sLW1kLTYge1xuICAgIGZsZXg6IDAgMCA1MCU7XG4gICAgbWF4LXdpZHRoOiA1MCU7IH1cbiAgLmNvbC1tZC03IHtcbiAgICBmbGV4OiAwIDAgNTguMzMzMzMlO1xuICAgIG1heC13aWR0aDogNTguMzMzMzMlOyB9XG4gIC5jb2wtbWQtOCB7XG4gICAgZmxleDogMCAwIDY2LjY2NjY3JTtcbiAgICBtYXgtd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAuY29sLW1kLTkge1xuICAgIGZsZXg6IDAgMCA3NSU7XG4gICAgbWF4LXdpZHRoOiA3NSU7IH1cbiAgLmNvbC1tZC0xMCB7XG4gICAgZmxleDogMCAwIDgzLjMzMzMzJTtcbiAgICBtYXgtd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAuY29sLW1kLTExIHtcbiAgICBmbGV4OiAwIDAgOTEuNjY2NjclO1xuICAgIG1heC13aWR0aDogOTEuNjY2NjclOyB9XG4gIC5jb2wtbWQtMTIge1xuICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgIG1heC13aWR0aDogMTAwJTsgfVxuICAucHVsbC1tZC0wIHtcbiAgICByaWdodDogYXV0bzsgfVxuICAucHVsbC1tZC0xIHtcbiAgICByaWdodDogOC4zMzMzMyU7IH1cbiAgLnB1bGwtbWQtMiB7XG4gICAgcmlnaHQ6IDE2LjY2NjY3JTsgfVxuICAucHVsbC1tZC0zIHtcbiAgICByaWdodDogMjUlOyB9XG4gIC5wdWxsLW1kLTQge1xuICAgIHJpZ2h0OiAzMy4zMzMzMyU7IH1cbiAgLnB1bGwtbWQtNSB7XG4gICAgcmlnaHQ6IDQxLjY2NjY3JTsgfVxuICAucHVsbC1tZC02IHtcbiAgICByaWdodDogNTAlOyB9XG4gIC5wdWxsLW1kLTcge1xuICAgIHJpZ2h0OiA1OC4zMzMzMyU7IH1cbiAgLnB1bGwtbWQtOCB7XG4gICAgcmlnaHQ6IDY2LjY2NjY3JTsgfVxuICAucHVsbC1tZC05IHtcbiAgICByaWdodDogNzUlOyB9XG4gIC5wdWxsLW1kLTEwIHtcbiAgICByaWdodDogODMuMzMzMzMlOyB9XG4gIC5wdWxsLW1kLTExIHtcbiAgICByaWdodDogOTEuNjY2NjclOyB9XG4gIC5wdWxsLW1kLTEyIHtcbiAgICByaWdodDogMTAwJTsgfVxuICAucHVzaC1tZC0wIHtcbiAgICBsZWZ0OiBhdXRvOyB9XG4gIC5wdXNoLW1kLTEge1xuICAgIGxlZnQ6IDguMzMzMzMlOyB9XG4gIC5wdXNoLW1kLTIge1xuICAgIGxlZnQ6IDE2LjY2NjY3JTsgfVxuICAucHVzaC1tZC0zIHtcbiAgICBsZWZ0OiAyNSU7IH1cbiAgLnB1c2gtbWQtNCB7XG4gICAgbGVmdDogMzMuMzMzMzMlOyB9XG4gIC5wdXNoLW1kLTUge1xuICAgIGxlZnQ6IDQxLjY2NjY3JTsgfVxuICAucHVzaC1tZC02IHtcbiAgICBsZWZ0OiA1MCU7IH1cbiAgLnB1c2gtbWQtNyB7XG4gICAgbGVmdDogNTguMzMzMzMlOyB9XG4gIC5wdXNoLW1kLTgge1xuICAgIGxlZnQ6IDY2LjY2NjY3JTsgfVxuICAucHVzaC1tZC05IHtcbiAgICBsZWZ0OiA3NSU7IH1cbiAgLnB1c2gtbWQtMTAge1xuICAgIGxlZnQ6IDgzLjMzMzMzJTsgfVxuICAucHVzaC1tZC0xMSB7XG4gICAgbGVmdDogOTEuNjY2NjclOyB9XG4gIC5wdXNoLW1kLTEyIHtcbiAgICBsZWZ0OiAxMDAlOyB9XG4gIC5vZmZzZXQtbWQtMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDAlOyB9XG4gIC5vZmZzZXQtbWQtMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDguMzMzMzMlOyB9XG4gIC5vZmZzZXQtbWQtMiB7XG4gICAgbWFyZ2luLWxlZnQ6IDE2LjY2NjY3JTsgfVxuICAub2Zmc2V0LW1kLTMge1xuICAgIG1hcmdpbi1sZWZ0OiAyNSU7IH1cbiAgLm9mZnNldC1tZC00IHtcbiAgICBtYXJnaW4tbGVmdDogMzMuMzMzMzMlOyB9XG4gIC5vZmZzZXQtbWQtNSB7XG4gICAgbWFyZ2luLWxlZnQ6IDQxLjY2NjY3JTsgfVxuICAub2Zmc2V0LW1kLTYge1xuICAgIG1hcmdpbi1sZWZ0OiA1MCU7IH1cbiAgLm9mZnNldC1tZC03IHtcbiAgICBtYXJnaW4tbGVmdDogNTguMzMzMzMlOyB9XG4gIC5vZmZzZXQtbWQtOCB7XG4gICAgbWFyZ2luLWxlZnQ6IDY2LjY2NjY3JTsgfVxuICAub2Zmc2V0LW1kLTkge1xuICAgIG1hcmdpbi1sZWZ0OiA3NSU7IH1cbiAgLm9mZnNldC1tZC0xMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDgzLjMzMzMzJTsgfVxuICAub2Zmc2V0LW1kLTExIHtcbiAgICBtYXJnaW4tbGVmdDogOTEuNjY2NjclOyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5jb2wtbGcge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmbGV4LWJhc2lzOiAwO1xuICAgIGZsZXgtZ3JvdzogMTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgbWluLWhlaWdodDogMXB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDE1cHg7XG4gICAgcGFkZGluZy1sZWZ0OiAxNXB4OyB9XG4gIC5jb2wtbGctMSB7XG4gICAgZmxleDogMCAwIDguMzMzMzMlO1xuICAgIG1heC13aWR0aDogOC4zMzMzMyU7IH1cbiAgLmNvbC1sZy0yIHtcbiAgICBmbGV4OiAwIDAgMTYuNjY2NjclO1xuICAgIG1heC13aWR0aDogMTYuNjY2NjclOyB9XG4gIC5jb2wtbGctMyB7XG4gICAgZmxleDogMCAwIDI1JTtcbiAgICBtYXgtd2lkdGg6IDI1JTsgfVxuICAuY29sLWxnLTQge1xuICAgIGZsZXg6IDAgMCAzMy4zMzMzMyU7XG4gICAgbWF4LXdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLmNvbC1sZy01IHtcbiAgICBmbGV4OiAwIDAgNDEuNjY2NjclO1xuICAgIG1heC13aWR0aDogNDEuNjY2NjclOyB9XG4gIC5jb2wtbGctNiB7XG4gICAgZmxleDogMCAwIDUwJTtcbiAgICBtYXgtd2lkdGg6IDUwJTsgfVxuICAuY29sLWxnLTcge1xuICAgIGZsZXg6IDAgMCA1OC4zMzMzMyU7XG4gICAgbWF4LXdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLmNvbC1sZy04IHtcbiAgICBmbGV4OiAwIDAgNjYuNjY2NjclO1xuICAgIG1heC13aWR0aDogNjYuNjY2NjclOyB9XG4gIC5jb2wtbGctOSB7XG4gICAgZmxleDogMCAwIDc1JTtcbiAgICBtYXgtd2lkdGg6IDc1JTsgfVxuICAuY29sLWxnLTEwIHtcbiAgICBmbGV4OiAwIDAgODMuMzMzMzMlO1xuICAgIG1heC13aWR0aDogODMuMzMzMzMlOyB9XG4gIC5jb2wtbGctMTEge1xuICAgIGZsZXg6IDAgMCA5MS42NjY2NyU7XG4gICAgbWF4LXdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLmNvbC1sZy0xMiB7XG4gICAgZmxleDogMCAwIDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxMDAlOyB9XG4gIC5wdWxsLWxnLTAge1xuICAgIHJpZ2h0OiBhdXRvOyB9XG4gIC5wdWxsLWxnLTEge1xuICAgIHJpZ2h0OiA4LjMzMzMzJTsgfVxuICAucHVsbC1sZy0yIHtcbiAgICByaWdodDogMTYuNjY2NjclOyB9XG4gIC5wdWxsLWxnLTMge1xuICAgIHJpZ2h0OiAyNSU7IH1cbiAgLnB1bGwtbGctNCB7XG4gICAgcmlnaHQ6IDMzLjMzMzMzJTsgfVxuICAucHVsbC1sZy01IHtcbiAgICByaWdodDogNDEuNjY2NjclOyB9XG4gIC5wdWxsLWxnLTYge1xuICAgIHJpZ2h0OiA1MCU7IH1cbiAgLnB1bGwtbGctNyB7XG4gICAgcmlnaHQ6IDU4LjMzMzMzJTsgfVxuICAucHVsbC1sZy04IHtcbiAgICByaWdodDogNjYuNjY2NjclOyB9XG4gIC5wdWxsLWxnLTkge1xuICAgIHJpZ2h0OiA3NSU7IH1cbiAgLnB1bGwtbGctMTAge1xuICAgIHJpZ2h0OiA4My4zMzMzMyU7IH1cbiAgLnB1bGwtbGctMTEge1xuICAgIHJpZ2h0OiA5MS42NjY2NyU7IH1cbiAgLnB1bGwtbGctMTIge1xuICAgIHJpZ2h0OiAxMDAlOyB9XG4gIC5wdXNoLWxnLTAge1xuICAgIGxlZnQ6IGF1dG87IH1cbiAgLnB1c2gtbGctMSB7XG4gICAgbGVmdDogOC4zMzMzMyU7IH1cbiAgLnB1c2gtbGctMiB7XG4gICAgbGVmdDogMTYuNjY2NjclOyB9XG4gIC5wdXNoLWxnLTMge1xuICAgIGxlZnQ6IDI1JTsgfVxuICAucHVzaC1sZy00IHtcbiAgICBsZWZ0OiAzMy4zMzMzMyU7IH1cbiAgLnB1c2gtbGctNSB7XG4gICAgbGVmdDogNDEuNjY2NjclOyB9XG4gIC5wdXNoLWxnLTYge1xuICAgIGxlZnQ6IDUwJTsgfVxuICAucHVzaC1sZy03IHtcbiAgICBsZWZ0OiA1OC4zMzMzMyU7IH1cbiAgLnB1c2gtbGctOCB7XG4gICAgbGVmdDogNjYuNjY2NjclOyB9XG4gIC5wdXNoLWxnLTkge1xuICAgIGxlZnQ6IDc1JTsgfVxuICAucHVzaC1sZy0xMCB7XG4gICAgbGVmdDogODMuMzMzMzMlOyB9XG4gIC5wdXNoLWxnLTExIHtcbiAgICBsZWZ0OiA5MS42NjY2NyU7IH1cbiAgLnB1c2gtbGctMTIge1xuICAgIGxlZnQ6IDEwMCU7IH1cbiAgLm9mZnNldC1sZy0wIHtcbiAgICBtYXJnaW4tbGVmdDogMCU7IH1cbiAgLm9mZnNldC1sZy0xIHtcbiAgICBtYXJnaW4tbGVmdDogOC4zMzMzMyU7IH1cbiAgLm9mZnNldC1sZy0yIHtcbiAgICBtYXJnaW4tbGVmdDogMTYuNjY2NjclOyB9XG4gIC5vZmZzZXQtbGctMyB7XG4gICAgbWFyZ2luLWxlZnQ6IDI1JTsgfVxuICAub2Zmc2V0LWxnLTQge1xuICAgIG1hcmdpbi1sZWZ0OiAzMy4zMzMzMyU7IH1cbiAgLm9mZnNldC1sZy01IHtcbiAgICBtYXJnaW4tbGVmdDogNDEuNjY2NjclOyB9XG4gIC5vZmZzZXQtbGctNiB7XG4gICAgbWFyZ2luLWxlZnQ6IDUwJTsgfVxuICAub2Zmc2V0LWxnLTcge1xuICAgIG1hcmdpbi1sZWZ0OiA1OC4zMzMzMyU7IH1cbiAgLm9mZnNldC1sZy04IHtcbiAgICBtYXJnaW4tbGVmdDogNjYuNjY2NjclOyB9XG4gIC5vZmZzZXQtbGctOSB7XG4gICAgbWFyZ2luLWxlZnQ6IDc1JTsgfVxuICAub2Zmc2V0LWxnLTEwIHtcbiAgICBtYXJnaW4tbGVmdDogODMuMzMzMzMlOyB9XG4gIC5vZmZzZXQtbGctMTEge1xuICAgIG1hcmdpbi1sZWZ0OiA5MS42NjY2NyU7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC5jb2wteGwge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmbGV4LWJhc2lzOiAwO1xuICAgIGZsZXgtZ3JvdzogMTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgbWluLWhlaWdodDogMXB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDE1cHg7XG4gICAgcGFkZGluZy1sZWZ0OiAxNXB4OyB9XG4gIC5jb2wteGwtMSB7XG4gICAgZmxleDogMCAwIDguMzMzMzMlO1xuICAgIG1heC13aWR0aDogOC4zMzMzMyU7IH1cbiAgLmNvbC14bC0yIHtcbiAgICBmbGV4OiAwIDAgMTYuNjY2NjclO1xuICAgIG1heC13aWR0aDogMTYuNjY2NjclOyB9XG4gIC5jb2wteGwtMyB7XG4gICAgZmxleDogMCAwIDI1JTtcbiAgICBtYXgtd2lkdGg6IDI1JTsgfVxuICAuY29sLXhsLTQge1xuICAgIGZsZXg6IDAgMCAzMy4zMzMzMyU7XG4gICAgbWF4LXdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLmNvbC14bC01IHtcbiAgICBmbGV4OiAwIDAgNDEuNjY2NjclO1xuICAgIG1heC13aWR0aDogNDEuNjY2NjclOyB9XG4gIC5jb2wteGwtNiB7XG4gICAgZmxleDogMCAwIDUwJTtcbiAgICBtYXgtd2lkdGg6IDUwJTsgfVxuICAuY29sLXhsLTcge1xuICAgIGZsZXg6IDAgMCA1OC4zMzMzMyU7XG4gICAgbWF4LXdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLmNvbC14bC04IHtcbiAgICBmbGV4OiAwIDAgNjYuNjY2NjclO1xuICAgIG1heC13aWR0aDogNjYuNjY2NjclOyB9XG4gIC5jb2wteGwtOSB7XG4gICAgZmxleDogMCAwIDc1JTtcbiAgICBtYXgtd2lkdGg6IDc1JTsgfVxuICAuY29sLXhsLTEwIHtcbiAgICBmbGV4OiAwIDAgODMuMzMzMzMlO1xuICAgIG1heC13aWR0aDogODMuMzMzMzMlOyB9XG4gIC5jb2wteGwtMTEge1xuICAgIGZsZXg6IDAgMCA5MS42NjY2NyU7XG4gICAgbWF4LXdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLmNvbC14bC0xMiB7XG4gICAgZmxleDogMCAwIDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxMDAlOyB9XG4gIC5wdWxsLXhsLTAge1xuICAgIHJpZ2h0OiBhdXRvOyB9XG4gIC5wdWxsLXhsLTEge1xuICAgIHJpZ2h0OiA4LjMzMzMzJTsgfVxuICAucHVsbC14bC0yIHtcbiAgICByaWdodDogMTYuNjY2NjclOyB9XG4gIC5wdWxsLXhsLTMge1xuICAgIHJpZ2h0OiAyNSU7IH1cbiAgLnB1bGwteGwtNCB7XG4gICAgcmlnaHQ6IDMzLjMzMzMzJTsgfVxuICAucHVsbC14bC01IHtcbiAgICByaWdodDogNDEuNjY2NjclOyB9XG4gIC5wdWxsLXhsLTYge1xuICAgIHJpZ2h0OiA1MCU7IH1cbiAgLnB1bGwteGwtNyB7XG4gICAgcmlnaHQ6IDU4LjMzMzMzJTsgfVxuICAucHVsbC14bC04IHtcbiAgICByaWdodDogNjYuNjY2NjclOyB9XG4gIC5wdWxsLXhsLTkge1xuICAgIHJpZ2h0OiA3NSU7IH1cbiAgLnB1bGwteGwtMTAge1xuICAgIHJpZ2h0OiA4My4zMzMzMyU7IH1cbiAgLnB1bGwteGwtMTEge1xuICAgIHJpZ2h0OiA5MS42NjY2NyU7IH1cbiAgLnB1bGwteGwtMTIge1xuICAgIHJpZ2h0OiAxMDAlOyB9XG4gIC5wdXNoLXhsLTAge1xuICAgIGxlZnQ6IGF1dG87IH1cbiAgLnB1c2gteGwtMSB7XG4gICAgbGVmdDogOC4zMzMzMyU7IH1cbiAgLnB1c2gteGwtMiB7XG4gICAgbGVmdDogMTYuNjY2NjclOyB9XG4gIC5wdXNoLXhsLTMge1xuICAgIGxlZnQ6IDI1JTsgfVxuICAucHVzaC14bC00IHtcbiAgICBsZWZ0OiAzMy4zMzMzMyU7IH1cbiAgLnB1c2gteGwtNSB7XG4gICAgbGVmdDogNDEuNjY2NjclOyB9XG4gIC5wdXNoLXhsLTYge1xuICAgIGxlZnQ6IDUwJTsgfVxuICAucHVzaC14bC03IHtcbiAgICBsZWZ0OiA1OC4zMzMzMyU7IH1cbiAgLnB1c2gteGwtOCB7XG4gICAgbGVmdDogNjYuNjY2NjclOyB9XG4gIC5wdXNoLXhsLTkge1xuICAgIGxlZnQ6IDc1JTsgfVxuICAucHVzaC14bC0xMCB7XG4gICAgbGVmdDogODMuMzMzMzMlOyB9XG4gIC5wdXNoLXhsLTExIHtcbiAgICBsZWZ0OiA5MS42NjY2NyU7IH1cbiAgLnB1c2gteGwtMTIge1xuICAgIGxlZnQ6IDEwMCU7IH1cbiAgLm9mZnNldC14bC0wIHtcbiAgICBtYXJnaW4tbGVmdDogMCU7IH1cbiAgLm9mZnNldC14bC0xIHtcbiAgICBtYXJnaW4tbGVmdDogOC4zMzMzMyU7IH1cbiAgLm9mZnNldC14bC0yIHtcbiAgICBtYXJnaW4tbGVmdDogMTYuNjY2NjclOyB9XG4gIC5vZmZzZXQteGwtMyB7XG4gICAgbWFyZ2luLWxlZnQ6IDI1JTsgfVxuICAub2Zmc2V0LXhsLTQge1xuICAgIG1hcmdpbi1sZWZ0OiAzMy4zMzMzMyU7IH1cbiAgLm9mZnNldC14bC01IHtcbiAgICBtYXJnaW4tbGVmdDogNDEuNjY2NjclOyB9XG4gIC5vZmZzZXQteGwtNiB7XG4gICAgbWFyZ2luLWxlZnQ6IDUwJTsgfVxuICAub2Zmc2V0LXhsLTcge1xuICAgIG1hcmdpbi1sZWZ0OiA1OC4zMzMzMyU7IH1cbiAgLm9mZnNldC14bC04IHtcbiAgICBtYXJnaW4tbGVmdDogNjYuNjY2NjclOyB9XG4gIC5vZmZzZXQteGwtOSB7XG4gICAgbWFyZ2luLWxlZnQ6IDc1JTsgfVxuICAub2Zmc2V0LXhsLTEwIHtcbiAgICBtYXJnaW4tbGVmdDogODMuMzMzMzMlOyB9XG4gIC5vZmZzZXQteGwtMTEge1xuICAgIG1hcmdpbi1sZWZ0OiA5MS42NjY2NyU7IH0gfVxuXG4udGFibGUge1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07IH1cbiAgLnRhYmxlIHRoLFxuICAudGFibGUgdGQge1xuICAgIHBhZGRpbmc6IDAuNzVyZW07XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgcmdiYSgwLCAwLCAwLCAwLjEyKTsgfVxuICAudGFibGUgdGhlYWQgdGgge1xuICAgIHZlcnRpY2FsLWFsaWduOiBib3R0b207XG4gICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgMC4xMik7IH1cbiAgLnRhYmxlIHRib2R5ICsgdGJvZHkge1xuICAgIGJvcmRlci10b3A6IDJweCBzb2xpZCByZ2JhKDAsIDAsIDAsIDAuMTIpOyB9XG4gIC50YWJsZSAudGFibGUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmYWZhZmE7IH1cblxuLnRhYmxlLXNtIHRoLFxuLnRhYmxlLXNtIHRkIHtcbiAgcGFkZGluZzogMC4zcmVtOyB9XG5cbi50YWJsZS1ib3JkZXJlZCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgMC4xMik7IH1cbiAgLnRhYmxlLWJvcmRlcmVkIHRoLFxuICAudGFibGUtYm9yZGVyZWQgdGQge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgMC4xMik7IH1cbiAgLnRhYmxlLWJvcmRlcmVkIHRoZWFkIHRoLFxuICAudGFibGUtYm9yZGVyZWQgdGhlYWQgdGQge1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDJweDsgfVxuXG4udGFibGUtc3RyaXBlZCB0Ym9keSB0cjpudGgtb2YtdHlwZShvZGQpIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjA1KTsgfVxuXG4udGFibGUtaG92ZXIgdGJvZHkgdHI6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMDc1KTsgfVxuXG4udGFibGUtYWN0aXZlLFxuLnRhYmxlLWFjdGl2ZSA+IHRoLFxuLnRhYmxlLWFjdGl2ZSA+IHRkIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjA3NSk7IH1cblxuLnRhYmxlLWhvdmVyIC50YWJsZS1hY3RpdmU6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMDc1KTsgfVxuICAudGFibGUtaG92ZXIgLnRhYmxlLWFjdGl2ZTpob3ZlciA+IHRkLFxuICAudGFibGUtaG92ZXIgLnRhYmxlLWFjdGl2ZTpob3ZlciA+IHRoIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMDc1KTsgfVxuXG4udGFibGUtc3VjY2Vzcyxcbi50YWJsZS1zdWNjZXNzID4gdGgsXG4udGFibGUtc3VjY2VzcyA+IHRkIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzRjYWY1MDsgfVxuXG4udGFibGUtaG92ZXIgLnRhYmxlLXN1Y2Nlc3M6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDQ5ZDQ4OyB9XG4gIC50YWJsZS1ob3ZlciAudGFibGUtc3VjY2Vzczpob3ZlciA+IHRkLFxuICAudGFibGUtaG92ZXIgLnRhYmxlLXN1Y2Nlc3M6aG92ZXIgPiB0aCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzQ0OWQ0ODsgfVxuXG4udGFibGUtaW5mbyxcbi50YWJsZS1pbmZvID4gdGgsXG4udGFibGUtaW5mbyA+IHRkIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAzYTlmNDsgfVxuXG4udGFibGUtaG92ZXIgLnRhYmxlLWluZm86aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDM5OGRiOyB9XG4gIC50YWJsZS1ob3ZlciAudGFibGUtaW5mbzpob3ZlciA+IHRkLFxuICAudGFibGUtaG92ZXIgLnRhYmxlLWluZm86aG92ZXIgPiB0aCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAzOThkYjsgfVxuXG4udGFibGUtd2FybmluZyxcbi50YWJsZS13YXJuaW5nID4gdGgsXG4udGFibGUtd2FybmluZyA+IHRkIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmNTcyMjsgfVxuXG4udGFibGUtaG92ZXIgLnRhYmxlLXdhcm5pbmc6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmY0NDA5OyB9XG4gIC50YWJsZS1ob3ZlciAudGFibGUtd2FybmluZzpob3ZlciA+IHRkLFxuICAudGFibGUtaG92ZXIgLnRhYmxlLXdhcm5pbmc6aG92ZXIgPiB0aCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmNDQwOTsgfVxuXG4udGFibGUtZGFuZ2VyLFxuLnRhYmxlLWRhbmdlciA+IHRoLFxuLnRhYmxlLWRhbmdlciA+IHRkIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y0NDMzNjsgfVxuXG4udGFibGUtaG92ZXIgLnRhYmxlLWRhbmdlcjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmMzJjMWU7IH1cbiAgLnRhYmxlLWhvdmVyIC50YWJsZS1kYW5nZXI6aG92ZXIgPiB0ZCxcbiAgLnRhYmxlLWhvdmVyIC50YWJsZS1kYW5nZXI6aG92ZXIgPiB0aCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YzMmMxZTsgfVxuXG4udGhlYWQtaW52ZXJzZSB0aCB7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpOyB9XG5cbi50aGVhZC1kZWZhdWx0IHRoIHtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41NCk7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4xMik7IH1cblxuLnRhYmxlLWludmVyc2Uge1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjEyKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTsgfVxuICAudGFibGUtaW52ZXJzZSB0aCxcbiAgLnRhYmxlLWludmVyc2UgdGQsXG4gIC50YWJsZS1pbnZlcnNlIHRoZWFkIHRoIHtcbiAgICBib3JkZXItY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41NCk7IH1cbiAgLnRhYmxlLWludmVyc2UudGFibGUtYm9yZGVyZWQge1xuICAgIGJvcmRlcjogMDsgfVxuXG4udGFibGUtcmVzcG9uc2l2ZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgbWluLWhlaWdodDogLjAxJTtcbiAgb3ZlcmZsb3cteDogYXV0bzsgfVxuXG4udGFibGUtcmVmbG93IHRoZWFkIHtcbiAgZmxvYXQ6IGxlZnQ7IH1cblxuLnRhYmxlLXJlZmxvdyB0Ym9keSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XG5cbi50YWJsZS1yZWZsb3cgdGgsXG4udGFibGUtcmVmbG93IHRkIHtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgMC4xMik7XG4gIGJvcmRlci1sZWZ0OiAxcHggc29saWQgcmdiYSgwLCAwLCAwLCAwLjEyKTsgfVxuICAudGFibGUtcmVmbG93IHRoOmxhc3QtY2hpbGQsXG4gIC50YWJsZS1yZWZsb3cgdGQ6bGFzdC1jaGlsZCB7XG4gICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgcmdiYSgwLCAwLCAwLCAwLjEyKTsgfVxuXG4udGFibGUtcmVmbG93IHRoZWFkOmxhc3QtY2hpbGQgdHI6bGFzdC1jaGlsZCB0aCxcbi50YWJsZS1yZWZsb3cgdGhlYWQ6bGFzdC1jaGlsZCB0cjpsYXN0LWNoaWxkIHRkLFxuLnRhYmxlLXJlZmxvdyB0Ym9keTpsYXN0LWNoaWxkIHRyOmxhc3QtY2hpbGQgdGgsXG4udGFibGUtcmVmbG93IHRib2R5Omxhc3QtY2hpbGQgdHI6bGFzdC1jaGlsZCB0ZCxcbi50YWJsZS1yZWZsb3cgdGZvb3Q6bGFzdC1jaGlsZCB0cjpsYXN0LWNoaWxkIHRoLFxuLnRhYmxlLXJlZmxvdyB0Zm9vdDpsYXN0LWNoaWxkIHRyOmxhc3QtY2hpbGQgdGQge1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgwLCAwLCAwLCAwLjEyKTsgfVxuXG4udGFibGUtcmVmbG93IHRyIHtcbiAgZmxvYXQ6IGxlZnQ7IH1cbiAgLnRhYmxlLXJlZmxvdyB0ciB0aCxcbiAgLnRhYmxlLXJlZmxvdyB0ciB0ZCB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDAsIDAsIDAsIDAuMTIpOyB9XG5cbi5mb3JtLWNvbnRyb2wsIC5jdXN0b20tZmlsZS1jb250cm9sIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAwLjQzNzVyZW0gMDtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBsaW5lLWhlaWdodDogMS4yNTtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41NCk7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDAsIDAsIDAsIDAuMjYpO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBib3gtc2hhZG93OiBub25lOyB9XG4gIC5mb3JtLWNvbnRyb2w6Oi1tcy1leHBhbmQsIC5jdXN0b20tZmlsZS1jb250cm9sOjotbXMtZXhwYW5kIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXI6IDA7IH1cbiAgLmZvcm0tY29udHJvbDpmb2N1cywgLmN1c3RvbS1maWxlLWNvbnRyb2w6Zm9jdXMge1xuICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNTQpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1jb2xvcjogIzY2YWZlOTtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDFweCByZ2JhKDAsIDAsIDAsIDAuMDc1KSwgMCAwIDhweCBub25lOyB9XG4gIC5mb3JtLWNvbnRyb2w6OnBsYWNlaG9sZGVyLCAuY3VzdG9tLWZpbGUtY29udHJvbDo6cGxhY2Vob2xkZXIge1xuICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMjYpO1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgLmZvcm0tY29udHJvbDpkaXNhYmxlZCwgLmN1c3RvbS1maWxlLWNvbnRyb2w6ZGlzYWJsZWQsIC5mb3JtLWNvbnRyb2xbcmVhZG9ubHldLCBbcmVhZG9ubHldLmN1c3RvbS1maWxlLWNvbnRyb2wge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgLmZvcm0tY29udHJvbDpkaXNhYmxlZCwgLmN1c3RvbS1maWxlLWNvbnRyb2w6ZGlzYWJsZWQge1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cblxuc2VsZWN0LmZvcm0tY29udHJvbDpub3QoW3NpemVdKTpub3QoW211bHRpcGxlXSksIHNlbGVjdC5jdXN0b20tZmlsZS1jb250cm9sOm5vdChbc2l6ZV0pOm5vdChbbXVsdGlwbGVdKSB7XG4gIGhlaWdodDogMi4zNzVyZW07IH1cblxuc2VsZWN0LmZvcm0tY29udHJvbDpmb2N1czo6LW1zLXZhbHVlLCBzZWxlY3QuY3VzdG9tLWZpbGUtY29udHJvbDpmb2N1czo6LW1zLXZhbHVlIHtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41NCk7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG5cbi5mb3JtLWNvbnRyb2wtZmlsZSxcbi5mb3JtLWNvbnRyb2wtcmFuZ2Uge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4uY29sLWZvcm0tbGFiZWwge1xuICBwYWRkaW5nLXRvcDogMC40Mzc1cmVtO1xuICBwYWRkaW5nLWJvdHRvbTogMC40Mzc1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi5jb2wtZm9ybS1sYWJlbC1sZyB7XG4gIHBhZGRpbmctdG9wOiAwLjU2MjVyZW07XG4gIHBhZGRpbmctYm90dG9tOiAwLjU2MjVyZW07XG4gIGZvbnQtc2l6ZTogMS4yNXJlbTsgfVxuXG4uY29sLWZvcm0tbGFiZWwtc20ge1xuICBwYWRkaW5nLXRvcDogMC4yNXJlbTtcbiAgcGFkZGluZy1ib3R0b206IDAuMjVyZW07XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07IH1cblxuLmNvbC1mb3JtLWxlZ2VuZCB7XG4gIHBhZGRpbmctdG9wOiAwLjQzNzVyZW07XG4gIHBhZGRpbmctYm90dG9tOiAwLjQzNzVyZW07XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGZvbnQtc2l6ZTogMXJlbTsgfVxuXG4uZm9ybS1jb250cm9sLXN0YXRpYyB7XG4gIG1pbi1oZWlnaHQ6IDIuMzc1cmVtO1xuICBwYWRkaW5nLXRvcDogMC40Mzc1cmVtO1xuICBwYWRkaW5nLWJvdHRvbTogMC40Mzc1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIC5mb3JtLWNvbnRyb2wtc3RhdGljLmZvcm0tY29udHJvbC1zbSwgLmlucHV0LWdyb3VwLXNtID4gLmZvcm0tY29udHJvbC1zdGF0aWMuZm9ybS1jb250cm9sLCAuaW5wdXQtZ3JvdXAtc20gPiAuZm9ybS1jb250cm9sLXN0YXRpYy5jdXN0b20tZmlsZS1jb250cm9sLFxuICAuaW5wdXQtZ3JvdXAtc20gPiAuZm9ybS1jb250cm9sLXN0YXRpYy5pbnB1dC1ncm91cC1hZGRvbixcbiAgLmlucHV0LWdyb3VwLXNtID4gLmlucHV0LWdyb3VwLWJ0biA+IC5mb3JtLWNvbnRyb2wtc3RhdGljLmJ0bixcbiAgLmlucHV0LWdyb3VwLXNtID4gLmlucHV0LWdyb3VwLWJ0biA+IC5mb3JtLWNvbnRyb2wtc3RhdGljLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSwgLmZvcm0tY29udHJvbC1zdGF0aWMuZm9ybS1jb250cm9sLWxnLCAuaW5wdXQtZ3JvdXAtbGcgPiAuZm9ybS1jb250cm9sLXN0YXRpYy5mb3JtLWNvbnRyb2wsIC5pbnB1dC1ncm91cC1sZyA+IC5mb3JtLWNvbnRyb2wtc3RhdGljLmN1c3RvbS1maWxlLWNvbnRyb2wsXG4gIC5pbnB1dC1ncm91cC1sZyA+IC5mb3JtLWNvbnRyb2wtc3RhdGljLmlucHV0LWdyb3VwLWFkZG9uLFxuICAuaW5wdXQtZ3JvdXAtbGcgPiAuaW5wdXQtZ3JvdXAtYnRuID4gLmZvcm0tY29udHJvbC1zdGF0aWMuYnRuLFxuICAuaW5wdXQtZ3JvdXAtbGcgPiAuaW5wdXQtZ3JvdXAtYnRuID4gLmZvcm0tY29udHJvbC1zdGF0aWMuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIHBhZGRpbmctbGVmdDogMDsgfVxuXG4uZm9ybS1jb250cm9sLXNtLCAuaW5wdXQtZ3JvdXAtc20gPiAuZm9ybS1jb250cm9sLCAuaW5wdXQtZ3JvdXAtc20gPiAuY3VzdG9tLWZpbGUtY29udHJvbCxcbi5pbnB1dC1ncm91cC1zbSA+IC5pbnB1dC1ncm91cC1hZGRvbixcbi5pbnB1dC1ncm91cC1zbSA+IC5pbnB1dC1ncm91cC1idG4gPiAuYnRuLFxuLmlucHV0LWdyb3VwLXNtID4gLmlucHV0LWdyb3VwLWJ0biA+IC5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUge1xuICBwYWRkaW5nOiAwLjI1cmVtIDA7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGJvcmRlci1yYWRpdXM6IDAuMDYyNXJlbTsgfVxuXG5zZWxlY3QuZm9ybS1jb250cm9sLXNtOm5vdChbc2l6ZV0pOm5vdChbbXVsdGlwbGVdKSwgLmlucHV0LWdyb3VwLXNtID4gc2VsZWN0LmZvcm0tY29udHJvbDpub3QoW3NpemVdKTpub3QoW211bHRpcGxlXSksIC5pbnB1dC1ncm91cC1zbSA+IHNlbGVjdC5jdXN0b20tZmlsZS1jb250cm9sOm5vdChbc2l6ZV0pOm5vdChbbXVsdGlwbGVdKSxcbi5pbnB1dC1ncm91cC1zbSA+IHNlbGVjdC5pbnB1dC1ncm91cC1hZGRvbjpub3QoW3NpemVdKTpub3QoW211bHRpcGxlXSksXG4uaW5wdXQtZ3JvdXAtc20gPiAuaW5wdXQtZ3JvdXAtYnRuID4gc2VsZWN0LmJ0bjpub3QoW3NpemVdKTpub3QoW211bHRpcGxlXSksXG4uaW5wdXQtZ3JvdXAtc20gPiAuaW5wdXQtZ3JvdXAtYnRuID4gc2VsZWN0LmN1c3RvbS1maWxlLWNvbnRyb2w6bm90KFtzaXplXSk6bm90KFttdWx0aXBsZV0pOjpiZWZvcmUge1xuICBoZWlnaHQ6IDEuODEyNXJlbTsgfVxuXG4uZm9ybS1jb250cm9sLWxnLCAuaW5wdXQtZ3JvdXAtbGcgPiAuZm9ybS1jb250cm9sLCAuaW5wdXQtZ3JvdXAtbGcgPiAuY3VzdG9tLWZpbGUtY29udHJvbCxcbi5pbnB1dC1ncm91cC1sZyA+IC5pbnB1dC1ncm91cC1hZGRvbixcbi5pbnB1dC1ncm91cC1sZyA+IC5pbnB1dC1ncm91cC1idG4gPiAuYnRuLFxuLmlucHV0LWdyb3VwLWxnID4gLmlucHV0LWdyb3VwLWJ0biA+IC5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUge1xuICBwYWRkaW5nOiAwLjU2MjVyZW0gMDtcbiAgZm9udC1zaXplOiAxLjI1cmVtO1xuICBib3JkZXItcmFkaXVzOiAwLjNyZW07IH1cblxuc2VsZWN0LmZvcm0tY29udHJvbC1sZzpub3QoW3NpemVdKTpub3QoW211bHRpcGxlXSksIC5pbnB1dC1ncm91cC1sZyA+IHNlbGVjdC5mb3JtLWNvbnRyb2w6bm90KFtzaXplXSk6bm90KFttdWx0aXBsZV0pLCAuaW5wdXQtZ3JvdXAtbGcgPiBzZWxlY3QuY3VzdG9tLWZpbGUtY29udHJvbDpub3QoW3NpemVdKTpub3QoW211bHRpcGxlXSksXG4uaW5wdXQtZ3JvdXAtbGcgPiBzZWxlY3QuaW5wdXQtZ3JvdXAtYWRkb246bm90KFtzaXplXSk6bm90KFttdWx0aXBsZV0pLFxuLmlucHV0LWdyb3VwLWxnID4gLmlucHV0LWdyb3VwLWJ0biA+IHNlbGVjdC5idG46bm90KFtzaXplXSk6bm90KFttdWx0aXBsZV0pLFxuLmlucHV0LWdyb3VwLWxnID4gLmlucHV0LWdyb3VwLWJ0biA+IHNlbGVjdC5jdXN0b20tZmlsZS1jb250cm9sOm5vdChbc2l6ZV0pOm5vdChbbXVsdGlwbGVdKTo6YmVmb3JlIHtcbiAgaGVpZ2h0OiAyLjc5MTY3cmVtOyB9XG5cbi5mb3JtLWdyb3VwIHtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtOyB9XG5cbi5mb3JtLXRleHQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLXRvcDogMC4xMjVyZW07IH1cblxuLmZvcm0tY2hlY2sge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tYm90dG9tOiAwLjM3NXJlbTsgfVxuICAuZm9ybS1jaGVjayArIC5mb3JtLWNoZWNrIHtcbiAgICBtYXJnaW4tdG9wOiAtLjI1cmVtOyB9XG4gIC5mb3JtLWNoZWNrLmRpc2FibGVkIC5mb3JtLWNoZWNrLWxhYmVsIHtcbiAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjI2KTtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG5cbi5mb3JtLWNoZWNrLWxhYmVsIHtcbiAgcGFkZGluZy1sZWZ0OiAxLjI1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cblxuLmZvcm0tY2hlY2staW5wdXQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIG1hcmdpbi10b3A6IC4yNXJlbTtcbiAgbWFyZ2luLWxlZnQ6IC0xLjI1cmVtOyB9XG4gIC5mb3JtLWNoZWNrLWlucHV0Om9ubHktY2hpbGQge1xuICAgIHBvc2l0aW9uOiBzdGF0aWM7IH1cblxuLmZvcm0tY2hlY2staW5saW5lIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmctbGVmdDogMS4yNXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG4gIC5mb3JtLWNoZWNrLWlubGluZSArIC5mb3JtLWNoZWNrLWlubGluZSB7XG4gICAgbWFyZ2luLWxlZnQ6IC43NXJlbTsgfVxuICAuZm9ybS1jaGVjay1pbmxpbmUuZGlzYWJsZWQge1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cblxuLmZvcm0tY29udHJvbC1mZWVkYmFjayB7XG4gIG1hcmdpbi10b3A6IDAuMTI1cmVtOyB9XG5cbi5mb3JtLWNvbnRyb2wtc3VjY2Vzcyxcbi5mb3JtLWNvbnRyb2wtd2FybmluZyxcbi5mb3JtLWNvbnRyb2wtZGFuZ2VyIHtcbiAgcGFkZGluZy1yaWdodDogMDtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIHJpZ2h0IDAuNTkzNzVyZW07XG4gIGJhY2tncm91bmQtc2l6ZTogMS4xODc1cmVtIDEuMTg3NXJlbTsgfVxuXG4uaGFzLXN1Y2Nlc3MgLmZvcm0tY29udHJvbC1mZWVkYmFjayxcbi5oYXMtc3VjY2VzcyAuZm9ybS1jb250cm9sLWxhYmVsLFxuLmhhcy1zdWNjZXNzIC5yYWRpbyxcbi5oYXMtc3VjY2VzcyAuY2hlY2tib3gsXG4uaGFzLXN1Y2Nlc3MgLnJhZGlvLWlubGluZSxcbi5oYXMtc3VjY2VzcyAuY2hlY2tib3gtaW5saW5lLFxuLmhhcy1zdWNjZXNzLnJhZGlvIGxhYmVsLFxuLmhhcy1zdWNjZXNzLmNoZWNrYm94IGxhYmVsLFxuLmhhcy1zdWNjZXNzLnJhZGlvLWlubGluZSBsYWJlbCxcbi5oYXMtc3VjY2Vzcy5jaGVja2JveC1pbmxpbmUgbGFiZWwsXG4uaGFzLXN1Y2Nlc3MgLmN1c3RvbS1jb250cm9sIHtcbiAgY29sb3I6ICM0Y2FmNTA7IH1cblxuLmhhcy1zdWNjZXNzIC5mb3JtLWNvbnRyb2wsIC5oYXMtc3VjY2VzcyAuY3VzdG9tLWZpbGUtY29udHJvbCB7XG4gIGJvcmRlci1jb2xvcjogIzRjYWY1MDsgfVxuXG4uaGFzLXN1Y2Nlc3MgLmlucHV0LWdyb3VwLWFkZG9uIHtcbiAgY29sb3I6ICM0Y2FmNTA7XG4gIGJvcmRlci1jb2xvcjogIzRjYWY1MDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Q5ZWVkYTsgfVxuXG4uaGFzLXN1Y2Nlc3MgLmZvcm0tY29udHJvbC1mZWVkYmFjayB7XG4gIGNvbG9yOiAjNGNhZjUwOyB9XG5cbi5oYXMtc3VjY2VzcyAuZm9ybS1jb250cm9sLXN1Y2Nlc3Mge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGY4LCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCA4IDgnJTNFJTNDcGF0aCBmaWxsPSclMjM1Y2I4NWMnIGQ9J00yLjMgNi43M0wuNiA0LjUzYy0uNC0xLjA0LjQ2LTEuNCAxLjEtLjhsMS4xIDEuNCAzLjQtMy44Yy42LS42MyAxLjYtLjI3IDEuMi43bC00IDQuNmMtLjQzLjUtLjguNC0xLjEuMXonLyUzRSUzQy9zdmclM0VcIik7IH1cblxuLmhhcy13YXJuaW5nIC5mb3JtLWNvbnRyb2wtZmVlZGJhY2ssXG4uaGFzLXdhcm5pbmcgLmZvcm0tY29udHJvbC1sYWJlbCxcbi5oYXMtd2FybmluZyAucmFkaW8sXG4uaGFzLXdhcm5pbmcgLmNoZWNrYm94LFxuLmhhcy13YXJuaW5nIC5yYWRpby1pbmxpbmUsXG4uaGFzLXdhcm5pbmcgLmNoZWNrYm94LWlubGluZSxcbi5oYXMtd2FybmluZy5yYWRpbyBsYWJlbCxcbi5oYXMtd2FybmluZy5jaGVja2JveCBsYWJlbCxcbi5oYXMtd2FybmluZy5yYWRpby1pbmxpbmUgbGFiZWwsXG4uaGFzLXdhcm5pbmcuY2hlY2tib3gtaW5saW5lIGxhYmVsLFxuLmhhcy13YXJuaW5nIC5jdXN0b20tY29udHJvbCB7XG4gIGNvbG9yOiAjZmY1NzIyOyB9XG5cbi5oYXMtd2FybmluZyAuZm9ybS1jb250cm9sLCAuaGFzLXdhcm5pbmcgLmN1c3RvbS1maWxlLWNvbnRyb2wge1xuICBib3JkZXItY29sb3I6ICNmZjU3MjI7IH1cblxuLmhhcy13YXJuaW5nIC5pbnB1dC1ncm91cC1hZGRvbiB7XG4gIGNvbG9yOiAjZmY1NzIyO1xuICBib3JkZXItY29sb3I6ICNmZjU3MjI7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmYyZWU7IH1cblxuLmhhcy13YXJuaW5nIC5mb3JtLWNvbnRyb2wtZmVlZGJhY2sge1xuICBjb2xvcjogI2ZmNTcyMjsgfVxuXG4uaGFzLXdhcm5pbmcgLmZvcm0tY29udHJvbC13YXJuaW5nIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmOCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgOCA4JyUzRSUzQ3BhdGggZmlsbD0nJTIzZjBhZDRlJyBkPSdNNC40IDUuMzI0aC0uOHYtMi40NmguOHptMCAxLjQyaC0uOFY1Ljg5aC44ek0zLjc2LjYzTC4wNCA3LjA3NWMtLjExNS4yLjAxNi40MjUuMjYuNDI2aDcuMzk3Yy4yNDIgMCAuMzcyLS4yMjYuMjU4LS40MjZDNi43MjYgNC45MjQgNS40NyAyLjc5IDQuMjUzLjYzYy0uMTEzLS4xNzQtLjM5LS4xNzQtLjQ5NCAweicvJTNFJTNDL3N2ZyUzRVwiKTsgfVxuXG4uaGFzLWRhbmdlciAuZm9ybS1jb250cm9sLWZlZWRiYWNrLFxuLmhhcy1kYW5nZXIgLmZvcm0tY29udHJvbC1sYWJlbCxcbi5oYXMtZGFuZ2VyIC5yYWRpbyxcbi5oYXMtZGFuZ2VyIC5jaGVja2JveCxcbi5oYXMtZGFuZ2VyIC5yYWRpby1pbmxpbmUsXG4uaGFzLWRhbmdlciAuY2hlY2tib3gtaW5saW5lLFxuLmhhcy1kYW5nZXIucmFkaW8gbGFiZWwsXG4uaGFzLWRhbmdlci5jaGVja2JveCBsYWJlbCxcbi5oYXMtZGFuZ2VyLnJhZGlvLWlubGluZSBsYWJlbCxcbi5oYXMtZGFuZ2VyLmNoZWNrYm94LWlubGluZSBsYWJlbCxcbi5oYXMtZGFuZ2VyIC5jdXN0b20tY29udHJvbCB7XG4gIGNvbG9yOiAjZjQ0MzM2OyB9XG5cbi5oYXMtZGFuZ2VyIC5mb3JtLWNvbnRyb2wsIC5oYXMtZGFuZ2VyIC5jdXN0b20tZmlsZS1jb250cm9sIHtcbiAgYm9yZGVyLWNvbG9yOiAjZjQ0MzM2OyB9XG5cbi5oYXMtZGFuZ2VyIC5pbnB1dC1ncm91cC1hZGRvbiB7XG4gIGNvbG9yOiAjZjQ0MzM2O1xuICBib3JkZXItY29sb3I6ICNmNDQzMzY7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY4Zjc7IH1cblxuLmhhcy1kYW5nZXIgLmZvcm0tY29udHJvbC1mZWVkYmFjayB7XG4gIGNvbG9yOiAjZjQ0MzM2OyB9XG5cbi5oYXMtZGFuZ2VyIC5mb3JtLWNvbnRyb2wtZGFuZ2VyIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmOCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyBmaWxsPSclMjNkOTUzNGYnIHZpZXdCb3g9Jy0yIC0yIDcgNyclM0UlM0NwYXRoIHN0cm9rZT0nJTIzZDk1MzRmJyBkPSdNMCAwbDMgM20wLTNMMCAzJy8lM0UlM0NjaXJjbGUgcj0nLjUnLyUzRSUzQ2NpcmNsZSBjeD0nMycgcj0nLjUnLyUzRSUzQ2NpcmNsZSBjeT0nMycgcj0nLjUnLyUzRSUzQ2NpcmNsZSBjeD0nMycgY3k9JzMnIHI9Jy41Jy8lM0UlM0Mvc3ZnJTNFXCIpOyB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA1NDRweCkge1xuICAuZm9ybS1pbmxpbmUgLmZvcm0tZ3JvdXAge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cbiAgLmZvcm0taW5saW5lIC5mb3JtLWNvbnRyb2wsIC5mb3JtLWlubGluZSAuY3VzdG9tLWZpbGUtY29udHJvbCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cbiAgLmZvcm0taW5saW5lIC5mb3JtLWNvbnRyb2wtc3RhdGljIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgLmZvcm0taW5saW5lIC5pbnB1dC1ncm91cCB7XG4gICAgZGlzcGxheTogaW5saW5lLXRhYmxlO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cbiAgICAuZm9ybS1pbmxpbmUgLmlucHV0LWdyb3VwIC5pbnB1dC1ncm91cC1hZGRvbixcbiAgICAuZm9ybS1pbmxpbmUgLmlucHV0LWdyb3VwIC5pbnB1dC1ncm91cC1idG4sXG4gICAgLmZvcm0taW5saW5lIC5pbnB1dC1ncm91cCAuZm9ybS1jb250cm9sLFxuICAgIC5mb3JtLWlubGluZSAuaW5wdXQtZ3JvdXAgLmN1c3RvbS1maWxlLWNvbnRyb2wge1xuICAgICAgd2lkdGg6IGF1dG87IH1cbiAgLmZvcm0taW5saW5lIC5pbnB1dC1ncm91cCA+IC5mb3JtLWNvbnRyb2wsIC5mb3JtLWlubGluZSAuaW5wdXQtZ3JvdXAgPiAuY3VzdG9tLWZpbGUtY29udHJvbCB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLmZvcm0taW5saW5lIC5mb3JtLWNvbnRyb2wtbGFiZWwge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuICAuZm9ybS1pbmxpbmUgLmZvcm0tY2hlY2sge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuICAuZm9ybS1pbmxpbmUgLmZvcm0tY2hlY2stbGFiZWwge1xuICAgIHBhZGRpbmctbGVmdDogMDsgfVxuICAuZm9ybS1pbmxpbmUgLmZvcm0tY2hlY2staW5wdXQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAuZm9ybS1pbmxpbmUgLmhhcy1mZWVkYmFjayAuZm9ybS1jb250cm9sLWZlZWRiYWNrIHtcbiAgICB0b3A6IDA7IH0gfVxuXG4uYnRuLCAuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LXdlaWdodDogNTAwO1xuICBsaW5lLWhlaWdodDogMS4yNTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgcGFkZGluZzogMC40Njg3NXJlbSAxcmVtO1xuICBmb250LXNpemU6IDFyZW07XG4gIGJvcmRlci1yYWRpdXM6IDAuMTI1cmVtOyB9XG4gIC5idG46Zm9jdXMsIC5jdXN0b20tZmlsZS1jb250cm9sOmZvY3VzOjpiZWZvcmUsIC5idG4uZm9jdXMsIC5mb2N1cy5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsIC5idG46YWN0aXZlOmZvY3VzLCAuY3VzdG9tLWZpbGUtY29udHJvbDphY3RpdmU6Zm9jdXM6OmJlZm9yZSwgLmJ0bjphY3RpdmUuZm9jdXMsIC5jdXN0b20tZmlsZS1jb250cm9sOmFjdGl2ZS5mb2N1czo6YmVmb3JlLCAuYnRuLmFjdGl2ZTpmb2N1cywgLmFjdGl2ZS5jdXN0b20tZmlsZS1jb250cm9sOmZvY3VzOjpiZWZvcmUsIC5idG4uYWN0aXZlLmZvY3VzLCAuYWN0aXZlLmZvY3VzLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSB7XG4gICAgb3V0bGluZTogNXB4IGF1dG8gLXdlYmtpdC1mb2N1cy1yaW5nLWNvbG9yO1xuICAgIG91dGxpbmUtb2Zmc2V0OiAtMnB4OyB9XG4gIC5idG46Zm9jdXMsIC5jdXN0b20tZmlsZS1jb250cm9sOmZvY3VzOjpiZWZvcmUsIC5idG46aG92ZXIsIC5jdXN0b20tZmlsZS1jb250cm9sOmhvdmVyOjpiZWZvcmUge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAuYnRuLmZvY3VzLCAuZm9jdXMuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgLmJ0bjphY3RpdmUsIC5jdXN0b20tZmlsZS1jb250cm9sOmFjdGl2ZTo6YmVmb3JlLCAuYnRuLmFjdGl2ZSwgLmFjdGl2ZS5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gICAgb3V0bGluZTogMDtcbiAgICBib3gtc2hhZG93OiBub25lOyB9XG4gIC5idG4uZGlzYWJsZWQsIC5kaXNhYmxlZC5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsIC5idG46ZGlzYWJsZWQsIC5jdXN0b20tZmlsZS1jb250cm9sOmRpc2FibGVkOjpiZWZvcmUge1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgb3BhY2l0eTogLjY1O1xuICAgIGJveC1zaGFkb3c6IG5vbmU7IH1cblxuYS5idG4uZGlzYWJsZWQsIGEuZGlzYWJsZWQuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLFxuZmllbGRzZXRbZGlzYWJsZWRdIGEuYnRuLFxuZmllbGRzZXRbZGlzYWJsZWRdIGEuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlIHtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cblxuLmJ0bi1wcmltYXJ5IHtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDk2ODg7XG4gIGJvcmRlci1jb2xvcjogIzAwOTY4ODtcbiAgYm94LXNoYWRvdzogbm9uZTsgfVxuICAuYnRuLXByaW1hcnk6aG92ZXIge1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDYzNWE7XG4gICAgYm9yZGVyLWNvbG9yOiAjMDA1OTUxOyB9XG4gIC5idG4tcHJpbWFyeTpmb2N1cywgLmJ0bi1wcmltYXJ5LmZvY3VzIHtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA2MzVhO1xuICAgIGJvcmRlci1jb2xvcjogIzAwNTk1MTsgfVxuICAuYnRuLXByaW1hcnk6YWN0aXZlLCAuYnRuLXByaW1hcnkuYWN0aXZlLFxuICAub3BlbiA+IC5idG4tcHJpbWFyeS5kcm9wZG93bi10b2dnbGUge1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDYzNWE7XG4gICAgYm9yZGVyLWNvbG9yOiAjMDA1OTUxO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gICAgYm94LXNoYWRvdzogbm9uZTsgfVxuICAgIC5idG4tcHJpbWFyeTphY3RpdmU6aG92ZXIsIC5idG4tcHJpbWFyeTphY3RpdmU6Zm9jdXMsIC5idG4tcHJpbWFyeTphY3RpdmUuZm9jdXMsIC5idG4tcHJpbWFyeS5hY3RpdmU6aG92ZXIsIC5idG4tcHJpbWFyeS5hY3RpdmU6Zm9jdXMsIC5idG4tcHJpbWFyeS5hY3RpdmUuZm9jdXMsXG4gICAgLm9wZW4gPiAuYnRuLXByaW1hcnkuZHJvcGRvd24tdG9nZ2xlOmhvdmVyLFxuICAgIC5vcGVuID4gLmJ0bi1wcmltYXJ5LmRyb3Bkb3duLXRvZ2dsZTpmb2N1cyxcbiAgICAub3BlbiA+IC5idG4tcHJpbWFyeS5kcm9wZG93bi10b2dnbGUuZm9jdXMge1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAzZjM5O1xuICAgICAgYm9yZGVyLWNvbG9yOiAjMDAxNzE0OyB9XG4gIC5idG4tcHJpbWFyeS5kaXNhYmxlZDpmb2N1cywgLmJ0bi1wcmltYXJ5LmRpc2FibGVkLmZvY3VzLCAuYnRuLXByaW1hcnk6ZGlzYWJsZWQ6Zm9jdXMsIC5idG4tcHJpbWFyeTpkaXNhYmxlZC5mb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwOTY4ODtcbiAgICBib3JkZXItY29sb3I6ICMwMDk2ODg7IH1cbiAgLmJ0bi1wcmltYXJ5LmRpc2FibGVkOmhvdmVyLCAuYnRuLXByaW1hcnk6ZGlzYWJsZWQ6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDk2ODg7XG4gICAgYm9yZGVyLWNvbG9yOiAjMDA5Njg4OyB9XG5cbi5idG4tc2Vjb25kYXJ5IHtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmYWZhZmE7XG4gIGJvcmRlci1jb2xvcjogI2NjYztcbiAgYm94LXNoYWRvdzogbm9uZTsgfVxuICAuYnRuLXNlY29uZGFyeTpob3ZlciB7XG4gICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2UxZTFlMTtcbiAgICBib3JkZXItY29sb3I6ICNhZGFkYWQ7IH1cbiAgLmJ0bi1zZWNvbmRhcnk6Zm9jdXMsIC5idG4tc2Vjb25kYXJ5LmZvY3VzIHtcbiAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTFlMWUxO1xuICAgIGJvcmRlci1jb2xvcjogI2FkYWRhZDsgfVxuICAuYnRuLXNlY29uZGFyeTphY3RpdmUsIC5idG4tc2Vjb25kYXJ5LmFjdGl2ZSxcbiAgLm9wZW4gPiAuYnRuLXNlY29uZGFyeS5kcm9wZG93bi10b2dnbGUge1xuICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlMWUxZTE7XG4gICAgYm9yZGVyLWNvbG9yOiAjYWRhZGFkO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gICAgYm94LXNoYWRvdzogbm9uZTsgfVxuICAgIC5idG4tc2Vjb25kYXJ5OmFjdGl2ZTpob3ZlciwgLmJ0bi1zZWNvbmRhcnk6YWN0aXZlOmZvY3VzLCAuYnRuLXNlY29uZGFyeTphY3RpdmUuZm9jdXMsIC5idG4tc2Vjb25kYXJ5LmFjdGl2ZTpob3ZlciwgLmJ0bi1zZWNvbmRhcnkuYWN0aXZlOmZvY3VzLCAuYnRuLXNlY29uZGFyeS5hY3RpdmUuZm9jdXMsXG4gICAgLm9wZW4gPiAuYnRuLXNlY29uZGFyeS5kcm9wZG93bi10b2dnbGU6aG92ZXIsXG4gICAgLm9wZW4gPiAuYnRuLXNlY29uZGFyeS5kcm9wZG93bi10b2dnbGU6Zm9jdXMsXG4gICAgLm9wZW4gPiAuYnRuLXNlY29uZGFyeS5kcm9wZG93bi10b2dnbGUuZm9jdXMge1xuICAgICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2ZjZmNmO1xuICAgICAgYm9yZGVyLWNvbG9yOiAjOGM4YzhjOyB9XG4gIC5idG4tc2Vjb25kYXJ5LmRpc2FibGVkOmZvY3VzLCAuYnRuLXNlY29uZGFyeS5kaXNhYmxlZC5mb2N1cywgLmJ0bi1zZWNvbmRhcnk6ZGlzYWJsZWQ6Zm9jdXMsIC5idG4tc2Vjb25kYXJ5OmRpc2FibGVkLmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmFmYWZhO1xuICAgIGJvcmRlci1jb2xvcjogI2NjYzsgfVxuICAuYnRuLXNlY29uZGFyeS5kaXNhYmxlZDpob3ZlciwgLmJ0bi1zZWNvbmRhcnk6ZGlzYWJsZWQ6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmYWZhZmE7XG4gICAgYm9yZGVyLWNvbG9yOiAjY2NjOyB9XG5cbi5idG4taW5mbyB7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDNhOWY0O1xuICBib3JkZXItY29sb3I6ICMwM2E5ZjQ7XG4gIGJveC1zaGFkb3c6IG5vbmU7IH1cbiAgLmJ0bi1pbmZvOmhvdmVyIHtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDI4NmMyO1xuICAgIGJvcmRlci1jb2xvcjogIzAyN2ZiODsgfVxuICAuYnRuLWluZm86Zm9jdXMsIC5idG4taW5mby5mb2N1cyB7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAyODZjMjtcbiAgICBib3JkZXItY29sb3I6ICMwMjdmYjg7IH1cbiAgLmJ0bi1pbmZvOmFjdGl2ZSwgLmJ0bi1pbmZvLmFjdGl2ZSxcbiAgLm9wZW4gPiAuYnRuLWluZm8uZHJvcGRvd24tdG9nZ2xlIHtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDI4NmMyO1xuICAgIGJvcmRlci1jb2xvcjogIzAyN2ZiODtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICAgIGJveC1zaGFkb3c6IG5vbmU7IH1cbiAgICAuYnRuLWluZm86YWN0aXZlOmhvdmVyLCAuYnRuLWluZm86YWN0aXZlOmZvY3VzLCAuYnRuLWluZm86YWN0aXZlLmZvY3VzLCAuYnRuLWluZm8uYWN0aXZlOmhvdmVyLCAuYnRuLWluZm8uYWN0aXZlOmZvY3VzLCAuYnRuLWluZm8uYWN0aXZlLmZvY3VzLFxuICAgIC5vcGVuID4gLmJ0bi1pbmZvLmRyb3Bkb3duLXRvZ2dsZTpob3ZlcixcbiAgICAub3BlbiA+IC5idG4taW5mby5kcm9wZG93bi10b2dnbGU6Zm9jdXMsXG4gICAgLm9wZW4gPiAuYnRuLWluZm8uZHJvcGRvd24tdG9nZ2xlLmZvY3VzIHtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAyNmU5ZTtcbiAgICAgIGJvcmRlci1jb2xvcjogIzAxNTI3NjsgfVxuICAuYnRuLWluZm8uZGlzYWJsZWQ6Zm9jdXMsIC5idG4taW5mby5kaXNhYmxlZC5mb2N1cywgLmJ0bi1pbmZvOmRpc2FibGVkOmZvY3VzLCAuYnRuLWluZm86ZGlzYWJsZWQuZm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwM2E5ZjQ7XG4gICAgYm9yZGVyLWNvbG9yOiAjMDNhOWY0OyB9XG4gIC5idG4taW5mby5kaXNhYmxlZDpob3ZlciwgLmJ0bi1pbmZvOmRpc2FibGVkOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDNhOWY0O1xuICAgIGJvcmRlci1jb2xvcjogIzAzYTlmNDsgfVxuXG4uYnRuLXN1Y2Nlc3Mge1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzRjYWY1MDtcbiAgYm9yZGVyLWNvbG9yOiAjNGNhZjUwO1xuICBib3gtc2hhZG93OiBub25lOyB9XG4gIC5idG4tc3VjY2Vzczpob3ZlciB7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzNkOGI0MDtcbiAgICBib3JkZXItY29sb3I6ICMzOTg0M2M7IH1cbiAgLmJ0bi1zdWNjZXNzOmZvY3VzLCAuYnRuLXN1Y2Nlc3MuZm9jdXMge1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMzZDhiNDA7XG4gICAgYm9yZGVyLWNvbG9yOiAjMzk4NDNjOyB9XG4gIC5idG4tc3VjY2VzczphY3RpdmUsIC5idG4tc3VjY2Vzcy5hY3RpdmUsXG4gIC5vcGVuID4gLmJ0bi1zdWNjZXNzLmRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzNkOGI0MDtcbiAgICBib3JkZXItY29sb3I6ICMzOTg0M2M7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgICBib3gtc2hhZG93OiBub25lOyB9XG4gICAgLmJ0bi1zdWNjZXNzOmFjdGl2ZTpob3ZlciwgLmJ0bi1zdWNjZXNzOmFjdGl2ZTpmb2N1cywgLmJ0bi1zdWNjZXNzOmFjdGl2ZS5mb2N1cywgLmJ0bi1zdWNjZXNzLmFjdGl2ZTpob3ZlciwgLmJ0bi1zdWNjZXNzLmFjdGl2ZTpmb2N1cywgLmJ0bi1zdWNjZXNzLmFjdGl2ZS5mb2N1cyxcbiAgICAub3BlbiA+IC5idG4tc3VjY2Vzcy5kcm9wZG93bi10b2dnbGU6aG92ZXIsXG4gICAgLm9wZW4gPiAuYnRuLXN1Y2Nlc3MuZHJvcGRvd24tdG9nZ2xlOmZvY3VzLFxuICAgIC5vcGVuID4gLmJ0bi1zdWNjZXNzLmRyb3Bkb3duLXRvZ2dsZS5mb2N1cyB7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMzMjczMzQ7XG4gICAgICBib3JkZXItY29sb3I6ICMyNTU2Mjc7IH1cbiAgLmJ0bi1zdWNjZXNzLmRpc2FibGVkOmZvY3VzLCAuYnRuLXN1Y2Nlc3MuZGlzYWJsZWQuZm9jdXMsIC5idG4tc3VjY2VzczpkaXNhYmxlZDpmb2N1cywgLmJ0bi1zdWNjZXNzOmRpc2FibGVkLmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNGNhZjUwO1xuICAgIGJvcmRlci1jb2xvcjogIzRjYWY1MDsgfVxuICAuYnRuLXN1Y2Nlc3MuZGlzYWJsZWQ6aG92ZXIsIC5idG4tc3VjY2VzczpkaXNhYmxlZDpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzRjYWY1MDtcbiAgICBib3JkZXItY29sb3I6ICM0Y2FmNTA7IH1cblxuLmJ0bi13YXJuaW5nIHtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZjU3MjI7XG4gIGJvcmRlci1jb2xvcjogI2ZmNTcyMjtcbiAgYm94LXNoYWRvdzogbm9uZTsgfVxuICAuYnRuLXdhcm5pbmc6aG92ZXIge1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlZTM5MDA7XG4gICAgYm9yZGVyLWNvbG9yOiAjZTQzNzAwOyB9XG4gIC5idG4td2FybmluZzpmb2N1cywgLmJ0bi13YXJuaW5nLmZvY3VzIHtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWUzOTAwO1xuICAgIGJvcmRlci1jb2xvcjogI2U0MzcwMDsgfVxuICAuYnRuLXdhcm5pbmc6YWN0aXZlLCAuYnRuLXdhcm5pbmcuYWN0aXZlLFxuICAub3BlbiA+IC5idG4td2FybmluZy5kcm9wZG93bi10b2dnbGUge1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlZTM5MDA7XG4gICAgYm9yZGVyLWNvbG9yOiAjZTQzNzAwO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gICAgYm94LXNoYWRvdzogbm9uZTsgfVxuICAgIC5idG4td2FybmluZzphY3RpdmU6aG92ZXIsIC5idG4td2FybmluZzphY3RpdmU6Zm9jdXMsIC5idG4td2FybmluZzphY3RpdmUuZm9jdXMsIC5idG4td2FybmluZy5hY3RpdmU6aG92ZXIsIC5idG4td2FybmluZy5hY3RpdmU6Zm9jdXMsIC5idG4td2FybmluZy5hY3RpdmUuZm9jdXMsXG4gICAgLm9wZW4gPiAuYnRuLXdhcm5pbmcuZHJvcGRvd24tdG9nZ2xlOmhvdmVyLFxuICAgIC5vcGVuID4gLmJ0bi13YXJuaW5nLmRyb3Bkb3duLXRvZ2dsZTpmb2N1cyxcbiAgICAub3BlbiA+IC5idG4td2FybmluZy5kcm9wZG93bi10b2dnbGUuZm9jdXMge1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2EzMTAwO1xuICAgICAgYm9yZGVyLWNvbG9yOiAjYTIyNzAwOyB9XG4gIC5idG4td2FybmluZy5kaXNhYmxlZDpmb2N1cywgLmJ0bi13YXJuaW5nLmRpc2FibGVkLmZvY3VzLCAuYnRuLXdhcm5pbmc6ZGlzYWJsZWQ6Zm9jdXMsIC5idG4td2FybmluZzpkaXNhYmxlZC5mb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmNTcyMjtcbiAgICBib3JkZXItY29sb3I6ICNmZjU3MjI7IH1cbiAgLmJ0bi13YXJuaW5nLmRpc2FibGVkOmhvdmVyLCAuYnRuLXdhcm5pbmc6ZGlzYWJsZWQ6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZjU3MjI7XG4gICAgYm9yZGVyLWNvbG9yOiAjZmY1NzIyOyB9XG5cbi5idG4tZGFuZ2VyIHtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmNDQzMzY7XG4gIGJvcmRlci1jb2xvcjogI2Y0NDMzNjtcbiAgYm94LXNoYWRvdzogbm9uZTsgfVxuICAuYnRuLWRhbmdlcjpob3ZlciB7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2VhMWMwZDtcbiAgICBib3JkZXItY29sb3I6ICNlMTFiMGM7IH1cbiAgLmJ0bi1kYW5nZXI6Zm9jdXMsIC5idG4tZGFuZ2VyLmZvY3VzIHtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWExYzBkO1xuICAgIGJvcmRlci1jb2xvcjogI2UxMWIwYzsgfVxuICAuYnRuLWRhbmdlcjphY3RpdmUsIC5idG4tZGFuZ2VyLmFjdGl2ZSxcbiAgLm9wZW4gPiAuYnRuLWRhbmdlci5kcm9wZG93bi10b2dnbGUge1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlYTFjMGQ7XG4gICAgYm9yZGVyLWNvbG9yOiAjZTExYjBjO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gICAgYm94LXNoYWRvdzogbm9uZTsgfVxuICAgIC5idG4tZGFuZ2VyOmFjdGl2ZTpob3ZlciwgLmJ0bi1kYW5nZXI6YWN0aXZlOmZvY3VzLCAuYnRuLWRhbmdlcjphY3RpdmUuZm9jdXMsIC5idG4tZGFuZ2VyLmFjdGl2ZTpob3ZlciwgLmJ0bi1kYW5nZXIuYWN0aXZlOmZvY3VzLCAuYnRuLWRhbmdlci5hY3RpdmUuZm9jdXMsXG4gICAgLm9wZW4gPiAuYnRuLWRhbmdlci5kcm9wZG93bi10b2dnbGU6aG92ZXIsXG4gICAgLm9wZW4gPiAuYnRuLWRhbmdlci5kcm9wZG93bi10b2dnbGU6Zm9jdXMsXG4gICAgLm9wZW4gPiAuYnRuLWRhbmdlci5kcm9wZG93bi10b2dnbGUuZm9jdXMge1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYzgxODBiO1xuICAgICAgYm9yZGVyLWNvbG9yOiAjYTIxMzA5OyB9XG4gIC5idG4tZGFuZ2VyLmRpc2FibGVkOmZvY3VzLCAuYnRuLWRhbmdlci5kaXNhYmxlZC5mb2N1cywgLmJ0bi1kYW5nZXI6ZGlzYWJsZWQ6Zm9jdXMsIC5idG4tZGFuZ2VyOmRpc2FibGVkLmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjQ0MzM2O1xuICAgIGJvcmRlci1jb2xvcjogI2Y0NDMzNjsgfVxuICAuYnRuLWRhbmdlci5kaXNhYmxlZDpob3ZlciwgLmJ0bi1kYW5nZXI6ZGlzYWJsZWQ6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmNDQzMzY7XG4gICAgYm9yZGVyLWNvbG9yOiAjZjQ0MzM2OyB9XG5cbi5idG4tb3V0bGluZS1wcmltYXJ5IHtcbiAgY29sb3I6ICMwMDk2ODg7XG4gIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXItY29sb3I6ICMwMDk2ODg7IH1cbiAgLmJ0bi1vdXRsaW5lLXByaW1hcnk6aG92ZXIge1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDk2ODg7XG4gICAgYm9yZGVyLWNvbG9yOiAjMDA5Njg4OyB9XG4gIC5idG4tb3V0bGluZS1wcmltYXJ5OmZvY3VzLCAuYnRuLW91dGxpbmUtcHJpbWFyeS5mb2N1cyB7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwOTY4ODtcbiAgICBib3JkZXItY29sb3I6ICMwMDk2ODg7IH1cbiAgLmJ0bi1vdXRsaW5lLXByaW1hcnk6YWN0aXZlLCAuYnRuLW91dGxpbmUtcHJpbWFyeS5hY3RpdmUsXG4gIC5vcGVuID4gLmJ0bi1vdXRsaW5lLXByaW1hcnkuZHJvcGRvd24tdG9nZ2xlIHtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA5Njg4O1xuICAgIGJvcmRlci1jb2xvcjogIzAwOTY4ODsgfVxuICAgIC5idG4tb3V0bGluZS1wcmltYXJ5OmFjdGl2ZTpob3ZlciwgLmJ0bi1vdXRsaW5lLXByaW1hcnk6YWN0aXZlOmZvY3VzLCAuYnRuLW91dGxpbmUtcHJpbWFyeTphY3RpdmUuZm9jdXMsIC5idG4tb3V0bGluZS1wcmltYXJ5LmFjdGl2ZTpob3ZlciwgLmJ0bi1vdXRsaW5lLXByaW1hcnkuYWN0aXZlOmZvY3VzLCAuYnRuLW91dGxpbmUtcHJpbWFyeS5hY3RpdmUuZm9jdXMsXG4gICAgLm9wZW4gPiAuYnRuLW91dGxpbmUtcHJpbWFyeS5kcm9wZG93bi10b2dnbGU6aG92ZXIsXG4gICAgLm9wZW4gPiAuYnRuLW91dGxpbmUtcHJpbWFyeS5kcm9wZG93bi10b2dnbGU6Zm9jdXMsXG4gICAgLm9wZW4gPiAuYnRuLW91dGxpbmUtcHJpbWFyeS5kcm9wZG93bi10b2dnbGUuZm9jdXMge1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAzZjM5O1xuICAgICAgYm9yZGVyLWNvbG9yOiAjMDAxNzE0OyB9XG4gIC5idG4tb3V0bGluZS1wcmltYXJ5LmRpc2FibGVkOmZvY3VzLCAuYnRuLW91dGxpbmUtcHJpbWFyeS5kaXNhYmxlZC5mb2N1cywgLmJ0bi1vdXRsaW5lLXByaW1hcnk6ZGlzYWJsZWQ6Zm9jdXMsIC5idG4tb3V0bGluZS1wcmltYXJ5OmRpc2FibGVkLmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6ICMwMGZjZTQ7IH1cbiAgLmJ0bi1vdXRsaW5lLXByaW1hcnkuZGlzYWJsZWQ6aG92ZXIsIC5idG4tb3V0bGluZS1wcmltYXJ5OmRpc2FibGVkOmhvdmVyIHtcbiAgICBib3JkZXItY29sb3I6ICMwMGZjZTQ7IH1cblxuLmJ0bi1vdXRsaW5lLXNlY29uZGFyeSB7XG4gIGNvbG9yOiAjY2NjO1xuICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWNvbG9yOiAjY2NjOyB9XG4gIC5idG4tb3V0bGluZS1zZWNvbmRhcnk6aG92ZXIge1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNjY2M7XG4gICAgYm9yZGVyLWNvbG9yOiAjY2NjOyB9XG4gIC5idG4tb3V0bGluZS1zZWNvbmRhcnk6Zm9jdXMsIC5idG4tb3V0bGluZS1zZWNvbmRhcnkuZm9jdXMge1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNjY2M7XG4gICAgYm9yZGVyLWNvbG9yOiAjY2NjOyB9XG4gIC5idG4tb3V0bGluZS1zZWNvbmRhcnk6YWN0aXZlLCAuYnRuLW91dGxpbmUtc2Vjb25kYXJ5LmFjdGl2ZSxcbiAgLm9wZW4gPiAuYnRuLW91dGxpbmUtc2Vjb25kYXJ5LmRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2NjYztcbiAgICBib3JkZXItY29sb3I6ICNjY2M7IH1cbiAgICAuYnRuLW91dGxpbmUtc2Vjb25kYXJ5OmFjdGl2ZTpob3ZlciwgLmJ0bi1vdXRsaW5lLXNlY29uZGFyeTphY3RpdmU6Zm9jdXMsIC5idG4tb3V0bGluZS1zZWNvbmRhcnk6YWN0aXZlLmZvY3VzLCAuYnRuLW91dGxpbmUtc2Vjb25kYXJ5LmFjdGl2ZTpob3ZlciwgLmJ0bi1vdXRsaW5lLXNlY29uZGFyeS5hY3RpdmU6Zm9jdXMsIC5idG4tb3V0bGluZS1zZWNvbmRhcnkuYWN0aXZlLmZvY3VzLFxuICAgIC5vcGVuID4gLmJ0bi1vdXRsaW5lLXNlY29uZGFyeS5kcm9wZG93bi10b2dnbGU6aG92ZXIsXG4gICAgLm9wZW4gPiAuYnRuLW91dGxpbmUtc2Vjb25kYXJ5LmRyb3Bkb3duLXRvZ2dsZTpmb2N1cyxcbiAgICAub3BlbiA+IC5idG4tb3V0bGluZS1zZWNvbmRhcnkuZHJvcGRvd24tdG9nZ2xlLmZvY3VzIHtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ExYTFhMTtcbiAgICAgIGJvcmRlci1jb2xvcjogIzhjOGM4YzsgfVxuICAuYnRuLW91dGxpbmUtc2Vjb25kYXJ5LmRpc2FibGVkOmZvY3VzLCAuYnRuLW91dGxpbmUtc2Vjb25kYXJ5LmRpc2FibGVkLmZvY3VzLCAuYnRuLW91dGxpbmUtc2Vjb25kYXJ5OmRpc2FibGVkOmZvY3VzLCAuYnRuLW91dGxpbmUtc2Vjb25kYXJ5OmRpc2FibGVkLmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6IHdoaXRlOyB9XG4gIC5idG4tb3V0bGluZS1zZWNvbmRhcnkuZGlzYWJsZWQ6aG92ZXIsIC5idG4tb3V0bGluZS1zZWNvbmRhcnk6ZGlzYWJsZWQ6aG92ZXIge1xuICAgIGJvcmRlci1jb2xvcjogd2hpdGU7IH1cblxuLmJ0bi1vdXRsaW5lLWluZm8ge1xuICBjb2xvcjogIzAzYTlmNDtcbiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1jb2xvcjogIzAzYTlmNDsgfVxuICAuYnRuLW91dGxpbmUtaW5mbzpob3ZlciB7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAzYTlmNDtcbiAgICBib3JkZXItY29sb3I6ICMwM2E5ZjQ7IH1cbiAgLmJ0bi1vdXRsaW5lLWluZm86Zm9jdXMsIC5idG4tb3V0bGluZS1pbmZvLmZvY3VzIHtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDNhOWY0O1xuICAgIGJvcmRlci1jb2xvcjogIzAzYTlmNDsgfVxuICAuYnRuLW91dGxpbmUtaW5mbzphY3RpdmUsIC5idG4tb3V0bGluZS1pbmZvLmFjdGl2ZSxcbiAgLm9wZW4gPiAuYnRuLW91dGxpbmUtaW5mby5kcm9wZG93bi10b2dnbGUge1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwM2E5ZjQ7XG4gICAgYm9yZGVyLWNvbG9yOiAjMDNhOWY0OyB9XG4gICAgLmJ0bi1vdXRsaW5lLWluZm86YWN0aXZlOmhvdmVyLCAuYnRuLW91dGxpbmUtaW5mbzphY3RpdmU6Zm9jdXMsIC5idG4tb3V0bGluZS1pbmZvOmFjdGl2ZS5mb2N1cywgLmJ0bi1vdXRsaW5lLWluZm8uYWN0aXZlOmhvdmVyLCAuYnRuLW91dGxpbmUtaW5mby5hY3RpdmU6Zm9jdXMsIC5idG4tb3V0bGluZS1pbmZvLmFjdGl2ZS5mb2N1cyxcbiAgICAub3BlbiA+IC5idG4tb3V0bGluZS1pbmZvLmRyb3Bkb3duLXRvZ2dsZTpob3ZlcixcbiAgICAub3BlbiA+IC5idG4tb3V0bGluZS1pbmZvLmRyb3Bkb3duLXRvZ2dsZTpmb2N1cyxcbiAgICAub3BlbiA+IC5idG4tb3V0bGluZS1pbmZvLmRyb3Bkb3duLXRvZ2dsZS5mb2N1cyB7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwMjZlOWU7XG4gICAgICBib3JkZXItY29sb3I6ICMwMTUyNzY7IH1cbiAgLmJ0bi1vdXRsaW5lLWluZm8uZGlzYWJsZWQ6Zm9jdXMsIC5idG4tb3V0bGluZS1pbmZvLmRpc2FibGVkLmZvY3VzLCAuYnRuLW91dGxpbmUtaW5mbzpkaXNhYmxlZDpmb2N1cywgLmJ0bi1vdXRsaW5lLWluZm86ZGlzYWJsZWQuZm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogIzYwY2NmZDsgfVxuICAuYnRuLW91dGxpbmUtaW5mby5kaXNhYmxlZDpob3ZlciwgLmJ0bi1vdXRsaW5lLWluZm86ZGlzYWJsZWQ6aG92ZXIge1xuICAgIGJvcmRlci1jb2xvcjogIzYwY2NmZDsgfVxuXG4uYnRuLW91dGxpbmUtc3VjY2VzcyB7XG4gIGNvbG9yOiAjNGNhZjUwO1xuICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWNvbG9yOiAjNGNhZjUwOyB9XG4gIC5idG4tb3V0bGluZS1zdWNjZXNzOmhvdmVyIHtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNGNhZjUwO1xuICAgIGJvcmRlci1jb2xvcjogIzRjYWY1MDsgfVxuICAuYnRuLW91dGxpbmUtc3VjY2Vzczpmb2N1cywgLmJ0bi1vdXRsaW5lLXN1Y2Nlc3MuZm9jdXMge1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM0Y2FmNTA7XG4gICAgYm9yZGVyLWNvbG9yOiAjNGNhZjUwOyB9XG4gIC5idG4tb3V0bGluZS1zdWNjZXNzOmFjdGl2ZSwgLmJ0bi1vdXRsaW5lLXN1Y2Nlc3MuYWN0aXZlLFxuICAub3BlbiA+IC5idG4tb3V0bGluZS1zdWNjZXNzLmRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzRjYWY1MDtcbiAgICBib3JkZXItY29sb3I6ICM0Y2FmNTA7IH1cbiAgICAuYnRuLW91dGxpbmUtc3VjY2VzczphY3RpdmU6aG92ZXIsIC5idG4tb3V0bGluZS1zdWNjZXNzOmFjdGl2ZTpmb2N1cywgLmJ0bi1vdXRsaW5lLXN1Y2Nlc3M6YWN0aXZlLmZvY3VzLCAuYnRuLW91dGxpbmUtc3VjY2Vzcy5hY3RpdmU6aG92ZXIsIC5idG4tb3V0bGluZS1zdWNjZXNzLmFjdGl2ZTpmb2N1cywgLmJ0bi1vdXRsaW5lLXN1Y2Nlc3MuYWN0aXZlLmZvY3VzLFxuICAgIC5vcGVuID4gLmJ0bi1vdXRsaW5lLXN1Y2Nlc3MuZHJvcGRvd24tdG9nZ2xlOmhvdmVyLFxuICAgIC5vcGVuID4gLmJ0bi1vdXRsaW5lLXN1Y2Nlc3MuZHJvcGRvd24tdG9nZ2xlOmZvY3VzLFxuICAgIC5vcGVuID4gLmJ0bi1vdXRsaW5lLXN1Y2Nlc3MuZHJvcGRvd24tdG9nZ2xlLmZvY3VzIHtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzMyNzMzNDtcbiAgICAgIGJvcmRlci1jb2xvcjogIzI1NTYyNzsgfVxuICAuYnRuLW91dGxpbmUtc3VjY2Vzcy5kaXNhYmxlZDpmb2N1cywgLmJ0bi1vdXRsaW5lLXN1Y2Nlc3MuZGlzYWJsZWQuZm9jdXMsIC5idG4tb3V0bGluZS1zdWNjZXNzOmRpc2FibGVkOmZvY3VzLCAuYnRuLW91dGxpbmUtc3VjY2VzczpkaXNhYmxlZC5mb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yOiAjOTJjZjk0OyB9XG4gIC5idG4tb3V0bGluZS1zdWNjZXNzLmRpc2FibGVkOmhvdmVyLCAuYnRuLW91dGxpbmUtc3VjY2VzczpkaXNhYmxlZDpob3ZlciB7XG4gICAgYm9yZGVyLWNvbG9yOiAjOTJjZjk0OyB9XG5cbi5idG4tb3V0bGluZS13YXJuaW5nIHtcbiAgY29sb3I6ICNmZjU3MjI7XG4gIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXItY29sb3I6ICNmZjU3MjI7IH1cbiAgLmJ0bi1vdXRsaW5lLXdhcm5pbmc6aG92ZXIge1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZjU3MjI7XG4gICAgYm9yZGVyLWNvbG9yOiAjZmY1NzIyOyB9XG4gIC5idG4tb3V0bGluZS13YXJuaW5nOmZvY3VzLCAuYnRuLW91dGxpbmUtd2FybmluZy5mb2N1cyB7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmNTcyMjtcbiAgICBib3JkZXItY29sb3I6ICNmZjU3MjI7IH1cbiAgLmJ0bi1vdXRsaW5lLXdhcm5pbmc6YWN0aXZlLCAuYnRuLW91dGxpbmUtd2FybmluZy5hY3RpdmUsXG4gIC5vcGVuID4gLmJ0bi1vdXRsaW5lLXdhcm5pbmcuZHJvcGRvd24tdG9nZ2xlIHtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmY1NzIyO1xuICAgIGJvcmRlci1jb2xvcjogI2ZmNTcyMjsgfVxuICAgIC5idG4tb3V0bGluZS13YXJuaW5nOmFjdGl2ZTpob3ZlciwgLmJ0bi1vdXRsaW5lLXdhcm5pbmc6YWN0aXZlOmZvY3VzLCAuYnRuLW91dGxpbmUtd2FybmluZzphY3RpdmUuZm9jdXMsIC5idG4tb3V0bGluZS13YXJuaW5nLmFjdGl2ZTpob3ZlciwgLmJ0bi1vdXRsaW5lLXdhcm5pbmcuYWN0aXZlOmZvY3VzLCAuYnRuLW91dGxpbmUtd2FybmluZy5hY3RpdmUuZm9jdXMsXG4gICAgLm9wZW4gPiAuYnRuLW91dGxpbmUtd2FybmluZy5kcm9wZG93bi10b2dnbGU6aG92ZXIsXG4gICAgLm9wZW4gPiAuYnRuLW91dGxpbmUtd2FybmluZy5kcm9wZG93bi10b2dnbGU6Zm9jdXMsXG4gICAgLm9wZW4gPiAuYnRuLW91dGxpbmUtd2FybmluZy5kcm9wZG93bi10b2dnbGUuZm9jdXMge1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2EzMTAwO1xuICAgICAgYm9yZGVyLWNvbG9yOiAjYTIyNzAwOyB9XG4gIC5idG4tb3V0bGluZS13YXJuaW5nLmRpc2FibGVkOmZvY3VzLCAuYnRuLW91dGxpbmUtd2FybmluZy5kaXNhYmxlZC5mb2N1cywgLmJ0bi1vdXRsaW5lLXdhcm5pbmc6ZGlzYWJsZWQ6Zm9jdXMsIC5idG4tb3V0bGluZS13YXJuaW5nOmRpc2FibGVkLmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6ICNmZmE1ODg7IH1cbiAgLmJ0bi1vdXRsaW5lLXdhcm5pbmcuZGlzYWJsZWQ6aG92ZXIsIC5idG4tb3V0bGluZS13YXJuaW5nOmRpc2FibGVkOmhvdmVyIHtcbiAgICBib3JkZXItY29sb3I6ICNmZmE1ODg7IH1cblxuLmJ0bi1vdXRsaW5lLWRhbmdlciB7XG4gIGNvbG9yOiAjZjQ0MzM2O1xuICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWNvbG9yOiAjZjQ0MzM2OyB9XG4gIC5idG4tb3V0bGluZS1kYW5nZXI6aG92ZXIge1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmNDQzMzY7XG4gICAgYm9yZGVyLWNvbG9yOiAjZjQ0MzM2OyB9XG4gIC5idG4tb3V0bGluZS1kYW5nZXI6Zm9jdXMsIC5idG4tb3V0bGluZS1kYW5nZXIuZm9jdXMge1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmNDQzMzY7XG4gICAgYm9yZGVyLWNvbG9yOiAjZjQ0MzM2OyB9XG4gIC5idG4tb3V0bGluZS1kYW5nZXI6YWN0aXZlLCAuYnRuLW91dGxpbmUtZGFuZ2VyLmFjdGl2ZSxcbiAgLm9wZW4gPiAuYnRuLW91dGxpbmUtZGFuZ2VyLmRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Y0NDMzNjtcbiAgICBib3JkZXItY29sb3I6ICNmNDQzMzY7IH1cbiAgICAuYnRuLW91dGxpbmUtZGFuZ2VyOmFjdGl2ZTpob3ZlciwgLmJ0bi1vdXRsaW5lLWRhbmdlcjphY3RpdmU6Zm9jdXMsIC5idG4tb3V0bGluZS1kYW5nZXI6YWN0aXZlLmZvY3VzLCAuYnRuLW91dGxpbmUtZGFuZ2VyLmFjdGl2ZTpob3ZlciwgLmJ0bi1vdXRsaW5lLWRhbmdlci5hY3RpdmU6Zm9jdXMsIC5idG4tb3V0bGluZS1kYW5nZXIuYWN0aXZlLmZvY3VzLFxuICAgIC5vcGVuID4gLmJ0bi1vdXRsaW5lLWRhbmdlci5kcm9wZG93bi10b2dnbGU6aG92ZXIsXG4gICAgLm9wZW4gPiAuYnRuLW91dGxpbmUtZGFuZ2VyLmRyb3Bkb3duLXRvZ2dsZTpmb2N1cyxcbiAgICAub3BlbiA+IC5idG4tb3V0bGluZS1kYW5nZXIuZHJvcGRvd24tdG9nZ2xlLmZvY3VzIHtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2M4MTgwYjtcbiAgICAgIGJvcmRlci1jb2xvcjogI2EyMTMwOTsgfVxuICAuYnRuLW91dGxpbmUtZGFuZ2VyLmRpc2FibGVkOmZvY3VzLCAuYnRuLW91dGxpbmUtZGFuZ2VyLmRpc2FibGVkLmZvY3VzLCAuYnRuLW91dGxpbmUtZGFuZ2VyOmRpc2FibGVkOmZvY3VzLCAuYnRuLW91dGxpbmUtZGFuZ2VyOmRpc2FibGVkLmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6ICNmOTlkOTc7IH1cbiAgLmJ0bi1vdXRsaW5lLWRhbmdlci5kaXNhYmxlZDpob3ZlciwgLmJ0bi1vdXRsaW5lLWRhbmdlcjpkaXNhYmxlZDpob3ZlciB7XG4gICAgYm9yZGVyLWNvbG9yOiAjZjk5ZDk3OyB9XG5cbi5idG4tbGluayB7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGNvbG9yOiAjMDA5Njg4O1xuICBib3JkZXItcmFkaXVzOiAwOyB9XG4gIC5idG4tbGluaywgLmJ0bi1saW5rOmFjdGl2ZSwgLmJ0bi1saW5rLmFjdGl2ZSwgLmJ0bi1saW5rOmRpc2FibGVkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBib3gtc2hhZG93OiBub25lOyB9XG4gIC5idG4tbGluaywgLmJ0bi1saW5rOmZvY3VzLCAuYnRuLWxpbms6YWN0aXZlIHtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gIC5idG4tbGluazpob3ZlciB7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAuYnRuLWxpbms6Zm9jdXMsIC5idG4tbGluazpob3ZlciB7XG4gICAgY29sb3I6ICMwMDRhNDM7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgLmJ0bi1saW5rOmRpc2FibGVkOmZvY3VzLCAuYnRuLWxpbms6ZGlzYWJsZWQ6aG92ZXIge1xuICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMjYpO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuXG4uYnRuLWxnLCAuYnRuLWdyb3VwLWxnID4gLmJ0biwgLmJ0bi1ncm91cC1sZyA+IC5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUge1xuICBwYWRkaW5nOiAwLjc1cmVtIDEuNXJlbTtcbiAgZm9udC1zaXplOiAxLjI1cmVtO1xuICBib3JkZXItcmFkaXVzOiAwLjNyZW07IH1cblxuLmJ0bi1zbSwgLmJ0bi1ncm91cC1zbSA+IC5idG4sIC5idG4tZ3JvdXAtc20gPiAuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlIHtcbiAgcGFkZGluZzogMC40MDYyNXJlbSAwLjVyZW07XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGJvcmRlci1yYWRpdXM6IDAuMDYyNXJlbTsgfVxuXG4uYnRuLWJsb2NrIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi5idG4tYmxvY2sgKyAuYnRuLWJsb2NrIHtcbiAgbWFyZ2luLXRvcDogMC41cmVtOyB9XG5cbmlucHV0W3R5cGU9XCJzdWJtaXRcIl0uYnRuLWJsb2NrLFxuaW5wdXRbdHlwZT1cInJlc2V0XCJdLmJ0bi1ibG9jayxcbmlucHV0W3R5cGU9XCJidXR0b25cIl0uYnRuLWJsb2NrIHtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLmZhZGUge1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IC4xNXMgbGluZWFyOyB9XG4gIC5mYWRlLmluIHtcbiAgICBvcGFjaXR5OiAxOyB9XG5cbi5jb2xsYXBzZSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cbiAgLmNvbGxhcHNlLmluIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuXG4uY29sbGFwc2luZyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZTtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogLjM1cztcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogaGVpZ2h0OyB9XG5cbi5kcm9wdXAsXG4uZHJvcGRvd24ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLmRyb3Bkb3duLXRvZ2dsZTo6YWZ0ZXIge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIG1hcmdpbi1sZWZ0OiAwLjNlbTtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgY29udGVudDogXCJcIjtcbiAgYm9yZGVyLXRvcDogMC4zZW0gc29saWQ7XG4gIGJvcmRlci1yaWdodDogMC4zZW0gc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1sZWZ0OiAwLjNlbSBzb2xpZCB0cmFuc3BhcmVudDsgfVxuXG4uZHJvcGRvd24tdG9nZ2xlOmZvY3VzIHtcbiAgb3V0bGluZTogMDsgfVxuXG4uZHJvcHVwIC5kcm9wZG93bi10b2dnbGU6OmFmdGVyIHtcbiAgYm9yZGVyLXRvcDogMDtcbiAgYm9yZGVyLWJvdHRvbTogMC4zZW0gc29saWQ7IH1cblxuLmRyb3Bkb3duLW1lbnUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMTAwJTtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogMTAwMDtcbiAgZGlzcGxheTogbm9uZTtcbiAgZmxvYXQ6IGxlZnQ7XG4gIG1pbi13aWR0aDogMTYwcHg7XG4gIHBhZGRpbmc6IDVweCAwO1xuICBtYXJnaW46IDJweCAwIDA7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgMC4xNSk7XG4gIGJvcmRlci1yYWRpdXM6IDAuMTI1cmVtO1xuICBib3gtc2hhZG93OiAwIDJweCAycHggMCByZ2JhKDAsIDAsIDAsIDAuMTQpLCAwIDNweCAxcHggLTJweCByZ2JhKDAsIDAsIDAsIDAuMiksIDAgMXB4IDVweCAwIHJnYmEoMCwgMCwgMCwgMC4xMik7IH1cblxuLmRyb3Bkb3duLWRpdmlkZXIge1xuICBoZWlnaHQ6IDFweDtcbiAgbWFyZ2luOiAwLjI1cmVtIDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGJhY2tncm91bmQtY29sb3I6ICNlNWU1ZTU7IH1cblxuLmRyb3Bkb3duLWl0ZW0ge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDNweCAyMHB4O1xuICBjbGVhcjogYm90aDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7XG4gIHRleHQtYWxpZ246IGluaGVyaXQ7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGJvcmRlcjogMDsgfVxuICAuZHJvcGRvd24taXRlbTpmb2N1cywgLmRyb3Bkb3duLWl0ZW06aG92ZXIge1xuICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjVmNWY1OyB9XG4gIC5kcm9wZG93bi1pdGVtLmFjdGl2ZSwgLmRyb3Bkb3duLWl0ZW0uYWN0aXZlOmZvY3VzLCAuZHJvcGRvd24taXRlbS5hY3RpdmU6aG92ZXIge1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA5Njg4O1xuICAgIG91dGxpbmU6IDA7IH1cbiAgLmRyb3Bkb3duLWl0ZW0uZGlzYWJsZWQsIC5kcm9wZG93bi1pdGVtLmRpc2FibGVkOmZvY3VzLCAuZHJvcGRvd24taXRlbS5kaXNhYmxlZDpob3ZlciB7XG4gICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4yNik7IH1cbiAgLmRyb3Bkb3duLWl0ZW0uZGlzYWJsZWQ6Zm9jdXMsIC5kcm9wZG93bi1pdGVtLmRpc2FibGVkOmhvdmVyIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICAgIGZpbHRlcjogXCJwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoZW5hYmxlZCA9IGZhbHNlKVwiOyB9XG5cbi5vcGVuID4gLmRyb3Bkb3duLW1lbnUge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4ub3BlbiA+IGEge1xuICBvdXRsaW5lOiAwOyB9XG5cbi5kcm9wZG93bi1tZW51LXJpZ2h0IHtcbiAgcmlnaHQ6IDA7XG4gIGxlZnQ6IGF1dG87IH1cblxuLmRyb3Bkb3duLW1lbnUtbGVmdCB7XG4gIHJpZ2h0OiBhdXRvO1xuICBsZWZ0OiAwOyB9XG5cbi5kcm9wZG93bi1oZWFkZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogNXB4IDIwcHg7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMjYpO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XG5cbi5kcm9wZG93bi1iYWNrZHJvcCB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiA5OTA7IH1cblxuLmRyb3B1cCAuY2FyZXQsXG4ubmF2YmFyLWZpeGVkLWJvdHRvbSAuZHJvcGRvd24gLmNhcmV0IHtcbiAgY29udGVudDogXCJcIjtcbiAgYm9yZGVyLXRvcDogMDtcbiAgYm9yZGVyLWJvdHRvbTogMC4zZW0gc29saWQ7IH1cblxuLmRyb3B1cCAuZHJvcGRvd24tbWVudSxcbi5uYXZiYXItZml4ZWQtYm90dG9tIC5kcm9wZG93biAuZHJvcGRvd24tbWVudSB7XG4gIHRvcDogYXV0bztcbiAgYm90dG9tOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAycHg7IH1cblxuLmJ0bi1ncm91cCxcbi5idG4tZ3JvdXAtdmVydGljYWwge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuICAuYnRuLWdyb3VwID4gLmJ0biwgLmJ0bi1ncm91cCA+IC5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsXG4gIC5idG4tZ3JvdXAtdmVydGljYWwgPiAuYnRuLFxuICAuYnRuLWdyb3VwLXZlcnRpY2FsID4gLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZsb2F0OiBsZWZ0OyB9XG4gICAgLmJ0bi1ncm91cCA+IC5idG46Zm9jdXMsIC5idG4tZ3JvdXAgPiAuY3VzdG9tLWZpbGUtY29udHJvbDpmb2N1czo6YmVmb3JlLCAuYnRuLWdyb3VwID4gLmJ0bjphY3RpdmUsIC5idG4tZ3JvdXAgPiAuY3VzdG9tLWZpbGUtY29udHJvbDphY3RpdmU6OmJlZm9yZSwgLmJ0bi1ncm91cCA+IC5idG4uYWN0aXZlLCAuYnRuLWdyb3VwID4gLmFjdGl2ZS5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsXG4gICAgLmJ0bi1ncm91cC12ZXJ0aWNhbCA+IC5idG46Zm9jdXMsXG4gICAgLmJ0bi1ncm91cC12ZXJ0aWNhbCA+IC5jdXN0b20tZmlsZS1jb250cm9sOmZvY3VzOjpiZWZvcmUsXG4gICAgLmJ0bi1ncm91cC12ZXJ0aWNhbCA+IC5idG46YWN0aXZlLFxuICAgIC5idG4tZ3JvdXAtdmVydGljYWwgPiAuY3VzdG9tLWZpbGUtY29udHJvbDphY3RpdmU6OmJlZm9yZSxcbiAgICAuYnRuLWdyb3VwLXZlcnRpY2FsID4gLmJ0bi5hY3RpdmUsXG4gICAgLmJ0bi1ncm91cC12ZXJ0aWNhbCA+IC5hY3RpdmUuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlIHtcbiAgICAgIHotaW5kZXg6IDI7IH1cbiAgICAuYnRuLWdyb3VwID4gLmJ0bjpob3ZlciwgLmJ0bi1ncm91cCA+IC5jdXN0b20tZmlsZS1jb250cm9sOmhvdmVyOjpiZWZvcmUsXG4gICAgLmJ0bi1ncm91cC12ZXJ0aWNhbCA+IC5idG46aG92ZXIsXG4gICAgLmJ0bi1ncm91cC12ZXJ0aWNhbCA+IC5jdXN0b20tZmlsZS1jb250cm9sOmhvdmVyOjpiZWZvcmUge1xuICAgICAgei1pbmRleDogMjsgfVxuXG4uYnRuLWdyb3VwIC5idG4gKyAuYnRuLCAuYnRuLWdyb3VwIC5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUgKyAuYnRuLCAuYnRuLWdyb3VwIC5idG4gKyAuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLCAuYnRuLWdyb3VwIC5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUgKyAuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLFxuLmJ0bi1ncm91cCAuYnRuICsgLmJ0bi1ncm91cCxcbi5idG4tZ3JvdXAgLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSArIC5idG4tZ3JvdXAsXG4uYnRuLWdyb3VwIC5idG4tZ3JvdXAgKyAuYnRuLFxuLmJ0bi1ncm91cCAuYnRuLWdyb3VwICsgLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSxcbi5idG4tZ3JvdXAgLmJ0bi1ncm91cCArIC5idG4tZ3JvdXAge1xuICBtYXJnaW4tbGVmdDogLTFweDsgfVxuXG4uYnRuLXRvb2xiYXIge1xuICBtYXJnaW4tbGVmdDogLTAuNXJlbTsgfVxuICAuYnRuLXRvb2xiYXI6OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC5idG4tdG9vbGJhciAuYnRuLWdyb3VwLFxuICAuYnRuLXRvb2xiYXIgLmlucHV0LWdyb3VwIHtcbiAgICBmbG9hdDogbGVmdDsgfVxuICAuYnRuLXRvb2xiYXIgPiAuYnRuLCAuYnRuLXRvb2xiYXIgPiAuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLFxuICAuYnRuLXRvb2xiYXIgPiAuYnRuLWdyb3VwLFxuICAuYnRuLXRvb2xiYXIgPiAuaW5wdXQtZ3JvdXAge1xuICAgIG1hcmdpbi1sZWZ0OiAwLjVyZW07IH1cblxuLmJ0bi1ncm91cCA+IC5idG46bm90KDpmaXJzdC1jaGlsZCk6bm90KDpsYXN0LWNoaWxkKTpub3QoLmRyb3Bkb3duLXRvZ2dsZSksIC5idG4tZ3JvdXAgPiAuY3VzdG9tLWZpbGUtY29udHJvbDpub3QoOmZpcnN0LWNoaWxkKTpub3QoOmxhc3QtY2hpbGQpOm5vdCguZHJvcGRvd24tdG9nZ2xlKTo6YmVmb3JlIHtcbiAgYm9yZGVyLXJhZGl1czogMDsgfVxuXG4uYnRuLWdyb3VwID4gLmJ0bjpmaXJzdC1jaGlsZCwgLmJ0bi1ncm91cCA+IC5jdXN0b20tZmlsZS1jb250cm9sOmZpcnN0LWNoaWxkOjpiZWZvcmUge1xuICBtYXJnaW4tbGVmdDogMDsgfVxuICAuYnRuLWdyb3VwID4gLmJ0bjpmaXJzdC1jaGlsZDpub3QoOmxhc3QtY2hpbGQpOm5vdCguZHJvcGRvd24tdG9nZ2xlKSwgLmJ0bi1ncm91cCA+IC5jdXN0b20tZmlsZS1jb250cm9sOmZpcnN0LWNoaWxkOm5vdCg6bGFzdC1jaGlsZCk6bm90KC5kcm9wZG93bi10b2dnbGUpOjpiZWZvcmUge1xuICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwO1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwOyB9XG5cbi5idG4tZ3JvdXAgPiAuYnRuOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCksIC5idG4tZ3JvdXAgPiAuY3VzdG9tLWZpbGUtY29udHJvbDpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpOjpiZWZvcmUsXG4uYnRuLWdyb3VwID4gLmRyb3Bkb3duLXRvZ2dsZTpub3QoOmZpcnN0LWNoaWxkKSB7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7IH1cblxuLmJ0bi1ncm91cCA+IC5idG4tZ3JvdXAge1xuICBmbG9hdDogbGVmdDsgfVxuXG4uYnRuLWdyb3VwID4gLmJ0bi1ncm91cDpub3QoOmZpcnN0LWNoaWxkKTpub3QoOmxhc3QtY2hpbGQpID4gLmJ0biwgLmJ0bi1ncm91cCA+IC5idG4tZ3JvdXA6bm90KDpmaXJzdC1jaGlsZCk6bm90KDpsYXN0LWNoaWxkKSA+IC5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUge1xuICBib3JkZXItcmFkaXVzOiAwOyB9XG5cbi5idG4tZ3JvdXAgPiAuYnRuLWdyb3VwOmZpcnN0LWNoaWxkOm5vdCg6bGFzdC1jaGlsZCkgPiAuYnRuOmxhc3QtY2hpbGQsIC5idG4tZ3JvdXAgPiAuYnRuLWdyb3VwOmZpcnN0LWNoaWxkOm5vdCg6bGFzdC1jaGlsZCkgPiAuY3VzdG9tLWZpbGUtY29udHJvbDpsYXN0LWNoaWxkOjpiZWZvcmUsXG4uYnRuLWdyb3VwID4gLmJ0bi1ncm91cDpmaXJzdC1jaGlsZDpub3QoOmxhc3QtY2hpbGQpID4gLmRyb3Bkb3duLXRvZ2dsZSB7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwO1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDsgfVxuXG4uYnRuLWdyb3VwID4gLmJ0bi1ncm91cDpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpID4gLmJ0bjpmaXJzdC1jaGlsZCwgLmJ0bi1ncm91cCA+IC5idG4tZ3JvdXA6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSA+IC5jdXN0b20tZmlsZS1jb250cm9sOmZpcnN0LWNoaWxkOjpiZWZvcmUge1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwOyB9XG5cbi5idG4tZ3JvdXAgLmRyb3Bkb3duLXRvZ2dsZTphY3RpdmUsXG4uYnRuLWdyb3VwLm9wZW4gLmRyb3Bkb3duLXRvZ2dsZSB7XG4gIG91dGxpbmU6IDA7IH1cblxuLmJ0biArIC5kcm9wZG93bi10b2dnbGUtc3BsaXQsIC5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUgKyAuZHJvcGRvd24tdG9nZ2xlLXNwbGl0IHtcbiAgcGFkZGluZy1yaWdodDogMC43NXJlbTtcbiAgcGFkZGluZy1sZWZ0OiAwLjc1cmVtOyB9XG4gIC5idG4gKyAuZHJvcGRvd24tdG9nZ2xlLXNwbGl0OjphZnRlciwgLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSArIC5kcm9wZG93bi10b2dnbGUtc3BsaXQ6OmFmdGVyIHtcbiAgICBtYXJnaW4tbGVmdDogMDsgfVxuXG4uYnRuLXNtICsgLmRyb3Bkb3duLXRvZ2dsZS1zcGxpdCwgLmJ0bi1ncm91cC1zbSA+IC5idG4gKyAuZHJvcGRvd24tdG9nZ2xlLXNwbGl0LCAuYnRuLWdyb3VwLXNtID4gLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSArIC5kcm9wZG93bi10b2dnbGUtc3BsaXQge1xuICBwYWRkaW5nLXJpZ2h0OiAwLjM3NXJlbTtcbiAgcGFkZGluZy1sZWZ0OiAwLjM3NXJlbTsgfVxuXG4uYnRuLWxnICsgLmRyb3Bkb3duLXRvZ2dsZS1zcGxpdCwgLmJ0bi1ncm91cC1sZyA+IC5idG4gKyAuZHJvcGRvd24tdG9nZ2xlLXNwbGl0LCAuYnRuLWdyb3VwLWxnID4gLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSArIC5kcm9wZG93bi10b2dnbGUtc3BsaXQge1xuICBwYWRkaW5nLXJpZ2h0OiAxLjEyNXJlbTtcbiAgcGFkZGluZy1sZWZ0OiAxLjEyNXJlbTsgfVxuXG4uYnRuLWdyb3VwLm9wZW4gLmRyb3Bkb3duLXRvZ2dsZSB7XG4gIGJveC1zaGFkb3c6IG5vbmU7IH1cbiAgLmJ0bi1ncm91cC5vcGVuIC5kcm9wZG93bi10b2dnbGUuYnRuLWxpbmsge1xuICAgIGJveC1zaGFkb3c6IG5vbmU7IH1cblxuLmJ0biAuY2FyZXQsIC5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUgLmNhcmV0IHtcbiAgbWFyZ2luLWxlZnQ6IDA7IH1cblxuLmJ0bi1sZyAuY2FyZXQsIC5idG4tZ3JvdXAtbGcgPiAuYnRuIC5jYXJldCwgLmJ0bi1ncm91cC1sZyA+IC5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUgLmNhcmV0IHtcbiAgYm9yZGVyLXdpZHRoOiAwLjNlbSAwLjNlbSAwO1xuICBib3JkZXItYm90dG9tLXdpZHRoOiAwOyB9XG5cbi5kcm9wdXAgLmJ0bi1sZyAuY2FyZXQsIC5kcm9wdXAgLmJ0bi1ncm91cC1sZyA+IC5idG4gLmNhcmV0LCAuZHJvcHVwIC5idG4tZ3JvdXAtbGcgPiAuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlIC5jYXJldCB7XG4gIGJvcmRlci13aWR0aDogMCAwLjNlbSAwLjNlbTsgfVxuXG4uYnRuLWdyb3VwLXZlcnRpY2FsID4gLmJ0biwgLmJ0bi1ncm91cC12ZXJ0aWNhbCA+IC5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsXG4uYnRuLWdyb3VwLXZlcnRpY2FsID4gLmJ0bi1ncm91cCxcbi5idG4tZ3JvdXAtdmVydGljYWwgPiAuYnRuLWdyb3VwID4gLmJ0bixcbi5idG4tZ3JvdXAtdmVydGljYWwgPiAuYnRuLWdyb3VwID4gLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmbG9hdDogbm9uZTtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogMTAwJTsgfVxuXG4uYnRuLWdyb3VwLXZlcnRpY2FsID4gLmJ0bi1ncm91cDo6YWZ0ZXIge1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgY2xlYXI6IGJvdGg7IH1cblxuLmJ0bi1ncm91cC12ZXJ0aWNhbCA+IC5idG4tZ3JvdXAgPiAuYnRuLCAuYnRuLWdyb3VwLXZlcnRpY2FsID4gLmJ0bi1ncm91cCA+IC5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUge1xuICBmbG9hdDogbm9uZTsgfVxuXG4uYnRuLWdyb3VwLXZlcnRpY2FsID4gLmJ0biArIC5idG4sIC5idG4tZ3JvdXAtdmVydGljYWwgPiAuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlICsgLmJ0biwgLmJ0bi1ncm91cC12ZXJ0aWNhbCA+IC5idG4gKyAuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLCAuYnRuLWdyb3VwLXZlcnRpY2FsID4gLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSArIC5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsXG4uYnRuLWdyb3VwLXZlcnRpY2FsID4gLmJ0biArIC5idG4tZ3JvdXAsXG4uYnRuLWdyb3VwLXZlcnRpY2FsID4gLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSArIC5idG4tZ3JvdXAsXG4uYnRuLWdyb3VwLXZlcnRpY2FsID4gLmJ0bi1ncm91cCArIC5idG4sXG4uYnRuLWdyb3VwLXZlcnRpY2FsID4gLmJ0bi1ncm91cCArIC5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsXG4uYnRuLWdyb3VwLXZlcnRpY2FsID4gLmJ0bi1ncm91cCArIC5idG4tZ3JvdXAge1xuICBtYXJnaW4tdG9wOiAtMXB4O1xuICBtYXJnaW4tbGVmdDogMDsgfVxuXG4uYnRuLWdyb3VwLXZlcnRpY2FsID4gLmJ0bjpub3QoOmZpcnN0LWNoaWxkKTpub3QoOmxhc3QtY2hpbGQpLCAuYnRuLWdyb3VwLXZlcnRpY2FsID4gLmN1c3RvbS1maWxlLWNvbnRyb2w6bm90KDpmaXJzdC1jaGlsZCk6bm90KDpsYXN0LWNoaWxkKTo6YmVmb3JlIHtcbiAgYm9yZGVyLXJhZGl1czogMDsgfVxuXG4uYnRuLWdyb3VwLXZlcnRpY2FsID4gLmJ0bjpmaXJzdC1jaGlsZDpub3QoOmxhc3QtY2hpbGQpLCAuYnRuLWdyb3VwLXZlcnRpY2FsID4gLmN1c3RvbS1maWxlLWNvbnRyb2w6Zmlyc3QtY2hpbGQ6bm90KDpsYXN0LWNoaWxkKTo6YmVmb3JlIHtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7IH1cblxuLmJ0bi1ncm91cC12ZXJ0aWNhbCA+IC5idG46bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSwgLmJ0bi1ncm91cC12ZXJ0aWNhbCA+IC5jdXN0b20tZmlsZS1jb250cm9sOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCk6OmJlZm9yZSB7XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwO1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwOyB9XG5cbi5idG4tZ3JvdXAtdmVydGljYWwgPiAuYnRuLWdyb3VwOm5vdCg6Zmlyc3QtY2hpbGQpOm5vdCg6bGFzdC1jaGlsZCkgPiAuYnRuLCAuYnRuLWdyb3VwLXZlcnRpY2FsID4gLmJ0bi1ncm91cDpub3QoOmZpcnN0LWNoaWxkKTpub3QoOmxhc3QtY2hpbGQpID4gLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSB7XG4gIGJvcmRlci1yYWRpdXM6IDA7IH1cblxuLmJ0bi1ncm91cC12ZXJ0aWNhbCA+IC5idG4tZ3JvdXA6Zmlyc3QtY2hpbGQ6bm90KDpsYXN0LWNoaWxkKSA+IC5idG46bGFzdC1jaGlsZCwgLmJ0bi1ncm91cC12ZXJ0aWNhbCA+IC5idG4tZ3JvdXA6Zmlyc3QtY2hpbGQ6bm90KDpsYXN0LWNoaWxkKSA+IC5jdXN0b20tZmlsZS1jb250cm9sOmxhc3QtY2hpbGQ6OmJlZm9yZSxcbi5idG4tZ3JvdXAtdmVydGljYWwgPiAuYnRuLWdyb3VwOmZpcnN0LWNoaWxkOm5vdCg6bGFzdC1jaGlsZCkgPiAuZHJvcGRvd24tdG9nZ2xlIHtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7IH1cblxuLmJ0bi1ncm91cC12ZXJ0aWNhbCA+IC5idG4tZ3JvdXA6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSA+IC5idG46Zmlyc3QtY2hpbGQsIC5idG4tZ3JvdXAtdmVydGljYWwgPiAuYnRuLWdyb3VwOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkgPiAuY3VzdG9tLWZpbGUtY29udHJvbDpmaXJzdC1jaGlsZDo6YmVmb3JlIHtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7IH1cblxuW2RhdGEtdG9nZ2xlPVwiYnV0dG9uc1wiXSA+IC5idG4gaW5wdXRbdHlwZT1cInJhZGlvXCJdLCBbZGF0YS10b2dnbGU9XCJidXR0b25zXCJdID4gLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSBpbnB1dFt0eXBlPVwicmFkaW9cIl0sXG5bZGF0YS10b2dnbGU9XCJidXR0b25zXCJdID4gLmJ0biBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0sXG5bZGF0YS10b2dnbGU9XCJidXR0b25zXCJdID4gLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0sXG5bZGF0YS10b2dnbGU9XCJidXR0b25zXCJdID4gLmJ0bi1ncm91cCA+IC5idG4gaW5wdXRbdHlwZT1cInJhZGlvXCJdLFxuW2RhdGEtdG9nZ2xlPVwiYnV0dG9uc1wiXSA+IC5idG4tZ3JvdXAgPiAuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlIGlucHV0W3R5cGU9XCJyYWRpb1wiXSxcbltkYXRhLXRvZ2dsZT1cImJ1dHRvbnNcIl0gPiAuYnRuLWdyb3VwID4gLmJ0biBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0sXG5bZGF0YS10b2dnbGU9XCJidXR0b25zXCJdID4gLmJ0bi1ncm91cCA+IC5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBjbGlwOiByZWN0KDAsIDAsIDAsIDApO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuXG4uaW5wdXQtZ3JvdXAge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBmbGV4OyB9XG4gIC5pbnB1dC1ncm91cCAuZm9ybS1jb250cm9sLCAuaW5wdXQtZ3JvdXAgLmN1c3RvbS1maWxlLWNvbnRyb2wge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAyO1xuICAgIGZsZXg6IDE7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgIC5pbnB1dC1ncm91cCAuZm9ybS1jb250cm9sOmZvY3VzLCAuaW5wdXQtZ3JvdXAgLmN1c3RvbS1maWxlLWNvbnRyb2w6Zm9jdXMsIC5pbnB1dC1ncm91cCAuZm9ybS1jb250cm9sOmFjdGl2ZSwgLmlucHV0LWdyb3VwIC5jdXN0b20tZmlsZS1jb250cm9sOmFjdGl2ZSwgLmlucHV0LWdyb3VwIC5mb3JtLWNvbnRyb2w6aG92ZXIsIC5pbnB1dC1ncm91cCAuY3VzdG9tLWZpbGUtY29udHJvbDpob3ZlciB7XG4gICAgICB6LWluZGV4OiAzOyB9XG5cbi5pbnB1dC1ncm91cC1hZGRvbjpub3QoOmZpcnN0LWNoaWxkKTpub3QoOmxhc3QtY2hpbGQpLFxuLmlucHV0LWdyb3VwLWJ0bjpub3QoOmZpcnN0LWNoaWxkKTpub3QoOmxhc3QtY2hpbGQpLFxuLmlucHV0LWdyb3VwIC5mb3JtLWNvbnRyb2w6bm90KDpmaXJzdC1jaGlsZCk6bm90KDpsYXN0LWNoaWxkKSxcbi5pbnB1dC1ncm91cCAuY3VzdG9tLWZpbGUtY29udHJvbDpub3QoOmZpcnN0LWNoaWxkKTpub3QoOmxhc3QtY2hpbGQpIHtcbiAgYm9yZGVyLXJhZGl1czogMDsgfVxuXG4uaW5wdXQtZ3JvdXAtYWRkb24sXG4uaW5wdXQtZ3JvdXAtYnRuIHtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuXG4uaW5wdXQtZ3JvdXAtYWRkb24ge1xuICBwYWRkaW5nOiAwLjQzNzVyZW0gMDtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogMS4yNTtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41NCk7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmFkaXVzOiAwOyB9XG4gIC5pbnB1dC1ncm91cC1hZGRvbi5mb3JtLWNvbnRyb2wtc20sXG4gIC5pbnB1dC1ncm91cC1zbSA+IC5pbnB1dC1ncm91cC1hZGRvbixcbiAgLmlucHV0LWdyb3VwLXNtID4gLmlucHV0LWdyb3VwLWJ0biA+IC5pbnB1dC1ncm91cC1hZGRvbi5idG4sXG4gIC5pbnB1dC1ncm91cC1zbSA+IC5pbnB1dC1ncm91cC1idG4gPiAuaW5wdXQtZ3JvdXAtYWRkb24uY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlIHtcbiAgICBwYWRkaW5nOiAwLjI1cmVtIDA7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICBib3JkZXItcmFkaXVzOiAwLjA2MjVyZW07IH1cbiAgLmlucHV0LWdyb3VwLWFkZG9uLmZvcm0tY29udHJvbC1sZyxcbiAgLmlucHV0LWdyb3VwLWxnID4gLmlucHV0LWdyb3VwLWFkZG9uLFxuICAuaW5wdXQtZ3JvdXAtbGcgPiAuaW5wdXQtZ3JvdXAtYnRuID4gLmlucHV0LWdyb3VwLWFkZG9uLmJ0bixcbiAgLmlucHV0LWdyb3VwLWxnID4gLmlucHV0LWdyb3VwLWJ0biA+IC5pbnB1dC1ncm91cC1hZGRvbi5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUge1xuICAgIHBhZGRpbmc6IDAuNTYyNXJlbSAwO1xuICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICBib3JkZXItcmFkaXVzOiAwLjNyZW07IH1cbiAgLmlucHV0LWdyb3VwLWFkZG9uIGlucHV0W3R5cGU9XCJyYWRpb1wiXSxcbiAgLmlucHV0LWdyb3VwLWFkZG9uIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSB7XG4gICAgbWFyZ2luLXRvcDogMDsgfVxuXG4uaW5wdXQtZ3JvdXAgLmZvcm0tY29udHJvbDpub3QoOmxhc3QtY2hpbGQpLCAuaW5wdXQtZ3JvdXAgLmN1c3RvbS1maWxlLWNvbnRyb2w6bm90KDpsYXN0LWNoaWxkKSxcbi5pbnB1dC1ncm91cC1hZGRvbjpub3QoOmxhc3QtY2hpbGQpLFxuLmlucHV0LWdyb3VwLWJ0bjpub3QoOmxhc3QtY2hpbGQpID4gLmJ0bixcbi5pbnB1dC1ncm91cC1idG46bm90KDpsYXN0LWNoaWxkKSA+IC5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsXG4uaW5wdXQtZ3JvdXAtYnRuOm5vdCg6bGFzdC1jaGlsZCkgPiAuYnRuLWdyb3VwID4gLmJ0bixcbi5pbnB1dC1ncm91cC1idG46bm90KDpsYXN0LWNoaWxkKSA+IC5idG4tZ3JvdXAgPiAuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLFxuLmlucHV0LWdyb3VwLWJ0bjpub3QoOmxhc3QtY2hpbGQpID4gLmRyb3Bkb3duLXRvZ2dsZSxcbi5pbnB1dC1ncm91cC1idG46bm90KDpmaXJzdC1jaGlsZCkgPiAuYnRuOm5vdCg6bGFzdC1jaGlsZCk6bm90KC5kcm9wZG93bi10b2dnbGUpLFxuLmlucHV0LWdyb3VwLWJ0bjpub3QoOmZpcnN0LWNoaWxkKSA+IC5jdXN0b20tZmlsZS1jb250cm9sOm5vdCg6bGFzdC1jaGlsZCk6bm90KC5kcm9wZG93bi10b2dnbGUpOjpiZWZvcmUsXG4uaW5wdXQtZ3JvdXAtYnRuOm5vdCg6Zmlyc3QtY2hpbGQpID4gLmJ0bi1ncm91cDpub3QoOmxhc3QtY2hpbGQpID4gLmJ0bixcbi5pbnB1dC1ncm91cC1idG46bm90KDpmaXJzdC1jaGlsZCkgPiAuYnRuLWdyb3VwOm5vdCg6bGFzdC1jaGlsZCkgPiAuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlIHtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwOyB9XG5cbi5pbnB1dC1ncm91cC1hZGRvbjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgYm9yZGVyLXJpZ2h0OiAwOyB9XG5cbi5pbnB1dC1ncm91cCAuZm9ybS1jb250cm9sOm5vdCg6Zmlyc3QtY2hpbGQpLCAuaW5wdXQtZ3JvdXAgLmN1c3RvbS1maWxlLWNvbnRyb2w6bm90KDpmaXJzdC1jaGlsZCksXG4uaW5wdXQtZ3JvdXAtYWRkb246bm90KDpmaXJzdC1jaGlsZCksXG4uaW5wdXQtZ3JvdXAtYnRuOm5vdCg6Zmlyc3QtY2hpbGQpID4gLmJ0bixcbi5pbnB1dC1ncm91cC1idG46bm90KDpmaXJzdC1jaGlsZCkgPiAuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLFxuLmlucHV0LWdyb3VwLWJ0bjpub3QoOmZpcnN0LWNoaWxkKSA+IC5idG4tZ3JvdXAgPiAuYnRuLFxuLmlucHV0LWdyb3VwLWJ0bjpub3QoOmZpcnN0LWNoaWxkKSA+IC5idG4tZ3JvdXAgPiAuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLFxuLmlucHV0LWdyb3VwLWJ0bjpub3QoOmZpcnN0LWNoaWxkKSA+IC5kcm9wZG93bi10b2dnbGUsXG4uaW5wdXQtZ3JvdXAtYnRuOm5vdCg6bGFzdC1jaGlsZCkgPiAuYnRuOm5vdCg6Zmlyc3QtY2hpbGQpLFxuLmlucHV0LWdyb3VwLWJ0bjpub3QoOmxhc3QtY2hpbGQpID4gLmN1c3RvbS1maWxlLWNvbnRyb2w6bm90KDpmaXJzdC1jaGlsZCk6OmJlZm9yZSxcbi5pbnB1dC1ncm91cC1idG46bm90KDpsYXN0LWNoaWxkKSA+IC5idG4tZ3JvdXA6bm90KDpmaXJzdC1jaGlsZCkgPiAuYnRuLFxuLmlucHV0LWdyb3VwLWJ0bjpub3QoOmxhc3QtY2hpbGQpID4gLmJ0bi1ncm91cDpub3QoOmZpcnN0LWNoaWxkKSA+IC5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUge1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwOyB9XG5cbi5mb3JtLWNvbnRyb2wgKyAuaW5wdXQtZ3JvdXAtYWRkb246bm90KDpmaXJzdC1jaGlsZCksIC5jdXN0b20tZmlsZS1jb250cm9sICsgLmlucHV0LWdyb3VwLWFkZG9uOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgYm9yZGVyLWxlZnQ6IDA7IH1cblxuLmlucHV0LWdyb3VwLWJ0biB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZm9udC1zaXplOiAwO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XG4gIC5pbnB1dC1ncm91cC1idG4gPiAuYnRuLCAuaW5wdXQtZ3JvdXAtYnRuID4gLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgLmlucHV0LWdyb3VwLWJ0biA+IC5idG4gKyAuYnRuLCAuaW5wdXQtZ3JvdXAtYnRuID4gLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSArIC5idG4sIC5pbnB1dC1ncm91cC1idG4gPiAuYnRuICsgLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSwgLmlucHV0LWdyb3VwLWJ0biA+IC5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUgKyAuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMXB4OyB9XG4gICAgLmlucHV0LWdyb3VwLWJ0biA+IC5idG46Zm9jdXMsIC5pbnB1dC1ncm91cC1idG4gPiAuY3VzdG9tLWZpbGUtY29udHJvbDpmb2N1czo6YmVmb3JlLCAuaW5wdXQtZ3JvdXAtYnRuID4gLmJ0bjphY3RpdmUsIC5pbnB1dC1ncm91cC1idG4gPiAuY3VzdG9tLWZpbGUtY29udHJvbDphY3RpdmU6OmJlZm9yZSwgLmlucHV0LWdyb3VwLWJ0biA+IC5idG46aG92ZXIsIC5pbnB1dC1ncm91cC1idG4gPiAuY3VzdG9tLWZpbGUtY29udHJvbDpob3Zlcjo6YmVmb3JlIHtcbiAgICAgIHotaW5kZXg6IDM7IH1cbiAgLmlucHV0LWdyb3VwLWJ0bjpub3QoOmxhc3QtY2hpbGQpID4gLmJ0biwgLmlucHV0LWdyb3VwLWJ0bjpub3QoOmxhc3QtY2hpbGQpID4gLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSxcbiAgLmlucHV0LWdyb3VwLWJ0bjpub3QoOmxhc3QtY2hpbGQpID4gLmJ0bi1ncm91cCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAtMXB4OyB9XG4gIC5pbnB1dC1ncm91cC1idG46bm90KDpmaXJzdC1jaGlsZCkgPiAuYnRuLCAuaW5wdXQtZ3JvdXAtYnRuOm5vdCg6Zmlyc3QtY2hpbGQpID4gLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSxcbiAgLmlucHV0LWdyb3VwLWJ0bjpub3QoOmZpcnN0LWNoaWxkKSA+IC5idG4tZ3JvdXAge1xuICAgIHotaW5kZXg6IDI7XG4gICAgbWFyZ2luLWxlZnQ6IC0xcHg7IH1cbiAgICAuaW5wdXQtZ3JvdXAtYnRuOm5vdCg6Zmlyc3QtY2hpbGQpID4gLmJ0bjpmb2N1cywgLmlucHV0LWdyb3VwLWJ0bjpub3QoOmZpcnN0LWNoaWxkKSA+IC5jdXN0b20tZmlsZS1jb250cm9sOmZvY3VzOjpiZWZvcmUsIC5pbnB1dC1ncm91cC1idG46bm90KDpmaXJzdC1jaGlsZCkgPiAuYnRuOmFjdGl2ZSwgLmlucHV0LWdyb3VwLWJ0bjpub3QoOmZpcnN0LWNoaWxkKSA+IC5jdXN0b20tZmlsZS1jb250cm9sOmFjdGl2ZTo6YmVmb3JlLCAuaW5wdXQtZ3JvdXAtYnRuOm5vdCg6Zmlyc3QtY2hpbGQpID4gLmJ0bjpob3ZlciwgLmlucHV0LWdyb3VwLWJ0bjpub3QoOmZpcnN0LWNoaWxkKSA+IC5jdXN0b20tZmlsZS1jb250cm9sOmhvdmVyOjpiZWZvcmUsXG4gICAgLmlucHV0LWdyb3VwLWJ0bjpub3QoOmZpcnN0LWNoaWxkKSA+IC5idG4tZ3JvdXA6Zm9jdXMsXG4gICAgLmlucHV0LWdyb3VwLWJ0bjpub3QoOmZpcnN0LWNoaWxkKSA+IC5idG4tZ3JvdXA6YWN0aXZlLFxuICAgIC5pbnB1dC1ncm91cC1idG46bm90KDpmaXJzdC1jaGlsZCkgPiAuYnRuLWdyb3VwOmhvdmVyIHtcbiAgICAgIHotaW5kZXg6IDM7IH1cblxuLmN1c3RvbS1jb250cm9sIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmU7XG4gIHBhZGRpbmctbGVmdDogMS41cmVtO1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgLmN1c3RvbS1jb250cm9sICsgLmN1c3RvbS1jb250cm9sIHtcbiAgICBtYXJnaW4tbGVmdDogMXJlbTsgfVxuXG4uY3VzdG9tLWNvbnRyb2wtaW5wdXQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IC0xO1xuICBvcGFjaXR5OiAwOyB9XG4gIC5jdXN0b20tY29udHJvbC1pbnB1dDpjaGVja2VkIH4gLmN1c3RvbS1jb250cm9sLWluZGljYXRvciB7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwNzRkOTtcbiAgICBib3gtc2hhZG93OiBub25lOyB9XG4gIC5jdXN0b20tY29udHJvbC1pbnB1dDpmb2N1cyB+IC5jdXN0b20tY29udHJvbC1pbmRpY2F0b3Ige1xuICAgIGJveC1zaGFkb3c6IDAgMCAwIDAuMDc1cmVtICNmZmYsIDAgMCAwIDAuMnJlbSAjMDA3NGQ5OyB9XG4gIC5jdXN0b20tY29udHJvbC1pbnB1dDphY3RpdmUgfiAuY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yIHtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjODRjNmZmO1xuICAgIGJveC1zaGFkb3c6IG5vbmU7IH1cbiAgLmN1c3RvbS1jb250cm9sLWlucHV0OmRpc2FibGVkIH4gLmN1c3RvbS1jb250cm9sLWluZGljYXRvciB7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWVlOyB9XG4gIC5jdXN0b20tY29udHJvbC1pbnB1dDpkaXNhYmxlZCB+IC5jdXN0b20tY29udHJvbC1kZXNjcmlwdGlvbiB7XG4gICAgY29sb3I6ICM3Njc2NzY7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuXG4uY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IC4wNjI1cmVtO1xuICBsZWZ0OiAwO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDFyZW07XG4gIGhlaWdodDogMXJlbTtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGRkO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICBiYWNrZ3JvdW5kLXNpemU6IDUwJSA1MCU7XG4gIGJveC1zaGFkb3c6IGluc2V0IDAgMC4yNXJlbSAwLjI1cmVtIHJnYmEoMCwgMCwgMCwgMC4xKTsgfVxuXG4uY3VzdG9tLWNoZWNrYm94IC5jdXN0b20tY29udHJvbC1pbmRpY2F0b3Ige1xuICBib3JkZXItcmFkaXVzOiAwLjEyNXJlbTsgfVxuXG4uY3VzdG9tLWNoZWNrYm94IC5jdXN0b20tY29udHJvbC1pbnB1dDpjaGVja2VkIH4gLmN1c3RvbS1jb250cm9sLWluZGljYXRvciB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0ZjgsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDggOCclM0UlM0NwYXRoIGZpbGw9JyUyM2ZmZicgZD0nTTYuNTY0Ljc1bC0zLjU5IDMuNjEyLTEuNTM4LTEuNTVMMCA0LjI2IDIuOTc0IDcuMjUgOCAyLjE5M3onLyUzRSUzQy9zdmclM0VcIik7IH1cblxuLmN1c3RvbS1jaGVja2JveCAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6aW5kZXRlcm1pbmF0ZSB+IC5jdXN0b20tY29udHJvbC1pbmRpY2F0b3Ige1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA3NGQ5O1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGY4LCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCA0IDQnJTNFJTNDcGF0aCBzdHJva2U9JyUyM2ZmZicgZD0nTTAgMmg0Jy8lM0UlM0Mvc3ZnJTNFXCIpO1xuICBib3gtc2hhZG93OiBub25lOyB9XG5cbi5jdXN0b20tcmFkaW8gLmN1c3RvbS1jb250cm9sLWluZGljYXRvciB7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTsgfVxuXG4uY3VzdG9tLXJhZGlvIC5jdXN0b20tY29udHJvbC1pbnB1dDpjaGVja2VkIH4gLmN1c3RvbS1jb250cm9sLWluZGljYXRvciB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0ZjgsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nLTQgLTQgOCA4JyUzRSUzQ2NpcmNsZSByPSczJyBmaWxsPSclMjNmZmYnLyUzRSUzQy9zdmclM0VcIik7IH1cblxuLmN1c3RvbS1jb250cm9scy1zdGFja2VkIC5jdXN0b20tY29udHJvbCB7XG4gIGRpc3BsYXk6IGlubGluZTsgfVxuICAuY3VzdG9tLWNvbnRyb2xzLXN0YWNrZWQgLmN1c3RvbS1jb250cm9sOjphZnRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLWJvdHRvbTogMC4yNXJlbTtcbiAgICBjb250ZW50OiBcIlwiOyB9XG4gIC5jdXN0b20tY29udHJvbHMtc3RhY2tlZCAuY3VzdG9tLWNvbnRyb2wgKyAuY3VzdG9tLWNvbnRyb2wge1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG5cbi5jdXN0b20tc2VsZWN0IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDAuMzc1cmVtIDEuNzVyZW0gMC4zNzVyZW0gMC43NXJlbTtcbiAgcGFkZGluZy1yaWdodDogMC43NXJlbSBcXDk7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNTQpO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBiYWNrZ3JvdW5kOiAjZmZmIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0ZjgsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDQgNSclM0UlM0NwYXRoIGZpbGw9JyUyMzMzMycgZD0nTTIgMEwwIDJoNHptMCA1TDAgM2g0eicvJTNFJTNDL3N2ZyUzRVwiKSBuby1yZXBlYXQgcmlnaHQgMC43NXJlbSBjZW50ZXI7XG4gIGJhY2tncm91bmQtaW1hZ2U6IG5vbmUgXFw5O1xuICBiYWNrZ3JvdW5kLXNpemU6IDhweCAxMHB4O1xuICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDAsIDAsIDAsIDAuMjYpO1xuICBib3JkZXItcmFkaXVzOiAwLjEyNXJlbTtcbiAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7IH1cbiAgLmN1c3RvbS1zZWxlY3Q6Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogIzUxYTdlODtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDJweCByZ2JhKDAsIDAsIDAsIDAuMDc1KSwgMCAwIDVweCByZ2JhKDgxLCAxNjcsIDIzMiwgMC41KTsgfVxuICAgIC5jdXN0b20tc2VsZWN0OmZvY3VzOjotbXMtdmFsdWUge1xuICAgICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41NCk7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAuY3VzdG9tLXNlbGVjdDpkaXNhYmxlZCB7XG4gICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4yNik7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMTIpOyB9XG4gIC5jdXN0b20tc2VsZWN0OjotbXMtZXhwYW5kIHtcbiAgICBvcGFjaXR5OiAwOyB9XG5cbi5jdXN0b20tc2VsZWN0LXNtIHtcbiAgcGFkZGluZy10b3A6IDAuMzc1cmVtO1xuICBwYWRkaW5nLWJvdHRvbTogMC4zNzVyZW07XG4gIGZvbnQtc2l6ZTogNzUlOyB9XG5cbi5jdXN0b20tZmlsZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMi41cmVtO1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cblxuLmN1c3RvbS1maWxlLWlucHV0IHtcbiAgbWluLXdpZHRoOiAxNHJlbTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBtYXJnaW46IDA7XG4gIGZpbHRlcjogYWxwaGEob3BhY2l0eT0wKTtcbiAgb3BhY2l0eTogMDsgfVxuICAuY3VzdG9tLWZpbGUtaW5wdXQ6Zm9jdXMgfiAuY3VzdG9tLWZpbGUtY29udHJvbCB7XG4gICAgYm94LXNoYWRvdzogMCAwIDAgMC4wNzVyZW0gI2ZmZiwgMCAwIDAgMC4ycmVtICMwMDc0ZDk7IH1cblxuLmN1c3RvbS1maWxlLWNvbnRyb2wge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IDU7XG4gIGhlaWdodDogMi41cmVtO1xuICBwYWRkaW5nOiAwLjVyZW0gMXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMztcbiAgY29sb3I6ICM1NTU7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiAwIHNvbGlkICNkZGQ7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJveC1zaGFkb3c6IG5vbmU7IH1cbiAgLmN1c3RvbS1maWxlLWNvbnRyb2w6bGFuZyhlbik6OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIkNob29zZSBmaWxlLi4uXCI7IH1cbiAgLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gICAgei1pbmRleDogNjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6IDIuNXJlbTtcbiAgICBwYWRkaW5nOiAwLjVyZW0gMXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS4zO1xuICAgIGNvbG9yOiAjNTU1O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlZWU7XG4gICAgYm9yZGVyOiAwIHNvbGlkICNkZGQ7XG4gICAgYm9yZGVyLXJhZGl1czogMCAwIDAgMDsgfVxuICAuY3VzdG9tLWZpbGUtY29udHJvbDpsYW5nKGVuKTo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIkJyb3dzZVwiOyB9XG5cbi5uYXYge1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7IH1cblxuLm5hdi1saW5rIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gIC5uYXYtbGluazpmb2N1cywgLm5hdi1saW5rOmhvdmVyIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgLm5hdi1saW5rLmRpc2FibGVkIHtcbiAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjI2KTsgfVxuICAgIC5uYXYtbGluay5kaXNhYmxlZCwgLm5hdi1saW5rLmRpc2FibGVkOmZvY3VzLCAubmF2LWxpbmsuZGlzYWJsZWQ6aG92ZXIge1xuICAgICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4yNik7XG4gICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cblxuLm5hdi1pbmxpbmUgLm5hdi1pdGVtIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG5cbi5uYXYtaW5saW5lIC5uYXYtaXRlbSArIC5uYXYtaXRlbSxcbi5uYXYtaW5saW5lIC5uYXYtbGluayArIC5uYXYtbGluayB7XG4gIG1hcmdpbi1sZWZ0OiAxcmVtOyB9XG5cbi5uYXYtdGFicyB7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZGRkOyB9XG4gIC5uYXYtdGFiczo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLm5hdi10YWJzIC5uYXYtaXRlbSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbWFyZ2luLWJvdHRvbTogLTFweDsgfVxuICAgIC5uYXYtdGFicyAubmF2LWl0ZW0gKyAubmF2LWl0ZW0ge1xuICAgICAgbWFyZ2luLWxlZnQ6IDAuMnJlbTsgfVxuICAubmF2LXRhYnMgLm5hdi1saW5rIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAwLjVlbSAxZW07XG4gICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDAuMTI1cmVtO1xuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDAuMTI1cmVtOyB9XG4gICAgLm5hdi10YWJzIC5uYXYtbGluazpmb2N1cywgLm5hdi10YWJzIC5uYXYtbGluazpob3ZlciB7XG4gICAgICBib3JkZXItY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4xMikgcmdiYSgwLCAwLCAwLCAwLjEyKSAjZGRkOyB9XG4gICAgLm5hdi10YWJzIC5uYXYtbGluay5kaXNhYmxlZCwgLm5hdi10YWJzIC5uYXYtbGluay5kaXNhYmxlZDpmb2N1cywgLm5hdi10YWJzIC5uYXYtbGluay5kaXNhYmxlZDpob3ZlciB7XG4gICAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjI2KTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAubmF2LXRhYnMgLm5hdi1saW5rLmFjdGl2ZSwgLm5hdi10YWJzIC5uYXYtbGluay5hY3RpdmU6Zm9jdXMsIC5uYXYtdGFicyAubmF2LWxpbmsuYWN0aXZlOmhvdmVyLFxuICAubmF2LXRhYnMgLm5hdi1pdGVtLm9wZW4gLm5hdi1saW5rLFxuICAubmF2LXRhYnMgLm5hdi1pdGVtLm9wZW4gLm5hdi1saW5rOmZvY3VzLFxuICAubmF2LXRhYnMgLm5hdi1pdGVtLm9wZW4gLm5hdi1saW5rOmhvdmVyIHtcbiAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjU0KTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItY29sb3I6ICNkZGQgI2RkZCB0cmFuc3BhcmVudDsgfVxuICAubmF2LXRhYnMgLmRyb3Bkb3duLW1lbnUge1xuICAgIG1hcmdpbi10b3A6IC0xcHg7XG4gICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7XG4gICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDsgfVxuXG4ubmF2LXBpbGxzOjphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBjbGVhcjogYm90aDsgfVxuXG4ubmF2LXBpbGxzIC5uYXYtaXRlbSB7XG4gIGZsb2F0OiBsZWZ0OyB9XG4gIC5uYXYtcGlsbHMgLm5hdi1pdGVtICsgLm5hdi1pdGVtIHtcbiAgICBtYXJnaW4tbGVmdDogMC4ycmVtOyB9XG5cbi5uYXYtcGlsbHMgLm5hdi1saW5rIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IDAuNWVtIDFlbTtcbiAgYm9yZGVyLXJhZGl1czogMC4xMjVyZW07IH1cblxuLm5hdi1waWxscyAubmF2LWxpbmsuYWN0aXZlLCAubmF2LXBpbGxzIC5uYXYtbGluay5hY3RpdmU6Zm9jdXMsIC5uYXYtcGlsbHMgLm5hdi1saW5rLmFjdGl2ZTpob3Zlcixcbi5uYXYtcGlsbHMgLm5hdi1pdGVtLm9wZW4gLm5hdi1saW5rLFxuLm5hdi1waWxscyAubmF2LWl0ZW0ub3BlbiAubmF2LWxpbms6Zm9jdXMsXG4ubmF2LXBpbGxzIC5uYXYtaXRlbS5vcGVuIC5uYXYtbGluazpob3ZlciB7XG4gIGNvbG9yOiAjZmZmO1xuICBjdXJzb3I6IGRlZmF1bHQ7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDk2ODg7IH1cblxuLm5hdi1zdGFja2VkIC5uYXYtaXRlbSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmbG9hdDogbm9uZTsgfVxuICAubmF2LXN0YWNrZWQgLm5hdi1pdGVtICsgLm5hdi1pdGVtIHtcbiAgICBtYXJnaW4tdG9wOiAwLjJyZW07XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH1cblxuLnRhYi1jb250ZW50ID4gLnRhYi1wYW5lIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4udGFiLWNvbnRlbnQgPiAuYWN0aXZlIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLm5hdmJhciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZzogMC4yNXJlbSAwLjVyZW07IH1cbiAgLm5hdmJhcjo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDU0NHB4KSB7XG4gICAgLm5hdmJhciB7XG4gICAgICBib3JkZXItcmFkaXVzOiAwLjEyNXJlbTsgfSB9XG5cbi5uYXZiYXItZnVsbCB7XG4gIHotaW5kZXg6IDEwMDA7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDU0NHB4KSB7XG4gICAgLm5hdmJhci1mdWxsIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDA7IH0gfVxuXG4ubmF2YmFyLWZpeGVkLXRvcCxcbi5uYXZiYXItZml4ZWQtYm90dG9tIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICByaWdodDogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogMTAzMDsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNTQ0cHgpIHtcbiAgICAubmF2YmFyLWZpeGVkLXRvcCxcbiAgICAubmF2YmFyLWZpeGVkLWJvdHRvbSB7XG4gICAgICBib3JkZXItcmFkaXVzOiAwOyB9IH1cblxuLm5hdmJhci1maXhlZC10b3Age1xuICB0b3A6IDA7IH1cblxuLm5hdmJhci1maXhlZC1ib3R0b20ge1xuICBib3R0b206IDA7IH1cblxuLm5hdmJhci1zdGlja3ktdG9wIHtcbiAgcG9zaXRpb246IHN0aWNreTtcbiAgdG9wOiAwO1xuICB6LWluZGV4OiAxMDMwO1xuICB3aWR0aDogMTAwJTsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNTQ0cHgpIHtcbiAgICAubmF2YmFyLXN0aWNreS10b3Age1xuICAgICAgYm9yZGVyLXJhZGl1czogMDsgfSB9XG5cbi5uYXZiYXItYnJhbmQge1xuICBmbG9hdDogbGVmdDtcbiAgcGFkZGluZy10b3A6IDAuMjVyZW07XG4gIHBhZGRpbmctYm90dG9tOiAwLjI1cmVtO1xuICBtYXJnaW4tcmlnaHQ6IDFyZW07XG4gIGZvbnQtc2l6ZTogMS4yNXJlbTsgfVxuICAubmF2YmFyLWJyYW5kOmZvY3VzLCAubmF2YmFyLWJyYW5kOmhvdmVyIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgLm5hdmJhci1icmFuZCA+IGltZyB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cblxuLm5hdmJhci1kaXZpZGVyIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHdpZHRoOiAxcHg7XG4gIHBhZGRpbmctdG9wOiAuNDI1cmVtO1xuICBwYWRkaW5nLWJvdHRvbTogLjQyNXJlbTtcbiAgbWFyZ2luLXJpZ2h0OiAwLjVyZW07XG4gIG1hcmdpbi1sZWZ0OiAwLjVyZW07XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgLm5hdmJhci1kaXZpZGVyOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFwwMGEwXCI7IH1cblxuLm5hdmJhci10b2dnbGVyIHtcbiAgcGFkZGluZzogLjVyZW0gLjc1cmVtO1xuICBmb250LXNpemU6IDEuMjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJhZGl1czogMC4xMjVyZW07IH1cbiAgLm5hdmJhci10b2dnbGVyOmZvY3VzLCAubmF2YmFyLXRvZ2dsZXI6aG92ZXIge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuXG4ubmF2YmFyLW5hdiAubmF2LWl0ZW0ge1xuICBmbG9hdDogbGVmdDsgfVxuXG4ubmF2YmFyLW5hdiAubmF2LWxpbmsge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZy10b3A6IC40MjVyZW07XG4gIHBhZGRpbmctYm90dG9tOiAuNDI1cmVtOyB9XG4gIC5uYXZiYXItbmF2IC5uYXYtbGluayArIC5uYXYtbGluayB7XG4gICAgbWFyZ2luLWxlZnQ6IDFyZW07IH1cblxuLm5hdmJhci1uYXYgLm5hdi1pdGVtICsgLm5hdi1pdGVtIHtcbiAgbWFyZ2luLWxlZnQ6IDFyZW07IH1cblxuLm5hdmJhci1saWdodCAubmF2YmFyLWJyYW5kIHtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44KTsgfVxuICAubmF2YmFyLWxpZ2h0IC5uYXZiYXItYnJhbmQ6Zm9jdXMsIC5uYXZiYXItbGlnaHQgLm5hdmJhci1icmFuZDpob3ZlciB7XG4gICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44KTsgfVxuXG4ubmF2YmFyLWxpZ2h0IC5uYXZiYXItbmF2IC5uYXYtbGluayB7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMyk7IH1cbiAgLm5hdmJhci1saWdodCAubmF2YmFyLW5hdiAubmF2LWxpbms6Zm9jdXMsIC5uYXZiYXItbGlnaHQgLm5hdmJhci1uYXYgLm5hdi1saW5rOmhvdmVyIHtcbiAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjYpOyB9XG5cbi5uYXZiYXItbGlnaHQgLm5hdmJhci1uYXYgLm9wZW4gPiAubmF2LWxpbmssIC5uYXZiYXItbGlnaHQgLm5hdmJhci1uYXYgLm9wZW4gPiAubmF2LWxpbms6Zm9jdXMsIC5uYXZiYXItbGlnaHQgLm5hdmJhci1uYXYgLm9wZW4gPiAubmF2LWxpbms6aG92ZXIsXG4ubmF2YmFyLWxpZ2h0IC5uYXZiYXItbmF2IC5hY3RpdmUgPiAubmF2LWxpbmssXG4ubmF2YmFyLWxpZ2h0IC5uYXZiYXItbmF2IC5hY3RpdmUgPiAubmF2LWxpbms6Zm9jdXMsXG4ubmF2YmFyLWxpZ2h0IC5uYXZiYXItbmF2IC5hY3RpdmUgPiAubmF2LWxpbms6aG92ZXIsXG4ubmF2YmFyLWxpZ2h0IC5uYXZiYXItbmF2IC5uYXYtbGluay5vcGVuLFxuLm5hdmJhci1saWdodCAubmF2YmFyLW5hdiAubmF2LWxpbmsub3Blbjpmb2N1cyxcbi5uYXZiYXItbGlnaHQgLm5hdmJhci1uYXYgLm5hdi1saW5rLm9wZW46aG92ZXIsXG4ubmF2YmFyLWxpZ2h0IC5uYXZiYXItbmF2IC5uYXYtbGluay5hY3RpdmUsXG4ubmF2YmFyLWxpZ2h0IC5uYXZiYXItbmF2IC5uYXYtbGluay5hY3RpdmU6Zm9jdXMsXG4ubmF2YmFyLWxpZ2h0IC5uYXZiYXItbmF2IC5uYXYtbGluay5hY3RpdmU6aG92ZXIge1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjgpOyB9XG5cbi5uYXZiYXItbGlnaHQgLm5hdmJhci1kaXZpZGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjA3NSk7IH1cblxuLm5hdmJhci1kYXJrIC5uYXZiYXItYnJhbmQge1xuICBjb2xvcjogd2hpdGU7IH1cbiAgLm5hdmJhci1kYXJrIC5uYXZiYXItYnJhbmQ6Zm9jdXMsIC5uYXZiYXItZGFyayAubmF2YmFyLWJyYW5kOmhvdmVyIHtcbiAgICBjb2xvcjogd2hpdGU7IH1cblxuLm5hdmJhci1kYXJrIC5uYXZiYXItbmF2IC5uYXYtbGluayB7XG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7IH1cbiAgLm5hdmJhci1kYXJrIC5uYXZiYXItbmF2IC5uYXYtbGluazpmb2N1cywgLm5hdmJhci1kYXJrIC5uYXZiYXItbmF2IC5uYXYtbGluazpob3ZlciB7XG4gICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43NSk7IH1cblxuLm5hdmJhci1kYXJrIC5uYXZiYXItbmF2IC5vcGVuID4gLm5hdi1saW5rLCAubmF2YmFyLWRhcmsgLm5hdmJhci1uYXYgLm9wZW4gPiAubmF2LWxpbms6Zm9jdXMsIC5uYXZiYXItZGFyayAubmF2YmFyLW5hdiAub3BlbiA+IC5uYXYtbGluazpob3Zlcixcbi5uYXZiYXItZGFyayAubmF2YmFyLW5hdiAuYWN0aXZlID4gLm5hdi1saW5rLFxuLm5hdmJhci1kYXJrIC5uYXZiYXItbmF2IC5hY3RpdmUgPiAubmF2LWxpbms6Zm9jdXMsXG4ubmF2YmFyLWRhcmsgLm5hdmJhci1uYXYgLmFjdGl2ZSA+IC5uYXYtbGluazpob3Zlcixcbi5uYXZiYXItZGFyayAubmF2YmFyLW5hdiAubmF2LWxpbmsub3Blbixcbi5uYXZiYXItZGFyayAubmF2YmFyLW5hdiAubmF2LWxpbmsub3Blbjpmb2N1cyxcbi5uYXZiYXItZGFyayAubmF2YmFyLW5hdiAubmF2LWxpbmsub3Blbjpob3Zlcixcbi5uYXZiYXItZGFyayAubmF2YmFyLW5hdiAubmF2LWxpbmsuYWN0aXZlLFxuLm5hdmJhci1kYXJrIC5uYXZiYXItbmF2IC5uYXYtbGluay5hY3RpdmU6Zm9jdXMsXG4ubmF2YmFyLWRhcmsgLm5hdmJhci1uYXYgLm5hdi1saW5rLmFjdGl2ZTpob3ZlciB7XG4gIGNvbG9yOiB3aGl0ZTsgfVxuXG4ubmF2YmFyLWRhcmsgLm5hdmJhci1kaXZpZGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjA3NSk7IH1cblxuLm5hdmJhci10b2dnbGVhYmxlLXhzOjphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBjbGVhcjogYm90aDsgfVxuXG5AbWVkaWEgKG1heC13aWR0aDogNTQzcHgpIHtcbiAgLm5hdmJhci10b2dnbGVhYmxlLXhzIC5uYXZiYXItbmF2IC5uYXYtaXRlbSB7XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNTQ0cHgpIHtcbiAgLm5hdmJhci10b2dnbGVhYmxlLXhzIHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9IH1cblxuLm5hdmJhci10b2dnbGVhYmxlLXNtOjphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBjbGVhcjogYm90aDsgfVxuXG5AbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLm5hdmJhci10b2dnbGVhYmxlLXNtIC5uYXZiYXItbmF2IC5uYXYtaXRlbSB7XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLm5hdmJhci10b2dnbGVhYmxlLXNtIHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9IH1cblxuLm5hdmJhci10b2dnbGVhYmxlLW1kOjphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBjbGVhcjogYm90aDsgfVxuXG5AbWVkaWEgKG1heC13aWR0aDogOTkxcHgpIHtcbiAgLm5hdmJhci10b2dnbGVhYmxlLW1kIC5uYXZiYXItbmF2IC5uYXYtaXRlbSB7XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLm5hdmJhci10b2dnbGVhYmxlLW1kIHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9IH1cblxuLmNhcmQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tYm90dG9tOiAwLjc1cmVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBib3JkZXItcmFkaXVzOiAwLjEyNXJlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgwLCAwLCAwLCAwLjEyKTsgfVxuXG4uY2FyZC1ibG9jayB7XG4gIHBhZGRpbmc6IDEuMjVyZW07IH1cbiAgLmNhcmQtYmxvY2s6OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNsZWFyOiBib3RoOyB9XG5cbi5jYXJkLXRpdGxlIHtcbiAgbWFyZ2luLWJvdHRvbTogMC43NXJlbTsgfVxuXG4uY2FyZC1zdWJ0aXRsZSB7XG4gIG1hcmdpbi10b3A6IC0wLjM3NXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4uY2FyZC10ZXh0Omxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi5jYXJkLWxpbms6aG92ZXIge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cblxuLmNhcmQtbGluayArIC5jYXJkLWxpbmsge1xuICBtYXJnaW4tbGVmdDogMS4yNXJlbTsgfVxuXG4uY2FyZCA+IC5saXN0LWdyb3VwOmZpcnN0LWNoaWxkIC5saXN0LWdyb3VwLWl0ZW06Zmlyc3QtY2hpbGQge1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMC4xMjVyZW07XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDAuMTI1cmVtOyB9XG5cbi5jYXJkID4gLmxpc3QtZ3JvdXA6bGFzdC1jaGlsZCAubGlzdC1ncm91cC1pdGVtOmxhc3QtY2hpbGQge1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMC4xMjVyZW07XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDAuMTI1cmVtOyB9XG5cbi5jYXJkLWhlYWRlciB7XG4gIHBhZGRpbmc6IDAuNzVyZW0gMS4yNXJlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgMC4xMik7IH1cbiAgLmNhcmQtaGVhZGVyOjphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBjbGVhcjogYm90aDsgfVxuICAuY2FyZC1oZWFkZXI6Zmlyc3QtY2hpbGQge1xuICAgIGJvcmRlci1yYWRpdXM6IDAuMTI1cmVtIDAuMTI1cmVtIDAgMDsgfVxuXG4uY2FyZC1mb290ZXIge1xuICBwYWRkaW5nOiAwLjc1cmVtIDEuMjVyZW07XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCByZ2JhKDAsIDAsIDAsIDAuMTIpOyB9XG4gIC5jYXJkLWZvb3Rlcjo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLmNhcmQtZm9vdGVyOmxhc3QtY2hpbGQge1xuICAgIGJvcmRlci1yYWRpdXM6IDAgMCAwLjEyNXJlbSAwLjEyNXJlbTsgfVxuXG4uY2FyZC1oZWFkZXItdGFicyB7XG4gIG1hcmdpbi1yaWdodDogLTAuNjI1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAtMC43NXJlbTtcbiAgbWFyZ2luLWxlZnQ6IC0wLjYyNXJlbTtcbiAgYm9yZGVyLWJvdHRvbTogMDsgfVxuXG4uY2FyZC1oZWFkZXItcGlsbHMge1xuICBtYXJnaW4tcmlnaHQ6IC0wLjYyNXJlbTtcbiAgbWFyZ2luLWxlZnQ6IC0wLjYyNXJlbTsgfVxuXG4uY2FyZC1wcmltYXJ5IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwOTY4ODtcbiAgYm9yZGVyLWNvbG9yOiAjMDA5Njg4OyB9XG4gIC5jYXJkLXByaW1hcnkgLmNhcmQtaGVhZGVyLFxuICAuY2FyZC1wcmltYXJ5IC5jYXJkLWZvb3RlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cblxuLmNhcmQtc3VjY2VzcyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM0Y2FmNTA7XG4gIGJvcmRlci1jb2xvcjogIzRjYWY1MDsgfVxuICAuY2FyZC1zdWNjZXNzIC5jYXJkLWhlYWRlcixcbiAgLmNhcmQtc3VjY2VzcyAuY2FyZC1mb290ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG5cbi5jYXJkLWluZm8ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDNhOWY0O1xuICBib3JkZXItY29sb3I6ICMwM2E5ZjQ7IH1cbiAgLmNhcmQtaW5mbyAuY2FyZC1oZWFkZXIsXG4gIC5jYXJkLWluZm8gLmNhcmQtZm9vdGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuXG4uY2FyZC13YXJuaW5nIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmNTcyMjtcbiAgYm9yZGVyLWNvbG9yOiAjZmY1NzIyOyB9XG4gIC5jYXJkLXdhcm5pbmcgLmNhcmQtaGVhZGVyLFxuICAuY2FyZC13YXJuaW5nIC5jYXJkLWZvb3RlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cblxuLmNhcmQtZGFuZ2VyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y0NDMzNjtcbiAgYm9yZGVyLWNvbG9yOiAjZjQ0MzM2OyB9XG4gIC5jYXJkLWRhbmdlciAuY2FyZC1oZWFkZXIsXG4gIC5jYXJkLWRhbmdlciAuY2FyZC1mb290ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG5cbi5jYXJkLW91dGxpbmUtcHJpbWFyeSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXItY29sb3I6ICMwMDk2ODg7IH1cblxuLmNhcmQtb3V0bGluZS1zZWNvbmRhcnkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWNvbG9yOiAjY2NjOyB9XG5cbi5jYXJkLW91dGxpbmUtaW5mbyB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXItY29sb3I6ICMwM2E5ZjQ7IH1cblxuLmNhcmQtb3V0bGluZS1zdWNjZXNzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1jb2xvcjogIzRjYWY1MDsgfVxuXG4uY2FyZC1vdXRsaW5lLXdhcm5pbmcge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWNvbG9yOiAjZmY1NzIyOyB9XG5cbi5jYXJkLW91dGxpbmUtZGFuZ2VyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1jb2xvcjogI2Y0NDMzNjsgfVxuXG4uY2FyZC1pbnZlcnNlIC5jYXJkLWhlYWRlcixcbi5jYXJkLWludmVyc2UgLmNhcmQtZm9vdGVyIHtcbiAgYm9yZGVyLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMik7IH1cblxuLmNhcmQtaW52ZXJzZSAuY2FyZC1oZWFkZXIsXG4uY2FyZC1pbnZlcnNlIC5jYXJkLWZvb3Rlcixcbi5jYXJkLWludmVyc2UgLmNhcmQtdGl0bGUsXG4uY2FyZC1pbnZlcnNlIC5jYXJkLWJsb2NrcXVvdGUge1xuICBjb2xvcjogI2ZmZjsgfVxuXG4uY2FyZC1pbnZlcnNlIC5jYXJkLWxpbmssXG4uY2FyZC1pbnZlcnNlIC5jYXJkLXRleHQsXG4uY2FyZC1pbnZlcnNlIC5jYXJkLXN1YnRpdGxlLFxuLmNhcmQtaW52ZXJzZSAuY2FyZC1ibG9ja3F1b3RlIC5ibG9ja3F1b3RlLWZvb3RlciB7XG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNjUpOyB9XG5cbi5jYXJkLWludmVyc2UgLmNhcmQtbGluazpmb2N1cywgLmNhcmQtaW52ZXJzZSAuY2FyZC1saW5rOmhvdmVyIHtcbiAgY29sb3I6ICNmZmY7IH1cblxuLmNhcmQtYmxvY2txdW90ZSB7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGJvcmRlci1sZWZ0OiAwOyB9XG5cbi5jYXJkLWltZyB7XG4gIGJvcmRlci1yYWRpdXM6IDAuMjVyZW07IH1cblxuLmNhcmQtaW1nLW92ZXJsYXkge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgcGFkZGluZzogMS4yNXJlbTsgfVxuXG4uY2FyZC1pbWctdG9wIHtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDAuMTI1cmVtO1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwLjEyNXJlbTsgfVxuXG4uY2FyZC1pbWctYm90dG9tIHtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDAuMTI1cmVtO1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwLjEyNXJlbTsgfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNTQ0cHgpIHtcbiAgLmNhcmQtZGVjayB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICAgIG1hcmdpbi1yaWdodDogLTAuNjI1cmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDAuNzVyZW07XG4gICAgbWFyZ2luLWxlZnQ6IC0wLjYyNXJlbTsgfVxuICAgIC5jYXJkLWRlY2sgLmNhcmQge1xuICAgICAgZmxleDogMSAwIDA7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDAuNjI1cmVtO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwLjYyNXJlbTsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA1NDRweCkge1xuICAuY2FyZC1ncm91cCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWZsb3c6IHJvdyB3cmFwOyB9XG4gICAgLmNhcmQtZ3JvdXAgLmNhcmQge1xuICAgICAgZmxleDogMSAwIDA7IH1cbiAgICAgIC5jYXJkLWdyb3VwIC5jYXJkICsgLmNhcmQge1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDA7IH1cbiAgICAgIC5jYXJkLWdyb3VwIC5jYXJkOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7XG4gICAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwOyB9XG4gICAgICAgIC5jYXJkLWdyb3VwIC5jYXJkOmZpcnN0LWNoaWxkIC5jYXJkLWltZy10b3Age1xuICAgICAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwOyB9XG4gICAgICAgIC5jYXJkLWdyb3VwIC5jYXJkOmZpcnN0LWNoaWxkIC5jYXJkLWltZy1ib3R0b20ge1xuICAgICAgICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwOyB9XG4gICAgICAuY2FyZC1ncm91cCAuY2FyZDpsYXN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDtcbiAgICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDsgfVxuICAgICAgICAuY2FyZC1ncm91cCAuY2FyZDpsYXN0LWNoaWxkIC5jYXJkLWltZy10b3Age1xuICAgICAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7IH1cbiAgICAgICAgLmNhcmQtZ3JvdXAgLmNhcmQ6bGFzdC1jaGlsZCAuY2FyZC1pbWctYm90dG9tIHtcbiAgICAgICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwOyB9XG4gICAgICAuY2FyZC1ncm91cCAuY2FyZDpub3QoOmZpcnN0LWNoaWxkKTpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMDsgfVxuICAgICAgICAuY2FyZC1ncm91cCAuY2FyZDpub3QoOmZpcnN0LWNoaWxkKTpub3QoOmxhc3QtY2hpbGQpIC5jYXJkLWltZy10b3AsXG4gICAgICAgIC5jYXJkLWdyb3VwIC5jYXJkOm5vdCg6Zmlyc3QtY2hpbGQpOm5vdCg6bGFzdC1jaGlsZCkgLmNhcmQtaW1nLWJvdHRvbSB7XG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogMDsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA1NDRweCkge1xuICAuY2FyZC1jb2x1bW5zIHtcbiAgICBjb2x1bW4tY291bnQ6IDM7XG4gICAgY29sdW1uLWdhcDogMS4yNXJlbTsgfVxuICAgIC5jYXJkLWNvbHVtbnMgLmNhcmQge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuXG4uYnJlYWRjcnVtYiB7XG4gIHBhZGRpbmc6IDAuNzVyZW0gMXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMTIpO1xuICBib3JkZXItcmFkaXVzOiAwLjEyNXJlbTsgfVxuICAuYnJlYWRjcnVtYjo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY2xlYXI6IGJvdGg7IH1cblxuLmJyZWFkY3J1bWItaXRlbSB7XG4gIGZsb2F0OiBsZWZ0OyB9XG4gIC5icmVhZGNydW1iLWl0ZW0gKyAuYnJlYWRjcnVtYi1pdGVtOjpiZWZvcmUge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjVyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAwLjVyZW07XG4gICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4yNik7XG4gICAgY29udGVudDogXCIvXCI7IH1cbiAgLmJyZWFkY3J1bWItaXRlbSArIC5icmVhZGNydW1iLWl0ZW06aG92ZXI6OmJlZm9yZSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiAgLmJyZWFkY3J1bWItaXRlbSArIC5icmVhZGNydW1iLWl0ZW06aG92ZXI6OmJlZm9yZSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gIC5icmVhZGNydW1iLWl0ZW0uYWN0aXZlIHtcbiAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjI2KTsgfVxuXG4ucGFnaW5hdGlvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBtYXJnaW4tdG9wOiAwLjVyZW07XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcbiAgYm9yZGVyLXJhZGl1czogMC4xMjVyZW07IH1cblxuLnBhZ2UtaXRlbSB7XG4gIGRpc3BsYXk6IGlubGluZTsgfVxuICAucGFnZS1pdGVtOmZpcnN0LWNoaWxkIC5wYWdlLWxpbmsge1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDAuMTI1cmVtO1xuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDAuMTI1cmVtOyB9XG4gIC5wYWdlLWl0ZW06bGFzdC1jaGlsZCAucGFnZS1saW5rIHtcbiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMC4xMjVyZW07XG4gICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDAuMTI1cmVtOyB9XG4gIC5wYWdlLWl0ZW0uYWN0aXZlIC5wYWdlLWxpbmssIC5wYWdlLWl0ZW0uYWN0aXZlIC5wYWdlLWxpbms6Zm9jdXMsIC5wYWdlLWl0ZW0uYWN0aXZlIC5wYWdlLWxpbms6aG92ZXIge1xuICAgIHotaW5kZXg6IDI7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDk2ODg7XG4gICAgYm9yZGVyLWNvbG9yOiAjMDA5Njg4OyB9XG4gIC5wYWdlLWl0ZW0uZGlzYWJsZWQgLnBhZ2UtbGluaywgLnBhZ2UtaXRlbS5kaXNhYmxlZCAucGFnZS1saW5rOmZvY3VzLCAucGFnZS1pdGVtLmRpc2FibGVkIC5wYWdlLWxpbms6aG92ZXIge1xuICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMjYpO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLWNvbG9yOiAjZGRkOyB9XG5cbi5wYWdlLWxpbmsge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGZsb2F0OiBsZWZ0O1xuICBwYWRkaW5nOiAwLjVyZW0gMC43NXJlbTtcbiAgbWFyZ2luLWxlZnQ6IC0xcHg7XG4gIGNvbG9yOiAjMDA5Njg4O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IDAgc29saWQgI2RkZDsgfVxuICAucGFnZS1saW5rOmZvY3VzLCAucGFnZS1saW5rOmhvdmVyIHtcbiAgICBjb2xvcjogIzAwNGE0MztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMTIpO1xuICAgIGJvcmRlci1jb2xvcjogI2RkZDsgfVxuXG4ucGFnaW5hdGlvbi1sZyAucGFnZS1saW5rIHtcbiAgcGFkZGluZzogMC43NXJlbSAwO1xuICBmb250LXNpemU6IDEuMjVyZW07IH1cblxuLnBhZ2luYXRpb24tbGcgLnBhZ2UtaXRlbTpmaXJzdC1jaGlsZCAucGFnZS1saW5rIHtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMC4zcmVtO1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwLjNyZW07IH1cblxuLnBhZ2luYXRpb24tbGcgLnBhZ2UtaXRlbTpsYXN0LWNoaWxkIC5wYWdlLWxpbmsge1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMC4zcmVtO1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMC4zcmVtOyB9XG5cbi5wYWdpbmF0aW9uLXNtIC5wYWdlLWxpbmsge1xuICBwYWRkaW5nOiAwLjI3NXJlbSAwO1xuICBmb250LXNpemU6IDAuODc1cmVtOyB9XG5cbi5wYWdpbmF0aW9uLXNtIC5wYWdlLWl0ZW06Zmlyc3QtY2hpbGQgLnBhZ2UtbGluayB7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDAuMDYyNXJlbTtcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMC4wNjI1cmVtOyB9XG5cbi5wYWdpbmF0aW9uLXNtIC5wYWdlLWl0ZW06bGFzdC1jaGlsZCAucGFnZS1saW5rIHtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDAuMDYyNXJlbTtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDAuMDYyNXJlbTsgfVxuXG4udGFnIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nOiAwLjI1ZW0gMC40ZW07XG4gIGZvbnQtc2l6ZTogNzUlO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGNvbG9yOiAjZmZmO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgYm9yZGVyLXJhZGl1czogMC4xMjVyZW07IH1cbiAgLnRhZzplbXB0eSB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuXG4uYnRuIC50YWcsIC5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUgLnRhZyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdG9wOiAtMXB4OyB9XG5cbmEudGFnOmZvY3VzLCBhLnRhZzpob3ZlciB7XG4gIGNvbG9yOiAjZmZmO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuXG4udGFnLXBpbGwge1xuICBwYWRkaW5nLXJpZ2h0OiAwLjZlbTtcbiAgcGFkZGluZy1sZWZ0OiAwLjZlbTtcbiAgYm9yZGVyLXJhZGl1czogMTByZW07IH1cblxuLnRhZy1kZWZhdWx0IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjI2KTsgfVxuICAudGFnLWRlZmF1bHRbaHJlZl06Zm9jdXMsIC50YWctZGVmYXVsdFtocmVmXTpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjI2KTsgfVxuXG4udGFnLXByaW1hcnkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA5Njg4OyB9XG4gIC50YWctcHJpbWFyeVtocmVmXTpmb2N1cywgLnRhZy1wcmltYXJ5W2hyZWZdOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA2MzVhOyB9XG5cbi50YWctc3VjY2VzcyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM0Y2FmNTA7IH1cbiAgLnRhZy1zdWNjZXNzW2hyZWZdOmZvY3VzLCAudGFnLXN1Y2Nlc3NbaHJlZl06aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMzZDhiNDA7IH1cblxuLnRhZy1pbmZvIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAzYTlmNDsgfVxuICAudGFnLWluZm9baHJlZl06Zm9jdXMsIC50YWctaW5mb1tocmVmXTpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAyODZjMjsgfVxuXG4udGFnLXdhcm5pbmcge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmY1NzIyOyB9XG4gIC50YWctd2FybmluZ1tocmVmXTpmb2N1cywgLnRhZy13YXJuaW5nW2hyZWZdOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWUzOTAwOyB9XG5cbi50YWctZGFuZ2VyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y0NDMzNjsgfVxuICAudGFnLWRhbmdlcltocmVmXTpmb2N1cywgLnRhZy1kYW5nZXJbaHJlZl06aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlYTFjMGQ7IH1cblxuLmp1bWJvdHJvbiB7XG4gIHBhZGRpbmc6IDJyZW0gMXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMnJlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjEyKTtcbiAgYm9yZGVyLXJhZGl1czogMC4zcmVtOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA1NDRweCkge1xuICAgIC5qdW1ib3Ryb24ge1xuICAgICAgcGFkZGluZzogNHJlbSAycmVtOyB9IH1cblxuLmp1bWJvdHJvbi1ociB7XG4gIGJvcmRlci10b3AtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4xMik7IH1cblxuLmp1bWJvdHJvbi1mbHVpZCB7XG4gIHBhZGRpbmctcmlnaHQ6IDA7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgYm9yZGVyLXJhZGl1czogMDsgfVxuXG4uYWxlcnQge1xuICBwYWRkaW5nOiAxNXB4O1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmFkaXVzOiAwLjEyNXJlbTsgfVxuXG4uYWxlcnQtaGVhZGluZyB7XG4gIGNvbG9yOiBpbmhlcml0OyB9XG5cbi5hbGVydC1saW5rIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cblxuLmFsZXJ0LWRpc21pc3NpYmxlIHtcbiAgcGFkZGluZy1yaWdodDogMzVweDsgfVxuICAuYWxlcnQtZGlzbWlzc2libGUgLmNsb3NlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAtMnB4O1xuICAgIHJpZ2h0OiAtMjFweDtcbiAgICBjb2xvcjogaW5oZXJpdDsgfVxuXG4uYWxlcnQtc3VjY2VzcyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM0Y2FmNTA7XG4gIGJvcmRlci1jb2xvcjogIzQ0OWQ0ODtcbiAgY29sb3I6IHdoaXRlOyB9XG4gIC5hbGVydC1zdWNjZXNzIGhyIHtcbiAgICBib3JkZXItdG9wLWNvbG9yOiAjM2Q4YjQwOyB9XG4gIC5hbGVydC1zdWNjZXNzIC5hbGVydC1saW5rIHtcbiAgICBjb2xvcjogI2U2ZTZlNjsgfVxuXG4uYWxlcnQtaW5mbyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwM2E5ZjQ7XG4gIGJvcmRlci1jb2xvcjogIzAzOTFkMTtcbiAgY29sb3I6IHdoaXRlOyB9XG4gIC5hbGVydC1pbmZvIGhyIHtcbiAgICBib3JkZXItdG9wLWNvbG9yOiAjMDI3ZmI4OyB9XG4gIC5hbGVydC1pbmZvIC5hbGVydC1saW5rIHtcbiAgICBjb2xvcjogI2U2ZTZlNjsgfVxuXG4uYWxlcnQtd2FybmluZyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZjU3MjI7XG4gIGJvcmRlci1jb2xvcjogI2ZmNDQwOTtcbiAgY29sb3I6IHdoaXRlOyB9XG4gIC5hbGVydC13YXJuaW5nIGhyIHtcbiAgICBib3JkZXItdG9wLWNvbG9yOiAjZWUzOTAwOyB9XG4gIC5hbGVydC13YXJuaW5nIC5hbGVydC1saW5rIHtcbiAgICBjb2xvcjogI2U2ZTZlNjsgfVxuXG4uYWxlcnQtZGFuZ2VyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y0NDMzNjtcbiAgYm9yZGVyLWNvbG9yOiAjZjMyYzFlO1xuICBjb2xvcjogd2hpdGU7IH1cbiAgLmFsZXJ0LWRhbmdlciBociB7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogI2VhMWMwZDsgfVxuICAuYWxlcnQtZGFuZ2VyIC5hbGVydC1saW5rIHtcbiAgICBjb2xvcjogI2U2ZTZlNjsgfVxuXG5Aa2V5ZnJhbWVzIHByb2dyZXNzLWJhci1zdHJpcGVzIHtcbiAgZnJvbSB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMC41cmVtIDA7IH1cbiAgdG8ge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgMDsgfSB9XG5cbi5wcm9ncmVzcyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAwLjVyZW07XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTsgfVxuXG4ucHJvZ3Jlc3NbdmFsdWVdIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2VlZTtcbiAgYm9yZGVyOiAwO1xuICBhcHBlYXJhbmNlOiBub25lO1xuICBib3JkZXItcmFkaXVzOiAwLjEyNXJlbTsgfVxuXG4ucHJvZ3Jlc3NbdmFsdWVdOjotbXMtZmlsbCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDc0ZDk7XG4gIGJvcmRlcjogMDsgfVxuXG4ucHJvZ3Jlc3NbdmFsdWVdOjotbW96LXByb2dyZXNzLWJhciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDc0ZDk7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDAuMTI1cmVtO1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwLjEyNXJlbTsgfVxuXG4ucHJvZ3Jlc3NbdmFsdWVdOjotd2Via2l0LXByb2dyZXNzLXZhbHVlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwNzRkOTtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMC4xMjVyZW07XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDAuMTI1cmVtOyB9XG5cbi5wcm9ncmVzc1t2YWx1ZT1cIjEwMFwiXTo6LW1vei1wcm9ncmVzcy1iYXIge1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMC4xMjVyZW07XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwLjEyNXJlbTsgfVxuXG4ucHJvZ3Jlc3NbdmFsdWU9XCIxMDBcIl06Oi13ZWJraXQtcHJvZ3Jlc3MtdmFsdWUge1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMC4xMjVyZW07XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwLjEyNXJlbTsgfVxuXG4ucHJvZ3Jlc3NbdmFsdWVdOjotd2Via2l0LXByb2dyZXNzLWJhciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlZWU7XG4gIGJvcmRlci1yYWRpdXM6IDAuMTI1cmVtO1xuICBib3gtc2hhZG93OiBpbnNldCAwIDAuMXJlbSAwLjFyZW0gcmdiYSgwLCAwLCAwLCAwLjEpOyB9XG5cbmJhc2U6Oi1tb3otcHJvZ3Jlc3MtYmFyLFxuLnByb2dyZXNzW3ZhbHVlXSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlZWU7XG4gIGJvcmRlci1yYWRpdXM6IDAuMTI1cmVtO1xuICBib3gtc2hhZG93OiBpbnNldCAwIDAuMXJlbSAwLjFyZW0gcmdiYSgwLCAwLCAwLCAwLjEpOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDBcXDApIHtcbiAgLnByb2dyZXNzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWVlO1xuICAgIGJvcmRlci1yYWRpdXM6IDAuMTI1cmVtO1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMC4xcmVtIDAuMXJlbSByZ2JhKDAsIDAsIDAsIDAuMSk7IH1cbiAgLnByb2dyZXNzLWJhciB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGhlaWdodDogMC41cmVtO1xuICAgIHRleHQtaW5kZW50OiAtOTk5cmVtO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDc0ZDk7XG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMC4xMjVyZW07XG4gICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMC4xMjVyZW07IH1cbiAgLnByb2dyZXNzW3dpZHRoPVwiMTAwJVwiXSB7XG4gICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDAuMTI1cmVtO1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwLjEyNXJlbTsgfSB9XG5cbi5wcm9ncmVzcy1zdHJpcGVkW3ZhbHVlXTo6LXdlYmtpdC1wcm9ncmVzcy12YWx1ZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCg0NWRlZywgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE1KSAyNSUsIHRyYW5zcGFyZW50IDI1JSwgdHJhbnNwYXJlbnQgNTAlLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTUpIDUwJSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE1KSA3NSUsIHRyYW5zcGFyZW50IDc1JSwgdHJhbnNwYXJlbnQpO1xuICBiYWNrZ3JvdW5kLXNpemU6IDAuNXJlbSAwLjVyZW07IH1cblxuLnByb2dyZXNzLXN0cmlwZWRbdmFsdWVdOjotbW96LXByb2dyZXNzLWJhciB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCg0NWRlZywgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE1KSAyNSUsIHRyYW5zcGFyZW50IDI1JSwgdHJhbnNwYXJlbnQgNTAlLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTUpIDUwJSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE1KSA3NSUsIHRyYW5zcGFyZW50IDc1JSwgdHJhbnNwYXJlbnQpO1xuICBiYWNrZ3JvdW5kLXNpemU6IDAuNXJlbSAwLjVyZW07IH1cblxuLnByb2dyZXNzLXN0cmlwZWRbdmFsdWVdOjotbXMtZmlsbCB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCg0NWRlZywgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE1KSAyNSUsIHRyYW5zcGFyZW50IDI1JSwgdHJhbnNwYXJlbnQgNTAlLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTUpIDUwJSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE1KSA3NSUsIHRyYW5zcGFyZW50IDc1JSwgdHJhbnNwYXJlbnQpO1xuICBiYWNrZ3JvdW5kLXNpemU6IDAuNXJlbSAwLjVyZW07IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMFxcMCkge1xuICAucHJvZ3Jlc3MtYmFyLXN0cmlwZWQge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCg0NWRlZywgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE1KSAyNSUsIHRyYW5zcGFyZW50IDI1JSwgdHJhbnNwYXJlbnQgNTAlLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTUpIDUwJSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE1KSA3NSUsIHRyYW5zcGFyZW50IDc1JSwgdHJhbnNwYXJlbnQpO1xuICAgIGJhY2tncm91bmQtc2l6ZTogMC41cmVtIDAuNXJlbTsgfSB9XG5cbi5wcm9ncmVzcy1hbmltYXRlZFt2YWx1ZV06Oi13ZWJraXQtcHJvZ3Jlc3MtdmFsdWUge1xuICBhbmltYXRpb246IHByb2dyZXNzLWJhci1zdHJpcGVzIDJzIGxpbmVhciBpbmZpbml0ZTsgfVxuXG4ucHJvZ3Jlc3MtYW5pbWF0ZWRbdmFsdWVdOjotbW96LXByb2dyZXNzLWJhciB7XG4gIGFuaW1hdGlvbjogcHJvZ3Jlc3MtYmFyLXN0cmlwZXMgMnMgbGluZWFyIGluZmluaXRlOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDBcXDApIHtcbiAgLnByb2dyZXNzLWFuaW1hdGVkIC5wcm9ncmVzcy1iYXItc3RyaXBlZCB7XG4gICAgYW5pbWF0aW9uOiBwcm9ncmVzcy1iYXItc3RyaXBlcyAycyBsaW5lYXIgaW5maW5pdGU7IH0gfVxuXG4ucHJvZ3Jlc3Mtc3VjY2Vzc1t2YWx1ZV06Oi13ZWJraXQtcHJvZ3Jlc3MtdmFsdWUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNGNhZjUwOyB9XG5cbi5wcm9ncmVzcy1zdWNjZXNzW3ZhbHVlXTo6LW1vei1wcm9ncmVzcy1iYXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNGNhZjUwOyB9XG5cbi5wcm9ncmVzcy1zdWNjZXNzW3ZhbHVlXTo6LW1zLWZpbGwge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNGNhZjUwOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDBcXDApIHtcbiAgLnByb2dyZXNzLXN1Y2Nlc3MgLnByb2dyZXNzLWJhciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzRjYWY1MDsgfSB9XG5cbi5wcm9ncmVzcy1pbmZvW3ZhbHVlXTo6LXdlYmtpdC1wcm9ncmVzcy12YWx1ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwM2E5ZjQ7IH1cblxuLnByb2dyZXNzLWluZm9bdmFsdWVdOjotbW96LXByb2dyZXNzLWJhciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwM2E5ZjQ7IH1cblxuLnByb2dyZXNzLWluZm9bdmFsdWVdOjotbXMtZmlsbCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwM2E5ZjQ7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMFxcMCkge1xuICAucHJvZ3Jlc3MtaW5mbyAucHJvZ3Jlc3MtYmFyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDNhOWY0OyB9IH1cblxuLnByb2dyZXNzLXdhcm5pbmdbdmFsdWVdOjotd2Via2l0LXByb2dyZXNzLXZhbHVlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmNTcyMjsgfVxuXG4ucHJvZ3Jlc3Mtd2FybmluZ1t2YWx1ZV06Oi1tb3otcHJvZ3Jlc3MtYmFyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmNTcyMjsgfVxuXG4ucHJvZ3Jlc3Mtd2FybmluZ1t2YWx1ZV06Oi1tcy1maWxsIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmNTcyMjsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAwXFwwKSB7XG4gIC5wcm9ncmVzcy13YXJuaW5nIC5wcm9ncmVzcy1iYXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZjU3MjI7IH0gfVxuXG4ucHJvZ3Jlc3MtZGFuZ2VyW3ZhbHVlXTo6LXdlYmtpdC1wcm9ncmVzcy12YWx1ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmNDQzMzY7IH1cblxuLnByb2dyZXNzLWRhbmdlclt2YWx1ZV06Oi1tb3otcHJvZ3Jlc3MtYmFyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y0NDMzNjsgfVxuXG4ucHJvZ3Jlc3MtZGFuZ2VyW3ZhbHVlXTo6LW1zLWZpbGwge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjQ0MzM2OyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDBcXDApIHtcbiAgLnByb2dyZXNzLWRhbmdlciAucHJvZ3Jlc3MtYmFyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjQ0MzM2OyB9IH1cblxuLm1lZGlhIHtcbiAgZGlzcGxheTogZmxleDtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtOyB9XG5cbi5tZWRpYS1ib2R5IHtcbiAgZmxleDogMTsgfVxuXG4ubWVkaWEtbWlkZGxlIHtcbiAgYWxpZ24tc2VsZjogY2VudGVyOyB9XG5cbi5tZWRpYS1ib3R0b20ge1xuICBhbGlnbi1zZWxmOiBmbGV4LWVuZDsgfVxuXG4ubWVkaWEtb2JqZWN0IHtcbiAgZGlzcGxheTogYmxvY2s7IH1cbiAgLm1lZGlhLW9iamVjdC5pbWctdGh1bWJuYWlsIHtcbiAgICBtYXgtd2lkdGg6IG5vbmU7IH1cblxuLm1lZGlhLXJpZ2h0IHtcbiAgcGFkZGluZy1sZWZ0OiAxMHB4OyB9XG5cbi5tZWRpYS1sZWZ0IHtcbiAgcGFkZGluZy1yaWdodDogMTBweDsgfVxuXG4ubWVkaWEtaGVhZGluZyB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDVweDsgfVxuXG4ubWVkaWEtbGlzdCB7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTsgfVxuXG4ubGlzdC1ncm91cCB7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4ubGlzdC1ncm91cC1pdGVtIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogMC43NXJlbSAxLjI1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0O1xuICBib3JkZXI6IDAgc29saWQgI2RkZDsgfVxuICAubGlzdC1ncm91cC1pdGVtOmZpcnN0LWNoaWxkIHtcbiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDtcbiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwOyB9XG4gIC5saXN0LWdyb3VwLWl0ZW06bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDtcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwOyB9XG4gIC5saXN0LWdyb3VwLWl0ZW0uZGlzYWJsZWQsIC5saXN0LWdyb3VwLWl0ZW0uZGlzYWJsZWQ6Zm9jdXMsIC5saXN0LWdyb3VwLWl0ZW0uZGlzYWJsZWQ6aG92ZXIge1xuICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMjYpO1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjEyKTsgfVxuICAgIC5saXN0LWdyb3VwLWl0ZW0uZGlzYWJsZWQgLmxpc3QtZ3JvdXAtaXRlbS1oZWFkaW5nLCAubGlzdC1ncm91cC1pdGVtLmRpc2FibGVkOmZvY3VzIC5saXN0LWdyb3VwLWl0ZW0taGVhZGluZywgLmxpc3QtZ3JvdXAtaXRlbS5kaXNhYmxlZDpob3ZlciAubGlzdC1ncm91cC1pdGVtLWhlYWRpbmcge1xuICAgICAgY29sb3I6IGluaGVyaXQ7IH1cbiAgICAubGlzdC1ncm91cC1pdGVtLmRpc2FibGVkIC5saXN0LWdyb3VwLWl0ZW0tdGV4dCwgLmxpc3QtZ3JvdXAtaXRlbS5kaXNhYmxlZDpmb2N1cyAubGlzdC1ncm91cC1pdGVtLXRleHQsIC5saXN0LWdyb3VwLWl0ZW0uZGlzYWJsZWQ6aG92ZXIgLmxpc3QtZ3JvdXAtaXRlbS10ZXh0IHtcbiAgICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMjYpOyB9XG4gIC5saXN0LWdyb3VwLWl0ZW0uYWN0aXZlLCAubGlzdC1ncm91cC1pdGVtLmFjdGl2ZTpmb2N1cywgLmxpc3QtZ3JvdXAtaXRlbS5hY3RpdmU6aG92ZXIge1xuICAgIHotaW5kZXg6IDI7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDk2ODg7XG4gICAgYm9yZGVyLWNvbG9yOiAjMDA5Njg4OyB9XG4gICAgLmxpc3QtZ3JvdXAtaXRlbS5hY3RpdmUgLmxpc3QtZ3JvdXAtaXRlbS1oZWFkaW5nLFxuICAgIC5saXN0LWdyb3VwLWl0ZW0uYWN0aXZlIC5saXN0LWdyb3VwLWl0ZW0taGVhZGluZyA+IHNtYWxsLFxuICAgIC5saXN0LWdyb3VwLWl0ZW0uYWN0aXZlIC5saXN0LWdyb3VwLWl0ZW0taGVhZGluZyA+IC5zbWFsbCwgLmxpc3QtZ3JvdXAtaXRlbS5hY3RpdmU6Zm9jdXMgLmxpc3QtZ3JvdXAtaXRlbS1oZWFkaW5nLFxuICAgIC5saXN0LWdyb3VwLWl0ZW0uYWN0aXZlOmZvY3VzIC5saXN0LWdyb3VwLWl0ZW0taGVhZGluZyA+IHNtYWxsLFxuICAgIC5saXN0LWdyb3VwLWl0ZW0uYWN0aXZlOmZvY3VzIC5saXN0LWdyb3VwLWl0ZW0taGVhZGluZyA+IC5zbWFsbCwgLmxpc3QtZ3JvdXAtaXRlbS5hY3RpdmU6aG92ZXIgLmxpc3QtZ3JvdXAtaXRlbS1oZWFkaW5nLFxuICAgIC5saXN0LWdyb3VwLWl0ZW0uYWN0aXZlOmhvdmVyIC5saXN0LWdyb3VwLWl0ZW0taGVhZGluZyA+IHNtYWxsLFxuICAgIC5saXN0LWdyb3VwLWl0ZW0uYWN0aXZlOmhvdmVyIC5saXN0LWdyb3VwLWl0ZW0taGVhZGluZyA+IC5zbWFsbCB7XG4gICAgICBjb2xvcjogaW5oZXJpdDsgfVxuICAgIC5saXN0LWdyb3VwLWl0ZW0uYWN0aXZlIC5saXN0LWdyb3VwLWl0ZW0tdGV4dCwgLmxpc3QtZ3JvdXAtaXRlbS5hY3RpdmU6Zm9jdXMgLmxpc3QtZ3JvdXAtaXRlbS10ZXh0LCAubGlzdC1ncm91cC1pdGVtLmFjdGl2ZTpob3ZlciAubGlzdC1ncm91cC1pdGVtLXRleHQge1xuICAgICAgY29sb3I6ICM2M2ZmZjA7IH1cblxuLmxpc3QtZ3JvdXAtZmx1c2ggLmxpc3QtZ3JvdXAtaXRlbSB7XG4gIGJvcmRlci1yYWRpdXM6IDA7IH1cblxuLmxpc3QtZ3JvdXAtaXRlbS1hY3Rpb24ge1xuICB3aWR0aDogMTAwJTtcbiAgY29sb3I6ICM1NTU7XG4gIHRleHQtYWxpZ246IGluaGVyaXQ7IH1cbiAgLmxpc3QtZ3JvdXAtaXRlbS1hY3Rpb24gLmxpc3QtZ3JvdXAtaXRlbS1oZWFkaW5nIHtcbiAgICBjb2xvcjogIzMzMzsgfVxuICAubGlzdC1ncm91cC1pdGVtLWFjdGlvbjpmb2N1cywgLmxpc3QtZ3JvdXAtaXRlbS1hY3Rpb246aG92ZXIge1xuICAgIGNvbG9yOiAjNTU1O1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjVmNWY1OyB9XG5cbi5saXN0LWdyb3VwLWl0ZW0tc3VjY2VzcyB7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzRjYWY1MDsgfVxuXG5hLmxpc3QtZ3JvdXAtaXRlbS1zdWNjZXNzLFxuYnV0dG9uLmxpc3QtZ3JvdXAtaXRlbS1zdWNjZXNzIHtcbiAgY29sb3I6IHdoaXRlOyB9XG4gIGEubGlzdC1ncm91cC1pdGVtLXN1Y2Nlc3MgLmxpc3QtZ3JvdXAtaXRlbS1oZWFkaW5nLFxuICBidXR0b24ubGlzdC1ncm91cC1pdGVtLXN1Y2Nlc3MgLmxpc3QtZ3JvdXAtaXRlbS1oZWFkaW5nIHtcbiAgICBjb2xvcjogaW5oZXJpdDsgfVxuICBhLmxpc3QtZ3JvdXAtaXRlbS1zdWNjZXNzOmZvY3VzLCBhLmxpc3QtZ3JvdXAtaXRlbS1zdWNjZXNzOmhvdmVyLFxuICBidXR0b24ubGlzdC1ncm91cC1pdGVtLXN1Y2Nlc3M6Zm9jdXMsXG4gIGJ1dHRvbi5saXN0LWdyb3VwLWl0ZW0tc3VjY2Vzczpob3ZlciB7XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM0NDlkNDg7IH1cbiAgYS5saXN0LWdyb3VwLWl0ZW0tc3VjY2Vzcy5hY3RpdmUsIGEubGlzdC1ncm91cC1pdGVtLXN1Y2Nlc3MuYWN0aXZlOmZvY3VzLCBhLmxpc3QtZ3JvdXAtaXRlbS1zdWNjZXNzLmFjdGl2ZTpob3ZlcixcbiAgYnV0dG9uLmxpc3QtZ3JvdXAtaXRlbS1zdWNjZXNzLmFjdGl2ZSxcbiAgYnV0dG9uLmxpc3QtZ3JvdXAtaXRlbS1zdWNjZXNzLmFjdGl2ZTpmb2N1cyxcbiAgYnV0dG9uLmxpc3QtZ3JvdXAtaXRlbS1zdWNjZXNzLmFjdGl2ZTpob3ZlciB7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICAgYm9yZGVyLWNvbG9yOiB3aGl0ZTsgfVxuXG4ubGlzdC1ncm91cC1pdGVtLWluZm8ge1xuICBjb2xvcjogd2hpdGU7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwM2E5ZjQ7IH1cblxuYS5saXN0LWdyb3VwLWl0ZW0taW5mbyxcbmJ1dHRvbi5saXN0LWdyb3VwLWl0ZW0taW5mbyB7XG4gIGNvbG9yOiB3aGl0ZTsgfVxuICBhLmxpc3QtZ3JvdXAtaXRlbS1pbmZvIC5saXN0LWdyb3VwLWl0ZW0taGVhZGluZyxcbiAgYnV0dG9uLmxpc3QtZ3JvdXAtaXRlbS1pbmZvIC5saXN0LWdyb3VwLWl0ZW0taGVhZGluZyB7XG4gICAgY29sb3I6IGluaGVyaXQ7IH1cbiAgYS5saXN0LWdyb3VwLWl0ZW0taW5mbzpmb2N1cywgYS5saXN0LWdyb3VwLWl0ZW0taW5mbzpob3ZlcixcbiAgYnV0dG9uLmxpc3QtZ3JvdXAtaXRlbS1pbmZvOmZvY3VzLFxuICBidXR0b24ubGlzdC1ncm91cC1pdGVtLWluZm86aG92ZXIge1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDM5OGRiOyB9XG4gIGEubGlzdC1ncm91cC1pdGVtLWluZm8uYWN0aXZlLCBhLmxpc3QtZ3JvdXAtaXRlbS1pbmZvLmFjdGl2ZTpmb2N1cywgYS5saXN0LWdyb3VwLWl0ZW0taW5mby5hY3RpdmU6aG92ZXIsXG4gIGJ1dHRvbi5saXN0LWdyb3VwLWl0ZW0taW5mby5hY3RpdmUsXG4gIGJ1dHRvbi5saXN0LWdyb3VwLWl0ZW0taW5mby5hY3RpdmU6Zm9jdXMsXG4gIGJ1dHRvbi5saXN0LWdyb3VwLWl0ZW0taW5mby5hY3RpdmU6aG92ZXIge1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAgIGJvcmRlci1jb2xvcjogd2hpdGU7IH1cblxuLmxpc3QtZ3JvdXAtaXRlbS13YXJuaW5nIHtcbiAgY29sb3I6IHdoaXRlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmY1NzIyOyB9XG5cbmEubGlzdC1ncm91cC1pdGVtLXdhcm5pbmcsXG5idXR0b24ubGlzdC1ncm91cC1pdGVtLXdhcm5pbmcge1xuICBjb2xvcjogd2hpdGU7IH1cbiAgYS5saXN0LWdyb3VwLWl0ZW0td2FybmluZyAubGlzdC1ncm91cC1pdGVtLWhlYWRpbmcsXG4gIGJ1dHRvbi5saXN0LWdyb3VwLWl0ZW0td2FybmluZyAubGlzdC1ncm91cC1pdGVtLWhlYWRpbmcge1xuICAgIGNvbG9yOiBpbmhlcml0OyB9XG4gIGEubGlzdC1ncm91cC1pdGVtLXdhcm5pbmc6Zm9jdXMsIGEubGlzdC1ncm91cC1pdGVtLXdhcm5pbmc6aG92ZXIsXG4gIGJ1dHRvbi5saXN0LWdyb3VwLWl0ZW0td2FybmluZzpmb2N1cyxcbiAgYnV0dG9uLmxpc3QtZ3JvdXAtaXRlbS13YXJuaW5nOmhvdmVyIHtcbiAgICBjb2xvcjogd2hpdGU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmNDQwOTsgfVxuICBhLmxpc3QtZ3JvdXAtaXRlbS13YXJuaW5nLmFjdGl2ZSwgYS5saXN0LWdyb3VwLWl0ZW0td2FybmluZy5hY3RpdmU6Zm9jdXMsIGEubGlzdC1ncm91cC1pdGVtLXdhcm5pbmcuYWN0aXZlOmhvdmVyLFxuICBidXR0b24ubGlzdC1ncm91cC1pdGVtLXdhcm5pbmcuYWN0aXZlLFxuICBidXR0b24ubGlzdC1ncm91cC1pdGVtLXdhcm5pbmcuYWN0aXZlOmZvY3VzLFxuICBidXR0b24ubGlzdC1ncm91cC1pdGVtLXdhcm5pbmcuYWN0aXZlOmhvdmVyIHtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgICBib3JkZXItY29sb3I6IHdoaXRlOyB9XG5cbi5saXN0LWdyb3VwLWl0ZW0tZGFuZ2VyIHtcbiAgY29sb3I6IHdoaXRlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjQ0MzM2OyB9XG5cbmEubGlzdC1ncm91cC1pdGVtLWRhbmdlcixcbmJ1dHRvbi5saXN0LWdyb3VwLWl0ZW0tZGFuZ2VyIHtcbiAgY29sb3I6IHdoaXRlOyB9XG4gIGEubGlzdC1ncm91cC1pdGVtLWRhbmdlciAubGlzdC1ncm91cC1pdGVtLWhlYWRpbmcsXG4gIGJ1dHRvbi5saXN0LWdyb3VwLWl0ZW0tZGFuZ2VyIC5saXN0LWdyb3VwLWl0ZW0taGVhZGluZyB7XG4gICAgY29sb3I6IGluaGVyaXQ7IH1cbiAgYS5saXN0LWdyb3VwLWl0ZW0tZGFuZ2VyOmZvY3VzLCBhLmxpc3QtZ3JvdXAtaXRlbS1kYW5nZXI6aG92ZXIsXG4gIGJ1dHRvbi5saXN0LWdyb3VwLWl0ZW0tZGFuZ2VyOmZvY3VzLFxuICBidXR0b24ubGlzdC1ncm91cC1pdGVtLWRhbmdlcjpob3ZlciB7XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmMzJjMWU7IH1cbiAgYS5saXN0LWdyb3VwLWl0ZW0tZGFuZ2VyLmFjdGl2ZSwgYS5saXN0LWdyb3VwLWl0ZW0tZGFuZ2VyLmFjdGl2ZTpmb2N1cywgYS5saXN0LWdyb3VwLWl0ZW0tZGFuZ2VyLmFjdGl2ZTpob3ZlcixcbiAgYnV0dG9uLmxpc3QtZ3JvdXAtaXRlbS1kYW5nZXIuYWN0aXZlLFxuICBidXR0b24ubGlzdC1ncm91cC1pdGVtLWRhbmdlci5hY3RpdmU6Zm9jdXMsXG4gIGJ1dHRvbi5saXN0LWdyb3VwLWl0ZW0tZGFuZ2VyLmFjdGl2ZTpob3ZlciB7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICAgYm9yZGVyLWNvbG9yOiB3aGl0ZTsgfVxuXG4ubGlzdC1ncm91cC1pdGVtLWhlYWRpbmcge1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiA1cHg7IH1cblxuLmxpc3QtZ3JvdXAtaXRlbS10ZXh0IHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgbGluZS1oZWlnaHQ6IDEuMzsgfVxuXG4uZW1iZWQtcmVzcG9uc2l2ZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGhlaWdodDogMDtcbiAgcGFkZGluZzogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAuZW1iZWQtcmVzcG9uc2l2ZSAuZW1iZWQtcmVzcG9uc2l2ZS1pdGVtLFxuICAuZW1iZWQtcmVzcG9uc2l2ZSBpZnJhbWUsXG4gIC5lbWJlZC1yZXNwb25zaXZlIGVtYmVkLFxuICAuZW1iZWQtcmVzcG9uc2l2ZSBvYmplY3QsXG4gIC5lbWJlZC1yZXNwb25zaXZlIHZpZGVvIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBib3JkZXI6IDA7IH1cblxuLmVtYmVkLXJlc3BvbnNpdmUtMjFieTkge1xuICBwYWRkaW5nLWJvdHRvbTogNDIuODU3MTQlOyB9XG5cbi5lbWJlZC1yZXNwb25zaXZlLTE2Ynk5IHtcbiAgcGFkZGluZy1ib3R0b206IDU2LjI1JTsgfVxuXG4uZW1iZWQtcmVzcG9uc2l2ZS00YnkzIHtcbiAgcGFkZGluZy1ib3R0b206IDc1JTsgfVxuXG4uZW1iZWQtcmVzcG9uc2l2ZS0xYnkxIHtcbiAgcGFkZGluZy1ib3R0b206IDEwMCU7IH1cblxuLmNsb3NlIHtcbiAgZmxvYXQ6IHJpZ2h0O1xuICBmb250LXNpemU6IDEuNXJlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBjb2xvcjogIzAwMDtcbiAgdGV4dC1zaGFkb3c6IDAgMXB4IDAgI2ZmZjtcbiAgb3BhY2l0eTogLjI7IH1cbiAgLmNsb3NlOmZvY3VzLCAuY2xvc2U6aG92ZXIge1xuICAgIGNvbG9yOiAjMDAwO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgb3BhY2l0eTogLjU7IH1cblxuYnV0dG9uLmNsb3NlIHtcbiAgcGFkZGluZzogMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiAwO1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7IH1cblxuLm1vZGFsLW9wZW4ge1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbi5tb2RhbCB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAxMDUwO1xuICBkaXNwbGF5OiBub25lO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBvdXRsaW5lOiAwO1xuICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7IH1cbiAgLm1vZGFsLmZhZGUgLm1vZGFsLWRpYWxvZyB7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIC4zcyBlYXNlLW91dDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtMjUlKTsgfVxuICAubW9kYWwuaW4gLm1vZGFsLWRpYWxvZyB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7IH1cblxuLm1vZGFsLW9wZW4gLm1vZGFsIHtcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICBvdmVyZmxvdy15OiBhdXRvOyB9XG5cbi5tb2RhbC1kaWFsb2cge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiBhdXRvO1xuICBtYXJnaW46IDEwcHg7IH1cblxuLm1vZGFsLWNvbnRlbnQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgMC4yKTtcbiAgYm9yZGVyLXJhZGl1czogMC4zcmVtO1xuICBib3gtc2hhZG93OiAwIDlweCA0NnB4IDhweCByZ2JhKDAsIDAsIDAsIDAuMTQpLCAwIDExcHggMTVweCAtN3B4IHJnYmEoMCwgMCwgMCwgMC4xMiksIDAgMjRweCAzOHB4IDNweCByZ2JhKDAsIDAsIDAsIDAuMik7XG4gIG91dGxpbmU6IDA7IH1cblxuLm1vZGFsLWJhY2tkcm9wIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IDEwNDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDA7IH1cbiAgLm1vZGFsLWJhY2tkcm9wLmZhZGUge1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgLm1vZGFsLWJhY2tkcm9wLmluIHtcbiAgICBvcGFjaXR5OiAwLjI2OyB9XG5cbi5tb2RhbC1oZWFkZXIge1xuICBwYWRkaW5nOiAxNXB4O1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2U1ZTVlNTsgfVxuICAubW9kYWwtaGVhZGVyOjphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBjbGVhcjogYm90aDsgfVxuXG4ubW9kYWwtaGVhZGVyIC5jbG9zZSB7XG4gIG1hcmdpbi10b3A6IC0ycHg7IH1cblxuLm1vZGFsLXRpdGxlIHtcbiAgbWFyZ2luOiAwO1xuICBsaW5lLWhlaWdodDogMS41OyB9XG5cbi5tb2RhbC1ib2R5IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nOiAxNXB4OyB9XG5cbi5tb2RhbC1mb290ZXIge1xuICBwYWRkaW5nOiAxNXB4O1xuICB0ZXh0LWFsaWduOiByaWdodDtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNlNWU1ZTU7IH1cbiAgLm1vZGFsLWZvb3Rlcjo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY2xlYXI6IGJvdGg7IH1cblxuLm1vZGFsLXNjcm9sbGJhci1tZWFzdXJlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IC05OTk5cHg7XG4gIHdpZHRoOiA1MHB4O1xuICBoZWlnaHQ6IDUwcHg7XG4gIG92ZXJmbG93OiBzY3JvbGw7IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDU0NHB4KSB7XG4gIC5tb2RhbC1kaWFsb2cge1xuICAgIG1heC13aWR0aDogNjAwcHg7XG4gICAgbWFyZ2luOiAzMHB4IGF1dG87IH1cbiAgLm1vZGFsLWNvbnRlbnQge1xuICAgIGJveC1zaGFkb3c6IDAgNXB4IDE1cHggcmdiYSgwLCAwLCAwLCAwLjUpOyB9XG4gIC5tb2RhbC1zbSB7XG4gICAgbWF4LXdpZHRoOiAzMDBweDsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAubW9kYWwtbGcge1xuICAgIG1heC13aWR0aDogOTAwcHg7IH0gfVxuXG4udG9vbHRpcCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTA3MDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtZmFtaWx5OiBcIlJvYm90b1wiLCBcIkhlbHZldGljYVwiLCBcIkFyaWFsXCIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDtcbiAgbGluZS1icmVhazogYXV0bztcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgdGV4dC1hbGlnbjogc3RhcnQ7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICB3b3JkLWJyZWFrOiBub3JtYWw7XG4gIHdvcmQtc3BhY2luZzogbm9ybWFsO1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG4gIG9wYWNpdHk6IDA7IH1cbiAgLnRvb2x0aXAuaW4ge1xuICAgIG9wYWNpdHk6IDAuOTsgfVxuICAudG9vbHRpcC50b29sdGlwLXRvcCwgLnRvb2x0aXAuYnMtdGV0aGVyLWVsZW1lbnQtYXR0YWNoZWQtYm90dG9tIHtcbiAgICBwYWRkaW5nOiA1cHggMDtcbiAgICBtYXJnaW4tdG9wOiAtM3B4OyB9XG4gICAgLnRvb2x0aXAudG9vbHRpcC10b3AgLnRvb2x0aXAtYXJyb3csIC50b29sdGlwLmJzLXRldGhlci1lbGVtZW50LWF0dGFjaGVkLWJvdHRvbSAudG9vbHRpcC1hcnJvdyB7XG4gICAgICBib3R0b206IDA7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICBtYXJnaW4tbGVmdDogLTVweDtcbiAgICAgIGJvcmRlci13aWR0aDogNXB4IDVweCAwO1xuICAgICAgYm9yZGVyLXRvcC1jb2xvcjogIzAwMDsgfVxuICAudG9vbHRpcC50b29sdGlwLXJpZ2h0LCAudG9vbHRpcC5icy10ZXRoZXItZWxlbWVudC1hdHRhY2hlZC1sZWZ0IHtcbiAgICBwYWRkaW5nOiAwIDVweDtcbiAgICBtYXJnaW4tbGVmdDogM3B4OyB9XG4gICAgLnRvb2x0aXAudG9vbHRpcC1yaWdodCAudG9vbHRpcC1hcnJvdywgLnRvb2x0aXAuYnMtdGV0aGVyLWVsZW1lbnQtYXR0YWNoZWQtbGVmdCAudG9vbHRpcC1hcnJvdyB7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBtYXJnaW4tdG9wOiAtNXB4O1xuICAgICAgYm9yZGVyLXdpZHRoOiA1cHggNXB4IDVweCAwO1xuICAgICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiAjMDAwOyB9XG4gIC50b29sdGlwLnRvb2x0aXAtYm90dG9tLCAudG9vbHRpcC5icy10ZXRoZXItZWxlbWVudC1hdHRhY2hlZC10b3Age1xuICAgIHBhZGRpbmc6IDVweCAwO1xuICAgIG1hcmdpbi10b3A6IDNweDsgfVxuICAgIC50b29sdGlwLnRvb2x0aXAtYm90dG9tIC50b29sdGlwLWFycm93LCAudG9vbHRpcC5icy10ZXRoZXItZWxlbWVudC1hdHRhY2hlZC10b3AgLnRvb2x0aXAtYXJyb3cge1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgbWFyZ2luLWxlZnQ6IC01cHg7XG4gICAgICBib3JkZXItd2lkdGg6IDAgNXB4IDVweDtcbiAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICMwMDA7IH1cbiAgLnRvb2x0aXAudG9vbHRpcC1sZWZ0LCAudG9vbHRpcC5icy10ZXRoZXItZWxlbWVudC1hdHRhY2hlZC1yaWdodCB7XG4gICAgcGFkZGluZzogMCA1cHg7XG4gICAgbWFyZ2luLWxlZnQ6IC0zcHg7IH1cbiAgICAudG9vbHRpcC50b29sdGlwLWxlZnQgLnRvb2x0aXAtYXJyb3csIC50b29sdGlwLmJzLXRldGhlci1lbGVtZW50LWF0dGFjaGVkLXJpZ2h0IC50b29sdGlwLWFycm93IHtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBtYXJnaW4tdG9wOiAtNXB4O1xuICAgICAgYm9yZGVyLXdpZHRoOiA1cHggMCA1cHggNXB4O1xuICAgICAgYm9yZGVyLWxlZnQtY29sb3I6ICMwMDA7IH1cblxuLnRvb2x0aXAtaW5uZXIge1xuICBtYXgtd2lkdGg6IDIwMHB4O1xuICBwYWRkaW5nOiAzcHggOHB4O1xuICBjb2xvcjogI2ZmZjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwO1xuICBib3JkZXItcmFkaXVzOiAwLjEyNXJlbTsgfVxuXG4udG9vbHRpcC1hcnJvdyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDsgfVxuXG4ucG9wb3ZlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAxMDYwO1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWF4LXdpZHRoOiAyNzZweDtcbiAgcGFkZGluZzogMXB4O1xuICBmb250LWZhbWlseTogXCJSb2JvdG9cIiwgXCJIZWx2ZXRpY2FcIiwgXCJBcmlhbFwiLCBzYW5zLXNlcmlmO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGxldHRlci1zcGFjaW5nOiBub3JtYWw7XG4gIGxpbmUtYnJlYWs6IGF1dG87XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIHRleHQtYWxpZ246IHN0YXJ0O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRleHQtc2hhZG93OiBub25lO1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgd29yZC1icmVhazogbm9ybWFsO1xuICB3b3JkLXNwYWNpbmc6IG5vcm1hbDtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgd29yZC13cmFwOiBicmVhay13b3JkO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDAsIDAsIDAsIDAuMik7XG4gIGJvcmRlci1yYWRpdXM6IDAuM3JlbTtcbiAgYm94LXNoYWRvdzogMCA1cHggMTBweCByZ2JhKDAsIDAsIDAsIDAuMik7IH1cbiAgLnBvcG92ZXIucG9wb3Zlci10b3AsIC5wb3BvdmVyLmJzLXRldGhlci1lbGVtZW50LWF0dGFjaGVkLWJvdHRvbSB7XG4gICAgbWFyZ2luLXRvcDogLTEwcHg7IH1cbiAgICAucG9wb3Zlci5wb3BvdmVyLXRvcCAucG9wb3Zlci1hcnJvdywgLnBvcG92ZXIuYnMtdGV0aGVyLWVsZW1lbnQtYXR0YWNoZWQtYm90dG9tIC5wb3BvdmVyLWFycm93IHtcbiAgICAgIGJvdHRvbTogLTExcHg7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICBtYXJnaW4tbGVmdDogLTExcHg7XG4gICAgICBib3JkZXItdG9wLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMjUpO1xuICAgICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDsgfVxuICAgICAgLnBvcG92ZXIucG9wb3Zlci10b3AgLnBvcG92ZXItYXJyb3c6OmFmdGVyLCAucG9wb3Zlci5icy10ZXRoZXItZWxlbWVudC1hdHRhY2hlZC1ib3R0b20gLnBvcG92ZXItYXJyb3c6OmFmdGVyIHtcbiAgICAgICAgYm90dG9tOiAxcHg7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtMTBweDtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogI2ZmZjtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDsgfVxuICAucG9wb3Zlci5wb3BvdmVyLXJpZ2h0LCAucG9wb3Zlci5icy10ZXRoZXItZWxlbWVudC1hdHRhY2hlZC1sZWZ0IHtcbiAgICBtYXJnaW4tbGVmdDogMTBweDsgfVxuICAgIC5wb3BvdmVyLnBvcG92ZXItcmlnaHQgLnBvcG92ZXItYXJyb3csIC5wb3BvdmVyLmJzLXRldGhlci1lbGVtZW50LWF0dGFjaGVkLWxlZnQgLnBvcG92ZXItYXJyb3cge1xuICAgICAgdG9wOiA1MCU7XG4gICAgICBsZWZ0OiAtMTFweDtcbiAgICAgIG1hcmdpbi10b3A6IC0xMXB4O1xuICAgICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMjUpO1xuICAgICAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7IH1cbiAgICAgIC5wb3BvdmVyLnBvcG92ZXItcmlnaHQgLnBvcG92ZXItYXJyb3c6OmFmdGVyLCAucG9wb3Zlci5icy10ZXRoZXItZWxlbWVudC1hdHRhY2hlZC1sZWZ0IC5wb3BvdmVyLWFycm93OjphZnRlciB7XG4gICAgICAgIGJvdHRvbTogLTEwcHg7XG4gICAgICAgIGxlZnQ6IDFweDtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiAjZmZmO1xuICAgICAgICBib3JkZXItbGVmdC13aWR0aDogMDsgfVxuICAucG9wb3Zlci5wb3BvdmVyLWJvdHRvbSwgLnBvcG92ZXIuYnMtdGV0aGVyLWVsZW1lbnQtYXR0YWNoZWQtdG9wIHtcbiAgICBtYXJnaW4tdG9wOiAxMHB4OyB9XG4gICAgLnBvcG92ZXIucG9wb3Zlci1ib3R0b20gLnBvcG92ZXItYXJyb3csIC5wb3BvdmVyLmJzLXRldGhlci1lbGVtZW50LWF0dGFjaGVkLXRvcCAucG9wb3Zlci1hcnJvdyB7XG4gICAgICB0b3A6IC0xMXB4O1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgbWFyZ2luLWxlZnQ6IC0xMXB4O1xuICAgICAgYm9yZGVyLXRvcC13aWR0aDogMDtcbiAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4yNSk7IH1cbiAgICAgIC5wb3BvdmVyLnBvcG92ZXItYm90dG9tIC5wb3BvdmVyLWFycm93OjphZnRlciwgLnBvcG92ZXIuYnMtdGV0aGVyLWVsZW1lbnQtYXR0YWNoZWQtdG9wIC5wb3BvdmVyLWFycm93OjphZnRlciB7XG4gICAgICAgIHRvcDogMXB4O1xuICAgICAgICBtYXJnaW4tbGVmdDogLTEwcHg7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIGJvcmRlci10b3Atd2lkdGg6IDA7XG4gICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICNmZmY7IH1cbiAgLnBvcG92ZXIucG9wb3Zlci1sZWZ0LCAucG9wb3Zlci5icy10ZXRoZXItZWxlbWVudC1hdHRhY2hlZC1yaWdodCB7XG4gICAgbWFyZ2luLWxlZnQ6IC0xMHB4OyB9XG4gICAgLnBvcG92ZXIucG9wb3Zlci1sZWZ0IC5wb3BvdmVyLWFycm93LCAucG9wb3Zlci5icy10ZXRoZXItZWxlbWVudC1hdHRhY2hlZC1yaWdodCAucG9wb3Zlci1hcnJvdyB7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIHJpZ2h0OiAtMTFweDtcbiAgICAgIG1hcmdpbi10b3A6IC0xMXB4O1xuICAgICAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwO1xuICAgICAgYm9yZGVyLWxlZnQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4yNSk7IH1cbiAgICAgIC5wb3BvdmVyLnBvcG92ZXItbGVmdCAucG9wb3Zlci1hcnJvdzo6YWZ0ZXIsIC5wb3BvdmVyLmJzLXRldGhlci1lbGVtZW50LWF0dGFjaGVkLXJpZ2h0IC5wb3BvdmVyLWFycm93OjphZnRlciB7XG4gICAgICAgIHJpZ2h0OiAxcHg7XG4gICAgICAgIGJvdHRvbTogLTEwcHg7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIGJvcmRlci1yaWdodC13aWR0aDogMDtcbiAgICAgICAgYm9yZGVyLWxlZnQtY29sb3I6ICNmZmY7IH1cblxuLnBvcG92ZXItdGl0bGUge1xuICBwYWRkaW5nOiA4cHggMTRweDtcbiAgbWFyZ2luOiAwO1xuICBmb250LXNpemU6IDFyZW07XG4gIGJhY2tncm91bmQtY29sb3I6ICNmN2Y3Zjc7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZWJlYmViO1xuICBib3JkZXItcmFkaXVzOiAwLjIzNzVyZW0gMC4yMzc1cmVtIDAgMDsgfVxuICAucG9wb3Zlci10aXRsZTplbXB0eSB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuXG4ucG9wb3Zlci1jb250ZW50IHtcbiAgcGFkZGluZzogOXB4IDE0cHg7IH1cblxuLnBvcG92ZXItYXJyb3csIC5wb3BvdmVyLWFycm93OjphZnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7IH1cblxuLnBvcG92ZXItYXJyb3cge1xuICBib3JkZXItd2lkdGg6IDExcHg7IH1cblxuLnBvcG92ZXItYXJyb3c6OmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgYm9yZGVyLXdpZHRoOiAxMHB4OyB9XG5cbi5jYXJvdXNlbCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4uY2Fyb3VzZWwtaW5uZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gIC5jYXJvdXNlbC1pbm5lciA+IC5jYXJvdXNlbC1pdGVtIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICB0cmFuc2l0aW9uOiAuNnMgZWFzZS1pbi1vdXQgbGVmdDsgfVxuICAgIC5jYXJvdXNlbC1pbm5lciA+IC5jYXJvdXNlbC1pdGVtID4gaW1nLFxuICAgIC5jYXJvdXNlbC1pbm5lciA+IC5jYXJvdXNlbC1pdGVtID4gYSA+IGltZyB7XG4gICAgICBsaW5lLWhlaWdodDogMTsgfVxuICAgIEBtZWRpYSBhbGwgYW5kICh0cmFuc2Zvcm0tM2QpLCAoLXdlYmtpdC10cmFuc2Zvcm0tM2QpIHtcbiAgICAgIC5jYXJvdXNlbC1pbm5lciA+IC5jYXJvdXNlbC1pdGVtIHtcbiAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIC42cyBlYXNlLWluLW91dDtcbiAgICAgICAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgICBwZXJzcGVjdGl2ZTogMTAwMHB4OyB9XG4gICAgICAgIC5jYXJvdXNlbC1pbm5lciA+IC5jYXJvdXNlbC1pdGVtLm5leHQsIC5jYXJvdXNlbC1pbm5lciA+IC5jYXJvdXNlbC1pdGVtLmFjdGl2ZS5yaWdodCB7XG4gICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApOyB9XG4gICAgICAgIC5jYXJvdXNlbC1pbm5lciA+IC5jYXJvdXNlbC1pdGVtLnByZXYsIC5jYXJvdXNlbC1pbm5lciA+IC5jYXJvdXNlbC1pdGVtLmFjdGl2ZS5sZWZ0IHtcbiAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApOyB9XG4gICAgICAgIC5jYXJvdXNlbC1pbm5lciA+IC5jYXJvdXNlbC1pdGVtLm5leHQubGVmdCwgLmNhcm91c2VsLWlubmVyID4gLmNhcm91c2VsLWl0ZW0ucHJldi5yaWdodCwgLmNhcm91c2VsLWlubmVyID4gLmNhcm91c2VsLWl0ZW0uYWN0aXZlIHtcbiAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7IH0gfVxuICAuY2Fyb3VzZWwtaW5uZXIgPiAuYWN0aXZlLFxuICAuY2Fyb3VzZWwtaW5uZXIgPiAubmV4dCxcbiAgLmNhcm91c2VsLWlubmVyID4gLnByZXYge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5jYXJvdXNlbC1pbm5lciA+IC5hY3RpdmUge1xuICAgIGxlZnQ6IDA7IH1cbiAgLmNhcm91c2VsLWlubmVyID4gLm5leHQsXG4gIC5jYXJvdXNlbC1pbm5lciA+IC5wcmV2IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5jYXJvdXNlbC1pbm5lciA+IC5uZXh0IHtcbiAgICBsZWZ0OiAxMDAlOyB9XG4gIC5jYXJvdXNlbC1pbm5lciA+IC5wcmV2IHtcbiAgICBsZWZ0OiAtMTAwJTsgfVxuICAuY2Fyb3VzZWwtaW5uZXIgPiAubmV4dC5sZWZ0LFxuICAuY2Fyb3VzZWwtaW5uZXIgPiAucHJldi5yaWdodCB7XG4gICAgbGVmdDogMDsgfVxuICAuY2Fyb3VzZWwtaW5uZXIgPiAuYWN0aXZlLmxlZnQge1xuICAgIGxlZnQ6IC0xMDAlOyB9XG4gIC5jYXJvdXNlbC1pbm5lciA+IC5hY3RpdmUucmlnaHQge1xuICAgIGxlZnQ6IDEwMCU7IH1cblxuLmNhcm91c2VsLWNvbnRyb2wge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTUlO1xuICBmb250LXNpemU6IDIwcHg7XG4gIGNvbG9yOiAjZmZmO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHRleHQtc2hhZG93OiAwIDFweCAycHggcmdiYSgwLCAwLCAwLCAwLjYpO1xuICBvcGFjaXR5OiAwLjU7IH1cbiAgLmNhcm91c2VsLWNvbnRyb2wubGVmdCB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCByZ2JhKDAsIDAsIDAsIDAuNSkgMCUsIHJnYmEoMCwgMCwgMCwgMC4wMDAxKSAxMDAlKTtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XG4gICAgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoc3RhcnRDb2xvcnN0cj0nIzgwMDAwMDAwJywgZW5kQ29sb3JzdHI9JyMwMDAwMDAwMCcsIEdyYWRpZW50VHlwZT0xKTsgfVxuICAuY2Fyb3VzZWwtY29udHJvbC5yaWdodCB7XG4gICAgcmlnaHQ6IDA7XG4gICAgbGVmdDogYXV0bztcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsIHJnYmEoMCwgMCwgMCwgMC4wMDAxKSAwJSwgcmdiYSgwLCAwLCAwLCAwLjUpIDEwMCUpO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteDtcbiAgICBmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudChzdGFydENvbG9yc3RyPScjMDAwMDAwMDAnLCBlbmRDb2xvcnN0cj0nIzgwMDAwMDAwJywgR3JhZGllbnRUeXBlPTEpOyB9XG4gIC5jYXJvdXNlbC1jb250cm9sOmZvY3VzLCAuY2Fyb3VzZWwtY29udHJvbDpob3ZlciB7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIG91dGxpbmU6IDA7XG4gICAgb3BhY2l0eTogLjk7IH1cbiAgLmNhcm91c2VsLWNvbnRyb2wgLmljb24tcHJldixcbiAgLmNhcm91c2VsLWNvbnRyb2wgLmljb24tbmV4dCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIHotaW5kZXg6IDU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdpZHRoOiAyMHB4O1xuICAgIGhlaWdodDogMjBweDtcbiAgICBtYXJnaW4tdG9wOiAtMTBweDtcbiAgICBmb250LWZhbWlseTogc2VyaWY7XG4gICAgbGluZS1oZWlnaHQ6IDE7IH1cbiAgLmNhcm91c2VsLWNvbnRyb2wgLmljb24tcHJldiB7XG4gICAgbGVmdDogNTAlO1xuICAgIG1hcmdpbi1sZWZ0OiAtMTBweDsgfVxuICAuY2Fyb3VzZWwtY29udHJvbCAuaWNvbi1uZXh0IHtcbiAgICByaWdodDogNTAlO1xuICAgIG1hcmdpbi1yaWdodDogLTEwcHg7IH1cbiAgLmNhcm91c2VsLWNvbnRyb2wgLmljb24tcHJldjo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcMjAzOVwiOyB9XG4gIC5jYXJvdXNlbC1jb250cm9sIC5pY29uLW5leHQ6OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXDIwM2FcIjsgfVxuXG4uY2Fyb3VzZWwtaW5kaWNhdG9ycyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAxMHB4O1xuICBsZWZ0OiA1MCU7XG4gIHotaW5kZXg6IDE1O1xuICB3aWR0aDogNjAlO1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIG1hcmdpbi1sZWZ0OiAtMzAlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7IH1cbiAgLmNhcm91c2VsLWluZGljYXRvcnMgbGkge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aWR0aDogMTBweDtcbiAgICBoZWlnaHQ6IDEwcHg7XG4gICAgbWFyZ2luOiAxcHg7XG4gICAgdGV4dC1pbmRlbnQ6IC05OTlweDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2ZmZjtcbiAgICBib3JkZXItcmFkaXVzOiAxMHB4OyB9XG4gIC5jYXJvdXNlbC1pbmRpY2F0b3JzIC5hY3RpdmUge1xuICAgIHdpZHRoOiAxMnB4O1xuICAgIGhlaWdodDogMTJweDtcbiAgICBtYXJnaW46IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsgfVxuXG4uY2Fyb3VzZWwtY2FwdGlvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDE1JTtcbiAgYm90dG9tOiAyMHB4O1xuICBsZWZ0OiAxNSU7XG4gIHotaW5kZXg6IDEwO1xuICBwYWRkaW5nLXRvcDogMjBweDtcbiAgcGFkZGluZy1ib3R0b206IDIwcHg7XG4gIGNvbG9yOiAjZmZmO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHRleHQtc2hhZG93OiAwIDFweCAycHggcmdiYSgwLCAwLCAwLCAwLjYpOyB9XG4gIC5jYXJvdXNlbC1jYXB0aW9uIC5idG4sIC5jYXJvdXNlbC1jYXB0aW9uIC5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUge1xuICAgIHRleHQtc2hhZG93OiBub25lOyB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA1NDRweCkge1xuICAuY2Fyb3VzZWwtY29udHJvbCAuaWNvbi1wcmV2LFxuICAuY2Fyb3VzZWwtY29udHJvbCAuaWNvbi1uZXh0IHtcbiAgICB3aWR0aDogMzBweDtcbiAgICBoZWlnaHQ6IDMwcHg7XG4gICAgbWFyZ2luLXRvcDogLTE1cHg7XG4gICAgZm9udC1zaXplOiAzMHB4OyB9XG4gIC5jYXJvdXNlbC1jb250cm9sIC5pY29uLXByZXYge1xuICAgIG1hcmdpbi1sZWZ0OiAtMTVweDsgfVxuICAuY2Fyb3VzZWwtY29udHJvbCAuaWNvbi1uZXh0IHtcbiAgICBtYXJnaW4tcmlnaHQ6IC0xNXB4OyB9XG4gIC5jYXJvdXNlbC1jYXB0aW9uIHtcbiAgICByaWdodDogMjAlO1xuICAgIGxlZnQ6IDIwJTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMzBweDsgfVxuICAuY2Fyb3VzZWwtaW5kaWNhdG9ycyB7XG4gICAgYm90dG9tOiAyMHB4OyB9IH1cblxuLmJnLWZhZGVkIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y3ZjdmOTsgfVxuXG4uYmctcHJpbWFyeSB7XG4gIGNvbG9yOiAjZmZmICFpbXBvcnRhbnQ7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDk2ODggIWltcG9ydGFudDsgfVxuXG5hLmJnLXByaW1hcnk6Zm9jdXMsIGEuYmctcHJpbWFyeTpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDYzNWEgIWltcG9ydGFudDsgfVxuXG4uYmctc3VjY2VzcyB7XG4gIGNvbG9yOiAjZmZmICFpbXBvcnRhbnQ7XG4gIGJhY2tncm91bmQtY29sb3I6ICM0Y2FmNTAgIWltcG9ydGFudDsgfVxuXG5hLmJnLXN1Y2Nlc3M6Zm9jdXMsIGEuYmctc3VjY2Vzczpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzZDhiNDAgIWltcG9ydGFudDsgfVxuXG4uYmctaW5mbyB7XG4gIGNvbG9yOiAjZmZmICFpbXBvcnRhbnQ7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwM2E5ZjQgIWltcG9ydGFudDsgfVxuXG5hLmJnLWluZm86Zm9jdXMsIGEuYmctaW5mbzpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMjg2YzIgIWltcG9ydGFudDsgfVxuXG4uYmctd2FybmluZyB7XG4gIGNvbG9yOiAjZmZmICFpbXBvcnRhbnQ7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZjU3MjIgIWltcG9ydGFudDsgfVxuXG5hLmJnLXdhcm5pbmc6Zm9jdXMsIGEuYmctd2FybmluZzpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlZTM5MDAgIWltcG9ydGFudDsgfVxuXG4uYmctZGFuZ2VyIHtcbiAgY29sb3I6ICNmZmYgIWltcG9ydGFudDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y0NDMzNiAhaW1wb3J0YW50OyB9XG5cbmEuYmctZGFuZ2VyOmZvY3VzLCBhLmJnLWRhbmdlcjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlYTFjMGQgIWltcG9ydGFudDsgfVxuXG4uYmctaW52ZXJzZSB7XG4gIGNvbG9yOiAjZmZmICFpbXBvcnRhbnQ7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44NykgIWltcG9ydGFudDsgfVxuXG5hLmJnLWludmVyc2U6Zm9jdXMsIGEuYmctaW52ZXJzZTpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44NykgIWltcG9ydGFudDsgfVxuXG4uY2xlYXJmaXg6OmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgZGlzcGxheTogdGFibGU7XG4gIGNsZWFyOiBib3RoOyB9XG5cbi5kLWJsb2NrIHtcbiAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfVxuXG4uZC1pbmxpbmUtYmxvY2sge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2sgIWltcG9ydGFudDsgfVxuXG4uZC1pbmxpbmUge1xuICBkaXNwbGF5OiBpbmxpbmUgIWltcG9ydGFudDsgfVxuXG4uZmxleC14cy1maXJzdCB7XG4gIG9yZGVyOiAtMTsgfVxuXG4uZmxleC14cy1sYXN0IHtcbiAgb3JkZXI6IDE7IH1cblxuLmZsZXgteHMtdW5vcmRlcmVkIHtcbiAgb3JkZXI6IDA7IH1cblxuLmZsZXgtaXRlbXMteHMtdG9wIHtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7IH1cblxuLmZsZXgtaXRlbXMteHMtbWlkZGxlIHtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuXG4uZmxleC1pdGVtcy14cy1ib3R0b20ge1xuICBhbGlnbi1pdGVtczogZmxleC1lbmQ7IH1cblxuLmZsZXgteHMtdG9wIHtcbiAgYWxpZ24tc2VsZjogZmxleC1zdGFydDsgfVxuXG4uZmxleC14cy1taWRkbGUge1xuICBhbGlnbi1zZWxmOiBjZW50ZXI7IH1cblxuLmZsZXgteHMtYm90dG9tIHtcbiAgYWxpZ24tc2VsZjogZmxleC1lbmQ7IH1cblxuLmZsZXgtaXRlbXMteHMtbGVmdCB7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfVxuXG4uZmxleC1pdGVtcy14cy1jZW50ZXIge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuXG4uZmxleC1pdGVtcy14cy1yaWdodCB7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IH1cblxuLmZsZXgtaXRlbXMteHMtYXJvdW5kIHtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7IH1cblxuLmZsZXgtaXRlbXMteHMtYmV0d2VlbiB7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNTQ0cHgpIHtcbiAgLmZsZXgtc20tZmlyc3Qge1xuICAgIG9yZGVyOiAtMTsgfVxuICAuZmxleC1zbS1sYXN0IHtcbiAgICBvcmRlcjogMTsgfVxuICAuZmxleC1zbS11bm9yZGVyZWQge1xuICAgIG9yZGVyOiAwOyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDU0NHB4KSB7XG4gIC5mbGV4LWl0ZW1zLXNtLXRvcCB7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7IH1cbiAgLmZsZXgtaXRlbXMtc20tbWlkZGxlIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gIC5mbGV4LWl0ZW1zLXNtLWJvdHRvbSB7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kOyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDU0NHB4KSB7XG4gIC5mbGV4LXNtLXRvcCB7XG4gICAgYWxpZ24tc2VsZjogZmxleC1zdGFydDsgfVxuICAuZmxleC1zbS1taWRkbGUge1xuICAgIGFsaWduLXNlbGY6IGNlbnRlcjsgfVxuICAuZmxleC1zbS1ib3R0b20ge1xuICAgIGFsaWduLXNlbGY6IGZsZXgtZW5kOyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDU0NHB4KSB7XG4gIC5mbGV4LWl0ZW1zLXNtLWxlZnQge1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfVxuICAuZmxleC1pdGVtcy1zbS1jZW50ZXIge1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG4gIC5mbGV4LWl0ZW1zLXNtLXJpZ2h0IHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOyB9XG4gIC5mbGV4LWl0ZW1zLXNtLWFyb3VuZCB7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7IH1cbiAgLmZsZXgtaXRlbXMtc20tYmV0d2VlbiB7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5mbGV4LW1kLWZpcnN0IHtcbiAgICBvcmRlcjogLTE7IH1cbiAgLmZsZXgtbWQtbGFzdCB7XG4gICAgb3JkZXI6IDE7IH1cbiAgLmZsZXgtbWQtdW5vcmRlcmVkIHtcbiAgICBvcmRlcjogMDsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuZmxleC1pdGVtcy1tZC10b3Age1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OyB9XG4gIC5mbGV4LWl0ZW1zLW1kLW1pZGRsZSB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAuZmxleC1pdGVtcy1tZC1ib3R0b20ge1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuZmxleC1tZC10b3Age1xuICAgIGFsaWduLXNlbGY6IGZsZXgtc3RhcnQ7IH1cbiAgLmZsZXgtbWQtbWlkZGxlIHtcbiAgICBhbGlnbi1zZWxmOiBjZW50ZXI7IH1cbiAgLmZsZXgtbWQtYm90dG9tIHtcbiAgICBhbGlnbi1zZWxmOiBmbGV4LWVuZDsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuZmxleC1pdGVtcy1tZC1sZWZ0IHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH1cbiAgLmZsZXgtaXRlbXMtbWQtY2VudGVyIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuICAuZmxleC1pdGVtcy1tZC1yaWdodCB7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsgfVxuICAuZmxleC1pdGVtcy1tZC1hcm91bmQge1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kOyB9XG4gIC5mbGV4LWl0ZW1zLW1kLWJldHdlZW4ge1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAuZmxleC1sZy1maXJzdCB7XG4gICAgb3JkZXI6IC0xOyB9XG4gIC5mbGV4LWxnLWxhc3Qge1xuICAgIG9yZGVyOiAxOyB9XG4gIC5mbGV4LWxnLXVub3JkZXJlZCB7XG4gICAgb3JkZXI6IDA7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLmZsZXgtaXRlbXMtbGctdG9wIHtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDsgfVxuICAuZmxleC1pdGVtcy1sZy1taWRkbGUge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgLmZsZXgtaXRlbXMtbGctYm90dG9tIHtcbiAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLmZsZXgtbGctdG9wIHtcbiAgICBhbGlnbi1zZWxmOiBmbGV4LXN0YXJ0OyB9XG4gIC5mbGV4LWxnLW1pZGRsZSB7XG4gICAgYWxpZ24tc2VsZjogY2VudGVyOyB9XG4gIC5mbGV4LWxnLWJvdHRvbSB7XG4gICAgYWxpZ24tc2VsZjogZmxleC1lbmQ7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLmZsZXgtaXRlbXMtbGctbGVmdCB7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyB9XG4gIC5mbGV4LWl0ZW1zLWxnLWNlbnRlciB7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgLmZsZXgtaXRlbXMtbGctcmlnaHQge1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IH1cbiAgLmZsZXgtaXRlbXMtbGctYXJvdW5kIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDsgfVxuICAuZmxleC1pdGVtcy1sZy1iZXR3ZWVuIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC5mbGV4LXhsLWZpcnN0IHtcbiAgICBvcmRlcjogLTE7IH1cbiAgLmZsZXgteGwtbGFzdCB7XG4gICAgb3JkZXI6IDE7IH1cbiAgLmZsZXgteGwtdW5vcmRlcmVkIHtcbiAgICBvcmRlcjogMDsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLmZsZXgtaXRlbXMteGwtdG9wIHtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDsgfVxuICAuZmxleC1pdGVtcy14bC1taWRkbGUge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgLmZsZXgtaXRlbXMteGwtYm90dG9tIHtcbiAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC5mbGV4LXhsLXRvcCB7XG4gICAgYWxpZ24tc2VsZjogZmxleC1zdGFydDsgfVxuICAuZmxleC14bC1taWRkbGUge1xuICAgIGFsaWduLXNlbGY6IGNlbnRlcjsgfVxuICAuZmxleC14bC1ib3R0b20ge1xuICAgIGFsaWduLXNlbGY6IGZsZXgtZW5kOyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAuZmxleC1pdGVtcy14bC1sZWZ0IHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH1cbiAgLmZsZXgtaXRlbXMteGwtY2VudGVyIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuICAuZmxleC1pdGVtcy14bC1yaWdodCB7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsgfVxuICAuZmxleC1pdGVtcy14bC1hcm91bmQge1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kOyB9XG4gIC5mbGV4LWl0ZW1zLXhsLWJldHdlZW4ge1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfSB9XG5cbi5wdWxsLXhzLWxlZnQge1xuICBmbG9hdDogbGVmdCAhaW1wb3J0YW50O1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87IH1cblxuLnB1bGwteHMtcmlnaHQge1xuICBmbG9hdDogcmlnaHQgIWltcG9ydGFudDtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87IH1cblxuLnB1bGwteHMtbm9uZSB7XG4gIGZsb2F0OiBub25lICFpbXBvcnRhbnQ7IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDU0NHB4KSB7XG4gIC5wdWxsLXNtLWxlZnQge1xuICAgIGZsb2F0OiBsZWZ0ICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvOyB9XG4gIC5wdWxsLXNtLXJpZ2h0IHtcbiAgICBmbG9hdDogcmlnaHQgIWltcG9ydGFudDtcbiAgICBtYXJnaW4tbGVmdDogYXV0bzsgfVxuICAucHVsbC1zbS1ub25lIHtcbiAgICBmbG9hdDogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5wdWxsLW1kLWxlZnQge1xuICAgIGZsb2F0OiBsZWZ0ICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvOyB9XG4gIC5wdWxsLW1kLXJpZ2h0IHtcbiAgICBmbG9hdDogcmlnaHQgIWltcG9ydGFudDtcbiAgICBtYXJnaW4tbGVmdDogYXV0bzsgfVxuICAucHVsbC1tZC1ub25lIHtcbiAgICBmbG9hdDogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5wdWxsLWxnLWxlZnQge1xuICAgIGZsb2F0OiBsZWZ0ICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvOyB9XG4gIC5wdWxsLWxnLXJpZ2h0IHtcbiAgICBmbG9hdDogcmlnaHQgIWltcG9ydGFudDtcbiAgICBtYXJnaW4tbGVmdDogYXV0bzsgfVxuICAucHVsbC1sZy1ub25lIHtcbiAgICBmbG9hdDogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAucHVsbC14bC1sZWZ0IHtcbiAgICBmbG9hdDogbGVmdCAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1yaWdodDogYXV0bzsgfVxuICAucHVsbC14bC1yaWdodCB7XG4gICAgZmxvYXQ6IHJpZ2h0ICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87IH1cbiAgLnB1bGwteGwtbm9uZSB7XG4gICAgZmxvYXQ6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbi5zci1vbmx5IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMXB4O1xuICBoZWlnaHQ6IDFweDtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAtMXB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBjbGlwOiByZWN0KDAsIDAsIDAsIDApO1xuICBib3JkZXI6IDA7IH1cblxuLnNyLW9ubHktZm9jdXNhYmxlOmFjdGl2ZSwgLnNyLW9ubHktZm9jdXNhYmxlOmZvY3VzIHtcbiAgcG9zaXRpb246IHN0YXRpYztcbiAgd2lkdGg6IGF1dG87XG4gIGhlaWdodDogYXV0bztcbiAgbWFyZ2luOiAwO1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgY2xpcDogYXV0bzsgfVxuXG4udy0xMDAge1xuICB3aWR0aDogMTAwJSAhaW1wb3J0YW50OyB9XG5cbi5tLXgtYXV0byB7XG4gIG1hcmdpbi1yaWdodDogYXV0byAhaW1wb3J0YW50O1xuICBtYXJnaW4tbGVmdDogYXV0byAhaW1wb3J0YW50OyB9XG5cbi5tLWEtMCB7XG4gIG1hcmdpbjogMCAwICFpbXBvcnRhbnQ7IH1cblxuLm0tdC0wIHtcbiAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50OyB9XG5cbi5tLXItMCB7XG4gIG1hcmdpbi1yaWdodDogMCAhaW1wb3J0YW50OyB9XG5cbi5tLWItMCB7XG4gIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDsgfVxuXG4ubS1sLTAge1xuICBtYXJnaW4tbGVmdDogMCAhaW1wb3J0YW50OyB9XG5cbi5tLXgtMCB7XG4gIG1hcmdpbi1yaWdodDogMCAhaW1wb3J0YW50O1xuICBtYXJnaW4tbGVmdDogMCAhaW1wb3J0YW50OyB9XG5cbi5tLXktMCB7XG4gIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDtcbiAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50OyB9XG5cbi5tLWEtMSB7XG4gIG1hcmdpbjogMC41cmVtIDAuNXJlbSAhaW1wb3J0YW50OyB9XG5cbi5tLXQtMSB7XG4gIG1hcmdpbi10b3A6IDAuNXJlbSAhaW1wb3J0YW50OyB9XG5cbi5tLXItMSB7XG4gIG1hcmdpbi1yaWdodDogMC41cmVtICFpbXBvcnRhbnQ7IH1cblxuLm0tYi0xIHtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtICFpbXBvcnRhbnQ7IH1cblxuLm0tbC0xIHtcbiAgbWFyZ2luLWxlZnQ6IDAuNXJlbSAhaW1wb3J0YW50OyB9XG5cbi5tLXgtMSB7XG4gIG1hcmdpbi1yaWdodDogMC41cmVtICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi1sZWZ0OiAwLjVyZW0gIWltcG9ydGFudDsgfVxuXG4ubS15LTEge1xuICBtYXJnaW4tdG9wOiAwLjVyZW0gIWltcG9ydGFudDtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtICFpbXBvcnRhbnQ7IH1cblxuLm0tYS0yIHtcbiAgbWFyZ2luOiAwLjc1cmVtIDAuNzVyZW0gIWltcG9ydGFudDsgfVxuXG4ubS10LTIge1xuICBtYXJnaW4tdG9wOiAwLjc1cmVtICFpbXBvcnRhbnQ7IH1cblxuLm0tci0yIHtcbiAgbWFyZ2luLXJpZ2h0OiAwLjc1cmVtICFpbXBvcnRhbnQ7IH1cblxuLm0tYi0yIHtcbiAgbWFyZ2luLWJvdHRvbTogMC43NXJlbSAhaW1wb3J0YW50OyB9XG5cbi5tLWwtMiB7XG4gIG1hcmdpbi1sZWZ0OiAwLjc1cmVtICFpbXBvcnRhbnQ7IH1cblxuLm0teC0yIHtcbiAgbWFyZ2luLXJpZ2h0OiAwLjc1cmVtICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi1sZWZ0OiAwLjc1cmVtICFpbXBvcnRhbnQ7IH1cblxuLm0teS0yIHtcbiAgbWFyZ2luLXRvcDogMC43NXJlbSAhaW1wb3J0YW50O1xuICBtYXJnaW4tYm90dG9tOiAwLjc1cmVtICFpbXBvcnRhbnQ7IH1cblxuLm0tYS0zIHtcbiAgbWFyZ2luOiAxLjVyZW0gMS41cmVtICFpbXBvcnRhbnQ7IH1cblxuLm0tdC0zIHtcbiAgbWFyZ2luLXRvcDogMS41cmVtICFpbXBvcnRhbnQ7IH1cblxuLm0tci0zIHtcbiAgbWFyZ2luLXJpZ2h0OiAxLjVyZW0gIWltcG9ydGFudDsgfVxuXG4ubS1iLTMge1xuICBtYXJnaW4tYm90dG9tOiAxLjVyZW0gIWltcG9ydGFudDsgfVxuXG4ubS1sLTMge1xuICBtYXJnaW4tbGVmdDogMS41cmVtICFpbXBvcnRhbnQ7IH1cblxuLm0teC0zIHtcbiAgbWFyZ2luLXJpZ2h0OiAxLjVyZW0gIWltcG9ydGFudDtcbiAgbWFyZ2luLWxlZnQ6IDEuNXJlbSAhaW1wb3J0YW50OyB9XG5cbi5tLXktMyB7XG4gIG1hcmdpbi10b3A6IDEuNXJlbSAhaW1wb3J0YW50O1xuICBtYXJnaW4tYm90dG9tOiAxLjVyZW0gIWltcG9ydGFudDsgfVxuXG4ucC1hLTAge1xuICBwYWRkaW5nOiAwIDAgIWltcG9ydGFudDsgfVxuXG4ucC10LTAge1xuICBwYWRkaW5nLXRvcDogMCAhaW1wb3J0YW50OyB9XG5cbi5wLXItMCB7XG4gIHBhZGRpbmctcmlnaHQ6IDAgIWltcG9ydGFudDsgfVxuXG4ucC1iLTAge1xuICBwYWRkaW5nLWJvdHRvbTogMCAhaW1wb3J0YW50OyB9XG5cbi5wLWwtMCB7XG4gIHBhZGRpbmctbGVmdDogMCAhaW1wb3J0YW50OyB9XG5cbi5wLXgtMCB7XG4gIHBhZGRpbmctcmlnaHQ6IDAgIWltcG9ydGFudDtcbiAgcGFkZGluZy1sZWZ0OiAwICFpbXBvcnRhbnQ7IH1cblxuLnAteS0wIHtcbiAgcGFkZGluZy10b3A6IDAgIWltcG9ydGFudDtcbiAgcGFkZGluZy1ib3R0b206IDAgIWltcG9ydGFudDsgfVxuXG4ucC1hLTEge1xuICBwYWRkaW5nOiAwLjVyZW0gMC41cmVtICFpbXBvcnRhbnQ7IH1cblxuLnAtdC0xIHtcbiAgcGFkZGluZy10b3A6IDAuNXJlbSAhaW1wb3J0YW50OyB9XG5cbi5wLXItMSB7XG4gIHBhZGRpbmctcmlnaHQ6IDAuNXJlbSAhaW1wb3J0YW50OyB9XG5cbi5wLWItMSB7XG4gIHBhZGRpbmctYm90dG9tOiAwLjVyZW0gIWltcG9ydGFudDsgfVxuXG4ucC1sLTEge1xuICBwYWRkaW5nLWxlZnQ6IDAuNXJlbSAhaW1wb3J0YW50OyB9XG5cbi5wLXgtMSB7XG4gIHBhZGRpbmctcmlnaHQ6IDAuNXJlbSAhaW1wb3J0YW50O1xuICBwYWRkaW5nLWxlZnQ6IDAuNXJlbSAhaW1wb3J0YW50OyB9XG5cbi5wLXktMSB7XG4gIHBhZGRpbmctdG9wOiAwLjVyZW0gIWltcG9ydGFudDtcbiAgcGFkZGluZy1ib3R0b206IDAuNXJlbSAhaW1wb3J0YW50OyB9XG5cbi5wLWEtMiB7XG4gIHBhZGRpbmc6IDAuNzVyZW0gMC43NXJlbSAhaW1wb3J0YW50OyB9XG5cbi5wLXQtMiB7XG4gIHBhZGRpbmctdG9wOiAwLjc1cmVtICFpbXBvcnRhbnQ7IH1cblxuLnAtci0yIHtcbiAgcGFkZGluZy1yaWdodDogMC43NXJlbSAhaW1wb3J0YW50OyB9XG5cbi5wLWItMiB7XG4gIHBhZGRpbmctYm90dG9tOiAwLjc1cmVtICFpbXBvcnRhbnQ7IH1cblxuLnAtbC0yIHtcbiAgcGFkZGluZy1sZWZ0OiAwLjc1cmVtICFpbXBvcnRhbnQ7IH1cblxuLnAteC0yIHtcbiAgcGFkZGluZy1yaWdodDogMC43NXJlbSAhaW1wb3J0YW50O1xuICBwYWRkaW5nLWxlZnQ6IDAuNzVyZW0gIWltcG9ydGFudDsgfVxuXG4ucC15LTIge1xuICBwYWRkaW5nLXRvcDogMC43NXJlbSAhaW1wb3J0YW50O1xuICBwYWRkaW5nLWJvdHRvbTogMC43NXJlbSAhaW1wb3J0YW50OyB9XG5cbi5wLWEtMyB7XG4gIHBhZGRpbmc6IDEuNXJlbSAxLjVyZW0gIWltcG9ydGFudDsgfVxuXG4ucC10LTMge1xuICBwYWRkaW5nLXRvcDogMS41cmVtICFpbXBvcnRhbnQ7IH1cblxuLnAtci0zIHtcbiAgcGFkZGluZy1yaWdodDogMS41cmVtICFpbXBvcnRhbnQ7IH1cblxuLnAtYi0zIHtcbiAgcGFkZGluZy1ib3R0b206IDEuNXJlbSAhaW1wb3J0YW50OyB9XG5cbi5wLWwtMyB7XG4gIHBhZGRpbmctbGVmdDogMS41cmVtICFpbXBvcnRhbnQ7IH1cblxuLnAteC0zIHtcbiAgcGFkZGluZy1yaWdodDogMS41cmVtICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmctbGVmdDogMS41cmVtICFpbXBvcnRhbnQ7IH1cblxuLnAteS0zIHtcbiAgcGFkZGluZy10b3A6IDEuNXJlbSAhaW1wb3J0YW50O1xuICBwYWRkaW5nLWJvdHRvbTogMS41cmVtICFpbXBvcnRhbnQ7IH1cblxuLnBvcy1mLXQge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IDEwMzA7IH1cblxuLnRleHQtanVzdGlmeSB7XG4gIHRleHQtYWxpZ246IGp1c3RpZnkgIWltcG9ydGFudDsgfVxuXG4udGV4dC1ub3dyYXAge1xuICB3aGl0ZS1zcGFjZTogbm93cmFwICFpbXBvcnRhbnQ7IH1cblxuLnRleHQtdHJ1bmNhdGUge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxuXG4udGV4dC14cy1sZWZ0IHtcbiAgdGV4dC1hbGlnbjogbGVmdCAhaW1wb3J0YW50OyB9XG5cbi50ZXh0LXhzLXJpZ2h0IHtcbiAgdGV4dC1hbGlnbjogcmlnaHQgIWltcG9ydGFudDsgfVxuXG4udGV4dC14cy1jZW50ZXIge1xuICB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDsgfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNTQ0cHgpIHtcbiAgLnRleHQtc20tbGVmdCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdCAhaW1wb3J0YW50OyB9XG4gIC50ZXh0LXNtLXJpZ2h0IHtcbiAgICB0ZXh0LWFsaWduOiByaWdodCAhaW1wb3J0YW50OyB9XG4gIC50ZXh0LXNtLWNlbnRlciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLnRleHQtbWQtbGVmdCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdCAhaW1wb3J0YW50OyB9XG4gIC50ZXh0LW1kLXJpZ2h0IHtcbiAgICB0ZXh0LWFsaWduOiByaWdodCAhaW1wb3J0YW50OyB9XG4gIC50ZXh0LW1kLWNlbnRlciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLnRleHQtbGctbGVmdCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdCAhaW1wb3J0YW50OyB9XG4gIC50ZXh0LWxnLXJpZ2h0IHtcbiAgICB0ZXh0LWFsaWduOiByaWdodCAhaW1wb3J0YW50OyB9XG4gIC50ZXh0LWxnLWNlbnRlciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC50ZXh0LXhsLWxlZnQge1xuICAgIHRleHQtYWxpZ246IGxlZnQgIWltcG9ydGFudDsgfVxuICAudGV4dC14bC1yaWdodCB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQgIWltcG9ydGFudDsgfVxuICAudGV4dC14bC1jZW50ZXIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50OyB9IH1cblxuLnRleHQtbG93ZXJjYXNlIHtcbiAgdGV4dC10cmFuc2Zvcm06IGxvd2VyY2FzZSAhaW1wb3J0YW50OyB9XG5cbi50ZXh0LXVwcGVyY2FzZSB7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2UgIWltcG9ydGFudDsgfVxuXG4udGV4dC1jYXBpdGFsaXplIHtcbiAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemUgIWltcG9ydGFudDsgfVxuXG4uZm9udC13ZWlnaHQtbm9ybWFsIHtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDsgfVxuXG4uZm9udC13ZWlnaHQtYm9sZCB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG5cbi5mb250LWl0YWxpYyB7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYzsgfVxuXG4udGV4dC1tdXRlZCwgLmJtZC1oZWxwIHtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4yNikgIWltcG9ydGFudDsgfVxuXG5hLnRleHQtbXV0ZWQ6Zm9jdXMsIGEuYm1kLWhlbHA6Zm9jdXMsIGEudGV4dC1tdXRlZDpob3ZlciwgYS5ibWQtaGVscDpob3ZlciB7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMjYpOyB9XG5cbi50ZXh0LXByaW1hcnkge1xuICBjb2xvcjogIzAwOTY4OCAhaW1wb3J0YW50OyB9XG5cbmEudGV4dC1wcmltYXJ5OmZvY3VzLCBhLnRleHQtcHJpbWFyeTpob3ZlciB7XG4gIGNvbG9yOiAjMDA2MzVhOyB9XG5cbi50ZXh0LXN1Y2Nlc3Mge1xuICBjb2xvcjogIzRjYWY1MCAhaW1wb3J0YW50OyB9XG5cbmEudGV4dC1zdWNjZXNzOmZvY3VzLCBhLnRleHQtc3VjY2Vzczpob3ZlciB7XG4gIGNvbG9yOiAjM2Q4YjQwOyB9XG5cbi50ZXh0LWluZm8ge1xuICBjb2xvcjogIzAzYTlmNCAhaW1wb3J0YW50OyB9XG5cbmEudGV4dC1pbmZvOmZvY3VzLCBhLnRleHQtaW5mbzpob3ZlciB7XG4gIGNvbG9yOiAjMDI4NmMyOyB9XG5cbi50ZXh0LXdhcm5pbmcge1xuICBjb2xvcjogI2ZmNTcyMiAhaW1wb3J0YW50OyB9XG5cbmEudGV4dC13YXJuaW5nOmZvY3VzLCBhLnRleHQtd2FybmluZzpob3ZlciB7XG4gIGNvbG9yOiAjZWUzOTAwOyB9XG5cbi50ZXh0LWRhbmdlciB7XG4gIGNvbG9yOiAjZjQ0MzM2ICFpbXBvcnRhbnQ7IH1cblxuYS50ZXh0LWRhbmdlcjpmb2N1cywgYS50ZXh0LWRhbmdlcjpob3ZlciB7XG4gIGNvbG9yOiAjZWExYzBkOyB9XG5cbi50ZXh0LWhpZGUge1xuICBmb250OiAwLzAgYTtcbiAgY29sb3I6IHRyYW5zcGFyZW50O1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogMDsgfVxuXG4uaW52aXNpYmxlIHtcbiAgdmlzaWJpbGl0eTogaGlkZGVuICFpbXBvcnRhbnQ7IH1cblxuLmhpZGRlbi14cy11cCB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG5AbWVkaWEgKG1heC13aWR0aDogNTQzcHgpIHtcbiAgLmhpZGRlbi14cy1kb3duIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNTQ0cHgpIHtcbiAgLmhpZGRlbi1zbS11cCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC5oaWRkZW4tc20tZG93biB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5oaWRkZW4tbWQtdXAge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA5OTFweCkge1xuICAuaGlkZGVuLW1kLWRvd24ge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAuaGlkZGVuLWxnLXVwIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgKG1heC13aWR0aDogMTE5OXB4KSB7XG4gIC5oaWRkZW4tbGctZG93biB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAuaGlkZGVuLXhsLXVwIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG4uaGlkZGVuLXhsLWRvd24ge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuLnZpc2libGUtcHJpbnQtYmxvY2sge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cbiAgQG1lZGlhIHByaW50IHtcbiAgICAudmlzaWJsZS1wcmludC1ibG9jayB7XG4gICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9IH1cblxuLnZpc2libGUtcHJpbnQtaW5saW5lIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG4gIEBtZWRpYSBwcmludCB7XG4gICAgLnZpc2libGUtcHJpbnQtaW5saW5lIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZSAhaW1wb3J0YW50OyB9IH1cblxuLnZpc2libGUtcHJpbnQtaW5saW5lLWJsb2NrIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG4gIEBtZWRpYSBwcmludCB7XG4gICAgLnZpc2libGUtcHJpbnQtaW5saW5lLWJsb2NrIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHByaW50IHtcbiAgLmhpZGRlbi1wcmludCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuYm9keSB7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuYTpmb2N1cyB7XG4gIG91dGxpbmU6IG5vbmU7IH1cblxuYnV0dG9uOmZvY3VzIHtcbiAgb3V0bGluZTogbm9uZTsgfVxuXG4uYm1kLWxheW91dC1jYW52YXMge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7IH1cblxuLmJtZC1sYXlvdXQtY29udGFpbmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBvdmVyZmxvdy14OiBoaWRkZW47XG4gIG92ZXJmbG93LXk6IGF1dG87XG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDsgfVxuXG4uYm1kLWxheW91dC1oZWFkZXIge1xuICB6LWluZGV4OiAzO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgZmxleC1zaHJpbms6IDA7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC1oZWlnaHQ6IDEwMDBweDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApO1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjJzO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yLCAxKTsgfVxuXG4uYm1kLWxheW91dC1jb250ZW50IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAxO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZsZXgtZ3JvdzogMTtcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICBvdmVyZmxvdy15OiBhdXRvO1xuICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDAuMnM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjIsIDEpOyB9XG5cbi5ibWQtbGF5b3V0LXNwYWNlciB7XG4gIGZsZXgtZ3JvdzogMTsgfVxuXG4uYm1kLWxheW91dC1iYWNrZHJvcCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiA0O1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiBiYWNrZ3JvdW5kLWNvbG9yO1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjJzO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yLCAxKTsgfVxuICBAc3VwcG9ydHMgKHBvaW50ZXItZXZlbnRzOiBhdXRvKSB7XG4gICAgLmJtZC1sYXlvdXQtYmFja2Ryb3Age1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjUpO1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHk7XG4gICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH0gfVxuXG4uYnRuLCAuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW4tYm90dG9tOiAwLjMxMjVyZW07XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgbGV0dGVyLXNwYWNpbmc6IDA7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogMDtcbiAgb3V0bGluZTogMDtcbiAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjJzIGN1YmljLWJlemllcigwLjQsIDAsIDEsIDEpLCBiYWNrZ3JvdW5kLWNvbG9yIDAuMnMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yLCAxKSwgY29sb3IgMC4ycyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjIsIDEpO1xuICB3aWxsLWNoYW5nZTogYm94LXNoYWRvdywgdHJhbnNmb3JtO1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTtcbiAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDtcbiAgYm9yZGVyLWNvbG9yOiAjY2NjOyB9XG4gIC5idG46Zm9jdXMsIC5jdXN0b20tZmlsZS1jb250cm9sOmZvY3VzOjpiZWZvcmUsIC5idG4uZm9jdXMsIC5mb2N1cy5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsIC5idG46YWN0aXZlOmZvY3VzLCAuY3VzdG9tLWZpbGUtY29udHJvbDphY3RpdmU6Zm9jdXM6OmJlZm9yZSwgLmJ0bjphY3RpdmUuZm9jdXMsIC5jdXN0b20tZmlsZS1jb250cm9sOmFjdGl2ZS5mb2N1czo6YmVmb3JlLCAuYnRuLmFjdGl2ZTpmb2N1cywgLmFjdGl2ZS5jdXN0b20tZmlsZS1jb250cm9sOmZvY3VzOjpiZWZvcmUsIC5idG4uYWN0aXZlLmZvY3VzLCAuYWN0aXZlLmZvY3VzLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSB7XG4gICAgb3V0bGluZTogMDsgfVxuICAuYnRuOmhvdmVyLCAuY3VzdG9tLWZpbGUtY29udHJvbDpob3Zlcjo6YmVmb3JlIHtcbiAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDE1MywgMTUzLCAxNTMsIDAuMik7XG4gICAgYm9yZGVyLWNvbG9yOiByZ2JhKDE1MywgMTUzLCAxNTMsIDAuMik7IH1cbiAgLmJ0bjpmb2N1cywgLmN1c3RvbS1maWxlLWNvbnRyb2w6Zm9jdXM6OmJlZm9yZSwgLmJ0bi5mb2N1cywgLmZvY3VzLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSB7XG4gICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxNTMsIDE1MywgMTUzLCAwLjIpO1xuICAgIGJvcmRlci1jb2xvcjogcmdiYSgxNTMsIDE1MywgMTUzLCAwLjIpOyB9XG4gIC5idG46YWN0aXZlLCAuY3VzdG9tLWZpbGUtY29udHJvbDphY3RpdmU6OmJlZm9yZSwgLmJ0bi5hY3RpdmUsIC5hY3RpdmUuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLFxuICAub3BlbiA+IC5idG4uZHJvcGRvd24tdG9nZ2xlLFxuICAub3BlbiA+IC5kcm9wZG93bi10b2dnbGUuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlIHtcbiAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDE1MywgMTUzLCAxNTMsIDAuMik7XG4gICAgYm9yZGVyLWNvbG9yOiByZ2JhKDE1MywgMTUzLCAxNTMsIDAuMik7IH1cbiAgICAuYnRuOmFjdGl2ZTpob3ZlciwgLmN1c3RvbS1maWxlLWNvbnRyb2w6YWN0aXZlOmhvdmVyOjpiZWZvcmUsIC5idG46YWN0aXZlOmZvY3VzLCAuY3VzdG9tLWZpbGUtY29udHJvbDphY3RpdmU6Zm9jdXM6OmJlZm9yZSwgLmJ0bjphY3RpdmUuZm9jdXMsIC5jdXN0b20tZmlsZS1jb250cm9sOmFjdGl2ZS5mb2N1czo6YmVmb3JlLCAuYnRuLmFjdGl2ZTpob3ZlciwgLmFjdGl2ZS5jdXN0b20tZmlsZS1jb250cm9sOmhvdmVyOjpiZWZvcmUsIC5idG4uYWN0aXZlOmZvY3VzLCAuYWN0aXZlLmN1c3RvbS1maWxlLWNvbnRyb2w6Zm9jdXM6OmJlZm9yZSwgLmJ0bi5hY3RpdmUuZm9jdXMsIC5hY3RpdmUuZm9jdXMuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLFxuICAgIC5vcGVuID4gLmJ0bi5kcm9wZG93bi10b2dnbGU6aG92ZXIsXG4gICAgLm9wZW4gPiAuZHJvcGRvd24tdG9nZ2xlLmN1c3RvbS1maWxlLWNvbnRyb2w6aG92ZXI6OmJlZm9yZSxcbiAgICAub3BlbiA+IC5idG4uZHJvcGRvd24tdG9nZ2xlOmZvY3VzLFxuICAgIC5vcGVuID4gLmRyb3Bkb3duLXRvZ2dsZS5jdXN0b20tZmlsZS1jb250cm9sOmZvY3VzOjpiZWZvcmUsXG4gICAgLm9wZW4gPiAuYnRuLmRyb3Bkb3duLXRvZ2dsZS5mb2N1cyxcbiAgICAub3BlbiA+IC5kcm9wZG93bi10b2dnbGUuZm9jdXMuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlIHtcbiAgICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxNTMsIDE1MywgMTUzLCAwLjQpO1xuICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDE1MywgMTUzLCAxNTMsIDAuNCk7IH1cbiAgLm9wZW4gPiAuYnRuLmRyb3Bkb3duLXRvZ2dsZS5ibWQtYnRuLWljb24sIC5vcGVuID4gLmRyb3Bkb3duLXRvZ2dsZS5ibWQtYnRuLWljb24uY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlIHtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0OyB9XG4gICAgLm9wZW4gPiAuYnRuLmRyb3Bkb3duLXRvZ2dsZS5ibWQtYnRuLWljb246aG92ZXIsIC5vcGVuID4gLmRyb3Bkb3duLXRvZ2dsZS5ibWQtYnRuLWljb24uY3VzdG9tLWZpbGUtY29udHJvbDpob3Zlcjo6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTUzLCAxNTMsIDE1MywgMC4yKTsgfVxuICAuYnRuLmRpc2FibGVkOmZvY3VzLCAuZGlzYWJsZWQuY3VzdG9tLWZpbGUtY29udHJvbDpmb2N1czo6YmVmb3JlLCAuYnRuLmRpc2FibGVkLmZvY3VzLCAuZGlzYWJsZWQuZm9jdXMuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLCAuYnRuOmRpc2FibGVkOmZvY3VzLCAuY3VzdG9tLWZpbGUtY29udHJvbDpkaXNhYmxlZDpmb2N1czo6YmVmb3JlLCAuYnRuOmRpc2FibGVkLmZvY3VzLCAuY3VzdG9tLWZpbGUtY29udHJvbDpkaXNhYmxlZC5mb2N1czo6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0O1xuICAgIGJvcmRlci1jb2xvcjogI2NjYzsgfVxuICAuYnRuLmRpc2FibGVkOmhvdmVyLCAuZGlzYWJsZWQuY3VzdG9tLWZpbGUtY29udHJvbDpob3Zlcjo6YmVmb3JlLCAuYnRuOmRpc2FibGVkOmhvdmVyLCAuY3VzdG9tLWZpbGUtY29udHJvbDpkaXNhYmxlZDpob3Zlcjo6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0O1xuICAgIGJvcmRlci1jb2xvcjogI2NjYzsgfVxuICAuYmctaW52ZXJzZSAuYnRuLCAuYmctaW52ZXJzZSAuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlIHtcbiAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0O1xuICAgIGJvcmRlci1jb2xvcjogI2NjYzsgfVxuICAgIC5iZy1pbnZlcnNlIC5idG46aG92ZXIsIC5iZy1pbnZlcnNlIC5jdXN0b20tZmlsZS1jb250cm9sOmhvdmVyOjpiZWZvcmUge1xuICAgICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDIwNCwgMjA0LCAyMDQsIDAuMTUpO1xuICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDIwNCwgMjA0LCAyMDQsIDAuMTUpOyB9XG4gICAgLmJnLWludmVyc2UgLmJ0bjpmb2N1cywgLmJnLWludmVyc2UgLmN1c3RvbS1maWxlLWNvbnRyb2w6Zm9jdXM6OmJlZm9yZSwgLmJnLWludmVyc2UgLmJ0bi5mb2N1cywgLmJnLWludmVyc2UgLmZvY3VzLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSB7XG4gICAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjA0LCAyMDQsIDIwNCwgMC4xNSk7XG4gICAgICBib3JkZXItY29sb3I6IHJnYmEoMjA0LCAyMDQsIDIwNCwgMC4xNSk7IH1cbiAgICAuYmctaW52ZXJzZSAuYnRuOmFjdGl2ZSwgLmJnLWludmVyc2UgLmN1c3RvbS1maWxlLWNvbnRyb2w6YWN0aXZlOjpiZWZvcmUsIC5iZy1pbnZlcnNlIC5idG4uYWN0aXZlLCAuYmctaW52ZXJzZSAuYWN0aXZlLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSxcbiAgICAub3BlbiA+IC5iZy1pbnZlcnNlIC5idG4uZHJvcGRvd24tdG9nZ2xlLFxuICAgIC5vcGVuID4gLmJnLWludmVyc2UgLmRyb3Bkb3duLXRvZ2dsZS5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUge1xuICAgICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDIwNCwgMjA0LCAyMDQsIDAuMTUpO1xuICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDIwNCwgMjA0LCAyMDQsIDAuMTUpOyB9XG4gICAgICAuYmctaW52ZXJzZSAuYnRuOmFjdGl2ZTpob3ZlciwgLmJnLWludmVyc2UgLmN1c3RvbS1maWxlLWNvbnRyb2w6YWN0aXZlOmhvdmVyOjpiZWZvcmUsIC5iZy1pbnZlcnNlIC5idG46YWN0aXZlOmZvY3VzLCAuYmctaW52ZXJzZSAuY3VzdG9tLWZpbGUtY29udHJvbDphY3RpdmU6Zm9jdXM6OmJlZm9yZSwgLmJnLWludmVyc2UgLmJ0bjphY3RpdmUuZm9jdXMsIC5iZy1pbnZlcnNlIC5jdXN0b20tZmlsZS1jb250cm9sOmFjdGl2ZS5mb2N1czo6YmVmb3JlLCAuYmctaW52ZXJzZSAuYnRuLmFjdGl2ZTpob3ZlciwgLmJnLWludmVyc2UgLmFjdGl2ZS5jdXN0b20tZmlsZS1jb250cm9sOmhvdmVyOjpiZWZvcmUsIC5iZy1pbnZlcnNlIC5idG4uYWN0aXZlOmZvY3VzLCAuYmctaW52ZXJzZSAuYWN0aXZlLmN1c3RvbS1maWxlLWNvbnRyb2w6Zm9jdXM6OmJlZm9yZSwgLmJnLWludmVyc2UgLmJ0bi5hY3RpdmUuZm9jdXMsIC5iZy1pbnZlcnNlIC5hY3RpdmUuZm9jdXMuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLFxuICAgICAgLm9wZW4gPiAuYmctaW52ZXJzZSAuYnRuLmRyb3Bkb3duLXRvZ2dsZTpob3ZlcixcbiAgICAgIC5vcGVuID4gLmJnLWludmVyc2UgLmRyb3Bkb3duLXRvZ2dsZS5jdXN0b20tZmlsZS1jb250cm9sOmhvdmVyOjpiZWZvcmUsXG4gICAgICAub3BlbiA+IC5iZy1pbnZlcnNlIC5idG4uZHJvcGRvd24tdG9nZ2xlOmZvY3VzLFxuICAgICAgLm9wZW4gPiAuYmctaW52ZXJzZSAuZHJvcGRvd24tdG9nZ2xlLmN1c3RvbS1maWxlLWNvbnRyb2w6Zm9jdXM6OmJlZm9yZSxcbiAgICAgIC5vcGVuID4gLmJnLWludmVyc2UgLmJ0bi5kcm9wZG93bi10b2dnbGUuZm9jdXMsXG4gICAgICAub3BlbiA+IC5iZy1pbnZlcnNlIC5kcm9wZG93bi10b2dnbGUuZm9jdXMuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlIHtcbiAgICAgICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjA0LCAyMDQsIDIwNCwgMC4yNSk7XG4gICAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgyMDQsIDIwNCwgMjA0LCAwLjI1KTsgfVxuICAgIC5vcGVuID4gLmJnLWludmVyc2UgLmJ0bi5kcm9wZG93bi10b2dnbGUuYm1kLWJ0bi1pY29uLCAub3BlbiA+IC5iZy1pbnZlcnNlIC5kcm9wZG93bi10b2dnbGUuYm1kLWJ0bi1pY29uLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSB7XG4gICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7IH1cbiAgICAgIC5vcGVuID4gLmJnLWludmVyc2UgLmJ0bi5kcm9wZG93bi10b2dnbGUuYm1kLWJ0bi1pY29uOmhvdmVyLCAub3BlbiA+IC5iZy1pbnZlcnNlIC5kcm9wZG93bi10b2dnbGUuYm1kLWJ0bi1pY29uLmN1c3RvbS1maWxlLWNvbnRyb2w6aG92ZXI6OmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjA0LCAyMDQsIDIwNCwgMC4xNSk7IH1cbiAgICAuYmctaW52ZXJzZSAuYnRuLmRpc2FibGVkOmZvY3VzLCAuYmctaW52ZXJzZSAuZGlzYWJsZWQuY3VzdG9tLWZpbGUtY29udHJvbDpmb2N1czo6YmVmb3JlLCAuYmctaW52ZXJzZSAuYnRuLmRpc2FibGVkLmZvY3VzLCAuYmctaW52ZXJzZSAuZGlzYWJsZWQuZm9jdXMuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLCAuYmctaW52ZXJzZSAuYnRuOmRpc2FibGVkOmZvY3VzLCAuYmctaW52ZXJzZSAuY3VzdG9tLWZpbGUtY29udHJvbDpkaXNhYmxlZDpmb2N1czo6YmVmb3JlLCAuYmctaW52ZXJzZSAuYnRuOmRpc2FibGVkLmZvY3VzLCAuYmctaW52ZXJzZSAuY3VzdG9tLWZpbGUtY29udHJvbDpkaXNhYmxlZC5mb2N1czo6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7XG4gICAgICBib3JkZXItY29sb3I6ICNjY2M7IH1cbiAgICAuYmctaW52ZXJzZSAuYnRuLmRpc2FibGVkOmhvdmVyLCAuYmctaW52ZXJzZSAuZGlzYWJsZWQuY3VzdG9tLWZpbGUtY29udHJvbDpob3Zlcjo6YmVmb3JlLCAuYmctaW52ZXJzZSAuYnRuOmRpc2FibGVkOmhvdmVyLCAuYmctaW52ZXJzZSAuY3VzdG9tLWZpbGUtY29udHJvbDpkaXNhYmxlZDpob3Zlcjo6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7XG4gICAgICBib3JkZXItY29sb3I6ICNjY2M7IH1cbiAgLmJ0bi5idG4tbGluaywgLmJ0bi1saW5rLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgLmJ0bi5idG4tcHJpbWFyeSwgLmJ0bi1wcmltYXJ5LmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSB7XG4gICAgY29sb3I6ICMwMDk2ODg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDtcbiAgICBib3JkZXItY29sb3I6ICNjY2M7IH1cbiAgICAuYnRuLmJ0bi1wcmltYXJ5OmhvdmVyLCAuYnRuLXByaW1hcnkuY3VzdG9tLWZpbGUtY29udHJvbDpob3Zlcjo6YmVmb3JlIHtcbiAgICAgIGNvbG9yOiAjMDA5Njg4O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxNTMsIDE1MywgMTUzLCAwLjIpO1xuICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDE1MywgMTUzLCAxNTMsIDAuMik7IH1cbiAgICAuYnRuLmJ0bi1wcmltYXJ5OmZvY3VzLCAuYnRuLXByaW1hcnkuY3VzdG9tLWZpbGUtY29udHJvbDpmb2N1czo6YmVmb3JlLCAuYnRuLmJ0bi1wcmltYXJ5LmZvY3VzLCAuYnRuLXByaW1hcnkuZm9jdXMuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlIHtcbiAgICAgIGNvbG9yOiAjMDA5Njg4O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxNTMsIDE1MywgMTUzLCAwLjIpO1xuICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDE1MywgMTUzLCAxNTMsIDAuMik7IH1cbiAgICAuYnRuLmJ0bi1wcmltYXJ5OmFjdGl2ZSwgLmJ0bi1wcmltYXJ5LmN1c3RvbS1maWxlLWNvbnRyb2w6YWN0aXZlOjpiZWZvcmUsIC5idG4uYnRuLXByaW1hcnkuYWN0aXZlLCAuYnRuLXByaW1hcnkuYWN0aXZlLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSxcbiAgICAub3BlbiA+IC5idG4uYnRuLXByaW1hcnkuZHJvcGRvd24tdG9nZ2xlLFxuICAgIC5vcGVuID4gLmJ0bi1wcmltYXJ5LmRyb3Bkb3duLXRvZ2dsZS5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUge1xuICAgICAgY29sb3I6ICMwMDk2ODg7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDE1MywgMTUzLCAxNTMsIDAuMik7XG4gICAgICBib3JkZXItY29sb3I6IHJnYmEoMTUzLCAxNTMsIDE1MywgMC4yKTsgfVxuICAgICAgLmJ0bi5idG4tcHJpbWFyeTphY3RpdmU6aG92ZXIsIC5idG4tcHJpbWFyeS5jdXN0b20tZmlsZS1jb250cm9sOmFjdGl2ZTpob3Zlcjo6YmVmb3JlLCAuYnRuLmJ0bi1wcmltYXJ5OmFjdGl2ZTpmb2N1cywgLmJ0bi1wcmltYXJ5LmN1c3RvbS1maWxlLWNvbnRyb2w6YWN0aXZlOmZvY3VzOjpiZWZvcmUsIC5idG4uYnRuLXByaW1hcnk6YWN0aXZlLmZvY3VzLCAuYnRuLXByaW1hcnkuY3VzdG9tLWZpbGUtY29udHJvbDphY3RpdmUuZm9jdXM6OmJlZm9yZSwgLmJ0bi5idG4tcHJpbWFyeS5hY3RpdmU6aG92ZXIsIC5idG4tcHJpbWFyeS5hY3RpdmUuY3VzdG9tLWZpbGUtY29udHJvbDpob3Zlcjo6YmVmb3JlLCAuYnRuLmJ0bi1wcmltYXJ5LmFjdGl2ZTpmb2N1cywgLmJ0bi1wcmltYXJ5LmFjdGl2ZS5jdXN0b20tZmlsZS1jb250cm9sOmZvY3VzOjpiZWZvcmUsIC5idG4uYnRuLXByaW1hcnkuYWN0aXZlLmZvY3VzLCAuYnRuLXByaW1hcnkuYWN0aXZlLmZvY3VzLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSxcbiAgICAgIC5vcGVuID4gLmJ0bi5idG4tcHJpbWFyeS5kcm9wZG93bi10b2dnbGU6aG92ZXIsXG4gICAgICAub3BlbiA+IC5idG4tcHJpbWFyeS5kcm9wZG93bi10b2dnbGUuY3VzdG9tLWZpbGUtY29udHJvbDpob3Zlcjo6YmVmb3JlLFxuICAgICAgLm9wZW4gPiAuYnRuLmJ0bi1wcmltYXJ5LmRyb3Bkb3duLXRvZ2dsZTpmb2N1cyxcbiAgICAgIC5vcGVuID4gLmJ0bi1wcmltYXJ5LmRyb3Bkb3duLXRvZ2dsZS5jdXN0b20tZmlsZS1jb250cm9sOmZvY3VzOjpiZWZvcmUsXG4gICAgICAub3BlbiA+IC5idG4uYnRuLXByaW1hcnkuZHJvcGRvd24tdG9nZ2xlLmZvY3VzLFxuICAgICAgLm9wZW4gPiAuYnRuLXByaW1hcnkuZHJvcGRvd24tdG9nZ2xlLmZvY3VzLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSB7XG4gICAgICAgIGNvbG9yOiAjMDA5Njg4O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDE1MywgMTUzLCAxNTMsIDAuNCk7XG4gICAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgxNTMsIDE1MywgMTUzLCAwLjQpOyB9XG4gICAgLm9wZW4gPiAuYnRuLmJ0bi1wcmltYXJ5LmRyb3Bkb3duLXRvZ2dsZS5ibWQtYnRuLWljb24sIC5vcGVuID4gLmJ0bi1wcmltYXJ5LmRyb3Bkb3duLXRvZ2dsZS5ibWQtYnRuLWljb24uY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlIHtcbiAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDsgfVxuICAgICAgLm9wZW4gPiAuYnRuLmJ0bi1wcmltYXJ5LmRyb3Bkb3duLXRvZ2dsZS5ibWQtYnRuLWljb246aG92ZXIsIC5vcGVuID4gLmJ0bi1wcmltYXJ5LmRyb3Bkb3duLXRvZ2dsZS5ibWQtYnRuLWljb24uY3VzdG9tLWZpbGUtY29udHJvbDpob3Zlcjo6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxNTMsIDE1MywgMTUzLCAwLjIpOyB9XG4gICAgLmJ0bi5idG4tcHJpbWFyeS5kaXNhYmxlZDpmb2N1cywgLmJ0bi1wcmltYXJ5LmRpc2FibGVkLmN1c3RvbS1maWxlLWNvbnRyb2w6Zm9jdXM6OmJlZm9yZSwgLmJ0bi5idG4tcHJpbWFyeS5kaXNhYmxlZC5mb2N1cywgLmJ0bi1wcmltYXJ5LmRpc2FibGVkLmZvY3VzLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSwgLmJ0bi5idG4tcHJpbWFyeTpkaXNhYmxlZDpmb2N1cywgLmJ0bi1wcmltYXJ5LmN1c3RvbS1maWxlLWNvbnRyb2w6ZGlzYWJsZWQ6Zm9jdXM6OmJlZm9yZSwgLmJ0bi5idG4tcHJpbWFyeTpkaXNhYmxlZC5mb2N1cywgLmJ0bi1wcmltYXJ5LmN1c3RvbS1maWxlLWNvbnRyb2w6ZGlzYWJsZWQuZm9jdXM6OmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0O1xuICAgICAgYm9yZGVyLWNvbG9yOiAjY2NjOyB9XG4gICAgLmJ0bi5idG4tcHJpbWFyeS5kaXNhYmxlZDpob3ZlciwgLmJ0bi1wcmltYXJ5LmRpc2FibGVkLmN1c3RvbS1maWxlLWNvbnRyb2w6aG92ZXI6OmJlZm9yZSwgLmJ0bi5idG4tcHJpbWFyeTpkaXNhYmxlZDpob3ZlciwgLmJ0bi1wcmltYXJ5LmN1c3RvbS1maWxlLWNvbnRyb2w6ZGlzYWJsZWQ6aG92ZXI6OmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0O1xuICAgICAgYm9yZGVyLWNvbG9yOiAjY2NjOyB9XG4gICAgLmJnLWludmVyc2UgLmJ0bi5idG4tcHJpbWFyeSwgLmJnLWludmVyc2UgLmJ0bi1wcmltYXJ5LmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSB7XG4gICAgICBjb2xvcjogIzAwOTY4ODtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7XG4gICAgICBib3JkZXItY29sb3I6ICNjY2M7IH1cbiAgICAgIC5iZy1pbnZlcnNlIC5idG4uYnRuLXByaW1hcnk6aG92ZXIsIC5iZy1pbnZlcnNlIC5idG4tcHJpbWFyeS5jdXN0b20tZmlsZS1jb250cm9sOmhvdmVyOjpiZWZvcmUge1xuICAgICAgICBjb2xvcjogIzAwOTY4ODtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyMDQsIDIwNCwgMjA0LCAwLjE1KTtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDIwNCwgMjA0LCAyMDQsIDAuMTUpOyB9XG4gICAgICAuYmctaW52ZXJzZSAuYnRuLmJ0bi1wcmltYXJ5OmZvY3VzLCAuYmctaW52ZXJzZSAuYnRuLXByaW1hcnkuY3VzdG9tLWZpbGUtY29udHJvbDpmb2N1czo6YmVmb3JlLCAuYmctaW52ZXJzZSAuYnRuLmJ0bi1wcmltYXJ5LmZvY3VzLCAuYmctaW52ZXJzZSAuYnRuLXByaW1hcnkuZm9jdXMuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlIHtcbiAgICAgICAgY29sb3I6ICMwMDk2ODg7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjA0LCAyMDQsIDIwNCwgMC4xNSk7XG4gICAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgyMDQsIDIwNCwgMjA0LCAwLjE1KTsgfVxuICAgICAgLmJnLWludmVyc2UgLmJ0bi5idG4tcHJpbWFyeTphY3RpdmUsIC5iZy1pbnZlcnNlIC5idG4tcHJpbWFyeS5jdXN0b20tZmlsZS1jb250cm9sOmFjdGl2ZTo6YmVmb3JlLCAuYmctaW52ZXJzZSAuYnRuLmJ0bi1wcmltYXJ5LmFjdGl2ZSwgLmJnLWludmVyc2UgLmJ0bi1wcmltYXJ5LmFjdGl2ZS5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsXG4gICAgICAub3BlbiA+IC5iZy1pbnZlcnNlIC5idG4uYnRuLXByaW1hcnkuZHJvcGRvd24tdG9nZ2xlLFxuICAgICAgLm9wZW4gPiAuYmctaW52ZXJzZSAuYnRuLXByaW1hcnkuZHJvcGRvd24tdG9nZ2xlLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSB7XG4gICAgICAgIGNvbG9yOiAjMDA5Njg4O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDIwNCwgMjA0LCAyMDQsIDAuMTUpO1xuICAgICAgICBib3JkZXItY29sb3I6IHJnYmEoMjA0LCAyMDQsIDIwNCwgMC4xNSk7IH1cbiAgICAgICAgLmJnLWludmVyc2UgLmJ0bi5idG4tcHJpbWFyeTphY3RpdmU6aG92ZXIsIC5iZy1pbnZlcnNlIC5idG4tcHJpbWFyeS5jdXN0b20tZmlsZS1jb250cm9sOmFjdGl2ZTpob3Zlcjo6YmVmb3JlLCAuYmctaW52ZXJzZSAuYnRuLmJ0bi1wcmltYXJ5OmFjdGl2ZTpmb2N1cywgLmJnLWludmVyc2UgLmJ0bi1wcmltYXJ5LmN1c3RvbS1maWxlLWNvbnRyb2w6YWN0aXZlOmZvY3VzOjpiZWZvcmUsIC5iZy1pbnZlcnNlIC5idG4uYnRuLXByaW1hcnk6YWN0aXZlLmZvY3VzLCAuYmctaW52ZXJzZSAuYnRuLXByaW1hcnkuY3VzdG9tLWZpbGUtY29udHJvbDphY3RpdmUuZm9jdXM6OmJlZm9yZSwgLmJnLWludmVyc2UgLmJ0bi5idG4tcHJpbWFyeS5hY3RpdmU6aG92ZXIsIC5iZy1pbnZlcnNlIC5idG4tcHJpbWFyeS5hY3RpdmUuY3VzdG9tLWZpbGUtY29udHJvbDpob3Zlcjo6YmVmb3JlLCAuYmctaW52ZXJzZSAuYnRuLmJ0bi1wcmltYXJ5LmFjdGl2ZTpmb2N1cywgLmJnLWludmVyc2UgLmJ0bi1wcmltYXJ5LmFjdGl2ZS5jdXN0b20tZmlsZS1jb250cm9sOmZvY3VzOjpiZWZvcmUsIC5iZy1pbnZlcnNlIC5idG4uYnRuLXByaW1hcnkuYWN0aXZlLmZvY3VzLCAuYmctaW52ZXJzZSAuYnRuLXByaW1hcnkuYWN0aXZlLmZvY3VzLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSxcbiAgICAgICAgLm9wZW4gPiAuYmctaW52ZXJzZSAuYnRuLmJ0bi1wcmltYXJ5LmRyb3Bkb3duLXRvZ2dsZTpob3ZlcixcbiAgICAgICAgLm9wZW4gPiAuYmctaW52ZXJzZSAuYnRuLXByaW1hcnkuZHJvcGRvd24tdG9nZ2xlLmN1c3RvbS1maWxlLWNvbnRyb2w6aG92ZXI6OmJlZm9yZSxcbiAgICAgICAgLm9wZW4gPiAuYmctaW52ZXJzZSAuYnRuLmJ0bi1wcmltYXJ5LmRyb3Bkb3duLXRvZ2dsZTpmb2N1cyxcbiAgICAgICAgLm9wZW4gPiAuYmctaW52ZXJzZSAuYnRuLXByaW1hcnkuZHJvcGRvd24tdG9nZ2xlLmN1c3RvbS1maWxlLWNvbnRyb2w6Zm9jdXM6OmJlZm9yZSxcbiAgICAgICAgLm9wZW4gPiAuYmctaW52ZXJzZSAuYnRuLmJ0bi1wcmltYXJ5LmRyb3Bkb3duLXRvZ2dsZS5mb2N1cyxcbiAgICAgICAgLm9wZW4gPiAuYmctaW52ZXJzZSAuYnRuLXByaW1hcnkuZHJvcGRvd24tdG9nZ2xlLmZvY3VzLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSB7XG4gICAgICAgICAgY29sb3I6ICMwMDk2ODg7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyMDQsIDIwNCwgMjA0LCAwLjI1KTtcbiAgICAgICAgICBib3JkZXItY29sb3I6IHJnYmEoMjA0LCAyMDQsIDIwNCwgMC4yNSk7IH1cbiAgICAgIC5vcGVuID4gLmJnLWludmVyc2UgLmJ0bi5idG4tcHJpbWFyeS5kcm9wZG93bi10b2dnbGUuYm1kLWJ0bi1pY29uLCAub3BlbiA+IC5iZy1pbnZlcnNlIC5idG4tcHJpbWFyeS5kcm9wZG93bi10b2dnbGUuYm1kLWJ0bi1pY29uLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSB7XG4gICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0OyB9XG4gICAgICAgIC5vcGVuID4gLmJnLWludmVyc2UgLmJ0bi5idG4tcHJpbWFyeS5kcm9wZG93bi10b2dnbGUuYm1kLWJ0bi1pY29uOmhvdmVyLCAub3BlbiA+IC5iZy1pbnZlcnNlIC5idG4tcHJpbWFyeS5kcm9wZG93bi10b2dnbGUuYm1kLWJ0bi1pY29uLmN1c3RvbS1maWxlLWNvbnRyb2w6aG92ZXI6OmJlZm9yZSB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyMDQsIDIwNCwgMjA0LCAwLjE1KTsgfVxuICAgICAgLmJnLWludmVyc2UgLmJ0bi5idG4tcHJpbWFyeS5kaXNhYmxlZDpmb2N1cywgLmJnLWludmVyc2UgLmJ0bi1wcmltYXJ5LmRpc2FibGVkLmN1c3RvbS1maWxlLWNvbnRyb2w6Zm9jdXM6OmJlZm9yZSwgLmJnLWludmVyc2UgLmJ0bi5idG4tcHJpbWFyeS5kaXNhYmxlZC5mb2N1cywgLmJnLWludmVyc2UgLmJ0bi1wcmltYXJ5LmRpc2FibGVkLmZvY3VzLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSwgLmJnLWludmVyc2UgLmJ0bi5idG4tcHJpbWFyeTpkaXNhYmxlZDpmb2N1cywgLmJnLWludmVyc2UgLmJ0bi1wcmltYXJ5LmN1c3RvbS1maWxlLWNvbnRyb2w6ZGlzYWJsZWQ6Zm9jdXM6OmJlZm9yZSwgLmJnLWludmVyc2UgLmJ0bi5idG4tcHJpbWFyeTpkaXNhYmxlZC5mb2N1cywgLmJnLWludmVyc2UgLmJ0bi1wcmltYXJ5LmN1c3RvbS1maWxlLWNvbnRyb2w6ZGlzYWJsZWQuZm9jdXM6OmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7XG4gICAgICAgIGJvcmRlci1jb2xvcjogI2NjYzsgfVxuICAgICAgLmJnLWludmVyc2UgLmJ0bi5idG4tcHJpbWFyeS5kaXNhYmxlZDpob3ZlciwgLmJnLWludmVyc2UgLmJ0bi1wcmltYXJ5LmRpc2FibGVkLmN1c3RvbS1maWxlLWNvbnRyb2w6aG92ZXI6OmJlZm9yZSwgLmJnLWludmVyc2UgLmJ0bi5idG4tcHJpbWFyeTpkaXNhYmxlZDpob3ZlciwgLmJnLWludmVyc2UgLmJ0bi1wcmltYXJ5LmN1c3RvbS1maWxlLWNvbnRyb2w6ZGlzYWJsZWQ6aG92ZXI6OmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7XG4gICAgICAgIGJvcmRlci1jb2xvcjogI2NjYzsgfVxuICAgIC5idG4uYnRuLXByaW1hcnkuYnRuLWxpbmssIC5idG4tcHJpbWFyeS5idG4tbGluay5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgLmJ0bi5idG4tc2Vjb25kYXJ5LCAuYnRuLXNlY29uZGFyeS5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUge1xuICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7XG4gICAgYm9yZGVyLWNvbG9yOiAjY2NjOyB9XG4gICAgLmJ0bi5idG4tc2Vjb25kYXJ5OmhvdmVyLCAuYnRuLXNlY29uZGFyeS5jdXN0b20tZmlsZS1jb250cm9sOmhvdmVyOjpiZWZvcmUge1xuICAgICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDE1MywgMTUzLCAxNTMsIDAuMik7XG4gICAgICBib3JkZXItY29sb3I6IHJnYmEoMTUzLCAxNTMsIDE1MywgMC4yKTsgfVxuICAgIC5idG4uYnRuLXNlY29uZGFyeTpmb2N1cywgLmJ0bi1zZWNvbmRhcnkuY3VzdG9tLWZpbGUtY29udHJvbDpmb2N1czo6YmVmb3JlLCAuYnRuLmJ0bi1zZWNvbmRhcnkuZm9jdXMsIC5idG4tc2Vjb25kYXJ5LmZvY3VzLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSB7XG4gICAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTUzLCAxNTMsIDE1MywgMC4yKTtcbiAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgxNTMsIDE1MywgMTUzLCAwLjIpOyB9XG4gICAgLmJ0bi5idG4tc2Vjb25kYXJ5OmFjdGl2ZSwgLmJ0bi1zZWNvbmRhcnkuY3VzdG9tLWZpbGUtY29udHJvbDphY3RpdmU6OmJlZm9yZSwgLmJ0bi5idG4tc2Vjb25kYXJ5LmFjdGl2ZSwgLmJ0bi1zZWNvbmRhcnkuYWN0aXZlLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSxcbiAgICAub3BlbiA+IC5idG4uYnRuLXNlY29uZGFyeS5kcm9wZG93bi10b2dnbGUsXG4gICAgLm9wZW4gPiAuYnRuLXNlY29uZGFyeS5kcm9wZG93bi10b2dnbGUuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlIHtcbiAgICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxNTMsIDE1MywgMTUzLCAwLjIpO1xuICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDE1MywgMTUzLCAxNTMsIDAuMik7IH1cbiAgICAgIC5idG4uYnRuLXNlY29uZGFyeTphY3RpdmU6aG92ZXIsIC5idG4tc2Vjb25kYXJ5LmN1c3RvbS1maWxlLWNvbnRyb2w6YWN0aXZlOmhvdmVyOjpiZWZvcmUsIC5idG4uYnRuLXNlY29uZGFyeTphY3RpdmU6Zm9jdXMsIC5idG4tc2Vjb25kYXJ5LmN1c3RvbS1maWxlLWNvbnRyb2w6YWN0aXZlOmZvY3VzOjpiZWZvcmUsIC5idG4uYnRuLXNlY29uZGFyeTphY3RpdmUuZm9jdXMsIC5idG4tc2Vjb25kYXJ5LmN1c3RvbS1maWxlLWNvbnRyb2w6YWN0aXZlLmZvY3VzOjpiZWZvcmUsIC5idG4uYnRuLXNlY29uZGFyeS5hY3RpdmU6aG92ZXIsIC5idG4tc2Vjb25kYXJ5LmFjdGl2ZS5jdXN0b20tZmlsZS1jb250cm9sOmhvdmVyOjpiZWZvcmUsIC5idG4uYnRuLXNlY29uZGFyeS5hY3RpdmU6Zm9jdXMsIC5idG4tc2Vjb25kYXJ5LmFjdGl2ZS5jdXN0b20tZmlsZS1jb250cm9sOmZvY3VzOjpiZWZvcmUsIC5idG4uYnRuLXNlY29uZGFyeS5hY3RpdmUuZm9jdXMsIC5idG4tc2Vjb25kYXJ5LmFjdGl2ZS5mb2N1cy5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsXG4gICAgICAub3BlbiA+IC5idG4uYnRuLXNlY29uZGFyeS5kcm9wZG93bi10b2dnbGU6aG92ZXIsXG4gICAgICAub3BlbiA+IC5idG4tc2Vjb25kYXJ5LmRyb3Bkb3duLXRvZ2dsZS5jdXN0b20tZmlsZS1jb250cm9sOmhvdmVyOjpiZWZvcmUsXG4gICAgICAub3BlbiA+IC5idG4uYnRuLXNlY29uZGFyeS5kcm9wZG93bi10b2dnbGU6Zm9jdXMsXG4gICAgICAub3BlbiA+IC5idG4tc2Vjb25kYXJ5LmRyb3Bkb3duLXRvZ2dsZS5jdXN0b20tZmlsZS1jb250cm9sOmZvY3VzOjpiZWZvcmUsXG4gICAgICAub3BlbiA+IC5idG4uYnRuLXNlY29uZGFyeS5kcm9wZG93bi10b2dnbGUuZm9jdXMsXG4gICAgICAub3BlbiA+IC5idG4tc2Vjb25kYXJ5LmRyb3Bkb3duLXRvZ2dsZS5mb2N1cy5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUge1xuICAgICAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxNTMsIDE1MywgMTUzLCAwLjQpO1xuICAgICAgICBib3JkZXItY29sb3I6IHJnYmEoMTUzLCAxNTMsIDE1MywgMC40KTsgfVxuICAgIC5vcGVuID4gLmJ0bi5idG4tc2Vjb25kYXJ5LmRyb3Bkb3duLXRvZ2dsZS5ibWQtYnRuLWljb24sIC5vcGVuID4gLmJ0bi1zZWNvbmRhcnkuZHJvcGRvd24tdG9nZ2xlLmJtZC1idG4taWNvbi5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUge1xuICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0OyB9XG4gICAgICAub3BlbiA+IC5idG4uYnRuLXNlY29uZGFyeS5kcm9wZG93bi10b2dnbGUuYm1kLWJ0bi1pY29uOmhvdmVyLCAub3BlbiA+IC5idG4tc2Vjb25kYXJ5LmRyb3Bkb3duLXRvZ2dsZS5ibWQtYnRuLWljb24uY3VzdG9tLWZpbGUtY29udHJvbDpob3Zlcjo6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxNTMsIDE1MywgMTUzLCAwLjIpOyB9XG4gICAgLmJ0bi5idG4tc2Vjb25kYXJ5LmRpc2FibGVkOmZvY3VzLCAuYnRuLXNlY29uZGFyeS5kaXNhYmxlZC5jdXN0b20tZmlsZS1jb250cm9sOmZvY3VzOjpiZWZvcmUsIC5idG4uYnRuLXNlY29uZGFyeS5kaXNhYmxlZC5mb2N1cywgLmJ0bi1zZWNvbmRhcnkuZGlzYWJsZWQuZm9jdXMuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLCAuYnRuLmJ0bi1zZWNvbmRhcnk6ZGlzYWJsZWQ6Zm9jdXMsIC5idG4tc2Vjb25kYXJ5LmN1c3RvbS1maWxlLWNvbnRyb2w6ZGlzYWJsZWQ6Zm9jdXM6OmJlZm9yZSwgLmJ0bi5idG4tc2Vjb25kYXJ5OmRpc2FibGVkLmZvY3VzLCAuYnRuLXNlY29uZGFyeS5jdXN0b20tZmlsZS1jb250cm9sOmRpc2FibGVkLmZvY3VzOjpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDtcbiAgICAgIGJvcmRlci1jb2xvcjogI2NjYzsgfVxuICAgIC5idG4uYnRuLXNlY29uZGFyeS5kaXNhYmxlZDpob3ZlciwgLmJ0bi1zZWNvbmRhcnkuZGlzYWJsZWQuY3VzdG9tLWZpbGUtY29udHJvbDpob3Zlcjo6YmVmb3JlLCAuYnRuLmJ0bi1zZWNvbmRhcnk6ZGlzYWJsZWQ6aG92ZXIsIC5idG4tc2Vjb25kYXJ5LmN1c3RvbS1maWxlLWNvbnRyb2w6ZGlzYWJsZWQ6aG92ZXI6OmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0O1xuICAgICAgYm9yZGVyLWNvbG9yOiAjY2NjOyB9XG4gICAgLmJnLWludmVyc2UgLmJ0bi5idG4tc2Vjb25kYXJ5LCAuYmctaW52ZXJzZSAuYnRuLXNlY29uZGFyeS5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUge1xuICAgICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0O1xuICAgICAgYm9yZGVyLWNvbG9yOiAjY2NjOyB9XG4gICAgICAuYmctaW52ZXJzZSAuYnRuLmJ0bi1zZWNvbmRhcnk6aG92ZXIsIC5iZy1pbnZlcnNlIC5idG4tc2Vjb25kYXJ5LmN1c3RvbS1maWxlLWNvbnRyb2w6aG92ZXI6OmJlZm9yZSB7XG4gICAgICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDIwNCwgMjA0LCAyMDQsIDAuMTUpO1xuICAgICAgICBib3JkZXItY29sb3I6IHJnYmEoMjA0LCAyMDQsIDIwNCwgMC4xNSk7IH1cbiAgICAgIC5iZy1pbnZlcnNlIC5idG4uYnRuLXNlY29uZGFyeTpmb2N1cywgLmJnLWludmVyc2UgLmJ0bi1zZWNvbmRhcnkuY3VzdG9tLWZpbGUtY29udHJvbDpmb2N1czo6YmVmb3JlLCAuYmctaW52ZXJzZSAuYnRuLmJ0bi1zZWNvbmRhcnkuZm9jdXMsIC5iZy1pbnZlcnNlIC5idG4tc2Vjb25kYXJ5LmZvY3VzLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSB7XG4gICAgICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDIwNCwgMjA0LCAyMDQsIDAuMTUpO1xuICAgICAgICBib3JkZXItY29sb3I6IHJnYmEoMjA0LCAyMDQsIDIwNCwgMC4xNSk7IH1cbiAgICAgIC5iZy1pbnZlcnNlIC5idG4uYnRuLXNlY29uZGFyeTphY3RpdmUsIC5iZy1pbnZlcnNlIC5idG4tc2Vjb25kYXJ5LmN1c3RvbS1maWxlLWNvbnRyb2w6YWN0aXZlOjpiZWZvcmUsIC5iZy1pbnZlcnNlIC5idG4uYnRuLXNlY29uZGFyeS5hY3RpdmUsIC5iZy1pbnZlcnNlIC5idG4tc2Vjb25kYXJ5LmFjdGl2ZS5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsXG4gICAgICAub3BlbiA+IC5iZy1pbnZlcnNlIC5idG4uYnRuLXNlY29uZGFyeS5kcm9wZG93bi10b2dnbGUsXG4gICAgICAub3BlbiA+IC5iZy1pbnZlcnNlIC5idG4tc2Vjb25kYXJ5LmRyb3Bkb3duLXRvZ2dsZS5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUge1xuICAgICAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyMDQsIDIwNCwgMjA0LCAwLjE1KTtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDIwNCwgMjA0LCAyMDQsIDAuMTUpOyB9XG4gICAgICAgIC5iZy1pbnZlcnNlIC5idG4uYnRuLXNlY29uZGFyeTphY3RpdmU6aG92ZXIsIC5iZy1pbnZlcnNlIC5idG4tc2Vjb25kYXJ5LmN1c3RvbS1maWxlLWNvbnRyb2w6YWN0aXZlOmhvdmVyOjpiZWZvcmUsIC5iZy1pbnZlcnNlIC5idG4uYnRuLXNlY29uZGFyeTphY3RpdmU6Zm9jdXMsIC5iZy1pbnZlcnNlIC5idG4tc2Vjb25kYXJ5LmN1c3RvbS1maWxlLWNvbnRyb2w6YWN0aXZlOmZvY3VzOjpiZWZvcmUsIC5iZy1pbnZlcnNlIC5idG4uYnRuLXNlY29uZGFyeTphY3RpdmUuZm9jdXMsIC5iZy1pbnZlcnNlIC5idG4tc2Vjb25kYXJ5LmN1c3RvbS1maWxlLWNvbnRyb2w6YWN0aXZlLmZvY3VzOjpiZWZvcmUsIC5iZy1pbnZlcnNlIC5idG4uYnRuLXNlY29uZGFyeS5hY3RpdmU6aG92ZXIsIC5iZy1pbnZlcnNlIC5idG4tc2Vjb25kYXJ5LmFjdGl2ZS5jdXN0b20tZmlsZS1jb250cm9sOmhvdmVyOjpiZWZvcmUsIC5iZy1pbnZlcnNlIC5idG4uYnRuLXNlY29uZGFyeS5hY3RpdmU6Zm9jdXMsIC5iZy1pbnZlcnNlIC5idG4tc2Vjb25kYXJ5LmFjdGl2ZS5jdXN0b20tZmlsZS1jb250cm9sOmZvY3VzOjpiZWZvcmUsIC5iZy1pbnZlcnNlIC5idG4uYnRuLXNlY29uZGFyeS5hY3RpdmUuZm9jdXMsIC5iZy1pbnZlcnNlIC5idG4tc2Vjb25kYXJ5LmFjdGl2ZS5mb2N1cy5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsXG4gICAgICAgIC5vcGVuID4gLmJnLWludmVyc2UgLmJ0bi5idG4tc2Vjb25kYXJ5LmRyb3Bkb3duLXRvZ2dsZTpob3ZlcixcbiAgICAgICAgLm9wZW4gPiAuYmctaW52ZXJzZSAuYnRuLXNlY29uZGFyeS5kcm9wZG93bi10b2dnbGUuY3VzdG9tLWZpbGUtY29udHJvbDpob3Zlcjo6YmVmb3JlLFxuICAgICAgICAub3BlbiA+IC5iZy1pbnZlcnNlIC5idG4uYnRuLXNlY29uZGFyeS5kcm9wZG93bi10b2dnbGU6Zm9jdXMsXG4gICAgICAgIC5vcGVuID4gLmJnLWludmVyc2UgLmJ0bi1zZWNvbmRhcnkuZHJvcGRvd24tdG9nZ2xlLmN1c3RvbS1maWxlLWNvbnRyb2w6Zm9jdXM6OmJlZm9yZSxcbiAgICAgICAgLm9wZW4gPiAuYmctaW52ZXJzZSAuYnRuLmJ0bi1zZWNvbmRhcnkuZHJvcGRvd24tdG9nZ2xlLmZvY3VzLFxuICAgICAgICAub3BlbiA+IC5iZy1pbnZlcnNlIC5idG4tc2Vjb25kYXJ5LmRyb3Bkb3duLXRvZ2dsZS5mb2N1cy5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUge1xuICAgICAgICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpO1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjA0LCAyMDQsIDIwNCwgMC4yNSk7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDIwNCwgMjA0LCAyMDQsIDAuMjUpOyB9XG4gICAgICAub3BlbiA+IC5iZy1pbnZlcnNlIC5idG4uYnRuLXNlY29uZGFyeS5kcm9wZG93bi10b2dnbGUuYm1kLWJ0bi1pY29uLCAub3BlbiA+IC5iZy1pbnZlcnNlIC5idG4tc2Vjb25kYXJ5LmRyb3Bkb3duLXRvZ2dsZS5ibWQtYnRuLWljb24uY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlIHtcbiAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7IH1cbiAgICAgICAgLm9wZW4gPiAuYmctaW52ZXJzZSAuYnRuLmJ0bi1zZWNvbmRhcnkuZHJvcGRvd24tdG9nZ2xlLmJtZC1idG4taWNvbjpob3ZlciwgLm9wZW4gPiAuYmctaW52ZXJzZSAuYnRuLXNlY29uZGFyeS5kcm9wZG93bi10b2dnbGUuYm1kLWJ0bi1pY29uLmN1c3RvbS1maWxlLWNvbnRyb2w6aG92ZXI6OmJlZm9yZSB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyMDQsIDIwNCwgMjA0LCAwLjE1KTsgfVxuICAgICAgLmJnLWludmVyc2UgLmJ0bi5idG4tc2Vjb25kYXJ5LmRpc2FibGVkOmZvY3VzLCAuYmctaW52ZXJzZSAuYnRuLXNlY29uZGFyeS5kaXNhYmxlZC5jdXN0b20tZmlsZS1jb250cm9sOmZvY3VzOjpiZWZvcmUsIC5iZy1pbnZlcnNlIC5idG4uYnRuLXNlY29uZGFyeS5kaXNhYmxlZC5mb2N1cywgLmJnLWludmVyc2UgLmJ0bi1zZWNvbmRhcnkuZGlzYWJsZWQuZm9jdXMuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLCAuYmctaW52ZXJzZSAuYnRuLmJ0bi1zZWNvbmRhcnk6ZGlzYWJsZWQ6Zm9jdXMsIC5iZy1pbnZlcnNlIC5idG4tc2Vjb25kYXJ5LmN1c3RvbS1maWxlLWNvbnRyb2w6ZGlzYWJsZWQ6Zm9jdXM6OmJlZm9yZSwgLmJnLWludmVyc2UgLmJ0bi5idG4tc2Vjb25kYXJ5OmRpc2FibGVkLmZvY3VzLCAuYmctaW52ZXJzZSAuYnRuLXNlY29uZGFyeS5jdXN0b20tZmlsZS1jb250cm9sOmRpc2FibGVkLmZvY3VzOjpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0O1xuICAgICAgICBib3JkZXItY29sb3I6ICNjY2M7IH1cbiAgICAgIC5iZy1pbnZlcnNlIC5idG4uYnRuLXNlY29uZGFyeS5kaXNhYmxlZDpob3ZlciwgLmJnLWludmVyc2UgLmJ0bi1zZWNvbmRhcnkuZGlzYWJsZWQuY3VzdG9tLWZpbGUtY29udHJvbDpob3Zlcjo6YmVmb3JlLCAuYmctaW52ZXJzZSAuYnRuLmJ0bi1zZWNvbmRhcnk6ZGlzYWJsZWQ6aG92ZXIsIC5iZy1pbnZlcnNlIC5idG4tc2Vjb25kYXJ5LmN1c3RvbS1maWxlLWNvbnRyb2w6ZGlzYWJsZWQ6aG92ZXI6OmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7XG4gICAgICAgIGJvcmRlci1jb2xvcjogI2NjYzsgfVxuICAgIC5idG4uYnRuLXNlY29uZGFyeS5idG4tbGluaywgLmJ0bi1zZWNvbmRhcnkuYnRuLWxpbmsuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gIC5idG4uYnRuLWluZm8sIC5idG4taW5mby5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUge1xuICAgIGNvbG9yOiAjMDNhOWY0O1xuICAgIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7XG4gICAgYm9yZGVyLWNvbG9yOiAjY2NjOyB9XG4gICAgLmJ0bi5idG4taW5mbzpob3ZlciwgLmJ0bi1pbmZvLmN1c3RvbS1maWxlLWNvbnRyb2w6aG92ZXI6OmJlZm9yZSB7XG4gICAgICBjb2xvcjogIzAzYTlmNDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTUzLCAxNTMsIDE1MywgMC4yKTtcbiAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgxNTMsIDE1MywgMTUzLCAwLjIpOyB9XG4gICAgLmJ0bi5idG4taW5mbzpmb2N1cywgLmJ0bi1pbmZvLmN1c3RvbS1maWxlLWNvbnRyb2w6Zm9jdXM6OmJlZm9yZSwgLmJ0bi5idG4taW5mby5mb2N1cywgLmJ0bi1pbmZvLmZvY3VzLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSB7XG4gICAgICBjb2xvcjogIzAzYTlmNDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTUzLCAxNTMsIDE1MywgMC4yKTtcbiAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgxNTMsIDE1MywgMTUzLCAwLjIpOyB9XG4gICAgLmJ0bi5idG4taW5mbzphY3RpdmUsIC5idG4taW5mby5jdXN0b20tZmlsZS1jb250cm9sOmFjdGl2ZTo6YmVmb3JlLCAuYnRuLmJ0bi1pbmZvLmFjdGl2ZSwgLmJ0bi1pbmZvLmFjdGl2ZS5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsXG4gICAgLm9wZW4gPiAuYnRuLmJ0bi1pbmZvLmRyb3Bkb3duLXRvZ2dsZSxcbiAgICAub3BlbiA+IC5idG4taW5mby5kcm9wZG93bi10b2dnbGUuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlIHtcbiAgICAgIGNvbG9yOiAjMDNhOWY0O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxNTMsIDE1MywgMTUzLCAwLjIpO1xuICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDE1MywgMTUzLCAxNTMsIDAuMik7IH1cbiAgICAgIC5idG4uYnRuLWluZm86YWN0aXZlOmhvdmVyLCAuYnRuLWluZm8uY3VzdG9tLWZpbGUtY29udHJvbDphY3RpdmU6aG92ZXI6OmJlZm9yZSwgLmJ0bi5idG4taW5mbzphY3RpdmU6Zm9jdXMsIC5idG4taW5mby5jdXN0b20tZmlsZS1jb250cm9sOmFjdGl2ZTpmb2N1czo6YmVmb3JlLCAuYnRuLmJ0bi1pbmZvOmFjdGl2ZS5mb2N1cywgLmJ0bi1pbmZvLmN1c3RvbS1maWxlLWNvbnRyb2w6YWN0aXZlLmZvY3VzOjpiZWZvcmUsIC5idG4uYnRuLWluZm8uYWN0aXZlOmhvdmVyLCAuYnRuLWluZm8uYWN0aXZlLmN1c3RvbS1maWxlLWNvbnRyb2w6aG92ZXI6OmJlZm9yZSwgLmJ0bi5idG4taW5mby5hY3RpdmU6Zm9jdXMsIC5idG4taW5mby5hY3RpdmUuY3VzdG9tLWZpbGUtY29udHJvbDpmb2N1czo6YmVmb3JlLCAuYnRuLmJ0bi1pbmZvLmFjdGl2ZS5mb2N1cywgLmJ0bi1pbmZvLmFjdGl2ZS5mb2N1cy5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsXG4gICAgICAub3BlbiA+IC5idG4uYnRuLWluZm8uZHJvcGRvd24tdG9nZ2xlOmhvdmVyLFxuICAgICAgLm9wZW4gPiAuYnRuLWluZm8uZHJvcGRvd24tdG9nZ2xlLmN1c3RvbS1maWxlLWNvbnRyb2w6aG92ZXI6OmJlZm9yZSxcbiAgICAgIC5vcGVuID4gLmJ0bi5idG4taW5mby5kcm9wZG93bi10b2dnbGU6Zm9jdXMsXG4gICAgICAub3BlbiA+IC5idG4taW5mby5kcm9wZG93bi10b2dnbGUuY3VzdG9tLWZpbGUtY29udHJvbDpmb2N1czo6YmVmb3JlLFxuICAgICAgLm9wZW4gPiAuYnRuLmJ0bi1pbmZvLmRyb3Bkb3duLXRvZ2dsZS5mb2N1cyxcbiAgICAgIC5vcGVuID4gLmJ0bi1pbmZvLmRyb3Bkb3duLXRvZ2dsZS5mb2N1cy5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUge1xuICAgICAgICBjb2xvcjogIzAzYTlmNDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxNTMsIDE1MywgMTUzLCAwLjQpO1xuICAgICAgICBib3JkZXItY29sb3I6IHJnYmEoMTUzLCAxNTMsIDE1MywgMC40KTsgfVxuICAgIC5vcGVuID4gLmJ0bi5idG4taW5mby5kcm9wZG93bi10b2dnbGUuYm1kLWJ0bi1pY29uLCAub3BlbiA+IC5idG4taW5mby5kcm9wZG93bi10b2dnbGUuYm1kLWJ0bi1pY29uLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSB7XG4gICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7IH1cbiAgICAgIC5vcGVuID4gLmJ0bi5idG4taW5mby5kcm9wZG93bi10b2dnbGUuYm1kLWJ0bi1pY29uOmhvdmVyLCAub3BlbiA+IC5idG4taW5mby5kcm9wZG93bi10b2dnbGUuYm1kLWJ0bi1pY29uLmN1c3RvbS1maWxlLWNvbnRyb2w6aG92ZXI6OmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTUzLCAxNTMsIDE1MywgMC4yKTsgfVxuICAgIC5idG4uYnRuLWluZm8uZGlzYWJsZWQ6Zm9jdXMsIC5idG4taW5mby5kaXNhYmxlZC5jdXN0b20tZmlsZS1jb250cm9sOmZvY3VzOjpiZWZvcmUsIC5idG4uYnRuLWluZm8uZGlzYWJsZWQuZm9jdXMsIC5idG4taW5mby5kaXNhYmxlZC5mb2N1cy5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsIC5idG4uYnRuLWluZm86ZGlzYWJsZWQ6Zm9jdXMsIC5idG4taW5mby5jdXN0b20tZmlsZS1jb250cm9sOmRpc2FibGVkOmZvY3VzOjpiZWZvcmUsIC5idG4uYnRuLWluZm86ZGlzYWJsZWQuZm9jdXMsIC5idG4taW5mby5jdXN0b20tZmlsZS1jb250cm9sOmRpc2FibGVkLmZvY3VzOjpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDtcbiAgICAgIGJvcmRlci1jb2xvcjogI2NjYzsgfVxuICAgIC5idG4uYnRuLWluZm8uZGlzYWJsZWQ6aG92ZXIsIC5idG4taW5mby5kaXNhYmxlZC5jdXN0b20tZmlsZS1jb250cm9sOmhvdmVyOjpiZWZvcmUsIC5idG4uYnRuLWluZm86ZGlzYWJsZWQ6aG92ZXIsIC5idG4taW5mby5jdXN0b20tZmlsZS1jb250cm9sOmRpc2FibGVkOmhvdmVyOjpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDtcbiAgICAgIGJvcmRlci1jb2xvcjogI2NjYzsgfVxuICAgIC5iZy1pbnZlcnNlIC5idG4uYnRuLWluZm8sIC5iZy1pbnZlcnNlIC5idG4taW5mby5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUge1xuICAgICAgY29sb3I6ICMwM2E5ZjQ7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0O1xuICAgICAgYm9yZGVyLWNvbG9yOiAjY2NjOyB9XG4gICAgICAuYmctaW52ZXJzZSAuYnRuLmJ0bi1pbmZvOmhvdmVyLCAuYmctaW52ZXJzZSAuYnRuLWluZm8uY3VzdG9tLWZpbGUtY29udHJvbDpob3Zlcjo6YmVmb3JlIHtcbiAgICAgICAgY29sb3I6ICMwM2E5ZjQ7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjA0LCAyMDQsIDIwNCwgMC4xNSk7XG4gICAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgyMDQsIDIwNCwgMjA0LCAwLjE1KTsgfVxuICAgICAgLmJnLWludmVyc2UgLmJ0bi5idG4taW5mbzpmb2N1cywgLmJnLWludmVyc2UgLmJ0bi1pbmZvLmN1c3RvbS1maWxlLWNvbnRyb2w6Zm9jdXM6OmJlZm9yZSwgLmJnLWludmVyc2UgLmJ0bi5idG4taW5mby5mb2N1cywgLmJnLWludmVyc2UgLmJ0bi1pbmZvLmZvY3VzLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSB7XG4gICAgICAgIGNvbG9yOiAjMDNhOWY0O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDIwNCwgMjA0LCAyMDQsIDAuMTUpO1xuICAgICAgICBib3JkZXItY29sb3I6IHJnYmEoMjA0LCAyMDQsIDIwNCwgMC4xNSk7IH1cbiAgICAgIC5iZy1pbnZlcnNlIC5idG4uYnRuLWluZm86YWN0aXZlLCAuYmctaW52ZXJzZSAuYnRuLWluZm8uY3VzdG9tLWZpbGUtY29udHJvbDphY3RpdmU6OmJlZm9yZSwgLmJnLWludmVyc2UgLmJ0bi5idG4taW5mby5hY3RpdmUsIC5iZy1pbnZlcnNlIC5idG4taW5mby5hY3RpdmUuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLFxuICAgICAgLm9wZW4gPiAuYmctaW52ZXJzZSAuYnRuLmJ0bi1pbmZvLmRyb3Bkb3duLXRvZ2dsZSxcbiAgICAgIC5vcGVuID4gLmJnLWludmVyc2UgLmJ0bi1pbmZvLmRyb3Bkb3duLXRvZ2dsZS5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUge1xuICAgICAgICBjb2xvcjogIzAzYTlmNDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyMDQsIDIwNCwgMjA0LCAwLjE1KTtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDIwNCwgMjA0LCAyMDQsIDAuMTUpOyB9XG4gICAgICAgIC5iZy1pbnZlcnNlIC5idG4uYnRuLWluZm86YWN0aXZlOmhvdmVyLCAuYmctaW52ZXJzZSAuYnRuLWluZm8uY3VzdG9tLWZpbGUtY29udHJvbDphY3RpdmU6aG92ZXI6OmJlZm9yZSwgLmJnLWludmVyc2UgLmJ0bi5idG4taW5mbzphY3RpdmU6Zm9jdXMsIC5iZy1pbnZlcnNlIC5idG4taW5mby5jdXN0b20tZmlsZS1jb250cm9sOmFjdGl2ZTpmb2N1czo6YmVmb3JlLCAuYmctaW52ZXJzZSAuYnRuLmJ0bi1pbmZvOmFjdGl2ZS5mb2N1cywgLmJnLWludmVyc2UgLmJ0bi1pbmZvLmN1c3RvbS1maWxlLWNvbnRyb2w6YWN0aXZlLmZvY3VzOjpiZWZvcmUsIC5iZy1pbnZlcnNlIC5idG4uYnRuLWluZm8uYWN0aXZlOmhvdmVyLCAuYmctaW52ZXJzZSAuYnRuLWluZm8uYWN0aXZlLmN1c3RvbS1maWxlLWNvbnRyb2w6aG92ZXI6OmJlZm9yZSwgLmJnLWludmVyc2UgLmJ0bi5idG4taW5mby5hY3RpdmU6Zm9jdXMsIC5iZy1pbnZlcnNlIC5idG4taW5mby5hY3RpdmUuY3VzdG9tLWZpbGUtY29udHJvbDpmb2N1czo6YmVmb3JlLCAuYmctaW52ZXJzZSAuYnRuLmJ0bi1pbmZvLmFjdGl2ZS5mb2N1cywgLmJnLWludmVyc2UgLmJ0bi1pbmZvLmFjdGl2ZS5mb2N1cy5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsXG4gICAgICAgIC5vcGVuID4gLmJnLWludmVyc2UgLmJ0bi5idG4taW5mby5kcm9wZG93bi10b2dnbGU6aG92ZXIsXG4gICAgICAgIC5vcGVuID4gLmJnLWludmVyc2UgLmJ0bi1pbmZvLmRyb3Bkb3duLXRvZ2dsZS5jdXN0b20tZmlsZS1jb250cm9sOmhvdmVyOjpiZWZvcmUsXG4gICAgICAgIC5vcGVuID4gLmJnLWludmVyc2UgLmJ0bi5idG4taW5mby5kcm9wZG93bi10b2dnbGU6Zm9jdXMsXG4gICAgICAgIC5vcGVuID4gLmJnLWludmVyc2UgLmJ0bi1pbmZvLmRyb3Bkb3duLXRvZ2dsZS5jdXN0b20tZmlsZS1jb250cm9sOmZvY3VzOjpiZWZvcmUsXG4gICAgICAgIC5vcGVuID4gLmJnLWludmVyc2UgLmJ0bi5idG4taW5mby5kcm9wZG93bi10b2dnbGUuZm9jdXMsXG4gICAgICAgIC5vcGVuID4gLmJnLWludmVyc2UgLmJ0bi1pbmZvLmRyb3Bkb3duLXRvZ2dsZS5mb2N1cy5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUge1xuICAgICAgICAgIGNvbG9yOiAjMDNhOWY0O1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjA0LCAyMDQsIDIwNCwgMC4yNSk7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDIwNCwgMjA0LCAyMDQsIDAuMjUpOyB9XG4gICAgICAub3BlbiA+IC5iZy1pbnZlcnNlIC5idG4uYnRuLWluZm8uZHJvcGRvd24tdG9nZ2xlLmJtZC1idG4taWNvbiwgLm9wZW4gPiAuYmctaW52ZXJzZSAuYnRuLWluZm8uZHJvcGRvd24tdG9nZ2xlLmJtZC1idG4taWNvbi5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUge1xuICAgICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDsgfVxuICAgICAgICAub3BlbiA+IC5iZy1pbnZlcnNlIC5idG4uYnRuLWluZm8uZHJvcGRvd24tdG9nZ2xlLmJtZC1idG4taWNvbjpob3ZlciwgLm9wZW4gPiAuYmctaW52ZXJzZSAuYnRuLWluZm8uZHJvcGRvd24tdG9nZ2xlLmJtZC1idG4taWNvbi5jdXN0b20tZmlsZS1jb250cm9sOmhvdmVyOjpiZWZvcmUge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjA0LCAyMDQsIDIwNCwgMC4xNSk7IH1cbiAgICAgIC5iZy1pbnZlcnNlIC5idG4uYnRuLWluZm8uZGlzYWJsZWQ6Zm9jdXMsIC5iZy1pbnZlcnNlIC5idG4taW5mby5kaXNhYmxlZC5jdXN0b20tZmlsZS1jb250cm9sOmZvY3VzOjpiZWZvcmUsIC5iZy1pbnZlcnNlIC5idG4uYnRuLWluZm8uZGlzYWJsZWQuZm9jdXMsIC5iZy1pbnZlcnNlIC5idG4taW5mby5kaXNhYmxlZC5mb2N1cy5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsIC5iZy1pbnZlcnNlIC5idG4uYnRuLWluZm86ZGlzYWJsZWQ6Zm9jdXMsIC5iZy1pbnZlcnNlIC5idG4taW5mby5jdXN0b20tZmlsZS1jb250cm9sOmRpc2FibGVkOmZvY3VzOjpiZWZvcmUsIC5iZy1pbnZlcnNlIC5idG4uYnRuLWluZm86ZGlzYWJsZWQuZm9jdXMsIC5iZy1pbnZlcnNlIC5idG4taW5mby5jdXN0b20tZmlsZS1jb250cm9sOmRpc2FibGVkLmZvY3VzOjpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0O1xuICAgICAgICBib3JkZXItY29sb3I6ICNjY2M7IH1cbiAgICAgIC5iZy1pbnZlcnNlIC5idG4uYnRuLWluZm8uZGlzYWJsZWQ6aG92ZXIsIC5iZy1pbnZlcnNlIC5idG4taW5mby5kaXNhYmxlZC5jdXN0b20tZmlsZS1jb250cm9sOmhvdmVyOjpiZWZvcmUsIC5iZy1pbnZlcnNlIC5idG4uYnRuLWluZm86ZGlzYWJsZWQ6aG92ZXIsIC5iZy1pbnZlcnNlIC5idG4taW5mby5jdXN0b20tZmlsZS1jb250cm9sOmRpc2FibGVkOmhvdmVyOjpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0O1xuICAgICAgICBib3JkZXItY29sb3I6ICNjY2M7IH1cbiAgICAuYnRuLmJ0bi1pbmZvLmJ0bi1saW5rLCAuYnRuLWluZm8uYnRuLWxpbmsuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gIC5idG4uYnRuLXN1Y2Nlc3MsIC5idG4tc3VjY2Vzcy5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUge1xuICAgIGNvbG9yOiAjNGNhZjUwO1xuICAgIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7XG4gICAgYm9yZGVyLWNvbG9yOiAjY2NjOyB9XG4gICAgLmJ0bi5idG4tc3VjY2Vzczpob3ZlciwgLmJ0bi1zdWNjZXNzLmN1c3RvbS1maWxlLWNvbnRyb2w6aG92ZXI6OmJlZm9yZSB7XG4gICAgICBjb2xvcjogIzRjYWY1MDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTUzLCAxNTMsIDE1MywgMC4yKTtcbiAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgxNTMsIDE1MywgMTUzLCAwLjIpOyB9XG4gICAgLmJ0bi5idG4tc3VjY2Vzczpmb2N1cywgLmJ0bi1zdWNjZXNzLmN1c3RvbS1maWxlLWNvbnRyb2w6Zm9jdXM6OmJlZm9yZSwgLmJ0bi5idG4tc3VjY2Vzcy5mb2N1cywgLmJ0bi1zdWNjZXNzLmZvY3VzLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSB7XG4gICAgICBjb2xvcjogIzRjYWY1MDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTUzLCAxNTMsIDE1MywgMC4yKTtcbiAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgxNTMsIDE1MywgMTUzLCAwLjIpOyB9XG4gICAgLmJ0bi5idG4tc3VjY2VzczphY3RpdmUsIC5idG4tc3VjY2Vzcy5jdXN0b20tZmlsZS1jb250cm9sOmFjdGl2ZTo6YmVmb3JlLCAuYnRuLmJ0bi1zdWNjZXNzLmFjdGl2ZSwgLmJ0bi1zdWNjZXNzLmFjdGl2ZS5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsXG4gICAgLm9wZW4gPiAuYnRuLmJ0bi1zdWNjZXNzLmRyb3Bkb3duLXRvZ2dsZSxcbiAgICAub3BlbiA+IC5idG4tc3VjY2Vzcy5kcm9wZG93bi10b2dnbGUuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlIHtcbiAgICAgIGNvbG9yOiAjNGNhZjUwO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxNTMsIDE1MywgMTUzLCAwLjIpO1xuICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDE1MywgMTUzLCAxNTMsIDAuMik7IH1cbiAgICAgIC5idG4uYnRuLXN1Y2Nlc3M6YWN0aXZlOmhvdmVyLCAuYnRuLXN1Y2Nlc3MuY3VzdG9tLWZpbGUtY29udHJvbDphY3RpdmU6aG92ZXI6OmJlZm9yZSwgLmJ0bi5idG4tc3VjY2VzczphY3RpdmU6Zm9jdXMsIC5idG4tc3VjY2Vzcy5jdXN0b20tZmlsZS1jb250cm9sOmFjdGl2ZTpmb2N1czo6YmVmb3JlLCAuYnRuLmJ0bi1zdWNjZXNzOmFjdGl2ZS5mb2N1cywgLmJ0bi1zdWNjZXNzLmN1c3RvbS1maWxlLWNvbnRyb2w6YWN0aXZlLmZvY3VzOjpiZWZvcmUsIC5idG4uYnRuLXN1Y2Nlc3MuYWN0aXZlOmhvdmVyLCAuYnRuLXN1Y2Nlc3MuYWN0aXZlLmN1c3RvbS1maWxlLWNvbnRyb2w6aG92ZXI6OmJlZm9yZSwgLmJ0bi5idG4tc3VjY2Vzcy5hY3RpdmU6Zm9jdXMsIC5idG4tc3VjY2Vzcy5hY3RpdmUuY3VzdG9tLWZpbGUtY29udHJvbDpmb2N1czo6YmVmb3JlLCAuYnRuLmJ0bi1zdWNjZXNzLmFjdGl2ZS5mb2N1cywgLmJ0bi1zdWNjZXNzLmFjdGl2ZS5mb2N1cy5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsXG4gICAgICAub3BlbiA+IC5idG4uYnRuLXN1Y2Nlc3MuZHJvcGRvd24tdG9nZ2xlOmhvdmVyLFxuICAgICAgLm9wZW4gPiAuYnRuLXN1Y2Nlc3MuZHJvcGRvd24tdG9nZ2xlLmN1c3RvbS1maWxlLWNvbnRyb2w6aG92ZXI6OmJlZm9yZSxcbiAgICAgIC5vcGVuID4gLmJ0bi5idG4tc3VjY2Vzcy5kcm9wZG93bi10b2dnbGU6Zm9jdXMsXG4gICAgICAub3BlbiA+IC5idG4tc3VjY2Vzcy5kcm9wZG93bi10b2dnbGUuY3VzdG9tLWZpbGUtY29udHJvbDpmb2N1czo6YmVmb3JlLFxuICAgICAgLm9wZW4gPiAuYnRuLmJ0bi1zdWNjZXNzLmRyb3Bkb3duLXRvZ2dsZS5mb2N1cyxcbiAgICAgIC5vcGVuID4gLmJ0bi1zdWNjZXNzLmRyb3Bkb3duLXRvZ2dsZS5mb2N1cy5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUge1xuICAgICAgICBjb2xvcjogIzRjYWY1MDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxNTMsIDE1MywgMTUzLCAwLjQpO1xuICAgICAgICBib3JkZXItY29sb3I6IHJnYmEoMTUzLCAxNTMsIDE1MywgMC40KTsgfVxuICAgIC5vcGVuID4gLmJ0bi5idG4tc3VjY2Vzcy5kcm9wZG93bi10b2dnbGUuYm1kLWJ0bi1pY29uLCAub3BlbiA+IC5idG4tc3VjY2Vzcy5kcm9wZG93bi10b2dnbGUuYm1kLWJ0bi1pY29uLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSB7XG4gICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7IH1cbiAgICAgIC5vcGVuID4gLmJ0bi5idG4tc3VjY2Vzcy5kcm9wZG93bi10b2dnbGUuYm1kLWJ0bi1pY29uOmhvdmVyLCAub3BlbiA+IC5idG4tc3VjY2Vzcy5kcm9wZG93bi10b2dnbGUuYm1kLWJ0bi1pY29uLmN1c3RvbS1maWxlLWNvbnRyb2w6aG92ZXI6OmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTUzLCAxNTMsIDE1MywgMC4yKTsgfVxuICAgIC5idG4uYnRuLXN1Y2Nlc3MuZGlzYWJsZWQ6Zm9jdXMsIC5idG4tc3VjY2Vzcy5kaXNhYmxlZC5jdXN0b20tZmlsZS1jb250cm9sOmZvY3VzOjpiZWZvcmUsIC5idG4uYnRuLXN1Y2Nlc3MuZGlzYWJsZWQuZm9jdXMsIC5idG4tc3VjY2Vzcy5kaXNhYmxlZC5mb2N1cy5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsIC5idG4uYnRuLXN1Y2Nlc3M6ZGlzYWJsZWQ6Zm9jdXMsIC5idG4tc3VjY2Vzcy5jdXN0b20tZmlsZS1jb250cm9sOmRpc2FibGVkOmZvY3VzOjpiZWZvcmUsIC5idG4uYnRuLXN1Y2Nlc3M6ZGlzYWJsZWQuZm9jdXMsIC5idG4tc3VjY2Vzcy5jdXN0b20tZmlsZS1jb250cm9sOmRpc2FibGVkLmZvY3VzOjpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDtcbiAgICAgIGJvcmRlci1jb2xvcjogI2NjYzsgfVxuICAgIC5idG4uYnRuLXN1Y2Nlc3MuZGlzYWJsZWQ6aG92ZXIsIC5idG4tc3VjY2Vzcy5kaXNhYmxlZC5jdXN0b20tZmlsZS1jb250cm9sOmhvdmVyOjpiZWZvcmUsIC5idG4uYnRuLXN1Y2Nlc3M6ZGlzYWJsZWQ6aG92ZXIsIC5idG4tc3VjY2Vzcy5jdXN0b20tZmlsZS1jb250cm9sOmRpc2FibGVkOmhvdmVyOjpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDtcbiAgICAgIGJvcmRlci1jb2xvcjogI2NjYzsgfVxuICAgIC5iZy1pbnZlcnNlIC5idG4uYnRuLXN1Y2Nlc3MsIC5iZy1pbnZlcnNlIC5idG4tc3VjY2Vzcy5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUge1xuICAgICAgY29sb3I6ICM0Y2FmNTA7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0O1xuICAgICAgYm9yZGVyLWNvbG9yOiAjY2NjOyB9XG4gICAgICAuYmctaW52ZXJzZSAuYnRuLmJ0bi1zdWNjZXNzOmhvdmVyLCAuYmctaW52ZXJzZSAuYnRuLXN1Y2Nlc3MuY3VzdG9tLWZpbGUtY29udHJvbDpob3Zlcjo6YmVmb3JlIHtcbiAgICAgICAgY29sb3I6ICM0Y2FmNTA7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjA0LCAyMDQsIDIwNCwgMC4xNSk7XG4gICAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgyMDQsIDIwNCwgMjA0LCAwLjE1KTsgfVxuICAgICAgLmJnLWludmVyc2UgLmJ0bi5idG4tc3VjY2Vzczpmb2N1cywgLmJnLWludmVyc2UgLmJ0bi1zdWNjZXNzLmN1c3RvbS1maWxlLWNvbnRyb2w6Zm9jdXM6OmJlZm9yZSwgLmJnLWludmVyc2UgLmJ0bi5idG4tc3VjY2Vzcy5mb2N1cywgLmJnLWludmVyc2UgLmJ0bi1zdWNjZXNzLmZvY3VzLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSB7XG4gICAgICAgIGNvbG9yOiAjNGNhZjUwO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDIwNCwgMjA0LCAyMDQsIDAuMTUpO1xuICAgICAgICBib3JkZXItY29sb3I6IHJnYmEoMjA0LCAyMDQsIDIwNCwgMC4xNSk7IH1cbiAgICAgIC5iZy1pbnZlcnNlIC5idG4uYnRuLXN1Y2Nlc3M6YWN0aXZlLCAuYmctaW52ZXJzZSAuYnRuLXN1Y2Nlc3MuY3VzdG9tLWZpbGUtY29udHJvbDphY3RpdmU6OmJlZm9yZSwgLmJnLWludmVyc2UgLmJ0bi5idG4tc3VjY2Vzcy5hY3RpdmUsIC5iZy1pbnZlcnNlIC5idG4tc3VjY2Vzcy5hY3RpdmUuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLFxuICAgICAgLm9wZW4gPiAuYmctaW52ZXJzZSAuYnRuLmJ0bi1zdWNjZXNzLmRyb3Bkb3duLXRvZ2dsZSxcbiAgICAgIC5vcGVuID4gLmJnLWludmVyc2UgLmJ0bi1zdWNjZXNzLmRyb3Bkb3duLXRvZ2dsZS5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUge1xuICAgICAgICBjb2xvcjogIzRjYWY1MDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyMDQsIDIwNCwgMjA0LCAwLjE1KTtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDIwNCwgMjA0LCAyMDQsIDAuMTUpOyB9XG4gICAgICAgIC5iZy1pbnZlcnNlIC5idG4uYnRuLXN1Y2Nlc3M6YWN0aXZlOmhvdmVyLCAuYmctaW52ZXJzZSAuYnRuLXN1Y2Nlc3MuY3VzdG9tLWZpbGUtY29udHJvbDphY3RpdmU6aG92ZXI6OmJlZm9yZSwgLmJnLWludmVyc2UgLmJ0bi5idG4tc3VjY2VzczphY3RpdmU6Zm9jdXMsIC5iZy1pbnZlcnNlIC5idG4tc3VjY2Vzcy5jdXN0b20tZmlsZS1jb250cm9sOmFjdGl2ZTpmb2N1czo6YmVmb3JlLCAuYmctaW52ZXJzZSAuYnRuLmJ0bi1zdWNjZXNzOmFjdGl2ZS5mb2N1cywgLmJnLWludmVyc2UgLmJ0bi1zdWNjZXNzLmN1c3RvbS1maWxlLWNvbnRyb2w6YWN0aXZlLmZvY3VzOjpiZWZvcmUsIC5iZy1pbnZlcnNlIC5idG4uYnRuLXN1Y2Nlc3MuYWN0aXZlOmhvdmVyLCAuYmctaW52ZXJzZSAuYnRuLXN1Y2Nlc3MuYWN0aXZlLmN1c3RvbS1maWxlLWNvbnRyb2w6aG92ZXI6OmJlZm9yZSwgLmJnLWludmVyc2UgLmJ0bi5idG4tc3VjY2Vzcy5hY3RpdmU6Zm9jdXMsIC5iZy1pbnZlcnNlIC5idG4tc3VjY2Vzcy5hY3RpdmUuY3VzdG9tLWZpbGUtY29udHJvbDpmb2N1czo6YmVmb3JlLCAuYmctaW52ZXJzZSAuYnRuLmJ0bi1zdWNjZXNzLmFjdGl2ZS5mb2N1cywgLmJnLWludmVyc2UgLmJ0bi1zdWNjZXNzLmFjdGl2ZS5mb2N1cy5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsXG4gICAgICAgIC5vcGVuID4gLmJnLWludmVyc2UgLmJ0bi5idG4tc3VjY2Vzcy5kcm9wZG93bi10b2dnbGU6aG92ZXIsXG4gICAgICAgIC5vcGVuID4gLmJnLWludmVyc2UgLmJ0bi1zdWNjZXNzLmRyb3Bkb3duLXRvZ2dsZS5jdXN0b20tZmlsZS1jb250cm9sOmhvdmVyOjpiZWZvcmUsXG4gICAgICAgIC5vcGVuID4gLmJnLWludmVyc2UgLmJ0bi5idG4tc3VjY2Vzcy5kcm9wZG93bi10b2dnbGU6Zm9jdXMsXG4gICAgICAgIC5vcGVuID4gLmJnLWludmVyc2UgLmJ0bi1zdWNjZXNzLmRyb3Bkb3duLXRvZ2dsZS5jdXN0b20tZmlsZS1jb250cm9sOmZvY3VzOjpiZWZvcmUsXG4gICAgICAgIC5vcGVuID4gLmJnLWludmVyc2UgLmJ0bi5idG4tc3VjY2Vzcy5kcm9wZG93bi10b2dnbGUuZm9jdXMsXG4gICAgICAgIC5vcGVuID4gLmJnLWludmVyc2UgLmJ0bi1zdWNjZXNzLmRyb3Bkb3duLXRvZ2dsZS5mb2N1cy5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUge1xuICAgICAgICAgIGNvbG9yOiAjNGNhZjUwO1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjA0LCAyMDQsIDIwNCwgMC4yNSk7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDIwNCwgMjA0LCAyMDQsIDAuMjUpOyB9XG4gICAgICAub3BlbiA+IC5iZy1pbnZlcnNlIC5idG4uYnRuLXN1Y2Nlc3MuZHJvcGRvd24tdG9nZ2xlLmJtZC1idG4taWNvbiwgLm9wZW4gPiAuYmctaW52ZXJzZSAuYnRuLXN1Y2Nlc3MuZHJvcGRvd24tdG9nZ2xlLmJtZC1idG4taWNvbi5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUge1xuICAgICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDsgfVxuICAgICAgICAub3BlbiA+IC5iZy1pbnZlcnNlIC5idG4uYnRuLXN1Y2Nlc3MuZHJvcGRvd24tdG9nZ2xlLmJtZC1idG4taWNvbjpob3ZlciwgLm9wZW4gPiAuYmctaW52ZXJzZSAuYnRuLXN1Y2Nlc3MuZHJvcGRvd24tdG9nZ2xlLmJtZC1idG4taWNvbi5jdXN0b20tZmlsZS1jb250cm9sOmhvdmVyOjpiZWZvcmUge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjA0LCAyMDQsIDIwNCwgMC4xNSk7IH1cbiAgICAgIC5iZy1pbnZlcnNlIC5idG4uYnRuLXN1Y2Nlc3MuZGlzYWJsZWQ6Zm9jdXMsIC5iZy1pbnZlcnNlIC5idG4tc3VjY2Vzcy5kaXNhYmxlZC5jdXN0b20tZmlsZS1jb250cm9sOmZvY3VzOjpiZWZvcmUsIC5iZy1pbnZlcnNlIC5idG4uYnRuLXN1Y2Nlc3MuZGlzYWJsZWQuZm9jdXMsIC5iZy1pbnZlcnNlIC5idG4tc3VjY2Vzcy5kaXNhYmxlZC5mb2N1cy5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsIC5iZy1pbnZlcnNlIC5idG4uYnRuLXN1Y2Nlc3M6ZGlzYWJsZWQ6Zm9jdXMsIC5iZy1pbnZlcnNlIC5idG4tc3VjY2Vzcy5jdXN0b20tZmlsZS1jb250cm9sOmRpc2FibGVkOmZvY3VzOjpiZWZvcmUsIC5iZy1pbnZlcnNlIC5idG4uYnRuLXN1Y2Nlc3M6ZGlzYWJsZWQuZm9jdXMsIC5iZy1pbnZlcnNlIC5idG4tc3VjY2Vzcy5jdXN0b20tZmlsZS1jb250cm9sOmRpc2FibGVkLmZvY3VzOjpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0O1xuICAgICAgICBib3JkZXItY29sb3I6ICNjY2M7IH1cbiAgICAgIC5iZy1pbnZlcnNlIC5idG4uYnRuLXN1Y2Nlc3MuZGlzYWJsZWQ6aG92ZXIsIC5iZy1pbnZlcnNlIC5idG4tc3VjY2Vzcy5kaXNhYmxlZC5jdXN0b20tZmlsZS1jb250cm9sOmhvdmVyOjpiZWZvcmUsIC5iZy1pbnZlcnNlIC5idG4uYnRuLXN1Y2Nlc3M6ZGlzYWJsZWQ6aG92ZXIsIC5iZy1pbnZlcnNlIC5idG4tc3VjY2Vzcy5jdXN0b20tZmlsZS1jb250cm9sOmRpc2FibGVkOmhvdmVyOjpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0O1xuICAgICAgICBib3JkZXItY29sb3I6ICNjY2M7IH1cbiAgICAuYnRuLmJ0bi1zdWNjZXNzLmJ0bi1saW5rLCAuYnRuLXN1Y2Nlc3MuYnRuLWxpbmsuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gIC5idG4uYnRuLXdhcm5pbmcsIC5idG4td2FybmluZy5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUge1xuICAgIGNvbG9yOiAjZmY1NzIyO1xuICAgIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7XG4gICAgYm9yZGVyLWNvbG9yOiAjY2NjOyB9XG4gICAgLmJ0bi5idG4td2FybmluZzpob3ZlciwgLmJ0bi13YXJuaW5nLmN1c3RvbS1maWxlLWNvbnRyb2w6aG92ZXI6OmJlZm9yZSB7XG4gICAgICBjb2xvcjogI2ZmNTcyMjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTUzLCAxNTMsIDE1MywgMC4yKTtcbiAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgxNTMsIDE1MywgMTUzLCAwLjIpOyB9XG4gICAgLmJ0bi5idG4td2FybmluZzpmb2N1cywgLmJ0bi13YXJuaW5nLmN1c3RvbS1maWxlLWNvbnRyb2w6Zm9jdXM6OmJlZm9yZSwgLmJ0bi5idG4td2FybmluZy5mb2N1cywgLmJ0bi13YXJuaW5nLmZvY3VzLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSB7XG4gICAgICBjb2xvcjogI2ZmNTcyMjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTUzLCAxNTMsIDE1MywgMC4yKTtcbiAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgxNTMsIDE1MywgMTUzLCAwLjIpOyB9XG4gICAgLmJ0bi5idG4td2FybmluZzphY3RpdmUsIC5idG4td2FybmluZy5jdXN0b20tZmlsZS1jb250cm9sOmFjdGl2ZTo6YmVmb3JlLCAuYnRuLmJ0bi13YXJuaW5nLmFjdGl2ZSwgLmJ0bi13YXJuaW5nLmFjdGl2ZS5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsXG4gICAgLm9wZW4gPiAuYnRuLmJ0bi13YXJuaW5nLmRyb3Bkb3duLXRvZ2dsZSxcbiAgICAub3BlbiA+IC5idG4td2FybmluZy5kcm9wZG93bi10b2dnbGUuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlIHtcbiAgICAgIGNvbG9yOiAjZmY1NzIyO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxNTMsIDE1MywgMTUzLCAwLjIpO1xuICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDE1MywgMTUzLCAxNTMsIDAuMik7IH1cbiAgICAgIC5idG4uYnRuLXdhcm5pbmc6YWN0aXZlOmhvdmVyLCAuYnRuLXdhcm5pbmcuY3VzdG9tLWZpbGUtY29udHJvbDphY3RpdmU6aG92ZXI6OmJlZm9yZSwgLmJ0bi5idG4td2FybmluZzphY3RpdmU6Zm9jdXMsIC5idG4td2FybmluZy5jdXN0b20tZmlsZS1jb250cm9sOmFjdGl2ZTpmb2N1czo6YmVmb3JlLCAuYnRuLmJ0bi13YXJuaW5nOmFjdGl2ZS5mb2N1cywgLmJ0bi13YXJuaW5nLmN1c3RvbS1maWxlLWNvbnRyb2w6YWN0aXZlLmZvY3VzOjpiZWZvcmUsIC5idG4uYnRuLXdhcm5pbmcuYWN0aXZlOmhvdmVyLCAuYnRuLXdhcm5pbmcuYWN0aXZlLmN1c3RvbS1maWxlLWNvbnRyb2w6aG92ZXI6OmJlZm9yZSwgLmJ0bi5idG4td2FybmluZy5hY3RpdmU6Zm9jdXMsIC5idG4td2FybmluZy5hY3RpdmUuY3VzdG9tLWZpbGUtY29udHJvbDpmb2N1czo6YmVmb3JlLCAuYnRuLmJ0bi13YXJuaW5nLmFjdGl2ZS5mb2N1cywgLmJ0bi13YXJuaW5nLmFjdGl2ZS5mb2N1cy5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsXG4gICAgICAub3BlbiA+IC5idG4uYnRuLXdhcm5pbmcuZHJvcGRvd24tdG9nZ2xlOmhvdmVyLFxuICAgICAgLm9wZW4gPiAuYnRuLXdhcm5pbmcuZHJvcGRvd24tdG9nZ2xlLmN1c3RvbS1maWxlLWNvbnRyb2w6aG92ZXI6OmJlZm9yZSxcbiAgICAgIC5vcGVuID4gLmJ0bi5idG4td2FybmluZy5kcm9wZG93bi10b2dnbGU6Zm9jdXMsXG4gICAgICAub3BlbiA+IC5idG4td2FybmluZy5kcm9wZG93bi10b2dnbGUuY3VzdG9tLWZpbGUtY29udHJvbDpmb2N1czo6YmVmb3JlLFxuICAgICAgLm9wZW4gPiAuYnRuLmJ0bi13YXJuaW5nLmRyb3Bkb3duLXRvZ2dsZS5mb2N1cyxcbiAgICAgIC5vcGVuID4gLmJ0bi13YXJuaW5nLmRyb3Bkb3duLXRvZ2dsZS5mb2N1cy5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUge1xuICAgICAgICBjb2xvcjogI2ZmNTcyMjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxNTMsIDE1MywgMTUzLCAwLjQpO1xuICAgICAgICBib3JkZXItY29sb3I6IHJnYmEoMTUzLCAxNTMsIDE1MywgMC40KTsgfVxuICAgIC5vcGVuID4gLmJ0bi5idG4td2FybmluZy5kcm9wZG93bi10b2dnbGUuYm1kLWJ0bi1pY29uLCAub3BlbiA+IC5idG4td2FybmluZy5kcm9wZG93bi10b2dnbGUuYm1kLWJ0bi1pY29uLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSB7XG4gICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7IH1cbiAgICAgIC5vcGVuID4gLmJ0bi5idG4td2FybmluZy5kcm9wZG93bi10b2dnbGUuYm1kLWJ0bi1pY29uOmhvdmVyLCAub3BlbiA+IC5idG4td2FybmluZy5kcm9wZG93bi10b2dnbGUuYm1kLWJ0bi1pY29uLmN1c3RvbS1maWxlLWNvbnRyb2w6aG92ZXI6OmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTUzLCAxNTMsIDE1MywgMC4yKTsgfVxuICAgIC5idG4uYnRuLXdhcm5pbmcuZGlzYWJsZWQ6Zm9jdXMsIC5idG4td2FybmluZy5kaXNhYmxlZC5jdXN0b20tZmlsZS1jb250cm9sOmZvY3VzOjpiZWZvcmUsIC5idG4uYnRuLXdhcm5pbmcuZGlzYWJsZWQuZm9jdXMsIC5idG4td2FybmluZy5kaXNhYmxlZC5mb2N1cy5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsIC5idG4uYnRuLXdhcm5pbmc6ZGlzYWJsZWQ6Zm9jdXMsIC5idG4td2FybmluZy5jdXN0b20tZmlsZS1jb250cm9sOmRpc2FibGVkOmZvY3VzOjpiZWZvcmUsIC5idG4uYnRuLXdhcm5pbmc6ZGlzYWJsZWQuZm9jdXMsIC5idG4td2FybmluZy5jdXN0b20tZmlsZS1jb250cm9sOmRpc2FibGVkLmZvY3VzOjpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDtcbiAgICAgIGJvcmRlci1jb2xvcjogI2NjYzsgfVxuICAgIC5idG4uYnRuLXdhcm5pbmcuZGlzYWJsZWQ6aG92ZXIsIC5idG4td2FybmluZy5kaXNhYmxlZC5jdXN0b20tZmlsZS1jb250cm9sOmhvdmVyOjpiZWZvcmUsIC5idG4uYnRuLXdhcm5pbmc6ZGlzYWJsZWQ6aG92ZXIsIC5idG4td2FybmluZy5jdXN0b20tZmlsZS1jb250cm9sOmRpc2FibGVkOmhvdmVyOjpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDtcbiAgICAgIGJvcmRlci1jb2xvcjogI2NjYzsgfVxuICAgIC5iZy1pbnZlcnNlIC5idG4uYnRuLXdhcm5pbmcsIC5iZy1pbnZlcnNlIC5idG4td2FybmluZy5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUge1xuICAgICAgY29sb3I6ICNmZjU3MjI7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0O1xuICAgICAgYm9yZGVyLWNvbG9yOiAjY2NjOyB9XG4gICAgICAuYmctaW52ZXJzZSAuYnRuLmJ0bi13YXJuaW5nOmhvdmVyLCAuYmctaW52ZXJzZSAuYnRuLXdhcm5pbmcuY3VzdG9tLWZpbGUtY29udHJvbDpob3Zlcjo6YmVmb3JlIHtcbiAgICAgICAgY29sb3I6ICNmZjU3MjI7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjA0LCAyMDQsIDIwNCwgMC4xNSk7XG4gICAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgyMDQsIDIwNCwgMjA0LCAwLjE1KTsgfVxuICAgICAgLmJnLWludmVyc2UgLmJ0bi5idG4td2FybmluZzpmb2N1cywgLmJnLWludmVyc2UgLmJ0bi13YXJuaW5nLmN1c3RvbS1maWxlLWNvbnRyb2w6Zm9jdXM6OmJlZm9yZSwgLmJnLWludmVyc2UgLmJ0bi5idG4td2FybmluZy5mb2N1cywgLmJnLWludmVyc2UgLmJ0bi13YXJuaW5nLmZvY3VzLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSB7XG4gICAgICAgIGNvbG9yOiAjZmY1NzIyO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDIwNCwgMjA0LCAyMDQsIDAuMTUpO1xuICAgICAgICBib3JkZXItY29sb3I6IHJnYmEoMjA0LCAyMDQsIDIwNCwgMC4xNSk7IH1cbiAgICAgIC5iZy1pbnZlcnNlIC5idG4uYnRuLXdhcm5pbmc6YWN0aXZlLCAuYmctaW52ZXJzZSAuYnRuLXdhcm5pbmcuY3VzdG9tLWZpbGUtY29udHJvbDphY3RpdmU6OmJlZm9yZSwgLmJnLWludmVyc2UgLmJ0bi5idG4td2FybmluZy5hY3RpdmUsIC5iZy1pbnZlcnNlIC5idG4td2FybmluZy5hY3RpdmUuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLFxuICAgICAgLm9wZW4gPiAuYmctaW52ZXJzZSAuYnRuLmJ0bi13YXJuaW5nLmRyb3Bkb3duLXRvZ2dsZSxcbiAgICAgIC5vcGVuID4gLmJnLWludmVyc2UgLmJ0bi13YXJuaW5nLmRyb3Bkb3duLXRvZ2dsZS5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUge1xuICAgICAgICBjb2xvcjogI2ZmNTcyMjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyMDQsIDIwNCwgMjA0LCAwLjE1KTtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDIwNCwgMjA0LCAyMDQsIDAuMTUpOyB9XG4gICAgICAgIC5iZy1pbnZlcnNlIC5idG4uYnRuLXdhcm5pbmc6YWN0aXZlOmhvdmVyLCAuYmctaW52ZXJzZSAuYnRuLXdhcm5pbmcuY3VzdG9tLWZpbGUtY29udHJvbDphY3RpdmU6aG92ZXI6OmJlZm9yZSwgLmJnLWludmVyc2UgLmJ0bi5idG4td2FybmluZzphY3RpdmU6Zm9jdXMsIC5iZy1pbnZlcnNlIC5idG4td2FybmluZy5jdXN0b20tZmlsZS1jb250cm9sOmFjdGl2ZTpmb2N1czo6YmVmb3JlLCAuYmctaW52ZXJzZSAuYnRuLmJ0bi13YXJuaW5nOmFjdGl2ZS5mb2N1cywgLmJnLWludmVyc2UgLmJ0bi13YXJuaW5nLmN1c3RvbS1maWxlLWNvbnRyb2w6YWN0aXZlLmZvY3VzOjpiZWZvcmUsIC5iZy1pbnZlcnNlIC5idG4uYnRuLXdhcm5pbmcuYWN0aXZlOmhvdmVyLCAuYmctaW52ZXJzZSAuYnRuLXdhcm5pbmcuYWN0aXZlLmN1c3RvbS1maWxlLWNvbnRyb2w6aG92ZXI6OmJlZm9yZSwgLmJnLWludmVyc2UgLmJ0bi5idG4td2FybmluZy5hY3RpdmU6Zm9jdXMsIC5iZy1pbnZlcnNlIC5idG4td2FybmluZy5hY3RpdmUuY3VzdG9tLWZpbGUtY29udHJvbDpmb2N1czo6YmVmb3JlLCAuYmctaW52ZXJzZSAuYnRuLmJ0bi13YXJuaW5nLmFjdGl2ZS5mb2N1cywgLmJnLWludmVyc2UgLmJ0bi13YXJuaW5nLmFjdGl2ZS5mb2N1cy5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsXG4gICAgICAgIC5vcGVuID4gLmJnLWludmVyc2UgLmJ0bi5idG4td2FybmluZy5kcm9wZG93bi10b2dnbGU6aG92ZXIsXG4gICAgICAgIC5vcGVuID4gLmJnLWludmVyc2UgLmJ0bi13YXJuaW5nLmRyb3Bkb3duLXRvZ2dsZS5jdXN0b20tZmlsZS1jb250cm9sOmhvdmVyOjpiZWZvcmUsXG4gICAgICAgIC5vcGVuID4gLmJnLWludmVyc2UgLmJ0bi5idG4td2FybmluZy5kcm9wZG93bi10b2dnbGU6Zm9jdXMsXG4gICAgICAgIC5vcGVuID4gLmJnLWludmVyc2UgLmJ0bi13YXJuaW5nLmRyb3Bkb3duLXRvZ2dsZS5jdXN0b20tZmlsZS1jb250cm9sOmZvY3VzOjpiZWZvcmUsXG4gICAgICAgIC5vcGVuID4gLmJnLWludmVyc2UgLmJ0bi5idG4td2FybmluZy5kcm9wZG93bi10b2dnbGUuZm9jdXMsXG4gICAgICAgIC5vcGVuID4gLmJnLWludmVyc2UgLmJ0bi13YXJuaW5nLmRyb3Bkb3duLXRvZ2dsZS5mb2N1cy5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUge1xuICAgICAgICAgIGNvbG9yOiAjZmY1NzIyO1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjA0LCAyMDQsIDIwNCwgMC4yNSk7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDIwNCwgMjA0LCAyMDQsIDAuMjUpOyB9XG4gICAgICAub3BlbiA+IC5iZy1pbnZlcnNlIC5idG4uYnRuLXdhcm5pbmcuZHJvcGRvd24tdG9nZ2xlLmJtZC1idG4taWNvbiwgLm9wZW4gPiAuYmctaW52ZXJzZSAuYnRuLXdhcm5pbmcuZHJvcGRvd24tdG9nZ2xlLmJtZC1idG4taWNvbi5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUge1xuICAgICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDsgfVxuICAgICAgICAub3BlbiA+IC5iZy1pbnZlcnNlIC5idG4uYnRuLXdhcm5pbmcuZHJvcGRvd24tdG9nZ2xlLmJtZC1idG4taWNvbjpob3ZlciwgLm9wZW4gPiAuYmctaW52ZXJzZSAuYnRuLXdhcm5pbmcuZHJvcGRvd24tdG9nZ2xlLmJtZC1idG4taWNvbi5jdXN0b20tZmlsZS1jb250cm9sOmhvdmVyOjpiZWZvcmUge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjA0LCAyMDQsIDIwNCwgMC4xNSk7IH1cbiAgICAgIC5iZy1pbnZlcnNlIC5idG4uYnRuLXdhcm5pbmcuZGlzYWJsZWQ6Zm9jdXMsIC5iZy1pbnZlcnNlIC5idG4td2FybmluZy5kaXNhYmxlZC5jdXN0b20tZmlsZS1jb250cm9sOmZvY3VzOjpiZWZvcmUsIC5iZy1pbnZlcnNlIC5idG4uYnRuLXdhcm5pbmcuZGlzYWJsZWQuZm9jdXMsIC5iZy1pbnZlcnNlIC5idG4td2FybmluZy5kaXNhYmxlZC5mb2N1cy5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsIC5iZy1pbnZlcnNlIC5idG4uYnRuLXdhcm5pbmc6ZGlzYWJsZWQ6Zm9jdXMsIC5iZy1pbnZlcnNlIC5idG4td2FybmluZy5jdXN0b20tZmlsZS1jb250cm9sOmRpc2FibGVkOmZvY3VzOjpiZWZvcmUsIC5iZy1pbnZlcnNlIC5idG4uYnRuLXdhcm5pbmc6ZGlzYWJsZWQuZm9jdXMsIC5iZy1pbnZlcnNlIC5idG4td2FybmluZy5jdXN0b20tZmlsZS1jb250cm9sOmRpc2FibGVkLmZvY3VzOjpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0O1xuICAgICAgICBib3JkZXItY29sb3I6ICNjY2M7IH1cbiAgICAgIC5iZy1pbnZlcnNlIC5idG4uYnRuLXdhcm5pbmcuZGlzYWJsZWQ6aG92ZXIsIC5iZy1pbnZlcnNlIC5idG4td2FybmluZy5kaXNhYmxlZC5jdXN0b20tZmlsZS1jb250cm9sOmhvdmVyOjpiZWZvcmUsIC5iZy1pbnZlcnNlIC5idG4uYnRuLXdhcm5pbmc6ZGlzYWJsZWQ6aG92ZXIsIC5iZy1pbnZlcnNlIC5idG4td2FybmluZy5jdXN0b20tZmlsZS1jb250cm9sOmRpc2FibGVkOmhvdmVyOjpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0O1xuICAgICAgICBib3JkZXItY29sb3I6ICNjY2M7IH1cbiAgICAuYnRuLmJ0bi13YXJuaW5nLmJ0bi1saW5rLCAuYnRuLXdhcm5pbmcuYnRuLWxpbmsuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gIC5idG4uYnRuLWRhbmdlciwgLmJ0bi1kYW5nZXIuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlIHtcbiAgICBjb2xvcjogI2Y0NDMzNjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0O1xuICAgIGJvcmRlci1jb2xvcjogI2NjYzsgfVxuICAgIC5idG4uYnRuLWRhbmdlcjpob3ZlciwgLmJ0bi1kYW5nZXIuY3VzdG9tLWZpbGUtY29udHJvbDpob3Zlcjo6YmVmb3JlIHtcbiAgICAgIGNvbG9yOiAjZjQ0MzM2O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxNTMsIDE1MywgMTUzLCAwLjIpO1xuICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDE1MywgMTUzLCAxNTMsIDAuMik7IH1cbiAgICAuYnRuLmJ0bi1kYW5nZXI6Zm9jdXMsIC5idG4tZGFuZ2VyLmN1c3RvbS1maWxlLWNvbnRyb2w6Zm9jdXM6OmJlZm9yZSwgLmJ0bi5idG4tZGFuZ2VyLmZvY3VzLCAuYnRuLWRhbmdlci5mb2N1cy5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUge1xuICAgICAgY29sb3I6ICNmNDQzMzY7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDE1MywgMTUzLCAxNTMsIDAuMik7XG4gICAgICBib3JkZXItY29sb3I6IHJnYmEoMTUzLCAxNTMsIDE1MywgMC4yKTsgfVxuICAgIC5idG4uYnRuLWRhbmdlcjphY3RpdmUsIC5idG4tZGFuZ2VyLmN1c3RvbS1maWxlLWNvbnRyb2w6YWN0aXZlOjpiZWZvcmUsIC5idG4uYnRuLWRhbmdlci5hY3RpdmUsIC5idG4tZGFuZ2VyLmFjdGl2ZS5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsXG4gICAgLm9wZW4gPiAuYnRuLmJ0bi1kYW5nZXIuZHJvcGRvd24tdG9nZ2xlLFxuICAgIC5vcGVuID4gLmJ0bi1kYW5nZXIuZHJvcGRvd24tdG9nZ2xlLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSB7XG4gICAgICBjb2xvcjogI2Y0NDMzNjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTUzLCAxNTMsIDE1MywgMC4yKTtcbiAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgxNTMsIDE1MywgMTUzLCAwLjIpOyB9XG4gICAgICAuYnRuLmJ0bi1kYW5nZXI6YWN0aXZlOmhvdmVyLCAuYnRuLWRhbmdlci5jdXN0b20tZmlsZS1jb250cm9sOmFjdGl2ZTpob3Zlcjo6YmVmb3JlLCAuYnRuLmJ0bi1kYW5nZXI6YWN0aXZlOmZvY3VzLCAuYnRuLWRhbmdlci5jdXN0b20tZmlsZS1jb250cm9sOmFjdGl2ZTpmb2N1czo6YmVmb3JlLCAuYnRuLmJ0bi1kYW5nZXI6YWN0aXZlLmZvY3VzLCAuYnRuLWRhbmdlci5jdXN0b20tZmlsZS1jb250cm9sOmFjdGl2ZS5mb2N1czo6YmVmb3JlLCAuYnRuLmJ0bi1kYW5nZXIuYWN0aXZlOmhvdmVyLCAuYnRuLWRhbmdlci5hY3RpdmUuY3VzdG9tLWZpbGUtY29udHJvbDpob3Zlcjo6YmVmb3JlLCAuYnRuLmJ0bi1kYW5nZXIuYWN0aXZlOmZvY3VzLCAuYnRuLWRhbmdlci5hY3RpdmUuY3VzdG9tLWZpbGUtY29udHJvbDpmb2N1czo6YmVmb3JlLCAuYnRuLmJ0bi1kYW5nZXIuYWN0aXZlLmZvY3VzLCAuYnRuLWRhbmdlci5hY3RpdmUuZm9jdXMuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLFxuICAgICAgLm9wZW4gPiAuYnRuLmJ0bi1kYW5nZXIuZHJvcGRvd24tdG9nZ2xlOmhvdmVyLFxuICAgICAgLm9wZW4gPiAuYnRuLWRhbmdlci5kcm9wZG93bi10b2dnbGUuY3VzdG9tLWZpbGUtY29udHJvbDpob3Zlcjo6YmVmb3JlLFxuICAgICAgLm9wZW4gPiAuYnRuLmJ0bi1kYW5nZXIuZHJvcGRvd24tdG9nZ2xlOmZvY3VzLFxuICAgICAgLm9wZW4gPiAuYnRuLWRhbmdlci5kcm9wZG93bi10b2dnbGUuY3VzdG9tLWZpbGUtY29udHJvbDpmb2N1czo6YmVmb3JlLFxuICAgICAgLm9wZW4gPiAuYnRuLmJ0bi1kYW5nZXIuZHJvcGRvd24tdG9nZ2xlLmZvY3VzLFxuICAgICAgLm9wZW4gPiAuYnRuLWRhbmdlci5kcm9wZG93bi10b2dnbGUuZm9jdXMuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlIHtcbiAgICAgICAgY29sb3I6ICNmNDQzMzY7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTUzLCAxNTMsIDE1MywgMC40KTtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDE1MywgMTUzLCAxNTMsIDAuNCk7IH1cbiAgICAub3BlbiA+IC5idG4uYnRuLWRhbmdlci5kcm9wZG93bi10b2dnbGUuYm1kLWJ0bi1pY29uLCAub3BlbiA+IC5idG4tZGFuZ2VyLmRyb3Bkb3duLXRvZ2dsZS5ibWQtYnRuLWljb24uY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlIHtcbiAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDsgfVxuICAgICAgLm9wZW4gPiAuYnRuLmJ0bi1kYW5nZXIuZHJvcGRvd24tdG9nZ2xlLmJtZC1idG4taWNvbjpob3ZlciwgLm9wZW4gPiAuYnRuLWRhbmdlci5kcm9wZG93bi10b2dnbGUuYm1kLWJ0bi1pY29uLmN1c3RvbS1maWxlLWNvbnRyb2w6aG92ZXI6OmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTUzLCAxNTMsIDE1MywgMC4yKTsgfVxuICAgIC5idG4uYnRuLWRhbmdlci5kaXNhYmxlZDpmb2N1cywgLmJ0bi1kYW5nZXIuZGlzYWJsZWQuY3VzdG9tLWZpbGUtY29udHJvbDpmb2N1czo6YmVmb3JlLCAuYnRuLmJ0bi1kYW5nZXIuZGlzYWJsZWQuZm9jdXMsIC5idG4tZGFuZ2VyLmRpc2FibGVkLmZvY3VzLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSwgLmJ0bi5idG4tZGFuZ2VyOmRpc2FibGVkOmZvY3VzLCAuYnRuLWRhbmdlci5jdXN0b20tZmlsZS1jb250cm9sOmRpc2FibGVkOmZvY3VzOjpiZWZvcmUsIC5idG4uYnRuLWRhbmdlcjpkaXNhYmxlZC5mb2N1cywgLmJ0bi1kYW5nZXIuY3VzdG9tLWZpbGUtY29udHJvbDpkaXNhYmxlZC5mb2N1czo6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7XG4gICAgICBib3JkZXItY29sb3I6ICNjY2M7IH1cbiAgICAuYnRuLmJ0bi1kYW5nZXIuZGlzYWJsZWQ6aG92ZXIsIC5idG4tZGFuZ2VyLmRpc2FibGVkLmN1c3RvbS1maWxlLWNvbnRyb2w6aG92ZXI6OmJlZm9yZSwgLmJ0bi5idG4tZGFuZ2VyOmRpc2FibGVkOmhvdmVyLCAuYnRuLWRhbmdlci5jdXN0b20tZmlsZS1jb250cm9sOmRpc2FibGVkOmhvdmVyOjpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDtcbiAgICAgIGJvcmRlci1jb2xvcjogI2NjYzsgfVxuICAgIC5iZy1pbnZlcnNlIC5idG4uYnRuLWRhbmdlciwgLmJnLWludmVyc2UgLmJ0bi1kYW5nZXIuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlIHtcbiAgICAgIGNvbG9yOiAjZjQ0MzM2O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDtcbiAgICAgIGJvcmRlci1jb2xvcjogI2NjYzsgfVxuICAgICAgLmJnLWludmVyc2UgLmJ0bi5idG4tZGFuZ2VyOmhvdmVyLCAuYmctaW52ZXJzZSAuYnRuLWRhbmdlci5jdXN0b20tZmlsZS1jb250cm9sOmhvdmVyOjpiZWZvcmUge1xuICAgICAgICBjb2xvcjogI2Y0NDMzNjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyMDQsIDIwNCwgMjA0LCAwLjE1KTtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDIwNCwgMjA0LCAyMDQsIDAuMTUpOyB9XG4gICAgICAuYmctaW52ZXJzZSAuYnRuLmJ0bi1kYW5nZXI6Zm9jdXMsIC5iZy1pbnZlcnNlIC5idG4tZGFuZ2VyLmN1c3RvbS1maWxlLWNvbnRyb2w6Zm9jdXM6OmJlZm9yZSwgLmJnLWludmVyc2UgLmJ0bi5idG4tZGFuZ2VyLmZvY3VzLCAuYmctaW52ZXJzZSAuYnRuLWRhbmdlci5mb2N1cy5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUge1xuICAgICAgICBjb2xvcjogI2Y0NDMzNjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyMDQsIDIwNCwgMjA0LCAwLjE1KTtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDIwNCwgMjA0LCAyMDQsIDAuMTUpOyB9XG4gICAgICAuYmctaW52ZXJzZSAuYnRuLmJ0bi1kYW5nZXI6YWN0aXZlLCAuYmctaW52ZXJzZSAuYnRuLWRhbmdlci5jdXN0b20tZmlsZS1jb250cm9sOmFjdGl2ZTo6YmVmb3JlLCAuYmctaW52ZXJzZSAuYnRuLmJ0bi1kYW5nZXIuYWN0aXZlLCAuYmctaW52ZXJzZSAuYnRuLWRhbmdlci5hY3RpdmUuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLFxuICAgICAgLm9wZW4gPiAuYmctaW52ZXJzZSAuYnRuLmJ0bi1kYW5nZXIuZHJvcGRvd24tdG9nZ2xlLFxuICAgICAgLm9wZW4gPiAuYmctaW52ZXJzZSAuYnRuLWRhbmdlci5kcm9wZG93bi10b2dnbGUuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlIHtcbiAgICAgICAgY29sb3I6ICNmNDQzMzY7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjA0LCAyMDQsIDIwNCwgMC4xNSk7XG4gICAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgyMDQsIDIwNCwgMjA0LCAwLjE1KTsgfVxuICAgICAgICAuYmctaW52ZXJzZSAuYnRuLmJ0bi1kYW5nZXI6YWN0aXZlOmhvdmVyLCAuYmctaW52ZXJzZSAuYnRuLWRhbmdlci5jdXN0b20tZmlsZS1jb250cm9sOmFjdGl2ZTpob3Zlcjo6YmVmb3JlLCAuYmctaW52ZXJzZSAuYnRuLmJ0bi1kYW5nZXI6YWN0aXZlOmZvY3VzLCAuYmctaW52ZXJzZSAuYnRuLWRhbmdlci5jdXN0b20tZmlsZS1jb250cm9sOmFjdGl2ZTpmb2N1czo6YmVmb3JlLCAuYmctaW52ZXJzZSAuYnRuLmJ0bi1kYW5nZXI6YWN0aXZlLmZvY3VzLCAuYmctaW52ZXJzZSAuYnRuLWRhbmdlci5jdXN0b20tZmlsZS1jb250cm9sOmFjdGl2ZS5mb2N1czo6YmVmb3JlLCAuYmctaW52ZXJzZSAuYnRuLmJ0bi1kYW5nZXIuYWN0aXZlOmhvdmVyLCAuYmctaW52ZXJzZSAuYnRuLWRhbmdlci5hY3RpdmUuY3VzdG9tLWZpbGUtY29udHJvbDpob3Zlcjo6YmVmb3JlLCAuYmctaW52ZXJzZSAuYnRuLmJ0bi1kYW5nZXIuYWN0aXZlOmZvY3VzLCAuYmctaW52ZXJzZSAuYnRuLWRhbmdlci5hY3RpdmUuY3VzdG9tLWZpbGUtY29udHJvbDpmb2N1czo6YmVmb3JlLCAuYmctaW52ZXJzZSAuYnRuLmJ0bi1kYW5nZXIuYWN0aXZlLmZvY3VzLCAuYmctaW52ZXJzZSAuYnRuLWRhbmdlci5hY3RpdmUuZm9jdXMuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLFxuICAgICAgICAub3BlbiA+IC5iZy1pbnZlcnNlIC5idG4uYnRuLWRhbmdlci5kcm9wZG93bi10b2dnbGU6aG92ZXIsXG4gICAgICAgIC5vcGVuID4gLmJnLWludmVyc2UgLmJ0bi1kYW5nZXIuZHJvcGRvd24tdG9nZ2xlLmN1c3RvbS1maWxlLWNvbnRyb2w6aG92ZXI6OmJlZm9yZSxcbiAgICAgICAgLm9wZW4gPiAuYmctaW52ZXJzZSAuYnRuLmJ0bi1kYW5nZXIuZHJvcGRvd24tdG9nZ2xlOmZvY3VzLFxuICAgICAgICAub3BlbiA+IC5iZy1pbnZlcnNlIC5idG4tZGFuZ2VyLmRyb3Bkb3duLXRvZ2dsZS5jdXN0b20tZmlsZS1jb250cm9sOmZvY3VzOjpiZWZvcmUsXG4gICAgICAgIC5vcGVuID4gLmJnLWludmVyc2UgLmJ0bi5idG4tZGFuZ2VyLmRyb3Bkb3duLXRvZ2dsZS5mb2N1cyxcbiAgICAgICAgLm9wZW4gPiAuYmctaW52ZXJzZSAuYnRuLWRhbmdlci5kcm9wZG93bi10b2dnbGUuZm9jdXMuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlIHtcbiAgICAgICAgICBjb2xvcjogI2Y0NDMzNjtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDIwNCwgMjA0LCAyMDQsIDAuMjUpO1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgyMDQsIDIwNCwgMjA0LCAwLjI1KTsgfVxuICAgICAgLm9wZW4gPiAuYmctaW52ZXJzZSAuYnRuLmJ0bi1kYW5nZXIuZHJvcGRvd24tdG9nZ2xlLmJtZC1idG4taWNvbiwgLm9wZW4gPiAuYmctaW52ZXJzZSAuYnRuLWRhbmdlci5kcm9wZG93bi10b2dnbGUuYm1kLWJ0bi1pY29uLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSB7XG4gICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0OyB9XG4gICAgICAgIC5vcGVuID4gLmJnLWludmVyc2UgLmJ0bi5idG4tZGFuZ2VyLmRyb3Bkb3duLXRvZ2dsZS5ibWQtYnRuLWljb246aG92ZXIsIC5vcGVuID4gLmJnLWludmVyc2UgLmJ0bi1kYW5nZXIuZHJvcGRvd24tdG9nZ2xlLmJtZC1idG4taWNvbi5jdXN0b20tZmlsZS1jb250cm9sOmhvdmVyOjpiZWZvcmUge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjA0LCAyMDQsIDIwNCwgMC4xNSk7IH1cbiAgICAgIC5iZy1pbnZlcnNlIC5idG4uYnRuLWRhbmdlci5kaXNhYmxlZDpmb2N1cywgLmJnLWludmVyc2UgLmJ0bi1kYW5nZXIuZGlzYWJsZWQuY3VzdG9tLWZpbGUtY29udHJvbDpmb2N1czo6YmVmb3JlLCAuYmctaW52ZXJzZSAuYnRuLmJ0bi1kYW5nZXIuZGlzYWJsZWQuZm9jdXMsIC5iZy1pbnZlcnNlIC5idG4tZGFuZ2VyLmRpc2FibGVkLmZvY3VzLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSwgLmJnLWludmVyc2UgLmJ0bi5idG4tZGFuZ2VyOmRpc2FibGVkOmZvY3VzLCAuYmctaW52ZXJzZSAuYnRuLWRhbmdlci5jdXN0b20tZmlsZS1jb250cm9sOmRpc2FibGVkOmZvY3VzOjpiZWZvcmUsIC5iZy1pbnZlcnNlIC5idG4uYnRuLWRhbmdlcjpkaXNhYmxlZC5mb2N1cywgLmJnLWludmVyc2UgLmJ0bi1kYW5nZXIuY3VzdG9tLWZpbGUtY29udHJvbDpkaXNhYmxlZC5mb2N1czo6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjY2NjOyB9XG4gICAgICAuYmctaW52ZXJzZSAuYnRuLmJ0bi1kYW5nZXIuZGlzYWJsZWQ6aG92ZXIsIC5iZy1pbnZlcnNlIC5idG4tZGFuZ2VyLmRpc2FibGVkLmN1c3RvbS1maWxlLWNvbnRyb2w6aG92ZXI6OmJlZm9yZSwgLmJnLWludmVyc2UgLmJ0bi5idG4tZGFuZ2VyOmRpc2FibGVkOmhvdmVyLCAuYmctaW52ZXJzZSAuYnRuLWRhbmdlci5jdXN0b20tZmlsZS1jb250cm9sOmRpc2FibGVkOmhvdmVyOjpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0O1xuICAgICAgICBib3JkZXItY29sb3I6ICNjY2M7IH1cbiAgICAuYnRuLmJ0bi1kYW5nZXIuYnRuLWxpbmssIC5idG4tZGFuZ2VyLmJ0bi1saW5rLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAuYnRuLmJtZC1idG4tZmFiLmJ0bi1wcmltYXJ5LCAuYm1kLWJ0bi1mYWIuYnRuLXByaW1hcnkuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLCAuYnRuLmJ0bi1yYWlzZWQuYnRuLXByaW1hcnksIC5idG4tcmFpc2VkLmJ0bi1wcmltYXJ5LmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSxcbiAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi5idG4tcHJpbWFyeSxcbiAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi1wcmltYXJ5LmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSB7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwOTY4ODtcbiAgICBib3JkZXItY29sb3I6ICMwMDk2ODg7IH1cbiAgICAuYnRuLmJtZC1idG4tZmFiLmJ0bi1wcmltYXJ5OmhvdmVyLCAuYm1kLWJ0bi1mYWIuYnRuLXByaW1hcnkuY3VzdG9tLWZpbGUtY29udHJvbDpob3Zlcjo6YmVmb3JlLCAuYnRuLmJ0bi1yYWlzZWQuYnRuLXByaW1hcnk6aG92ZXIsIC5idG4tcmFpc2VkLmJ0bi1wcmltYXJ5LmN1c3RvbS1maWxlLWNvbnRyb2w6aG92ZXI6OmJlZm9yZSxcbiAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLmJ0bi1wcmltYXJ5OmhvdmVyLFxuICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4tcHJpbWFyeS5jdXN0b20tZmlsZS1jb250cm9sOmhvdmVyOjpiZWZvcmUge1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA4Mjc2O1xuICAgICAgYm9yZGVyLWNvbG9yOiAjMDA1OTUxOyB9XG4gICAgLmJ0bi5ibWQtYnRuLWZhYi5idG4tcHJpbWFyeTpmb2N1cywgLmJtZC1idG4tZmFiLmJ0bi1wcmltYXJ5LmN1c3RvbS1maWxlLWNvbnRyb2w6Zm9jdXM6OmJlZm9yZSwgLmJ0bi5ibWQtYnRuLWZhYi5idG4tcHJpbWFyeS5mb2N1cywgLmJtZC1idG4tZmFiLmJ0bi1wcmltYXJ5LmZvY3VzLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSwgLmJ0bi5idG4tcmFpc2VkLmJ0bi1wcmltYXJ5OmZvY3VzLCAuYnRuLXJhaXNlZC5idG4tcHJpbWFyeS5jdXN0b20tZmlsZS1jb250cm9sOmZvY3VzOjpiZWZvcmUsIC5idG4uYnRuLXJhaXNlZC5idG4tcHJpbWFyeS5mb2N1cywgLmJ0bi1yYWlzZWQuYnRuLXByaW1hcnkuZm9jdXMuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLFxuICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4uYnRuLXByaW1hcnk6Zm9jdXMsXG4gICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi1wcmltYXJ5LmN1c3RvbS1maWxlLWNvbnRyb2w6Zm9jdXM6OmJlZm9yZSxcbiAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLmJ0bi1wcmltYXJ5LmZvY3VzLFxuICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4tcHJpbWFyeS5mb2N1cy5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUge1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA4Mjc2O1xuICAgICAgYm9yZGVyLWNvbG9yOiAjMDA1OTUxOyB9XG4gICAgLmJ0bi5ibWQtYnRuLWZhYi5idG4tcHJpbWFyeTphY3RpdmUsIC5ibWQtYnRuLWZhYi5idG4tcHJpbWFyeS5jdXN0b20tZmlsZS1jb250cm9sOmFjdGl2ZTo6YmVmb3JlLCAuYnRuLmJtZC1idG4tZmFiLmJ0bi1wcmltYXJ5LmFjdGl2ZSwgLmJtZC1idG4tZmFiLmJ0bi1wcmltYXJ5LmFjdGl2ZS5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsXG4gICAgLm9wZW4gPiAuYnRuLmJtZC1idG4tZmFiLmJ0bi1wcmltYXJ5LmRyb3Bkb3duLXRvZ2dsZSxcbiAgICAub3BlbiA+IC5ibWQtYnRuLWZhYi5idG4tcHJpbWFyeS5kcm9wZG93bi10b2dnbGUuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLCAuYnRuLmJ0bi1yYWlzZWQuYnRuLXByaW1hcnk6YWN0aXZlLCAuYnRuLXJhaXNlZC5idG4tcHJpbWFyeS5jdXN0b20tZmlsZS1jb250cm9sOmFjdGl2ZTo6YmVmb3JlLCAuYnRuLmJ0bi1yYWlzZWQuYnRuLXByaW1hcnkuYWN0aXZlLCAuYnRuLXJhaXNlZC5idG4tcHJpbWFyeS5hY3RpdmUuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLFxuICAgIC5vcGVuID4gLmJ0bi5idG4tcmFpc2VkLmJ0bi1wcmltYXJ5LmRyb3Bkb3duLXRvZ2dsZSxcbiAgICAub3BlbiA+IC5idG4tcmFpc2VkLmJ0bi1wcmltYXJ5LmRyb3Bkb3duLXRvZ2dsZS5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsXG4gICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi5idG4tcHJpbWFyeTphY3RpdmUsXG4gICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi1wcmltYXJ5LmN1c3RvbS1maWxlLWNvbnRyb2w6YWN0aXZlOjpiZWZvcmUsXG4gICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi5idG4tcHJpbWFyeS5hY3RpdmUsXG4gICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi1wcmltYXJ5LmFjdGl2ZS5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsXG4gICAgLm9wZW4gPlxuICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4uYnRuLXByaW1hcnkuZHJvcGRvd24tdG9nZ2xlLFxuICAgIC5vcGVuID5cbiAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLXByaW1hcnkuZHJvcGRvd24tdG9nZ2xlLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSB7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDgyNzY7XG4gICAgICBib3JkZXItY29sb3I6ICMwMDU5NTE7IH1cbiAgICAgIC5idG4uYm1kLWJ0bi1mYWIuYnRuLXByaW1hcnk6YWN0aXZlOmhvdmVyLCAuYm1kLWJ0bi1mYWIuYnRuLXByaW1hcnkuY3VzdG9tLWZpbGUtY29udHJvbDphY3RpdmU6aG92ZXI6OmJlZm9yZSwgLmJ0bi5ibWQtYnRuLWZhYi5idG4tcHJpbWFyeTphY3RpdmU6Zm9jdXMsIC5ibWQtYnRuLWZhYi5idG4tcHJpbWFyeS5jdXN0b20tZmlsZS1jb250cm9sOmFjdGl2ZTpmb2N1czo6YmVmb3JlLCAuYnRuLmJtZC1idG4tZmFiLmJ0bi1wcmltYXJ5OmFjdGl2ZS5mb2N1cywgLmJtZC1idG4tZmFiLmJ0bi1wcmltYXJ5LmN1c3RvbS1maWxlLWNvbnRyb2w6YWN0aXZlLmZvY3VzOjpiZWZvcmUsIC5idG4uYm1kLWJ0bi1mYWIuYnRuLXByaW1hcnkuYWN0aXZlOmhvdmVyLCAuYm1kLWJ0bi1mYWIuYnRuLXByaW1hcnkuYWN0aXZlLmN1c3RvbS1maWxlLWNvbnRyb2w6aG92ZXI6OmJlZm9yZSwgLmJ0bi5ibWQtYnRuLWZhYi5idG4tcHJpbWFyeS5hY3RpdmU6Zm9jdXMsIC5ibWQtYnRuLWZhYi5idG4tcHJpbWFyeS5hY3RpdmUuY3VzdG9tLWZpbGUtY29udHJvbDpmb2N1czo6YmVmb3JlLCAuYnRuLmJtZC1idG4tZmFiLmJ0bi1wcmltYXJ5LmFjdGl2ZS5mb2N1cywgLmJtZC1idG4tZmFiLmJ0bi1wcmltYXJ5LmFjdGl2ZS5mb2N1cy5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsXG4gICAgICAub3BlbiA+IC5idG4uYm1kLWJ0bi1mYWIuYnRuLXByaW1hcnkuZHJvcGRvd24tdG9nZ2xlOmhvdmVyLFxuICAgICAgLm9wZW4gPiAuYm1kLWJ0bi1mYWIuYnRuLXByaW1hcnkuZHJvcGRvd24tdG9nZ2xlLmN1c3RvbS1maWxlLWNvbnRyb2w6aG92ZXI6OmJlZm9yZSxcbiAgICAgIC5vcGVuID4gLmJ0bi5ibWQtYnRuLWZhYi5idG4tcHJpbWFyeS5kcm9wZG93bi10b2dnbGU6Zm9jdXMsXG4gICAgICAub3BlbiA+IC5ibWQtYnRuLWZhYi5idG4tcHJpbWFyeS5kcm9wZG93bi10b2dnbGUuY3VzdG9tLWZpbGUtY29udHJvbDpmb2N1czo6YmVmb3JlLFxuICAgICAgLm9wZW4gPiAuYnRuLmJtZC1idG4tZmFiLmJ0bi1wcmltYXJ5LmRyb3Bkb3duLXRvZ2dsZS5mb2N1cyxcbiAgICAgIC5vcGVuID4gLmJtZC1idG4tZmFiLmJ0bi1wcmltYXJ5LmRyb3Bkb3duLXRvZ2dsZS5mb2N1cy5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsIC5idG4uYnRuLXJhaXNlZC5idG4tcHJpbWFyeTphY3RpdmU6aG92ZXIsIC5idG4tcmFpc2VkLmJ0bi1wcmltYXJ5LmN1c3RvbS1maWxlLWNvbnRyb2w6YWN0aXZlOmhvdmVyOjpiZWZvcmUsIC5idG4uYnRuLXJhaXNlZC5idG4tcHJpbWFyeTphY3RpdmU6Zm9jdXMsIC5idG4tcmFpc2VkLmJ0bi1wcmltYXJ5LmN1c3RvbS1maWxlLWNvbnRyb2w6YWN0aXZlOmZvY3VzOjpiZWZvcmUsIC5idG4uYnRuLXJhaXNlZC5idG4tcHJpbWFyeTphY3RpdmUuZm9jdXMsIC5idG4tcmFpc2VkLmJ0bi1wcmltYXJ5LmN1c3RvbS1maWxlLWNvbnRyb2w6YWN0aXZlLmZvY3VzOjpiZWZvcmUsIC5idG4uYnRuLXJhaXNlZC5idG4tcHJpbWFyeS5hY3RpdmU6aG92ZXIsIC5idG4tcmFpc2VkLmJ0bi1wcmltYXJ5LmFjdGl2ZS5jdXN0b20tZmlsZS1jb250cm9sOmhvdmVyOjpiZWZvcmUsIC5idG4uYnRuLXJhaXNlZC5idG4tcHJpbWFyeS5hY3RpdmU6Zm9jdXMsIC5idG4tcmFpc2VkLmJ0bi1wcmltYXJ5LmFjdGl2ZS5jdXN0b20tZmlsZS1jb250cm9sOmZvY3VzOjpiZWZvcmUsIC5idG4uYnRuLXJhaXNlZC5idG4tcHJpbWFyeS5hY3RpdmUuZm9jdXMsIC5idG4tcmFpc2VkLmJ0bi1wcmltYXJ5LmFjdGl2ZS5mb2N1cy5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsXG4gICAgICAub3BlbiA+IC5idG4uYnRuLXJhaXNlZC5idG4tcHJpbWFyeS5kcm9wZG93bi10b2dnbGU6aG92ZXIsXG4gICAgICAub3BlbiA+IC5idG4tcmFpc2VkLmJ0bi1wcmltYXJ5LmRyb3Bkb3duLXRvZ2dsZS5jdXN0b20tZmlsZS1jb250cm9sOmhvdmVyOjpiZWZvcmUsXG4gICAgICAub3BlbiA+IC5idG4uYnRuLXJhaXNlZC5idG4tcHJpbWFyeS5kcm9wZG93bi10b2dnbGU6Zm9jdXMsXG4gICAgICAub3BlbiA+IC5idG4tcmFpc2VkLmJ0bi1wcmltYXJ5LmRyb3Bkb3duLXRvZ2dsZS5jdXN0b20tZmlsZS1jb250cm9sOmZvY3VzOjpiZWZvcmUsXG4gICAgICAub3BlbiA+IC5idG4uYnRuLXJhaXNlZC5idG4tcHJpbWFyeS5kcm9wZG93bi10b2dnbGUuZm9jdXMsXG4gICAgICAub3BlbiA+IC5idG4tcmFpc2VkLmJ0bi1wcmltYXJ5LmRyb3Bkb3duLXRvZ2dsZS5mb2N1cy5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsXG4gICAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLmJ0bi1wcmltYXJ5OmFjdGl2ZTpob3ZlcixcbiAgICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4tcHJpbWFyeS5jdXN0b20tZmlsZS1jb250cm9sOmFjdGl2ZTpob3Zlcjo6YmVmb3JlLFxuICAgICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi5idG4tcHJpbWFyeTphY3RpdmU6Zm9jdXMsXG4gICAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLXByaW1hcnkuY3VzdG9tLWZpbGUtY29udHJvbDphY3RpdmU6Zm9jdXM6OmJlZm9yZSxcbiAgICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4uYnRuLXByaW1hcnk6YWN0aXZlLmZvY3VzLFxuICAgICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi1wcmltYXJ5LmN1c3RvbS1maWxlLWNvbnRyb2w6YWN0aXZlLmZvY3VzOjpiZWZvcmUsXG4gICAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLmJ0bi1wcmltYXJ5LmFjdGl2ZTpob3ZlcixcbiAgICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4tcHJpbWFyeS5hY3RpdmUuY3VzdG9tLWZpbGUtY29udHJvbDpob3Zlcjo6YmVmb3JlLFxuICAgICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi5idG4tcHJpbWFyeS5hY3RpdmU6Zm9jdXMsXG4gICAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLXByaW1hcnkuYWN0aXZlLmN1c3RvbS1maWxlLWNvbnRyb2w6Zm9jdXM6OmJlZm9yZSxcbiAgICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4uYnRuLXByaW1hcnkuYWN0aXZlLmZvY3VzLFxuICAgICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi1wcmltYXJ5LmFjdGl2ZS5mb2N1cy5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsXG4gICAgICAub3BlbiA+XG4gICAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLmJ0bi1wcmltYXJ5LmRyb3Bkb3duLXRvZ2dsZTpob3ZlcixcbiAgICAgIC5vcGVuID5cbiAgICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4tcHJpbWFyeS5kcm9wZG93bi10b2dnbGUuY3VzdG9tLWZpbGUtY29udHJvbDpob3Zlcjo6YmVmb3JlLFxuICAgICAgLm9wZW4gPlxuICAgICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi5idG4tcHJpbWFyeS5kcm9wZG93bi10b2dnbGU6Zm9jdXMsXG4gICAgICAub3BlbiA+XG4gICAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLXByaW1hcnkuZHJvcGRvd24tdG9nZ2xlLmN1c3RvbS1maWxlLWNvbnRyb2w6Zm9jdXM6OmJlZm9yZSxcbiAgICAgIC5vcGVuID5cbiAgICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4uYnRuLXByaW1hcnkuZHJvcGRvd24tdG9nZ2xlLmZvY3VzLFxuICAgICAgLm9wZW4gPlxuICAgICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi1wcmltYXJ5LmRyb3Bkb3duLXRvZ2dsZS5mb2N1cy5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUge1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAwODI3NjtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjMDAxNzE0OyB9XG4gICAgLm9wZW4gPiAuYnRuLmJtZC1idG4tZmFiLmJ0bi1wcmltYXJ5LmRyb3Bkb3duLXRvZ2dsZS5ibWQtYnRuLWljb24sIC5vcGVuID4gLmJtZC1idG4tZmFiLmJ0bi1wcmltYXJ5LmRyb3Bkb3duLXRvZ2dsZS5ibWQtYnRuLWljb24uY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLCAub3BlbiA+IC5idG4uYnRuLXJhaXNlZC5idG4tcHJpbWFyeS5kcm9wZG93bi10b2dnbGUuYm1kLWJ0bi1pY29uLCAub3BlbiA+IC5idG4tcmFpc2VkLmJ0bi1wcmltYXJ5LmRyb3Bkb3duLXRvZ2dsZS5ibWQtYnRuLWljb24uY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLCAub3BlbiA+XG4gICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi5idG4tcHJpbWFyeS5kcm9wZG93bi10b2dnbGUuYm1kLWJ0bi1pY29uLCAub3BlbiA+XG4gICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi1wcmltYXJ5LmRyb3Bkb3duLXRvZ2dsZS5ibWQtYnRuLWljb24uY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlIHtcbiAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAwOTY4ODsgfVxuICAgICAgLm9wZW4gPiAuYnRuLmJtZC1idG4tZmFiLmJ0bi1wcmltYXJ5LmRyb3Bkb3duLXRvZ2dsZS5ibWQtYnRuLWljb246aG92ZXIsIC5vcGVuID4gLmJtZC1idG4tZmFiLmJ0bi1wcmltYXJ5LmRyb3Bkb3duLXRvZ2dsZS5ibWQtYnRuLWljb24uY3VzdG9tLWZpbGUtY29udHJvbDpob3Zlcjo6YmVmb3JlLCAub3BlbiA+IC5idG4uYnRuLXJhaXNlZC5idG4tcHJpbWFyeS5kcm9wZG93bi10b2dnbGUuYm1kLWJ0bi1pY29uOmhvdmVyLCAub3BlbiA+IC5idG4tcmFpc2VkLmJ0bi1wcmltYXJ5LmRyb3Bkb3duLXRvZ2dsZS5ibWQtYnRuLWljb24uY3VzdG9tLWZpbGUtY29udHJvbDpob3Zlcjo6YmVmb3JlLCAub3BlbiA+XG4gICAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLmJ0bi1wcmltYXJ5LmRyb3Bkb3duLXRvZ2dsZS5ibWQtYnRuLWljb246aG92ZXIsIC5vcGVuID5cbiAgICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4tcHJpbWFyeS5kcm9wZG93bi10b2dnbGUuYm1kLWJ0bi1pY29uLmN1c3RvbS1maWxlLWNvbnRyb2w6aG92ZXI6OmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDgyNzY7IH1cbiAgICAuYnRuLmJtZC1idG4tZmFiLmJ0bi1wcmltYXJ5LmRpc2FibGVkOmZvY3VzLCAuYm1kLWJ0bi1mYWIuYnRuLXByaW1hcnkuZGlzYWJsZWQuY3VzdG9tLWZpbGUtY29udHJvbDpmb2N1czo6YmVmb3JlLCAuYnRuLmJtZC1idG4tZmFiLmJ0bi1wcmltYXJ5LmRpc2FibGVkLmZvY3VzLCAuYm1kLWJ0bi1mYWIuYnRuLXByaW1hcnkuZGlzYWJsZWQuZm9jdXMuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLCAuYnRuLmJtZC1idG4tZmFiLmJ0bi1wcmltYXJ5OmRpc2FibGVkOmZvY3VzLCAuYm1kLWJ0bi1mYWIuYnRuLXByaW1hcnkuY3VzdG9tLWZpbGUtY29udHJvbDpkaXNhYmxlZDpmb2N1czo6YmVmb3JlLCAuYnRuLmJtZC1idG4tZmFiLmJ0bi1wcmltYXJ5OmRpc2FibGVkLmZvY3VzLCAuYm1kLWJ0bi1mYWIuYnRuLXByaW1hcnkuY3VzdG9tLWZpbGUtY29udHJvbDpkaXNhYmxlZC5mb2N1czo6YmVmb3JlLCAuYnRuLmJ0bi1yYWlzZWQuYnRuLXByaW1hcnkuZGlzYWJsZWQ6Zm9jdXMsIC5idG4tcmFpc2VkLmJ0bi1wcmltYXJ5LmRpc2FibGVkLmN1c3RvbS1maWxlLWNvbnRyb2w6Zm9jdXM6OmJlZm9yZSwgLmJ0bi5idG4tcmFpc2VkLmJ0bi1wcmltYXJ5LmRpc2FibGVkLmZvY3VzLCAuYnRuLXJhaXNlZC5idG4tcHJpbWFyeS5kaXNhYmxlZC5mb2N1cy5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsIC5idG4uYnRuLXJhaXNlZC5idG4tcHJpbWFyeTpkaXNhYmxlZDpmb2N1cywgLmJ0bi1yYWlzZWQuYnRuLXByaW1hcnkuY3VzdG9tLWZpbGUtY29udHJvbDpkaXNhYmxlZDpmb2N1czo6YmVmb3JlLCAuYnRuLmJ0bi1yYWlzZWQuYnRuLXByaW1hcnk6ZGlzYWJsZWQuZm9jdXMsIC5idG4tcmFpc2VkLmJ0bi1wcmltYXJ5LmN1c3RvbS1maWxlLWNvbnRyb2w6ZGlzYWJsZWQuZm9jdXM6OmJlZm9yZSxcbiAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLmJ0bi1wcmltYXJ5LmRpc2FibGVkOmZvY3VzLFxuICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4tcHJpbWFyeS5kaXNhYmxlZC5jdXN0b20tZmlsZS1jb250cm9sOmZvY3VzOjpiZWZvcmUsXG4gICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi5idG4tcHJpbWFyeS5kaXNhYmxlZC5mb2N1cyxcbiAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLXByaW1hcnkuZGlzYWJsZWQuZm9jdXMuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLFxuICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4uYnRuLXByaW1hcnk6ZGlzYWJsZWQ6Zm9jdXMsXG4gICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi1wcmltYXJ5LmN1c3RvbS1maWxlLWNvbnRyb2w6ZGlzYWJsZWQ6Zm9jdXM6OmJlZm9yZSxcbiAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLmJ0bi1wcmltYXJ5OmRpc2FibGVkLmZvY3VzLFxuICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4tcHJpbWFyeS5jdXN0b20tZmlsZS1jb250cm9sOmRpc2FibGVkLmZvY3VzOjpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAwOTY4ODtcbiAgICAgIGJvcmRlci1jb2xvcjogIzAwOTY4ODsgfVxuICAgIC5idG4uYm1kLWJ0bi1mYWIuYnRuLXByaW1hcnkuZGlzYWJsZWQ6aG92ZXIsIC5ibWQtYnRuLWZhYi5idG4tcHJpbWFyeS5kaXNhYmxlZC5jdXN0b20tZmlsZS1jb250cm9sOmhvdmVyOjpiZWZvcmUsIC5idG4uYm1kLWJ0bi1mYWIuYnRuLXByaW1hcnk6ZGlzYWJsZWQ6aG92ZXIsIC5ibWQtYnRuLWZhYi5idG4tcHJpbWFyeS5jdXN0b20tZmlsZS1jb250cm9sOmRpc2FibGVkOmhvdmVyOjpiZWZvcmUsIC5idG4uYnRuLXJhaXNlZC5idG4tcHJpbWFyeS5kaXNhYmxlZDpob3ZlciwgLmJ0bi1yYWlzZWQuYnRuLXByaW1hcnkuZGlzYWJsZWQuY3VzdG9tLWZpbGUtY29udHJvbDpob3Zlcjo6YmVmb3JlLCAuYnRuLmJ0bi1yYWlzZWQuYnRuLXByaW1hcnk6ZGlzYWJsZWQ6aG92ZXIsIC5idG4tcmFpc2VkLmJ0bi1wcmltYXJ5LmN1c3RvbS1maWxlLWNvbnRyb2w6ZGlzYWJsZWQ6aG92ZXI6OmJlZm9yZSxcbiAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLmJ0bi1wcmltYXJ5LmRpc2FibGVkOmhvdmVyLFxuICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4tcHJpbWFyeS5kaXNhYmxlZC5jdXN0b20tZmlsZS1jb250cm9sOmhvdmVyOjpiZWZvcmUsXG4gICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi5idG4tcHJpbWFyeTpkaXNhYmxlZDpob3ZlcixcbiAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLXByaW1hcnkuY3VzdG9tLWZpbGUtY29udHJvbDpkaXNhYmxlZDpob3Zlcjo6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDk2ODg7XG4gICAgICBib3JkZXItY29sb3I6ICMwMDk2ODg7IH1cbiAgLmJ0bi5ibWQtYnRuLWZhYi5idG4tc2Vjb25kYXJ5LCAuYm1kLWJ0bi1mYWIuYnRuLXNlY29uZGFyeS5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsIC5idG4uYnRuLXJhaXNlZC5idG4tc2Vjb25kYXJ5LCAuYnRuLXJhaXNlZC5idG4tc2Vjb25kYXJ5LmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSxcbiAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi5idG4tc2Vjb25kYXJ5LFxuICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLXNlY29uZGFyeS5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUge1xuICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmYWZhZmE7XG4gICAgYm9yZGVyLWNvbG9yOiAjY2NjOyB9XG4gICAgLmJ0bi5ibWQtYnRuLWZhYi5idG4tc2Vjb25kYXJ5OmhvdmVyLCAuYm1kLWJ0bi1mYWIuYnRuLXNlY29uZGFyeS5jdXN0b20tZmlsZS1jb250cm9sOmhvdmVyOjpiZWZvcmUsIC5idG4uYnRuLXJhaXNlZC5idG4tc2Vjb25kYXJ5OmhvdmVyLCAuYnRuLXJhaXNlZC5idG4tc2Vjb25kYXJ5LmN1c3RvbS1maWxlLWNvbnRyb2w6aG92ZXI6OmJlZm9yZSxcbiAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLmJ0bi1zZWNvbmRhcnk6aG92ZXIsXG4gICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi1zZWNvbmRhcnkuY3VzdG9tLWZpbGUtY29udHJvbDpob3Zlcjo6YmVmb3JlIHtcbiAgICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2YwZjBmMDtcbiAgICAgIGJvcmRlci1jb2xvcjogI2FkYWRhZDsgfVxuICAgIC5idG4uYm1kLWJ0bi1mYWIuYnRuLXNlY29uZGFyeTpmb2N1cywgLmJtZC1idG4tZmFiLmJ0bi1zZWNvbmRhcnkuY3VzdG9tLWZpbGUtY29udHJvbDpmb2N1czo6YmVmb3JlLCAuYnRuLmJtZC1idG4tZmFiLmJ0bi1zZWNvbmRhcnkuZm9jdXMsIC5ibWQtYnRuLWZhYi5idG4tc2Vjb25kYXJ5LmZvY3VzLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSwgLmJ0bi5idG4tcmFpc2VkLmJ0bi1zZWNvbmRhcnk6Zm9jdXMsIC5idG4tcmFpc2VkLmJ0bi1zZWNvbmRhcnkuY3VzdG9tLWZpbGUtY29udHJvbDpmb2N1czo6YmVmb3JlLCAuYnRuLmJ0bi1yYWlzZWQuYnRuLXNlY29uZGFyeS5mb2N1cywgLmJ0bi1yYWlzZWQuYnRuLXNlY29uZGFyeS5mb2N1cy5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsXG4gICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi5idG4tc2Vjb25kYXJ5OmZvY3VzLFxuICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4tc2Vjb25kYXJ5LmN1c3RvbS1maWxlLWNvbnRyb2w6Zm9jdXM6OmJlZm9yZSxcbiAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLmJ0bi1zZWNvbmRhcnkuZm9jdXMsXG4gICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi1zZWNvbmRhcnkuZm9jdXMuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlIHtcbiAgICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2YwZjBmMDtcbiAgICAgIGJvcmRlci1jb2xvcjogI2FkYWRhZDsgfVxuICAgIC5idG4uYm1kLWJ0bi1mYWIuYnRuLXNlY29uZGFyeTphY3RpdmUsIC5ibWQtYnRuLWZhYi5idG4tc2Vjb25kYXJ5LmN1c3RvbS1maWxlLWNvbnRyb2w6YWN0aXZlOjpiZWZvcmUsIC5idG4uYm1kLWJ0bi1mYWIuYnRuLXNlY29uZGFyeS5hY3RpdmUsIC5ibWQtYnRuLWZhYi5idG4tc2Vjb25kYXJ5LmFjdGl2ZS5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsXG4gICAgLm9wZW4gPiAuYnRuLmJtZC1idG4tZmFiLmJ0bi1zZWNvbmRhcnkuZHJvcGRvd24tdG9nZ2xlLFxuICAgIC5vcGVuID4gLmJtZC1idG4tZmFiLmJ0bi1zZWNvbmRhcnkuZHJvcGRvd24tdG9nZ2xlLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSwgLmJ0bi5idG4tcmFpc2VkLmJ0bi1zZWNvbmRhcnk6YWN0aXZlLCAuYnRuLXJhaXNlZC5idG4tc2Vjb25kYXJ5LmN1c3RvbS1maWxlLWNvbnRyb2w6YWN0aXZlOjpiZWZvcmUsIC5idG4uYnRuLXJhaXNlZC5idG4tc2Vjb25kYXJ5LmFjdGl2ZSwgLmJ0bi1yYWlzZWQuYnRuLXNlY29uZGFyeS5hY3RpdmUuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLFxuICAgIC5vcGVuID4gLmJ0bi5idG4tcmFpc2VkLmJ0bi1zZWNvbmRhcnkuZHJvcGRvd24tdG9nZ2xlLFxuICAgIC5vcGVuID4gLmJ0bi1yYWlzZWQuYnRuLXNlY29uZGFyeS5kcm9wZG93bi10b2dnbGUuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLFxuICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4uYnRuLXNlY29uZGFyeTphY3RpdmUsXG4gICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi1zZWNvbmRhcnkuY3VzdG9tLWZpbGUtY29udHJvbDphY3RpdmU6OmJlZm9yZSxcbiAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLmJ0bi1zZWNvbmRhcnkuYWN0aXZlLFxuICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4tc2Vjb25kYXJ5LmFjdGl2ZS5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsXG4gICAgLm9wZW4gPlxuICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4uYnRuLXNlY29uZGFyeS5kcm9wZG93bi10b2dnbGUsXG4gICAgLm9wZW4gPlxuICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4tc2Vjb25kYXJ5LmRyb3Bkb3duLXRvZ2dsZS5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUge1xuICAgICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjBmMGYwO1xuICAgICAgYm9yZGVyLWNvbG9yOiAjYWRhZGFkOyB9XG4gICAgICAuYnRuLmJtZC1idG4tZmFiLmJ0bi1zZWNvbmRhcnk6YWN0aXZlOmhvdmVyLCAuYm1kLWJ0bi1mYWIuYnRuLXNlY29uZGFyeS5jdXN0b20tZmlsZS1jb250cm9sOmFjdGl2ZTpob3Zlcjo6YmVmb3JlLCAuYnRuLmJtZC1idG4tZmFiLmJ0bi1zZWNvbmRhcnk6YWN0aXZlOmZvY3VzLCAuYm1kLWJ0bi1mYWIuYnRuLXNlY29uZGFyeS5jdXN0b20tZmlsZS1jb250cm9sOmFjdGl2ZTpmb2N1czo6YmVmb3JlLCAuYnRuLmJtZC1idG4tZmFiLmJ0bi1zZWNvbmRhcnk6YWN0aXZlLmZvY3VzLCAuYm1kLWJ0bi1mYWIuYnRuLXNlY29uZGFyeS5jdXN0b20tZmlsZS1jb250cm9sOmFjdGl2ZS5mb2N1czo6YmVmb3JlLCAuYnRuLmJtZC1idG4tZmFiLmJ0bi1zZWNvbmRhcnkuYWN0aXZlOmhvdmVyLCAuYm1kLWJ0bi1mYWIuYnRuLXNlY29uZGFyeS5hY3RpdmUuY3VzdG9tLWZpbGUtY29udHJvbDpob3Zlcjo6YmVmb3JlLCAuYnRuLmJtZC1idG4tZmFiLmJ0bi1zZWNvbmRhcnkuYWN0aXZlOmZvY3VzLCAuYm1kLWJ0bi1mYWIuYnRuLXNlY29uZGFyeS5hY3RpdmUuY3VzdG9tLWZpbGUtY29udHJvbDpmb2N1czo6YmVmb3JlLCAuYnRuLmJtZC1idG4tZmFiLmJ0bi1zZWNvbmRhcnkuYWN0aXZlLmZvY3VzLCAuYm1kLWJ0bi1mYWIuYnRuLXNlY29uZGFyeS5hY3RpdmUuZm9jdXMuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLFxuICAgICAgLm9wZW4gPiAuYnRuLmJtZC1idG4tZmFiLmJ0bi1zZWNvbmRhcnkuZHJvcGRvd24tdG9nZ2xlOmhvdmVyLFxuICAgICAgLm9wZW4gPiAuYm1kLWJ0bi1mYWIuYnRuLXNlY29uZGFyeS5kcm9wZG93bi10b2dnbGUuY3VzdG9tLWZpbGUtY29udHJvbDpob3Zlcjo6YmVmb3JlLFxuICAgICAgLm9wZW4gPiAuYnRuLmJtZC1idG4tZmFiLmJ0bi1zZWNvbmRhcnkuZHJvcGRvd24tdG9nZ2xlOmZvY3VzLFxuICAgICAgLm9wZW4gPiAuYm1kLWJ0bi1mYWIuYnRuLXNlY29uZGFyeS5kcm9wZG93bi10b2dnbGUuY3VzdG9tLWZpbGUtY29udHJvbDpmb2N1czo6YmVmb3JlLFxuICAgICAgLm9wZW4gPiAuYnRuLmJtZC1idG4tZmFiLmJ0bi1zZWNvbmRhcnkuZHJvcGRvd24tdG9nZ2xlLmZvY3VzLFxuICAgICAgLm9wZW4gPiAuYm1kLWJ0bi1mYWIuYnRuLXNlY29uZGFyeS5kcm9wZG93bi10b2dnbGUuZm9jdXMuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLCAuYnRuLmJ0bi1yYWlzZWQuYnRuLXNlY29uZGFyeTphY3RpdmU6aG92ZXIsIC5idG4tcmFpc2VkLmJ0bi1zZWNvbmRhcnkuY3VzdG9tLWZpbGUtY29udHJvbDphY3RpdmU6aG92ZXI6OmJlZm9yZSwgLmJ0bi5idG4tcmFpc2VkLmJ0bi1zZWNvbmRhcnk6YWN0aXZlOmZvY3VzLCAuYnRuLXJhaXNlZC5idG4tc2Vjb25kYXJ5LmN1c3RvbS1maWxlLWNvbnRyb2w6YWN0aXZlOmZvY3VzOjpiZWZvcmUsIC5idG4uYnRuLXJhaXNlZC5idG4tc2Vjb25kYXJ5OmFjdGl2ZS5mb2N1cywgLmJ0bi1yYWlzZWQuYnRuLXNlY29uZGFyeS5jdXN0b20tZmlsZS1jb250cm9sOmFjdGl2ZS5mb2N1czo6YmVmb3JlLCAuYnRuLmJ0bi1yYWlzZWQuYnRuLXNlY29uZGFyeS5hY3RpdmU6aG92ZXIsIC5idG4tcmFpc2VkLmJ0bi1zZWNvbmRhcnkuYWN0aXZlLmN1c3RvbS1maWxlLWNvbnRyb2w6aG92ZXI6OmJlZm9yZSwgLmJ0bi5idG4tcmFpc2VkLmJ0bi1zZWNvbmRhcnkuYWN0aXZlOmZvY3VzLCAuYnRuLXJhaXNlZC5idG4tc2Vjb25kYXJ5LmFjdGl2ZS5jdXN0b20tZmlsZS1jb250cm9sOmZvY3VzOjpiZWZvcmUsIC5idG4uYnRuLXJhaXNlZC5idG4tc2Vjb25kYXJ5LmFjdGl2ZS5mb2N1cywgLmJ0bi1yYWlzZWQuYnRuLXNlY29uZGFyeS5hY3RpdmUuZm9jdXMuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLFxuICAgICAgLm9wZW4gPiAuYnRuLmJ0bi1yYWlzZWQuYnRuLXNlY29uZGFyeS5kcm9wZG93bi10b2dnbGU6aG92ZXIsXG4gICAgICAub3BlbiA+IC5idG4tcmFpc2VkLmJ0bi1zZWNvbmRhcnkuZHJvcGRvd24tdG9nZ2xlLmN1c3RvbS1maWxlLWNvbnRyb2w6aG92ZXI6OmJlZm9yZSxcbiAgICAgIC5vcGVuID4gLmJ0bi5idG4tcmFpc2VkLmJ0bi1zZWNvbmRhcnkuZHJvcGRvd24tdG9nZ2xlOmZvY3VzLFxuICAgICAgLm9wZW4gPiAuYnRuLXJhaXNlZC5idG4tc2Vjb25kYXJ5LmRyb3Bkb3duLXRvZ2dsZS5jdXN0b20tZmlsZS1jb250cm9sOmZvY3VzOjpiZWZvcmUsXG4gICAgICAub3BlbiA+IC5idG4uYnRuLXJhaXNlZC5idG4tc2Vjb25kYXJ5LmRyb3Bkb3duLXRvZ2dsZS5mb2N1cyxcbiAgICAgIC5vcGVuID4gLmJ0bi1yYWlzZWQuYnRuLXNlY29uZGFyeS5kcm9wZG93bi10b2dnbGUuZm9jdXMuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLFxuICAgICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi5idG4tc2Vjb25kYXJ5OmFjdGl2ZTpob3ZlcixcbiAgICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4tc2Vjb25kYXJ5LmN1c3RvbS1maWxlLWNvbnRyb2w6YWN0aXZlOmhvdmVyOjpiZWZvcmUsXG4gICAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLmJ0bi1zZWNvbmRhcnk6YWN0aXZlOmZvY3VzLFxuICAgICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi1zZWNvbmRhcnkuY3VzdG9tLWZpbGUtY29udHJvbDphY3RpdmU6Zm9jdXM6OmJlZm9yZSxcbiAgICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4uYnRuLXNlY29uZGFyeTphY3RpdmUuZm9jdXMsXG4gICAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLXNlY29uZGFyeS5jdXN0b20tZmlsZS1jb250cm9sOmFjdGl2ZS5mb2N1czo6YmVmb3JlLFxuICAgICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi5idG4tc2Vjb25kYXJ5LmFjdGl2ZTpob3ZlcixcbiAgICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4tc2Vjb25kYXJ5LmFjdGl2ZS5jdXN0b20tZmlsZS1jb250cm9sOmhvdmVyOjpiZWZvcmUsXG4gICAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLmJ0bi1zZWNvbmRhcnkuYWN0aXZlOmZvY3VzLFxuICAgICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi1zZWNvbmRhcnkuYWN0aXZlLmN1c3RvbS1maWxlLWNvbnRyb2w6Zm9jdXM6OmJlZm9yZSxcbiAgICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4uYnRuLXNlY29uZGFyeS5hY3RpdmUuZm9jdXMsXG4gICAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLXNlY29uZGFyeS5hY3RpdmUuZm9jdXMuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLFxuICAgICAgLm9wZW4gPlxuICAgICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi5idG4tc2Vjb25kYXJ5LmRyb3Bkb3duLXRvZ2dsZTpob3ZlcixcbiAgICAgIC5vcGVuID5cbiAgICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4tc2Vjb25kYXJ5LmRyb3Bkb3duLXRvZ2dsZS5jdXN0b20tZmlsZS1jb250cm9sOmhvdmVyOjpiZWZvcmUsXG4gICAgICAub3BlbiA+XG4gICAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLmJ0bi1zZWNvbmRhcnkuZHJvcGRvd24tdG9nZ2xlOmZvY3VzLFxuICAgICAgLm9wZW4gPlxuICAgICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi1zZWNvbmRhcnkuZHJvcGRvd24tdG9nZ2xlLmN1c3RvbS1maWxlLWNvbnRyb2w6Zm9jdXM6OmJlZm9yZSxcbiAgICAgIC5vcGVuID5cbiAgICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4uYnRuLXNlY29uZGFyeS5kcm9wZG93bi10b2dnbGUuZm9jdXMsXG4gICAgICAub3BlbiA+XG4gICAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLXNlY29uZGFyeS5kcm9wZG93bi10b2dnbGUuZm9jdXMuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlIHtcbiAgICAgICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmMGYwZjA7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzhjOGM4YzsgfVxuICAgIC5vcGVuID4gLmJ0bi5ibWQtYnRuLWZhYi5idG4tc2Vjb25kYXJ5LmRyb3Bkb3duLXRvZ2dsZS5ibWQtYnRuLWljb24sIC5vcGVuID4gLmJtZC1idG4tZmFiLmJ0bi1zZWNvbmRhcnkuZHJvcGRvd24tdG9nZ2xlLmJtZC1idG4taWNvbi5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsIC5vcGVuID4gLmJ0bi5idG4tcmFpc2VkLmJ0bi1zZWNvbmRhcnkuZHJvcGRvd24tdG9nZ2xlLmJtZC1idG4taWNvbiwgLm9wZW4gPiAuYnRuLXJhaXNlZC5idG4tc2Vjb25kYXJ5LmRyb3Bkb3duLXRvZ2dsZS5ibWQtYnRuLWljb24uY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLCAub3BlbiA+XG4gICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi5idG4tc2Vjb25kYXJ5LmRyb3Bkb3duLXRvZ2dsZS5ibWQtYnRuLWljb24sIC5vcGVuID5cbiAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLXNlY29uZGFyeS5kcm9wZG93bi10b2dnbGUuYm1kLWJ0bi1pY29uLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSB7XG4gICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmYWZhZmE7IH1cbiAgICAgIC5vcGVuID4gLmJ0bi5ibWQtYnRuLWZhYi5idG4tc2Vjb25kYXJ5LmRyb3Bkb3duLXRvZ2dsZS5ibWQtYnRuLWljb246aG92ZXIsIC5vcGVuID4gLmJtZC1idG4tZmFiLmJ0bi1zZWNvbmRhcnkuZHJvcGRvd24tdG9nZ2xlLmJtZC1idG4taWNvbi5jdXN0b20tZmlsZS1jb250cm9sOmhvdmVyOjpiZWZvcmUsIC5vcGVuID4gLmJ0bi5idG4tcmFpc2VkLmJ0bi1zZWNvbmRhcnkuZHJvcGRvd24tdG9nZ2xlLmJtZC1idG4taWNvbjpob3ZlciwgLm9wZW4gPiAuYnRuLXJhaXNlZC5idG4tc2Vjb25kYXJ5LmRyb3Bkb3duLXRvZ2dsZS5ibWQtYnRuLWljb24uY3VzdG9tLWZpbGUtY29udHJvbDpob3Zlcjo6YmVmb3JlLCAub3BlbiA+XG4gICAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLmJ0bi1zZWNvbmRhcnkuZHJvcGRvd24tdG9nZ2xlLmJtZC1idG4taWNvbjpob3ZlciwgLm9wZW4gPlxuICAgICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi1zZWNvbmRhcnkuZHJvcGRvd24tdG9nZ2xlLmJtZC1idG4taWNvbi5jdXN0b20tZmlsZS1jb250cm9sOmhvdmVyOjpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjBmMGYwOyB9XG4gICAgLmJ0bi5ibWQtYnRuLWZhYi5idG4tc2Vjb25kYXJ5LmRpc2FibGVkOmZvY3VzLCAuYm1kLWJ0bi1mYWIuYnRuLXNlY29uZGFyeS5kaXNhYmxlZC5jdXN0b20tZmlsZS1jb250cm9sOmZvY3VzOjpiZWZvcmUsIC5idG4uYm1kLWJ0bi1mYWIuYnRuLXNlY29uZGFyeS5kaXNhYmxlZC5mb2N1cywgLmJtZC1idG4tZmFiLmJ0bi1zZWNvbmRhcnkuZGlzYWJsZWQuZm9jdXMuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLCAuYnRuLmJtZC1idG4tZmFiLmJ0bi1zZWNvbmRhcnk6ZGlzYWJsZWQ6Zm9jdXMsIC5ibWQtYnRuLWZhYi5idG4tc2Vjb25kYXJ5LmN1c3RvbS1maWxlLWNvbnRyb2w6ZGlzYWJsZWQ6Zm9jdXM6OmJlZm9yZSwgLmJ0bi5ibWQtYnRuLWZhYi5idG4tc2Vjb25kYXJ5OmRpc2FibGVkLmZvY3VzLCAuYm1kLWJ0bi1mYWIuYnRuLXNlY29uZGFyeS5jdXN0b20tZmlsZS1jb250cm9sOmRpc2FibGVkLmZvY3VzOjpiZWZvcmUsIC5idG4uYnRuLXJhaXNlZC5idG4tc2Vjb25kYXJ5LmRpc2FibGVkOmZvY3VzLCAuYnRuLXJhaXNlZC5idG4tc2Vjb25kYXJ5LmRpc2FibGVkLmN1c3RvbS1maWxlLWNvbnRyb2w6Zm9jdXM6OmJlZm9yZSwgLmJ0bi5idG4tcmFpc2VkLmJ0bi1zZWNvbmRhcnkuZGlzYWJsZWQuZm9jdXMsIC5idG4tcmFpc2VkLmJ0bi1zZWNvbmRhcnkuZGlzYWJsZWQuZm9jdXMuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLCAuYnRuLmJ0bi1yYWlzZWQuYnRuLXNlY29uZGFyeTpkaXNhYmxlZDpmb2N1cywgLmJ0bi1yYWlzZWQuYnRuLXNlY29uZGFyeS5jdXN0b20tZmlsZS1jb250cm9sOmRpc2FibGVkOmZvY3VzOjpiZWZvcmUsIC5idG4uYnRuLXJhaXNlZC5idG4tc2Vjb25kYXJ5OmRpc2FibGVkLmZvY3VzLCAuYnRuLXJhaXNlZC5idG4tc2Vjb25kYXJ5LmN1c3RvbS1maWxlLWNvbnRyb2w6ZGlzYWJsZWQuZm9jdXM6OmJlZm9yZSxcbiAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLmJ0bi1zZWNvbmRhcnkuZGlzYWJsZWQ6Zm9jdXMsXG4gICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi1zZWNvbmRhcnkuZGlzYWJsZWQuY3VzdG9tLWZpbGUtY29udHJvbDpmb2N1czo6YmVmb3JlLFxuICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4uYnRuLXNlY29uZGFyeS5kaXNhYmxlZC5mb2N1cyxcbiAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLXNlY29uZGFyeS5kaXNhYmxlZC5mb2N1cy5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsXG4gICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi5idG4tc2Vjb25kYXJ5OmRpc2FibGVkOmZvY3VzLFxuICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4tc2Vjb25kYXJ5LmN1c3RvbS1maWxlLWNvbnRyb2w6ZGlzYWJsZWQ6Zm9jdXM6OmJlZm9yZSxcbiAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLmJ0bi1zZWNvbmRhcnk6ZGlzYWJsZWQuZm9jdXMsXG4gICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi1zZWNvbmRhcnkuY3VzdG9tLWZpbGUtY29udHJvbDpkaXNhYmxlZC5mb2N1czo6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmYWZhZmE7XG4gICAgICBib3JkZXItY29sb3I6ICNjY2M7IH1cbiAgICAuYnRuLmJtZC1idG4tZmFiLmJ0bi1zZWNvbmRhcnkuZGlzYWJsZWQ6aG92ZXIsIC5ibWQtYnRuLWZhYi5idG4tc2Vjb25kYXJ5LmRpc2FibGVkLmN1c3RvbS1maWxlLWNvbnRyb2w6aG92ZXI6OmJlZm9yZSwgLmJ0bi5ibWQtYnRuLWZhYi5idG4tc2Vjb25kYXJ5OmRpc2FibGVkOmhvdmVyLCAuYm1kLWJ0bi1mYWIuYnRuLXNlY29uZGFyeS5jdXN0b20tZmlsZS1jb250cm9sOmRpc2FibGVkOmhvdmVyOjpiZWZvcmUsIC5idG4uYnRuLXJhaXNlZC5idG4tc2Vjb25kYXJ5LmRpc2FibGVkOmhvdmVyLCAuYnRuLXJhaXNlZC5idG4tc2Vjb25kYXJ5LmRpc2FibGVkLmN1c3RvbS1maWxlLWNvbnRyb2w6aG92ZXI6OmJlZm9yZSwgLmJ0bi5idG4tcmFpc2VkLmJ0bi1zZWNvbmRhcnk6ZGlzYWJsZWQ6aG92ZXIsIC5idG4tcmFpc2VkLmJ0bi1zZWNvbmRhcnkuY3VzdG9tLWZpbGUtY29udHJvbDpkaXNhYmxlZDpob3Zlcjo6YmVmb3JlLFxuICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4uYnRuLXNlY29uZGFyeS5kaXNhYmxlZDpob3ZlcixcbiAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLXNlY29uZGFyeS5kaXNhYmxlZC5jdXN0b20tZmlsZS1jb250cm9sOmhvdmVyOjpiZWZvcmUsXG4gICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi5idG4tc2Vjb25kYXJ5OmRpc2FibGVkOmhvdmVyLFxuICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4tc2Vjb25kYXJ5LmN1c3RvbS1maWxlLWNvbnRyb2w6ZGlzYWJsZWQ6aG92ZXI6OmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmFmYWZhO1xuICAgICAgYm9yZGVyLWNvbG9yOiAjY2NjOyB9XG4gIC5idG4uYm1kLWJ0bi1mYWIuYnRuLWluZm8sIC5ibWQtYnRuLWZhYi5idG4taW5mby5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsIC5idG4uYnRuLXJhaXNlZC5idG4taW5mbywgLmJ0bi1yYWlzZWQuYnRuLWluZm8uY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLFxuICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLmJ0bi1pbmZvLFxuICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLWluZm8uY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlIHtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDNhOWY0O1xuICAgIGJvcmRlci1jb2xvcjogIzAzYTlmNDsgfVxuICAgIC5idG4uYm1kLWJ0bi1mYWIuYnRuLWluZm86aG92ZXIsIC5ibWQtYnRuLWZhYi5idG4taW5mby5jdXN0b20tZmlsZS1jb250cm9sOmhvdmVyOjpiZWZvcmUsIC5idG4uYnRuLXJhaXNlZC5idG4taW5mbzpob3ZlciwgLmJ0bi1yYWlzZWQuYnRuLWluZm8uY3VzdG9tLWZpbGUtY29udHJvbDpob3Zlcjo6YmVmb3JlLFxuICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4uYnRuLWluZm86aG92ZXIsXG4gICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi1pbmZvLmN1c3RvbS1maWxlLWNvbnRyb2w6aG92ZXI6OmJlZm9yZSB7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwMzliZTA7XG4gICAgICBib3JkZXItY29sb3I6ICMwMjdmYjg7IH1cbiAgICAuYnRuLmJtZC1idG4tZmFiLmJ0bi1pbmZvOmZvY3VzLCAuYm1kLWJ0bi1mYWIuYnRuLWluZm8uY3VzdG9tLWZpbGUtY29udHJvbDpmb2N1czo6YmVmb3JlLCAuYnRuLmJtZC1idG4tZmFiLmJ0bi1pbmZvLmZvY3VzLCAuYm1kLWJ0bi1mYWIuYnRuLWluZm8uZm9jdXMuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLCAuYnRuLmJ0bi1yYWlzZWQuYnRuLWluZm86Zm9jdXMsIC5idG4tcmFpc2VkLmJ0bi1pbmZvLmN1c3RvbS1maWxlLWNvbnRyb2w6Zm9jdXM6OmJlZm9yZSwgLmJ0bi5idG4tcmFpc2VkLmJ0bi1pbmZvLmZvY3VzLCAuYnRuLXJhaXNlZC5idG4taW5mby5mb2N1cy5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsXG4gICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi5idG4taW5mbzpmb2N1cyxcbiAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLWluZm8uY3VzdG9tLWZpbGUtY29udHJvbDpmb2N1czo6YmVmb3JlLFxuICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4uYnRuLWluZm8uZm9jdXMsXG4gICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi1pbmZvLmZvY3VzLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSB7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwMzliZTA7XG4gICAgICBib3JkZXItY29sb3I6ICMwMjdmYjg7IH1cbiAgICAuYnRuLmJtZC1idG4tZmFiLmJ0bi1pbmZvOmFjdGl2ZSwgLmJtZC1idG4tZmFiLmJ0bi1pbmZvLmN1c3RvbS1maWxlLWNvbnRyb2w6YWN0aXZlOjpiZWZvcmUsIC5idG4uYm1kLWJ0bi1mYWIuYnRuLWluZm8uYWN0aXZlLCAuYm1kLWJ0bi1mYWIuYnRuLWluZm8uYWN0aXZlLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSxcbiAgICAub3BlbiA+IC5idG4uYm1kLWJ0bi1mYWIuYnRuLWluZm8uZHJvcGRvd24tdG9nZ2xlLFxuICAgIC5vcGVuID4gLmJtZC1idG4tZmFiLmJ0bi1pbmZvLmRyb3Bkb3duLXRvZ2dsZS5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsIC5idG4uYnRuLXJhaXNlZC5idG4taW5mbzphY3RpdmUsIC5idG4tcmFpc2VkLmJ0bi1pbmZvLmN1c3RvbS1maWxlLWNvbnRyb2w6YWN0aXZlOjpiZWZvcmUsIC5idG4uYnRuLXJhaXNlZC5idG4taW5mby5hY3RpdmUsIC5idG4tcmFpc2VkLmJ0bi1pbmZvLmFjdGl2ZS5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsXG4gICAgLm9wZW4gPiAuYnRuLmJ0bi1yYWlzZWQuYnRuLWluZm8uZHJvcGRvd24tdG9nZ2xlLFxuICAgIC5vcGVuID4gLmJ0bi1yYWlzZWQuYnRuLWluZm8uZHJvcGRvd24tdG9nZ2xlLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSxcbiAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLmJ0bi1pbmZvOmFjdGl2ZSxcbiAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLWluZm8uY3VzdG9tLWZpbGUtY29udHJvbDphY3RpdmU6OmJlZm9yZSxcbiAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLmJ0bi1pbmZvLmFjdGl2ZSxcbiAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLWluZm8uYWN0aXZlLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSxcbiAgICAub3BlbiA+XG4gICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi5idG4taW5mby5kcm9wZG93bi10b2dnbGUsXG4gICAgLm9wZW4gPlxuICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4taW5mby5kcm9wZG93bi10b2dnbGUuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlIHtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAzOWJlMDtcbiAgICAgIGJvcmRlci1jb2xvcjogIzAyN2ZiODsgfVxuICAgICAgLmJ0bi5ibWQtYnRuLWZhYi5idG4taW5mbzphY3RpdmU6aG92ZXIsIC5ibWQtYnRuLWZhYi5idG4taW5mby5jdXN0b20tZmlsZS1jb250cm9sOmFjdGl2ZTpob3Zlcjo6YmVmb3JlLCAuYnRuLmJtZC1idG4tZmFiLmJ0bi1pbmZvOmFjdGl2ZTpmb2N1cywgLmJtZC1idG4tZmFiLmJ0bi1pbmZvLmN1c3RvbS1maWxlLWNvbnRyb2w6YWN0aXZlOmZvY3VzOjpiZWZvcmUsIC5idG4uYm1kLWJ0bi1mYWIuYnRuLWluZm86YWN0aXZlLmZvY3VzLCAuYm1kLWJ0bi1mYWIuYnRuLWluZm8uY3VzdG9tLWZpbGUtY29udHJvbDphY3RpdmUuZm9jdXM6OmJlZm9yZSwgLmJ0bi5ibWQtYnRuLWZhYi5idG4taW5mby5hY3RpdmU6aG92ZXIsIC5ibWQtYnRuLWZhYi5idG4taW5mby5hY3RpdmUuY3VzdG9tLWZpbGUtY29udHJvbDpob3Zlcjo6YmVmb3JlLCAuYnRuLmJtZC1idG4tZmFiLmJ0bi1pbmZvLmFjdGl2ZTpmb2N1cywgLmJtZC1idG4tZmFiLmJ0bi1pbmZvLmFjdGl2ZS5jdXN0b20tZmlsZS1jb250cm9sOmZvY3VzOjpiZWZvcmUsIC5idG4uYm1kLWJ0bi1mYWIuYnRuLWluZm8uYWN0aXZlLmZvY3VzLCAuYm1kLWJ0bi1mYWIuYnRuLWluZm8uYWN0aXZlLmZvY3VzLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSxcbiAgICAgIC5vcGVuID4gLmJ0bi5ibWQtYnRuLWZhYi5idG4taW5mby5kcm9wZG93bi10b2dnbGU6aG92ZXIsXG4gICAgICAub3BlbiA+IC5ibWQtYnRuLWZhYi5idG4taW5mby5kcm9wZG93bi10b2dnbGUuY3VzdG9tLWZpbGUtY29udHJvbDpob3Zlcjo6YmVmb3JlLFxuICAgICAgLm9wZW4gPiAuYnRuLmJtZC1idG4tZmFiLmJ0bi1pbmZvLmRyb3Bkb3duLXRvZ2dsZTpmb2N1cyxcbiAgICAgIC5vcGVuID4gLmJtZC1idG4tZmFiLmJ0bi1pbmZvLmRyb3Bkb3duLXRvZ2dsZS5jdXN0b20tZmlsZS1jb250cm9sOmZvY3VzOjpiZWZvcmUsXG4gICAgICAub3BlbiA+IC5idG4uYm1kLWJ0bi1mYWIuYnRuLWluZm8uZHJvcGRvd24tdG9nZ2xlLmZvY3VzLFxuICAgICAgLm9wZW4gPiAuYm1kLWJ0bi1mYWIuYnRuLWluZm8uZHJvcGRvd24tdG9nZ2xlLmZvY3VzLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSwgLmJ0bi5idG4tcmFpc2VkLmJ0bi1pbmZvOmFjdGl2ZTpob3ZlciwgLmJ0bi1yYWlzZWQuYnRuLWluZm8uY3VzdG9tLWZpbGUtY29udHJvbDphY3RpdmU6aG92ZXI6OmJlZm9yZSwgLmJ0bi5idG4tcmFpc2VkLmJ0bi1pbmZvOmFjdGl2ZTpmb2N1cywgLmJ0bi1yYWlzZWQuYnRuLWluZm8uY3VzdG9tLWZpbGUtY29udHJvbDphY3RpdmU6Zm9jdXM6OmJlZm9yZSwgLmJ0bi5idG4tcmFpc2VkLmJ0bi1pbmZvOmFjdGl2ZS5mb2N1cywgLmJ0bi1yYWlzZWQuYnRuLWluZm8uY3VzdG9tLWZpbGUtY29udHJvbDphY3RpdmUuZm9jdXM6OmJlZm9yZSwgLmJ0bi5idG4tcmFpc2VkLmJ0bi1pbmZvLmFjdGl2ZTpob3ZlciwgLmJ0bi1yYWlzZWQuYnRuLWluZm8uYWN0aXZlLmN1c3RvbS1maWxlLWNvbnRyb2w6aG92ZXI6OmJlZm9yZSwgLmJ0bi5idG4tcmFpc2VkLmJ0bi1pbmZvLmFjdGl2ZTpmb2N1cywgLmJ0bi1yYWlzZWQuYnRuLWluZm8uYWN0aXZlLmN1c3RvbS1maWxlLWNvbnRyb2w6Zm9jdXM6OmJlZm9yZSwgLmJ0bi5idG4tcmFpc2VkLmJ0bi1pbmZvLmFjdGl2ZS5mb2N1cywgLmJ0bi1yYWlzZWQuYnRuLWluZm8uYWN0aXZlLmZvY3VzLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSxcbiAgICAgIC5vcGVuID4gLmJ0bi5idG4tcmFpc2VkLmJ0bi1pbmZvLmRyb3Bkb3duLXRvZ2dsZTpob3ZlcixcbiAgICAgIC5vcGVuID4gLmJ0bi1yYWlzZWQuYnRuLWluZm8uZHJvcGRvd24tdG9nZ2xlLmN1c3RvbS1maWxlLWNvbnRyb2w6aG92ZXI6OmJlZm9yZSxcbiAgICAgIC5vcGVuID4gLmJ0bi5idG4tcmFpc2VkLmJ0bi1pbmZvLmRyb3Bkb3duLXRvZ2dsZTpmb2N1cyxcbiAgICAgIC5vcGVuID4gLmJ0bi1yYWlzZWQuYnRuLWluZm8uZHJvcGRvd24tdG9nZ2xlLmN1c3RvbS1maWxlLWNvbnRyb2w6Zm9jdXM6OmJlZm9yZSxcbiAgICAgIC5vcGVuID4gLmJ0bi5idG4tcmFpc2VkLmJ0bi1pbmZvLmRyb3Bkb3duLXRvZ2dsZS5mb2N1cyxcbiAgICAgIC5vcGVuID4gLmJ0bi1yYWlzZWQuYnRuLWluZm8uZHJvcGRvd24tdG9nZ2xlLmZvY3VzLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSxcbiAgICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4uYnRuLWluZm86YWN0aXZlOmhvdmVyLFxuICAgICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi1pbmZvLmN1c3RvbS1maWxlLWNvbnRyb2w6YWN0aXZlOmhvdmVyOjpiZWZvcmUsXG4gICAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLmJ0bi1pbmZvOmFjdGl2ZTpmb2N1cyxcbiAgICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4taW5mby5jdXN0b20tZmlsZS1jb250cm9sOmFjdGl2ZTpmb2N1czo6YmVmb3JlLFxuICAgICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi5idG4taW5mbzphY3RpdmUuZm9jdXMsXG4gICAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLWluZm8uY3VzdG9tLWZpbGUtY29udHJvbDphY3RpdmUuZm9jdXM6OmJlZm9yZSxcbiAgICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4uYnRuLWluZm8uYWN0aXZlOmhvdmVyLFxuICAgICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi1pbmZvLmFjdGl2ZS5jdXN0b20tZmlsZS1jb250cm9sOmhvdmVyOjpiZWZvcmUsXG4gICAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLmJ0bi1pbmZvLmFjdGl2ZTpmb2N1cyxcbiAgICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4taW5mby5hY3RpdmUuY3VzdG9tLWZpbGUtY29udHJvbDpmb2N1czo6YmVmb3JlLFxuICAgICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi5idG4taW5mby5hY3RpdmUuZm9jdXMsXG4gICAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLWluZm8uYWN0aXZlLmZvY3VzLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSxcbiAgICAgIC5vcGVuID5cbiAgICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4uYnRuLWluZm8uZHJvcGRvd24tdG9nZ2xlOmhvdmVyLFxuICAgICAgLm9wZW4gPlxuICAgICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi1pbmZvLmRyb3Bkb3duLXRvZ2dsZS5jdXN0b20tZmlsZS1jb250cm9sOmhvdmVyOjpiZWZvcmUsXG4gICAgICAub3BlbiA+XG4gICAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLmJ0bi1pbmZvLmRyb3Bkb3duLXRvZ2dsZTpmb2N1cyxcbiAgICAgIC5vcGVuID5cbiAgICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4taW5mby5kcm9wZG93bi10b2dnbGUuY3VzdG9tLWZpbGUtY29udHJvbDpmb2N1czo6YmVmb3JlLFxuICAgICAgLm9wZW4gPlxuICAgICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi5idG4taW5mby5kcm9wZG93bi10b2dnbGUuZm9jdXMsXG4gICAgICAub3BlbiA+XG4gICAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLWluZm8uZHJvcGRvd24tdG9nZ2xlLmZvY3VzLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSB7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDM5YmUwO1xuICAgICAgICBib3JkZXItY29sb3I6ICMwMTUyNzY7IH1cbiAgICAub3BlbiA+IC5idG4uYm1kLWJ0bi1mYWIuYnRuLWluZm8uZHJvcGRvd24tdG9nZ2xlLmJtZC1idG4taWNvbiwgLm9wZW4gPiAuYm1kLWJ0bi1mYWIuYnRuLWluZm8uZHJvcGRvd24tdG9nZ2xlLmJtZC1idG4taWNvbi5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsIC5vcGVuID4gLmJ0bi5idG4tcmFpc2VkLmJ0bi1pbmZvLmRyb3Bkb3duLXRvZ2dsZS5ibWQtYnRuLWljb24sIC5vcGVuID4gLmJ0bi1yYWlzZWQuYnRuLWluZm8uZHJvcGRvd24tdG9nZ2xlLmJtZC1idG4taWNvbi5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsIC5vcGVuID5cbiAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLmJ0bi1pbmZvLmRyb3Bkb3duLXRvZ2dsZS5ibWQtYnRuLWljb24sIC5vcGVuID5cbiAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLWluZm8uZHJvcGRvd24tdG9nZ2xlLmJtZC1idG4taWNvbi5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUge1xuICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDNhOWY0OyB9XG4gICAgICAub3BlbiA+IC5idG4uYm1kLWJ0bi1mYWIuYnRuLWluZm8uZHJvcGRvd24tdG9nZ2xlLmJtZC1idG4taWNvbjpob3ZlciwgLm9wZW4gPiAuYm1kLWJ0bi1mYWIuYnRuLWluZm8uZHJvcGRvd24tdG9nZ2xlLmJtZC1idG4taWNvbi5jdXN0b20tZmlsZS1jb250cm9sOmhvdmVyOjpiZWZvcmUsIC5vcGVuID4gLmJ0bi5idG4tcmFpc2VkLmJ0bi1pbmZvLmRyb3Bkb3duLXRvZ2dsZS5ibWQtYnRuLWljb246aG92ZXIsIC5vcGVuID4gLmJ0bi1yYWlzZWQuYnRuLWluZm8uZHJvcGRvd24tdG9nZ2xlLmJtZC1idG4taWNvbi5jdXN0b20tZmlsZS1jb250cm9sOmhvdmVyOjpiZWZvcmUsIC5vcGVuID5cbiAgICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4uYnRuLWluZm8uZHJvcGRvd24tdG9nZ2xlLmJtZC1idG4taWNvbjpob3ZlciwgLm9wZW4gPlxuICAgICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi1pbmZvLmRyb3Bkb3duLXRvZ2dsZS5ibWQtYnRuLWljb24uY3VzdG9tLWZpbGUtY29udHJvbDpob3Zlcjo6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAzOWJlMDsgfVxuICAgIC5idG4uYm1kLWJ0bi1mYWIuYnRuLWluZm8uZGlzYWJsZWQ6Zm9jdXMsIC5ibWQtYnRuLWZhYi5idG4taW5mby5kaXNhYmxlZC5jdXN0b20tZmlsZS1jb250cm9sOmZvY3VzOjpiZWZvcmUsIC5idG4uYm1kLWJ0bi1mYWIuYnRuLWluZm8uZGlzYWJsZWQuZm9jdXMsIC5ibWQtYnRuLWZhYi5idG4taW5mby5kaXNhYmxlZC5mb2N1cy5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsIC5idG4uYm1kLWJ0bi1mYWIuYnRuLWluZm86ZGlzYWJsZWQ6Zm9jdXMsIC5ibWQtYnRuLWZhYi5idG4taW5mby5jdXN0b20tZmlsZS1jb250cm9sOmRpc2FibGVkOmZvY3VzOjpiZWZvcmUsIC5idG4uYm1kLWJ0bi1mYWIuYnRuLWluZm86ZGlzYWJsZWQuZm9jdXMsIC5ibWQtYnRuLWZhYi5idG4taW5mby5jdXN0b20tZmlsZS1jb250cm9sOmRpc2FibGVkLmZvY3VzOjpiZWZvcmUsIC5idG4uYnRuLXJhaXNlZC5idG4taW5mby5kaXNhYmxlZDpmb2N1cywgLmJ0bi1yYWlzZWQuYnRuLWluZm8uZGlzYWJsZWQuY3VzdG9tLWZpbGUtY29udHJvbDpmb2N1czo6YmVmb3JlLCAuYnRuLmJ0bi1yYWlzZWQuYnRuLWluZm8uZGlzYWJsZWQuZm9jdXMsIC5idG4tcmFpc2VkLmJ0bi1pbmZvLmRpc2FibGVkLmZvY3VzLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSwgLmJ0bi5idG4tcmFpc2VkLmJ0bi1pbmZvOmRpc2FibGVkOmZvY3VzLCAuYnRuLXJhaXNlZC5idG4taW5mby5jdXN0b20tZmlsZS1jb250cm9sOmRpc2FibGVkOmZvY3VzOjpiZWZvcmUsIC5idG4uYnRuLXJhaXNlZC5idG4taW5mbzpkaXNhYmxlZC5mb2N1cywgLmJ0bi1yYWlzZWQuYnRuLWluZm8uY3VzdG9tLWZpbGUtY29udHJvbDpkaXNhYmxlZC5mb2N1czo6YmVmb3JlLFxuICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4uYnRuLWluZm8uZGlzYWJsZWQ6Zm9jdXMsXG4gICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi1pbmZvLmRpc2FibGVkLmN1c3RvbS1maWxlLWNvbnRyb2w6Zm9jdXM6OmJlZm9yZSxcbiAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLmJ0bi1pbmZvLmRpc2FibGVkLmZvY3VzLFxuICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4taW5mby5kaXNhYmxlZC5mb2N1cy5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsXG4gICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi5idG4taW5mbzpkaXNhYmxlZDpmb2N1cyxcbiAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLWluZm8uY3VzdG9tLWZpbGUtY29udHJvbDpkaXNhYmxlZDpmb2N1czo6YmVmb3JlLFxuICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4uYnRuLWluZm86ZGlzYWJsZWQuZm9jdXMsXG4gICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi1pbmZvLmN1c3RvbS1maWxlLWNvbnRyb2w6ZGlzYWJsZWQuZm9jdXM6OmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDNhOWY0O1xuICAgICAgYm9yZGVyLWNvbG9yOiAjMDNhOWY0OyB9XG4gICAgLmJ0bi5ibWQtYnRuLWZhYi5idG4taW5mby5kaXNhYmxlZDpob3ZlciwgLmJtZC1idG4tZmFiLmJ0bi1pbmZvLmRpc2FibGVkLmN1c3RvbS1maWxlLWNvbnRyb2w6aG92ZXI6OmJlZm9yZSwgLmJ0bi5ibWQtYnRuLWZhYi5idG4taW5mbzpkaXNhYmxlZDpob3ZlciwgLmJtZC1idG4tZmFiLmJ0bi1pbmZvLmN1c3RvbS1maWxlLWNvbnRyb2w6ZGlzYWJsZWQ6aG92ZXI6OmJlZm9yZSwgLmJ0bi5idG4tcmFpc2VkLmJ0bi1pbmZvLmRpc2FibGVkOmhvdmVyLCAuYnRuLXJhaXNlZC5idG4taW5mby5kaXNhYmxlZC5jdXN0b20tZmlsZS1jb250cm9sOmhvdmVyOjpiZWZvcmUsIC5idG4uYnRuLXJhaXNlZC5idG4taW5mbzpkaXNhYmxlZDpob3ZlciwgLmJ0bi1yYWlzZWQuYnRuLWluZm8uY3VzdG9tLWZpbGUtY29udHJvbDpkaXNhYmxlZDpob3Zlcjo6YmVmb3JlLFxuICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4uYnRuLWluZm8uZGlzYWJsZWQ6aG92ZXIsXG4gICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi1pbmZvLmRpc2FibGVkLmN1c3RvbS1maWxlLWNvbnRyb2w6aG92ZXI6OmJlZm9yZSxcbiAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLmJ0bi1pbmZvOmRpc2FibGVkOmhvdmVyLFxuICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4taW5mby5jdXN0b20tZmlsZS1jb250cm9sOmRpc2FibGVkOmhvdmVyOjpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAzYTlmNDtcbiAgICAgIGJvcmRlci1jb2xvcjogIzAzYTlmNDsgfVxuICAuYnRuLmJtZC1idG4tZmFiLmJ0bi1zdWNjZXNzLCAuYm1kLWJ0bi1mYWIuYnRuLXN1Y2Nlc3MuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLCAuYnRuLmJ0bi1yYWlzZWQuYnRuLXN1Y2Nlc3MsIC5idG4tcmFpc2VkLmJ0bi1zdWNjZXNzLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSxcbiAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi5idG4tc3VjY2VzcyxcbiAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi1zdWNjZXNzLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSB7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzRjYWY1MDtcbiAgICBib3JkZXItY29sb3I6ICM0Y2FmNTA7IH1cbiAgICAuYnRuLmJtZC1idG4tZmFiLmJ0bi1zdWNjZXNzOmhvdmVyLCAuYm1kLWJ0bi1mYWIuYnRuLXN1Y2Nlc3MuY3VzdG9tLWZpbGUtY29udHJvbDpob3Zlcjo6YmVmb3JlLCAuYnRuLmJ0bi1yYWlzZWQuYnRuLXN1Y2Nlc3M6aG92ZXIsIC5idG4tcmFpc2VkLmJ0bi1zdWNjZXNzLmN1c3RvbS1maWxlLWNvbnRyb2w6aG92ZXI6OmJlZm9yZSxcbiAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLmJ0bi1zdWNjZXNzOmhvdmVyLFxuICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4tc3VjY2Vzcy5jdXN0b20tZmlsZS1jb250cm9sOmhvdmVyOjpiZWZvcmUge1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDZhMTQ5O1xuICAgICAgYm9yZGVyLWNvbG9yOiAjMzk4NDNjOyB9XG4gICAgLmJ0bi5ibWQtYnRuLWZhYi5idG4tc3VjY2Vzczpmb2N1cywgLmJtZC1idG4tZmFiLmJ0bi1zdWNjZXNzLmN1c3RvbS1maWxlLWNvbnRyb2w6Zm9jdXM6OmJlZm9yZSwgLmJ0bi5ibWQtYnRuLWZhYi5idG4tc3VjY2Vzcy5mb2N1cywgLmJtZC1idG4tZmFiLmJ0bi1zdWNjZXNzLmZvY3VzLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSwgLmJ0bi5idG4tcmFpc2VkLmJ0bi1zdWNjZXNzOmZvY3VzLCAuYnRuLXJhaXNlZC5idG4tc3VjY2Vzcy5jdXN0b20tZmlsZS1jb250cm9sOmZvY3VzOjpiZWZvcmUsIC5idG4uYnRuLXJhaXNlZC5idG4tc3VjY2Vzcy5mb2N1cywgLmJ0bi1yYWlzZWQuYnRuLXN1Y2Nlc3MuZm9jdXMuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLFxuICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4uYnRuLXN1Y2Nlc3M6Zm9jdXMsXG4gICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi1zdWNjZXNzLmN1c3RvbS1maWxlLWNvbnRyb2w6Zm9jdXM6OmJlZm9yZSxcbiAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLmJ0bi1zdWNjZXNzLmZvY3VzLFxuICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4tc3VjY2Vzcy5mb2N1cy5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUge1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDZhMTQ5O1xuICAgICAgYm9yZGVyLWNvbG9yOiAjMzk4NDNjOyB9XG4gICAgLmJ0bi5ibWQtYnRuLWZhYi5idG4tc3VjY2VzczphY3RpdmUsIC5ibWQtYnRuLWZhYi5idG4tc3VjY2Vzcy5jdXN0b20tZmlsZS1jb250cm9sOmFjdGl2ZTo6YmVmb3JlLCAuYnRuLmJtZC1idG4tZmFiLmJ0bi1zdWNjZXNzLmFjdGl2ZSwgLmJtZC1idG4tZmFiLmJ0bi1zdWNjZXNzLmFjdGl2ZS5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsXG4gICAgLm9wZW4gPiAuYnRuLmJtZC1idG4tZmFiLmJ0bi1zdWNjZXNzLmRyb3Bkb3duLXRvZ2dsZSxcbiAgICAub3BlbiA+IC5ibWQtYnRuLWZhYi5idG4tc3VjY2Vzcy5kcm9wZG93bi10b2dnbGUuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLCAuYnRuLmJ0bi1yYWlzZWQuYnRuLXN1Y2Nlc3M6YWN0aXZlLCAuYnRuLXJhaXNlZC5idG4tc3VjY2Vzcy5jdXN0b20tZmlsZS1jb250cm9sOmFjdGl2ZTo6YmVmb3JlLCAuYnRuLmJ0bi1yYWlzZWQuYnRuLXN1Y2Nlc3MuYWN0aXZlLCAuYnRuLXJhaXNlZC5idG4tc3VjY2Vzcy5hY3RpdmUuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLFxuICAgIC5vcGVuID4gLmJ0bi5idG4tcmFpc2VkLmJ0bi1zdWNjZXNzLmRyb3Bkb3duLXRvZ2dsZSxcbiAgICAub3BlbiA+IC5idG4tcmFpc2VkLmJ0bi1zdWNjZXNzLmRyb3Bkb3duLXRvZ2dsZS5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsXG4gICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi5idG4tc3VjY2VzczphY3RpdmUsXG4gICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi1zdWNjZXNzLmN1c3RvbS1maWxlLWNvbnRyb2w6YWN0aXZlOjpiZWZvcmUsXG4gICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi5idG4tc3VjY2Vzcy5hY3RpdmUsXG4gICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi1zdWNjZXNzLmFjdGl2ZS5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsXG4gICAgLm9wZW4gPlxuICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4uYnRuLXN1Y2Nlc3MuZHJvcGRvd24tdG9nZ2xlLFxuICAgIC5vcGVuID5cbiAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLXN1Y2Nlc3MuZHJvcGRvd24tdG9nZ2xlLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSB7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM0NmExNDk7XG4gICAgICBib3JkZXItY29sb3I6ICMzOTg0M2M7IH1cbiAgICAgIC5idG4uYm1kLWJ0bi1mYWIuYnRuLXN1Y2Nlc3M6YWN0aXZlOmhvdmVyLCAuYm1kLWJ0bi1mYWIuYnRuLXN1Y2Nlc3MuY3VzdG9tLWZpbGUtY29udHJvbDphY3RpdmU6aG92ZXI6OmJlZm9yZSwgLmJ0bi5ibWQtYnRuLWZhYi5idG4tc3VjY2VzczphY3RpdmU6Zm9jdXMsIC5ibWQtYnRuLWZhYi5idG4tc3VjY2Vzcy5jdXN0b20tZmlsZS1jb250cm9sOmFjdGl2ZTpmb2N1czo6YmVmb3JlLCAuYnRuLmJtZC1idG4tZmFiLmJ0bi1zdWNjZXNzOmFjdGl2ZS5mb2N1cywgLmJtZC1idG4tZmFiLmJ0bi1zdWNjZXNzLmN1c3RvbS1maWxlLWNvbnRyb2w6YWN0aXZlLmZvY3VzOjpiZWZvcmUsIC5idG4uYm1kLWJ0bi1mYWIuYnRuLXN1Y2Nlc3MuYWN0aXZlOmhvdmVyLCAuYm1kLWJ0bi1mYWIuYnRuLXN1Y2Nlc3MuYWN0aXZlLmN1c3RvbS1maWxlLWNvbnRyb2w6aG92ZXI6OmJlZm9yZSwgLmJ0bi5ibWQtYnRuLWZhYi5idG4tc3VjY2Vzcy5hY3RpdmU6Zm9jdXMsIC5ibWQtYnRuLWZhYi5idG4tc3VjY2Vzcy5hY3RpdmUuY3VzdG9tLWZpbGUtY29udHJvbDpmb2N1czo6YmVmb3JlLCAuYnRuLmJtZC1idG4tZmFiLmJ0bi1zdWNjZXNzLmFjdGl2ZS5mb2N1cywgLmJtZC1idG4tZmFiLmJ0bi1zdWNjZXNzLmFjdGl2ZS5mb2N1cy5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsXG4gICAgICAub3BlbiA+IC5idG4uYm1kLWJ0bi1mYWIuYnRuLXN1Y2Nlc3MuZHJvcGRvd24tdG9nZ2xlOmhvdmVyLFxuICAgICAgLm9wZW4gPiAuYm1kLWJ0bi1mYWIuYnRuLXN1Y2Nlc3MuZHJvcGRvd24tdG9nZ2xlLmN1c3RvbS1maWxlLWNvbnRyb2w6aG92ZXI6OmJlZm9yZSxcbiAgICAgIC5vcGVuID4gLmJ0bi5ibWQtYnRuLWZhYi5idG4tc3VjY2Vzcy5kcm9wZG93bi10b2dnbGU6Zm9jdXMsXG4gICAgICAub3BlbiA+IC5ibWQtYnRuLWZhYi5idG4tc3VjY2Vzcy5kcm9wZG93bi10b2dnbGUuY3VzdG9tLWZpbGUtY29udHJvbDpmb2N1czo6YmVmb3JlLFxuICAgICAgLm9wZW4gPiAuYnRuLmJtZC1idG4tZmFiLmJ0bi1zdWNjZXNzLmRyb3Bkb3duLXRvZ2dsZS5mb2N1cyxcbiAgICAgIC5vcGVuID4gLmJtZC1idG4tZmFiLmJ0bi1zdWNjZXNzLmRyb3Bkb3duLXRvZ2dsZS5mb2N1cy5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsIC5idG4uYnRuLXJhaXNlZC5idG4tc3VjY2VzczphY3RpdmU6aG92ZXIsIC5idG4tcmFpc2VkLmJ0bi1zdWNjZXNzLmN1c3RvbS1maWxlLWNvbnRyb2w6YWN0aXZlOmhvdmVyOjpiZWZvcmUsIC5idG4uYnRuLXJhaXNlZC5idG4tc3VjY2VzczphY3RpdmU6Zm9jdXMsIC5idG4tcmFpc2VkLmJ0bi1zdWNjZXNzLmN1c3RvbS1maWxlLWNvbnRyb2w6YWN0aXZlOmZvY3VzOjpiZWZvcmUsIC5idG4uYnRuLXJhaXNlZC5idG4tc3VjY2VzczphY3RpdmUuZm9jdXMsIC5idG4tcmFpc2VkLmJ0bi1zdWNjZXNzLmN1c3RvbS1maWxlLWNvbnRyb2w6YWN0aXZlLmZvY3VzOjpiZWZvcmUsIC5idG4uYnRuLXJhaXNlZC5idG4tc3VjY2Vzcy5hY3RpdmU6aG92ZXIsIC5idG4tcmFpc2VkLmJ0bi1zdWNjZXNzLmFjdGl2ZS5jdXN0b20tZmlsZS1jb250cm9sOmhvdmVyOjpiZWZvcmUsIC5idG4uYnRuLXJhaXNlZC5idG4tc3VjY2Vzcy5hY3RpdmU6Zm9jdXMsIC5idG4tcmFpc2VkLmJ0bi1zdWNjZXNzLmFjdGl2ZS5jdXN0b20tZmlsZS1jb250cm9sOmZvY3VzOjpiZWZvcmUsIC5idG4uYnRuLXJhaXNlZC5idG4tc3VjY2Vzcy5hY3RpdmUuZm9jdXMsIC5idG4tcmFpc2VkLmJ0bi1zdWNjZXNzLmFjdGl2ZS5mb2N1cy5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsXG4gICAgICAub3BlbiA+IC5idG4uYnRuLXJhaXNlZC5idG4tc3VjY2Vzcy5kcm9wZG93bi10b2dnbGU6aG92ZXIsXG4gICAgICAub3BlbiA+IC5idG4tcmFpc2VkLmJ0bi1zdWNjZXNzLmRyb3Bkb3duLXRvZ2dsZS5jdXN0b20tZmlsZS1jb250cm9sOmhvdmVyOjpiZWZvcmUsXG4gICAgICAub3BlbiA+IC5idG4uYnRuLXJhaXNlZC5idG4tc3VjY2Vzcy5kcm9wZG93bi10b2dnbGU6Zm9jdXMsXG4gICAgICAub3BlbiA+IC5idG4tcmFpc2VkLmJ0bi1zdWNjZXNzLmRyb3Bkb3duLXRvZ2dsZS5jdXN0b20tZmlsZS1jb250cm9sOmZvY3VzOjpiZWZvcmUsXG4gICAgICAub3BlbiA+IC5idG4uYnRuLXJhaXNlZC5idG4tc3VjY2Vzcy5kcm9wZG93bi10b2dnbGUuZm9jdXMsXG4gICAgICAub3BlbiA+IC5idG4tcmFpc2VkLmJ0bi1zdWNjZXNzLmRyb3Bkb3duLXRvZ2dsZS5mb2N1cy5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsXG4gICAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLmJ0bi1zdWNjZXNzOmFjdGl2ZTpob3ZlcixcbiAgICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4tc3VjY2Vzcy5jdXN0b20tZmlsZS1jb250cm9sOmFjdGl2ZTpob3Zlcjo6YmVmb3JlLFxuICAgICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi5idG4tc3VjY2VzczphY3RpdmU6Zm9jdXMsXG4gICAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLXN1Y2Nlc3MuY3VzdG9tLWZpbGUtY29udHJvbDphY3RpdmU6Zm9jdXM6OmJlZm9yZSxcbiAgICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4uYnRuLXN1Y2Nlc3M6YWN0aXZlLmZvY3VzLFxuICAgICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi1zdWNjZXNzLmN1c3RvbS1maWxlLWNvbnRyb2w6YWN0aXZlLmZvY3VzOjpiZWZvcmUsXG4gICAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLmJ0bi1zdWNjZXNzLmFjdGl2ZTpob3ZlcixcbiAgICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4tc3VjY2Vzcy5hY3RpdmUuY3VzdG9tLWZpbGUtY29udHJvbDpob3Zlcjo6YmVmb3JlLFxuICAgICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi5idG4tc3VjY2Vzcy5hY3RpdmU6Zm9jdXMsXG4gICAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLXN1Y2Nlc3MuYWN0aXZlLmN1c3RvbS1maWxlLWNvbnRyb2w6Zm9jdXM6OmJlZm9yZSxcbiAgICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4uYnRuLXN1Y2Nlc3MuYWN0aXZlLmZvY3VzLFxuICAgICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi1zdWNjZXNzLmFjdGl2ZS5mb2N1cy5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsXG4gICAgICAub3BlbiA+XG4gICAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLmJ0bi1zdWNjZXNzLmRyb3Bkb3duLXRvZ2dsZTpob3ZlcixcbiAgICAgIC5vcGVuID5cbiAgICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4tc3VjY2Vzcy5kcm9wZG93bi10b2dnbGUuY3VzdG9tLWZpbGUtY29udHJvbDpob3Zlcjo6YmVmb3JlLFxuICAgICAgLm9wZW4gPlxuICAgICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi5idG4tc3VjY2Vzcy5kcm9wZG93bi10b2dnbGU6Zm9jdXMsXG4gICAgICAub3BlbiA+XG4gICAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLXN1Y2Nlc3MuZHJvcGRvd24tdG9nZ2xlLmN1c3RvbS1maWxlLWNvbnRyb2w6Zm9jdXM6OmJlZm9yZSxcbiAgICAgIC5vcGVuID5cbiAgICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4uYnRuLXN1Y2Nlc3MuZHJvcGRvd24tdG9nZ2xlLmZvY3VzLFxuICAgICAgLm9wZW4gPlxuICAgICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi1zdWNjZXNzLmRyb3Bkb3duLXRvZ2dsZS5mb2N1cy5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUge1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzQ2YTE0OTtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjMjU1NjI3OyB9XG4gICAgLm9wZW4gPiAuYnRuLmJtZC1idG4tZmFiLmJ0bi1zdWNjZXNzLmRyb3Bkb3duLXRvZ2dsZS5ibWQtYnRuLWljb24sIC5vcGVuID4gLmJtZC1idG4tZmFiLmJ0bi1zdWNjZXNzLmRyb3Bkb3duLXRvZ2dsZS5ibWQtYnRuLWljb24uY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLCAub3BlbiA+IC5idG4uYnRuLXJhaXNlZC5idG4tc3VjY2Vzcy5kcm9wZG93bi10b2dnbGUuYm1kLWJ0bi1pY29uLCAub3BlbiA+IC5idG4tcmFpc2VkLmJ0bi1zdWNjZXNzLmRyb3Bkb3duLXRvZ2dsZS5ibWQtYnRuLWljb24uY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLCAub3BlbiA+XG4gICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi5idG4tc3VjY2Vzcy5kcm9wZG93bi10b2dnbGUuYm1kLWJ0bi1pY29uLCAub3BlbiA+XG4gICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi1zdWNjZXNzLmRyb3Bkb3duLXRvZ2dsZS5ibWQtYnRuLWljb24uY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlIHtcbiAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzRjYWY1MDsgfVxuICAgICAgLm9wZW4gPiAuYnRuLmJtZC1idG4tZmFiLmJ0bi1zdWNjZXNzLmRyb3Bkb3duLXRvZ2dsZS5ibWQtYnRuLWljb246aG92ZXIsIC5vcGVuID4gLmJtZC1idG4tZmFiLmJ0bi1zdWNjZXNzLmRyb3Bkb3duLXRvZ2dsZS5ibWQtYnRuLWljb24uY3VzdG9tLWZpbGUtY29udHJvbDpob3Zlcjo6YmVmb3JlLCAub3BlbiA+IC5idG4uYnRuLXJhaXNlZC5idG4tc3VjY2Vzcy5kcm9wZG93bi10b2dnbGUuYm1kLWJ0bi1pY29uOmhvdmVyLCAub3BlbiA+IC5idG4tcmFpc2VkLmJ0bi1zdWNjZXNzLmRyb3Bkb3duLXRvZ2dsZS5ibWQtYnRuLWljb24uY3VzdG9tLWZpbGUtY29udHJvbDpob3Zlcjo6YmVmb3JlLCAub3BlbiA+XG4gICAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLmJ0bi1zdWNjZXNzLmRyb3Bkb3duLXRvZ2dsZS5ibWQtYnRuLWljb246aG92ZXIsIC5vcGVuID5cbiAgICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4tc3VjY2Vzcy5kcm9wZG93bi10b2dnbGUuYm1kLWJ0bi1pY29uLmN1c3RvbS1maWxlLWNvbnRyb2w6aG92ZXI6OmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICM0NmExNDk7IH1cbiAgICAuYnRuLmJtZC1idG4tZmFiLmJ0bi1zdWNjZXNzLmRpc2FibGVkOmZvY3VzLCAuYm1kLWJ0bi1mYWIuYnRuLXN1Y2Nlc3MuZGlzYWJsZWQuY3VzdG9tLWZpbGUtY29udHJvbDpmb2N1czo6YmVmb3JlLCAuYnRuLmJtZC1idG4tZmFiLmJ0bi1zdWNjZXNzLmRpc2FibGVkLmZvY3VzLCAuYm1kLWJ0bi1mYWIuYnRuLXN1Y2Nlc3MuZGlzYWJsZWQuZm9jdXMuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLCAuYnRuLmJtZC1idG4tZmFiLmJ0bi1zdWNjZXNzOmRpc2FibGVkOmZvY3VzLCAuYm1kLWJ0bi1mYWIuYnRuLXN1Y2Nlc3MuY3VzdG9tLWZpbGUtY29udHJvbDpkaXNhYmxlZDpmb2N1czo6YmVmb3JlLCAuYnRuLmJtZC1idG4tZmFiLmJ0bi1zdWNjZXNzOmRpc2FibGVkLmZvY3VzLCAuYm1kLWJ0bi1mYWIuYnRuLXN1Y2Nlc3MuY3VzdG9tLWZpbGUtY29udHJvbDpkaXNhYmxlZC5mb2N1czo6YmVmb3JlLCAuYnRuLmJ0bi1yYWlzZWQuYnRuLXN1Y2Nlc3MuZGlzYWJsZWQ6Zm9jdXMsIC5idG4tcmFpc2VkLmJ0bi1zdWNjZXNzLmRpc2FibGVkLmN1c3RvbS1maWxlLWNvbnRyb2w6Zm9jdXM6OmJlZm9yZSwgLmJ0bi5idG4tcmFpc2VkLmJ0bi1zdWNjZXNzLmRpc2FibGVkLmZvY3VzLCAuYnRuLXJhaXNlZC5idG4tc3VjY2Vzcy5kaXNhYmxlZC5mb2N1cy5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsIC5idG4uYnRuLXJhaXNlZC5idG4tc3VjY2VzczpkaXNhYmxlZDpmb2N1cywgLmJ0bi1yYWlzZWQuYnRuLXN1Y2Nlc3MuY3VzdG9tLWZpbGUtY29udHJvbDpkaXNhYmxlZDpmb2N1czo6YmVmb3JlLCAuYnRuLmJ0bi1yYWlzZWQuYnRuLXN1Y2Nlc3M6ZGlzYWJsZWQuZm9jdXMsIC5idG4tcmFpc2VkLmJ0bi1zdWNjZXNzLmN1c3RvbS1maWxlLWNvbnRyb2w6ZGlzYWJsZWQuZm9jdXM6OmJlZm9yZSxcbiAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLmJ0bi1zdWNjZXNzLmRpc2FibGVkOmZvY3VzLFxuICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4tc3VjY2Vzcy5kaXNhYmxlZC5jdXN0b20tZmlsZS1jb250cm9sOmZvY3VzOjpiZWZvcmUsXG4gICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi5idG4tc3VjY2Vzcy5kaXNhYmxlZC5mb2N1cyxcbiAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLXN1Y2Nlc3MuZGlzYWJsZWQuZm9jdXMuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLFxuICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4uYnRuLXN1Y2Nlc3M6ZGlzYWJsZWQ6Zm9jdXMsXG4gICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi1zdWNjZXNzLmN1c3RvbS1maWxlLWNvbnRyb2w6ZGlzYWJsZWQ6Zm9jdXM6OmJlZm9yZSxcbiAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLmJ0bi1zdWNjZXNzOmRpc2FibGVkLmZvY3VzLFxuICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4tc3VjY2Vzcy5jdXN0b20tZmlsZS1jb250cm9sOmRpc2FibGVkLmZvY3VzOjpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzRjYWY1MDtcbiAgICAgIGJvcmRlci1jb2xvcjogIzRjYWY1MDsgfVxuICAgIC5idG4uYm1kLWJ0bi1mYWIuYnRuLXN1Y2Nlc3MuZGlzYWJsZWQ6aG92ZXIsIC5ibWQtYnRuLWZhYi5idG4tc3VjY2Vzcy5kaXNhYmxlZC5jdXN0b20tZmlsZS1jb250cm9sOmhvdmVyOjpiZWZvcmUsIC5idG4uYm1kLWJ0bi1mYWIuYnRuLXN1Y2Nlc3M6ZGlzYWJsZWQ6aG92ZXIsIC5ibWQtYnRuLWZhYi5idG4tc3VjY2Vzcy5jdXN0b20tZmlsZS1jb250cm9sOmRpc2FibGVkOmhvdmVyOjpiZWZvcmUsIC5idG4uYnRuLXJhaXNlZC5idG4tc3VjY2Vzcy5kaXNhYmxlZDpob3ZlciwgLmJ0bi1yYWlzZWQuYnRuLXN1Y2Nlc3MuZGlzYWJsZWQuY3VzdG9tLWZpbGUtY29udHJvbDpob3Zlcjo6YmVmb3JlLCAuYnRuLmJ0bi1yYWlzZWQuYnRuLXN1Y2Nlc3M6ZGlzYWJsZWQ6aG92ZXIsIC5idG4tcmFpc2VkLmJ0bi1zdWNjZXNzLmN1c3RvbS1maWxlLWNvbnRyb2w6ZGlzYWJsZWQ6aG92ZXI6OmJlZm9yZSxcbiAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLmJ0bi1zdWNjZXNzLmRpc2FibGVkOmhvdmVyLFxuICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4tc3VjY2Vzcy5kaXNhYmxlZC5jdXN0b20tZmlsZS1jb250cm9sOmhvdmVyOjpiZWZvcmUsXG4gICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi5idG4tc3VjY2VzczpkaXNhYmxlZDpob3ZlcixcbiAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLXN1Y2Nlc3MuY3VzdG9tLWZpbGUtY29udHJvbDpkaXNhYmxlZDpob3Zlcjo6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM0Y2FmNTA7XG4gICAgICBib3JkZXItY29sb3I6ICM0Y2FmNTA7IH1cbiAgLmJ0bi5ibWQtYnRuLWZhYi5idG4td2FybmluZywgLmJtZC1idG4tZmFiLmJ0bi13YXJuaW5nLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSwgLmJ0bi5idG4tcmFpc2VkLmJ0bi13YXJuaW5nLCAuYnRuLXJhaXNlZC5idG4td2FybmluZy5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsXG4gIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4uYnRuLXdhcm5pbmcsXG4gIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4td2FybmluZy5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUge1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZjU3MjI7XG4gICAgYm9yZGVyLWNvbG9yOiAjZmY1NzIyOyB9XG4gICAgLmJ0bi5ibWQtYnRuLWZhYi5idG4td2FybmluZzpob3ZlciwgLmJtZC1idG4tZmFiLmJ0bi13YXJuaW5nLmN1c3RvbS1maWxlLWNvbnRyb2w6aG92ZXI6OmJlZm9yZSwgLmJ0bi5idG4tcmFpc2VkLmJ0bi13YXJuaW5nOmhvdmVyLCAuYnRuLXJhaXNlZC5idG4td2FybmluZy5jdXN0b20tZmlsZS1jb250cm9sOmhvdmVyOjpiZWZvcmUsXG4gICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi5idG4td2FybmluZzpob3ZlcixcbiAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLXdhcm5pbmcuY3VzdG9tLWZpbGUtY29udHJvbDpob3Zlcjo6YmVmb3JlIHtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmNDcwZTtcbiAgICAgIGJvcmRlci1jb2xvcjogI2U0MzcwMDsgfVxuICAgIC5idG4uYm1kLWJ0bi1mYWIuYnRuLXdhcm5pbmc6Zm9jdXMsIC5ibWQtYnRuLWZhYi5idG4td2FybmluZy5jdXN0b20tZmlsZS1jb250cm9sOmZvY3VzOjpiZWZvcmUsIC5idG4uYm1kLWJ0bi1mYWIuYnRuLXdhcm5pbmcuZm9jdXMsIC5ibWQtYnRuLWZhYi5idG4td2FybmluZy5mb2N1cy5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsIC5idG4uYnRuLXJhaXNlZC5idG4td2FybmluZzpmb2N1cywgLmJ0bi1yYWlzZWQuYnRuLXdhcm5pbmcuY3VzdG9tLWZpbGUtY29udHJvbDpmb2N1czo6YmVmb3JlLCAuYnRuLmJ0bi1yYWlzZWQuYnRuLXdhcm5pbmcuZm9jdXMsIC5idG4tcmFpc2VkLmJ0bi13YXJuaW5nLmZvY3VzLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSxcbiAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLmJ0bi13YXJuaW5nOmZvY3VzLFxuICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4td2FybmluZy5jdXN0b20tZmlsZS1jb250cm9sOmZvY3VzOjpiZWZvcmUsXG4gICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi5idG4td2FybmluZy5mb2N1cyxcbiAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLXdhcm5pbmcuZm9jdXMuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlIHtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmNDcwZTtcbiAgICAgIGJvcmRlci1jb2xvcjogI2U0MzcwMDsgfVxuICAgIC5idG4uYm1kLWJ0bi1mYWIuYnRuLXdhcm5pbmc6YWN0aXZlLCAuYm1kLWJ0bi1mYWIuYnRuLXdhcm5pbmcuY3VzdG9tLWZpbGUtY29udHJvbDphY3RpdmU6OmJlZm9yZSwgLmJ0bi5ibWQtYnRuLWZhYi5idG4td2FybmluZy5hY3RpdmUsIC5ibWQtYnRuLWZhYi5idG4td2FybmluZy5hY3RpdmUuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLFxuICAgIC5vcGVuID4gLmJ0bi5ibWQtYnRuLWZhYi5idG4td2FybmluZy5kcm9wZG93bi10b2dnbGUsXG4gICAgLm9wZW4gPiAuYm1kLWJ0bi1mYWIuYnRuLXdhcm5pbmcuZHJvcGRvd24tdG9nZ2xlLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSwgLmJ0bi5idG4tcmFpc2VkLmJ0bi13YXJuaW5nOmFjdGl2ZSwgLmJ0bi1yYWlzZWQuYnRuLXdhcm5pbmcuY3VzdG9tLWZpbGUtY29udHJvbDphY3RpdmU6OmJlZm9yZSwgLmJ0bi5idG4tcmFpc2VkLmJ0bi13YXJuaW5nLmFjdGl2ZSwgLmJ0bi1yYWlzZWQuYnRuLXdhcm5pbmcuYWN0aXZlLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSxcbiAgICAub3BlbiA+IC5idG4uYnRuLXJhaXNlZC5idG4td2FybmluZy5kcm9wZG93bi10b2dnbGUsXG4gICAgLm9wZW4gPiAuYnRuLXJhaXNlZC5idG4td2FybmluZy5kcm9wZG93bi10b2dnbGUuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLFxuICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4uYnRuLXdhcm5pbmc6YWN0aXZlLFxuICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4td2FybmluZy5jdXN0b20tZmlsZS1jb250cm9sOmFjdGl2ZTo6YmVmb3JlLFxuICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4uYnRuLXdhcm5pbmcuYWN0aXZlLFxuICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4td2FybmluZy5hY3RpdmUuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLFxuICAgIC5vcGVuID5cbiAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLmJ0bi13YXJuaW5nLmRyb3Bkb3duLXRvZ2dsZSxcbiAgICAub3BlbiA+XG4gICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi13YXJuaW5nLmRyb3Bkb3duLXRvZ2dsZS5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUge1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmY0NzBlO1xuICAgICAgYm9yZGVyLWNvbG9yOiAjZTQzNzAwOyB9XG4gICAgICAuYnRuLmJtZC1idG4tZmFiLmJ0bi13YXJuaW5nOmFjdGl2ZTpob3ZlciwgLmJtZC1idG4tZmFiLmJ0bi13YXJuaW5nLmN1c3RvbS1maWxlLWNvbnRyb2w6YWN0aXZlOmhvdmVyOjpiZWZvcmUsIC5idG4uYm1kLWJ0bi1mYWIuYnRuLXdhcm5pbmc6YWN0aXZlOmZvY3VzLCAuYm1kLWJ0bi1mYWIuYnRuLXdhcm5pbmcuY3VzdG9tLWZpbGUtY29udHJvbDphY3RpdmU6Zm9jdXM6OmJlZm9yZSwgLmJ0bi5ibWQtYnRuLWZhYi5idG4td2FybmluZzphY3RpdmUuZm9jdXMsIC5ibWQtYnRuLWZhYi5idG4td2FybmluZy5jdXN0b20tZmlsZS1jb250cm9sOmFjdGl2ZS5mb2N1czo6YmVmb3JlLCAuYnRuLmJtZC1idG4tZmFiLmJ0bi13YXJuaW5nLmFjdGl2ZTpob3ZlciwgLmJtZC1idG4tZmFiLmJ0bi13YXJuaW5nLmFjdGl2ZS5jdXN0b20tZmlsZS1jb250cm9sOmhvdmVyOjpiZWZvcmUsIC5idG4uYm1kLWJ0bi1mYWIuYnRuLXdhcm5pbmcuYWN0aXZlOmZvY3VzLCAuYm1kLWJ0bi1mYWIuYnRuLXdhcm5pbmcuYWN0aXZlLmN1c3RvbS1maWxlLWNvbnRyb2w6Zm9jdXM6OmJlZm9yZSwgLmJ0bi5ibWQtYnRuLWZhYi5idG4td2FybmluZy5hY3RpdmUuZm9jdXMsIC5ibWQtYnRuLWZhYi5idG4td2FybmluZy5hY3RpdmUuZm9jdXMuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLFxuICAgICAgLm9wZW4gPiAuYnRuLmJtZC1idG4tZmFiLmJ0bi13YXJuaW5nLmRyb3Bkb3duLXRvZ2dsZTpob3ZlcixcbiAgICAgIC5vcGVuID4gLmJtZC1idG4tZmFiLmJ0bi13YXJuaW5nLmRyb3Bkb3duLXRvZ2dsZS5jdXN0b20tZmlsZS1jb250cm9sOmhvdmVyOjpiZWZvcmUsXG4gICAgICAub3BlbiA+IC5idG4uYm1kLWJ0bi1mYWIuYnRuLXdhcm5pbmcuZHJvcGRvd24tdG9nZ2xlOmZvY3VzLFxuICAgICAgLm9wZW4gPiAuYm1kLWJ0bi1mYWIuYnRuLXdhcm5pbmcuZHJvcGRvd24tdG9nZ2xlLmN1c3RvbS1maWxlLWNvbnRyb2w6Zm9jdXM6OmJlZm9yZSxcbiAgICAgIC5vcGVuID4gLmJ0bi5ibWQtYnRuLWZhYi5idG4td2FybmluZy5kcm9wZG93bi10b2dnbGUuZm9jdXMsXG4gICAgICAub3BlbiA+IC5ibWQtYnRuLWZhYi5idG4td2FybmluZy5kcm9wZG93bi10b2dnbGUuZm9jdXMuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLCAuYnRuLmJ0bi1yYWlzZWQuYnRuLXdhcm5pbmc6YWN0aXZlOmhvdmVyLCAuYnRuLXJhaXNlZC5idG4td2FybmluZy5jdXN0b20tZmlsZS1jb250cm9sOmFjdGl2ZTpob3Zlcjo6YmVmb3JlLCAuYnRuLmJ0bi1yYWlzZWQuYnRuLXdhcm5pbmc6YWN0aXZlOmZvY3VzLCAuYnRuLXJhaXNlZC5idG4td2FybmluZy5jdXN0b20tZmlsZS1jb250cm9sOmFjdGl2ZTpmb2N1czo6YmVmb3JlLCAuYnRuLmJ0bi1yYWlzZWQuYnRuLXdhcm5pbmc6YWN0aXZlLmZvY3VzLCAuYnRuLXJhaXNlZC5idG4td2FybmluZy5jdXN0b20tZmlsZS1jb250cm9sOmFjdGl2ZS5mb2N1czo6YmVmb3JlLCAuYnRuLmJ0bi1yYWlzZWQuYnRuLXdhcm5pbmcuYWN0aXZlOmhvdmVyLCAuYnRuLXJhaXNlZC5idG4td2FybmluZy5hY3RpdmUuY3VzdG9tLWZpbGUtY29udHJvbDpob3Zlcjo6YmVmb3JlLCAuYnRuLmJ0bi1yYWlzZWQuYnRuLXdhcm5pbmcuYWN0aXZlOmZvY3VzLCAuYnRuLXJhaXNlZC5idG4td2FybmluZy5hY3RpdmUuY3VzdG9tLWZpbGUtY29udHJvbDpmb2N1czo6YmVmb3JlLCAuYnRuLmJ0bi1yYWlzZWQuYnRuLXdhcm5pbmcuYWN0aXZlLmZvY3VzLCAuYnRuLXJhaXNlZC5idG4td2FybmluZy5hY3RpdmUuZm9jdXMuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLFxuICAgICAgLm9wZW4gPiAuYnRuLmJ0bi1yYWlzZWQuYnRuLXdhcm5pbmcuZHJvcGRvd24tdG9nZ2xlOmhvdmVyLFxuICAgICAgLm9wZW4gPiAuYnRuLXJhaXNlZC5idG4td2FybmluZy5kcm9wZG93bi10b2dnbGUuY3VzdG9tLWZpbGUtY29udHJvbDpob3Zlcjo6YmVmb3JlLFxuICAgICAgLm9wZW4gPiAuYnRuLmJ0bi1yYWlzZWQuYnRuLXdhcm5pbmcuZHJvcGRvd24tdG9nZ2xlOmZvY3VzLFxuICAgICAgLm9wZW4gPiAuYnRuLXJhaXNlZC5idG4td2FybmluZy5kcm9wZG93bi10b2dnbGUuY3VzdG9tLWZpbGUtY29udHJvbDpmb2N1czo6YmVmb3JlLFxuICAgICAgLm9wZW4gPiAuYnRuLmJ0bi1yYWlzZWQuYnRuLXdhcm5pbmcuZHJvcGRvd24tdG9nZ2xlLmZvY3VzLFxuICAgICAgLm9wZW4gPiAuYnRuLXJhaXNlZC5idG4td2FybmluZy5kcm9wZG93bi10b2dnbGUuZm9jdXMuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLFxuICAgICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi5idG4td2FybmluZzphY3RpdmU6aG92ZXIsXG4gICAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLXdhcm5pbmcuY3VzdG9tLWZpbGUtY29udHJvbDphY3RpdmU6aG92ZXI6OmJlZm9yZSxcbiAgICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4uYnRuLXdhcm5pbmc6YWN0aXZlOmZvY3VzLFxuICAgICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi13YXJuaW5nLmN1c3RvbS1maWxlLWNvbnRyb2w6YWN0aXZlOmZvY3VzOjpiZWZvcmUsXG4gICAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLmJ0bi13YXJuaW5nOmFjdGl2ZS5mb2N1cyxcbiAgICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4td2FybmluZy5jdXN0b20tZmlsZS1jb250cm9sOmFjdGl2ZS5mb2N1czo6YmVmb3JlLFxuICAgICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi5idG4td2FybmluZy5hY3RpdmU6aG92ZXIsXG4gICAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLXdhcm5pbmcuYWN0aXZlLmN1c3RvbS1maWxlLWNvbnRyb2w6aG92ZXI6OmJlZm9yZSxcbiAgICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4uYnRuLXdhcm5pbmcuYWN0aXZlOmZvY3VzLFxuICAgICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi13YXJuaW5nLmFjdGl2ZS5jdXN0b20tZmlsZS1jb250cm9sOmZvY3VzOjpiZWZvcmUsXG4gICAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLmJ0bi13YXJuaW5nLmFjdGl2ZS5mb2N1cyxcbiAgICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4td2FybmluZy5hY3RpdmUuZm9jdXMuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLFxuICAgICAgLm9wZW4gPlxuICAgICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi5idG4td2FybmluZy5kcm9wZG93bi10b2dnbGU6aG92ZXIsXG4gICAgICAub3BlbiA+XG4gICAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLXdhcm5pbmcuZHJvcGRvd24tdG9nZ2xlLmN1c3RvbS1maWxlLWNvbnRyb2w6aG92ZXI6OmJlZm9yZSxcbiAgICAgIC5vcGVuID5cbiAgICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4uYnRuLXdhcm5pbmcuZHJvcGRvd24tdG9nZ2xlOmZvY3VzLFxuICAgICAgLm9wZW4gPlxuICAgICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi13YXJuaW5nLmRyb3Bkb3duLXRvZ2dsZS5jdXN0b20tZmlsZS1jb250cm9sOmZvY3VzOjpiZWZvcmUsXG4gICAgICAub3BlbiA+XG4gICAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLmJ0bi13YXJuaW5nLmRyb3Bkb3duLXRvZ2dsZS5mb2N1cyxcbiAgICAgIC5vcGVuID5cbiAgICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4td2FybmluZy5kcm9wZG93bi10b2dnbGUuZm9jdXMuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlIHtcbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZjQ3MGU7XG4gICAgICAgIGJvcmRlci1jb2xvcjogI2EyMjcwMDsgfVxuICAgIC5vcGVuID4gLmJ0bi5ibWQtYnRuLWZhYi5idG4td2FybmluZy5kcm9wZG93bi10b2dnbGUuYm1kLWJ0bi1pY29uLCAub3BlbiA+IC5ibWQtYnRuLWZhYi5idG4td2FybmluZy5kcm9wZG93bi10b2dnbGUuYm1kLWJ0bi1pY29uLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSwgLm9wZW4gPiAuYnRuLmJ0bi1yYWlzZWQuYnRuLXdhcm5pbmcuZHJvcGRvd24tdG9nZ2xlLmJtZC1idG4taWNvbiwgLm9wZW4gPiAuYnRuLXJhaXNlZC5idG4td2FybmluZy5kcm9wZG93bi10b2dnbGUuYm1kLWJ0bi1pY29uLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSwgLm9wZW4gPlxuICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4uYnRuLXdhcm5pbmcuZHJvcGRvd24tdG9nZ2xlLmJtZC1idG4taWNvbiwgLm9wZW4gPlxuICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4td2FybmluZy5kcm9wZG93bi10b2dnbGUuYm1kLWJ0bi1pY29uLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSB7XG4gICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZjU3MjI7IH1cbiAgICAgIC5vcGVuID4gLmJ0bi5ibWQtYnRuLWZhYi5idG4td2FybmluZy5kcm9wZG93bi10b2dnbGUuYm1kLWJ0bi1pY29uOmhvdmVyLCAub3BlbiA+IC5ibWQtYnRuLWZhYi5idG4td2FybmluZy5kcm9wZG93bi10b2dnbGUuYm1kLWJ0bi1pY29uLmN1c3RvbS1maWxlLWNvbnRyb2w6aG92ZXI6OmJlZm9yZSwgLm9wZW4gPiAuYnRuLmJ0bi1yYWlzZWQuYnRuLXdhcm5pbmcuZHJvcGRvd24tdG9nZ2xlLmJtZC1idG4taWNvbjpob3ZlciwgLm9wZW4gPiAuYnRuLXJhaXNlZC5idG4td2FybmluZy5kcm9wZG93bi10b2dnbGUuYm1kLWJ0bi1pY29uLmN1c3RvbS1maWxlLWNvbnRyb2w6aG92ZXI6OmJlZm9yZSwgLm9wZW4gPlxuICAgICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi5idG4td2FybmluZy5kcm9wZG93bi10b2dnbGUuYm1kLWJ0bi1pY29uOmhvdmVyLCAub3BlbiA+XG4gICAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLXdhcm5pbmcuZHJvcGRvd24tdG9nZ2xlLmJtZC1idG4taWNvbi5jdXN0b20tZmlsZS1jb250cm9sOmhvdmVyOjpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmY0NzBlOyB9XG4gICAgLmJ0bi5ibWQtYnRuLWZhYi5idG4td2FybmluZy5kaXNhYmxlZDpmb2N1cywgLmJtZC1idG4tZmFiLmJ0bi13YXJuaW5nLmRpc2FibGVkLmN1c3RvbS1maWxlLWNvbnRyb2w6Zm9jdXM6OmJlZm9yZSwgLmJ0bi5ibWQtYnRuLWZhYi5idG4td2FybmluZy5kaXNhYmxlZC5mb2N1cywgLmJtZC1idG4tZmFiLmJ0bi13YXJuaW5nLmRpc2FibGVkLmZvY3VzLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSwgLmJ0bi5ibWQtYnRuLWZhYi5idG4td2FybmluZzpkaXNhYmxlZDpmb2N1cywgLmJtZC1idG4tZmFiLmJ0bi13YXJuaW5nLmN1c3RvbS1maWxlLWNvbnRyb2w6ZGlzYWJsZWQ6Zm9jdXM6OmJlZm9yZSwgLmJ0bi5ibWQtYnRuLWZhYi5idG4td2FybmluZzpkaXNhYmxlZC5mb2N1cywgLmJtZC1idG4tZmFiLmJ0bi13YXJuaW5nLmN1c3RvbS1maWxlLWNvbnRyb2w6ZGlzYWJsZWQuZm9jdXM6OmJlZm9yZSwgLmJ0bi5idG4tcmFpc2VkLmJ0bi13YXJuaW5nLmRpc2FibGVkOmZvY3VzLCAuYnRuLXJhaXNlZC5idG4td2FybmluZy5kaXNhYmxlZC5jdXN0b20tZmlsZS1jb250cm9sOmZvY3VzOjpiZWZvcmUsIC5idG4uYnRuLXJhaXNlZC5idG4td2FybmluZy5kaXNhYmxlZC5mb2N1cywgLmJ0bi1yYWlzZWQuYnRuLXdhcm5pbmcuZGlzYWJsZWQuZm9jdXMuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLCAuYnRuLmJ0bi1yYWlzZWQuYnRuLXdhcm5pbmc6ZGlzYWJsZWQ6Zm9jdXMsIC5idG4tcmFpc2VkLmJ0bi13YXJuaW5nLmN1c3RvbS1maWxlLWNvbnRyb2w6ZGlzYWJsZWQ6Zm9jdXM6OmJlZm9yZSwgLmJ0bi5idG4tcmFpc2VkLmJ0bi13YXJuaW5nOmRpc2FibGVkLmZvY3VzLCAuYnRuLXJhaXNlZC5idG4td2FybmluZy5jdXN0b20tZmlsZS1jb250cm9sOmRpc2FibGVkLmZvY3VzOjpiZWZvcmUsXG4gICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi5idG4td2FybmluZy5kaXNhYmxlZDpmb2N1cyxcbiAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLXdhcm5pbmcuZGlzYWJsZWQuY3VzdG9tLWZpbGUtY29udHJvbDpmb2N1czo6YmVmb3JlLFxuICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4uYnRuLXdhcm5pbmcuZGlzYWJsZWQuZm9jdXMsXG4gICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi13YXJuaW5nLmRpc2FibGVkLmZvY3VzLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSxcbiAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLmJ0bi13YXJuaW5nOmRpc2FibGVkOmZvY3VzLFxuICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4td2FybmluZy5jdXN0b20tZmlsZS1jb250cm9sOmRpc2FibGVkOmZvY3VzOjpiZWZvcmUsXG4gICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi5idG4td2FybmluZzpkaXNhYmxlZC5mb2N1cyxcbiAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLXdhcm5pbmcuY3VzdG9tLWZpbGUtY29udHJvbDpkaXNhYmxlZC5mb2N1czo6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZjU3MjI7XG4gICAgICBib3JkZXItY29sb3I6ICNmZjU3MjI7IH1cbiAgICAuYnRuLmJtZC1idG4tZmFiLmJ0bi13YXJuaW5nLmRpc2FibGVkOmhvdmVyLCAuYm1kLWJ0bi1mYWIuYnRuLXdhcm5pbmcuZGlzYWJsZWQuY3VzdG9tLWZpbGUtY29udHJvbDpob3Zlcjo6YmVmb3JlLCAuYnRuLmJtZC1idG4tZmFiLmJ0bi13YXJuaW5nOmRpc2FibGVkOmhvdmVyLCAuYm1kLWJ0bi1mYWIuYnRuLXdhcm5pbmcuY3VzdG9tLWZpbGUtY29udHJvbDpkaXNhYmxlZDpob3Zlcjo6YmVmb3JlLCAuYnRuLmJ0bi1yYWlzZWQuYnRuLXdhcm5pbmcuZGlzYWJsZWQ6aG92ZXIsIC5idG4tcmFpc2VkLmJ0bi13YXJuaW5nLmRpc2FibGVkLmN1c3RvbS1maWxlLWNvbnRyb2w6aG92ZXI6OmJlZm9yZSwgLmJ0bi5idG4tcmFpc2VkLmJ0bi13YXJuaW5nOmRpc2FibGVkOmhvdmVyLCAuYnRuLXJhaXNlZC5idG4td2FybmluZy5jdXN0b20tZmlsZS1jb250cm9sOmRpc2FibGVkOmhvdmVyOjpiZWZvcmUsXG4gICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi5idG4td2FybmluZy5kaXNhYmxlZDpob3ZlcixcbiAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLXdhcm5pbmcuZGlzYWJsZWQuY3VzdG9tLWZpbGUtY29udHJvbDpob3Zlcjo6YmVmb3JlLFxuICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4uYnRuLXdhcm5pbmc6ZGlzYWJsZWQ6aG92ZXIsXG4gICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi13YXJuaW5nLmN1c3RvbS1maWxlLWNvbnRyb2w6ZGlzYWJsZWQ6aG92ZXI6OmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmY1NzIyO1xuICAgICAgYm9yZGVyLWNvbG9yOiAjZmY1NzIyOyB9XG4gIC5idG4uYm1kLWJ0bi1mYWIuYnRuLWRhbmdlciwgLmJtZC1idG4tZmFiLmJ0bi1kYW5nZXIuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLCAuYnRuLmJ0bi1yYWlzZWQuYnRuLWRhbmdlciwgLmJ0bi1yYWlzZWQuYnRuLWRhbmdlci5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsXG4gIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4uYnRuLWRhbmdlcixcbiAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi1kYW5nZXIuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlIHtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjQ0MzM2O1xuICAgIGJvcmRlci1jb2xvcjogI2Y0NDMzNjsgfVxuICAgIC5idG4uYm1kLWJ0bi1mYWIuYnRuLWRhbmdlcjpob3ZlciwgLmJtZC1idG4tZmFiLmJ0bi1kYW5nZXIuY3VzdG9tLWZpbGUtY29udHJvbDpob3Zlcjo6YmVmb3JlLCAuYnRuLmJ0bi1yYWlzZWQuYnRuLWRhbmdlcjpob3ZlciwgLmJ0bi1yYWlzZWQuYnRuLWRhbmdlci5jdXN0b20tZmlsZS1jb250cm9sOmhvdmVyOjpiZWZvcmUsXG4gICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi5idG4tZGFuZ2VyOmhvdmVyLFxuICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4tZGFuZ2VyLmN1c3RvbS1maWxlLWNvbnRyb2w6aG92ZXI6OmJlZm9yZSB7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmNTU1NDk7XG4gICAgICBib3JkZXItY29sb3I6ICNlMTFiMGM7IH1cbiAgICAuYnRuLmJtZC1idG4tZmFiLmJ0bi1kYW5nZXI6Zm9jdXMsIC5ibWQtYnRuLWZhYi5idG4tZGFuZ2VyLmN1c3RvbS1maWxlLWNvbnRyb2w6Zm9jdXM6OmJlZm9yZSwgLmJ0bi5ibWQtYnRuLWZhYi5idG4tZGFuZ2VyLmZvY3VzLCAuYm1kLWJ0bi1mYWIuYnRuLWRhbmdlci5mb2N1cy5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsIC5idG4uYnRuLXJhaXNlZC5idG4tZGFuZ2VyOmZvY3VzLCAuYnRuLXJhaXNlZC5idG4tZGFuZ2VyLmN1c3RvbS1maWxlLWNvbnRyb2w6Zm9jdXM6OmJlZm9yZSwgLmJ0bi5idG4tcmFpc2VkLmJ0bi1kYW5nZXIuZm9jdXMsIC5idG4tcmFpc2VkLmJ0bi1kYW5nZXIuZm9jdXMuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLFxuICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4uYnRuLWRhbmdlcjpmb2N1cyxcbiAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLWRhbmdlci5jdXN0b20tZmlsZS1jb250cm9sOmZvY3VzOjpiZWZvcmUsXG4gICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi5idG4tZGFuZ2VyLmZvY3VzLFxuICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4tZGFuZ2VyLmZvY3VzLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSB7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmNTU1NDk7XG4gICAgICBib3JkZXItY29sb3I6ICNlMTFiMGM7IH1cbiAgICAuYnRuLmJtZC1idG4tZmFiLmJ0bi1kYW5nZXI6YWN0aXZlLCAuYm1kLWJ0bi1mYWIuYnRuLWRhbmdlci5jdXN0b20tZmlsZS1jb250cm9sOmFjdGl2ZTo6YmVmb3JlLCAuYnRuLmJtZC1idG4tZmFiLmJ0bi1kYW5nZXIuYWN0aXZlLCAuYm1kLWJ0bi1mYWIuYnRuLWRhbmdlci5hY3RpdmUuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLFxuICAgIC5vcGVuID4gLmJ0bi5ibWQtYnRuLWZhYi5idG4tZGFuZ2VyLmRyb3Bkb3duLXRvZ2dsZSxcbiAgICAub3BlbiA+IC5ibWQtYnRuLWZhYi5idG4tZGFuZ2VyLmRyb3Bkb3duLXRvZ2dsZS5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsIC5idG4uYnRuLXJhaXNlZC5idG4tZGFuZ2VyOmFjdGl2ZSwgLmJ0bi1yYWlzZWQuYnRuLWRhbmdlci5jdXN0b20tZmlsZS1jb250cm9sOmFjdGl2ZTo6YmVmb3JlLCAuYnRuLmJ0bi1yYWlzZWQuYnRuLWRhbmdlci5hY3RpdmUsIC5idG4tcmFpc2VkLmJ0bi1kYW5nZXIuYWN0aXZlLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSxcbiAgICAub3BlbiA+IC5idG4uYnRuLXJhaXNlZC5idG4tZGFuZ2VyLmRyb3Bkb3duLXRvZ2dsZSxcbiAgICAub3BlbiA+IC5idG4tcmFpc2VkLmJ0bi1kYW5nZXIuZHJvcGRvd24tdG9nZ2xlLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSxcbiAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLmJ0bi1kYW5nZXI6YWN0aXZlLFxuICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4tZGFuZ2VyLmN1c3RvbS1maWxlLWNvbnRyb2w6YWN0aXZlOjpiZWZvcmUsXG4gICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi5idG4tZGFuZ2VyLmFjdGl2ZSxcbiAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLWRhbmdlci5hY3RpdmUuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLFxuICAgIC5vcGVuID5cbiAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLmJ0bi1kYW5nZXIuZHJvcGRvd24tdG9nZ2xlLFxuICAgIC5vcGVuID5cbiAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLWRhbmdlci5kcm9wZG93bi10b2dnbGUuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlIHtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2Y1NTU0OTtcbiAgICAgIGJvcmRlci1jb2xvcjogI2UxMWIwYzsgfVxuICAgICAgLmJ0bi5ibWQtYnRuLWZhYi5idG4tZGFuZ2VyOmFjdGl2ZTpob3ZlciwgLmJtZC1idG4tZmFiLmJ0bi1kYW5nZXIuY3VzdG9tLWZpbGUtY29udHJvbDphY3RpdmU6aG92ZXI6OmJlZm9yZSwgLmJ0bi5ibWQtYnRuLWZhYi5idG4tZGFuZ2VyOmFjdGl2ZTpmb2N1cywgLmJtZC1idG4tZmFiLmJ0bi1kYW5nZXIuY3VzdG9tLWZpbGUtY29udHJvbDphY3RpdmU6Zm9jdXM6OmJlZm9yZSwgLmJ0bi5ibWQtYnRuLWZhYi5idG4tZGFuZ2VyOmFjdGl2ZS5mb2N1cywgLmJtZC1idG4tZmFiLmJ0bi1kYW5nZXIuY3VzdG9tLWZpbGUtY29udHJvbDphY3RpdmUuZm9jdXM6OmJlZm9yZSwgLmJ0bi5ibWQtYnRuLWZhYi5idG4tZGFuZ2VyLmFjdGl2ZTpob3ZlciwgLmJtZC1idG4tZmFiLmJ0bi1kYW5nZXIuYWN0aXZlLmN1c3RvbS1maWxlLWNvbnRyb2w6aG92ZXI6OmJlZm9yZSwgLmJ0bi5ibWQtYnRuLWZhYi5idG4tZGFuZ2VyLmFjdGl2ZTpmb2N1cywgLmJtZC1idG4tZmFiLmJ0bi1kYW5nZXIuYWN0aXZlLmN1c3RvbS1maWxlLWNvbnRyb2w6Zm9jdXM6OmJlZm9yZSwgLmJ0bi5ibWQtYnRuLWZhYi5idG4tZGFuZ2VyLmFjdGl2ZS5mb2N1cywgLmJtZC1idG4tZmFiLmJ0bi1kYW5nZXIuYWN0aXZlLmZvY3VzLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSxcbiAgICAgIC5vcGVuID4gLmJ0bi5ibWQtYnRuLWZhYi5idG4tZGFuZ2VyLmRyb3Bkb3duLXRvZ2dsZTpob3ZlcixcbiAgICAgIC5vcGVuID4gLmJtZC1idG4tZmFiLmJ0bi1kYW5nZXIuZHJvcGRvd24tdG9nZ2xlLmN1c3RvbS1maWxlLWNvbnRyb2w6aG92ZXI6OmJlZm9yZSxcbiAgICAgIC5vcGVuID4gLmJ0bi5ibWQtYnRuLWZhYi5idG4tZGFuZ2VyLmRyb3Bkb3duLXRvZ2dsZTpmb2N1cyxcbiAgICAgIC5vcGVuID4gLmJtZC1idG4tZmFiLmJ0bi1kYW5nZXIuZHJvcGRvd24tdG9nZ2xlLmN1c3RvbS1maWxlLWNvbnRyb2w6Zm9jdXM6OmJlZm9yZSxcbiAgICAgIC5vcGVuID4gLmJ0bi5ibWQtYnRuLWZhYi5idG4tZGFuZ2VyLmRyb3Bkb3duLXRvZ2dsZS5mb2N1cyxcbiAgICAgIC5vcGVuID4gLmJtZC1idG4tZmFiLmJ0bi1kYW5nZXIuZHJvcGRvd24tdG9nZ2xlLmZvY3VzLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSwgLmJ0bi5idG4tcmFpc2VkLmJ0bi1kYW5nZXI6YWN0aXZlOmhvdmVyLCAuYnRuLXJhaXNlZC5idG4tZGFuZ2VyLmN1c3RvbS1maWxlLWNvbnRyb2w6YWN0aXZlOmhvdmVyOjpiZWZvcmUsIC5idG4uYnRuLXJhaXNlZC5idG4tZGFuZ2VyOmFjdGl2ZTpmb2N1cywgLmJ0bi1yYWlzZWQuYnRuLWRhbmdlci5jdXN0b20tZmlsZS1jb250cm9sOmFjdGl2ZTpmb2N1czo6YmVmb3JlLCAuYnRuLmJ0bi1yYWlzZWQuYnRuLWRhbmdlcjphY3RpdmUuZm9jdXMsIC5idG4tcmFpc2VkLmJ0bi1kYW5nZXIuY3VzdG9tLWZpbGUtY29udHJvbDphY3RpdmUuZm9jdXM6OmJlZm9yZSwgLmJ0bi5idG4tcmFpc2VkLmJ0bi1kYW5nZXIuYWN0aXZlOmhvdmVyLCAuYnRuLXJhaXNlZC5idG4tZGFuZ2VyLmFjdGl2ZS5jdXN0b20tZmlsZS1jb250cm9sOmhvdmVyOjpiZWZvcmUsIC5idG4uYnRuLXJhaXNlZC5idG4tZGFuZ2VyLmFjdGl2ZTpmb2N1cywgLmJ0bi1yYWlzZWQuYnRuLWRhbmdlci5hY3RpdmUuY3VzdG9tLWZpbGUtY29udHJvbDpmb2N1czo6YmVmb3JlLCAuYnRuLmJ0bi1yYWlzZWQuYnRuLWRhbmdlci5hY3RpdmUuZm9jdXMsIC5idG4tcmFpc2VkLmJ0bi1kYW5nZXIuYWN0aXZlLmZvY3VzLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSxcbiAgICAgIC5vcGVuID4gLmJ0bi5idG4tcmFpc2VkLmJ0bi1kYW5nZXIuZHJvcGRvd24tdG9nZ2xlOmhvdmVyLFxuICAgICAgLm9wZW4gPiAuYnRuLXJhaXNlZC5idG4tZGFuZ2VyLmRyb3Bkb3duLXRvZ2dsZS5jdXN0b20tZmlsZS1jb250cm9sOmhvdmVyOjpiZWZvcmUsXG4gICAgICAub3BlbiA+IC5idG4uYnRuLXJhaXNlZC5idG4tZGFuZ2VyLmRyb3Bkb3duLXRvZ2dsZTpmb2N1cyxcbiAgICAgIC5vcGVuID4gLmJ0bi1yYWlzZWQuYnRuLWRhbmdlci5kcm9wZG93bi10b2dnbGUuY3VzdG9tLWZpbGUtY29udHJvbDpmb2N1czo6YmVmb3JlLFxuICAgICAgLm9wZW4gPiAuYnRuLmJ0bi1yYWlzZWQuYnRuLWRhbmdlci5kcm9wZG93bi10b2dnbGUuZm9jdXMsXG4gICAgICAub3BlbiA+IC5idG4tcmFpc2VkLmJ0bi1kYW5nZXIuZHJvcGRvd24tdG9nZ2xlLmZvY3VzLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSxcbiAgICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4uYnRuLWRhbmdlcjphY3RpdmU6aG92ZXIsXG4gICAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLWRhbmdlci5jdXN0b20tZmlsZS1jb250cm9sOmFjdGl2ZTpob3Zlcjo6YmVmb3JlLFxuICAgICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi5idG4tZGFuZ2VyOmFjdGl2ZTpmb2N1cyxcbiAgICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4tZGFuZ2VyLmN1c3RvbS1maWxlLWNvbnRyb2w6YWN0aXZlOmZvY3VzOjpiZWZvcmUsXG4gICAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLmJ0bi1kYW5nZXI6YWN0aXZlLmZvY3VzLFxuICAgICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi1kYW5nZXIuY3VzdG9tLWZpbGUtY29udHJvbDphY3RpdmUuZm9jdXM6OmJlZm9yZSxcbiAgICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4uYnRuLWRhbmdlci5hY3RpdmU6aG92ZXIsXG4gICAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLWRhbmdlci5hY3RpdmUuY3VzdG9tLWZpbGUtY29udHJvbDpob3Zlcjo6YmVmb3JlLFxuICAgICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi5idG4tZGFuZ2VyLmFjdGl2ZTpmb2N1cyxcbiAgICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4tZGFuZ2VyLmFjdGl2ZS5jdXN0b20tZmlsZS1jb250cm9sOmZvY3VzOjpiZWZvcmUsXG4gICAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLmJ0bi1kYW5nZXIuYWN0aXZlLmZvY3VzLFxuICAgICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi1kYW5nZXIuYWN0aXZlLmZvY3VzLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSxcbiAgICAgIC5vcGVuID5cbiAgICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4uYnRuLWRhbmdlci5kcm9wZG93bi10b2dnbGU6aG92ZXIsXG4gICAgICAub3BlbiA+XG4gICAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLWRhbmdlci5kcm9wZG93bi10b2dnbGUuY3VzdG9tLWZpbGUtY29udHJvbDpob3Zlcjo6YmVmb3JlLFxuICAgICAgLm9wZW4gPlxuICAgICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi5idG4tZGFuZ2VyLmRyb3Bkb3duLXRvZ2dsZTpmb2N1cyxcbiAgICAgIC5vcGVuID5cbiAgICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4tZGFuZ2VyLmRyb3Bkb3duLXRvZ2dsZS5jdXN0b20tZmlsZS1jb250cm9sOmZvY3VzOjpiZWZvcmUsXG4gICAgICAub3BlbiA+XG4gICAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLmJ0bi1kYW5nZXIuZHJvcGRvd24tdG9nZ2xlLmZvY3VzLFxuICAgICAgLm9wZW4gPlxuICAgICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi1kYW5nZXIuZHJvcGRvd24tdG9nZ2xlLmZvY3VzLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSB7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjU1NTQ5O1xuICAgICAgICBib3JkZXItY29sb3I6ICNhMjEzMDk7IH1cbiAgICAub3BlbiA+IC5idG4uYm1kLWJ0bi1mYWIuYnRuLWRhbmdlci5kcm9wZG93bi10b2dnbGUuYm1kLWJ0bi1pY29uLCAub3BlbiA+IC5ibWQtYnRuLWZhYi5idG4tZGFuZ2VyLmRyb3Bkb3duLXRvZ2dsZS5ibWQtYnRuLWljb24uY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLCAub3BlbiA+IC5idG4uYnRuLXJhaXNlZC5idG4tZGFuZ2VyLmRyb3Bkb3duLXRvZ2dsZS5ibWQtYnRuLWljb24sIC5vcGVuID4gLmJ0bi1yYWlzZWQuYnRuLWRhbmdlci5kcm9wZG93bi10b2dnbGUuYm1kLWJ0bi1pY29uLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSwgLm9wZW4gPlxuICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4uYnRuLWRhbmdlci5kcm9wZG93bi10b2dnbGUuYm1kLWJ0bi1pY29uLCAub3BlbiA+XG4gICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi1kYW5nZXIuZHJvcGRvd24tdG9nZ2xlLmJtZC1idG4taWNvbi5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUge1xuICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjQ0MzM2OyB9XG4gICAgICAub3BlbiA+IC5idG4uYm1kLWJ0bi1mYWIuYnRuLWRhbmdlci5kcm9wZG93bi10b2dnbGUuYm1kLWJ0bi1pY29uOmhvdmVyLCAub3BlbiA+IC5ibWQtYnRuLWZhYi5idG4tZGFuZ2VyLmRyb3Bkb3duLXRvZ2dsZS5ibWQtYnRuLWljb24uY3VzdG9tLWZpbGUtY29udHJvbDpob3Zlcjo6YmVmb3JlLCAub3BlbiA+IC5idG4uYnRuLXJhaXNlZC5idG4tZGFuZ2VyLmRyb3Bkb3duLXRvZ2dsZS5ibWQtYnRuLWljb246aG92ZXIsIC5vcGVuID4gLmJ0bi1yYWlzZWQuYnRuLWRhbmdlci5kcm9wZG93bi10b2dnbGUuYm1kLWJ0bi1pY29uLmN1c3RvbS1maWxlLWNvbnRyb2w6aG92ZXI6OmJlZm9yZSwgLm9wZW4gPlxuICAgICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi5idG4tZGFuZ2VyLmRyb3Bkb3duLXRvZ2dsZS5ibWQtYnRuLWljb246aG92ZXIsIC5vcGVuID5cbiAgICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4tZGFuZ2VyLmRyb3Bkb3duLXRvZ2dsZS5ibWQtYnRuLWljb24uY3VzdG9tLWZpbGUtY29udHJvbDpob3Zlcjo6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2Y1NTU0OTsgfVxuICAgIC5idG4uYm1kLWJ0bi1mYWIuYnRuLWRhbmdlci5kaXNhYmxlZDpmb2N1cywgLmJtZC1idG4tZmFiLmJ0bi1kYW5nZXIuZGlzYWJsZWQuY3VzdG9tLWZpbGUtY29udHJvbDpmb2N1czo6YmVmb3JlLCAuYnRuLmJtZC1idG4tZmFiLmJ0bi1kYW5nZXIuZGlzYWJsZWQuZm9jdXMsIC5ibWQtYnRuLWZhYi5idG4tZGFuZ2VyLmRpc2FibGVkLmZvY3VzLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSwgLmJ0bi5ibWQtYnRuLWZhYi5idG4tZGFuZ2VyOmRpc2FibGVkOmZvY3VzLCAuYm1kLWJ0bi1mYWIuYnRuLWRhbmdlci5jdXN0b20tZmlsZS1jb250cm9sOmRpc2FibGVkOmZvY3VzOjpiZWZvcmUsIC5idG4uYm1kLWJ0bi1mYWIuYnRuLWRhbmdlcjpkaXNhYmxlZC5mb2N1cywgLmJtZC1idG4tZmFiLmJ0bi1kYW5nZXIuY3VzdG9tLWZpbGUtY29udHJvbDpkaXNhYmxlZC5mb2N1czo6YmVmb3JlLCAuYnRuLmJ0bi1yYWlzZWQuYnRuLWRhbmdlci5kaXNhYmxlZDpmb2N1cywgLmJ0bi1yYWlzZWQuYnRuLWRhbmdlci5kaXNhYmxlZC5jdXN0b20tZmlsZS1jb250cm9sOmZvY3VzOjpiZWZvcmUsIC5idG4uYnRuLXJhaXNlZC5idG4tZGFuZ2VyLmRpc2FibGVkLmZvY3VzLCAuYnRuLXJhaXNlZC5idG4tZGFuZ2VyLmRpc2FibGVkLmZvY3VzLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSwgLmJ0bi5idG4tcmFpc2VkLmJ0bi1kYW5nZXI6ZGlzYWJsZWQ6Zm9jdXMsIC5idG4tcmFpc2VkLmJ0bi1kYW5nZXIuY3VzdG9tLWZpbGUtY29udHJvbDpkaXNhYmxlZDpmb2N1czo6YmVmb3JlLCAuYnRuLmJ0bi1yYWlzZWQuYnRuLWRhbmdlcjpkaXNhYmxlZC5mb2N1cywgLmJ0bi1yYWlzZWQuYnRuLWRhbmdlci5jdXN0b20tZmlsZS1jb250cm9sOmRpc2FibGVkLmZvY3VzOjpiZWZvcmUsXG4gICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi5idG4tZGFuZ2VyLmRpc2FibGVkOmZvY3VzLFxuICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4tZGFuZ2VyLmRpc2FibGVkLmN1c3RvbS1maWxlLWNvbnRyb2w6Zm9jdXM6OmJlZm9yZSxcbiAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLmJ0bi1kYW5nZXIuZGlzYWJsZWQuZm9jdXMsXG4gICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi1kYW5nZXIuZGlzYWJsZWQuZm9jdXMuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLFxuICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4uYnRuLWRhbmdlcjpkaXNhYmxlZDpmb2N1cyxcbiAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLWRhbmdlci5jdXN0b20tZmlsZS1jb250cm9sOmRpc2FibGVkOmZvY3VzOjpiZWZvcmUsXG4gICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi5idG4tZGFuZ2VyOmRpc2FibGVkLmZvY3VzLFxuICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4tZGFuZ2VyLmN1c3RvbS1maWxlLWNvbnRyb2w6ZGlzYWJsZWQuZm9jdXM6OmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjQ0MzM2O1xuICAgICAgYm9yZGVyLWNvbG9yOiAjZjQ0MzM2OyB9XG4gICAgLmJ0bi5ibWQtYnRuLWZhYi5idG4tZGFuZ2VyLmRpc2FibGVkOmhvdmVyLCAuYm1kLWJ0bi1mYWIuYnRuLWRhbmdlci5kaXNhYmxlZC5jdXN0b20tZmlsZS1jb250cm9sOmhvdmVyOjpiZWZvcmUsIC5idG4uYm1kLWJ0bi1mYWIuYnRuLWRhbmdlcjpkaXNhYmxlZDpob3ZlciwgLmJtZC1idG4tZmFiLmJ0bi1kYW5nZXIuY3VzdG9tLWZpbGUtY29udHJvbDpkaXNhYmxlZDpob3Zlcjo6YmVmb3JlLCAuYnRuLmJ0bi1yYWlzZWQuYnRuLWRhbmdlci5kaXNhYmxlZDpob3ZlciwgLmJ0bi1yYWlzZWQuYnRuLWRhbmdlci5kaXNhYmxlZC5jdXN0b20tZmlsZS1jb250cm9sOmhvdmVyOjpiZWZvcmUsIC5idG4uYnRuLXJhaXNlZC5idG4tZGFuZ2VyOmRpc2FibGVkOmhvdmVyLCAuYnRuLXJhaXNlZC5idG4tZGFuZ2VyLmN1c3RvbS1maWxlLWNvbnRyb2w6ZGlzYWJsZWQ6aG92ZXI6OmJlZm9yZSxcbiAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLmJ0bi1kYW5nZXIuZGlzYWJsZWQ6aG92ZXIsXG4gICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi1kYW5nZXIuZGlzYWJsZWQuY3VzdG9tLWZpbGUtY29udHJvbDpob3Zlcjo6YmVmb3JlLFxuICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4uYnRuLWRhbmdlcjpkaXNhYmxlZDpob3ZlcixcbiAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLWRhbmdlci5jdXN0b20tZmlsZS1jb250cm9sOmRpc2FibGVkOmhvdmVyOjpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2Y0NDMzNjtcbiAgICAgIGJvcmRlci1jb2xvcjogI2Y0NDMzNjsgfVxuICAuYnRuLmJtZC1idG4tZmFiOmZvY3VzLCAuYm1kLWJ0bi1mYWIuY3VzdG9tLWZpbGUtY29udHJvbDpmb2N1czo6YmVmb3JlLCAuYnRuLmJtZC1idG4tZmFiOmhvdmVyLCAuYm1kLWJ0bi1mYWIuY3VzdG9tLWZpbGUtY29udHJvbDpob3Zlcjo6YmVmb3JlLCAuYnRuLmJ0bi1yYWlzZWQ6Zm9jdXMsIC5idG4tcmFpc2VkLmN1c3RvbS1maWxlLWNvbnRyb2w6Zm9jdXM6OmJlZm9yZSwgLmJ0bi5idG4tcmFpc2VkOmhvdmVyLCAuYnRuLXJhaXNlZC5jdXN0b20tZmlsZS1jb250cm9sOmhvdmVyOjpiZWZvcmUsXG4gIC5idG4tZ3JvdXAtcmFpc2VkIC5idG46Zm9jdXMsXG4gIC5idG4tZ3JvdXAtcmFpc2VkIC5jdXN0b20tZmlsZS1jb250cm9sOmZvY3VzOjpiZWZvcmUsXG4gIC5idG4tZ3JvdXAtcmFpc2VkIC5idG46aG92ZXIsXG4gIC5idG4tZ3JvdXAtcmFpc2VkIC5jdXN0b20tZmlsZS1jb250cm9sOmhvdmVyOjpiZWZvcmUge1xuICAgIHotaW5kZXg6IDE7XG4gICAgYm94LXNoYWRvdzogMCA0cHggNXB4IDAgcmdiYSgwLCAwLCAwLCAwLjE0KSwgMCAxcHggMTBweCAwIHJnYmEoMCwgMCwgMCwgMC4xMiksIDAgMnB4IDRweCAtMXB4IHJnYmEoMCwgMCwgMCwgMC4yKTsgfVxuICAuYnRuLmJtZC1idG4tZmFiLmFjdGl2ZSwgLmJtZC1idG4tZmFiLmFjdGl2ZS5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsIC5idG4uYm1kLWJ0bi1mYWI6YWN0aXZlLCAuYm1kLWJ0bi1mYWIuY3VzdG9tLWZpbGUtY29udHJvbDphY3RpdmU6OmJlZm9yZSwgLmJ0bi5idG4tcmFpc2VkLmFjdGl2ZSwgLmJ0bi1yYWlzZWQuYWN0aXZlLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSwgLmJ0bi5idG4tcmFpc2VkOmFjdGl2ZSwgLmJ0bi1yYWlzZWQuY3VzdG9tLWZpbGUtY29udHJvbDphY3RpdmU6OmJlZm9yZSxcbiAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi5hY3RpdmUsXG4gIC5idG4tZ3JvdXAtcmFpc2VkIC5hY3RpdmUuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLFxuICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuOmFjdGl2ZSxcbiAgLmJ0bi1ncm91cC1yYWlzZWQgLmN1c3RvbS1maWxlLWNvbnRyb2w6YWN0aXZlOjpiZWZvcmUge1xuICAgIHotaW5kZXg6IDE7XG4gICAgYm94LXNoYWRvdzogMCAwIDhweCByZ2JhKDAsIDAsIDAsIDAuMTgpLCAwIDhweCAxNnB4IHJnYmEoMCwgMCwgMCwgMC4zNik7IH1cbiAgLmJ0bi5idG4tcmFpc2VkLCAuYnRuLXJhaXNlZC5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsXG4gIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4sXG4gIC5idG4tZ3JvdXAtcmFpc2VkIC5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUge1xuICAgIGJveC1zaGFkb3c6IDAgMnB4IDJweCAwIHJnYmEoMCwgMCwgMCwgMC4xNCksIDAgM3B4IDFweCAtMnB4IHJnYmEoMCwgMCwgMCwgMC4yKSwgMCAxcHggNXB4IDAgcmdiYSgwLCAwLCAwLCAwLjEyKTsgfVxuICAgIC5idG4uYnRuLXJhaXNlZC5idG4tbGluaywgLmJ0bi1yYWlzZWQuYnRuLWxpbmsuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLFxuICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4uYnRuLWxpbmssXG4gICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi1saW5rLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSB7XG4gICAgICBib3gtc2hhZG93OiBub25lOyB9XG4gICAgICAuYnRuLmJ0bi1yYWlzZWQuYnRuLWxpbmsuYWN0aXZlLCAuYnRuLXJhaXNlZC5idG4tbGluay5hY3RpdmUuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLFxuICAgICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi5idG4tbGluay5hY3RpdmUsXG4gICAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLWxpbmsuYWN0aXZlLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSB7XG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmU7IH1cbiAgICAgIC5idG4uYnRuLXJhaXNlZC5idG4tbGluazpmb2N1cywgLmJ0bi1yYWlzZWQuYnRuLWxpbmsuY3VzdG9tLWZpbGUtY29udHJvbDpmb2N1czo6YmVmb3JlLCAuYnRuLmJ0bi1yYWlzZWQuYnRuLWxpbms6YWN0aXZlLCAuYnRuLXJhaXNlZC5idG4tbGluay5jdXN0b20tZmlsZS1jb250cm9sOmFjdGl2ZTo6YmVmb3JlLCAuYnRuLmJ0bi1yYWlzZWQuYnRuLWxpbms6aG92ZXIsIC5idG4tcmFpc2VkLmJ0bi1saW5rLmN1c3RvbS1maWxlLWNvbnRyb2w6aG92ZXI6OmJlZm9yZSxcbiAgICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4uYnRuLWxpbms6Zm9jdXMsXG4gICAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLWxpbmsuY3VzdG9tLWZpbGUtY29udHJvbDpmb2N1czo6YmVmb3JlLFxuICAgICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi5idG4tbGluazphY3RpdmUsXG4gICAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLWxpbmsuY3VzdG9tLWZpbGUtY29udHJvbDphY3RpdmU6OmJlZm9yZSxcbiAgICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4uYnRuLWxpbms6aG92ZXIsXG4gICAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLWxpbmsuY3VzdG9tLWZpbGUtY29udHJvbDpob3Zlcjo6YmVmb3JlIHtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTsgfVxuICAgIGZpZWxkc2V0W2Rpc2FibGVkXVtkaXNhYmxlZF0gLmJ0bi5idG4tcmFpc2VkLCBmaWVsZHNldFtkaXNhYmxlZF1bZGlzYWJsZWRdIC5idG4tcmFpc2VkLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSwgLmJ0bi5idG4tcmFpc2VkLmRpc2FibGVkLCAuYnRuLXJhaXNlZC5kaXNhYmxlZC5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsIC5idG4uYnRuLXJhaXNlZDpkaXNhYmxlZCwgLmJ0bi1yYWlzZWQuY3VzdG9tLWZpbGUtY29udHJvbDpkaXNhYmxlZDo6YmVmb3JlLCAuYnRuLmJ0bi1yYWlzZWRbZGlzYWJsZWRdLCAuYnRuLXJhaXNlZFtkaXNhYmxlZF0uY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLCBmaWVsZHNldFtkaXNhYmxlZF1bZGlzYWJsZWRdXG4gICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0biwgZmllbGRzZXRbZGlzYWJsZWRdW2Rpc2FibGVkXVxuICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsXG4gICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi5kaXNhYmxlZCxcbiAgICAuYnRuLWdyb3VwLXJhaXNlZCAuZGlzYWJsZWQuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLFxuICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG46ZGlzYWJsZWQsXG4gICAgLmJ0bi1ncm91cC1yYWlzZWQgLmN1c3RvbS1maWxlLWNvbnRyb2w6ZGlzYWJsZWQ6OmJlZm9yZSxcbiAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuW2Rpc2FibGVkXSxcbiAgICAuYnRuLWdyb3VwLXJhaXNlZCBbZGlzYWJsZWRdLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSB7XG4gICAgICBib3gtc2hhZG93OiBub25lOyB9XG4gIC5idG4uYnRuLW91dGxpbmUsIC5idG4tb3V0bGluZS5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsIC5idG4uYnRuLW91dGxpbmUtcHJpbWFyeSwgLmJ0bi1vdXRsaW5lLXByaW1hcnkuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLCAuYnRuLmJ0bi1vdXRsaW5lLXNlY29uZGFyeSwgLmJ0bi1vdXRsaW5lLXNlY29uZGFyeS5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsIC5idG4uYnRuLW91dGxpbmUtaW5mbywgLmJ0bi1vdXRsaW5lLWluZm8uY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLCAuYnRuLmJ0bi1vdXRsaW5lLXN1Y2Nlc3MsIC5idG4tb3V0bGluZS1zdWNjZXNzLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSwgLmJ0bi5idG4tb3V0bGluZS13YXJuaW5nLCAuYnRuLW91dGxpbmUtd2FybmluZy5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsIC5idG4uYnRuLW91dGxpbmUtZGFuZ2VyLCAuYnRuLW91dGxpbmUtZGFuZ2VyLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSB7XG4gICAgYm9yZGVyLWNvbG9yOiBjdXJyZW50Q29sb3I7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItd2lkdGg6IDFweDsgfVxuICAuYnRuLmJ0bi1vdXRsaW5lLCAuYnRuLW91dGxpbmUuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlIHtcbiAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0O1xuICAgIGJvcmRlci1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTsgfVxuICAgIC5idG4uYnRuLW91dGxpbmU6aG92ZXIsIC5idG4tb3V0bGluZS5jdXN0b20tZmlsZS1jb250cm9sOmhvdmVyOjpiZWZvcmUge1xuICAgICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDE1MywgMTUzLCAxNTMsIDAuMik7XG4gICAgICBib3JkZXItY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7IH1cbiAgICAuYnRuLmJ0bi1vdXRsaW5lOmZvY3VzLCAuYnRuLW91dGxpbmUuY3VzdG9tLWZpbGUtY29udHJvbDpmb2N1czo6YmVmb3JlLCAuYnRuLmJ0bi1vdXRsaW5lLmZvY3VzLCAuYnRuLW91dGxpbmUuZm9jdXMuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlIHtcbiAgICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxNTMsIDE1MywgMTUzLCAwLjIpO1xuICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpOyB9XG4gICAgLmJ0bi5idG4tb3V0bGluZTphY3RpdmUsIC5idG4tb3V0bGluZS5jdXN0b20tZmlsZS1jb250cm9sOmFjdGl2ZTo6YmVmb3JlLCAuYnRuLmJ0bi1vdXRsaW5lLmFjdGl2ZSwgLmJ0bi1vdXRsaW5lLmFjdGl2ZS5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsXG4gICAgLm9wZW4gPiAuYnRuLmJ0bi1vdXRsaW5lLmRyb3Bkb3duLXRvZ2dsZSxcbiAgICAub3BlbiA+IC5idG4tb3V0bGluZS5kcm9wZG93bi10b2dnbGUuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlIHtcbiAgICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxNTMsIDE1MywgMTUzLCAwLjIpO1xuICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpOyB9XG4gICAgICAuYnRuLmJ0bi1vdXRsaW5lOmFjdGl2ZTpob3ZlciwgLmJ0bi1vdXRsaW5lLmN1c3RvbS1maWxlLWNvbnRyb2w6YWN0aXZlOmhvdmVyOjpiZWZvcmUsIC5idG4uYnRuLW91dGxpbmU6YWN0aXZlOmZvY3VzLCAuYnRuLW91dGxpbmUuY3VzdG9tLWZpbGUtY29udHJvbDphY3RpdmU6Zm9jdXM6OmJlZm9yZSwgLmJ0bi5idG4tb3V0bGluZTphY3RpdmUuZm9jdXMsIC5idG4tb3V0bGluZS5jdXN0b20tZmlsZS1jb250cm9sOmFjdGl2ZS5mb2N1czo6YmVmb3JlLCAuYnRuLmJ0bi1vdXRsaW5lLmFjdGl2ZTpob3ZlciwgLmJ0bi1vdXRsaW5lLmFjdGl2ZS5jdXN0b20tZmlsZS1jb250cm9sOmhvdmVyOjpiZWZvcmUsIC5idG4uYnRuLW91dGxpbmUuYWN0aXZlOmZvY3VzLCAuYnRuLW91dGxpbmUuYWN0aXZlLmN1c3RvbS1maWxlLWNvbnRyb2w6Zm9jdXM6OmJlZm9yZSwgLmJ0bi5idG4tb3V0bGluZS5hY3RpdmUuZm9jdXMsIC5idG4tb3V0bGluZS5hY3RpdmUuZm9jdXMuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLFxuICAgICAgLm9wZW4gPiAuYnRuLmJ0bi1vdXRsaW5lLmRyb3Bkb3duLXRvZ2dsZTpob3ZlcixcbiAgICAgIC5vcGVuID4gLmJ0bi1vdXRsaW5lLmRyb3Bkb3duLXRvZ2dsZS5jdXN0b20tZmlsZS1jb250cm9sOmhvdmVyOjpiZWZvcmUsXG4gICAgICAub3BlbiA+IC5idG4uYnRuLW91dGxpbmUuZHJvcGRvd24tdG9nZ2xlOmZvY3VzLFxuICAgICAgLm9wZW4gPiAuYnRuLW91dGxpbmUuZHJvcGRvd24tdG9nZ2xlLmN1c3RvbS1maWxlLWNvbnRyb2w6Zm9jdXM6OmJlZm9yZSxcbiAgICAgIC5vcGVuID4gLmJ0bi5idG4tb3V0bGluZS5kcm9wZG93bi10b2dnbGUuZm9jdXMsXG4gICAgICAub3BlbiA+IC5idG4tb3V0bGluZS5kcm9wZG93bi10b2dnbGUuZm9jdXMuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlIHtcbiAgICAgICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTUzLCAxNTMsIDE1MywgMC40KTtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpOyB9XG4gICAgLm9wZW4gPiAuYnRuLmJ0bi1vdXRsaW5lLmRyb3Bkb3duLXRvZ2dsZS5ibWQtYnRuLWljb24sIC5vcGVuID4gLmJ0bi1vdXRsaW5lLmRyb3Bkb3duLXRvZ2dsZS5ibWQtYnRuLWljb24uY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlIHtcbiAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDsgfVxuICAgICAgLm9wZW4gPiAuYnRuLmJ0bi1vdXRsaW5lLmRyb3Bkb3duLXRvZ2dsZS5ibWQtYnRuLWljb246aG92ZXIsIC5vcGVuID4gLmJ0bi1vdXRsaW5lLmRyb3Bkb3duLXRvZ2dsZS5ibWQtYnRuLWljb24uY3VzdG9tLWZpbGUtY29udHJvbDpob3Zlcjo6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxNTMsIDE1MywgMTUzLCAwLjIpOyB9XG4gICAgLmJ0bi5idG4tb3V0bGluZS5kaXNhYmxlZDpmb2N1cywgLmJ0bi1vdXRsaW5lLmRpc2FibGVkLmN1c3RvbS1maWxlLWNvbnRyb2w6Zm9jdXM6OmJlZm9yZSwgLmJ0bi5idG4tb3V0bGluZS5kaXNhYmxlZC5mb2N1cywgLmJ0bi1vdXRsaW5lLmRpc2FibGVkLmZvY3VzLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSwgLmJ0bi5idG4tb3V0bGluZTpkaXNhYmxlZDpmb2N1cywgLmJ0bi1vdXRsaW5lLmN1c3RvbS1maWxlLWNvbnRyb2w6ZGlzYWJsZWQ6Zm9jdXM6OmJlZm9yZSwgLmJ0bi5idG4tb3V0bGluZTpkaXNhYmxlZC5mb2N1cywgLmJ0bi1vdXRsaW5lLmN1c3RvbS1maWxlLWNvbnRyb2w6ZGlzYWJsZWQuZm9jdXM6OmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0O1xuICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpOyB9XG4gICAgLmJ0bi5idG4tb3V0bGluZS5kaXNhYmxlZDpob3ZlciwgLmJ0bi1vdXRsaW5lLmRpc2FibGVkLmN1c3RvbS1maWxlLWNvbnRyb2w6aG92ZXI6OmJlZm9yZSwgLmJ0bi5idG4tb3V0bGluZTpkaXNhYmxlZDpob3ZlciwgLmJ0bi1vdXRsaW5lLmN1c3RvbS1maWxlLWNvbnRyb2w6ZGlzYWJsZWQ6aG92ZXI6OmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0O1xuICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpOyB9XG4gICAgLmJnLWludmVyc2UgLmJ0bi5idG4tb3V0bGluZSwgLmJnLWludmVyc2UgLmJ0bi1vdXRsaW5lLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSB7XG4gICAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7XG4gICAgICBib3JkZXItY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7IH1cbiAgICAgIC5iZy1pbnZlcnNlIC5idG4uYnRuLW91dGxpbmU6aG92ZXIsIC5iZy1pbnZlcnNlIC5idG4tb3V0bGluZS5jdXN0b20tZmlsZS1jb250cm9sOmhvdmVyOjpiZWZvcmUge1xuICAgICAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyMDQsIDIwNCwgMjA0LCAwLjE1KTtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDIwNCwgMjA0LCAyMDQsIDAuMTUpOyB9XG4gICAgICAuYmctaW52ZXJzZSAuYnRuLmJ0bi1vdXRsaW5lOmZvY3VzLCAuYmctaW52ZXJzZSAuYnRuLW91dGxpbmUuY3VzdG9tLWZpbGUtY29udHJvbDpmb2N1czo6YmVmb3JlLCAuYmctaW52ZXJzZSAuYnRuLmJ0bi1vdXRsaW5lLmZvY3VzLCAuYmctaW52ZXJzZSAuYnRuLW91dGxpbmUuZm9jdXMuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlIHtcbiAgICAgICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjA0LCAyMDQsIDIwNCwgMC4xNSk7XG4gICAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgyMDQsIDIwNCwgMjA0LCAwLjE1KTsgfVxuICAgICAgLmJnLWludmVyc2UgLmJ0bi5idG4tb3V0bGluZTphY3RpdmUsIC5iZy1pbnZlcnNlIC5idG4tb3V0bGluZS5jdXN0b20tZmlsZS1jb250cm9sOmFjdGl2ZTo6YmVmb3JlLCAuYmctaW52ZXJzZSAuYnRuLmJ0bi1vdXRsaW5lLmFjdGl2ZSwgLmJnLWludmVyc2UgLmJ0bi1vdXRsaW5lLmFjdGl2ZS5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsXG4gICAgICAub3BlbiA+IC5iZy1pbnZlcnNlIC5idG4uYnRuLW91dGxpbmUuZHJvcGRvd24tdG9nZ2xlLFxuICAgICAgLm9wZW4gPiAuYmctaW52ZXJzZSAuYnRuLW91dGxpbmUuZHJvcGRvd24tdG9nZ2xlLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSB7XG4gICAgICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDIwNCwgMjA0LCAyMDQsIDAuMTUpO1xuICAgICAgICBib3JkZXItY29sb3I6IHJnYmEoMjA0LCAyMDQsIDIwNCwgMC4xNSk7IH1cbiAgICAgICAgLmJnLWludmVyc2UgLmJ0bi5idG4tb3V0bGluZTphY3RpdmU6aG92ZXIsIC5iZy1pbnZlcnNlIC5idG4tb3V0bGluZS5jdXN0b20tZmlsZS1jb250cm9sOmFjdGl2ZTpob3Zlcjo6YmVmb3JlLCAuYmctaW52ZXJzZSAuYnRuLmJ0bi1vdXRsaW5lOmFjdGl2ZTpmb2N1cywgLmJnLWludmVyc2UgLmJ0bi1vdXRsaW5lLmN1c3RvbS1maWxlLWNvbnRyb2w6YWN0aXZlOmZvY3VzOjpiZWZvcmUsIC5iZy1pbnZlcnNlIC5idG4uYnRuLW91dGxpbmU6YWN0aXZlLmZvY3VzLCAuYmctaW52ZXJzZSAuYnRuLW91dGxpbmUuY3VzdG9tLWZpbGUtY29udHJvbDphY3RpdmUuZm9jdXM6OmJlZm9yZSwgLmJnLWludmVyc2UgLmJ0bi5idG4tb3V0bGluZS5hY3RpdmU6aG92ZXIsIC5iZy1pbnZlcnNlIC5idG4tb3V0bGluZS5hY3RpdmUuY3VzdG9tLWZpbGUtY29udHJvbDpob3Zlcjo6YmVmb3JlLCAuYmctaW52ZXJzZSAuYnRuLmJ0bi1vdXRsaW5lLmFjdGl2ZTpmb2N1cywgLmJnLWludmVyc2UgLmJ0bi1vdXRsaW5lLmFjdGl2ZS5jdXN0b20tZmlsZS1jb250cm9sOmZvY3VzOjpiZWZvcmUsIC5iZy1pbnZlcnNlIC5idG4uYnRuLW91dGxpbmUuYWN0aXZlLmZvY3VzLCAuYmctaW52ZXJzZSAuYnRuLW91dGxpbmUuYWN0aXZlLmZvY3VzLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSxcbiAgICAgICAgLm9wZW4gPiAuYmctaW52ZXJzZSAuYnRuLmJ0bi1vdXRsaW5lLmRyb3Bkb3duLXRvZ2dsZTpob3ZlcixcbiAgICAgICAgLm9wZW4gPiAuYmctaW52ZXJzZSAuYnRuLW91dGxpbmUuZHJvcGRvd24tdG9nZ2xlLmN1c3RvbS1maWxlLWNvbnRyb2w6aG92ZXI6OmJlZm9yZSxcbiAgICAgICAgLm9wZW4gPiAuYmctaW52ZXJzZSAuYnRuLmJ0bi1vdXRsaW5lLmRyb3Bkb3duLXRvZ2dsZTpmb2N1cyxcbiAgICAgICAgLm9wZW4gPiAuYmctaW52ZXJzZSAuYnRuLW91dGxpbmUuZHJvcGRvd24tdG9nZ2xlLmN1c3RvbS1maWxlLWNvbnRyb2w6Zm9jdXM6OmJlZm9yZSxcbiAgICAgICAgLm9wZW4gPiAuYmctaW52ZXJzZSAuYnRuLmJ0bi1vdXRsaW5lLmRyb3Bkb3duLXRvZ2dsZS5mb2N1cyxcbiAgICAgICAgLm9wZW4gPiAuYmctaW52ZXJzZSAuYnRuLW91dGxpbmUuZHJvcGRvd24tdG9nZ2xlLmZvY3VzLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSB7XG4gICAgICAgICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyMDQsIDIwNCwgMjA0LCAwLjI1KTtcbiAgICAgICAgICBib3JkZXItY29sb3I6IHJnYmEoMjA0LCAyMDQsIDIwNCwgMC4yNSk7IH1cbiAgICAgIC5vcGVuID4gLmJnLWludmVyc2UgLmJ0bi5idG4tb3V0bGluZS5kcm9wZG93bi10b2dnbGUuYm1kLWJ0bi1pY29uLCAub3BlbiA+IC5iZy1pbnZlcnNlIC5idG4tb3V0bGluZS5kcm9wZG93bi10b2dnbGUuYm1kLWJ0bi1pY29uLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSB7XG4gICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0OyB9XG4gICAgICAgIC5vcGVuID4gLmJnLWludmVyc2UgLmJ0bi5idG4tb3V0bGluZS5kcm9wZG93bi10b2dnbGUuYm1kLWJ0bi1pY29uOmhvdmVyLCAub3BlbiA+IC5iZy1pbnZlcnNlIC5idG4tb3V0bGluZS5kcm9wZG93bi10b2dnbGUuYm1kLWJ0bi1pY29uLmN1c3RvbS1maWxlLWNvbnRyb2w6aG92ZXI6OmJlZm9yZSB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyMDQsIDIwNCwgMjA0LCAwLjE1KTsgfVxuICAgICAgLmJnLWludmVyc2UgLmJ0bi5idG4tb3V0bGluZS5kaXNhYmxlZDpmb2N1cywgLmJnLWludmVyc2UgLmJ0bi1vdXRsaW5lLmRpc2FibGVkLmN1c3RvbS1maWxlLWNvbnRyb2w6Zm9jdXM6OmJlZm9yZSwgLmJnLWludmVyc2UgLmJ0bi5idG4tb3V0bGluZS5kaXNhYmxlZC5mb2N1cywgLmJnLWludmVyc2UgLmJ0bi1vdXRsaW5lLmRpc2FibGVkLmZvY3VzLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSwgLmJnLWludmVyc2UgLmJ0bi5idG4tb3V0bGluZTpkaXNhYmxlZDpmb2N1cywgLmJnLWludmVyc2UgLmJ0bi1vdXRsaW5lLmN1c3RvbS1maWxlLWNvbnRyb2w6ZGlzYWJsZWQ6Zm9jdXM6OmJlZm9yZSwgLmJnLWludmVyc2UgLmJ0bi5idG4tb3V0bGluZTpkaXNhYmxlZC5mb2N1cywgLmJnLWludmVyc2UgLmJ0bi1vdXRsaW5lLmN1c3RvbS1maWxlLWNvbnRyb2w6ZGlzYWJsZWQuZm9jdXM6OmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7XG4gICAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTsgfVxuICAgICAgLmJnLWludmVyc2UgLmJ0bi5idG4tb3V0bGluZS5kaXNhYmxlZDpob3ZlciwgLmJnLWludmVyc2UgLmJ0bi1vdXRsaW5lLmRpc2FibGVkLmN1c3RvbS1maWxlLWNvbnRyb2w6aG92ZXI6OmJlZm9yZSwgLmJnLWludmVyc2UgLmJ0bi5idG4tb3V0bGluZTpkaXNhYmxlZDpob3ZlciwgLmJnLWludmVyc2UgLmJ0bi1vdXRsaW5lLmN1c3RvbS1maWxlLWNvbnRyb2w6ZGlzYWJsZWQ6aG92ZXI6OmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7XG4gICAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTsgfVxuICAgIC5idG4uYnRuLW91dGxpbmUuYnRuLWxpbmssIC5idG4tb3V0bGluZS5idG4tbGluay5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgLmJ0bi5idG4tb3V0bGluZS1wcmltYXJ5LCAuYnRuLW91dGxpbmUtcHJpbWFyeS5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUge1xuICAgIGNvbG9yOiAjMDA5Njg4O1xuICAgIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7XG4gICAgYm9yZGVyLWNvbG9yOiAjMDA5Njg4OyB9XG4gICAgLmJ0bi5idG4tb3V0bGluZS1wcmltYXJ5OmhvdmVyLCAuYnRuLW91dGxpbmUtcHJpbWFyeS5jdXN0b20tZmlsZS1jb250cm9sOmhvdmVyOjpiZWZvcmUge1xuICAgICAgY29sb3I6ICMwMDk2ODg7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDE1MywgMTUzLCAxNTMsIDAuMik7XG4gICAgICBib3JkZXItY29sb3I6ICMwMDk2ODg7IH1cbiAgICAuYnRuLmJ0bi1vdXRsaW5lLXByaW1hcnk6Zm9jdXMsIC5idG4tb3V0bGluZS1wcmltYXJ5LmN1c3RvbS1maWxlLWNvbnRyb2w6Zm9jdXM6OmJlZm9yZSwgLmJ0bi5idG4tb3V0bGluZS1wcmltYXJ5LmZvY3VzLCAuYnRuLW91dGxpbmUtcHJpbWFyeS5mb2N1cy5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUge1xuICAgICAgY29sb3I6ICMwMDk2ODg7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDE1MywgMTUzLCAxNTMsIDAuMik7XG4gICAgICBib3JkZXItY29sb3I6ICMwMDk2ODg7IH1cbiAgICAuYnRuLmJ0bi1vdXRsaW5lLXByaW1hcnk6YWN0aXZlLCAuYnRuLW91dGxpbmUtcHJpbWFyeS5jdXN0b20tZmlsZS1jb250cm9sOmFjdGl2ZTo6YmVmb3JlLCAuYnRuLmJ0bi1vdXRsaW5lLXByaW1hcnkuYWN0aXZlLCAuYnRuLW91dGxpbmUtcHJpbWFyeS5hY3RpdmUuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLFxuICAgIC5vcGVuID4gLmJ0bi5idG4tb3V0bGluZS1wcmltYXJ5LmRyb3Bkb3duLXRvZ2dsZSxcbiAgICAub3BlbiA+IC5idG4tb3V0bGluZS1wcmltYXJ5LmRyb3Bkb3duLXRvZ2dsZS5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUge1xuICAgICAgY29sb3I6ICMwMDk2ODg7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDE1MywgMTUzLCAxNTMsIDAuMik7XG4gICAgICBib3JkZXItY29sb3I6ICMwMDk2ODg7IH1cbiAgICAgIC5idG4uYnRuLW91dGxpbmUtcHJpbWFyeTphY3RpdmU6aG92ZXIsIC5idG4tb3V0bGluZS1wcmltYXJ5LmN1c3RvbS1maWxlLWNvbnRyb2w6YWN0aXZlOmhvdmVyOjpiZWZvcmUsIC5idG4uYnRuLW91dGxpbmUtcHJpbWFyeTphY3RpdmU6Zm9jdXMsIC5idG4tb3V0bGluZS1wcmltYXJ5LmN1c3RvbS1maWxlLWNvbnRyb2w6YWN0aXZlOmZvY3VzOjpiZWZvcmUsIC5idG4uYnRuLW91dGxpbmUtcHJpbWFyeTphY3RpdmUuZm9jdXMsIC5idG4tb3V0bGluZS1wcmltYXJ5LmN1c3RvbS1maWxlLWNvbnRyb2w6YWN0aXZlLmZvY3VzOjpiZWZvcmUsIC5idG4uYnRuLW91dGxpbmUtcHJpbWFyeS5hY3RpdmU6aG92ZXIsIC5idG4tb3V0bGluZS1wcmltYXJ5LmFjdGl2ZS5jdXN0b20tZmlsZS1jb250cm9sOmhvdmVyOjpiZWZvcmUsIC5idG4uYnRuLW91dGxpbmUtcHJpbWFyeS5hY3RpdmU6Zm9jdXMsIC5idG4tb3V0bGluZS1wcmltYXJ5LmFjdGl2ZS5jdXN0b20tZmlsZS1jb250cm9sOmZvY3VzOjpiZWZvcmUsIC5idG4uYnRuLW91dGxpbmUtcHJpbWFyeS5hY3RpdmUuZm9jdXMsIC5idG4tb3V0bGluZS1wcmltYXJ5LmFjdGl2ZS5mb2N1cy5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsXG4gICAgICAub3BlbiA+IC5idG4uYnRuLW91dGxpbmUtcHJpbWFyeS5kcm9wZG93bi10b2dnbGU6aG92ZXIsXG4gICAgICAub3BlbiA+IC5idG4tb3V0bGluZS1wcmltYXJ5LmRyb3Bkb3duLXRvZ2dsZS5jdXN0b20tZmlsZS1jb250cm9sOmhvdmVyOjpiZWZvcmUsXG4gICAgICAub3BlbiA+IC5idG4uYnRuLW91dGxpbmUtcHJpbWFyeS5kcm9wZG93bi10b2dnbGU6Zm9jdXMsXG4gICAgICAub3BlbiA+IC5idG4tb3V0bGluZS1wcmltYXJ5LmRyb3Bkb3duLXRvZ2dsZS5jdXN0b20tZmlsZS1jb250cm9sOmZvY3VzOjpiZWZvcmUsXG4gICAgICAub3BlbiA+IC5idG4uYnRuLW91dGxpbmUtcHJpbWFyeS5kcm9wZG93bi10b2dnbGUuZm9jdXMsXG4gICAgICAub3BlbiA+IC5idG4tb3V0bGluZS1wcmltYXJ5LmRyb3Bkb3duLXRvZ2dsZS5mb2N1cy5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUge1xuICAgICAgICBjb2xvcjogIzAwOTY4ODtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxNTMsIDE1MywgMTUzLCAwLjQpO1xuICAgICAgICBib3JkZXItY29sb3I6ICMwMDk2ODg7IH1cbiAgICAub3BlbiA+IC5idG4uYnRuLW91dGxpbmUtcHJpbWFyeS5kcm9wZG93bi10b2dnbGUuYm1kLWJ0bi1pY29uLCAub3BlbiA+IC5idG4tb3V0bGluZS1wcmltYXJ5LmRyb3Bkb3duLXRvZ2dsZS5ibWQtYnRuLWljb24uY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlIHtcbiAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDsgfVxuICAgICAgLm9wZW4gPiAuYnRuLmJ0bi1vdXRsaW5lLXByaW1hcnkuZHJvcGRvd24tdG9nZ2xlLmJtZC1idG4taWNvbjpob3ZlciwgLm9wZW4gPiAuYnRuLW91dGxpbmUtcHJpbWFyeS5kcm9wZG93bi10b2dnbGUuYm1kLWJ0bi1pY29uLmN1c3RvbS1maWxlLWNvbnRyb2w6aG92ZXI6OmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTUzLCAxNTMsIDE1MywgMC4yKTsgfVxuICAgIC5idG4uYnRuLW91dGxpbmUtcHJpbWFyeS5kaXNhYmxlZDpmb2N1cywgLmJ0bi1vdXRsaW5lLXByaW1hcnkuZGlzYWJsZWQuY3VzdG9tLWZpbGUtY29udHJvbDpmb2N1czo6YmVmb3JlLCAuYnRuLmJ0bi1vdXRsaW5lLXByaW1hcnkuZGlzYWJsZWQuZm9jdXMsIC5idG4tb3V0bGluZS1wcmltYXJ5LmRpc2FibGVkLmZvY3VzLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSwgLmJ0bi5idG4tb3V0bGluZS1wcmltYXJ5OmRpc2FibGVkOmZvY3VzLCAuYnRuLW91dGxpbmUtcHJpbWFyeS5jdXN0b20tZmlsZS1jb250cm9sOmRpc2FibGVkOmZvY3VzOjpiZWZvcmUsIC5idG4uYnRuLW91dGxpbmUtcHJpbWFyeTpkaXNhYmxlZC5mb2N1cywgLmJ0bi1vdXRsaW5lLXByaW1hcnkuY3VzdG9tLWZpbGUtY29udHJvbDpkaXNhYmxlZC5mb2N1czo6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7XG4gICAgICBib3JkZXItY29sb3I6ICMwMDk2ODg7IH1cbiAgICAuYnRuLmJ0bi1vdXRsaW5lLXByaW1hcnkuZGlzYWJsZWQ6aG92ZXIsIC5idG4tb3V0bGluZS1wcmltYXJ5LmRpc2FibGVkLmN1c3RvbS1maWxlLWNvbnRyb2w6aG92ZXI6OmJlZm9yZSwgLmJ0bi5idG4tb3V0bGluZS1wcmltYXJ5OmRpc2FibGVkOmhvdmVyLCAuYnRuLW91dGxpbmUtcHJpbWFyeS5jdXN0b20tZmlsZS1jb250cm9sOmRpc2FibGVkOmhvdmVyOjpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDtcbiAgICAgIGJvcmRlci1jb2xvcjogIzAwOTY4ODsgfVxuICAgIC5iZy1pbnZlcnNlIC5idG4uYnRuLW91dGxpbmUtcHJpbWFyeSwgLmJnLWludmVyc2UgLmJ0bi1vdXRsaW5lLXByaW1hcnkuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlIHtcbiAgICAgIGNvbG9yOiAjMDA5Njg4O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDtcbiAgICAgIGJvcmRlci1jb2xvcjogIzAwOTY4ODsgfVxuICAgICAgLmJnLWludmVyc2UgLmJ0bi5idG4tb3V0bGluZS1wcmltYXJ5OmhvdmVyLCAuYmctaW52ZXJzZSAuYnRuLW91dGxpbmUtcHJpbWFyeS5jdXN0b20tZmlsZS1jb250cm9sOmhvdmVyOjpiZWZvcmUge1xuICAgICAgICBjb2xvcjogIzAwOTY4ODtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyMDQsIDIwNCwgMjA0LCAwLjE1KTtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDIwNCwgMjA0LCAyMDQsIDAuMTUpOyB9XG4gICAgICAuYmctaW52ZXJzZSAuYnRuLmJ0bi1vdXRsaW5lLXByaW1hcnk6Zm9jdXMsIC5iZy1pbnZlcnNlIC5idG4tb3V0bGluZS1wcmltYXJ5LmN1c3RvbS1maWxlLWNvbnRyb2w6Zm9jdXM6OmJlZm9yZSwgLmJnLWludmVyc2UgLmJ0bi5idG4tb3V0bGluZS1wcmltYXJ5LmZvY3VzLCAuYmctaW52ZXJzZSAuYnRuLW91dGxpbmUtcHJpbWFyeS5mb2N1cy5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUge1xuICAgICAgICBjb2xvcjogIzAwOTY4ODtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyMDQsIDIwNCwgMjA0LCAwLjE1KTtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDIwNCwgMjA0LCAyMDQsIDAuMTUpOyB9XG4gICAgICAuYmctaW52ZXJzZSAuYnRuLmJ0bi1vdXRsaW5lLXByaW1hcnk6YWN0aXZlLCAuYmctaW52ZXJzZSAuYnRuLW91dGxpbmUtcHJpbWFyeS5jdXN0b20tZmlsZS1jb250cm9sOmFjdGl2ZTo6YmVmb3JlLCAuYmctaW52ZXJzZSAuYnRuLmJ0bi1vdXRsaW5lLXByaW1hcnkuYWN0aXZlLCAuYmctaW52ZXJzZSAuYnRuLW91dGxpbmUtcHJpbWFyeS5hY3RpdmUuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLFxuICAgICAgLm9wZW4gPiAuYmctaW52ZXJzZSAuYnRuLmJ0bi1vdXRsaW5lLXByaW1hcnkuZHJvcGRvd24tdG9nZ2xlLFxuICAgICAgLm9wZW4gPiAuYmctaW52ZXJzZSAuYnRuLW91dGxpbmUtcHJpbWFyeS5kcm9wZG93bi10b2dnbGUuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlIHtcbiAgICAgICAgY29sb3I6ICMwMDk2ODg7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjA0LCAyMDQsIDIwNCwgMC4xNSk7XG4gICAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgyMDQsIDIwNCwgMjA0LCAwLjE1KTsgfVxuICAgICAgICAuYmctaW52ZXJzZSAuYnRuLmJ0bi1vdXRsaW5lLXByaW1hcnk6YWN0aXZlOmhvdmVyLCAuYmctaW52ZXJzZSAuYnRuLW91dGxpbmUtcHJpbWFyeS5jdXN0b20tZmlsZS1jb250cm9sOmFjdGl2ZTpob3Zlcjo6YmVmb3JlLCAuYmctaW52ZXJzZSAuYnRuLmJ0bi1vdXRsaW5lLXByaW1hcnk6YWN0aXZlOmZvY3VzLCAuYmctaW52ZXJzZSAuYnRuLW91dGxpbmUtcHJpbWFyeS5jdXN0b20tZmlsZS1jb250cm9sOmFjdGl2ZTpmb2N1czo6YmVmb3JlLCAuYmctaW52ZXJzZSAuYnRuLmJ0bi1vdXRsaW5lLXByaW1hcnk6YWN0aXZlLmZvY3VzLCAuYmctaW52ZXJzZSAuYnRuLW91dGxpbmUtcHJpbWFyeS5jdXN0b20tZmlsZS1jb250cm9sOmFjdGl2ZS5mb2N1czo6YmVmb3JlLCAuYmctaW52ZXJzZSAuYnRuLmJ0bi1vdXRsaW5lLXByaW1hcnkuYWN0aXZlOmhvdmVyLCAuYmctaW52ZXJzZSAuYnRuLW91dGxpbmUtcHJpbWFyeS5hY3RpdmUuY3VzdG9tLWZpbGUtY29udHJvbDpob3Zlcjo6YmVmb3JlLCAuYmctaW52ZXJzZSAuYnRuLmJ0bi1vdXRsaW5lLXByaW1hcnkuYWN0aXZlOmZvY3VzLCAuYmctaW52ZXJzZSAuYnRuLW91dGxpbmUtcHJpbWFyeS5hY3RpdmUuY3VzdG9tLWZpbGUtY29udHJvbDpmb2N1czo6YmVmb3JlLCAuYmctaW52ZXJzZSAuYnRuLmJ0bi1vdXRsaW5lLXByaW1hcnkuYWN0aXZlLmZvY3VzLCAuYmctaW52ZXJzZSAuYnRuLW91dGxpbmUtcHJpbWFyeS5hY3RpdmUuZm9jdXMuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLFxuICAgICAgICAub3BlbiA+IC5iZy1pbnZlcnNlIC5idG4uYnRuLW91dGxpbmUtcHJpbWFyeS5kcm9wZG93bi10b2dnbGU6aG92ZXIsXG4gICAgICAgIC5vcGVuID4gLmJnLWludmVyc2UgLmJ0bi1vdXRsaW5lLXByaW1hcnkuZHJvcGRvd24tdG9nZ2xlLmN1c3RvbS1maWxlLWNvbnRyb2w6aG92ZXI6OmJlZm9yZSxcbiAgICAgICAgLm9wZW4gPiAuYmctaW52ZXJzZSAuYnRuLmJ0bi1vdXRsaW5lLXByaW1hcnkuZHJvcGRvd24tdG9nZ2xlOmZvY3VzLFxuICAgICAgICAub3BlbiA+IC5iZy1pbnZlcnNlIC5idG4tb3V0bGluZS1wcmltYXJ5LmRyb3Bkb3duLXRvZ2dsZS5jdXN0b20tZmlsZS1jb250cm9sOmZvY3VzOjpiZWZvcmUsXG4gICAgICAgIC5vcGVuID4gLmJnLWludmVyc2UgLmJ0bi5idG4tb3V0bGluZS1wcmltYXJ5LmRyb3Bkb3duLXRvZ2dsZS5mb2N1cyxcbiAgICAgICAgLm9wZW4gPiAuYmctaW52ZXJzZSAuYnRuLW91dGxpbmUtcHJpbWFyeS5kcm9wZG93bi10b2dnbGUuZm9jdXMuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlIHtcbiAgICAgICAgICBjb2xvcjogIzAwOTY4ODtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDIwNCwgMjA0LCAyMDQsIDAuMjUpO1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgyMDQsIDIwNCwgMjA0LCAwLjI1KTsgfVxuICAgICAgLm9wZW4gPiAuYmctaW52ZXJzZSAuYnRuLmJ0bi1vdXRsaW5lLXByaW1hcnkuZHJvcGRvd24tdG9nZ2xlLmJtZC1idG4taWNvbiwgLm9wZW4gPiAuYmctaW52ZXJzZSAuYnRuLW91dGxpbmUtcHJpbWFyeS5kcm9wZG93bi10b2dnbGUuYm1kLWJ0bi1pY29uLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSB7XG4gICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0OyB9XG4gICAgICAgIC5vcGVuID4gLmJnLWludmVyc2UgLmJ0bi5idG4tb3V0bGluZS1wcmltYXJ5LmRyb3Bkb3duLXRvZ2dsZS5ibWQtYnRuLWljb246aG92ZXIsIC5vcGVuID4gLmJnLWludmVyc2UgLmJ0bi1vdXRsaW5lLXByaW1hcnkuZHJvcGRvd24tdG9nZ2xlLmJtZC1idG4taWNvbi5jdXN0b20tZmlsZS1jb250cm9sOmhvdmVyOjpiZWZvcmUge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjA0LCAyMDQsIDIwNCwgMC4xNSk7IH1cbiAgICAgIC5iZy1pbnZlcnNlIC5idG4uYnRuLW91dGxpbmUtcHJpbWFyeS5kaXNhYmxlZDpmb2N1cywgLmJnLWludmVyc2UgLmJ0bi1vdXRsaW5lLXByaW1hcnkuZGlzYWJsZWQuY3VzdG9tLWZpbGUtY29udHJvbDpmb2N1czo6YmVmb3JlLCAuYmctaW52ZXJzZSAuYnRuLmJ0bi1vdXRsaW5lLXByaW1hcnkuZGlzYWJsZWQuZm9jdXMsIC5iZy1pbnZlcnNlIC5idG4tb3V0bGluZS1wcmltYXJ5LmRpc2FibGVkLmZvY3VzLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSwgLmJnLWludmVyc2UgLmJ0bi5idG4tb3V0bGluZS1wcmltYXJ5OmRpc2FibGVkOmZvY3VzLCAuYmctaW52ZXJzZSAuYnRuLW91dGxpbmUtcHJpbWFyeS5jdXN0b20tZmlsZS1jb250cm9sOmRpc2FibGVkOmZvY3VzOjpiZWZvcmUsIC5iZy1pbnZlcnNlIC5idG4uYnRuLW91dGxpbmUtcHJpbWFyeTpkaXNhYmxlZC5mb2N1cywgLmJnLWludmVyc2UgLmJ0bi1vdXRsaW5lLXByaW1hcnkuY3VzdG9tLWZpbGUtY29udHJvbDpkaXNhYmxlZC5mb2N1czo6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjMDA5Njg4OyB9XG4gICAgICAuYmctaW52ZXJzZSAuYnRuLmJ0bi1vdXRsaW5lLXByaW1hcnkuZGlzYWJsZWQ6aG92ZXIsIC5iZy1pbnZlcnNlIC5idG4tb3V0bGluZS1wcmltYXJ5LmRpc2FibGVkLmN1c3RvbS1maWxlLWNvbnRyb2w6aG92ZXI6OmJlZm9yZSwgLmJnLWludmVyc2UgLmJ0bi5idG4tb3V0bGluZS1wcmltYXJ5OmRpc2FibGVkOmhvdmVyLCAuYmctaW52ZXJzZSAuYnRuLW91dGxpbmUtcHJpbWFyeS5jdXN0b20tZmlsZS1jb250cm9sOmRpc2FibGVkOmhvdmVyOjpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0O1xuICAgICAgICBib3JkZXItY29sb3I6ICMwMDk2ODg7IH1cbiAgICAuYnRuLmJ0bi1vdXRsaW5lLXByaW1hcnkuYnRuLWxpbmssIC5idG4tb3V0bGluZS1wcmltYXJ5LmJ0bi1saW5rLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAuYnRuLmJ0bi1vdXRsaW5lLXNlY29uZGFyeSwgLmJ0bi1vdXRsaW5lLXNlY29uZGFyeS5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUge1xuICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7XG4gICAgYm9yZGVyLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpOyB9XG4gICAgLmJ0bi5idG4tb3V0bGluZS1zZWNvbmRhcnk6aG92ZXIsIC5idG4tb3V0bGluZS1zZWNvbmRhcnkuY3VzdG9tLWZpbGUtY29udHJvbDpob3Zlcjo6YmVmb3JlIHtcbiAgICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxNTMsIDE1MywgMTUzLCAwLjIpO1xuICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpOyB9XG4gICAgLmJ0bi5idG4tb3V0bGluZS1zZWNvbmRhcnk6Zm9jdXMsIC5idG4tb3V0bGluZS1zZWNvbmRhcnkuY3VzdG9tLWZpbGUtY29udHJvbDpmb2N1czo6YmVmb3JlLCAuYnRuLmJ0bi1vdXRsaW5lLXNlY29uZGFyeS5mb2N1cywgLmJ0bi1vdXRsaW5lLXNlY29uZGFyeS5mb2N1cy5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUge1xuICAgICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDE1MywgMTUzLCAxNTMsIDAuMik7XG4gICAgICBib3JkZXItY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7IH1cbiAgICAuYnRuLmJ0bi1vdXRsaW5lLXNlY29uZGFyeTphY3RpdmUsIC5idG4tb3V0bGluZS1zZWNvbmRhcnkuY3VzdG9tLWZpbGUtY29udHJvbDphY3RpdmU6OmJlZm9yZSwgLmJ0bi5idG4tb3V0bGluZS1zZWNvbmRhcnkuYWN0aXZlLCAuYnRuLW91dGxpbmUtc2Vjb25kYXJ5LmFjdGl2ZS5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsXG4gICAgLm9wZW4gPiAuYnRuLmJ0bi1vdXRsaW5lLXNlY29uZGFyeS5kcm9wZG93bi10b2dnbGUsXG4gICAgLm9wZW4gPiAuYnRuLW91dGxpbmUtc2Vjb25kYXJ5LmRyb3Bkb3duLXRvZ2dsZS5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUge1xuICAgICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDE1MywgMTUzLCAxNTMsIDAuMik7XG4gICAgICBib3JkZXItY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7IH1cbiAgICAgIC5idG4uYnRuLW91dGxpbmUtc2Vjb25kYXJ5OmFjdGl2ZTpob3ZlciwgLmJ0bi1vdXRsaW5lLXNlY29uZGFyeS5jdXN0b20tZmlsZS1jb250cm9sOmFjdGl2ZTpob3Zlcjo6YmVmb3JlLCAuYnRuLmJ0bi1vdXRsaW5lLXNlY29uZGFyeTphY3RpdmU6Zm9jdXMsIC5idG4tb3V0bGluZS1zZWNvbmRhcnkuY3VzdG9tLWZpbGUtY29udHJvbDphY3RpdmU6Zm9jdXM6OmJlZm9yZSwgLmJ0bi5idG4tb3V0bGluZS1zZWNvbmRhcnk6YWN0aXZlLmZvY3VzLCAuYnRuLW91dGxpbmUtc2Vjb25kYXJ5LmN1c3RvbS1maWxlLWNvbnRyb2w6YWN0aXZlLmZvY3VzOjpiZWZvcmUsIC5idG4uYnRuLW91dGxpbmUtc2Vjb25kYXJ5LmFjdGl2ZTpob3ZlciwgLmJ0bi1vdXRsaW5lLXNlY29uZGFyeS5hY3RpdmUuY3VzdG9tLWZpbGUtY29udHJvbDpob3Zlcjo6YmVmb3JlLCAuYnRuLmJ0bi1vdXRsaW5lLXNlY29uZGFyeS5hY3RpdmU6Zm9jdXMsIC5idG4tb3V0bGluZS1zZWNvbmRhcnkuYWN0aXZlLmN1c3RvbS1maWxlLWNvbnRyb2w6Zm9jdXM6OmJlZm9yZSwgLmJ0bi5idG4tb3V0bGluZS1zZWNvbmRhcnkuYWN0aXZlLmZvY3VzLCAuYnRuLW91dGxpbmUtc2Vjb25kYXJ5LmFjdGl2ZS5mb2N1cy5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsXG4gICAgICAub3BlbiA+IC5idG4uYnRuLW91dGxpbmUtc2Vjb25kYXJ5LmRyb3Bkb3duLXRvZ2dsZTpob3ZlcixcbiAgICAgIC5vcGVuID4gLmJ0bi1vdXRsaW5lLXNlY29uZGFyeS5kcm9wZG93bi10b2dnbGUuY3VzdG9tLWZpbGUtY29udHJvbDpob3Zlcjo6YmVmb3JlLFxuICAgICAgLm9wZW4gPiAuYnRuLmJ0bi1vdXRsaW5lLXNlY29uZGFyeS5kcm9wZG93bi10b2dnbGU6Zm9jdXMsXG4gICAgICAub3BlbiA+IC5idG4tb3V0bGluZS1zZWNvbmRhcnkuZHJvcGRvd24tdG9nZ2xlLmN1c3RvbS1maWxlLWNvbnRyb2w6Zm9jdXM6OmJlZm9yZSxcbiAgICAgIC5vcGVuID4gLmJ0bi5idG4tb3V0bGluZS1zZWNvbmRhcnkuZHJvcGRvd24tdG9nZ2xlLmZvY3VzLFxuICAgICAgLm9wZW4gPiAuYnRuLW91dGxpbmUtc2Vjb25kYXJ5LmRyb3Bkb3duLXRvZ2dsZS5mb2N1cy5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUge1xuICAgICAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxNTMsIDE1MywgMTUzLCAwLjQpO1xuICAgICAgICBib3JkZXItY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7IH1cbiAgICAub3BlbiA+IC5idG4uYnRuLW91dGxpbmUtc2Vjb25kYXJ5LmRyb3Bkb3duLXRvZ2dsZS5ibWQtYnRuLWljb24sIC5vcGVuID4gLmJ0bi1vdXRsaW5lLXNlY29uZGFyeS5kcm9wZG93bi10b2dnbGUuYm1kLWJ0bi1pY29uLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSB7XG4gICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7IH1cbiAgICAgIC5vcGVuID4gLmJ0bi5idG4tb3V0bGluZS1zZWNvbmRhcnkuZHJvcGRvd24tdG9nZ2xlLmJtZC1idG4taWNvbjpob3ZlciwgLm9wZW4gPiAuYnRuLW91dGxpbmUtc2Vjb25kYXJ5LmRyb3Bkb3duLXRvZ2dsZS5ibWQtYnRuLWljb24uY3VzdG9tLWZpbGUtY29udHJvbDpob3Zlcjo6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxNTMsIDE1MywgMTUzLCAwLjIpOyB9XG4gICAgLmJ0bi5idG4tb3V0bGluZS1zZWNvbmRhcnkuZGlzYWJsZWQ6Zm9jdXMsIC5idG4tb3V0bGluZS1zZWNvbmRhcnkuZGlzYWJsZWQuY3VzdG9tLWZpbGUtY29udHJvbDpmb2N1czo6YmVmb3JlLCAuYnRuLmJ0bi1vdXRsaW5lLXNlY29uZGFyeS5kaXNhYmxlZC5mb2N1cywgLmJ0bi1vdXRsaW5lLXNlY29uZGFyeS5kaXNhYmxlZC5mb2N1cy5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsIC5idG4uYnRuLW91dGxpbmUtc2Vjb25kYXJ5OmRpc2FibGVkOmZvY3VzLCAuYnRuLW91dGxpbmUtc2Vjb25kYXJ5LmN1c3RvbS1maWxlLWNvbnRyb2w6ZGlzYWJsZWQ6Zm9jdXM6OmJlZm9yZSwgLmJ0bi5idG4tb3V0bGluZS1zZWNvbmRhcnk6ZGlzYWJsZWQuZm9jdXMsIC5idG4tb3V0bGluZS1zZWNvbmRhcnkuY3VzdG9tLWZpbGUtY29udHJvbDpkaXNhYmxlZC5mb2N1czo6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7XG4gICAgICBib3JkZXItY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7IH1cbiAgICAuYnRuLmJ0bi1vdXRsaW5lLXNlY29uZGFyeS5kaXNhYmxlZDpob3ZlciwgLmJ0bi1vdXRsaW5lLXNlY29uZGFyeS5kaXNhYmxlZC5jdXN0b20tZmlsZS1jb250cm9sOmhvdmVyOjpiZWZvcmUsIC5idG4uYnRuLW91dGxpbmUtc2Vjb25kYXJ5OmRpc2FibGVkOmhvdmVyLCAuYnRuLW91dGxpbmUtc2Vjb25kYXJ5LmN1c3RvbS1maWxlLWNvbnRyb2w6ZGlzYWJsZWQ6aG92ZXI6OmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0O1xuICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpOyB9XG4gICAgLmJnLWludmVyc2UgLmJ0bi5idG4tb3V0bGluZS1zZWNvbmRhcnksIC5iZy1pbnZlcnNlIC5idG4tb3V0bGluZS1zZWNvbmRhcnkuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlIHtcbiAgICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDtcbiAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTsgfVxuICAgICAgLmJnLWludmVyc2UgLmJ0bi5idG4tb3V0bGluZS1zZWNvbmRhcnk6aG92ZXIsIC5iZy1pbnZlcnNlIC5idG4tb3V0bGluZS1zZWNvbmRhcnkuY3VzdG9tLWZpbGUtY29udHJvbDpob3Zlcjo6YmVmb3JlIHtcbiAgICAgICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjA0LCAyMDQsIDIwNCwgMC4xNSk7XG4gICAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgyMDQsIDIwNCwgMjA0LCAwLjE1KTsgfVxuICAgICAgLmJnLWludmVyc2UgLmJ0bi5idG4tb3V0bGluZS1zZWNvbmRhcnk6Zm9jdXMsIC5iZy1pbnZlcnNlIC5idG4tb3V0bGluZS1zZWNvbmRhcnkuY3VzdG9tLWZpbGUtY29udHJvbDpmb2N1czo6YmVmb3JlLCAuYmctaW52ZXJzZSAuYnRuLmJ0bi1vdXRsaW5lLXNlY29uZGFyeS5mb2N1cywgLmJnLWludmVyc2UgLmJ0bi1vdXRsaW5lLXNlY29uZGFyeS5mb2N1cy5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUge1xuICAgICAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyMDQsIDIwNCwgMjA0LCAwLjE1KTtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDIwNCwgMjA0LCAyMDQsIDAuMTUpOyB9XG4gICAgICAuYmctaW52ZXJzZSAuYnRuLmJ0bi1vdXRsaW5lLXNlY29uZGFyeTphY3RpdmUsIC5iZy1pbnZlcnNlIC5idG4tb3V0bGluZS1zZWNvbmRhcnkuY3VzdG9tLWZpbGUtY29udHJvbDphY3RpdmU6OmJlZm9yZSwgLmJnLWludmVyc2UgLmJ0bi5idG4tb3V0bGluZS1zZWNvbmRhcnkuYWN0aXZlLCAuYmctaW52ZXJzZSAuYnRuLW91dGxpbmUtc2Vjb25kYXJ5LmFjdGl2ZS5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsXG4gICAgICAub3BlbiA+IC5iZy1pbnZlcnNlIC5idG4uYnRuLW91dGxpbmUtc2Vjb25kYXJ5LmRyb3Bkb3duLXRvZ2dsZSxcbiAgICAgIC5vcGVuID4gLmJnLWludmVyc2UgLmJ0bi1vdXRsaW5lLXNlY29uZGFyeS5kcm9wZG93bi10b2dnbGUuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlIHtcbiAgICAgICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjA0LCAyMDQsIDIwNCwgMC4xNSk7XG4gICAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgyMDQsIDIwNCwgMjA0LCAwLjE1KTsgfVxuICAgICAgICAuYmctaW52ZXJzZSAuYnRuLmJ0bi1vdXRsaW5lLXNlY29uZGFyeTphY3RpdmU6aG92ZXIsIC5iZy1pbnZlcnNlIC5idG4tb3V0bGluZS1zZWNvbmRhcnkuY3VzdG9tLWZpbGUtY29udHJvbDphY3RpdmU6aG92ZXI6OmJlZm9yZSwgLmJnLWludmVyc2UgLmJ0bi5idG4tb3V0bGluZS1zZWNvbmRhcnk6YWN0aXZlOmZvY3VzLCAuYmctaW52ZXJzZSAuYnRuLW91dGxpbmUtc2Vjb25kYXJ5LmN1c3RvbS1maWxlLWNvbnRyb2w6YWN0aXZlOmZvY3VzOjpiZWZvcmUsIC5iZy1pbnZlcnNlIC5idG4uYnRuLW91dGxpbmUtc2Vjb25kYXJ5OmFjdGl2ZS5mb2N1cywgLmJnLWludmVyc2UgLmJ0bi1vdXRsaW5lLXNlY29uZGFyeS5jdXN0b20tZmlsZS1jb250cm9sOmFjdGl2ZS5mb2N1czo6YmVmb3JlLCAuYmctaW52ZXJzZSAuYnRuLmJ0bi1vdXRsaW5lLXNlY29uZGFyeS5hY3RpdmU6aG92ZXIsIC5iZy1pbnZlcnNlIC5idG4tb3V0bGluZS1zZWNvbmRhcnkuYWN0aXZlLmN1c3RvbS1maWxlLWNvbnRyb2w6aG92ZXI6OmJlZm9yZSwgLmJnLWludmVyc2UgLmJ0bi5idG4tb3V0bGluZS1zZWNvbmRhcnkuYWN0aXZlOmZvY3VzLCAuYmctaW52ZXJzZSAuYnRuLW91dGxpbmUtc2Vjb25kYXJ5LmFjdGl2ZS5jdXN0b20tZmlsZS1jb250cm9sOmZvY3VzOjpiZWZvcmUsIC5iZy1pbnZlcnNlIC5idG4uYnRuLW91dGxpbmUtc2Vjb25kYXJ5LmFjdGl2ZS5mb2N1cywgLmJnLWludmVyc2UgLmJ0bi1vdXRsaW5lLXNlY29uZGFyeS5hY3RpdmUuZm9jdXMuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLFxuICAgICAgICAub3BlbiA+IC5iZy1pbnZlcnNlIC5idG4uYnRuLW91dGxpbmUtc2Vjb25kYXJ5LmRyb3Bkb3duLXRvZ2dsZTpob3ZlcixcbiAgICAgICAgLm9wZW4gPiAuYmctaW52ZXJzZSAuYnRuLW91dGxpbmUtc2Vjb25kYXJ5LmRyb3Bkb3duLXRvZ2dsZS5jdXN0b20tZmlsZS1jb250cm9sOmhvdmVyOjpiZWZvcmUsXG4gICAgICAgIC5vcGVuID4gLmJnLWludmVyc2UgLmJ0bi5idG4tb3V0bGluZS1zZWNvbmRhcnkuZHJvcGRvd24tdG9nZ2xlOmZvY3VzLFxuICAgICAgICAub3BlbiA+IC5iZy1pbnZlcnNlIC5idG4tb3V0bGluZS1zZWNvbmRhcnkuZHJvcGRvd24tdG9nZ2xlLmN1c3RvbS1maWxlLWNvbnRyb2w6Zm9jdXM6OmJlZm9yZSxcbiAgICAgICAgLm9wZW4gPiAuYmctaW52ZXJzZSAuYnRuLmJ0bi1vdXRsaW5lLXNlY29uZGFyeS5kcm9wZG93bi10b2dnbGUuZm9jdXMsXG4gICAgICAgIC5vcGVuID4gLmJnLWludmVyc2UgLmJ0bi1vdXRsaW5lLXNlY29uZGFyeS5kcm9wZG93bi10b2dnbGUuZm9jdXMuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlIHtcbiAgICAgICAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDIwNCwgMjA0LCAyMDQsIDAuMjUpO1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgyMDQsIDIwNCwgMjA0LCAwLjI1KTsgfVxuICAgICAgLm9wZW4gPiAuYmctaW52ZXJzZSAuYnRuLmJ0bi1vdXRsaW5lLXNlY29uZGFyeS5kcm9wZG93bi10b2dnbGUuYm1kLWJ0bi1pY29uLCAub3BlbiA+IC5iZy1pbnZlcnNlIC5idG4tb3V0bGluZS1zZWNvbmRhcnkuZHJvcGRvd24tdG9nZ2xlLmJtZC1idG4taWNvbi5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUge1xuICAgICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDsgfVxuICAgICAgICAub3BlbiA+IC5iZy1pbnZlcnNlIC5idG4uYnRuLW91dGxpbmUtc2Vjb25kYXJ5LmRyb3Bkb3duLXRvZ2dsZS5ibWQtYnRuLWljb246aG92ZXIsIC5vcGVuID4gLmJnLWludmVyc2UgLmJ0bi1vdXRsaW5lLXNlY29uZGFyeS5kcm9wZG93bi10b2dnbGUuYm1kLWJ0bi1pY29uLmN1c3RvbS1maWxlLWNvbnRyb2w6aG92ZXI6OmJlZm9yZSB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyMDQsIDIwNCwgMjA0LCAwLjE1KTsgfVxuICAgICAgLmJnLWludmVyc2UgLmJ0bi5idG4tb3V0bGluZS1zZWNvbmRhcnkuZGlzYWJsZWQ6Zm9jdXMsIC5iZy1pbnZlcnNlIC5idG4tb3V0bGluZS1zZWNvbmRhcnkuZGlzYWJsZWQuY3VzdG9tLWZpbGUtY29udHJvbDpmb2N1czo6YmVmb3JlLCAuYmctaW52ZXJzZSAuYnRuLmJ0bi1vdXRsaW5lLXNlY29uZGFyeS5kaXNhYmxlZC5mb2N1cywgLmJnLWludmVyc2UgLmJ0bi1vdXRsaW5lLXNlY29uZGFyeS5kaXNhYmxlZC5mb2N1cy5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsIC5iZy1pbnZlcnNlIC5idG4uYnRuLW91dGxpbmUtc2Vjb25kYXJ5OmRpc2FibGVkOmZvY3VzLCAuYmctaW52ZXJzZSAuYnRuLW91dGxpbmUtc2Vjb25kYXJ5LmN1c3RvbS1maWxlLWNvbnRyb2w6ZGlzYWJsZWQ6Zm9jdXM6OmJlZm9yZSwgLmJnLWludmVyc2UgLmJ0bi5idG4tb3V0bGluZS1zZWNvbmRhcnk6ZGlzYWJsZWQuZm9jdXMsIC5iZy1pbnZlcnNlIC5idG4tb3V0bGluZS1zZWNvbmRhcnkuY3VzdG9tLWZpbGUtY29udHJvbDpkaXNhYmxlZC5mb2N1czo6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpOyB9XG4gICAgICAuYmctaW52ZXJzZSAuYnRuLmJ0bi1vdXRsaW5lLXNlY29uZGFyeS5kaXNhYmxlZDpob3ZlciwgLmJnLWludmVyc2UgLmJ0bi1vdXRsaW5lLXNlY29uZGFyeS5kaXNhYmxlZC5jdXN0b20tZmlsZS1jb250cm9sOmhvdmVyOjpiZWZvcmUsIC5iZy1pbnZlcnNlIC5idG4uYnRuLW91dGxpbmUtc2Vjb25kYXJ5OmRpc2FibGVkOmhvdmVyLCAuYmctaW52ZXJzZSAuYnRuLW91dGxpbmUtc2Vjb25kYXJ5LmN1c3RvbS1maWxlLWNvbnRyb2w6ZGlzYWJsZWQ6aG92ZXI6OmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7XG4gICAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTsgfVxuICAgIC5idG4uYnRuLW91dGxpbmUtc2Vjb25kYXJ5LmJ0bi1saW5rLCAuYnRuLW91dGxpbmUtc2Vjb25kYXJ5LmJ0bi1saW5rLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAuYnRuLmJ0bi1vdXRsaW5lLWluZm8sIC5idG4tb3V0bGluZS1pbmZvLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSB7XG4gICAgY29sb3I6ICMwM2E5ZjQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDtcbiAgICBib3JkZXItY29sb3I6ICMwM2E5ZjQ7IH1cbiAgICAuYnRuLmJ0bi1vdXRsaW5lLWluZm86aG92ZXIsIC5idG4tb3V0bGluZS1pbmZvLmN1c3RvbS1maWxlLWNvbnRyb2w6aG92ZXI6OmJlZm9yZSB7XG4gICAgICBjb2xvcjogIzAzYTlmNDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTUzLCAxNTMsIDE1MywgMC4yKTtcbiAgICAgIGJvcmRlci1jb2xvcjogIzAzYTlmNDsgfVxuICAgIC5idG4uYnRuLW91dGxpbmUtaW5mbzpmb2N1cywgLmJ0bi1vdXRsaW5lLWluZm8uY3VzdG9tLWZpbGUtY29udHJvbDpmb2N1czo6YmVmb3JlLCAuYnRuLmJ0bi1vdXRsaW5lLWluZm8uZm9jdXMsIC5idG4tb3V0bGluZS1pbmZvLmZvY3VzLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSB7XG4gICAgICBjb2xvcjogIzAzYTlmNDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTUzLCAxNTMsIDE1MywgMC4yKTtcbiAgICAgIGJvcmRlci1jb2xvcjogIzAzYTlmNDsgfVxuICAgIC5idG4uYnRuLW91dGxpbmUtaW5mbzphY3RpdmUsIC5idG4tb3V0bGluZS1pbmZvLmN1c3RvbS1maWxlLWNvbnRyb2w6YWN0aXZlOjpiZWZvcmUsIC5idG4uYnRuLW91dGxpbmUtaW5mby5hY3RpdmUsIC5idG4tb3V0bGluZS1pbmZvLmFjdGl2ZS5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsXG4gICAgLm9wZW4gPiAuYnRuLmJ0bi1vdXRsaW5lLWluZm8uZHJvcGRvd24tdG9nZ2xlLFxuICAgIC5vcGVuID4gLmJ0bi1vdXRsaW5lLWluZm8uZHJvcGRvd24tdG9nZ2xlLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSB7XG4gICAgICBjb2xvcjogIzAzYTlmNDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTUzLCAxNTMsIDE1MywgMC4yKTtcbiAgICAgIGJvcmRlci1jb2xvcjogIzAzYTlmNDsgfVxuICAgICAgLmJ0bi5idG4tb3V0bGluZS1pbmZvOmFjdGl2ZTpob3ZlciwgLmJ0bi1vdXRsaW5lLWluZm8uY3VzdG9tLWZpbGUtY29udHJvbDphY3RpdmU6aG92ZXI6OmJlZm9yZSwgLmJ0bi5idG4tb3V0bGluZS1pbmZvOmFjdGl2ZTpmb2N1cywgLmJ0bi1vdXRsaW5lLWluZm8uY3VzdG9tLWZpbGUtY29udHJvbDphY3RpdmU6Zm9jdXM6OmJlZm9yZSwgLmJ0bi5idG4tb3V0bGluZS1pbmZvOmFjdGl2ZS5mb2N1cywgLmJ0bi1vdXRsaW5lLWluZm8uY3VzdG9tLWZpbGUtY29udHJvbDphY3RpdmUuZm9jdXM6OmJlZm9yZSwgLmJ0bi5idG4tb3V0bGluZS1pbmZvLmFjdGl2ZTpob3ZlciwgLmJ0bi1vdXRsaW5lLWluZm8uYWN0aXZlLmN1c3RvbS1maWxlLWNvbnRyb2w6aG92ZXI6OmJlZm9yZSwgLmJ0bi5idG4tb3V0bGluZS1pbmZvLmFjdGl2ZTpmb2N1cywgLmJ0bi1vdXRsaW5lLWluZm8uYWN0aXZlLmN1c3RvbS1maWxlLWNvbnRyb2w6Zm9jdXM6OmJlZm9yZSwgLmJ0bi5idG4tb3V0bGluZS1pbmZvLmFjdGl2ZS5mb2N1cywgLmJ0bi1vdXRsaW5lLWluZm8uYWN0aXZlLmZvY3VzLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSxcbiAgICAgIC5vcGVuID4gLmJ0bi5idG4tb3V0bGluZS1pbmZvLmRyb3Bkb3duLXRvZ2dsZTpob3ZlcixcbiAgICAgIC5vcGVuID4gLmJ0bi1vdXRsaW5lLWluZm8uZHJvcGRvd24tdG9nZ2xlLmN1c3RvbS1maWxlLWNvbnRyb2w6aG92ZXI6OmJlZm9yZSxcbiAgICAgIC5vcGVuID4gLmJ0bi5idG4tb3V0bGluZS1pbmZvLmRyb3Bkb3duLXRvZ2dsZTpmb2N1cyxcbiAgICAgIC5vcGVuID4gLmJ0bi1vdXRsaW5lLWluZm8uZHJvcGRvd24tdG9nZ2xlLmN1c3RvbS1maWxlLWNvbnRyb2w6Zm9jdXM6OmJlZm9yZSxcbiAgICAgIC5vcGVuID4gLmJ0bi5idG4tb3V0bGluZS1pbmZvLmRyb3Bkb3duLXRvZ2dsZS5mb2N1cyxcbiAgICAgIC5vcGVuID4gLmJ0bi1vdXRsaW5lLWluZm8uZHJvcGRvd24tdG9nZ2xlLmZvY3VzLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSB7XG4gICAgICAgIGNvbG9yOiAjMDNhOWY0O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDE1MywgMTUzLCAxNTMsIDAuNCk7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzAzYTlmNDsgfVxuICAgIC5vcGVuID4gLmJ0bi5idG4tb3V0bGluZS1pbmZvLmRyb3Bkb3duLXRvZ2dsZS5ibWQtYnRuLWljb24sIC5vcGVuID4gLmJ0bi1vdXRsaW5lLWluZm8uZHJvcGRvd24tdG9nZ2xlLmJtZC1idG4taWNvbi5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUge1xuICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0OyB9XG4gICAgICAub3BlbiA+IC5idG4uYnRuLW91dGxpbmUtaW5mby5kcm9wZG93bi10b2dnbGUuYm1kLWJ0bi1pY29uOmhvdmVyLCAub3BlbiA+IC5idG4tb3V0bGluZS1pbmZvLmRyb3Bkb3duLXRvZ2dsZS5ibWQtYnRuLWljb24uY3VzdG9tLWZpbGUtY29udHJvbDpob3Zlcjo6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxNTMsIDE1MywgMTUzLCAwLjIpOyB9XG4gICAgLmJ0bi5idG4tb3V0bGluZS1pbmZvLmRpc2FibGVkOmZvY3VzLCAuYnRuLW91dGxpbmUtaW5mby5kaXNhYmxlZC5jdXN0b20tZmlsZS1jb250cm9sOmZvY3VzOjpiZWZvcmUsIC5idG4uYnRuLW91dGxpbmUtaW5mby5kaXNhYmxlZC5mb2N1cywgLmJ0bi1vdXRsaW5lLWluZm8uZGlzYWJsZWQuZm9jdXMuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLCAuYnRuLmJ0bi1vdXRsaW5lLWluZm86ZGlzYWJsZWQ6Zm9jdXMsIC5idG4tb3V0bGluZS1pbmZvLmN1c3RvbS1maWxlLWNvbnRyb2w6ZGlzYWJsZWQ6Zm9jdXM6OmJlZm9yZSwgLmJ0bi5idG4tb3V0bGluZS1pbmZvOmRpc2FibGVkLmZvY3VzLCAuYnRuLW91dGxpbmUtaW5mby5jdXN0b20tZmlsZS1jb250cm9sOmRpc2FibGVkLmZvY3VzOjpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDtcbiAgICAgIGJvcmRlci1jb2xvcjogIzAzYTlmNDsgfVxuICAgIC5idG4uYnRuLW91dGxpbmUtaW5mby5kaXNhYmxlZDpob3ZlciwgLmJ0bi1vdXRsaW5lLWluZm8uZGlzYWJsZWQuY3VzdG9tLWZpbGUtY29udHJvbDpob3Zlcjo6YmVmb3JlLCAuYnRuLmJ0bi1vdXRsaW5lLWluZm86ZGlzYWJsZWQ6aG92ZXIsIC5idG4tb3V0bGluZS1pbmZvLmN1c3RvbS1maWxlLWNvbnRyb2w6ZGlzYWJsZWQ6aG92ZXI6OmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0O1xuICAgICAgYm9yZGVyLWNvbG9yOiAjMDNhOWY0OyB9XG4gICAgLmJnLWludmVyc2UgLmJ0bi5idG4tb3V0bGluZS1pbmZvLCAuYmctaW52ZXJzZSAuYnRuLW91dGxpbmUtaW5mby5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUge1xuICAgICAgY29sb3I6ICMwM2E5ZjQ7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0O1xuICAgICAgYm9yZGVyLWNvbG9yOiAjMDNhOWY0OyB9XG4gICAgICAuYmctaW52ZXJzZSAuYnRuLmJ0bi1vdXRsaW5lLWluZm86aG92ZXIsIC5iZy1pbnZlcnNlIC5idG4tb3V0bGluZS1pbmZvLmN1c3RvbS1maWxlLWNvbnRyb2w6aG92ZXI6OmJlZm9yZSB7XG4gICAgICAgIGNvbG9yOiAjMDNhOWY0O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDIwNCwgMjA0LCAyMDQsIDAuMTUpO1xuICAgICAgICBib3JkZXItY29sb3I6IHJnYmEoMjA0LCAyMDQsIDIwNCwgMC4xNSk7IH1cbiAgICAgIC5iZy1pbnZlcnNlIC5idG4uYnRuLW91dGxpbmUtaW5mbzpmb2N1cywgLmJnLWludmVyc2UgLmJ0bi1vdXRsaW5lLWluZm8uY3VzdG9tLWZpbGUtY29udHJvbDpmb2N1czo6YmVmb3JlLCAuYmctaW52ZXJzZSAuYnRuLmJ0bi1vdXRsaW5lLWluZm8uZm9jdXMsIC5iZy1pbnZlcnNlIC5idG4tb3V0bGluZS1pbmZvLmZvY3VzLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSB7XG4gICAgICAgIGNvbG9yOiAjMDNhOWY0O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDIwNCwgMjA0LCAyMDQsIDAuMTUpO1xuICAgICAgICBib3JkZXItY29sb3I6IHJnYmEoMjA0LCAyMDQsIDIwNCwgMC4xNSk7IH1cbiAgICAgIC5iZy1pbnZlcnNlIC5idG4uYnRuLW91dGxpbmUtaW5mbzphY3RpdmUsIC5iZy1pbnZlcnNlIC5idG4tb3V0bGluZS1pbmZvLmN1c3RvbS1maWxlLWNvbnRyb2w6YWN0aXZlOjpiZWZvcmUsIC5iZy1pbnZlcnNlIC5idG4uYnRuLW91dGxpbmUtaW5mby5hY3RpdmUsIC5iZy1pbnZlcnNlIC5idG4tb3V0bGluZS1pbmZvLmFjdGl2ZS5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsXG4gICAgICAub3BlbiA+IC5iZy1pbnZlcnNlIC5idG4uYnRuLW91dGxpbmUtaW5mby5kcm9wZG93bi10b2dnbGUsXG4gICAgICAub3BlbiA+IC5iZy1pbnZlcnNlIC5idG4tb3V0bGluZS1pbmZvLmRyb3Bkb3duLXRvZ2dsZS5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUge1xuICAgICAgICBjb2xvcjogIzAzYTlmNDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyMDQsIDIwNCwgMjA0LCAwLjE1KTtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDIwNCwgMjA0LCAyMDQsIDAuMTUpOyB9XG4gICAgICAgIC5iZy1pbnZlcnNlIC5idG4uYnRuLW91dGxpbmUtaW5mbzphY3RpdmU6aG92ZXIsIC5iZy1pbnZlcnNlIC5idG4tb3V0bGluZS1pbmZvLmN1c3RvbS1maWxlLWNvbnRyb2w6YWN0aXZlOmhvdmVyOjpiZWZvcmUsIC5iZy1pbnZlcnNlIC5idG4uYnRuLW91dGxpbmUtaW5mbzphY3RpdmU6Zm9jdXMsIC5iZy1pbnZlcnNlIC5idG4tb3V0bGluZS1pbmZvLmN1c3RvbS1maWxlLWNvbnRyb2w6YWN0aXZlOmZvY3VzOjpiZWZvcmUsIC5iZy1pbnZlcnNlIC5idG4uYnRuLW91dGxpbmUtaW5mbzphY3RpdmUuZm9jdXMsIC5iZy1pbnZlcnNlIC5idG4tb3V0bGluZS1pbmZvLmN1c3RvbS1maWxlLWNvbnRyb2w6YWN0aXZlLmZvY3VzOjpiZWZvcmUsIC5iZy1pbnZlcnNlIC5idG4uYnRuLW91dGxpbmUtaW5mby5hY3RpdmU6aG92ZXIsIC5iZy1pbnZlcnNlIC5idG4tb3V0bGluZS1pbmZvLmFjdGl2ZS5jdXN0b20tZmlsZS1jb250cm9sOmhvdmVyOjpiZWZvcmUsIC5iZy1pbnZlcnNlIC5idG4uYnRuLW91dGxpbmUtaW5mby5hY3RpdmU6Zm9jdXMsIC5iZy1pbnZlcnNlIC5idG4tb3V0bGluZS1pbmZvLmFjdGl2ZS5jdXN0b20tZmlsZS1jb250cm9sOmZvY3VzOjpiZWZvcmUsIC5iZy1pbnZlcnNlIC5idG4uYnRuLW91dGxpbmUtaW5mby5hY3RpdmUuZm9jdXMsIC5iZy1pbnZlcnNlIC5idG4tb3V0bGluZS1pbmZvLmFjdGl2ZS5mb2N1cy5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsXG4gICAgICAgIC5vcGVuID4gLmJnLWludmVyc2UgLmJ0bi5idG4tb3V0bGluZS1pbmZvLmRyb3Bkb3duLXRvZ2dsZTpob3ZlcixcbiAgICAgICAgLm9wZW4gPiAuYmctaW52ZXJzZSAuYnRuLW91dGxpbmUtaW5mby5kcm9wZG93bi10b2dnbGUuY3VzdG9tLWZpbGUtY29udHJvbDpob3Zlcjo6YmVmb3JlLFxuICAgICAgICAub3BlbiA+IC5iZy1pbnZlcnNlIC5idG4uYnRuLW91dGxpbmUtaW5mby5kcm9wZG93bi10b2dnbGU6Zm9jdXMsXG4gICAgICAgIC5vcGVuID4gLmJnLWludmVyc2UgLmJ0bi1vdXRsaW5lLWluZm8uZHJvcGRvd24tdG9nZ2xlLmN1c3RvbS1maWxlLWNvbnRyb2w6Zm9jdXM6OmJlZm9yZSxcbiAgICAgICAgLm9wZW4gPiAuYmctaW52ZXJzZSAuYnRuLmJ0bi1vdXRsaW5lLWluZm8uZHJvcGRvd24tdG9nZ2xlLmZvY3VzLFxuICAgICAgICAub3BlbiA+IC5iZy1pbnZlcnNlIC5idG4tb3V0bGluZS1pbmZvLmRyb3Bkb3duLXRvZ2dsZS5mb2N1cy5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUge1xuICAgICAgICAgIGNvbG9yOiAjMDNhOWY0O1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjA0LCAyMDQsIDIwNCwgMC4yNSk7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDIwNCwgMjA0LCAyMDQsIDAuMjUpOyB9XG4gICAgICAub3BlbiA+IC5iZy1pbnZlcnNlIC5idG4uYnRuLW91dGxpbmUtaW5mby5kcm9wZG93bi10b2dnbGUuYm1kLWJ0bi1pY29uLCAub3BlbiA+IC5iZy1pbnZlcnNlIC5idG4tb3V0bGluZS1pbmZvLmRyb3Bkb3duLXRvZ2dsZS5ibWQtYnRuLWljb24uY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlIHtcbiAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7IH1cbiAgICAgICAgLm9wZW4gPiAuYmctaW52ZXJzZSAuYnRuLmJ0bi1vdXRsaW5lLWluZm8uZHJvcGRvd24tdG9nZ2xlLmJtZC1idG4taWNvbjpob3ZlciwgLm9wZW4gPiAuYmctaW52ZXJzZSAuYnRuLW91dGxpbmUtaW5mby5kcm9wZG93bi10b2dnbGUuYm1kLWJ0bi1pY29uLmN1c3RvbS1maWxlLWNvbnRyb2w6aG92ZXI6OmJlZm9yZSB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyMDQsIDIwNCwgMjA0LCAwLjE1KTsgfVxuICAgICAgLmJnLWludmVyc2UgLmJ0bi5idG4tb3V0bGluZS1pbmZvLmRpc2FibGVkOmZvY3VzLCAuYmctaW52ZXJzZSAuYnRuLW91dGxpbmUtaW5mby5kaXNhYmxlZC5jdXN0b20tZmlsZS1jb250cm9sOmZvY3VzOjpiZWZvcmUsIC5iZy1pbnZlcnNlIC5idG4uYnRuLW91dGxpbmUtaW5mby5kaXNhYmxlZC5mb2N1cywgLmJnLWludmVyc2UgLmJ0bi1vdXRsaW5lLWluZm8uZGlzYWJsZWQuZm9jdXMuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLCAuYmctaW52ZXJzZSAuYnRuLmJ0bi1vdXRsaW5lLWluZm86ZGlzYWJsZWQ6Zm9jdXMsIC5iZy1pbnZlcnNlIC5idG4tb3V0bGluZS1pbmZvLmN1c3RvbS1maWxlLWNvbnRyb2w6ZGlzYWJsZWQ6Zm9jdXM6OmJlZm9yZSwgLmJnLWludmVyc2UgLmJ0bi5idG4tb3V0bGluZS1pbmZvOmRpc2FibGVkLmZvY3VzLCAuYmctaW52ZXJzZSAuYnRuLW91dGxpbmUtaW5mby5jdXN0b20tZmlsZS1jb250cm9sOmRpc2FibGVkLmZvY3VzOjpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0O1xuICAgICAgICBib3JkZXItY29sb3I6ICMwM2E5ZjQ7IH1cbiAgICAgIC5iZy1pbnZlcnNlIC5idG4uYnRuLW91dGxpbmUtaW5mby5kaXNhYmxlZDpob3ZlciwgLmJnLWludmVyc2UgLmJ0bi1vdXRsaW5lLWluZm8uZGlzYWJsZWQuY3VzdG9tLWZpbGUtY29udHJvbDpob3Zlcjo6YmVmb3JlLCAuYmctaW52ZXJzZSAuYnRuLmJ0bi1vdXRsaW5lLWluZm86ZGlzYWJsZWQ6aG92ZXIsIC5iZy1pbnZlcnNlIC5idG4tb3V0bGluZS1pbmZvLmN1c3RvbS1maWxlLWNvbnRyb2w6ZGlzYWJsZWQ6aG92ZXI6OmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzAzYTlmNDsgfVxuICAgIC5idG4uYnRuLW91dGxpbmUtaW5mby5idG4tbGluaywgLmJ0bi1vdXRsaW5lLWluZm8uYnRuLWxpbmsuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gIC5idG4uYnRuLW91dGxpbmUtc3VjY2VzcywgLmJ0bi1vdXRsaW5lLXN1Y2Nlc3MuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlIHtcbiAgICBjb2xvcjogIzRjYWY1MDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0O1xuICAgIGJvcmRlci1jb2xvcjogIzRjYWY1MDsgfVxuICAgIC5idG4uYnRuLW91dGxpbmUtc3VjY2Vzczpob3ZlciwgLmJ0bi1vdXRsaW5lLXN1Y2Nlc3MuY3VzdG9tLWZpbGUtY29udHJvbDpob3Zlcjo6YmVmb3JlIHtcbiAgICAgIGNvbG9yOiAjNGNhZjUwO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxNTMsIDE1MywgMTUzLCAwLjIpO1xuICAgICAgYm9yZGVyLWNvbG9yOiAjNGNhZjUwOyB9XG4gICAgLmJ0bi5idG4tb3V0bGluZS1zdWNjZXNzOmZvY3VzLCAuYnRuLW91dGxpbmUtc3VjY2Vzcy5jdXN0b20tZmlsZS1jb250cm9sOmZvY3VzOjpiZWZvcmUsIC5idG4uYnRuLW91dGxpbmUtc3VjY2Vzcy5mb2N1cywgLmJ0bi1vdXRsaW5lLXN1Y2Nlc3MuZm9jdXMuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlIHtcbiAgICAgIGNvbG9yOiAjNGNhZjUwO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxNTMsIDE1MywgMTUzLCAwLjIpO1xuICAgICAgYm9yZGVyLWNvbG9yOiAjNGNhZjUwOyB9XG4gICAgLmJ0bi5idG4tb3V0bGluZS1zdWNjZXNzOmFjdGl2ZSwgLmJ0bi1vdXRsaW5lLXN1Y2Nlc3MuY3VzdG9tLWZpbGUtY29udHJvbDphY3RpdmU6OmJlZm9yZSwgLmJ0bi5idG4tb3V0bGluZS1zdWNjZXNzLmFjdGl2ZSwgLmJ0bi1vdXRsaW5lLXN1Y2Nlc3MuYWN0aXZlLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSxcbiAgICAub3BlbiA+IC5idG4uYnRuLW91dGxpbmUtc3VjY2Vzcy5kcm9wZG93bi10b2dnbGUsXG4gICAgLm9wZW4gPiAuYnRuLW91dGxpbmUtc3VjY2Vzcy5kcm9wZG93bi10b2dnbGUuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlIHtcbiAgICAgIGNvbG9yOiAjNGNhZjUwO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxNTMsIDE1MywgMTUzLCAwLjIpO1xuICAgICAgYm9yZGVyLWNvbG9yOiAjNGNhZjUwOyB9XG4gICAgICAuYnRuLmJ0bi1vdXRsaW5lLXN1Y2Nlc3M6YWN0aXZlOmhvdmVyLCAuYnRuLW91dGxpbmUtc3VjY2Vzcy5jdXN0b20tZmlsZS1jb250cm9sOmFjdGl2ZTpob3Zlcjo6YmVmb3JlLCAuYnRuLmJ0bi1vdXRsaW5lLXN1Y2Nlc3M6YWN0aXZlOmZvY3VzLCAuYnRuLW91dGxpbmUtc3VjY2Vzcy5jdXN0b20tZmlsZS1jb250cm9sOmFjdGl2ZTpmb2N1czo6YmVmb3JlLCAuYnRuLmJ0bi1vdXRsaW5lLXN1Y2Nlc3M6YWN0aXZlLmZvY3VzLCAuYnRuLW91dGxpbmUtc3VjY2Vzcy5jdXN0b20tZmlsZS1jb250cm9sOmFjdGl2ZS5mb2N1czo6YmVmb3JlLCAuYnRuLmJ0bi1vdXRsaW5lLXN1Y2Nlc3MuYWN0aXZlOmhvdmVyLCAuYnRuLW91dGxpbmUtc3VjY2Vzcy5hY3RpdmUuY3VzdG9tLWZpbGUtY29udHJvbDpob3Zlcjo6YmVmb3JlLCAuYnRuLmJ0bi1vdXRsaW5lLXN1Y2Nlc3MuYWN0aXZlOmZvY3VzLCAuYnRuLW91dGxpbmUtc3VjY2Vzcy5hY3RpdmUuY3VzdG9tLWZpbGUtY29udHJvbDpmb2N1czo6YmVmb3JlLCAuYnRuLmJ0bi1vdXRsaW5lLXN1Y2Nlc3MuYWN0aXZlLmZvY3VzLCAuYnRuLW91dGxpbmUtc3VjY2Vzcy5hY3RpdmUuZm9jdXMuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLFxuICAgICAgLm9wZW4gPiAuYnRuLmJ0bi1vdXRsaW5lLXN1Y2Nlc3MuZHJvcGRvd24tdG9nZ2xlOmhvdmVyLFxuICAgICAgLm9wZW4gPiAuYnRuLW91dGxpbmUtc3VjY2Vzcy5kcm9wZG93bi10b2dnbGUuY3VzdG9tLWZpbGUtY29udHJvbDpob3Zlcjo6YmVmb3JlLFxuICAgICAgLm9wZW4gPiAuYnRuLmJ0bi1vdXRsaW5lLXN1Y2Nlc3MuZHJvcGRvd24tdG9nZ2xlOmZvY3VzLFxuICAgICAgLm9wZW4gPiAuYnRuLW91dGxpbmUtc3VjY2Vzcy5kcm9wZG93bi10b2dnbGUuY3VzdG9tLWZpbGUtY29udHJvbDpmb2N1czo6YmVmb3JlLFxuICAgICAgLm9wZW4gPiAuYnRuLmJ0bi1vdXRsaW5lLXN1Y2Nlc3MuZHJvcGRvd24tdG9nZ2xlLmZvY3VzLFxuICAgICAgLm9wZW4gPiAuYnRuLW91dGxpbmUtc3VjY2Vzcy5kcm9wZG93bi10b2dnbGUuZm9jdXMuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlIHtcbiAgICAgICAgY29sb3I6ICM0Y2FmNTA7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTUzLCAxNTMsIDE1MywgMC40KTtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjNGNhZjUwOyB9XG4gICAgLm9wZW4gPiAuYnRuLmJ0bi1vdXRsaW5lLXN1Y2Nlc3MuZHJvcGRvd24tdG9nZ2xlLmJtZC1idG4taWNvbiwgLm9wZW4gPiAuYnRuLW91dGxpbmUtc3VjY2Vzcy5kcm9wZG93bi10b2dnbGUuYm1kLWJ0bi1pY29uLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSB7XG4gICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7IH1cbiAgICAgIC5vcGVuID4gLmJ0bi5idG4tb3V0bGluZS1zdWNjZXNzLmRyb3Bkb3duLXRvZ2dsZS5ibWQtYnRuLWljb246aG92ZXIsIC5vcGVuID4gLmJ0bi1vdXRsaW5lLXN1Y2Nlc3MuZHJvcGRvd24tdG9nZ2xlLmJtZC1idG4taWNvbi5jdXN0b20tZmlsZS1jb250cm9sOmhvdmVyOjpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDE1MywgMTUzLCAxNTMsIDAuMik7IH1cbiAgICAuYnRuLmJ0bi1vdXRsaW5lLXN1Y2Nlc3MuZGlzYWJsZWQ6Zm9jdXMsIC5idG4tb3V0bGluZS1zdWNjZXNzLmRpc2FibGVkLmN1c3RvbS1maWxlLWNvbnRyb2w6Zm9jdXM6OmJlZm9yZSwgLmJ0bi5idG4tb3V0bGluZS1zdWNjZXNzLmRpc2FibGVkLmZvY3VzLCAuYnRuLW91dGxpbmUtc3VjY2Vzcy5kaXNhYmxlZC5mb2N1cy5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsIC5idG4uYnRuLW91dGxpbmUtc3VjY2VzczpkaXNhYmxlZDpmb2N1cywgLmJ0bi1vdXRsaW5lLXN1Y2Nlc3MuY3VzdG9tLWZpbGUtY29udHJvbDpkaXNhYmxlZDpmb2N1czo6YmVmb3JlLCAuYnRuLmJ0bi1vdXRsaW5lLXN1Y2Nlc3M6ZGlzYWJsZWQuZm9jdXMsIC5idG4tb3V0bGluZS1zdWNjZXNzLmN1c3RvbS1maWxlLWNvbnRyb2w6ZGlzYWJsZWQuZm9jdXM6OmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0O1xuICAgICAgYm9yZGVyLWNvbG9yOiAjNGNhZjUwOyB9XG4gICAgLmJ0bi5idG4tb3V0bGluZS1zdWNjZXNzLmRpc2FibGVkOmhvdmVyLCAuYnRuLW91dGxpbmUtc3VjY2Vzcy5kaXNhYmxlZC5jdXN0b20tZmlsZS1jb250cm9sOmhvdmVyOjpiZWZvcmUsIC5idG4uYnRuLW91dGxpbmUtc3VjY2VzczpkaXNhYmxlZDpob3ZlciwgLmJ0bi1vdXRsaW5lLXN1Y2Nlc3MuY3VzdG9tLWZpbGUtY29udHJvbDpkaXNhYmxlZDpob3Zlcjo6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7XG4gICAgICBib3JkZXItY29sb3I6ICM0Y2FmNTA7IH1cbiAgICAuYmctaW52ZXJzZSAuYnRuLmJ0bi1vdXRsaW5lLXN1Y2Nlc3MsIC5iZy1pbnZlcnNlIC5idG4tb3V0bGluZS1zdWNjZXNzLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSB7XG4gICAgICBjb2xvcjogIzRjYWY1MDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7XG4gICAgICBib3JkZXItY29sb3I6ICM0Y2FmNTA7IH1cbiAgICAgIC5iZy1pbnZlcnNlIC5idG4uYnRuLW91dGxpbmUtc3VjY2Vzczpob3ZlciwgLmJnLWludmVyc2UgLmJ0bi1vdXRsaW5lLXN1Y2Nlc3MuY3VzdG9tLWZpbGUtY29udHJvbDpob3Zlcjo6YmVmb3JlIHtcbiAgICAgICAgY29sb3I6ICM0Y2FmNTA7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjA0LCAyMDQsIDIwNCwgMC4xNSk7XG4gICAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgyMDQsIDIwNCwgMjA0LCAwLjE1KTsgfVxuICAgICAgLmJnLWludmVyc2UgLmJ0bi5idG4tb3V0bGluZS1zdWNjZXNzOmZvY3VzLCAuYmctaW52ZXJzZSAuYnRuLW91dGxpbmUtc3VjY2Vzcy5jdXN0b20tZmlsZS1jb250cm9sOmZvY3VzOjpiZWZvcmUsIC5iZy1pbnZlcnNlIC5idG4uYnRuLW91dGxpbmUtc3VjY2Vzcy5mb2N1cywgLmJnLWludmVyc2UgLmJ0bi1vdXRsaW5lLXN1Y2Nlc3MuZm9jdXMuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlIHtcbiAgICAgICAgY29sb3I6ICM0Y2FmNTA7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjA0LCAyMDQsIDIwNCwgMC4xNSk7XG4gICAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgyMDQsIDIwNCwgMjA0LCAwLjE1KTsgfVxuICAgICAgLmJnLWludmVyc2UgLmJ0bi5idG4tb3V0bGluZS1zdWNjZXNzOmFjdGl2ZSwgLmJnLWludmVyc2UgLmJ0bi1vdXRsaW5lLXN1Y2Nlc3MuY3VzdG9tLWZpbGUtY29udHJvbDphY3RpdmU6OmJlZm9yZSwgLmJnLWludmVyc2UgLmJ0bi5idG4tb3V0bGluZS1zdWNjZXNzLmFjdGl2ZSwgLmJnLWludmVyc2UgLmJ0bi1vdXRsaW5lLXN1Y2Nlc3MuYWN0aXZlLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSxcbiAgICAgIC5vcGVuID4gLmJnLWludmVyc2UgLmJ0bi5idG4tb3V0bGluZS1zdWNjZXNzLmRyb3Bkb3duLXRvZ2dsZSxcbiAgICAgIC5vcGVuID4gLmJnLWludmVyc2UgLmJ0bi1vdXRsaW5lLXN1Y2Nlc3MuZHJvcGRvd24tdG9nZ2xlLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSB7XG4gICAgICAgIGNvbG9yOiAjNGNhZjUwO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDIwNCwgMjA0LCAyMDQsIDAuMTUpO1xuICAgICAgICBib3JkZXItY29sb3I6IHJnYmEoMjA0LCAyMDQsIDIwNCwgMC4xNSk7IH1cbiAgICAgICAgLmJnLWludmVyc2UgLmJ0bi5idG4tb3V0bGluZS1zdWNjZXNzOmFjdGl2ZTpob3ZlciwgLmJnLWludmVyc2UgLmJ0bi1vdXRsaW5lLXN1Y2Nlc3MuY3VzdG9tLWZpbGUtY29udHJvbDphY3RpdmU6aG92ZXI6OmJlZm9yZSwgLmJnLWludmVyc2UgLmJ0bi5idG4tb3V0bGluZS1zdWNjZXNzOmFjdGl2ZTpmb2N1cywgLmJnLWludmVyc2UgLmJ0bi1vdXRsaW5lLXN1Y2Nlc3MuY3VzdG9tLWZpbGUtY29udHJvbDphY3RpdmU6Zm9jdXM6OmJlZm9yZSwgLmJnLWludmVyc2UgLmJ0bi5idG4tb3V0bGluZS1zdWNjZXNzOmFjdGl2ZS5mb2N1cywgLmJnLWludmVyc2UgLmJ0bi1vdXRsaW5lLXN1Y2Nlc3MuY3VzdG9tLWZpbGUtY29udHJvbDphY3RpdmUuZm9jdXM6OmJlZm9yZSwgLmJnLWludmVyc2UgLmJ0bi5idG4tb3V0bGluZS1zdWNjZXNzLmFjdGl2ZTpob3ZlciwgLmJnLWludmVyc2UgLmJ0bi1vdXRsaW5lLXN1Y2Nlc3MuYWN0aXZlLmN1c3RvbS1maWxlLWNvbnRyb2w6aG92ZXI6OmJlZm9yZSwgLmJnLWludmVyc2UgLmJ0bi5idG4tb3V0bGluZS1zdWNjZXNzLmFjdGl2ZTpmb2N1cywgLmJnLWludmVyc2UgLmJ0bi1vdXRsaW5lLXN1Y2Nlc3MuYWN0aXZlLmN1c3RvbS1maWxlLWNvbnRyb2w6Zm9jdXM6OmJlZm9yZSwgLmJnLWludmVyc2UgLmJ0bi5idG4tb3V0bGluZS1zdWNjZXNzLmFjdGl2ZS5mb2N1cywgLmJnLWludmVyc2UgLmJ0bi1vdXRsaW5lLXN1Y2Nlc3MuYWN0aXZlLmZvY3VzLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSxcbiAgICAgICAgLm9wZW4gPiAuYmctaW52ZXJzZSAuYnRuLmJ0bi1vdXRsaW5lLXN1Y2Nlc3MuZHJvcGRvd24tdG9nZ2xlOmhvdmVyLFxuICAgICAgICAub3BlbiA+IC5iZy1pbnZlcnNlIC5idG4tb3V0bGluZS1zdWNjZXNzLmRyb3Bkb3duLXRvZ2dsZS5jdXN0b20tZmlsZS1jb250cm9sOmhvdmVyOjpiZWZvcmUsXG4gICAgICAgIC5vcGVuID4gLmJnLWludmVyc2UgLmJ0bi5idG4tb3V0bGluZS1zdWNjZXNzLmRyb3Bkb3duLXRvZ2dsZTpmb2N1cyxcbiAgICAgICAgLm9wZW4gPiAuYmctaW52ZXJzZSAuYnRuLW91dGxpbmUtc3VjY2Vzcy5kcm9wZG93bi10b2dnbGUuY3VzdG9tLWZpbGUtY29udHJvbDpmb2N1czo6YmVmb3JlLFxuICAgICAgICAub3BlbiA+IC5iZy1pbnZlcnNlIC5idG4uYnRuLW91dGxpbmUtc3VjY2Vzcy5kcm9wZG93bi10b2dnbGUuZm9jdXMsXG4gICAgICAgIC5vcGVuID4gLmJnLWludmVyc2UgLmJ0bi1vdXRsaW5lLXN1Y2Nlc3MuZHJvcGRvd24tdG9nZ2xlLmZvY3VzLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSB7XG4gICAgICAgICAgY29sb3I6ICM0Y2FmNTA7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyMDQsIDIwNCwgMjA0LCAwLjI1KTtcbiAgICAgICAgICBib3JkZXItY29sb3I6IHJnYmEoMjA0LCAyMDQsIDIwNCwgMC4yNSk7IH1cbiAgICAgIC5vcGVuID4gLmJnLWludmVyc2UgLmJ0bi5idG4tb3V0bGluZS1zdWNjZXNzLmRyb3Bkb3duLXRvZ2dsZS5ibWQtYnRuLWljb24sIC5vcGVuID4gLmJnLWludmVyc2UgLmJ0bi1vdXRsaW5lLXN1Y2Nlc3MuZHJvcGRvd24tdG9nZ2xlLmJtZC1idG4taWNvbi5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUge1xuICAgICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDsgfVxuICAgICAgICAub3BlbiA+IC5iZy1pbnZlcnNlIC5idG4uYnRuLW91dGxpbmUtc3VjY2Vzcy5kcm9wZG93bi10b2dnbGUuYm1kLWJ0bi1pY29uOmhvdmVyLCAub3BlbiA+IC5iZy1pbnZlcnNlIC5idG4tb3V0bGluZS1zdWNjZXNzLmRyb3Bkb3duLXRvZ2dsZS5ibWQtYnRuLWljb24uY3VzdG9tLWZpbGUtY29udHJvbDpob3Zlcjo6YmVmb3JlIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDIwNCwgMjA0LCAyMDQsIDAuMTUpOyB9XG4gICAgICAuYmctaW52ZXJzZSAuYnRuLmJ0bi1vdXRsaW5lLXN1Y2Nlc3MuZGlzYWJsZWQ6Zm9jdXMsIC5iZy1pbnZlcnNlIC5idG4tb3V0bGluZS1zdWNjZXNzLmRpc2FibGVkLmN1c3RvbS1maWxlLWNvbnRyb2w6Zm9jdXM6OmJlZm9yZSwgLmJnLWludmVyc2UgLmJ0bi5idG4tb3V0bGluZS1zdWNjZXNzLmRpc2FibGVkLmZvY3VzLCAuYmctaW52ZXJzZSAuYnRuLW91dGxpbmUtc3VjY2Vzcy5kaXNhYmxlZC5mb2N1cy5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsIC5iZy1pbnZlcnNlIC5idG4uYnRuLW91dGxpbmUtc3VjY2VzczpkaXNhYmxlZDpmb2N1cywgLmJnLWludmVyc2UgLmJ0bi1vdXRsaW5lLXN1Y2Nlc3MuY3VzdG9tLWZpbGUtY29udHJvbDpkaXNhYmxlZDpmb2N1czo6YmVmb3JlLCAuYmctaW52ZXJzZSAuYnRuLmJ0bi1vdXRsaW5lLXN1Y2Nlc3M6ZGlzYWJsZWQuZm9jdXMsIC5iZy1pbnZlcnNlIC5idG4tb3V0bGluZS1zdWNjZXNzLmN1c3RvbS1maWxlLWNvbnRyb2w6ZGlzYWJsZWQuZm9jdXM6OmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzRjYWY1MDsgfVxuICAgICAgLmJnLWludmVyc2UgLmJ0bi5idG4tb3V0bGluZS1zdWNjZXNzLmRpc2FibGVkOmhvdmVyLCAuYmctaW52ZXJzZSAuYnRuLW91dGxpbmUtc3VjY2Vzcy5kaXNhYmxlZC5jdXN0b20tZmlsZS1jb250cm9sOmhvdmVyOjpiZWZvcmUsIC5iZy1pbnZlcnNlIC5idG4uYnRuLW91dGxpbmUtc3VjY2VzczpkaXNhYmxlZDpob3ZlciwgLmJnLWludmVyc2UgLmJ0bi1vdXRsaW5lLXN1Y2Nlc3MuY3VzdG9tLWZpbGUtY29udHJvbDpkaXNhYmxlZDpob3Zlcjo6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjNGNhZjUwOyB9XG4gICAgLmJ0bi5idG4tb3V0bGluZS1zdWNjZXNzLmJ0bi1saW5rLCAuYnRuLW91dGxpbmUtc3VjY2Vzcy5idG4tbGluay5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgLmJ0bi5idG4tb3V0bGluZS13YXJuaW5nLCAuYnRuLW91dGxpbmUtd2FybmluZy5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUge1xuICAgIGNvbG9yOiAjZmY1NzIyO1xuICAgIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7XG4gICAgYm9yZGVyLWNvbG9yOiAjZmY1NzIyOyB9XG4gICAgLmJ0bi5idG4tb3V0bGluZS13YXJuaW5nOmhvdmVyLCAuYnRuLW91dGxpbmUtd2FybmluZy5jdXN0b20tZmlsZS1jb250cm9sOmhvdmVyOjpiZWZvcmUge1xuICAgICAgY29sb3I6ICNmZjU3MjI7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDE1MywgMTUzLCAxNTMsIDAuMik7XG4gICAgICBib3JkZXItY29sb3I6ICNmZjU3MjI7IH1cbiAgICAuYnRuLmJ0bi1vdXRsaW5lLXdhcm5pbmc6Zm9jdXMsIC5idG4tb3V0bGluZS13YXJuaW5nLmN1c3RvbS1maWxlLWNvbnRyb2w6Zm9jdXM6OmJlZm9yZSwgLmJ0bi5idG4tb3V0bGluZS13YXJuaW5nLmZvY3VzLCAuYnRuLW91dGxpbmUtd2FybmluZy5mb2N1cy5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUge1xuICAgICAgY29sb3I6ICNmZjU3MjI7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDE1MywgMTUzLCAxNTMsIDAuMik7XG4gICAgICBib3JkZXItY29sb3I6ICNmZjU3MjI7IH1cbiAgICAuYnRuLmJ0bi1vdXRsaW5lLXdhcm5pbmc6YWN0aXZlLCAuYnRuLW91dGxpbmUtd2FybmluZy5jdXN0b20tZmlsZS1jb250cm9sOmFjdGl2ZTo6YmVmb3JlLCAuYnRuLmJ0bi1vdXRsaW5lLXdhcm5pbmcuYWN0aXZlLCAuYnRuLW91dGxpbmUtd2FybmluZy5hY3RpdmUuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLFxuICAgIC5vcGVuID4gLmJ0bi5idG4tb3V0bGluZS13YXJuaW5nLmRyb3Bkb3duLXRvZ2dsZSxcbiAgICAub3BlbiA+IC5idG4tb3V0bGluZS13YXJuaW5nLmRyb3Bkb3duLXRvZ2dsZS5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUge1xuICAgICAgY29sb3I6ICNmZjU3MjI7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDE1MywgMTUzLCAxNTMsIDAuMik7XG4gICAgICBib3JkZXItY29sb3I6ICNmZjU3MjI7IH1cbiAgICAgIC5idG4uYnRuLW91dGxpbmUtd2FybmluZzphY3RpdmU6aG92ZXIsIC5idG4tb3V0bGluZS13YXJuaW5nLmN1c3RvbS1maWxlLWNvbnRyb2w6YWN0aXZlOmhvdmVyOjpiZWZvcmUsIC5idG4uYnRuLW91dGxpbmUtd2FybmluZzphY3RpdmU6Zm9jdXMsIC5idG4tb3V0bGluZS13YXJuaW5nLmN1c3RvbS1maWxlLWNvbnRyb2w6YWN0aXZlOmZvY3VzOjpiZWZvcmUsIC5idG4uYnRuLW91dGxpbmUtd2FybmluZzphY3RpdmUuZm9jdXMsIC5idG4tb3V0bGluZS13YXJuaW5nLmN1c3RvbS1maWxlLWNvbnRyb2w6YWN0aXZlLmZvY3VzOjpiZWZvcmUsIC5idG4uYnRuLW91dGxpbmUtd2FybmluZy5hY3RpdmU6aG92ZXIsIC5idG4tb3V0bGluZS13YXJuaW5nLmFjdGl2ZS5jdXN0b20tZmlsZS1jb250cm9sOmhvdmVyOjpiZWZvcmUsIC5idG4uYnRuLW91dGxpbmUtd2FybmluZy5hY3RpdmU6Zm9jdXMsIC5idG4tb3V0bGluZS13YXJuaW5nLmFjdGl2ZS5jdXN0b20tZmlsZS1jb250cm9sOmZvY3VzOjpiZWZvcmUsIC5idG4uYnRuLW91dGxpbmUtd2FybmluZy5hY3RpdmUuZm9jdXMsIC5idG4tb3V0bGluZS13YXJuaW5nLmFjdGl2ZS5mb2N1cy5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsXG4gICAgICAub3BlbiA+IC5idG4uYnRuLW91dGxpbmUtd2FybmluZy5kcm9wZG93bi10b2dnbGU6aG92ZXIsXG4gICAgICAub3BlbiA+IC5idG4tb3V0bGluZS13YXJuaW5nLmRyb3Bkb3duLXRvZ2dsZS5jdXN0b20tZmlsZS1jb250cm9sOmhvdmVyOjpiZWZvcmUsXG4gICAgICAub3BlbiA+IC5idG4uYnRuLW91dGxpbmUtd2FybmluZy5kcm9wZG93bi10b2dnbGU6Zm9jdXMsXG4gICAgICAub3BlbiA+IC5idG4tb3V0bGluZS13YXJuaW5nLmRyb3Bkb3duLXRvZ2dsZS5jdXN0b20tZmlsZS1jb250cm9sOmZvY3VzOjpiZWZvcmUsXG4gICAgICAub3BlbiA+IC5idG4uYnRuLW91dGxpbmUtd2FybmluZy5kcm9wZG93bi10b2dnbGUuZm9jdXMsXG4gICAgICAub3BlbiA+IC5idG4tb3V0bGluZS13YXJuaW5nLmRyb3Bkb3duLXRvZ2dsZS5mb2N1cy5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUge1xuICAgICAgICBjb2xvcjogI2ZmNTcyMjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxNTMsIDE1MywgMTUzLCAwLjQpO1xuICAgICAgICBib3JkZXItY29sb3I6ICNmZjU3MjI7IH1cbiAgICAub3BlbiA+IC5idG4uYnRuLW91dGxpbmUtd2FybmluZy5kcm9wZG93bi10b2dnbGUuYm1kLWJ0bi1pY29uLCAub3BlbiA+IC5idG4tb3V0bGluZS13YXJuaW5nLmRyb3Bkb3duLXRvZ2dsZS5ibWQtYnRuLWljb24uY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlIHtcbiAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDsgfVxuICAgICAgLm9wZW4gPiAuYnRuLmJ0bi1vdXRsaW5lLXdhcm5pbmcuZHJvcGRvd24tdG9nZ2xlLmJtZC1idG4taWNvbjpob3ZlciwgLm9wZW4gPiAuYnRuLW91dGxpbmUtd2FybmluZy5kcm9wZG93bi10b2dnbGUuYm1kLWJ0bi1pY29uLmN1c3RvbS1maWxlLWNvbnRyb2w6aG92ZXI6OmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTUzLCAxNTMsIDE1MywgMC4yKTsgfVxuICAgIC5idG4uYnRuLW91dGxpbmUtd2FybmluZy5kaXNhYmxlZDpmb2N1cywgLmJ0bi1vdXRsaW5lLXdhcm5pbmcuZGlzYWJsZWQuY3VzdG9tLWZpbGUtY29udHJvbDpmb2N1czo6YmVmb3JlLCAuYnRuLmJ0bi1vdXRsaW5lLXdhcm5pbmcuZGlzYWJsZWQuZm9jdXMsIC5idG4tb3V0bGluZS13YXJuaW5nLmRpc2FibGVkLmZvY3VzLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSwgLmJ0bi5idG4tb3V0bGluZS13YXJuaW5nOmRpc2FibGVkOmZvY3VzLCAuYnRuLW91dGxpbmUtd2FybmluZy5jdXN0b20tZmlsZS1jb250cm9sOmRpc2FibGVkOmZvY3VzOjpiZWZvcmUsIC5idG4uYnRuLW91dGxpbmUtd2FybmluZzpkaXNhYmxlZC5mb2N1cywgLmJ0bi1vdXRsaW5lLXdhcm5pbmcuY3VzdG9tLWZpbGUtY29udHJvbDpkaXNhYmxlZC5mb2N1czo6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7XG4gICAgICBib3JkZXItY29sb3I6ICNmZjU3MjI7IH1cbiAgICAuYnRuLmJ0bi1vdXRsaW5lLXdhcm5pbmcuZGlzYWJsZWQ6aG92ZXIsIC5idG4tb3V0bGluZS13YXJuaW5nLmRpc2FibGVkLmN1c3RvbS1maWxlLWNvbnRyb2w6aG92ZXI6OmJlZm9yZSwgLmJ0bi5idG4tb3V0bGluZS13YXJuaW5nOmRpc2FibGVkOmhvdmVyLCAuYnRuLW91dGxpbmUtd2FybmluZy5jdXN0b20tZmlsZS1jb250cm9sOmRpc2FibGVkOmhvdmVyOjpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDtcbiAgICAgIGJvcmRlci1jb2xvcjogI2ZmNTcyMjsgfVxuICAgIC5iZy1pbnZlcnNlIC5idG4uYnRuLW91dGxpbmUtd2FybmluZywgLmJnLWludmVyc2UgLmJ0bi1vdXRsaW5lLXdhcm5pbmcuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlIHtcbiAgICAgIGNvbG9yOiAjZmY1NzIyO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDtcbiAgICAgIGJvcmRlci1jb2xvcjogI2ZmNTcyMjsgfVxuICAgICAgLmJnLWludmVyc2UgLmJ0bi5idG4tb3V0bGluZS13YXJuaW5nOmhvdmVyLCAuYmctaW52ZXJzZSAuYnRuLW91dGxpbmUtd2FybmluZy5jdXN0b20tZmlsZS1jb250cm9sOmhvdmVyOjpiZWZvcmUge1xuICAgICAgICBjb2xvcjogI2ZmNTcyMjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyMDQsIDIwNCwgMjA0LCAwLjE1KTtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDIwNCwgMjA0LCAyMDQsIDAuMTUpOyB9XG4gICAgICAuYmctaW52ZXJzZSAuYnRuLmJ0bi1vdXRsaW5lLXdhcm5pbmc6Zm9jdXMsIC5iZy1pbnZlcnNlIC5idG4tb3V0bGluZS13YXJuaW5nLmN1c3RvbS1maWxlLWNvbnRyb2w6Zm9jdXM6OmJlZm9yZSwgLmJnLWludmVyc2UgLmJ0bi5idG4tb3V0bGluZS13YXJuaW5nLmZvY3VzLCAuYmctaW52ZXJzZSAuYnRuLW91dGxpbmUtd2FybmluZy5mb2N1cy5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUge1xuICAgICAgICBjb2xvcjogI2ZmNTcyMjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyMDQsIDIwNCwgMjA0LCAwLjE1KTtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDIwNCwgMjA0LCAyMDQsIDAuMTUpOyB9XG4gICAgICAuYmctaW52ZXJzZSAuYnRuLmJ0bi1vdXRsaW5lLXdhcm5pbmc6YWN0aXZlLCAuYmctaW52ZXJzZSAuYnRuLW91dGxpbmUtd2FybmluZy5jdXN0b20tZmlsZS1jb250cm9sOmFjdGl2ZTo6YmVmb3JlLCAuYmctaW52ZXJzZSAuYnRuLmJ0bi1vdXRsaW5lLXdhcm5pbmcuYWN0aXZlLCAuYmctaW52ZXJzZSAuYnRuLW91dGxpbmUtd2FybmluZy5hY3RpdmUuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLFxuICAgICAgLm9wZW4gPiAuYmctaW52ZXJzZSAuYnRuLmJ0bi1vdXRsaW5lLXdhcm5pbmcuZHJvcGRvd24tdG9nZ2xlLFxuICAgICAgLm9wZW4gPiAuYmctaW52ZXJzZSAuYnRuLW91dGxpbmUtd2FybmluZy5kcm9wZG93bi10b2dnbGUuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlIHtcbiAgICAgICAgY29sb3I6ICNmZjU3MjI7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjA0LCAyMDQsIDIwNCwgMC4xNSk7XG4gICAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgyMDQsIDIwNCwgMjA0LCAwLjE1KTsgfVxuICAgICAgICAuYmctaW52ZXJzZSAuYnRuLmJ0bi1vdXRsaW5lLXdhcm5pbmc6YWN0aXZlOmhvdmVyLCAuYmctaW52ZXJzZSAuYnRuLW91dGxpbmUtd2FybmluZy5jdXN0b20tZmlsZS1jb250cm9sOmFjdGl2ZTpob3Zlcjo6YmVmb3JlLCAuYmctaW52ZXJzZSAuYnRuLmJ0bi1vdXRsaW5lLXdhcm5pbmc6YWN0aXZlOmZvY3VzLCAuYmctaW52ZXJzZSAuYnRuLW91dGxpbmUtd2FybmluZy5jdXN0b20tZmlsZS1jb250cm9sOmFjdGl2ZTpmb2N1czo6YmVmb3JlLCAuYmctaW52ZXJzZSAuYnRuLmJ0bi1vdXRsaW5lLXdhcm5pbmc6YWN0aXZlLmZvY3VzLCAuYmctaW52ZXJzZSAuYnRuLW91dGxpbmUtd2FybmluZy5jdXN0b20tZmlsZS1jb250cm9sOmFjdGl2ZS5mb2N1czo6YmVmb3JlLCAuYmctaW52ZXJzZSAuYnRuLmJ0bi1vdXRsaW5lLXdhcm5pbmcuYWN0aXZlOmhvdmVyLCAuYmctaW52ZXJzZSAuYnRuLW91dGxpbmUtd2FybmluZy5hY3RpdmUuY3VzdG9tLWZpbGUtY29udHJvbDpob3Zlcjo6YmVmb3JlLCAuYmctaW52ZXJzZSAuYnRuLmJ0bi1vdXRsaW5lLXdhcm5pbmcuYWN0aXZlOmZvY3VzLCAuYmctaW52ZXJzZSAuYnRuLW91dGxpbmUtd2FybmluZy5hY3RpdmUuY3VzdG9tLWZpbGUtY29udHJvbDpmb2N1czo6YmVmb3JlLCAuYmctaW52ZXJzZSAuYnRuLmJ0bi1vdXRsaW5lLXdhcm5pbmcuYWN0aXZlLmZvY3VzLCAuYmctaW52ZXJzZSAuYnRuLW91dGxpbmUtd2FybmluZy5hY3RpdmUuZm9jdXMuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLFxuICAgICAgICAub3BlbiA+IC5iZy1pbnZlcnNlIC5idG4uYnRuLW91dGxpbmUtd2FybmluZy5kcm9wZG93bi10b2dnbGU6aG92ZXIsXG4gICAgICAgIC5vcGVuID4gLmJnLWludmVyc2UgLmJ0bi1vdXRsaW5lLXdhcm5pbmcuZHJvcGRvd24tdG9nZ2xlLmN1c3RvbS1maWxlLWNvbnRyb2w6aG92ZXI6OmJlZm9yZSxcbiAgICAgICAgLm9wZW4gPiAuYmctaW52ZXJzZSAuYnRuLmJ0bi1vdXRsaW5lLXdhcm5pbmcuZHJvcGRvd24tdG9nZ2xlOmZvY3VzLFxuICAgICAgICAub3BlbiA+IC5iZy1pbnZlcnNlIC5idG4tb3V0bGluZS13YXJuaW5nLmRyb3Bkb3duLXRvZ2dsZS5jdXN0b20tZmlsZS1jb250cm9sOmZvY3VzOjpiZWZvcmUsXG4gICAgICAgIC5vcGVuID4gLmJnLWludmVyc2UgLmJ0bi5idG4tb3V0bGluZS13YXJuaW5nLmRyb3Bkb3duLXRvZ2dsZS5mb2N1cyxcbiAgICAgICAgLm9wZW4gPiAuYmctaW52ZXJzZSAuYnRuLW91dGxpbmUtd2FybmluZy5kcm9wZG93bi10b2dnbGUuZm9jdXMuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlIHtcbiAgICAgICAgICBjb2xvcjogI2ZmNTcyMjtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDIwNCwgMjA0LCAyMDQsIDAuMjUpO1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgyMDQsIDIwNCwgMjA0LCAwLjI1KTsgfVxuICAgICAgLm9wZW4gPiAuYmctaW52ZXJzZSAuYnRuLmJ0bi1vdXRsaW5lLXdhcm5pbmcuZHJvcGRvd24tdG9nZ2xlLmJtZC1idG4taWNvbiwgLm9wZW4gPiAuYmctaW52ZXJzZSAuYnRuLW91dGxpbmUtd2FybmluZy5kcm9wZG93bi10b2dnbGUuYm1kLWJ0bi1pY29uLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSB7XG4gICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0OyB9XG4gICAgICAgIC5vcGVuID4gLmJnLWludmVyc2UgLmJ0bi5idG4tb3V0bGluZS13YXJuaW5nLmRyb3Bkb3duLXRvZ2dsZS5ibWQtYnRuLWljb246aG92ZXIsIC5vcGVuID4gLmJnLWludmVyc2UgLmJ0bi1vdXRsaW5lLXdhcm5pbmcuZHJvcGRvd24tdG9nZ2xlLmJtZC1idG4taWNvbi5jdXN0b20tZmlsZS1jb250cm9sOmhvdmVyOjpiZWZvcmUge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjA0LCAyMDQsIDIwNCwgMC4xNSk7IH1cbiAgICAgIC5iZy1pbnZlcnNlIC5idG4uYnRuLW91dGxpbmUtd2FybmluZy5kaXNhYmxlZDpmb2N1cywgLmJnLWludmVyc2UgLmJ0bi1vdXRsaW5lLXdhcm5pbmcuZGlzYWJsZWQuY3VzdG9tLWZpbGUtY29udHJvbDpmb2N1czo6YmVmb3JlLCAuYmctaW52ZXJzZSAuYnRuLmJ0bi1vdXRsaW5lLXdhcm5pbmcuZGlzYWJsZWQuZm9jdXMsIC5iZy1pbnZlcnNlIC5idG4tb3V0bGluZS13YXJuaW5nLmRpc2FibGVkLmZvY3VzLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSwgLmJnLWludmVyc2UgLmJ0bi5idG4tb3V0bGluZS13YXJuaW5nOmRpc2FibGVkOmZvY3VzLCAuYmctaW52ZXJzZSAuYnRuLW91dGxpbmUtd2FybmluZy5jdXN0b20tZmlsZS1jb250cm9sOmRpc2FibGVkOmZvY3VzOjpiZWZvcmUsIC5iZy1pbnZlcnNlIC5idG4uYnRuLW91dGxpbmUtd2FybmluZzpkaXNhYmxlZC5mb2N1cywgLmJnLWludmVyc2UgLmJ0bi1vdXRsaW5lLXdhcm5pbmcuY3VzdG9tLWZpbGUtY29udHJvbDpkaXNhYmxlZC5mb2N1czo6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjZmY1NzIyOyB9XG4gICAgICAuYmctaW52ZXJzZSAuYnRuLmJ0bi1vdXRsaW5lLXdhcm5pbmcuZGlzYWJsZWQ6aG92ZXIsIC5iZy1pbnZlcnNlIC5idG4tb3V0bGluZS13YXJuaW5nLmRpc2FibGVkLmN1c3RvbS1maWxlLWNvbnRyb2w6aG92ZXI6OmJlZm9yZSwgLmJnLWludmVyc2UgLmJ0bi5idG4tb3V0bGluZS13YXJuaW5nOmRpc2FibGVkOmhvdmVyLCAuYmctaW52ZXJzZSAuYnRuLW91dGxpbmUtd2FybmluZy5jdXN0b20tZmlsZS1jb250cm9sOmRpc2FibGVkOmhvdmVyOjpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0O1xuICAgICAgICBib3JkZXItY29sb3I6ICNmZjU3MjI7IH1cbiAgICAuYnRuLmJ0bi1vdXRsaW5lLXdhcm5pbmcuYnRuLWxpbmssIC5idG4tb3V0bGluZS13YXJuaW5nLmJ0bi1saW5rLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAuYnRuLmJ0bi1vdXRsaW5lLWRhbmdlciwgLmJ0bi1vdXRsaW5lLWRhbmdlci5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUge1xuICAgIGNvbG9yOiAjZjQ0MzM2O1xuICAgIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7XG4gICAgYm9yZGVyLWNvbG9yOiAjZjQ0MzM2OyB9XG4gICAgLmJ0bi5idG4tb3V0bGluZS1kYW5nZXI6aG92ZXIsIC5idG4tb3V0bGluZS1kYW5nZXIuY3VzdG9tLWZpbGUtY29udHJvbDpob3Zlcjo6YmVmb3JlIHtcbiAgICAgIGNvbG9yOiAjZjQ0MzM2O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxNTMsIDE1MywgMTUzLCAwLjIpO1xuICAgICAgYm9yZGVyLWNvbG9yOiAjZjQ0MzM2OyB9XG4gICAgLmJ0bi5idG4tb3V0bGluZS1kYW5nZXI6Zm9jdXMsIC5idG4tb3V0bGluZS1kYW5nZXIuY3VzdG9tLWZpbGUtY29udHJvbDpmb2N1czo6YmVmb3JlLCAuYnRuLmJ0bi1vdXRsaW5lLWRhbmdlci5mb2N1cywgLmJ0bi1vdXRsaW5lLWRhbmdlci5mb2N1cy5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUge1xuICAgICAgY29sb3I6ICNmNDQzMzY7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDE1MywgMTUzLCAxNTMsIDAuMik7XG4gICAgICBib3JkZXItY29sb3I6ICNmNDQzMzY7IH1cbiAgICAuYnRuLmJ0bi1vdXRsaW5lLWRhbmdlcjphY3RpdmUsIC5idG4tb3V0bGluZS1kYW5nZXIuY3VzdG9tLWZpbGUtY29udHJvbDphY3RpdmU6OmJlZm9yZSwgLmJ0bi5idG4tb3V0bGluZS1kYW5nZXIuYWN0aXZlLCAuYnRuLW91dGxpbmUtZGFuZ2VyLmFjdGl2ZS5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsXG4gICAgLm9wZW4gPiAuYnRuLmJ0bi1vdXRsaW5lLWRhbmdlci5kcm9wZG93bi10b2dnbGUsXG4gICAgLm9wZW4gPiAuYnRuLW91dGxpbmUtZGFuZ2VyLmRyb3Bkb3duLXRvZ2dsZS5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUge1xuICAgICAgY29sb3I6ICNmNDQzMzY7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDE1MywgMTUzLCAxNTMsIDAuMik7XG4gICAgICBib3JkZXItY29sb3I6ICNmNDQzMzY7IH1cbiAgICAgIC5idG4uYnRuLW91dGxpbmUtZGFuZ2VyOmFjdGl2ZTpob3ZlciwgLmJ0bi1vdXRsaW5lLWRhbmdlci5jdXN0b20tZmlsZS1jb250cm9sOmFjdGl2ZTpob3Zlcjo6YmVmb3JlLCAuYnRuLmJ0bi1vdXRsaW5lLWRhbmdlcjphY3RpdmU6Zm9jdXMsIC5idG4tb3V0bGluZS1kYW5nZXIuY3VzdG9tLWZpbGUtY29udHJvbDphY3RpdmU6Zm9jdXM6OmJlZm9yZSwgLmJ0bi5idG4tb3V0bGluZS1kYW5nZXI6YWN0aXZlLmZvY3VzLCAuYnRuLW91dGxpbmUtZGFuZ2VyLmN1c3RvbS1maWxlLWNvbnRyb2w6YWN0aXZlLmZvY3VzOjpiZWZvcmUsIC5idG4uYnRuLW91dGxpbmUtZGFuZ2VyLmFjdGl2ZTpob3ZlciwgLmJ0bi1vdXRsaW5lLWRhbmdlci5hY3RpdmUuY3VzdG9tLWZpbGUtY29udHJvbDpob3Zlcjo6YmVmb3JlLCAuYnRuLmJ0bi1vdXRsaW5lLWRhbmdlci5hY3RpdmU6Zm9jdXMsIC5idG4tb3V0bGluZS1kYW5nZXIuYWN0aXZlLmN1c3RvbS1maWxlLWNvbnRyb2w6Zm9jdXM6OmJlZm9yZSwgLmJ0bi5idG4tb3V0bGluZS1kYW5nZXIuYWN0aXZlLmZvY3VzLCAuYnRuLW91dGxpbmUtZGFuZ2VyLmFjdGl2ZS5mb2N1cy5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsXG4gICAgICAub3BlbiA+IC5idG4uYnRuLW91dGxpbmUtZGFuZ2VyLmRyb3Bkb3duLXRvZ2dsZTpob3ZlcixcbiAgICAgIC5vcGVuID4gLmJ0bi1vdXRsaW5lLWRhbmdlci5kcm9wZG93bi10b2dnbGUuY3VzdG9tLWZpbGUtY29udHJvbDpob3Zlcjo6YmVmb3JlLFxuICAgICAgLm9wZW4gPiAuYnRuLmJ0bi1vdXRsaW5lLWRhbmdlci5kcm9wZG93bi10b2dnbGU6Zm9jdXMsXG4gICAgICAub3BlbiA+IC5idG4tb3V0bGluZS1kYW5nZXIuZHJvcGRvd24tdG9nZ2xlLmN1c3RvbS1maWxlLWNvbnRyb2w6Zm9jdXM6OmJlZm9yZSxcbiAgICAgIC5vcGVuID4gLmJ0bi5idG4tb3V0bGluZS1kYW5nZXIuZHJvcGRvd24tdG9nZ2xlLmZvY3VzLFxuICAgICAgLm9wZW4gPiAuYnRuLW91dGxpbmUtZGFuZ2VyLmRyb3Bkb3duLXRvZ2dsZS5mb2N1cy5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUge1xuICAgICAgICBjb2xvcjogI2Y0NDMzNjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxNTMsIDE1MywgMTUzLCAwLjQpO1xuICAgICAgICBib3JkZXItY29sb3I6ICNmNDQzMzY7IH1cbiAgICAub3BlbiA+IC5idG4uYnRuLW91dGxpbmUtZGFuZ2VyLmRyb3Bkb3duLXRvZ2dsZS5ibWQtYnRuLWljb24sIC5vcGVuID4gLmJ0bi1vdXRsaW5lLWRhbmdlci5kcm9wZG93bi10b2dnbGUuYm1kLWJ0bi1pY29uLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSB7XG4gICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7IH1cbiAgICAgIC5vcGVuID4gLmJ0bi5idG4tb3V0bGluZS1kYW5nZXIuZHJvcGRvd24tdG9nZ2xlLmJtZC1idG4taWNvbjpob3ZlciwgLm9wZW4gPiAuYnRuLW91dGxpbmUtZGFuZ2VyLmRyb3Bkb3duLXRvZ2dsZS5ibWQtYnRuLWljb24uY3VzdG9tLWZpbGUtY29udHJvbDpob3Zlcjo6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxNTMsIDE1MywgMTUzLCAwLjIpOyB9XG4gICAgLmJ0bi5idG4tb3V0bGluZS1kYW5nZXIuZGlzYWJsZWQ6Zm9jdXMsIC5idG4tb3V0bGluZS1kYW5nZXIuZGlzYWJsZWQuY3VzdG9tLWZpbGUtY29udHJvbDpmb2N1czo6YmVmb3JlLCAuYnRuLmJ0bi1vdXRsaW5lLWRhbmdlci5kaXNhYmxlZC5mb2N1cywgLmJ0bi1vdXRsaW5lLWRhbmdlci5kaXNhYmxlZC5mb2N1cy5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsIC5idG4uYnRuLW91dGxpbmUtZGFuZ2VyOmRpc2FibGVkOmZvY3VzLCAuYnRuLW91dGxpbmUtZGFuZ2VyLmN1c3RvbS1maWxlLWNvbnRyb2w6ZGlzYWJsZWQ6Zm9jdXM6OmJlZm9yZSwgLmJ0bi5idG4tb3V0bGluZS1kYW5nZXI6ZGlzYWJsZWQuZm9jdXMsIC5idG4tb3V0bGluZS1kYW5nZXIuY3VzdG9tLWZpbGUtY29udHJvbDpkaXNhYmxlZC5mb2N1czo6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7XG4gICAgICBib3JkZXItY29sb3I6ICNmNDQzMzY7IH1cbiAgICAuYnRuLmJ0bi1vdXRsaW5lLWRhbmdlci5kaXNhYmxlZDpob3ZlciwgLmJ0bi1vdXRsaW5lLWRhbmdlci5kaXNhYmxlZC5jdXN0b20tZmlsZS1jb250cm9sOmhvdmVyOjpiZWZvcmUsIC5idG4uYnRuLW91dGxpbmUtZGFuZ2VyOmRpc2FibGVkOmhvdmVyLCAuYnRuLW91dGxpbmUtZGFuZ2VyLmN1c3RvbS1maWxlLWNvbnRyb2w6ZGlzYWJsZWQ6aG92ZXI6OmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0O1xuICAgICAgYm9yZGVyLWNvbG9yOiAjZjQ0MzM2OyB9XG4gICAgLmJnLWludmVyc2UgLmJ0bi5idG4tb3V0bGluZS1kYW5nZXIsIC5iZy1pbnZlcnNlIC5idG4tb3V0bGluZS1kYW5nZXIuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlIHtcbiAgICAgIGNvbG9yOiAjZjQ0MzM2O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDtcbiAgICAgIGJvcmRlci1jb2xvcjogI2Y0NDMzNjsgfVxuICAgICAgLmJnLWludmVyc2UgLmJ0bi5idG4tb3V0bGluZS1kYW5nZXI6aG92ZXIsIC5iZy1pbnZlcnNlIC5idG4tb3V0bGluZS1kYW5nZXIuY3VzdG9tLWZpbGUtY29udHJvbDpob3Zlcjo6YmVmb3JlIHtcbiAgICAgICAgY29sb3I6ICNmNDQzMzY7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjA0LCAyMDQsIDIwNCwgMC4xNSk7XG4gICAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgyMDQsIDIwNCwgMjA0LCAwLjE1KTsgfVxuICAgICAgLmJnLWludmVyc2UgLmJ0bi5idG4tb3V0bGluZS1kYW5nZXI6Zm9jdXMsIC5iZy1pbnZlcnNlIC5idG4tb3V0bGluZS1kYW5nZXIuY3VzdG9tLWZpbGUtY29udHJvbDpmb2N1czo6YmVmb3JlLCAuYmctaW52ZXJzZSAuYnRuLmJ0bi1vdXRsaW5lLWRhbmdlci5mb2N1cywgLmJnLWludmVyc2UgLmJ0bi1vdXRsaW5lLWRhbmdlci5mb2N1cy5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUge1xuICAgICAgICBjb2xvcjogI2Y0NDMzNjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyMDQsIDIwNCwgMjA0LCAwLjE1KTtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDIwNCwgMjA0LCAyMDQsIDAuMTUpOyB9XG4gICAgICAuYmctaW52ZXJzZSAuYnRuLmJ0bi1vdXRsaW5lLWRhbmdlcjphY3RpdmUsIC5iZy1pbnZlcnNlIC5idG4tb3V0bGluZS1kYW5nZXIuY3VzdG9tLWZpbGUtY29udHJvbDphY3RpdmU6OmJlZm9yZSwgLmJnLWludmVyc2UgLmJ0bi5idG4tb3V0bGluZS1kYW5nZXIuYWN0aXZlLCAuYmctaW52ZXJzZSAuYnRuLW91dGxpbmUtZGFuZ2VyLmFjdGl2ZS5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsXG4gICAgICAub3BlbiA+IC5iZy1pbnZlcnNlIC5idG4uYnRuLW91dGxpbmUtZGFuZ2VyLmRyb3Bkb3duLXRvZ2dsZSxcbiAgICAgIC5vcGVuID4gLmJnLWludmVyc2UgLmJ0bi1vdXRsaW5lLWRhbmdlci5kcm9wZG93bi10b2dnbGUuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlIHtcbiAgICAgICAgY29sb3I6ICNmNDQzMzY7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjA0LCAyMDQsIDIwNCwgMC4xNSk7XG4gICAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgyMDQsIDIwNCwgMjA0LCAwLjE1KTsgfVxuICAgICAgICAuYmctaW52ZXJzZSAuYnRuLmJ0bi1vdXRsaW5lLWRhbmdlcjphY3RpdmU6aG92ZXIsIC5iZy1pbnZlcnNlIC5idG4tb3V0bGluZS1kYW5nZXIuY3VzdG9tLWZpbGUtY29udHJvbDphY3RpdmU6aG92ZXI6OmJlZm9yZSwgLmJnLWludmVyc2UgLmJ0bi5idG4tb3V0bGluZS1kYW5nZXI6YWN0aXZlOmZvY3VzLCAuYmctaW52ZXJzZSAuYnRuLW91dGxpbmUtZGFuZ2VyLmN1c3RvbS1maWxlLWNvbnRyb2w6YWN0aXZlOmZvY3VzOjpiZWZvcmUsIC5iZy1pbnZlcnNlIC5idG4uYnRuLW91dGxpbmUtZGFuZ2VyOmFjdGl2ZS5mb2N1cywgLmJnLWludmVyc2UgLmJ0bi1vdXRsaW5lLWRhbmdlci5jdXN0b20tZmlsZS1jb250cm9sOmFjdGl2ZS5mb2N1czo6YmVmb3JlLCAuYmctaW52ZXJzZSAuYnRuLmJ0bi1vdXRsaW5lLWRhbmdlci5hY3RpdmU6aG92ZXIsIC5iZy1pbnZlcnNlIC5idG4tb3V0bGluZS1kYW5nZXIuYWN0aXZlLmN1c3RvbS1maWxlLWNvbnRyb2w6aG92ZXI6OmJlZm9yZSwgLmJnLWludmVyc2UgLmJ0bi5idG4tb3V0bGluZS1kYW5nZXIuYWN0aXZlOmZvY3VzLCAuYmctaW52ZXJzZSAuYnRuLW91dGxpbmUtZGFuZ2VyLmFjdGl2ZS5jdXN0b20tZmlsZS1jb250cm9sOmZvY3VzOjpiZWZvcmUsIC5iZy1pbnZlcnNlIC5idG4uYnRuLW91dGxpbmUtZGFuZ2VyLmFjdGl2ZS5mb2N1cywgLmJnLWludmVyc2UgLmJ0bi1vdXRsaW5lLWRhbmdlci5hY3RpdmUuZm9jdXMuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLFxuICAgICAgICAub3BlbiA+IC5iZy1pbnZlcnNlIC5idG4uYnRuLW91dGxpbmUtZGFuZ2VyLmRyb3Bkb3duLXRvZ2dsZTpob3ZlcixcbiAgICAgICAgLm9wZW4gPiAuYmctaW52ZXJzZSAuYnRuLW91dGxpbmUtZGFuZ2VyLmRyb3Bkb3duLXRvZ2dsZS5jdXN0b20tZmlsZS1jb250cm9sOmhvdmVyOjpiZWZvcmUsXG4gICAgICAgIC5vcGVuID4gLmJnLWludmVyc2UgLmJ0bi5idG4tb3V0bGluZS1kYW5nZXIuZHJvcGRvd24tdG9nZ2xlOmZvY3VzLFxuICAgICAgICAub3BlbiA+IC5iZy1pbnZlcnNlIC5idG4tb3V0bGluZS1kYW5nZXIuZHJvcGRvd24tdG9nZ2xlLmN1c3RvbS1maWxlLWNvbnRyb2w6Zm9jdXM6OmJlZm9yZSxcbiAgICAgICAgLm9wZW4gPiAuYmctaW52ZXJzZSAuYnRuLmJ0bi1vdXRsaW5lLWRhbmdlci5kcm9wZG93bi10b2dnbGUuZm9jdXMsXG4gICAgICAgIC5vcGVuID4gLmJnLWludmVyc2UgLmJ0bi1vdXRsaW5lLWRhbmdlci5kcm9wZG93bi10b2dnbGUuZm9jdXMuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlIHtcbiAgICAgICAgICBjb2xvcjogI2Y0NDMzNjtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDIwNCwgMjA0LCAyMDQsIDAuMjUpO1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgyMDQsIDIwNCwgMjA0LCAwLjI1KTsgfVxuICAgICAgLm9wZW4gPiAuYmctaW52ZXJzZSAuYnRuLmJ0bi1vdXRsaW5lLWRhbmdlci5kcm9wZG93bi10b2dnbGUuYm1kLWJ0bi1pY29uLCAub3BlbiA+IC5iZy1pbnZlcnNlIC5idG4tb3V0bGluZS1kYW5nZXIuZHJvcGRvd24tdG9nZ2xlLmJtZC1idG4taWNvbi5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUge1xuICAgICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDsgfVxuICAgICAgICAub3BlbiA+IC5iZy1pbnZlcnNlIC5idG4uYnRuLW91dGxpbmUtZGFuZ2VyLmRyb3Bkb3duLXRvZ2dsZS5ibWQtYnRuLWljb246aG92ZXIsIC5vcGVuID4gLmJnLWludmVyc2UgLmJ0bi1vdXRsaW5lLWRhbmdlci5kcm9wZG93bi10b2dnbGUuYm1kLWJ0bi1pY29uLmN1c3RvbS1maWxlLWNvbnRyb2w6aG92ZXI6OmJlZm9yZSB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyMDQsIDIwNCwgMjA0LCAwLjE1KTsgfVxuICAgICAgLmJnLWludmVyc2UgLmJ0bi5idG4tb3V0bGluZS1kYW5nZXIuZGlzYWJsZWQ6Zm9jdXMsIC5iZy1pbnZlcnNlIC5idG4tb3V0bGluZS1kYW5nZXIuZGlzYWJsZWQuY3VzdG9tLWZpbGUtY29udHJvbDpmb2N1czo6YmVmb3JlLCAuYmctaW52ZXJzZSAuYnRuLmJ0bi1vdXRsaW5lLWRhbmdlci5kaXNhYmxlZC5mb2N1cywgLmJnLWludmVyc2UgLmJ0bi1vdXRsaW5lLWRhbmdlci5kaXNhYmxlZC5mb2N1cy5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsIC5iZy1pbnZlcnNlIC5idG4uYnRuLW91dGxpbmUtZGFuZ2VyOmRpc2FibGVkOmZvY3VzLCAuYmctaW52ZXJzZSAuYnRuLW91dGxpbmUtZGFuZ2VyLmN1c3RvbS1maWxlLWNvbnRyb2w6ZGlzYWJsZWQ6Zm9jdXM6OmJlZm9yZSwgLmJnLWludmVyc2UgLmJ0bi5idG4tb3V0bGluZS1kYW5nZXI6ZGlzYWJsZWQuZm9jdXMsIC5iZy1pbnZlcnNlIC5idG4tb3V0bGluZS1kYW5nZXIuY3VzdG9tLWZpbGUtY29udHJvbDpkaXNhYmxlZC5mb2N1czo6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjZjQ0MzM2OyB9XG4gICAgICAuYmctaW52ZXJzZSAuYnRuLmJ0bi1vdXRsaW5lLWRhbmdlci5kaXNhYmxlZDpob3ZlciwgLmJnLWludmVyc2UgLmJ0bi1vdXRsaW5lLWRhbmdlci5kaXNhYmxlZC5jdXN0b20tZmlsZS1jb250cm9sOmhvdmVyOjpiZWZvcmUsIC5iZy1pbnZlcnNlIC5idG4uYnRuLW91dGxpbmUtZGFuZ2VyOmRpc2FibGVkOmhvdmVyLCAuYmctaW52ZXJzZSAuYnRuLW91dGxpbmUtZGFuZ2VyLmN1c3RvbS1maWxlLWNvbnRyb2w6ZGlzYWJsZWQ6aG92ZXI6OmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7XG4gICAgICAgIGJvcmRlci1jb2xvcjogI2Y0NDMzNjsgfVxuICAgIC5idG4uYnRuLW91dGxpbmUtZGFuZ2VyLmJ0bi1saW5rLCAuYnRuLW91dGxpbmUtZGFuZ2VyLmJ0bi1saW5rLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAuYnRuLmJtZC1idG4tZmFiLCAuYm1kLWJ0bi1mYWIuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLCAuYnRuLmJtZC1idG4taWNvbiwgLmJtZC1idG4taWNvbi5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgbGluZS1oZWlnaHQ6IG5vcm1hbDsgfVxuICAgIC5idG4tZ3JvdXAtbGcgLmJ0bi5ibWQtYnRuLWZhYiwgLmJ0bi1ncm91cC1sZyAuYm1kLWJ0bi1mYWIuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLFxuICAgIC5idG4tZ3JvdXAtc20gLmJ0bi5ibWQtYnRuLWZhYixcbiAgICAuYnRuLWdyb3VwLXNtIC5ibWQtYnRuLWZhYi5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsIC5idG4uYm1kLWJ0bi1mYWIsIC5ibWQtYnRuLWZhYi5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsIC5idG4tZ3JvdXAtbGcgLmJ0bi5ibWQtYnRuLWljb24sIC5idG4tZ3JvdXAtbGcgLmJtZC1idG4taWNvbi5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsXG4gICAgLmJ0bi1ncm91cC1zbSAuYnRuLmJtZC1idG4taWNvbixcbiAgICAuYnRuLWdyb3VwLXNtIC5ibWQtYnRuLWljb24uY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLCAuYnRuLmJtZC1idG4taWNvbiwgLmJtZC1idG4taWNvbi5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUge1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTsgfVxuICAgIC5idG4uYm1kLWJ0bi1mYWIgLm1hdGVyaWFsLWljb25zLCAuYm1kLWJ0bi1mYWIuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlIC5tYXRlcmlhbC1pY29ucywgLmJ0bi5ibWQtYnRuLWljb24gLm1hdGVyaWFsLWljb25zLCAuYm1kLWJ0bi1pY29uLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSAubWF0ZXJpYWwtaWNvbnMge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICB3aWR0aDogMS41cmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNXJlbTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC0wLjc1cmVtLCAtMC43NXJlbSk7IH1cbiAgLmJ0bi5ibWQtYnRuLWZhYiwgLmJtZC1idG4tZmFiLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSB7XG4gICAgd2lkdGg6IDMuNXJlbTtcbiAgICBtaW4td2lkdGg6IDMuNXJlbTtcbiAgICBoZWlnaHQ6IDMuNXJlbTtcbiAgICBib3gtc2hhZG93OiAwIDFweCAxLjVweCAwIHJnYmEoMCwgMCwgMCwgMC4xMiksIDAgMXB4IDFweCAwIHJnYmEoMCwgMCwgMCwgMC4yNik7IH1cbiAgICAuYnRuLmJtZC1idG4tZmFiIC5yaXBwbGUtY29udGFpbmVyLCAuYm1kLWJ0bi1mYWIuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlIC5yaXBwbGUtY29udGFpbmVyIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTsgfVxuICAgIC5idG4uYm1kLWJ0bi1mYWIuYm1kLWJ0bi1mYWItc20sIC5ibWQtYnRuLWZhYi5ibWQtYnRuLWZhYi1zbS5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsXG4gICAgLmJ0bi1ncm91cC1zbSAuYnRuLmJtZC1idG4tZmFiLFxuICAgIC5idG4tZ3JvdXAtc20gLmJtZC1idG4tZmFiLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSB7XG4gICAgICB3aWR0aDogMi41cmVtO1xuICAgICAgbWluLXdpZHRoOiAyLjVyZW07XG4gICAgICBoZWlnaHQ6IDIuNXJlbTsgfVxuICAuYnRuLmJtZC1idG4taWNvbiwgLmJtZC1idG4taWNvbi5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUge1xuICAgIHdpZHRoOiAycmVtO1xuICAgIG1pbi13aWR0aDogMnJlbTtcbiAgICBoZWlnaHQ6IDJyZW07XG4gICAgbWFyZ2luOiAwO1xuICAgIGNvbG9yOiBpbmhlcml0OyB9XG4gICAgLmJ0bi5ibWQtYnRuLWljb24uYm1kLWJ0bi1pY29uLXNtLCAuYm1kLWJ0bi1pY29uLmJtZC1idG4taWNvbi1zbS5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsXG4gICAgLmJ0bi1ncm91cC1zbSAuYnRuLmJtZC1idG4taWNvbixcbiAgICAuYnRuLWdyb3VwLXNtIC5ibWQtYnRuLWljb24uY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlIHtcbiAgICAgIHdpZHRoOiAxLjVyZW07XG4gICAgICBtaW4td2lkdGg6IDEuNXJlbTtcbiAgICAgIGhlaWdodDogMS41cmVtO1xuICAgICAgZm9udC1zaXplOiAxLjEyNXJlbTsgfVxuICAgICAgLmJ0bi5ibWQtYnRuLWljb24uYm1kLWJ0bi1pY29uLXNtIC5tYXRlcmlhbC1pY29ucywgLmJtZC1idG4taWNvbi5ibWQtYnRuLWljb24tc20uY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlIC5tYXRlcmlhbC1pY29ucyxcbiAgICAgIC5idG4tZ3JvdXAtc20gLmJ0bi5ibWQtYnRuLWljb24gLm1hdGVyaWFsLWljb25zLFxuICAgICAgLmJ0bi1ncm91cC1zbSAuYm1kLWJ0bi1pY29uLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSAubWF0ZXJpYWwtaWNvbnMge1xuICAgICAgICB3aWR0aDogMS4xMjVyZW07XG4gICAgICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtMC41NjI1cmVtLCAtMC41NjI1cmVtKTsgfVxuICAuYnRuIC5tYXRlcmlhbC1pY29ucywgLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSAubWF0ZXJpYWwtaWNvbnMge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IC4yNWVtO1xuICAgIG1hcmdpbi10b3A6IC0xZW07XG4gICAgbWFyZ2luLWJvdHRvbTogLTFlbTtcbiAgICBmb250LXNpemU6IDEuNWVtOyB9XG4gIC5idG4uYnRuLWxnLCAuYnRuLWdyb3VwLWxnID4gLmJ0biwgLmJ0bi1ncm91cC1sZyA+IC5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsIC5idG4tbGcuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLFxuICAuYnRuLWdyb3VwLWxnIC5idG4sXG4gIC5idG4tZ3JvdXAtbGcgLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSB7XG4gICAgcGFkZGluZzogMC43NXJlbSAxLjVyZW07XG4gICAgZm9udC1zaXplOiAxLjI1cmVtO1xuICAgIGJvcmRlci1yYWRpdXM6IDAuM3JlbTsgfVxuICAuYnRuLmJ0bi1zbSwgLmJ0bi1ncm91cC1zbSA+IC5idG4sIC5idG4tZ3JvdXAtc20gPiAuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLCAuYnRuLXNtLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSxcbiAgLmJ0bi1ncm91cC1zbSAuYnRuLFxuICAuYnRuLWdyb3VwLXNtIC5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUge1xuICAgIHBhZGRpbmc6IDAuNDA2MjVyZW0gMC41cmVtO1xuICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICAgIGJvcmRlci1yYWRpdXM6IDAuMDYyNXJlbTtcbiAgICBmb250LXNpemU6IDAuODEyNXJlbTsgfVxuXG5maWVsZHNldFtkaXNhYmxlZF1bZGlzYWJsZWRdIC5idG4sIGZpZWxkc2V0W2Rpc2FibGVkXVtkaXNhYmxlZF0gLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSwgLmJ0bi5kaXNhYmxlZCwgLmRpc2FibGVkLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSwgLmJ0bjpkaXNhYmxlZCwgLmN1c3RvbS1maWxlLWNvbnRyb2w6ZGlzYWJsZWQ6OmJlZm9yZSwgLmJ0bltkaXNhYmxlZF0sIFtkaXNhYmxlZF0uY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLCBmaWVsZHNldFtkaXNhYmxlZF1bZGlzYWJsZWRdXG4uaW5wdXQtZ3JvdXAtYnRuIC5idG4sIGZpZWxkc2V0W2Rpc2FibGVkXVtkaXNhYmxlZF1cbi5pbnB1dC1ncm91cC1idG4gLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSxcbi5pbnB1dC1ncm91cC1idG4gLmJ0bi5kaXNhYmxlZCxcbi5pbnB1dC1ncm91cC1idG4gLmRpc2FibGVkLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSxcbi5pbnB1dC1ncm91cC1idG4gLmJ0bjpkaXNhYmxlZCxcbi5pbnB1dC1ncm91cC1idG4gLmN1c3RvbS1maWxlLWNvbnRyb2w6ZGlzYWJsZWQ6OmJlZm9yZSxcbi5pbnB1dC1ncm91cC1idG4gLmJ0bltkaXNhYmxlZF0sXG4uaW5wdXQtZ3JvdXAtYnRuIFtkaXNhYmxlZF0uY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLCBmaWVsZHNldFtkaXNhYmxlZF1bZGlzYWJsZWRdXG4uYnRuLWdyb3VwLFxuLmJ0bi1ncm91cC5kaXNhYmxlZCxcbi5idG4tZ3JvdXA6ZGlzYWJsZWQsXG4uYnRuLWdyb3VwW2Rpc2FibGVkXSwgZmllbGRzZXRbZGlzYWJsZWRdW2Rpc2FibGVkXVxuLmJ0bi1ncm91cC12ZXJ0aWNhbCxcbi5idG4tZ3JvdXAtdmVydGljYWwuZGlzYWJsZWQsXG4uYnRuLWdyb3VwLXZlcnRpY2FsOmRpc2FibGVkLFxuLmJ0bi1ncm91cC12ZXJ0aWNhbFtkaXNhYmxlZF0ge1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjI2KTsgfVxuICAuYmctaW52ZXJzZSBmaWVsZHNldFtkaXNhYmxlZF1bZGlzYWJsZWRdIC5idG4sIC5iZy1pbnZlcnNlIGZpZWxkc2V0W2Rpc2FibGVkXVtkaXNhYmxlZF0gLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSwgLmJnLWludmVyc2UgLmJ0bi5kaXNhYmxlZCwgLmJnLWludmVyc2UgLmRpc2FibGVkLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSwgLmJnLWludmVyc2UgLmJ0bjpkaXNhYmxlZCwgLmJnLWludmVyc2UgLmN1c3RvbS1maWxlLWNvbnRyb2w6ZGlzYWJsZWQ6OmJlZm9yZSwgLmJnLWludmVyc2UgLmJ0bltkaXNhYmxlZF0sIC5iZy1pbnZlcnNlIFtkaXNhYmxlZF0uY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLCAuYmctaW52ZXJzZSBmaWVsZHNldFtkaXNhYmxlZF1bZGlzYWJsZWRdXG4gIC5pbnB1dC1ncm91cC1idG4gLmJ0biwgLmJnLWludmVyc2UgZmllbGRzZXRbZGlzYWJsZWRdW2Rpc2FibGVkXVxuICAuaW5wdXQtZ3JvdXAtYnRuIC5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsIC5iZy1pbnZlcnNlXG4gIC5pbnB1dC1ncm91cC1idG4gLmJ0bi5kaXNhYmxlZCwgLmJnLWludmVyc2VcbiAgLmlucHV0LWdyb3VwLWJ0biAuZGlzYWJsZWQuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLCAuYmctaW52ZXJzZVxuICAuaW5wdXQtZ3JvdXAtYnRuIC5idG46ZGlzYWJsZWQsIC5iZy1pbnZlcnNlXG4gIC5pbnB1dC1ncm91cC1idG4gLmN1c3RvbS1maWxlLWNvbnRyb2w6ZGlzYWJsZWQ6OmJlZm9yZSwgLmJnLWludmVyc2VcbiAgLmlucHV0LWdyb3VwLWJ0biAuYnRuW2Rpc2FibGVkXSwgLmJnLWludmVyc2VcbiAgLmlucHV0LWdyb3VwLWJ0biBbZGlzYWJsZWRdLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSwgLmJnLWludmVyc2UgZmllbGRzZXRbZGlzYWJsZWRdW2Rpc2FibGVkXVxuICAuYnRuLWdyb3VwLCAuYmctaW52ZXJzZVxuICAuYnRuLWdyb3VwLmRpc2FibGVkLCAuYmctaW52ZXJzZVxuICAuYnRuLWdyb3VwOmRpc2FibGVkLCAuYmctaW52ZXJzZVxuICAuYnRuLWdyb3VwW2Rpc2FibGVkXSwgLmJnLWludmVyc2UgZmllbGRzZXRbZGlzYWJsZWRdW2Rpc2FibGVkXVxuICAuYnRuLWdyb3VwLXZlcnRpY2FsLCAuYmctaW52ZXJzZVxuICAuYnRuLWdyb3VwLXZlcnRpY2FsLmRpc2FibGVkLCAuYmctaW52ZXJzZVxuICAuYnRuLWdyb3VwLXZlcnRpY2FsOmRpc2FibGVkLCAuYmctaW52ZXJzZVxuICAuYnRuLWdyb3VwLXZlcnRpY2FsW2Rpc2FibGVkXSB7XG4gICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4zKTsgfVxuICBmaWVsZHNldFtkaXNhYmxlZF1bZGlzYWJsZWRdIC5idG4sIGZpZWxkc2V0W2Rpc2FibGVkXVtkaXNhYmxlZF0gLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSwgZmllbGRzZXRbZGlzYWJsZWRdW2Rpc2FibGVkXSAuYnRuOmhvdmVyLCBmaWVsZHNldFtkaXNhYmxlZF1bZGlzYWJsZWRdIC5jdXN0b20tZmlsZS1jb250cm9sOmhvdmVyOjpiZWZvcmUsIGZpZWxkc2V0W2Rpc2FibGVkXVtkaXNhYmxlZF0gLmJ0bjpmb2N1cywgZmllbGRzZXRbZGlzYWJsZWRdW2Rpc2FibGVkXSAuY3VzdG9tLWZpbGUtY29udHJvbDpmb2N1czo6YmVmb3JlLCAuYnRuLmRpc2FibGVkLCAuZGlzYWJsZWQuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLCAuYnRuLmRpc2FibGVkOmhvdmVyLCAuZGlzYWJsZWQuY3VzdG9tLWZpbGUtY29udHJvbDpob3Zlcjo6YmVmb3JlLCAuYnRuLmRpc2FibGVkOmZvY3VzLCAuZGlzYWJsZWQuY3VzdG9tLWZpbGUtY29udHJvbDpmb2N1czo6YmVmb3JlLCAuYnRuOmRpc2FibGVkLCAuY3VzdG9tLWZpbGUtY29udHJvbDpkaXNhYmxlZDo6YmVmb3JlLCAuYnRuOmRpc2FibGVkOmhvdmVyLCAuY3VzdG9tLWZpbGUtY29udHJvbDpkaXNhYmxlZDpob3Zlcjo6YmVmb3JlLCAuYnRuOmRpc2FibGVkOmZvY3VzLCAuY3VzdG9tLWZpbGUtY29udHJvbDpkaXNhYmxlZDpmb2N1czo6YmVmb3JlLCAuYnRuW2Rpc2FibGVkXSwgW2Rpc2FibGVkXS5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsIC5idG5bZGlzYWJsZWRdOmhvdmVyLCBbZGlzYWJsZWRdLmN1c3RvbS1maWxlLWNvbnRyb2w6aG92ZXI6OmJlZm9yZSwgLmJ0bltkaXNhYmxlZF06Zm9jdXMsIFtkaXNhYmxlZF0uY3VzdG9tLWZpbGUtY29udHJvbDpmb2N1czo6YmVmb3JlLCBmaWVsZHNldFtkaXNhYmxlZF1bZGlzYWJsZWRdXG4gIC5pbnB1dC1ncm91cC1idG4gLmJ0biwgZmllbGRzZXRbZGlzYWJsZWRdW2Rpc2FibGVkXVxuICAuaW5wdXQtZ3JvdXAtYnRuIC5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsIGZpZWxkc2V0W2Rpc2FibGVkXVtkaXNhYmxlZF1cbiAgLmlucHV0LWdyb3VwLWJ0biAuYnRuOmhvdmVyLCBmaWVsZHNldFtkaXNhYmxlZF1bZGlzYWJsZWRdXG4gIC5pbnB1dC1ncm91cC1idG4gLmN1c3RvbS1maWxlLWNvbnRyb2w6aG92ZXI6OmJlZm9yZSwgZmllbGRzZXRbZGlzYWJsZWRdW2Rpc2FibGVkXVxuICAuaW5wdXQtZ3JvdXAtYnRuIC5idG46Zm9jdXMsIGZpZWxkc2V0W2Rpc2FibGVkXVtkaXNhYmxlZF1cbiAgLmlucHV0LWdyb3VwLWJ0biAuY3VzdG9tLWZpbGUtY29udHJvbDpmb2N1czo6YmVmb3JlLFxuICAuaW5wdXQtZ3JvdXAtYnRuIC5idG4uZGlzYWJsZWQsXG4gIC5pbnB1dC1ncm91cC1idG4gLmRpc2FibGVkLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSxcbiAgLmlucHV0LWdyb3VwLWJ0biAuYnRuLmRpc2FibGVkOmhvdmVyLFxuICAuaW5wdXQtZ3JvdXAtYnRuIC5kaXNhYmxlZC5jdXN0b20tZmlsZS1jb250cm9sOmhvdmVyOjpiZWZvcmUsXG4gIC5pbnB1dC1ncm91cC1idG4gLmJ0bi5kaXNhYmxlZDpmb2N1cyxcbiAgLmlucHV0LWdyb3VwLWJ0biAuZGlzYWJsZWQuY3VzdG9tLWZpbGUtY29udHJvbDpmb2N1czo6YmVmb3JlLFxuICAuaW5wdXQtZ3JvdXAtYnRuIC5idG46ZGlzYWJsZWQsXG4gIC5pbnB1dC1ncm91cC1idG4gLmN1c3RvbS1maWxlLWNvbnRyb2w6ZGlzYWJsZWQ6OmJlZm9yZSxcbiAgLmlucHV0LWdyb3VwLWJ0biAuYnRuOmRpc2FibGVkOmhvdmVyLFxuICAuaW5wdXQtZ3JvdXAtYnRuIC5jdXN0b20tZmlsZS1jb250cm9sOmRpc2FibGVkOmhvdmVyOjpiZWZvcmUsXG4gIC5pbnB1dC1ncm91cC1idG4gLmJ0bjpkaXNhYmxlZDpmb2N1cyxcbiAgLmlucHV0LWdyb3VwLWJ0biAuY3VzdG9tLWZpbGUtY29udHJvbDpkaXNhYmxlZDpmb2N1czo6YmVmb3JlLFxuICAuaW5wdXQtZ3JvdXAtYnRuIC5idG5bZGlzYWJsZWRdLFxuICAuaW5wdXQtZ3JvdXAtYnRuIFtkaXNhYmxlZF0uY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLFxuICAuaW5wdXQtZ3JvdXAtYnRuIC5idG5bZGlzYWJsZWRdOmhvdmVyLFxuICAuaW5wdXQtZ3JvdXAtYnRuIFtkaXNhYmxlZF0uY3VzdG9tLWZpbGUtY29udHJvbDpob3Zlcjo6YmVmb3JlLFxuICAuaW5wdXQtZ3JvdXAtYnRuIC5idG5bZGlzYWJsZWRdOmZvY3VzLFxuICAuaW5wdXQtZ3JvdXAtYnRuIFtkaXNhYmxlZF0uY3VzdG9tLWZpbGUtY29udHJvbDpmb2N1czo6YmVmb3JlLCBmaWVsZHNldFtkaXNhYmxlZF1bZGlzYWJsZWRdXG4gIC5idG4tZ3JvdXAsIGZpZWxkc2V0W2Rpc2FibGVkXVtkaXNhYmxlZF1cbiAgLmJ0bi1ncm91cDpob3ZlciwgZmllbGRzZXRbZGlzYWJsZWRdW2Rpc2FibGVkXVxuICAuYnRuLWdyb3VwOmZvY3VzLFxuICAuYnRuLWdyb3VwLmRpc2FibGVkLFxuICAuYnRuLWdyb3VwLmRpc2FibGVkOmhvdmVyLFxuICAuYnRuLWdyb3VwLmRpc2FibGVkOmZvY3VzLFxuICAuYnRuLWdyb3VwOmRpc2FibGVkLFxuICAuYnRuLWdyb3VwOmRpc2FibGVkOmhvdmVyLFxuICAuYnRuLWdyb3VwOmRpc2FibGVkOmZvY3VzLFxuICAuYnRuLWdyb3VwW2Rpc2FibGVkXSxcbiAgLmJ0bi1ncm91cFtkaXNhYmxlZF06aG92ZXIsXG4gIC5idG4tZ3JvdXBbZGlzYWJsZWRdOmZvY3VzLCBmaWVsZHNldFtkaXNhYmxlZF1bZGlzYWJsZWRdXG4gIC5idG4tZ3JvdXAtdmVydGljYWwsIGZpZWxkc2V0W2Rpc2FibGVkXVtkaXNhYmxlZF1cbiAgLmJ0bi1ncm91cC12ZXJ0aWNhbDpob3ZlciwgZmllbGRzZXRbZGlzYWJsZWRdW2Rpc2FibGVkXVxuICAuYnRuLWdyb3VwLXZlcnRpY2FsOmZvY3VzLFxuICAuYnRuLWdyb3VwLXZlcnRpY2FsLmRpc2FibGVkLFxuICAuYnRuLWdyb3VwLXZlcnRpY2FsLmRpc2FibGVkOmhvdmVyLFxuICAuYnRuLWdyb3VwLXZlcnRpY2FsLmRpc2FibGVkOmZvY3VzLFxuICAuYnRuLWdyb3VwLXZlcnRpY2FsOmRpc2FibGVkLFxuICAuYnRuLWdyb3VwLXZlcnRpY2FsOmRpc2FibGVkOmhvdmVyLFxuICAuYnRuLWdyb3VwLXZlcnRpY2FsOmRpc2FibGVkOmZvY3VzLFxuICAuYnRuLWdyb3VwLXZlcnRpY2FsW2Rpc2FibGVkXSxcbiAgLmJ0bi1ncm91cC12ZXJ0aWNhbFtkaXNhYmxlZF06aG92ZXIsXG4gIC5idG4tZ3JvdXAtdmVydGljYWxbZGlzYWJsZWRdOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgfVxuXG4uYnRuLWdyb3VwLFxuLmJ0bi1ncm91cC12ZXJ0aWNhbCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luOiAxMHB4IDFweDsgfVxuICAuYnRuLWdyb3VwIC5kcm9wZG93bi1tZW51LFxuICAuYnRuLWdyb3VwLXZlcnRpY2FsIC5kcm9wZG93bi1tZW51IHtcbiAgICBib3JkZXItcmFkaXVzOiAwIDAgMC4xMjVyZW0gMC4xMjVyZW07IH1cbiAgLmJ0bi1ncm91cC5idG4tZ3JvdXAtcmFpc2VkLFxuICAuYnRuLWdyb3VwLXZlcnRpY2FsLmJ0bi1ncm91cC1yYWlzZWQge1xuICAgIGJveC1zaGFkb3c6IDAgMnB4IDJweCAwIHJnYmEoMCwgMCwgMCwgMC4xNCksIDAgM3B4IDFweCAtMnB4IHJnYmEoMCwgMCwgMCwgMC4yKSwgMCAxcHggNXB4IDAgcmdiYSgwLCAwLCAwLCAwLjEyKTsgfVxuICAuYnRuLWdyb3VwIC5idG4gKyAuYnRuLCAuYnRuLWdyb3VwIC5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUgKyAuYnRuLCAuYnRuLWdyb3VwIC5idG4gKyAuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLCAuYnRuLWdyb3VwIC5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUgKyAuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLFxuICAuYnRuLWdyb3VwIC5idG4sXG4gIC5idG4tZ3JvdXAgLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSxcbiAgLmJ0bi1ncm91cCAuYnRuOmFjdGl2ZSxcbiAgLmJ0bi1ncm91cCAuY3VzdG9tLWZpbGUtY29udHJvbDphY3RpdmU6OmJlZm9yZSxcbiAgLmJ0bi1ncm91cCAuYnRuLWdyb3VwLFxuICAuYnRuLWdyb3VwLXZlcnRpY2FsIC5idG4gKyAuYnRuLFxuICAuYnRuLWdyb3VwLXZlcnRpY2FsIC5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUgKyAuYnRuLFxuICAuYnRuLWdyb3VwLXZlcnRpY2FsIC5idG4gKyAuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLFxuICAuYnRuLWdyb3VwLXZlcnRpY2FsIC5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUgKyAuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLFxuICAuYnRuLWdyb3VwLXZlcnRpY2FsIC5idG4sXG4gIC5idG4tZ3JvdXAtdmVydGljYWwgLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSxcbiAgLmJ0bi1ncm91cC12ZXJ0aWNhbCAuYnRuOmFjdGl2ZSxcbiAgLmJ0bi1ncm91cC12ZXJ0aWNhbCAuY3VzdG9tLWZpbGUtY29udHJvbDphY3RpdmU6OmJlZm9yZSxcbiAgLmJ0bi1ncm91cC12ZXJ0aWNhbCAuYnRuLWdyb3VwIHtcbiAgICBtYXJnaW46IDA7IH1cbiAgLmJ0bi1ncm91cCA+IC5idG4tZ3JvdXAsXG4gIC5idG4tZ3JvdXAtdmVydGljYWwgPiAuYnRuLWdyb3VwIHtcbiAgICBtYXJnaW46IDA7IH1cblxuLmNoZWNrYm94IGxhYmVsLFxubGFiZWwuY2hlY2tib3gtaW5saW5lIHtcbiAgcGFkZGluZy1sZWZ0OiAxLjU2MjVyZW07XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuICAuY2hlY2tib3ggbGFiZWwgLmNoZWNrYm94LWRlY29yYXRvcixcbiAgbGFiZWwuY2hlY2tib3gtaW5saW5lIC5jaGVja2JveC1kZWNvcmF0b3Ige1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDAuMTI1cmVtO1xuICAgIGxlZnQ6IDA7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuICAgIC5jaGVja2JveCBsYWJlbCAuY2hlY2tib3gtZGVjb3JhdG9yOjpiZWZvcmUsXG4gICAgbGFiZWwuY2hlY2tib3gtaW5saW5lIC5jaGVja2JveC1kZWNvcmF0b3I6OmJlZm9yZSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgei1pbmRleDogMTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2lkdGg6IDEuMjVyZW07XG4gICAgICBoZWlnaHQ6IDEuMjVyZW07XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg0KTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZTNkKDIuMywgMi4zLCAxKTsgfVxuICAgIC5jaGVja2JveCBsYWJlbCAuY2hlY2tib3gtZGVjb3JhdG9yIC5jaGVjayxcbiAgICBsYWJlbC5jaGVja2JveC1pbmxpbmUgLmNoZWNrYm94LWRlY29yYXRvciAuY2hlY2sge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgei1pbmRleDogMTtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHdpZHRoOiAxLjI1cmVtO1xuICAgICAgaGVpZ2h0OiAxLjI1cmVtO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIGJvcmRlcjogMC4xMjVyZW0gc29saWQgcmdiYSgwLCAwLCAwLCAwLjU0KTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDAuMTI1cmVtOyB9XG4gICAgICAuY2hlY2tib3ggbGFiZWwgLmNoZWNrYm94LWRlY29yYXRvciAuY2hlY2s6OmJlZm9yZSxcbiAgICAgIGxhYmVsLmNoZWNrYm94LWlubGluZSAuY2hlY2tib3gtZGVjb3JhdG9yIC5jaGVjazo6YmVmb3JlIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgbWFyZ2luLXRvcDogLTRweDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDZweDtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgMCwgMCAwIDAgMCwgMCAwIDAgMCwgMCAwIDAgMCwgMCAwIDAgMCwgMCAwIDAgMCwgMCAwIDAgMCBpbnNldDtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICAgICAgICBhbmltYXRpb246IGNoZWNrYm94LW9mZjsgfVxuICAgICAgICAuaXMtZm9jdXNlZCAuY2hlY2tib3ggbGFiZWwgLmNoZWNrYm94LWRlY29yYXRvciAuY2hlY2s6OmJlZm9yZSwgLmlzLWZvY3VzZWRcbiAgICAgICAgbGFiZWwuY2hlY2tib3gtaW5saW5lIC5jaGVja2JveC1kZWNvcmF0b3IgLmNoZWNrOjpiZWZvcmUge1xuICAgICAgICAgIGFuaW1hdGlvbjogY2hlY2tib3gtb2ZmIDAuM3MgZm9yd2FyZHM7IH1cbiAgLmNoZWNrYm94IGxhYmVsIGlucHV0W3R5cGU9Y2hlY2tib3hdLFxuICBsYWJlbC5jaGVja2JveC1pbmxpbmUgaW5wdXRbdHlwZT1jaGVja2JveF0ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAwO1xuICAgIHotaW5kZXg6IC0xO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBtYXJnaW46IDA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICBvcGFjaXR5OiAwOyB9XG4gICAgLmNoZWNrYm94IGxhYmVsIGlucHV0W3R5cGU9Y2hlY2tib3hdOmZvY3VzICsgLmNoZWNrYm94LWRlY29yYXRvciAuY2hlY2s6OmFmdGVyLFxuICAgIGxhYmVsLmNoZWNrYm94LWlubGluZSBpbnB1dFt0eXBlPWNoZWNrYm94XTpmb2N1cyArIC5jaGVja2JveC1kZWNvcmF0b3IgLmNoZWNrOjphZnRlciB7XG4gICAgICBvcGFjaXR5OiAwLjI7IH1cbiAgICAuY2hlY2tib3ggbGFiZWwgaW5wdXRbdHlwZT1jaGVja2JveF06Y2hlY2tlZCArIC5jaGVja2JveC1kZWNvcmF0b3IgLmNoZWNrLFxuICAgIGxhYmVsLmNoZWNrYm94LWlubGluZSBpbnB1dFt0eXBlPWNoZWNrYm94XTpjaGVja2VkICsgLmNoZWNrYm94LWRlY29yYXRvciAuY2hlY2sge1xuICAgICAgY29sb3I6ICMwMDk2ODg7XG4gICAgICBib3JkZXItY29sb3I6ICMwMDk2ODg7IH1cbiAgICAuY2hlY2tib3ggbGFiZWwgaW5wdXRbdHlwZT1jaGVja2JveF06Y2hlY2tlZCArIC5jaGVja2JveC1kZWNvcmF0b3IgLmNoZWNrOjpiZWZvcmUsXG4gICAgbGFiZWwuY2hlY2tib3gtaW5saW5lIGlucHV0W3R5cGU9Y2hlY2tib3hdOmNoZWNrZWQgKyAuY2hlY2tib3gtZGVjb3JhdG9yIC5jaGVjazo6YmVmb3JlIHtcbiAgICAgIGNvbG9yOiAjMDA5Njg4O1xuICAgICAgYm94LXNoYWRvdzogMCAwIDAgMTBweCwgMTBweCAtMTBweCAwIDEwcHgsIDMycHggMCAwIDIwcHgsIDAzMnB4IDAgMjBweCwgLTVweCA1cHggMCAxMHB4LCAyMHB4IC0xMnB4IDAgMTFweDtcbiAgICAgIGFuaW1hdGlvbjogY2hlY2tib3gtb24gMC4zcyBmb3J3YXJkczsgfVxuICAgIC5jaGVja2JveCBsYWJlbCBpbnB1dFt0eXBlPWNoZWNrYm94XTpjaGVja2VkICsgLmNoZWNrYm94LWRlY29yYXRvcjo6YmVmb3JlLFxuICAgIGxhYmVsLmNoZWNrYm94LWlubGluZSBpbnB1dFt0eXBlPWNoZWNrYm94XTpjaGVja2VkICsgLmNoZWNrYm94LWRlY29yYXRvcjo6YmVmb3JlIHtcbiAgICAgIGFuaW1hdGlvbjogcmlwcGxlT247IH1cbiAgICAgIC5pcy1mb2N1c2VkIC5jaGVja2JveCBsYWJlbCBpbnB1dFt0eXBlPWNoZWNrYm94XTpjaGVja2VkICsgLmNoZWNrYm94LWRlY29yYXRvcjo6YmVmb3JlLCAuaXMtZm9jdXNlZFxuICAgICAgbGFiZWwuY2hlY2tib3gtaW5saW5lIGlucHV0W3R5cGU9Y2hlY2tib3hdOmNoZWNrZWQgKyAuY2hlY2tib3gtZGVjb3JhdG9yOjpiZWZvcmUge1xuICAgICAgICBhbmltYXRpb246IHJpcHBsZU9uIDUwMG1zOyB9XG4gICAgLmNoZWNrYm94IGxhYmVsIGlucHV0W3R5cGU9Y2hlY2tib3hdOmNoZWNrZWQgKyAuY2hlY2tib3gtZGVjb3JhdG9yIC5jaGVjazo6YWZ0ZXIsXG4gICAgbGFiZWwuY2hlY2tib3gtaW5saW5lIGlucHV0W3R5cGU9Y2hlY2tib3hdOmNoZWNrZWQgKyAuY2hlY2tib3gtZGVjb3JhdG9yIC5jaGVjazo6YWZ0ZXIge1xuICAgICAgYW5pbWF0aW9uOiByaXBwbGVPbiA1MDBtcyBmb3J3YXJkczsgfVxuICAgIC5jaGVja2JveCBsYWJlbCBpbnB1dFt0eXBlPWNoZWNrYm94XTpub3QoOmNoZWNrZWQpICsgLmNoZWNrYm94LWRlY29yYXRvcjo6YmVmb3JlLFxuICAgIGxhYmVsLmNoZWNrYm94LWlubGluZSBpbnB1dFt0eXBlPWNoZWNrYm94XTpub3QoOmNoZWNrZWQpICsgLmNoZWNrYm94LWRlY29yYXRvcjo6YmVmb3JlIHtcbiAgICAgIGFuaW1hdGlvbjogcmlwcGxlT2ZmOyB9XG4gICAgICAuaXMtZm9jdXNlZCAuY2hlY2tib3ggbGFiZWwgaW5wdXRbdHlwZT1jaGVja2JveF06bm90KDpjaGVja2VkKSArIC5jaGVja2JveC1kZWNvcmF0b3I6OmJlZm9yZSwgLmlzLWZvY3VzZWRcbiAgICAgIGxhYmVsLmNoZWNrYm94LWlubGluZSBpbnB1dFt0eXBlPWNoZWNrYm94XTpub3QoOmNoZWNrZWQpICsgLmNoZWNrYm94LWRlY29yYXRvcjo6YmVmb3JlIHtcbiAgICAgICAgYW5pbWF0aW9uOiByaXBwbGVPZmYgNTAwbXM7IH1cbiAgICAuY2hlY2tib3ggbGFiZWwgaW5wdXRbdHlwZT1jaGVja2JveF06bm90KDpjaGVja2VkKSArIC5jaGVja2JveC1kZWNvcmF0b3IgLmNoZWNrOjphZnRlcixcbiAgICBsYWJlbC5jaGVja2JveC1pbmxpbmUgaW5wdXRbdHlwZT1jaGVja2JveF06bm90KDpjaGVja2VkKSArIC5jaGVja2JveC1kZWNvcmF0b3IgLmNoZWNrOjphZnRlciB7XG4gICAgICBhbmltYXRpb246IHJpcHBsZU9mZiA1MDBtcyBmb3J3YXJkczsgfVxuICAgIC5jaGVja2JveCBsYWJlbCBpbnB1dFt0eXBlPWNoZWNrYm94XVtkaXNhYmxlZF0gKyAuY2hlY2tib3gtZGVjb3JhdG9yIC5jaGVjazo6YWZ0ZXIsXG4gICAgLmNoZWNrYm94IGxhYmVsIGlucHV0W3R5cGU9Y2hlY2tib3hdW2Rpc2FibGVkXSAuY2hlY2s6OmFmdGVyLFxuICAgIGZpZWxkc2V0W2Rpc2FibGVkXSAuY2hlY2tib3ggbGFiZWwgaW5wdXRbdHlwZT1jaGVja2JveF0gKyAuY2hlY2tib3gtZGVjb3JhdG9yIC5jaGVjazo6YWZ0ZXIsXG4gICAgZmllbGRzZXRbZGlzYWJsZWRdIC5jaGVja2JveCBsYWJlbCBpbnB1dFt0eXBlPWNoZWNrYm94XSAuY2hlY2s6OmFmdGVyLFxuICAgIGxhYmVsLmNoZWNrYm94LWlubGluZSBpbnB1dFt0eXBlPWNoZWNrYm94XVtkaXNhYmxlZF0gKyAuY2hlY2tib3gtZGVjb3JhdG9yIC5jaGVjazo6YWZ0ZXIsXG4gICAgbGFiZWwuY2hlY2tib3gtaW5saW5lIGlucHV0W3R5cGU9Y2hlY2tib3hdW2Rpc2FibGVkXSAuY2hlY2s6OmFmdGVyLFxuICAgIGZpZWxkc2V0W2Rpc2FibGVkXVxuICAgIGxhYmVsLmNoZWNrYm94LWlubGluZSBpbnB1dFt0eXBlPWNoZWNrYm94XSArIC5jaGVja2JveC1kZWNvcmF0b3IgLmNoZWNrOjphZnRlcixcbiAgICBmaWVsZHNldFtkaXNhYmxlZF1cbiAgICBsYWJlbC5jaGVja2JveC1pbmxpbmUgaW5wdXRbdHlwZT1jaGVja2JveF0gLmNoZWNrOjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpO1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTsgfVxuICAgIC5jaGVja2JveCBsYWJlbCBpbnB1dFt0eXBlPWNoZWNrYm94XVtkaXNhYmxlZF0gKyAuY2hlY2tib3gtZGVjb3JhdG9yIC5jaGVjayxcbiAgICAuY2hlY2tib3ggbGFiZWwgaW5wdXRbdHlwZT1jaGVja2JveF1bZGlzYWJsZWRdIC5jaGVjayxcbiAgICBmaWVsZHNldFtkaXNhYmxlZF0gLmNoZWNrYm94IGxhYmVsIGlucHV0W3R5cGU9Y2hlY2tib3hdICsgLmNoZWNrYm94LWRlY29yYXRvciAuY2hlY2ssXG4gICAgZmllbGRzZXRbZGlzYWJsZWRdIC5jaGVja2JveCBsYWJlbCBpbnB1dFt0eXBlPWNoZWNrYm94XSAuY2hlY2ssXG4gICAgbGFiZWwuY2hlY2tib3gtaW5saW5lIGlucHV0W3R5cGU9Y2hlY2tib3hdW2Rpc2FibGVkXSArIC5jaGVja2JveC1kZWNvcmF0b3IgLmNoZWNrLFxuICAgIGxhYmVsLmNoZWNrYm94LWlubGluZSBpbnB1dFt0eXBlPWNoZWNrYm94XVtkaXNhYmxlZF0gLmNoZWNrLFxuICAgIGZpZWxkc2V0W2Rpc2FibGVkXVxuICAgIGxhYmVsLmNoZWNrYm94LWlubGluZSBpbnB1dFt0eXBlPWNoZWNrYm94XSArIC5jaGVja2JveC1kZWNvcmF0b3IgLmNoZWNrLFxuICAgIGZpZWxkc2V0W2Rpc2FibGVkXVxuICAgIGxhYmVsLmNoZWNrYm94LWlubGluZSBpbnB1dFt0eXBlPWNoZWNrYm94XSAuY2hlY2sge1xuICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMjYpOyB9XG5cbkBrZXlmcmFtZXMgY2hlY2tib3gtb24ge1xuICAwJSB7XG4gICAgYm94LXNoYWRvdzogMCAwIDAgMTBweCwgMTBweCAtMTBweCAwIDEwcHgsIDMycHggMCAwIDIwcHgsIDAgMzJweCAwIDIwcHgsIC01cHggNXB4IDAgMTBweCwgMTVweCAycHggMCAxMXB4OyB9XG4gIDUwJSB7XG4gICAgYm94LXNoYWRvdzogMCAwIDAgMTBweCwgMTBweCAtMTBweCAwIDEwcHgsIDMycHggMCAwIDIwcHgsIDAgMzJweCAwIDIwcHgsIC01cHggNXB4IDAgMTBweCwgMjBweCAycHggMCAxMXB4OyB9XG4gIDEwMCUge1xuICAgIGJveC1zaGFkb3c6IDAgMCAwIDEwcHgsIDEwcHggLTEwcHggMCAxMHB4LCAzMnB4IDAgMCAyMHB4LCAwIDMycHggMCAyMHB4LCAtNXB4IDVweCAwIDEwcHgsIDIwcHggLTEycHggMCAxMXB4OyB9IH1cblxuQGtleWZyYW1lcyBjaGVja2JveC1vZmYge1xuICAwJSB7XG4gICAgYm94LXNoYWRvdzogMCAwIDAgMTBweCwgMTBweCAtMTBweCAwIDEwcHgsIDMycHggMCAwIDIwcHgsIDAgMzJweCAwIDIwcHgsIC01cHggNXB4IDAgMTBweCwgMjBweCAtMTJweCAwIDExcHgsIDAgMCAwIDAgaW5zZXQ7IH1cbiAgMjUlIHtcbiAgICBib3gtc2hhZG93OiAwIDAgMCAxMHB4LCAxMHB4IC0xMHB4IDAgMTBweCwgMzJweCAwIDAgMjBweCwgMCAzMnB4IDAgMjBweCwgLTVweCA1cHggMCAxMHB4LCAyMHB4IC0xMnB4IDAgMTFweCwgMCAwIDAgMCBpbnNldDsgfVxuICA1MCUge1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBtYXJnaW4tdG9wOiAtNHB4O1xuICAgIG1hcmdpbi1sZWZ0OiA2cHg7XG4gICAgYm94LXNoYWRvdzogMCAwIDAgMTBweCwgMTBweCAtMTBweCAwIDEwcHgsIDMycHggMCAwIDIwcHgsIDAgMzJweCAwIDIwcHgsIC01cHggNXB4IDAgMTBweCwgMTVweCAycHggMCAxMXB4LCAwIDAgMCAwIGluc2V0O1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTsgfVxuICA1MSUge1xuICAgIHdpZHRoOiAyMHB4O1xuICAgIGhlaWdodDogMjBweDtcbiAgICBtYXJnaW4tdG9wOiAtMnB4O1xuICAgIG1hcmdpbi1sZWZ0OiAtMnB4O1xuICAgIGJveC1zaGFkb3c6IDAgMCAwIDAsIDAgMCAwIDAsIDAgMCAwIDAsIDAgMCAwIDAsIDAgMCAwIDAsIDAgMCAwIDAsIDAgMCAwIDEwcHggaW5zZXQ7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7IH1cbiAgMTAwJSB7XG4gICAgd2lkdGg6IDIwcHg7XG4gICAgaGVpZ2h0OiAyMHB4O1xuICAgIG1hcmdpbi10b3A6IC0ycHg7XG4gICAgbWFyZ2luLWxlZnQ6IC0ycHg7XG4gICAgYm94LXNoYWRvdzogMCAwIDAgMCwgMCAwIDAgMCwgMCAwIDAgMCwgMCAwIDAgMCwgMCAwIDAgMCwgMCAwIDAgMCwgMCAwIDAgMCBpbnNldDtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTsgfSB9XG5cbkBrZXlmcmFtZXMgcmlwcGxlT24ge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDsgfVxuICA1MCUge1xuICAgIG9wYWNpdHk6IDAuMjsgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAwOyB9IH1cblxuQGtleWZyYW1lcyByaXBwbGVPZmYge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDsgfVxuICA1MCUge1xuICAgIG9wYWNpdHk6IDAuMjsgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAwOyB9IH1cblxuLmN1c3RvbS1maWxlLWNvbnRyb2wgW2NsYXNzXj0nYm1kLWxhYmVsJ10sXG4uY3VzdG9tLWZpbGUtY29udHJvbCBbY2xhc3MqPScgYm1kLWxhYmVsJ10ge1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjI2KTsgfVxuXG4uY3VzdG9tLWZpbGUtY29udHJvbCAuZm9ybS1jb250cm9sLCAuY3VzdG9tLWZpbGUtY29udHJvbCAuY3VzdG9tLWZpbGUtY29udHJvbCxcbi5pcy1mb2N1c2VkIC5jdXN0b20tZmlsZS1jb250cm9sIC5mb3JtLWNvbnRyb2wsXG4uaXMtZm9jdXNlZCAuY3VzdG9tLWZpbGUtY29udHJvbCAuY3VzdG9tLWZpbGUtY29udHJvbCB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byB0b3AsICMwMDk2ODggMnB4LCByZ2JhKDAsIDE1MCwgMTM2LCAwKSAycHgpLCBsaW5lYXItZ3JhZGllbnQodG8gdG9wLCByZ2JhKDAsIDAsIDAsIDAuMjYpIDFweCwgdHJhbnNwYXJlbnQgMXB4KTsgfVxuXG4uY3VzdG9tLWZpbGUtY29udHJvbCAuZm9ybS1jb250cm9sOmludmFsaWQsIC5jdXN0b20tZmlsZS1jb250cm9sIC5jdXN0b20tZmlsZS1jb250cm9sOmludmFsaWQge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gdG9wLCAjZDUwMDAwIDJweCwgcmdiYSgyMTMsIDAsIDAsIDApIDJweCksIGxpbmVhci1ncmFkaWVudCh0byB0b3AsIHJnYmEoMCwgMCwgMCwgMC4yNikgMXB4LCB0cmFuc3BhcmVudCAxcHgpOyB9XG5cbi5jdXN0b20tZmlsZS1jb250cm9sIC5mb3JtLWNvbnRyb2w6cmVhZC1vbmx5LCAuY3VzdG9tLWZpbGUtY29udHJvbCAuY3VzdG9tLWZpbGUtY29udHJvbDpyZWFkLW9ubHkge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gdG9wLCByZ2JhKDAsIDAsIDAsIDAuMjYpIDFweCwgdHJhbnNwYXJlbnQgMXB4KSwgbGluZWFyLWdyYWRpZW50KHRvIHRvcCwgcmdiYSgwLCAwLCAwLCAwLjI2KSAxcHgsIHRyYW5zcGFyZW50IDFweCk7IH1cblxuZmllbGRzZXRbZGlzYWJsZWRdW2Rpc2FibGVkXSAuY3VzdG9tLWZpbGUtY29udHJvbCAuZm9ybS1jb250cm9sLCBmaWVsZHNldFtkaXNhYmxlZF1bZGlzYWJsZWRdIC5jdXN0b20tZmlsZS1jb250cm9sIC5jdXN0b20tZmlsZS1jb250cm9sLCAuY3VzdG9tLWZpbGUtY29udHJvbCAuZm9ybS1jb250cm9sLmRpc2FibGVkLCAuY3VzdG9tLWZpbGUtY29udHJvbCAuZGlzYWJsZWQuY3VzdG9tLWZpbGUtY29udHJvbCwgLmN1c3RvbS1maWxlLWNvbnRyb2wgLmZvcm0tY29udHJvbDpkaXNhYmxlZCwgLmN1c3RvbS1maWxlLWNvbnRyb2wgLmN1c3RvbS1maWxlLWNvbnRyb2w6ZGlzYWJsZWQsIC5jdXN0b20tZmlsZS1jb250cm9sIC5mb3JtLWNvbnRyb2xbZGlzYWJsZWRdLCAuY3VzdG9tLWZpbGUtY29udHJvbCBbZGlzYWJsZWRdLmN1c3RvbS1maWxlLWNvbnRyb2wge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsIHJnYmEoMCwgMCwgMCwgMC4yNikgMCUsIHJnYmEoMCwgMCwgMCwgMC4yNikgMzAlLCB0cmFuc3BhcmVudCAzMCUsIHRyYW5zcGFyZW50IDEwMCUpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XG4gIGJhY2tncm91bmQtc2l6ZTogM3B4IDFweDsgfVxuXG4uY3VzdG9tLWZpbGUtY29udHJvbCAuZm9ybS1jb250cm9sLmZvcm0tY29udHJvbC1zdWNjZXNzLCAuY3VzdG9tLWZpbGUtY29udHJvbCAuZm9ybS1jb250cm9sLXN1Y2Nlc3MuY3VzdG9tLWZpbGUtY29udHJvbCxcbi5pcy1mb2N1c2VkIC5jdXN0b20tZmlsZS1jb250cm9sIC5mb3JtLWNvbnRyb2wuZm9ybS1jb250cm9sLXN1Y2Nlc3MsXG4uaXMtZm9jdXNlZCAuY3VzdG9tLWZpbGUtY29udHJvbCAuZm9ybS1jb250cm9sLXN1Y2Nlc3MuY3VzdG9tLWZpbGUtY29udHJvbCB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byB0b3AsICMwMDk2ODggMnB4LCByZ2JhKDAsIDE1MCwgMTM2LCAwKSAycHgpLCBsaW5lYXItZ3JhZGllbnQodG8gdG9wLCByZ2JhKDAsIDAsIDAsIDAuMjYpIDFweCwgdHJhbnNwYXJlbnQgMXB4KSwgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmOCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgOCA4JyUzRSUzQ3BhdGggZmlsbD0nJTIzNWNiODVjJyBkPSdNMi4zIDYuNzNMLjYgNC41M2MtLjQtMS4wNC40Ni0xLjQgMS4xLS44bDEuMSAxLjQgMy40LTMuOGMuNi0uNjMgMS42LS4yNyAxLjIuN2wtNCA0LjZjLS40My41LS44LjQtMS4xLjF6Jy8lM0UlM0Mvc3ZnJTNFXCIpOyB9XG5cbi5jdXN0b20tZmlsZS1jb250cm9sIC5mb3JtLWNvbnRyb2wuZm9ybS1jb250cm9sLXdhcm5pbmcsIC5jdXN0b20tZmlsZS1jb250cm9sIC5mb3JtLWNvbnRyb2wtd2FybmluZy5jdXN0b20tZmlsZS1jb250cm9sLFxuLmlzLWZvY3VzZWQgLmN1c3RvbS1maWxlLWNvbnRyb2wgLmZvcm0tY29udHJvbC5mb3JtLWNvbnRyb2wtd2FybmluZyxcbi5pcy1mb2N1c2VkIC5jdXN0b20tZmlsZS1jb250cm9sIC5mb3JtLWNvbnRyb2wtd2FybmluZy5jdXN0b20tZmlsZS1jb250cm9sIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHRvcCwgIzAwOTY4OCAycHgsIHJnYmEoMCwgMTUwLCAxMzYsIDApIDJweCksIGxpbmVhci1ncmFkaWVudCh0byB0b3AsIHJnYmEoMCwgMCwgMCwgMC4yNikgMXB4LCB0cmFuc3BhcmVudCAxcHgpLCB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGY4LCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCA4IDgnJTNFJTNDcGF0aCBmaWxsPSclMjNmMGFkNGUnIGQ9J000LjQgNS4zMjRoLS44di0yLjQ2aC44em0wIDEuNDJoLS44VjUuODloLjh6TTMuNzYuNjNMLjA0IDcuMDc1Yy0uMTE1LjIuMDE2LjQyNS4yNi40MjZoNy4zOTdjLjI0MiAwIC4zNzItLjIyNi4yNTgtLjQyNkM2LjcyNiA0LjkyNCA1LjQ3IDIuNzkgNC4yNTMuNjNjLS4xMTMtLjE3NC0uMzktLjE3NC0uNDk0IDB6Jy8lM0UlM0Mvc3ZnJTNFXCIpOyB9XG5cbi5jdXN0b20tZmlsZS1jb250cm9sIC5mb3JtLWNvbnRyb2wuZm9ybS1jb250cm9sLWRhbmdlciwgLmN1c3RvbS1maWxlLWNvbnRyb2wgLmZvcm0tY29udHJvbC1kYW5nZXIuY3VzdG9tLWZpbGUtY29udHJvbCxcbi5pcy1mb2N1c2VkIC5jdXN0b20tZmlsZS1jb250cm9sIC5mb3JtLWNvbnRyb2wuZm9ybS1jb250cm9sLWRhbmdlcixcbi5pcy1mb2N1c2VkIC5jdXN0b20tZmlsZS1jb250cm9sIC5mb3JtLWNvbnRyb2wtZGFuZ2VyLmN1c3RvbS1maWxlLWNvbnRyb2wge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gdG9wLCAjMDA5Njg4IDJweCwgcmdiYSgwLCAxNTAsIDEzNiwgMCkgMnB4KSwgbGluZWFyLWdyYWRpZW50KHRvIHRvcCwgcmdiYSgwLCAwLCAwLCAwLjI2KSAxcHgsIHRyYW5zcGFyZW50IDFweCksIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0ZjgsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycgZmlsbD0nJTIzZDk1MzRmJyB2aWV3Qm94PSctMiAtMiA3IDcnJTNFJTNDcGF0aCBzdHJva2U9JyUyM2Q5NTM0ZicgZD0nTTAgMGwzIDNtMC0zTDAgMycvJTNFJTNDY2lyY2xlIHI9Jy41Jy8lM0UlM0NjaXJjbGUgY3g9JzMnIHI9Jy41Jy8lM0UlM0NjaXJjbGUgY3k9JzMnIHI9Jy41Jy8lM0UlM0NjaXJjbGUgY3g9JzMnIGN5PSczJyByPScuNScvJTNFJTNDL3N2ZyUzRVwiKTsgfVxuXG4uY3VzdG9tLWZpbGUtY29udHJvbCAuaXMtZm9jdXNlZCAuZm9ybS1jb250cm9sLWZlZWRiYWNrLFxuLmN1c3RvbS1maWxlLWNvbnRyb2wgLmlzLWZvY3VzZWQgLmZvcm0tY29udHJvbC1sYWJlbCxcbi5jdXN0b20tZmlsZS1jb250cm9sIC5pcy1mb2N1c2VkIC5yYWRpbyxcbi5jdXN0b20tZmlsZS1jb250cm9sIC5pcy1mb2N1c2VkIC5jaGVja2JveCxcbi5jdXN0b20tZmlsZS1jb250cm9sIC5pcy1mb2N1c2VkIC5yYWRpby1pbmxpbmUsXG4uY3VzdG9tLWZpbGUtY29udHJvbCAuaXMtZm9jdXNlZCAuY2hlY2tib3gtaW5saW5lLFxuLmN1c3RvbS1maWxlLWNvbnRyb2wgLmlzLWZvY3VzZWQucmFkaW8gbGFiZWwsXG4uY3VzdG9tLWZpbGUtY29udHJvbCAuaXMtZm9jdXNlZC5jaGVja2JveCBsYWJlbCxcbi5jdXN0b20tZmlsZS1jb250cm9sIC5pcy1mb2N1c2VkLnJhZGlvLWlubGluZSBsYWJlbCxcbi5jdXN0b20tZmlsZS1jb250cm9sIC5pcy1mb2N1c2VkLmNoZWNrYm94LWlubGluZSBsYWJlbCxcbi5jdXN0b20tZmlsZS1jb250cm9sIC5pcy1mb2N1c2VkIC5jdXN0b20tY29udHJvbCwgLmN1c3RvbS1maWxlLWNvbnRyb2wuaXMtZm9jdXNlZCAuZm9ybS1jb250cm9sLWZlZWRiYWNrLFxuLmN1c3RvbS1maWxlLWNvbnRyb2wuaXMtZm9jdXNlZCAuZm9ybS1jb250cm9sLWxhYmVsLFxuLmN1c3RvbS1maWxlLWNvbnRyb2wuaXMtZm9jdXNlZCAucmFkaW8sXG4uY3VzdG9tLWZpbGUtY29udHJvbC5pcy1mb2N1c2VkIC5jaGVja2JveCxcbi5jdXN0b20tZmlsZS1jb250cm9sLmlzLWZvY3VzZWQgLnJhZGlvLWlubGluZSxcbi5jdXN0b20tZmlsZS1jb250cm9sLmlzLWZvY3VzZWQgLmNoZWNrYm94LWlubGluZSxcbi5jdXN0b20tZmlsZS1jb250cm9sLmlzLWZvY3VzZWQucmFkaW8gbGFiZWwsXG4uY3VzdG9tLWZpbGUtY29udHJvbC5pcy1mb2N1c2VkLmNoZWNrYm94IGxhYmVsLFxuLmN1c3RvbS1maWxlLWNvbnRyb2wuaXMtZm9jdXNlZC5yYWRpby1pbmxpbmUgbGFiZWwsXG4uY3VzdG9tLWZpbGUtY29udHJvbC5pcy1mb2N1c2VkLmNoZWNrYm94LWlubGluZSBsYWJlbCxcbi5jdXN0b20tZmlsZS1jb250cm9sLmlzLWZvY3VzZWQgLmN1c3RvbS1jb250cm9sIHtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4yNik7IH1cblxuLmN1c3RvbS1maWxlLWNvbnRyb2wgLmlzLWZvY3VzZWQgLmZvcm0tY29udHJvbCwgLmN1c3RvbS1maWxlLWNvbnRyb2wgLmlzLWZvY3VzZWQgLmN1c3RvbS1maWxlLWNvbnRyb2wsIC5jdXN0b20tZmlsZS1jb250cm9sLmlzLWZvY3VzZWQgLmZvcm0tY29udHJvbCwgLmN1c3RvbS1maWxlLWNvbnRyb2wuaXMtZm9jdXNlZCAuY3VzdG9tLWZpbGUtY29udHJvbCB7XG4gIGJvcmRlci1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjI2KTsgfVxuXG4uY3VzdG9tLWZpbGUtY29udHJvbCAuaXMtZm9jdXNlZCAuaW5wdXQtZ3JvdXAtYWRkb24sIC5jdXN0b20tZmlsZS1jb250cm9sLmlzLWZvY3VzZWQgLmlucHV0LWdyb3VwLWFkZG9uIHtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4yNik7XG4gIGJvcmRlci1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjI2KTtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxMDIsIDEwMiwgMTAyLCAwLjI2KTsgfVxuXG4uY3VzdG9tLWZpbGUtY29udHJvbCAuaXMtZm9jdXNlZCAuZm9ybS1jb250cm9sLWZlZWRiYWNrLCAuY3VzdG9tLWZpbGUtY29udHJvbC5pcy1mb2N1c2VkIC5mb3JtLWNvbnRyb2wtZmVlZGJhY2sge1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjI2KTsgfVxuXG4uY3VzdG9tLWZpbGUtY29udHJvbCAuaXMtZm9jdXNlZCBbY2xhc3NePSdibWQtbGFiZWwnXSxcbi5jdXN0b20tZmlsZS1jb250cm9sIC5pcy1mb2N1c2VkIFtjbGFzcyo9JyBibWQtbGFiZWwnXSwgLmN1c3RvbS1maWxlLWNvbnRyb2wuaXMtZm9jdXNlZCBbY2xhc3NePSdibWQtbGFiZWwnXSxcbi5jdXN0b20tZmlsZS1jb250cm9sLmlzLWZvY3VzZWQgW2NsYXNzKj0nIGJtZC1sYWJlbCddIHtcbiAgY29sb3I6ICMwMDk2ODg7IH1cblxuLmN1c3RvbS1maWxlLWNvbnRyb2wgLmlzLWZvY3VzZWQgLmJtZC1sYWJlbC1wbGFjZWhvbGRlciwgLmN1c3RvbS1maWxlLWNvbnRyb2wuaXMtZm9jdXNlZCAuYm1kLWxhYmVsLXBsYWNlaG9sZGVyIHtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4yNik7IH1cblxuLmN1c3RvbS1maWxlLWNvbnRyb2wgLmlzLWZvY3VzZWQgLmZvcm0tY29udHJvbCwgLmN1c3RvbS1maWxlLWNvbnRyb2wgLmlzLWZvY3VzZWQgLmN1c3RvbS1maWxlLWNvbnRyb2wsIC5jdXN0b20tZmlsZS1jb250cm9sLmlzLWZvY3VzZWQgLmZvcm0tY29udHJvbCwgLmN1c3RvbS1maWxlLWNvbnRyb2wuaXMtZm9jdXNlZCAuY3VzdG9tLWZpbGUtY29udHJvbCB7XG4gIGJvcmRlci1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjI2KTsgfVxuXG4uY3VzdG9tLWZpbGUtY29udHJvbCAuaXMtZm9jdXNlZCAuYm1kLWhlbHAsIC5jdXN0b20tZmlsZS1jb250cm9sLmlzLWZvY3VzZWQgLmJtZC1oZWxwIHtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41NCk7IH1cblxuLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAxcHgpOyB9XG5cbi5zd2l0Y2ggbGFiZWwge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmctbGVmdDogMi40Mzc1cmVtOyB9XG4gIC5zd2l0Y2ggbGFiZWwgLmJtZC1zd2l0Y2gtdHJhY2sge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDAuMzEyNXJlbTtcbiAgICBsZWZ0OiAwO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aWR0aDogMi4xMjVyZW07XG4gICAgaGVpZ2h0OiAwLjg3NXJlbTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCByZ2JhKDAsIDAsIDAsIDAuMjYpIDAlLCByZ2JhKDAsIDAsIDAsIDAuMjYpIDUwJSwgIzQ5ZGNjZSA1MCUsICM0OWRjY2UgMTAwJSk7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCU7XG4gICAgYmFja2dyb3VuZC1zaXplOiA0LjI1cmVtIDAuODc1cmVtO1xuICAgIGJvcmRlci1yYWRpdXM6IDIuMTI1cmVtO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtcG9zaXRpb24gMC4ycyBlYXNlLWluOyB9XG4gICAgLnN3aXRjaCBsYWJlbCAuYm1kLXN3aXRjaC10cmFjazo6YWZ0ZXIge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gICAgICB3aWR0aDogMS4yNXJlbTtcbiAgICAgIGhlaWdodDogMS4yNXJlbTtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBiYWNrZ3JvdW5kOiAjZjFmMWYxO1xuICAgICAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgICAgIGJveC1zaGFkb3c6IDAgMXB4IDNweCByZ2JhKDAsIDAsIDAsIDAuNSk7XG4gICAgICB0cmFuc2l0aW9uOiBsZWZ0IDAuMnMgZWFzZS1pbiwgYmFja2dyb3VuZC1jb2xvciAwLjJzIGVhc2UtaW4sIHRyYW5zZm9ybSAwLjNzIGVhc2U7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7IH1cbiAgICAuc3dpdGNoIGxhYmVsIC5ibWQtc3dpdGNoLXRyYWNrOmFjdGl2ZTo6YWZ0ZXIge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpIHNjYWxlM2QoMS4xNSwgMC44NSwgMSk7IH1cbiAgLnN3aXRjaCBsYWJlbCBpbnB1dCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBvcGFjaXR5OiAwOyB9XG4gICAgLnN3aXRjaCBsYWJlbCBpbnB1dDpjaGVja2VkICsgLmJtZC1zd2l0Y2gtdHJhY2sge1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTEwMCU7IH1cbiAgICAgIC5zd2l0Y2ggbGFiZWwgaW5wdXQ6Y2hlY2tlZCArIC5ibWQtc3dpdGNoLXRyYWNrOjphZnRlciB7XG4gICAgICAgIGxlZnQ6IGNhbGMoMTAwJSAtIDEuMjVyZW0pO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA5Njg4OyB9XG4gICAgLnN3aXRjaCBsYWJlbCBpbnB1dDpkaXNhYmxlZCArIC5ibWQtc3dpdGNoLXRyYWNrOmFjdGl2ZTo6YWZ0ZXIge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpOyB9XG4gICAgLnN3aXRjaCBsYWJlbCBpbnB1dDpkaXNhYmxlZCArIC5ibWQtc3dpdGNoLXRyYWNrIHtcbiAgICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4xMik7IH1cbiAgICAgIC5zd2l0Y2ggbGFiZWwgaW5wdXQ6ZGlzYWJsZWQgKyAuYm1kLXN3aXRjaC10cmFjazo6YWZ0ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjYmRiZGJkOyB9XG5cbi5yYWRpbyBsYWJlbCxcbmxhYmVsLnJhZGlvLWlubGluZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZy1sZWZ0OiAxLjU2MjVyZW07IH1cbiAgLnJhZGlvIGxhYmVsIC5ibWQtcmFkaW8tb3V0ZXItY2lyY2xlLFxuICAucmFkaW8gbGFiZWwgLmJtZC1yYWRpby1pbm5lci1jaXJjbGUsXG4gIGxhYmVsLnJhZGlvLWlubGluZSAuYm1kLXJhZGlvLW91dGVyLWNpcmNsZSxcbiAgbGFiZWwucmFkaW8taW5saW5lIC5ibWQtcmFkaW8taW5uZXItY2lyY2xlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwLjEyNXJlbTtcbiAgICBsZWZ0OiAwO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aWR0aDogMS4yNXJlbTtcbiAgICBoZWlnaHQ6IDEuMjVyZW07XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDAuMnM7IH1cbiAgICAucmFkaW8gbGFiZWwgLmJtZC1yYWRpby1vdXRlci1jaXJjbGUuYm1kLXJhZGlvLW91dGVyLWNpcmNsZSxcbiAgICAucmFkaW8gbGFiZWwgLmJtZC1yYWRpby1pbm5lci1jaXJjbGUuYm1kLXJhZGlvLW91dGVyLWNpcmNsZSxcbiAgICBsYWJlbC5yYWRpby1pbmxpbmUgLmJtZC1yYWRpby1vdXRlci1jaXJjbGUuYm1kLXJhZGlvLW91dGVyLWNpcmNsZSxcbiAgICBsYWJlbC5yYWRpby1pbmxpbmUgLmJtZC1yYWRpby1pbm5lci1jaXJjbGUuYm1kLXJhZGlvLW91dGVyLWNpcmNsZSB7XG4gICAgICBib3JkZXI6IDAuMTI1cmVtIHNvbGlkIHJnYmEoMCwgMCwgMCwgMC41NCk7XG4gICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgZWFzZSAuMjhzOyB9XG4gICAgLnJhZGlvIGxhYmVsIC5ibWQtcmFkaW8tb3V0ZXItY2lyY2xlLmJtZC1yYWRpby1pbm5lci1jaXJjbGUsXG4gICAgLnJhZGlvIGxhYmVsIC5ibWQtcmFkaW8taW5uZXItY2lyY2xlLmJtZC1yYWRpby1pbm5lci1jaXJjbGUsXG4gICAgbGFiZWwucmFkaW8taW5saW5lIC5ibWQtcmFkaW8tb3V0ZXItY2lyY2xlLmJtZC1yYWRpby1pbm5lci1jaXJjbGUsXG4gICAgbGFiZWwucmFkaW8taW5saW5lIC5ibWQtcmFkaW8taW5uZXItY2lyY2xlLmJtZC1yYWRpby1pbm5lci1jaXJjbGUge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAwOTY4ODtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSBlYXNlIC4yOHM7XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMCwgMCwgMCk7IH1cbiAgICAgIC5yYWRpbyBsYWJlbCAuYm1kLXJhZGlvLW91dGVyLWNpcmNsZS5ibWQtcmFkaW8taW5uZXItY2lyY2xlOjphZnRlcixcbiAgICAgIC5yYWRpbyBsYWJlbCAuYm1kLXJhZGlvLWlubmVyLWNpcmNsZS5ibWQtcmFkaW8taW5uZXItY2lyY2xlOjphZnRlcixcbiAgICAgIGxhYmVsLnJhZGlvLWlubGluZSAuYm1kLXJhZGlvLW91dGVyLWNpcmNsZS5ibWQtcmFkaW8taW5uZXItY2lyY2xlOjphZnRlcixcbiAgICAgIGxhYmVsLnJhZGlvLWlubGluZSAuYm1kLXJhZGlvLWlubmVyLWNpcmNsZS5ibWQtcmFkaW8taW5uZXItY2lyY2xlOjphZnRlciB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAtMWVtO1xuICAgICAgICBsZWZ0OiAtMWVtO1xuICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDUwcHg7XG4gICAgICAgIGhlaWdodDogNTBweDtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS41LCAxLjUsIDEpOyB9XG4gIC5yYWRpbyBsYWJlbCBpbnB1dFt0eXBlPXJhZGlvXSxcbiAgbGFiZWwucmFkaW8taW5saW5lIGlucHV0W3R5cGU9cmFkaW9dIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogMDtcbiAgICB6LWluZGV4OiAtMTtcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgbWFyZ2luOiAwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgb3BhY2l0eTogMDsgfVxuICAgIC5yYWRpbyBsYWJlbCBpbnB1dFt0eXBlPXJhZGlvXTpjaGVja2VkIH4gLmJtZC1yYWRpby1pbm5lci1jaXJjbGUsXG4gICAgbGFiZWwucmFkaW8taW5saW5lIGlucHV0W3R5cGU9cmFkaW9dOmNoZWNrZWQgfiAuYm1kLXJhZGlvLWlubmVyLWNpcmNsZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA5Njg4OyB9XG4gICAgLnJhZGlvIGxhYmVsIGlucHV0W3R5cGU9cmFkaW9dOmNoZWNrZWQgfiAuYm1kLXJhZGlvLW91dGVyLWNpcmNsZSxcbiAgICBsYWJlbC5yYWRpby1pbmxpbmUgaW5wdXRbdHlwZT1yYWRpb106Y2hlY2tlZCB+IC5ibWQtcmFkaW8tb3V0ZXItY2lyY2xlIHtcbiAgICAgIGJvcmRlci1jb2xvcjogIzAwOTY4ODsgfVxuICAgIC5yYWRpbyBsYWJlbCBpbnB1dFt0eXBlPXJhZGlvXTpjaGVja2VkIH4gLmJtZC1yYWRpby1pbm5lci1jaXJjbGUsXG4gICAgbGFiZWwucmFkaW8taW5saW5lIGlucHV0W3R5cGU9cmFkaW9dOmNoZWNrZWQgfiAuYm1kLXJhZGlvLWlubmVyLWNpcmNsZSB7XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC41NSwgMC41NSwgMSk7IH1cbiAgICAgIC5yYWRpbyBsYWJlbCBpbnB1dFt0eXBlPXJhZGlvXTpjaGVja2VkIH4gLmJtZC1yYWRpby1pbm5lci1jaXJjbGU6OmFmdGVyLFxuICAgICAgbGFiZWwucmFkaW8taW5saW5lIGlucHV0W3R5cGU9cmFkaW9dOmNoZWNrZWQgfiAuYm1kLXJhZGlvLWlubmVyLWNpcmNsZTo6YWZ0ZXIge1xuICAgICAgICBhbmltYXRpb246IHJpcHBsZU9uOyB9XG4gICAgICAgIC5pcy1mb2N1c2VkIC5yYWRpbyBsYWJlbCBpbnB1dFt0eXBlPXJhZGlvXTpjaGVja2VkIH4gLmJtZC1yYWRpby1pbm5lci1jaXJjbGU6OmFmdGVyLCAuaXMtZm9jdXNlZFxuICAgICAgICBsYWJlbC5yYWRpby1pbmxpbmUgaW5wdXRbdHlwZT1yYWRpb106Y2hlY2tlZCB+IC5ibWQtcmFkaW8taW5uZXItY2lyY2xlOjphZnRlciB7XG4gICAgICAgICAgYW5pbWF0aW9uOiByaXBwbGVPbiA1MDBtczsgfVxuICAgIC5yYWRpbyBsYWJlbCBpbnB1dFt0eXBlPXJhZGlvXTpub3QoOmNoZWNrZWQpIH4gLmJtZC1yYWRpby1pbm5lci1jaXJjbGU6OmFmdGVyLFxuICAgIGxhYmVsLnJhZGlvLWlubGluZSBpbnB1dFt0eXBlPXJhZGlvXTpub3QoOmNoZWNrZWQpIH4gLmJtZC1yYWRpby1pbm5lci1jaXJjbGU6OmFmdGVyIHtcbiAgICAgIGFuaW1hdGlvbjogcmlwcGxlT2ZmIDUwMG1zOyB9XG4gICAgLnJhZGlvIGxhYmVsIGlucHV0W3R5cGU9cmFkaW9dW2Rpc2FibGVkXSArIC5ibWQtcmFkaW8tb3V0ZXItY2lyY2xlLCAucmFkaW8gbGFiZWwgaW5wdXRbdHlwZT1yYWRpb106ZGlzYWJsZWQgKyAuYm1kLXJhZGlvLW91dGVyLWNpcmNsZSxcbiAgICBmaWVsZHNldFtkaXNhYmxlZF0gLnJhZGlvIGxhYmVsIGlucHV0W3R5cGU9cmFkaW9dICsgLmJtZC1yYWRpby1vdXRlci1jaXJjbGUsXG4gICAgbGFiZWwucmFkaW8taW5saW5lIGlucHV0W3R5cGU9cmFkaW9dW2Rpc2FibGVkXSArIC5ibWQtcmFkaW8tb3V0ZXItY2lyY2xlLFxuICAgIGxhYmVsLnJhZGlvLWlubGluZSBpbnB1dFt0eXBlPXJhZGlvXTpkaXNhYmxlZCArIC5ibWQtcmFkaW8tb3V0ZXItY2lyY2xlLFxuICAgIGZpZWxkc2V0W2Rpc2FibGVkXVxuICAgIGxhYmVsLnJhZGlvLWlubGluZSBpbnB1dFt0eXBlPXJhZGlvXSArIC5ibWQtcmFkaW8tb3V0ZXItY2lyY2xlIHtcbiAgICAgIGN1cnNvcjogZGVmYXVsdDsgfVxuICAgIC5yYWRpbyBsYWJlbCBpbnB1dFt0eXBlPXJhZGlvXVtkaXNhYmxlZF0gfiAuYm1kLXJhZGlvLWlubmVyLWNpcmNsZSwgLnJhZGlvIGxhYmVsIGlucHV0W3R5cGU9cmFkaW9dOmRpc2FibGVkIH4gLmJtZC1yYWRpby1pbm5lci1jaXJjbGUsXG4gICAgZmllbGRzZXRbZGlzYWJsZWRdIC5yYWRpbyBsYWJlbCBpbnB1dFt0eXBlPXJhZGlvXSB+IC5ibWQtcmFkaW8taW5uZXItY2lyY2xlLFxuICAgIGxhYmVsLnJhZGlvLWlubGluZSBpbnB1dFt0eXBlPXJhZGlvXVtkaXNhYmxlZF0gfiAuYm1kLXJhZGlvLWlubmVyLWNpcmNsZSxcbiAgICBsYWJlbC5yYWRpby1pbmxpbmUgaW5wdXRbdHlwZT1yYWRpb106ZGlzYWJsZWQgfiAuYm1kLXJhZGlvLWlubmVyLWNpcmNsZSxcbiAgICBmaWVsZHNldFtkaXNhYmxlZF1cbiAgICBsYWJlbC5yYWRpby1pbmxpbmUgaW5wdXRbdHlwZT1yYWRpb10gfiAuYm1kLXJhZGlvLWlubmVyLWNpcmNsZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMjYpOyB9XG4gICAgLnJhZGlvIGxhYmVsIGlucHV0W3R5cGU9cmFkaW9dW2Rpc2FibGVkXSB+IC5ibWQtcmFkaW8tb3V0ZXItY2lyY2xlLCAucmFkaW8gbGFiZWwgaW5wdXRbdHlwZT1yYWRpb106ZGlzYWJsZWQgfiAuYm1kLXJhZGlvLW91dGVyLWNpcmNsZSxcbiAgICBmaWVsZHNldFtkaXNhYmxlZF0gLnJhZGlvIGxhYmVsIGlucHV0W3R5cGU9cmFkaW9dIH4gLmJtZC1yYWRpby1vdXRlci1jaXJjbGUsXG4gICAgbGFiZWwucmFkaW8taW5saW5lIGlucHV0W3R5cGU9cmFkaW9dW2Rpc2FibGVkXSB+IC5ibWQtcmFkaW8tb3V0ZXItY2lyY2xlLFxuICAgIGxhYmVsLnJhZGlvLWlubGluZSBpbnB1dFt0eXBlPXJhZGlvXTpkaXNhYmxlZCB+IC5ibWQtcmFkaW8tb3V0ZXItY2lyY2xlLFxuICAgIGZpZWxkc2V0W2Rpc2FibGVkXVxuICAgIGxhYmVsLnJhZGlvLWlubGluZSBpbnB1dFt0eXBlPXJhZGlvXSB+IC5ibWQtcmFkaW8tb3V0ZXItY2lyY2xlIHtcbiAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjI2KTsgfVxuICAgIC5iZy1pbnZlcnNlIC5yYWRpbyBsYWJlbCBpbnB1dFt0eXBlPXJhZGlvXVtkaXNhYmxlZF0gfiAuYm1kLXJhZGlvLWlubmVyLWNpcmNsZSwgLmJnLWludmVyc2UgLnJhZGlvIGxhYmVsIGlucHV0W3R5cGU9cmFkaW9dOmRpc2FibGVkIH4gLmJtZC1yYWRpby1pbm5lci1jaXJjbGUsIC5iZy1pbnZlcnNlXG4gICAgZmllbGRzZXRbZGlzYWJsZWRdIC5yYWRpbyBsYWJlbCBpbnB1dFt0eXBlPXJhZGlvXSB+IC5ibWQtcmFkaW8taW5uZXItY2lyY2xlLCAuYmctaW52ZXJzZVxuICAgIGxhYmVsLnJhZGlvLWlubGluZSBpbnB1dFt0eXBlPXJhZGlvXVtkaXNhYmxlZF0gfiAuYm1kLXJhZGlvLWlubmVyLWNpcmNsZSwgLmJnLWludmVyc2VcbiAgICBsYWJlbC5yYWRpby1pbmxpbmUgaW5wdXRbdHlwZT1yYWRpb106ZGlzYWJsZWQgfiAuYm1kLXJhZGlvLWlubmVyLWNpcmNsZSwgLmJnLWludmVyc2VcbiAgICBmaWVsZHNldFtkaXNhYmxlZF1cbiAgICBsYWJlbC5yYWRpby1pbmxpbmUgaW5wdXRbdHlwZT1yYWRpb10gfiAuYm1kLXJhZGlvLWlubmVyLWNpcmNsZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMyk7IH1cbiAgICAuYmctaW52ZXJzZSAucmFkaW8gbGFiZWwgaW5wdXRbdHlwZT1yYWRpb11bZGlzYWJsZWRdIH4gLmJtZC1yYWRpby1vdXRlci1jaXJjbGUsIC5iZy1pbnZlcnNlIC5yYWRpbyBsYWJlbCBpbnB1dFt0eXBlPXJhZGlvXTpkaXNhYmxlZCB+IC5ibWQtcmFkaW8tb3V0ZXItY2lyY2xlLCAuYmctaW52ZXJzZVxuICAgIGZpZWxkc2V0W2Rpc2FibGVkXSAucmFkaW8gbGFiZWwgaW5wdXRbdHlwZT1yYWRpb10gfiAuYm1kLXJhZGlvLW91dGVyLWNpcmNsZSwgLmJnLWludmVyc2VcbiAgICBsYWJlbC5yYWRpby1pbmxpbmUgaW5wdXRbdHlwZT1yYWRpb11bZGlzYWJsZWRdIH4gLmJtZC1yYWRpby1vdXRlci1jaXJjbGUsIC5iZy1pbnZlcnNlXG4gICAgbGFiZWwucmFkaW8taW5saW5lIGlucHV0W3R5cGU9cmFkaW9dOmRpc2FibGVkIH4gLmJtZC1yYWRpby1vdXRlci1jaXJjbGUsIC5iZy1pbnZlcnNlXG4gICAgZmllbGRzZXRbZGlzYWJsZWRdXG4gICAgbGFiZWwucmFkaW8taW5saW5lIGlucHV0W3R5cGU9cmFkaW9dIH4gLmJtZC1yYWRpby1vdXRlci1jaXJjbGUge1xuICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMyk7IH1cblxuQGtleWZyYW1lcyByaXBwbGVPbiB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwOyB9XG4gIDUwJSB7XG4gICAgb3BhY2l0eTogMC4yOyB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7IH0gfVxuXG5Aa2V5ZnJhbWVzIHJpcHBsZU9mZiB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwOyB9XG4gIDUwJSB7XG4gICAgb3BhY2l0eTogMC4yOyB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7IH0gfVxuXG5mb3JtIHtcbiAgbWFyZ2luLWJvdHRvbTogMS4xMjVyZW07IH1cbiAgLm5hdmJhciBmb3JtIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgLm5hdmJhciBmb3JtIC5ibWQtZm9ybS1ncm91cCB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBwYWRkaW5nLXRvcDogMDsgfVxuICAgIC5uYXZiYXIgZm9ybSAuYnRuLCAubmF2YmFyIGZvcm0gLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi5mb3JtLWNvbnRyb2wsIC5jdXN0b20tZmlsZS1jb250cm9sIHtcbiAgYmFja2dyb3VuZDogbm8tcmVwZWF0IGNlbnRlciBib3R0b20sIGNlbnRlciBjYWxjKDEwMCUgLSAxcHgpO1xuICBiYWNrZ3JvdW5kLXNpemU6IDAgMTAwJSwgMTAwJSAxMDAlO1xuICBib3JkZXI6IDA7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQgMHMgZWFzZS1vdXQ7IH1cbiAgLmZvcm0tY29udHJvbDpmb2N1cywgLmN1c3RvbS1maWxlLWNvbnRyb2w6Zm9jdXMsXG4gIC5ibWQtZm9ybS1ncm91cC5pcy1mb2N1c2VkIC5mb3JtLWNvbnRyb2wsXG4gIC5ibWQtZm9ybS1ncm91cC5pcy1mb2N1c2VkIC5jdXN0b20tZmlsZS1jb250cm9sIHtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCUgMTAwJSwgMTAwJSAxMDAlO1xuICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7IH1cblxuLmJtZC1oZWxwIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBkaXNwbGF5OiBub25lO1xuICBmb250LXNpemU6IC44cmVtO1xuICBmb250LXdlaWdodDogbm9ybWFsOyB9XG4gIC5ibWQtZm9ybS1ncm91cC5pcy1mb2N1c2VkIC5ibWQtaGVscCB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgLmJtZC1oZWxwOm50aC1vZi10eXBlKDIpIHtcbiAgICBwYWRkaW5nLXRvcDogMXJlbTsgfVxuICAuYm1kLWhlbHAgKyAuYm1kLWhlbHAge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi5yYWRpbyBsYWJlbCxcbi5pcy1mb2N1c2VkIC5yYWRpbyBsYWJlbCxcbi5yYWRpby1pbmxpbmUsXG4uaXMtZm9jdXNlZFxuLnJhZGlvLWlubGluZSxcbi5jaGVja2JveCBsYWJlbCxcbi5pcy1mb2N1c2VkXG4uY2hlY2tib3ggbGFiZWwsXG4uY2hlY2tib3gtaW5saW5lLFxuLmlzLWZvY3VzZWRcbi5jaGVja2JveC1pbmxpbmUsXG4uc3dpdGNoIGxhYmVsLFxuLmlzLWZvY3VzZWRcbi5zd2l0Y2ggbGFiZWwge1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjI2KTsgfVxuICAucmFkaW8gbGFiZWw6Zm9jdXMsIC5yYWRpbyBsYWJlbDphY3RpdmUsIC5yYWRpbyBsYWJlbDpob3ZlcixcbiAgLmlzLWZvY3VzZWQgLnJhZGlvIGxhYmVsOmZvY3VzLFxuICAuaXMtZm9jdXNlZCAucmFkaW8gbGFiZWw6YWN0aXZlLFxuICAuaXMtZm9jdXNlZCAucmFkaW8gbGFiZWw6aG92ZXIsXG4gIC5yYWRpby1pbmxpbmU6Zm9jdXMsXG4gIC5yYWRpby1pbmxpbmU6YWN0aXZlLFxuICAucmFkaW8taW5saW5lOmhvdmVyLFxuICAuaXMtZm9jdXNlZFxuICAucmFkaW8taW5saW5lOmZvY3VzLFxuICAuaXMtZm9jdXNlZFxuICAucmFkaW8taW5saW5lOmFjdGl2ZSxcbiAgLmlzLWZvY3VzZWRcbiAgLnJhZGlvLWlubGluZTpob3ZlcixcbiAgLmNoZWNrYm94IGxhYmVsOmZvY3VzLFxuICAuY2hlY2tib3ggbGFiZWw6YWN0aXZlLFxuICAuY2hlY2tib3ggbGFiZWw6aG92ZXIsXG4gIC5pcy1mb2N1c2VkXG4gIC5jaGVja2JveCBsYWJlbDpmb2N1cyxcbiAgLmlzLWZvY3VzZWRcbiAgLmNoZWNrYm94IGxhYmVsOmFjdGl2ZSxcbiAgLmlzLWZvY3VzZWRcbiAgLmNoZWNrYm94IGxhYmVsOmhvdmVyLFxuICAuY2hlY2tib3gtaW5saW5lOmZvY3VzLFxuICAuY2hlY2tib3gtaW5saW5lOmFjdGl2ZSxcbiAgLmNoZWNrYm94LWlubGluZTpob3ZlcixcbiAgLmlzLWZvY3VzZWRcbiAgLmNoZWNrYm94LWlubGluZTpmb2N1cyxcbiAgLmlzLWZvY3VzZWRcbiAgLmNoZWNrYm94LWlubGluZTphY3RpdmUsXG4gIC5pcy1mb2N1c2VkXG4gIC5jaGVja2JveC1pbmxpbmU6aG92ZXIsXG4gIC5zd2l0Y2ggbGFiZWw6Zm9jdXMsXG4gIC5zd2l0Y2ggbGFiZWw6YWN0aXZlLFxuICAuc3dpdGNoIGxhYmVsOmhvdmVyLFxuICAuaXMtZm9jdXNlZFxuICAuc3dpdGNoIGxhYmVsOmZvY3VzLFxuICAuaXMtZm9jdXNlZFxuICAuc3dpdGNoIGxhYmVsOmFjdGl2ZSxcbiAgLmlzLWZvY3VzZWRcbiAgLnN3aXRjaCBsYWJlbDpob3ZlciB7XG4gICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41NCk7IH1cbiAgLnJhZGlvIGxhYmVsIGxhYmVsOmhhcyhpbnB1dFt0eXBlPXJhZGlvXVtkaXNhYmxlZF0pLCAucmFkaW8gbGFiZWwgbGFiZWw6aGFzKGlucHV0W3R5cGU9cmFkaW9dW2Rpc2FibGVkXSk6aG92ZXIsIC5yYWRpbyBsYWJlbCBsYWJlbDpoYXMoaW5wdXRbdHlwZT1yYWRpb11bZGlzYWJsZWRdKTpmb2N1cyxcbiAgLnJhZGlvIGxhYmVsIGxhYmVsOmhhcyhpbnB1dFt0eXBlPWNoZWNrYm94XVtkaXNhYmxlZF0pLFxuICAucmFkaW8gbGFiZWwgbGFiZWw6aGFzKGlucHV0W3R5cGU9Y2hlY2tib3hdW2Rpc2FibGVkXSk6aG92ZXIsXG4gIC5yYWRpbyBsYWJlbCBsYWJlbDpoYXMoaW5wdXRbdHlwZT1jaGVja2JveF1bZGlzYWJsZWRdKTpmb2N1cyxcbiAgZmllbGRzZXRbZGlzYWJsZWRdIC5yYWRpbyBsYWJlbCxcbiAgZmllbGRzZXRbZGlzYWJsZWRdIC5yYWRpbyBsYWJlbDpob3ZlcixcbiAgZmllbGRzZXRbZGlzYWJsZWRdIC5yYWRpbyBsYWJlbDpmb2N1cyxcbiAgLmlzLWZvY3VzZWQgLnJhZGlvIGxhYmVsIGxhYmVsOmhhcyhpbnB1dFt0eXBlPXJhZGlvXVtkaXNhYmxlZF0pLFxuICAuaXMtZm9jdXNlZCAucmFkaW8gbGFiZWwgbGFiZWw6aGFzKGlucHV0W3R5cGU9cmFkaW9dW2Rpc2FibGVkXSk6aG92ZXIsXG4gIC5pcy1mb2N1c2VkIC5yYWRpbyBsYWJlbCBsYWJlbDpoYXMoaW5wdXRbdHlwZT1yYWRpb11bZGlzYWJsZWRdKTpmb2N1cyxcbiAgLmlzLWZvY3VzZWQgLnJhZGlvIGxhYmVsIGxhYmVsOmhhcyhpbnB1dFt0eXBlPWNoZWNrYm94XVtkaXNhYmxlZF0pLFxuICAuaXMtZm9jdXNlZCAucmFkaW8gbGFiZWwgbGFiZWw6aGFzKGlucHV0W3R5cGU9Y2hlY2tib3hdW2Rpc2FibGVkXSk6aG92ZXIsXG4gIC5pcy1mb2N1c2VkIC5yYWRpbyBsYWJlbCBsYWJlbDpoYXMoaW5wdXRbdHlwZT1jaGVja2JveF1bZGlzYWJsZWRdKTpmb2N1cyxcbiAgZmllbGRzZXRbZGlzYWJsZWRdXG4gIC5pcy1mb2N1c2VkIC5yYWRpbyBsYWJlbCxcbiAgZmllbGRzZXRbZGlzYWJsZWRdXG4gIC5pcy1mb2N1c2VkIC5yYWRpbyBsYWJlbDpob3ZlcixcbiAgZmllbGRzZXRbZGlzYWJsZWRdXG4gIC5pcy1mb2N1c2VkIC5yYWRpbyBsYWJlbDpmb2N1cyxcbiAgLnJhZGlvLWlubGluZSBsYWJlbDpoYXMoaW5wdXRbdHlwZT1yYWRpb11bZGlzYWJsZWRdKSxcbiAgLnJhZGlvLWlubGluZSBsYWJlbDpoYXMoaW5wdXRbdHlwZT1yYWRpb11bZGlzYWJsZWRdKTpob3ZlcixcbiAgLnJhZGlvLWlubGluZSBsYWJlbDpoYXMoaW5wdXRbdHlwZT1yYWRpb11bZGlzYWJsZWRdKTpmb2N1cyxcbiAgLnJhZGlvLWlubGluZSBsYWJlbDpoYXMoaW5wdXRbdHlwZT1jaGVja2JveF1bZGlzYWJsZWRdKSxcbiAgLnJhZGlvLWlubGluZSBsYWJlbDpoYXMoaW5wdXRbdHlwZT1jaGVja2JveF1bZGlzYWJsZWRdKTpob3ZlcixcbiAgLnJhZGlvLWlubGluZSBsYWJlbDpoYXMoaW5wdXRbdHlwZT1jaGVja2JveF1bZGlzYWJsZWRdKTpmb2N1cyxcbiAgZmllbGRzZXRbZGlzYWJsZWRdXG4gIC5yYWRpby1pbmxpbmUsXG4gIGZpZWxkc2V0W2Rpc2FibGVkXVxuICAucmFkaW8taW5saW5lOmhvdmVyLFxuICBmaWVsZHNldFtkaXNhYmxlZF1cbiAgLnJhZGlvLWlubGluZTpmb2N1cyxcbiAgLmlzLWZvY3VzZWRcbiAgLnJhZGlvLWlubGluZSBsYWJlbDpoYXMoaW5wdXRbdHlwZT1yYWRpb11bZGlzYWJsZWRdKSxcbiAgLmlzLWZvY3VzZWRcbiAgLnJhZGlvLWlubGluZSBsYWJlbDpoYXMoaW5wdXRbdHlwZT1yYWRpb11bZGlzYWJsZWRdKTpob3ZlcixcbiAgLmlzLWZvY3VzZWRcbiAgLnJhZGlvLWlubGluZSBsYWJlbDpoYXMoaW5wdXRbdHlwZT1yYWRpb11bZGlzYWJsZWRdKTpmb2N1cyxcbiAgLmlzLWZvY3VzZWRcbiAgLnJhZGlvLWlubGluZSBsYWJlbDpoYXMoaW5wdXRbdHlwZT1jaGVja2JveF1bZGlzYWJsZWRdKSxcbiAgLmlzLWZvY3VzZWRcbiAgLnJhZGlvLWlubGluZSBsYWJlbDpoYXMoaW5wdXRbdHlwZT1jaGVja2JveF1bZGlzYWJsZWRdKTpob3ZlcixcbiAgLmlzLWZvY3VzZWRcbiAgLnJhZGlvLWlubGluZSBsYWJlbDpoYXMoaW5wdXRbdHlwZT1jaGVja2JveF1bZGlzYWJsZWRdKTpmb2N1cyxcbiAgZmllbGRzZXRbZGlzYWJsZWRdXG4gIC5pcy1mb2N1c2VkXG4gIC5yYWRpby1pbmxpbmUsXG4gIGZpZWxkc2V0W2Rpc2FibGVkXVxuICAuaXMtZm9jdXNlZFxuICAucmFkaW8taW5saW5lOmhvdmVyLFxuICBmaWVsZHNldFtkaXNhYmxlZF1cbiAgLmlzLWZvY3VzZWRcbiAgLnJhZGlvLWlubGluZTpmb2N1cyxcbiAgLmNoZWNrYm94IGxhYmVsIGxhYmVsOmhhcyhpbnB1dFt0eXBlPXJhZGlvXVtkaXNhYmxlZF0pLFxuICAuY2hlY2tib3ggbGFiZWwgbGFiZWw6aGFzKGlucHV0W3R5cGU9cmFkaW9dW2Rpc2FibGVkXSk6aG92ZXIsXG4gIC5jaGVja2JveCBsYWJlbCBsYWJlbDpoYXMoaW5wdXRbdHlwZT1yYWRpb11bZGlzYWJsZWRdKTpmb2N1cyxcbiAgLmNoZWNrYm94IGxhYmVsIGxhYmVsOmhhcyhpbnB1dFt0eXBlPWNoZWNrYm94XVtkaXNhYmxlZF0pLFxuICAuY2hlY2tib3ggbGFiZWwgbGFiZWw6aGFzKGlucHV0W3R5cGU9Y2hlY2tib3hdW2Rpc2FibGVkXSk6aG92ZXIsXG4gIC5jaGVja2JveCBsYWJlbCBsYWJlbDpoYXMoaW5wdXRbdHlwZT1jaGVja2JveF1bZGlzYWJsZWRdKTpmb2N1cyxcbiAgZmllbGRzZXRbZGlzYWJsZWRdXG4gIC5jaGVja2JveCBsYWJlbCxcbiAgZmllbGRzZXRbZGlzYWJsZWRdXG4gIC5jaGVja2JveCBsYWJlbDpob3ZlcixcbiAgZmllbGRzZXRbZGlzYWJsZWRdXG4gIC5jaGVja2JveCBsYWJlbDpmb2N1cyxcbiAgLmlzLWZvY3VzZWRcbiAgLmNoZWNrYm94IGxhYmVsIGxhYmVsOmhhcyhpbnB1dFt0eXBlPXJhZGlvXVtkaXNhYmxlZF0pLFxuICAuaXMtZm9jdXNlZFxuICAuY2hlY2tib3ggbGFiZWwgbGFiZWw6aGFzKGlucHV0W3R5cGU9cmFkaW9dW2Rpc2FibGVkXSk6aG92ZXIsXG4gIC5pcy1mb2N1c2VkXG4gIC5jaGVja2JveCBsYWJlbCBsYWJlbDpoYXMoaW5wdXRbdHlwZT1yYWRpb11bZGlzYWJsZWRdKTpmb2N1cyxcbiAgLmlzLWZvY3VzZWRcbiAgLmNoZWNrYm94IGxhYmVsIGxhYmVsOmhhcyhpbnB1dFt0eXBlPWNoZWNrYm94XVtkaXNhYmxlZF0pLFxuICAuaXMtZm9jdXNlZFxuICAuY2hlY2tib3ggbGFiZWwgbGFiZWw6aGFzKGlucHV0W3R5cGU9Y2hlY2tib3hdW2Rpc2FibGVkXSk6aG92ZXIsXG4gIC5pcy1mb2N1c2VkXG4gIC5jaGVja2JveCBsYWJlbCBsYWJlbDpoYXMoaW5wdXRbdHlwZT1jaGVja2JveF1bZGlzYWJsZWRdKTpmb2N1cyxcbiAgZmllbGRzZXRbZGlzYWJsZWRdXG4gIC5pcy1mb2N1c2VkXG4gIC5jaGVja2JveCBsYWJlbCxcbiAgZmllbGRzZXRbZGlzYWJsZWRdXG4gIC5pcy1mb2N1c2VkXG4gIC5jaGVja2JveCBsYWJlbDpob3ZlcixcbiAgZmllbGRzZXRbZGlzYWJsZWRdXG4gIC5pcy1mb2N1c2VkXG4gIC5jaGVja2JveCBsYWJlbDpmb2N1cyxcbiAgLmNoZWNrYm94LWlubGluZSBsYWJlbDpoYXMoaW5wdXRbdHlwZT1yYWRpb11bZGlzYWJsZWRdKSxcbiAgLmNoZWNrYm94LWlubGluZSBsYWJlbDpoYXMoaW5wdXRbdHlwZT1yYWRpb11bZGlzYWJsZWRdKTpob3ZlcixcbiAgLmNoZWNrYm94LWlubGluZSBsYWJlbDpoYXMoaW5wdXRbdHlwZT1yYWRpb11bZGlzYWJsZWRdKTpmb2N1cyxcbiAgLmNoZWNrYm94LWlubGluZSBsYWJlbDpoYXMoaW5wdXRbdHlwZT1jaGVja2JveF1bZGlzYWJsZWRdKSxcbiAgLmNoZWNrYm94LWlubGluZSBsYWJlbDpoYXMoaW5wdXRbdHlwZT1jaGVja2JveF1bZGlzYWJsZWRdKTpob3ZlcixcbiAgLmNoZWNrYm94LWlubGluZSBsYWJlbDpoYXMoaW5wdXRbdHlwZT1jaGVja2JveF1bZGlzYWJsZWRdKTpmb2N1cyxcbiAgZmllbGRzZXRbZGlzYWJsZWRdXG4gIC5jaGVja2JveC1pbmxpbmUsXG4gIGZpZWxkc2V0W2Rpc2FibGVkXVxuICAuY2hlY2tib3gtaW5saW5lOmhvdmVyLFxuICBmaWVsZHNldFtkaXNhYmxlZF1cbiAgLmNoZWNrYm94LWlubGluZTpmb2N1cyxcbiAgLmlzLWZvY3VzZWRcbiAgLmNoZWNrYm94LWlubGluZSBsYWJlbDpoYXMoaW5wdXRbdHlwZT1yYWRpb11bZGlzYWJsZWRdKSxcbiAgLmlzLWZvY3VzZWRcbiAgLmNoZWNrYm94LWlubGluZSBsYWJlbDpoYXMoaW5wdXRbdHlwZT1yYWRpb11bZGlzYWJsZWRdKTpob3ZlcixcbiAgLmlzLWZvY3VzZWRcbiAgLmNoZWNrYm94LWlubGluZSBsYWJlbDpoYXMoaW5wdXRbdHlwZT1yYWRpb11bZGlzYWJsZWRdKTpmb2N1cyxcbiAgLmlzLWZvY3VzZWRcbiAgLmNoZWNrYm94LWlubGluZSBsYWJlbDpoYXMoaW5wdXRbdHlwZT1jaGVja2JveF1bZGlzYWJsZWRdKSxcbiAgLmlzLWZvY3VzZWRcbiAgLmNoZWNrYm94LWlubGluZSBsYWJlbDpoYXMoaW5wdXRbdHlwZT1jaGVja2JveF1bZGlzYWJsZWRdKTpob3ZlcixcbiAgLmlzLWZvY3VzZWRcbiAgLmNoZWNrYm94LWlubGluZSBsYWJlbDpoYXMoaW5wdXRbdHlwZT1jaGVja2JveF1bZGlzYWJsZWRdKTpmb2N1cyxcbiAgZmllbGRzZXRbZGlzYWJsZWRdXG4gIC5pcy1mb2N1c2VkXG4gIC5jaGVja2JveC1pbmxpbmUsXG4gIGZpZWxkc2V0W2Rpc2FibGVkXVxuICAuaXMtZm9jdXNlZFxuICAuY2hlY2tib3gtaW5saW5lOmhvdmVyLFxuICBmaWVsZHNldFtkaXNhYmxlZF1cbiAgLmlzLWZvY3VzZWRcbiAgLmNoZWNrYm94LWlubGluZTpmb2N1cyxcbiAgLnN3aXRjaCBsYWJlbCBsYWJlbDpoYXMoaW5wdXRbdHlwZT1yYWRpb11bZGlzYWJsZWRdKSxcbiAgLnN3aXRjaCBsYWJlbCBsYWJlbDpoYXMoaW5wdXRbdHlwZT1yYWRpb11bZGlzYWJsZWRdKTpob3ZlcixcbiAgLnN3aXRjaCBsYWJlbCBsYWJlbDpoYXMoaW5wdXRbdHlwZT1yYWRpb11bZGlzYWJsZWRdKTpmb2N1cyxcbiAgLnN3aXRjaCBsYWJlbCBsYWJlbDpoYXMoaW5wdXRbdHlwZT1jaGVja2JveF1bZGlzYWJsZWRdKSxcbiAgLnN3aXRjaCBsYWJlbCBsYWJlbDpoYXMoaW5wdXRbdHlwZT1jaGVja2JveF1bZGlzYWJsZWRdKTpob3ZlcixcbiAgLnN3aXRjaCBsYWJlbCBsYWJlbDpoYXMoaW5wdXRbdHlwZT1jaGVja2JveF1bZGlzYWJsZWRdKTpmb2N1cyxcbiAgZmllbGRzZXRbZGlzYWJsZWRdXG4gIC5zd2l0Y2ggbGFiZWwsXG4gIGZpZWxkc2V0W2Rpc2FibGVkXVxuICAuc3dpdGNoIGxhYmVsOmhvdmVyLFxuICBmaWVsZHNldFtkaXNhYmxlZF1cbiAgLnN3aXRjaCBsYWJlbDpmb2N1cyxcbiAgLmlzLWZvY3VzZWRcbiAgLnN3aXRjaCBsYWJlbCBsYWJlbDpoYXMoaW5wdXRbdHlwZT1yYWRpb11bZGlzYWJsZWRdKSxcbiAgLmlzLWZvY3VzZWRcbiAgLnN3aXRjaCBsYWJlbCBsYWJlbDpoYXMoaW5wdXRbdHlwZT1yYWRpb11bZGlzYWJsZWRdKTpob3ZlcixcbiAgLmlzLWZvY3VzZWRcbiAgLnN3aXRjaCBsYWJlbCBsYWJlbDpoYXMoaW5wdXRbdHlwZT1yYWRpb11bZGlzYWJsZWRdKTpmb2N1cyxcbiAgLmlzLWZvY3VzZWRcbiAgLnN3aXRjaCBsYWJlbCBsYWJlbDpoYXMoaW5wdXRbdHlwZT1jaGVja2JveF1bZGlzYWJsZWRdKSxcbiAgLmlzLWZvY3VzZWRcbiAgLnN3aXRjaCBsYWJlbCBsYWJlbDpoYXMoaW5wdXRbdHlwZT1jaGVja2JveF1bZGlzYWJsZWRdKTpob3ZlcixcbiAgLmlzLWZvY3VzZWRcbiAgLnN3aXRjaCBsYWJlbCBsYWJlbDpoYXMoaW5wdXRbdHlwZT1jaGVja2JveF1bZGlzYWJsZWRdKTpmb2N1cyxcbiAgZmllbGRzZXRbZGlzYWJsZWRdXG4gIC5pcy1mb2N1c2VkXG4gIC5zd2l0Y2ggbGFiZWwsXG4gIGZpZWxkc2V0W2Rpc2FibGVkXVxuICAuaXMtZm9jdXNlZFxuICAuc3dpdGNoIGxhYmVsOmhvdmVyLFxuICBmaWVsZHNldFtkaXNhYmxlZF1cbiAgLmlzLWZvY3VzZWRcbiAgLnN3aXRjaCBsYWJlbDpmb2N1cyB7XG4gICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4yNik7IH1cblxuW2NsYXNzXj0nYm1kLWxhYmVsJ10sXG5bY2xhc3MqPScgYm1kLWxhYmVsJ10ge1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjI2KTsgfVxuXG4uZm9ybS1jb250cm9sLCAuY3VzdG9tLWZpbGUtY29udHJvbCxcbi5pcy1mb2N1c2VkIC5mb3JtLWNvbnRyb2wsXG4uaXMtZm9jdXNlZCAuY3VzdG9tLWZpbGUtY29udHJvbCB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byB0b3AsICMwMDk2ODggMnB4LCByZ2JhKDAsIDE1MCwgMTM2LCAwKSAycHgpLCBsaW5lYXItZ3JhZGllbnQodG8gdG9wLCByZ2JhKDAsIDAsIDAsIDAuMjYpIDFweCwgdHJhbnNwYXJlbnQgMXB4KTsgfVxuXG4uZm9ybS1jb250cm9sOmludmFsaWQsIC5jdXN0b20tZmlsZS1jb250cm9sOmludmFsaWQge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gdG9wLCAjZDUwMDAwIDJweCwgcmdiYSgyMTMsIDAsIDAsIDApIDJweCksIGxpbmVhci1ncmFkaWVudCh0byB0b3AsIHJnYmEoMCwgMCwgMCwgMC4yNikgMXB4LCB0cmFuc3BhcmVudCAxcHgpOyB9XG5cbi5mb3JtLWNvbnRyb2w6cmVhZC1vbmx5LCAuY3VzdG9tLWZpbGUtY29udHJvbDpyZWFkLW9ubHkge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gdG9wLCByZ2JhKDAsIDAsIDAsIDAuMjYpIDFweCwgdHJhbnNwYXJlbnQgMXB4KSwgbGluZWFyLWdyYWRpZW50KHRvIHRvcCwgcmdiYSgwLCAwLCAwLCAwLjI2KSAxcHgsIHRyYW5zcGFyZW50IDFweCk7IH1cblxuZmllbGRzZXRbZGlzYWJsZWRdW2Rpc2FibGVkXSAuZm9ybS1jb250cm9sLCBmaWVsZHNldFtkaXNhYmxlZF1bZGlzYWJsZWRdIC5jdXN0b20tZmlsZS1jb250cm9sLCAuZm9ybS1jb250cm9sLmRpc2FibGVkLCAuZGlzYWJsZWQuY3VzdG9tLWZpbGUtY29udHJvbCwgLmZvcm0tY29udHJvbDpkaXNhYmxlZCwgLmN1c3RvbS1maWxlLWNvbnRyb2w6ZGlzYWJsZWQsIC5mb3JtLWNvbnRyb2xbZGlzYWJsZWRdLCBbZGlzYWJsZWRdLmN1c3RvbS1maWxlLWNvbnRyb2wge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsIHJnYmEoMCwgMCwgMCwgMC4yNikgMCUsIHJnYmEoMCwgMCwgMCwgMC4yNikgMzAlLCB0cmFuc3BhcmVudCAzMCUsIHRyYW5zcGFyZW50IDEwMCUpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XG4gIGJhY2tncm91bmQtc2l6ZTogM3B4IDFweDsgfVxuXG4uZm9ybS1jb250cm9sLmZvcm0tY29udHJvbC1zdWNjZXNzLCAuZm9ybS1jb250cm9sLXN1Y2Nlc3MuY3VzdG9tLWZpbGUtY29udHJvbCxcbi5pcy1mb2N1c2VkIC5mb3JtLWNvbnRyb2wuZm9ybS1jb250cm9sLXN1Y2Nlc3MsXG4uaXMtZm9jdXNlZCAuZm9ybS1jb250cm9sLXN1Y2Nlc3MuY3VzdG9tLWZpbGUtY29udHJvbCB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byB0b3AsICMwMDk2ODggMnB4LCByZ2JhKDAsIDE1MCwgMTM2LCAwKSAycHgpLCBsaW5lYXItZ3JhZGllbnQodG8gdG9wLCByZ2JhKDAsIDAsIDAsIDAuMjYpIDFweCwgdHJhbnNwYXJlbnQgMXB4KSwgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmOCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgOCA4JyUzRSUzQ3BhdGggZmlsbD0nJTIzNWNiODVjJyBkPSdNMi4zIDYuNzNMLjYgNC41M2MtLjQtMS4wNC40Ni0xLjQgMS4xLS44bDEuMSAxLjQgMy40LTMuOGMuNi0uNjMgMS42LS4yNyAxLjIuN2wtNCA0LjZjLS40My41LS44LjQtMS4xLjF6Jy8lM0UlM0Mvc3ZnJTNFXCIpOyB9XG5cbi5mb3JtLWNvbnRyb2wuZm9ybS1jb250cm9sLXdhcm5pbmcsIC5mb3JtLWNvbnRyb2wtd2FybmluZy5jdXN0b20tZmlsZS1jb250cm9sLFxuLmlzLWZvY3VzZWQgLmZvcm0tY29udHJvbC5mb3JtLWNvbnRyb2wtd2FybmluZyxcbi5pcy1mb2N1c2VkIC5mb3JtLWNvbnRyb2wtd2FybmluZy5jdXN0b20tZmlsZS1jb250cm9sIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHRvcCwgIzAwOTY4OCAycHgsIHJnYmEoMCwgMTUwLCAxMzYsIDApIDJweCksIGxpbmVhci1ncmFkaWVudCh0byB0b3AsIHJnYmEoMCwgMCwgMCwgMC4yNikgMXB4LCB0cmFuc3BhcmVudCAxcHgpLCB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGY4LCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCA4IDgnJTNFJTNDcGF0aCBmaWxsPSclMjNmMGFkNGUnIGQ9J000LjQgNS4zMjRoLS44di0yLjQ2aC44em0wIDEuNDJoLS44VjUuODloLjh6TTMuNzYuNjNMLjA0IDcuMDc1Yy0uMTE1LjIuMDE2LjQyNS4yNi40MjZoNy4zOTdjLjI0MiAwIC4zNzItLjIyNi4yNTgtLjQyNkM2LjcyNiA0LjkyNCA1LjQ3IDIuNzkgNC4yNTMuNjNjLS4xMTMtLjE3NC0uMzktLjE3NC0uNDk0IDB6Jy8lM0UlM0Mvc3ZnJTNFXCIpOyB9XG5cbi5mb3JtLWNvbnRyb2wuZm9ybS1jb250cm9sLWRhbmdlciwgLmZvcm0tY29udHJvbC1kYW5nZXIuY3VzdG9tLWZpbGUtY29udHJvbCxcbi5pcy1mb2N1c2VkIC5mb3JtLWNvbnRyb2wuZm9ybS1jb250cm9sLWRhbmdlcixcbi5pcy1mb2N1c2VkIC5mb3JtLWNvbnRyb2wtZGFuZ2VyLmN1c3RvbS1maWxlLWNvbnRyb2wge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gdG9wLCAjMDA5Njg4IDJweCwgcmdiYSgwLCAxNTAsIDEzNiwgMCkgMnB4KSwgbGluZWFyLWdyYWRpZW50KHRvIHRvcCwgcmdiYSgwLCAwLCAwLCAwLjI2KSAxcHgsIHRyYW5zcGFyZW50IDFweCksIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0ZjgsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycgZmlsbD0nJTIzZDk1MzRmJyB2aWV3Qm94PSctMiAtMiA3IDcnJTNFJTNDcGF0aCBzdHJva2U9JyUyM2Q5NTM0ZicgZD0nTTAgMGwzIDNtMC0zTDAgMycvJTNFJTNDY2lyY2xlIHI9Jy41Jy8lM0UlM0NjaXJjbGUgY3g9JzMnIHI9Jy41Jy8lM0UlM0NjaXJjbGUgY3k9JzMnIHI9Jy41Jy8lM0UlM0NjaXJjbGUgY3g9JzMnIGN5PSczJyByPScuNScvJTNFJTNDL3N2ZyUzRVwiKTsgfVxuXG4uaXMtZm9jdXNlZCAuZm9ybS1jb250cm9sLWZlZWRiYWNrLFxuLmlzLWZvY3VzZWQgLmZvcm0tY29udHJvbC1sYWJlbCxcbi5pcy1mb2N1c2VkIC5yYWRpbyxcbi5pcy1mb2N1c2VkIC5jaGVja2JveCxcbi5pcy1mb2N1c2VkIC5yYWRpby1pbmxpbmUsXG4uaXMtZm9jdXNlZCAuY2hlY2tib3gtaW5saW5lLFxuLmlzLWZvY3VzZWQucmFkaW8gbGFiZWwsXG4uaXMtZm9jdXNlZC5jaGVja2JveCBsYWJlbCxcbi5pcy1mb2N1c2VkLnJhZGlvLWlubGluZSBsYWJlbCxcbi5pcy1mb2N1c2VkLmNoZWNrYm94LWlubGluZSBsYWJlbCxcbi5pcy1mb2N1c2VkIC5jdXN0b20tY29udHJvbCxcbi5pcy1mb2N1c2VkIC5mb3JtLWNvbnRyb2wtZmVlZGJhY2ssXG4uaXMtZm9jdXNlZCAuZm9ybS1jb250cm9sLWxhYmVsLFxuLmlzLWZvY3VzZWQgLnJhZGlvLFxuLmlzLWZvY3VzZWQgLmNoZWNrYm94LFxuLmlzLWZvY3VzZWQgLnJhZGlvLWlubGluZSxcbi5pcy1mb2N1c2VkIC5jaGVja2JveC1pbmxpbmUsXG4uaXMtZm9jdXNlZC5yYWRpbyBsYWJlbCxcbi5pcy1mb2N1c2VkLmNoZWNrYm94IGxhYmVsLFxuLmlzLWZvY3VzZWQucmFkaW8taW5saW5lIGxhYmVsLFxuLmlzLWZvY3VzZWQuY2hlY2tib3gtaW5saW5lIGxhYmVsLFxuLmlzLWZvY3VzZWQgLmN1c3RvbS1jb250cm9sIHtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4yNik7IH1cblxuLmlzLWZvY3VzZWQgLmZvcm0tY29udHJvbCwgLmlzLWZvY3VzZWQgLmN1c3RvbS1maWxlLWNvbnRyb2wsXG4uaXMtZm9jdXNlZCAuZm9ybS1jb250cm9sLFxuLmlzLWZvY3VzZWQgLmN1c3RvbS1maWxlLWNvbnRyb2wge1xuICBib3JkZXItY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4yNik7IH1cblxuLmlzLWZvY3VzZWQgLmlucHV0LWdyb3VwLWFkZG9uLFxuLmlzLWZvY3VzZWQgLmlucHV0LWdyb3VwLWFkZG9uIHtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4yNik7XG4gIGJvcmRlci1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjI2KTtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxMDIsIDEwMiwgMTAyLCAwLjI2KTsgfVxuXG4uaXMtZm9jdXNlZCAuZm9ybS1jb250cm9sLWZlZWRiYWNrLFxuLmlzLWZvY3VzZWQgLmZvcm0tY29udHJvbC1mZWVkYmFjayB7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMjYpOyB9XG5cbi5pcy1mb2N1c2VkIFtjbGFzc149J2JtZC1sYWJlbCddLFxuLmlzLWZvY3VzZWQgW2NsYXNzKj0nIGJtZC1sYWJlbCddLFxuLmlzLWZvY3VzZWQgW2NsYXNzXj0nYm1kLWxhYmVsJ10sXG4uaXMtZm9jdXNlZCBbY2xhc3MqPScgYm1kLWxhYmVsJ10ge1xuICBjb2xvcjogIzAwOTY4ODsgfVxuXG4uaXMtZm9jdXNlZCAuYm1kLWxhYmVsLXBsYWNlaG9sZGVyLFxuLmlzLWZvY3VzZWQgLmJtZC1sYWJlbC1wbGFjZWhvbGRlciB7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMjYpOyB9XG5cbi5pcy1mb2N1c2VkIC5mb3JtLWNvbnRyb2wsIC5pcy1mb2N1c2VkIC5jdXN0b20tZmlsZS1jb250cm9sLFxuLmlzLWZvY3VzZWQgLmZvcm0tY29udHJvbCxcbi5pcy1mb2N1c2VkIC5jdXN0b20tZmlsZS1jb250cm9sIHtcbiAgYm9yZGVyLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMjYpOyB9XG5cbi5pcy1mb2N1c2VkIC5ibWQtaGVscCxcbi5pcy1mb2N1c2VkIC5ibWQtaGVscCB7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNTQpOyB9XG5cbi5oYXMtc3VjY2VzcyBbY2xhc3NePSdibWQtbGFiZWwnXSxcbi5oYXMtc3VjY2VzcyBbY2xhc3MqPScgYm1kLWxhYmVsJ10ge1xuICBjb2xvcjogIzRjYWY1MDsgfVxuXG4uaGFzLXN1Y2Nlc3MgLmZvcm0tY29udHJvbCwgLmhhcy1zdWNjZXNzIC5jdXN0b20tZmlsZS1jb250cm9sLFxuLmlzLWZvY3VzZWQgLmhhcy1zdWNjZXNzIC5mb3JtLWNvbnRyb2wsXG4uaXMtZm9jdXNlZCAuaGFzLXN1Y2Nlc3MgLmN1c3RvbS1maWxlLWNvbnRyb2wge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gdG9wLCAjNGNhZjUwIDJweCwgcmdiYSg3NiwgMTc1LCA4MCwgMCkgMnB4KSwgbGluZWFyLWdyYWRpZW50KHRvIHRvcCwgcmdiYSgwLCAwLCAwLCAwLjI2KSAxcHgsIHRyYW5zcGFyZW50IDFweCk7IH1cblxuLmhhcy1zdWNjZXNzIC5mb3JtLWNvbnRyb2w6aW52YWxpZCwgLmhhcy1zdWNjZXNzIC5jdXN0b20tZmlsZS1jb250cm9sOmludmFsaWQge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gdG9wLCAjZDUwMDAwIDJweCwgcmdiYSgyMTMsIDAsIDAsIDApIDJweCksIGxpbmVhci1ncmFkaWVudCh0byB0b3AsIHJnYmEoMCwgMCwgMCwgMC4yNikgMXB4LCB0cmFuc3BhcmVudCAxcHgpOyB9XG5cbi5oYXMtc3VjY2VzcyAuZm9ybS1jb250cm9sOnJlYWQtb25seSwgLmhhcy1zdWNjZXNzIC5jdXN0b20tZmlsZS1jb250cm9sOnJlYWQtb25seSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byB0b3AsIHJnYmEoMCwgMCwgMCwgMC4yNikgMXB4LCB0cmFuc3BhcmVudCAxcHgpLCBsaW5lYXItZ3JhZGllbnQodG8gdG9wLCByZ2JhKDAsIDAsIDAsIDAuMjYpIDFweCwgdHJhbnNwYXJlbnQgMXB4KTsgfVxuXG5maWVsZHNldFtkaXNhYmxlZF1bZGlzYWJsZWRdIC5oYXMtc3VjY2VzcyAuZm9ybS1jb250cm9sLCBmaWVsZHNldFtkaXNhYmxlZF1bZGlzYWJsZWRdIC5oYXMtc3VjY2VzcyAuY3VzdG9tLWZpbGUtY29udHJvbCwgLmhhcy1zdWNjZXNzIC5mb3JtLWNvbnRyb2wuZGlzYWJsZWQsIC5oYXMtc3VjY2VzcyAuZGlzYWJsZWQuY3VzdG9tLWZpbGUtY29udHJvbCwgLmhhcy1zdWNjZXNzIC5mb3JtLWNvbnRyb2w6ZGlzYWJsZWQsIC5oYXMtc3VjY2VzcyAuY3VzdG9tLWZpbGUtY29udHJvbDpkaXNhYmxlZCwgLmhhcy1zdWNjZXNzIC5mb3JtLWNvbnRyb2xbZGlzYWJsZWRdLCAuaGFzLXN1Y2Nlc3MgW2Rpc2FibGVkXS5jdXN0b20tZmlsZS1jb250cm9sIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCByZ2JhKDAsIDAsIDAsIDAuMjYpIDAlLCByZ2JhKDAsIDAsIDAsIDAuMjYpIDMwJSwgdHJhbnNwYXJlbnQgMzAlLCB0cmFuc3BhcmVudCAxMDAlKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14O1xuICBiYWNrZ3JvdW5kLXNpemU6IDNweCAxcHg7IH1cblxuLmhhcy1zdWNjZXNzIC5mb3JtLWNvbnRyb2wuZm9ybS1jb250cm9sLXN1Y2Nlc3MsIC5oYXMtc3VjY2VzcyAuZm9ybS1jb250cm9sLXN1Y2Nlc3MuY3VzdG9tLWZpbGUtY29udHJvbCxcbi5pcy1mb2N1c2VkIC5oYXMtc3VjY2VzcyAuZm9ybS1jb250cm9sLmZvcm0tY29udHJvbC1zdWNjZXNzLFxuLmlzLWZvY3VzZWQgLmhhcy1zdWNjZXNzIC5mb3JtLWNvbnRyb2wtc3VjY2Vzcy5jdXN0b20tZmlsZS1jb250cm9sIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHRvcCwgIzRjYWY1MCAycHgsIHJnYmEoNzYsIDE3NSwgODAsIDApIDJweCksIGxpbmVhci1ncmFkaWVudCh0byB0b3AsIHJnYmEoMCwgMCwgMCwgMC4yNikgMXB4LCB0cmFuc3BhcmVudCAxcHgpLCB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGY4LCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCA4IDgnJTNFJTNDcGF0aCBmaWxsPSclMjM1Y2I4NWMnIGQ9J00yLjMgNi43M0wuNiA0LjUzYy0uNC0xLjA0LjQ2LTEuNCAxLjEtLjhsMS4xIDEuNCAzLjQtMy44Yy42LS42MyAxLjYtLjI3IDEuMi43bC00IDQuNmMtLjQzLjUtLjguNC0xLjEuMXonLyUzRSUzQy9zdmclM0VcIik7IH1cblxuLmhhcy1zdWNjZXNzIC5mb3JtLWNvbnRyb2wuZm9ybS1jb250cm9sLXdhcm5pbmcsIC5oYXMtc3VjY2VzcyAuZm9ybS1jb250cm9sLXdhcm5pbmcuY3VzdG9tLWZpbGUtY29udHJvbCxcbi5pcy1mb2N1c2VkIC5oYXMtc3VjY2VzcyAuZm9ybS1jb250cm9sLmZvcm0tY29udHJvbC13YXJuaW5nLFxuLmlzLWZvY3VzZWQgLmhhcy1zdWNjZXNzIC5mb3JtLWNvbnRyb2wtd2FybmluZy5jdXN0b20tZmlsZS1jb250cm9sIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHRvcCwgIzRjYWY1MCAycHgsIHJnYmEoNzYsIDE3NSwgODAsIDApIDJweCksIGxpbmVhci1ncmFkaWVudCh0byB0b3AsIHJnYmEoMCwgMCwgMCwgMC4yNikgMXB4LCB0cmFuc3BhcmVudCAxcHgpLCB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGY4LCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCA4IDgnJTNFJTNDcGF0aCBmaWxsPSclMjNmMGFkNGUnIGQ9J000LjQgNS4zMjRoLS44di0yLjQ2aC44em0wIDEuNDJoLS44VjUuODloLjh6TTMuNzYuNjNMLjA0IDcuMDc1Yy0uMTE1LjIuMDE2LjQyNS4yNi40MjZoNy4zOTdjLjI0MiAwIC4zNzItLjIyNi4yNTgtLjQyNkM2LjcyNiA0LjkyNCA1LjQ3IDIuNzkgNC4yNTMuNjNjLS4xMTMtLjE3NC0uMzktLjE3NC0uNDk0IDB6Jy8lM0UlM0Mvc3ZnJTNFXCIpOyB9XG5cbi5oYXMtc3VjY2VzcyAuZm9ybS1jb250cm9sLmZvcm0tY29udHJvbC1kYW5nZXIsIC5oYXMtc3VjY2VzcyAuZm9ybS1jb250cm9sLWRhbmdlci5jdXN0b20tZmlsZS1jb250cm9sLFxuLmlzLWZvY3VzZWQgLmhhcy1zdWNjZXNzIC5mb3JtLWNvbnRyb2wuZm9ybS1jb250cm9sLWRhbmdlcixcbi5pcy1mb2N1c2VkIC5oYXMtc3VjY2VzcyAuZm9ybS1jb250cm9sLWRhbmdlci5jdXN0b20tZmlsZS1jb250cm9sIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHRvcCwgIzRjYWY1MCAycHgsIHJnYmEoNzYsIDE3NSwgODAsIDApIDJweCksIGxpbmVhci1ncmFkaWVudCh0byB0b3AsIHJnYmEoMCwgMCwgMCwgMC4yNikgMXB4LCB0cmFuc3BhcmVudCAxcHgpLCB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGY4LCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIGZpbGw9JyUyM2Q5NTM0Zicgdmlld0JveD0nLTIgLTIgNyA3JyUzRSUzQ3BhdGggc3Ryb2tlPSclMjNkOTUzNGYnIGQ9J00wIDBsMyAzbTAtM0wwIDMnLyUzRSUzQ2NpcmNsZSByPScuNScvJTNFJTNDY2lyY2xlIGN4PSczJyByPScuNScvJTNFJTNDY2lyY2xlIGN5PSczJyByPScuNScvJTNFJTNDY2lyY2xlIGN4PSczJyBjeT0nMycgcj0nLjUnLyUzRSUzQy9zdmclM0VcIik7IH1cblxuLmhhcy1zdWNjZXNzIC5pcy1mb2N1c2VkIC5mb3JtLWNvbnRyb2wtZmVlZGJhY2ssXG4uaGFzLXN1Y2Nlc3MgLmlzLWZvY3VzZWQgLmZvcm0tY29udHJvbC1sYWJlbCxcbi5oYXMtc3VjY2VzcyAuaXMtZm9jdXNlZCAucmFkaW8sXG4uaGFzLXN1Y2Nlc3MgLmlzLWZvY3VzZWQgLmNoZWNrYm94LFxuLmhhcy1zdWNjZXNzIC5pcy1mb2N1c2VkIC5yYWRpby1pbmxpbmUsXG4uaGFzLXN1Y2Nlc3MgLmlzLWZvY3VzZWQgLmNoZWNrYm94LWlubGluZSxcbi5oYXMtc3VjY2VzcyAuaXMtZm9jdXNlZC5yYWRpbyBsYWJlbCxcbi5oYXMtc3VjY2VzcyAuaXMtZm9jdXNlZC5jaGVja2JveCBsYWJlbCxcbi5oYXMtc3VjY2VzcyAuaXMtZm9jdXNlZC5yYWRpby1pbmxpbmUgbGFiZWwsXG4uaGFzLXN1Y2Nlc3MgLmlzLWZvY3VzZWQuY2hlY2tib3gtaW5saW5lIGxhYmVsLFxuLmhhcy1zdWNjZXNzIC5pcy1mb2N1c2VkIC5jdXN0b20tY29udHJvbCwgLmhhcy1zdWNjZXNzLmlzLWZvY3VzZWQgLmZvcm0tY29udHJvbC1mZWVkYmFjayxcbi5oYXMtc3VjY2Vzcy5pcy1mb2N1c2VkIC5mb3JtLWNvbnRyb2wtbGFiZWwsXG4uaGFzLXN1Y2Nlc3MuaXMtZm9jdXNlZCAucmFkaW8sXG4uaGFzLXN1Y2Nlc3MuaXMtZm9jdXNlZCAuY2hlY2tib3gsXG4uaGFzLXN1Y2Nlc3MuaXMtZm9jdXNlZCAucmFkaW8taW5saW5lLFxuLmhhcy1zdWNjZXNzLmlzLWZvY3VzZWQgLmNoZWNrYm94LWlubGluZSxcbi5oYXMtc3VjY2Vzcy5pcy1mb2N1c2VkLnJhZGlvIGxhYmVsLFxuLmhhcy1zdWNjZXNzLmlzLWZvY3VzZWQuY2hlY2tib3ggbGFiZWwsXG4uaGFzLXN1Y2Nlc3MuaXMtZm9jdXNlZC5yYWRpby1pbmxpbmUgbGFiZWwsXG4uaGFzLXN1Y2Nlc3MuaXMtZm9jdXNlZC5jaGVja2JveC1pbmxpbmUgbGFiZWwsXG4uaGFzLXN1Y2Nlc3MuaXMtZm9jdXNlZCAuY3VzdG9tLWNvbnRyb2wge1xuICBjb2xvcjogIzRjYWY1MDsgfVxuXG4uaGFzLXN1Y2Nlc3MgLmlzLWZvY3VzZWQgLmZvcm0tY29udHJvbCwgLmhhcy1zdWNjZXNzIC5pcy1mb2N1c2VkIC5jdXN0b20tZmlsZS1jb250cm9sLCAuaGFzLXN1Y2Nlc3MuaXMtZm9jdXNlZCAuZm9ybS1jb250cm9sLCAuaGFzLXN1Y2Nlc3MuaXMtZm9jdXNlZCAuY3VzdG9tLWZpbGUtY29udHJvbCB7XG4gIGJvcmRlci1jb2xvcjogIzRjYWY1MDsgfVxuXG4uaGFzLXN1Y2Nlc3MgLmlzLWZvY3VzZWQgLmlucHV0LWdyb3VwLWFkZG9uLCAuaGFzLXN1Y2Nlc3MuaXMtZm9jdXNlZCAuaW5wdXQtZ3JvdXAtYWRkb24ge1xuICBjb2xvcjogIzRjYWY1MDtcbiAgYm9yZGVyLWNvbG9yOiAjNGNhZjUwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDllZWRhOyB9XG5cbi5oYXMtc3VjY2VzcyAuaXMtZm9jdXNlZCAuZm9ybS1jb250cm9sLWZlZWRiYWNrLCAuaGFzLXN1Y2Nlc3MuaXMtZm9jdXNlZCAuZm9ybS1jb250cm9sLWZlZWRiYWNrIHtcbiAgY29sb3I6ICM0Y2FmNTA7IH1cblxuLmhhcy1zdWNjZXNzIC5pcy1mb2N1c2VkIFtjbGFzc149J2JtZC1sYWJlbCddLFxuLmhhcy1zdWNjZXNzIC5pcy1mb2N1c2VkIFtjbGFzcyo9JyBibWQtbGFiZWwnXSwgLmhhcy1zdWNjZXNzLmlzLWZvY3VzZWQgW2NsYXNzXj0nYm1kLWxhYmVsJ10sXG4uaGFzLXN1Y2Nlc3MuaXMtZm9jdXNlZCBbY2xhc3MqPScgYm1kLWxhYmVsJ10ge1xuICBjb2xvcjogIzRjYWY1MDsgfVxuXG4uaGFzLXN1Y2Nlc3MgLmlzLWZvY3VzZWQgLmJtZC1sYWJlbC1wbGFjZWhvbGRlciwgLmhhcy1zdWNjZXNzLmlzLWZvY3VzZWQgLmJtZC1sYWJlbC1wbGFjZWhvbGRlciB7XG4gIGNvbG9yOiAjNGNhZjUwOyB9XG5cbi5oYXMtc3VjY2VzcyAuaXMtZm9jdXNlZCAuZm9ybS1jb250cm9sLCAuaGFzLXN1Y2Nlc3MgLmlzLWZvY3VzZWQgLmN1c3RvbS1maWxlLWNvbnRyb2wsIC5oYXMtc3VjY2Vzcy5pcy1mb2N1c2VkIC5mb3JtLWNvbnRyb2wsIC5oYXMtc3VjY2Vzcy5pcy1mb2N1c2VkIC5jdXN0b20tZmlsZS1jb250cm9sIHtcbiAgYm9yZGVyLWNvbG9yOiAjNGNhZjUwOyB9XG5cbi5oYXMtc3VjY2VzcyAuaXMtZm9jdXNlZCAuYm1kLWhlbHAsIC5oYXMtc3VjY2Vzcy5pcy1mb2N1c2VkIC5ibWQtaGVscCB7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNTQpOyB9XG5cbi5oYXMtaW5mbyBbY2xhc3NePSdibWQtbGFiZWwnXSxcbi5oYXMtaW5mbyBbY2xhc3MqPScgYm1kLWxhYmVsJ10ge1xuICBjb2xvcjogIzAzYTlmNDsgfVxuXG4uaGFzLWluZm8gLmZvcm0tY29udHJvbCwgLmhhcy1pbmZvIC5jdXN0b20tZmlsZS1jb250cm9sLFxuLmlzLWZvY3VzZWQgLmhhcy1pbmZvIC5mb3JtLWNvbnRyb2wsXG4uaXMtZm9jdXNlZCAuaGFzLWluZm8gLmN1c3RvbS1maWxlLWNvbnRyb2wge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gdG9wLCAjMDNhOWY0IDJweCwgcmdiYSgzLCAxNjksIDI0NCwgMCkgMnB4KSwgbGluZWFyLWdyYWRpZW50KHRvIHRvcCwgcmdiYSgwLCAwLCAwLCAwLjI2KSAxcHgsIHRyYW5zcGFyZW50IDFweCk7IH1cblxuLmhhcy1pbmZvIC5mb3JtLWNvbnRyb2w6aW52YWxpZCwgLmhhcy1pbmZvIC5jdXN0b20tZmlsZS1jb250cm9sOmludmFsaWQge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gdG9wLCAjZDUwMDAwIDJweCwgcmdiYSgyMTMsIDAsIDAsIDApIDJweCksIGxpbmVhci1ncmFkaWVudCh0byB0b3AsIHJnYmEoMCwgMCwgMCwgMC4yNikgMXB4LCB0cmFuc3BhcmVudCAxcHgpOyB9XG5cbi5oYXMtaW5mbyAuZm9ybS1jb250cm9sOnJlYWQtb25seSwgLmhhcy1pbmZvIC5jdXN0b20tZmlsZS1jb250cm9sOnJlYWQtb25seSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byB0b3AsIHJnYmEoMCwgMCwgMCwgMC4yNikgMXB4LCB0cmFuc3BhcmVudCAxcHgpLCBsaW5lYXItZ3JhZGllbnQodG8gdG9wLCByZ2JhKDAsIDAsIDAsIDAuMjYpIDFweCwgdHJhbnNwYXJlbnQgMXB4KTsgfVxuXG5maWVsZHNldFtkaXNhYmxlZF1bZGlzYWJsZWRdIC5oYXMtaW5mbyAuZm9ybS1jb250cm9sLCBmaWVsZHNldFtkaXNhYmxlZF1bZGlzYWJsZWRdIC5oYXMtaW5mbyAuY3VzdG9tLWZpbGUtY29udHJvbCwgLmhhcy1pbmZvIC5mb3JtLWNvbnRyb2wuZGlzYWJsZWQsIC5oYXMtaW5mbyAuZGlzYWJsZWQuY3VzdG9tLWZpbGUtY29udHJvbCwgLmhhcy1pbmZvIC5mb3JtLWNvbnRyb2w6ZGlzYWJsZWQsIC5oYXMtaW5mbyAuY3VzdG9tLWZpbGUtY29udHJvbDpkaXNhYmxlZCwgLmhhcy1pbmZvIC5mb3JtLWNvbnRyb2xbZGlzYWJsZWRdLCAuaGFzLWluZm8gW2Rpc2FibGVkXS5jdXN0b20tZmlsZS1jb250cm9sIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCByZ2JhKDAsIDAsIDAsIDAuMjYpIDAlLCByZ2JhKDAsIDAsIDAsIDAuMjYpIDMwJSwgdHJhbnNwYXJlbnQgMzAlLCB0cmFuc3BhcmVudCAxMDAlKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14O1xuICBiYWNrZ3JvdW5kLXNpemU6IDNweCAxcHg7IH1cblxuLmhhcy1pbmZvIC5mb3JtLWNvbnRyb2wuZm9ybS1jb250cm9sLXN1Y2Nlc3MsIC5oYXMtaW5mbyAuZm9ybS1jb250cm9sLXN1Y2Nlc3MuY3VzdG9tLWZpbGUtY29udHJvbCxcbi5pcy1mb2N1c2VkIC5oYXMtaW5mbyAuZm9ybS1jb250cm9sLmZvcm0tY29udHJvbC1zdWNjZXNzLFxuLmlzLWZvY3VzZWQgLmhhcy1pbmZvIC5mb3JtLWNvbnRyb2wtc3VjY2Vzcy5jdXN0b20tZmlsZS1jb250cm9sIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHRvcCwgIzAzYTlmNCAycHgsIHJnYmEoMywgMTY5LCAyNDQsIDApIDJweCksIGxpbmVhci1ncmFkaWVudCh0byB0b3AsIHJnYmEoMCwgMCwgMCwgMC4yNikgMXB4LCB0cmFuc3BhcmVudCAxcHgpLCB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGY4LCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCA4IDgnJTNFJTNDcGF0aCBmaWxsPSclMjM1Y2I4NWMnIGQ9J00yLjMgNi43M0wuNiA0LjUzYy0uNC0xLjA0LjQ2LTEuNCAxLjEtLjhsMS4xIDEuNCAzLjQtMy44Yy42LS42MyAxLjYtLjI3IDEuMi43bC00IDQuNmMtLjQzLjUtLjguNC0xLjEuMXonLyUzRSUzQy9zdmclM0VcIik7IH1cblxuLmhhcy1pbmZvIC5mb3JtLWNvbnRyb2wuZm9ybS1jb250cm9sLXdhcm5pbmcsIC5oYXMtaW5mbyAuZm9ybS1jb250cm9sLXdhcm5pbmcuY3VzdG9tLWZpbGUtY29udHJvbCxcbi5pcy1mb2N1c2VkIC5oYXMtaW5mbyAuZm9ybS1jb250cm9sLmZvcm0tY29udHJvbC13YXJuaW5nLFxuLmlzLWZvY3VzZWQgLmhhcy1pbmZvIC5mb3JtLWNvbnRyb2wtd2FybmluZy5jdXN0b20tZmlsZS1jb250cm9sIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHRvcCwgIzAzYTlmNCAycHgsIHJnYmEoMywgMTY5LCAyNDQsIDApIDJweCksIGxpbmVhci1ncmFkaWVudCh0byB0b3AsIHJnYmEoMCwgMCwgMCwgMC4yNikgMXB4LCB0cmFuc3BhcmVudCAxcHgpLCB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGY4LCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCA4IDgnJTNFJTNDcGF0aCBmaWxsPSclMjNmMGFkNGUnIGQ9J000LjQgNS4zMjRoLS44di0yLjQ2aC44em0wIDEuNDJoLS44VjUuODloLjh6TTMuNzYuNjNMLjA0IDcuMDc1Yy0uMTE1LjIuMDE2LjQyNS4yNi40MjZoNy4zOTdjLjI0MiAwIC4zNzItLjIyNi4yNTgtLjQyNkM2LjcyNiA0LjkyNCA1LjQ3IDIuNzkgNC4yNTMuNjNjLS4xMTMtLjE3NC0uMzktLjE3NC0uNDk0IDB6Jy8lM0UlM0Mvc3ZnJTNFXCIpOyB9XG5cbi5oYXMtaW5mbyAuZm9ybS1jb250cm9sLmZvcm0tY29udHJvbC1kYW5nZXIsIC5oYXMtaW5mbyAuZm9ybS1jb250cm9sLWRhbmdlci5jdXN0b20tZmlsZS1jb250cm9sLFxuLmlzLWZvY3VzZWQgLmhhcy1pbmZvIC5mb3JtLWNvbnRyb2wuZm9ybS1jb250cm9sLWRhbmdlcixcbi5pcy1mb2N1c2VkIC5oYXMtaW5mbyAuZm9ybS1jb250cm9sLWRhbmdlci5jdXN0b20tZmlsZS1jb250cm9sIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHRvcCwgIzAzYTlmNCAycHgsIHJnYmEoMywgMTY5LCAyNDQsIDApIDJweCksIGxpbmVhci1ncmFkaWVudCh0byB0b3AsIHJnYmEoMCwgMCwgMCwgMC4yNikgMXB4LCB0cmFuc3BhcmVudCAxcHgpLCB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGY4LCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIGZpbGw9JyUyM2Q5NTM0Zicgdmlld0JveD0nLTIgLTIgNyA3JyUzRSUzQ3BhdGggc3Ryb2tlPSclMjNkOTUzNGYnIGQ9J00wIDBsMyAzbTAtM0wwIDMnLyUzRSUzQ2NpcmNsZSByPScuNScvJTNFJTNDY2lyY2xlIGN4PSczJyByPScuNScvJTNFJTNDY2lyY2xlIGN5PSczJyByPScuNScvJTNFJTNDY2lyY2xlIGN4PSczJyBjeT0nMycgcj0nLjUnLyUzRSUzQy9zdmclM0VcIik7IH1cblxuLmhhcy1pbmZvIC5pcy1mb2N1c2VkIC5mb3JtLWNvbnRyb2wtZmVlZGJhY2ssXG4uaGFzLWluZm8gLmlzLWZvY3VzZWQgLmZvcm0tY29udHJvbC1sYWJlbCxcbi5oYXMtaW5mbyAuaXMtZm9jdXNlZCAucmFkaW8sXG4uaGFzLWluZm8gLmlzLWZvY3VzZWQgLmNoZWNrYm94LFxuLmhhcy1pbmZvIC5pcy1mb2N1c2VkIC5yYWRpby1pbmxpbmUsXG4uaGFzLWluZm8gLmlzLWZvY3VzZWQgLmNoZWNrYm94LWlubGluZSxcbi5oYXMtaW5mbyAuaXMtZm9jdXNlZC5yYWRpbyBsYWJlbCxcbi5oYXMtaW5mbyAuaXMtZm9jdXNlZC5jaGVja2JveCBsYWJlbCxcbi5oYXMtaW5mbyAuaXMtZm9jdXNlZC5yYWRpby1pbmxpbmUgbGFiZWwsXG4uaGFzLWluZm8gLmlzLWZvY3VzZWQuY2hlY2tib3gtaW5saW5lIGxhYmVsLFxuLmhhcy1pbmZvIC5pcy1mb2N1c2VkIC5jdXN0b20tY29udHJvbCwgLmhhcy1pbmZvLmlzLWZvY3VzZWQgLmZvcm0tY29udHJvbC1mZWVkYmFjayxcbi5oYXMtaW5mby5pcy1mb2N1c2VkIC5mb3JtLWNvbnRyb2wtbGFiZWwsXG4uaGFzLWluZm8uaXMtZm9jdXNlZCAucmFkaW8sXG4uaGFzLWluZm8uaXMtZm9jdXNlZCAuY2hlY2tib3gsXG4uaGFzLWluZm8uaXMtZm9jdXNlZCAucmFkaW8taW5saW5lLFxuLmhhcy1pbmZvLmlzLWZvY3VzZWQgLmNoZWNrYm94LWlubGluZSxcbi5oYXMtaW5mby5pcy1mb2N1c2VkLnJhZGlvIGxhYmVsLFxuLmhhcy1pbmZvLmlzLWZvY3VzZWQuY2hlY2tib3ggbGFiZWwsXG4uaGFzLWluZm8uaXMtZm9jdXNlZC5yYWRpby1pbmxpbmUgbGFiZWwsXG4uaGFzLWluZm8uaXMtZm9jdXNlZC5jaGVja2JveC1pbmxpbmUgbGFiZWwsXG4uaGFzLWluZm8uaXMtZm9jdXNlZCAuY3VzdG9tLWNvbnRyb2wge1xuICBjb2xvcjogIzAzYTlmNDsgfVxuXG4uaGFzLWluZm8gLmlzLWZvY3VzZWQgLmZvcm0tY29udHJvbCwgLmhhcy1pbmZvIC5pcy1mb2N1c2VkIC5jdXN0b20tZmlsZS1jb250cm9sLCAuaGFzLWluZm8uaXMtZm9jdXNlZCAuZm9ybS1jb250cm9sLCAuaGFzLWluZm8uaXMtZm9jdXNlZCAuY3VzdG9tLWZpbGUtY29udHJvbCB7XG4gIGJvcmRlci1jb2xvcjogIzAzYTlmNDsgfVxuXG4uaGFzLWluZm8gLmlzLWZvY3VzZWQgLmlucHV0LWdyb3VwLWFkZG9uLCAuaGFzLWluZm8uaXMtZm9jdXNlZCAuaW5wdXQtZ3JvdXAtYWRkb24ge1xuICBjb2xvcjogIzAzYTlmNDtcbiAgYm9yZGVyLWNvbG9yOiAjMDNhOWY0O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYzVlY2ZlOyB9XG5cbi5oYXMtaW5mbyAuaXMtZm9jdXNlZCAuZm9ybS1jb250cm9sLWZlZWRiYWNrLCAuaGFzLWluZm8uaXMtZm9jdXNlZCAuZm9ybS1jb250cm9sLWZlZWRiYWNrIHtcbiAgY29sb3I6ICMwM2E5ZjQ7IH1cblxuLmhhcy1pbmZvIC5pcy1mb2N1c2VkIFtjbGFzc149J2JtZC1sYWJlbCddLFxuLmhhcy1pbmZvIC5pcy1mb2N1c2VkIFtjbGFzcyo9JyBibWQtbGFiZWwnXSwgLmhhcy1pbmZvLmlzLWZvY3VzZWQgW2NsYXNzXj0nYm1kLWxhYmVsJ10sXG4uaGFzLWluZm8uaXMtZm9jdXNlZCBbY2xhc3MqPScgYm1kLWxhYmVsJ10ge1xuICBjb2xvcjogIzAzYTlmNDsgfVxuXG4uaGFzLWluZm8gLmlzLWZvY3VzZWQgLmJtZC1sYWJlbC1wbGFjZWhvbGRlciwgLmhhcy1pbmZvLmlzLWZvY3VzZWQgLmJtZC1sYWJlbC1wbGFjZWhvbGRlciB7XG4gIGNvbG9yOiAjMDNhOWY0OyB9XG5cbi5oYXMtaW5mbyAuaXMtZm9jdXNlZCAuZm9ybS1jb250cm9sLCAuaGFzLWluZm8gLmlzLWZvY3VzZWQgLmN1c3RvbS1maWxlLWNvbnRyb2wsIC5oYXMtaW5mby5pcy1mb2N1c2VkIC5mb3JtLWNvbnRyb2wsIC5oYXMtaW5mby5pcy1mb2N1c2VkIC5jdXN0b20tZmlsZS1jb250cm9sIHtcbiAgYm9yZGVyLWNvbG9yOiAjMDNhOWY0OyB9XG5cbi5oYXMtaW5mbyAuaXMtZm9jdXNlZCAuYm1kLWhlbHAsIC5oYXMtaW5mby5pcy1mb2N1c2VkIC5ibWQtaGVscCB7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNTQpOyB9XG5cbi5oYXMtd2FybmluZyBbY2xhc3NePSdibWQtbGFiZWwnXSxcbi5oYXMtd2FybmluZyBbY2xhc3MqPScgYm1kLWxhYmVsJ10ge1xuICBjb2xvcjogI2ZmNTcyMjsgfVxuXG4uaGFzLXdhcm5pbmcgLmZvcm0tY29udHJvbCwgLmhhcy13YXJuaW5nIC5jdXN0b20tZmlsZS1jb250cm9sLFxuLmlzLWZvY3VzZWQgLmhhcy13YXJuaW5nIC5mb3JtLWNvbnRyb2wsXG4uaXMtZm9jdXNlZCAuaGFzLXdhcm5pbmcgLmN1c3RvbS1maWxlLWNvbnRyb2wge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gdG9wLCAjZmY1NzIyIDJweCwgcmdiYSgyNTUsIDg3LCAzNCwgMCkgMnB4KSwgbGluZWFyLWdyYWRpZW50KHRvIHRvcCwgcmdiYSgwLCAwLCAwLCAwLjI2KSAxcHgsIHRyYW5zcGFyZW50IDFweCk7IH1cblxuLmhhcy13YXJuaW5nIC5mb3JtLWNvbnRyb2w6aW52YWxpZCwgLmhhcy13YXJuaW5nIC5jdXN0b20tZmlsZS1jb250cm9sOmludmFsaWQge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gdG9wLCAjZDUwMDAwIDJweCwgcmdiYSgyMTMsIDAsIDAsIDApIDJweCksIGxpbmVhci1ncmFkaWVudCh0byB0b3AsIHJnYmEoMCwgMCwgMCwgMC4yNikgMXB4LCB0cmFuc3BhcmVudCAxcHgpOyB9XG5cbi5oYXMtd2FybmluZyAuZm9ybS1jb250cm9sOnJlYWQtb25seSwgLmhhcy13YXJuaW5nIC5jdXN0b20tZmlsZS1jb250cm9sOnJlYWQtb25seSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byB0b3AsIHJnYmEoMCwgMCwgMCwgMC4yNikgMXB4LCB0cmFuc3BhcmVudCAxcHgpLCBsaW5lYXItZ3JhZGllbnQodG8gdG9wLCByZ2JhKDAsIDAsIDAsIDAuMjYpIDFweCwgdHJhbnNwYXJlbnQgMXB4KTsgfVxuXG5maWVsZHNldFtkaXNhYmxlZF1bZGlzYWJsZWRdIC5oYXMtd2FybmluZyAuZm9ybS1jb250cm9sLCBmaWVsZHNldFtkaXNhYmxlZF1bZGlzYWJsZWRdIC5oYXMtd2FybmluZyAuY3VzdG9tLWZpbGUtY29udHJvbCwgLmhhcy13YXJuaW5nIC5mb3JtLWNvbnRyb2wuZGlzYWJsZWQsIC5oYXMtd2FybmluZyAuZGlzYWJsZWQuY3VzdG9tLWZpbGUtY29udHJvbCwgLmhhcy13YXJuaW5nIC5mb3JtLWNvbnRyb2w6ZGlzYWJsZWQsIC5oYXMtd2FybmluZyAuY3VzdG9tLWZpbGUtY29udHJvbDpkaXNhYmxlZCwgLmhhcy13YXJuaW5nIC5mb3JtLWNvbnRyb2xbZGlzYWJsZWRdLCAuaGFzLXdhcm5pbmcgW2Rpc2FibGVkXS5jdXN0b20tZmlsZS1jb250cm9sIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCByZ2JhKDAsIDAsIDAsIDAuMjYpIDAlLCByZ2JhKDAsIDAsIDAsIDAuMjYpIDMwJSwgdHJhbnNwYXJlbnQgMzAlLCB0cmFuc3BhcmVudCAxMDAlKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14O1xuICBiYWNrZ3JvdW5kLXNpemU6IDNweCAxcHg7IH1cblxuLmhhcy13YXJuaW5nIC5mb3JtLWNvbnRyb2wuZm9ybS1jb250cm9sLXN1Y2Nlc3MsIC5oYXMtd2FybmluZyAuZm9ybS1jb250cm9sLXN1Y2Nlc3MuY3VzdG9tLWZpbGUtY29udHJvbCxcbi5pcy1mb2N1c2VkIC5oYXMtd2FybmluZyAuZm9ybS1jb250cm9sLmZvcm0tY29udHJvbC1zdWNjZXNzLFxuLmlzLWZvY3VzZWQgLmhhcy13YXJuaW5nIC5mb3JtLWNvbnRyb2wtc3VjY2Vzcy5jdXN0b20tZmlsZS1jb250cm9sIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHRvcCwgI2ZmNTcyMiAycHgsIHJnYmEoMjU1LCA4NywgMzQsIDApIDJweCksIGxpbmVhci1ncmFkaWVudCh0byB0b3AsIHJnYmEoMCwgMCwgMCwgMC4yNikgMXB4LCB0cmFuc3BhcmVudCAxcHgpLCB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGY4LCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCA4IDgnJTNFJTNDcGF0aCBmaWxsPSclMjM1Y2I4NWMnIGQ9J00yLjMgNi43M0wuNiA0LjUzYy0uNC0xLjA0LjQ2LTEuNCAxLjEtLjhsMS4xIDEuNCAzLjQtMy44Yy42LS42MyAxLjYtLjI3IDEuMi43bC00IDQuNmMtLjQzLjUtLjguNC0xLjEuMXonLyUzRSUzQy9zdmclM0VcIik7IH1cblxuLmhhcy13YXJuaW5nIC5mb3JtLWNvbnRyb2wuZm9ybS1jb250cm9sLXdhcm5pbmcsIC5oYXMtd2FybmluZyAuZm9ybS1jb250cm9sLXdhcm5pbmcuY3VzdG9tLWZpbGUtY29udHJvbCxcbi5pcy1mb2N1c2VkIC5oYXMtd2FybmluZyAuZm9ybS1jb250cm9sLmZvcm0tY29udHJvbC13YXJuaW5nLFxuLmlzLWZvY3VzZWQgLmhhcy13YXJuaW5nIC5mb3JtLWNvbnRyb2wtd2FybmluZy5jdXN0b20tZmlsZS1jb250cm9sIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHRvcCwgI2ZmNTcyMiAycHgsIHJnYmEoMjU1LCA4NywgMzQsIDApIDJweCksIGxpbmVhci1ncmFkaWVudCh0byB0b3AsIHJnYmEoMCwgMCwgMCwgMC4yNikgMXB4LCB0cmFuc3BhcmVudCAxcHgpLCB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGY4LCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCA4IDgnJTNFJTNDcGF0aCBmaWxsPSclMjNmMGFkNGUnIGQ9J000LjQgNS4zMjRoLS44di0yLjQ2aC44em0wIDEuNDJoLS44VjUuODloLjh6TTMuNzYuNjNMLjA0IDcuMDc1Yy0uMTE1LjIuMDE2LjQyNS4yNi40MjZoNy4zOTdjLjI0MiAwIC4zNzItLjIyNi4yNTgtLjQyNkM2LjcyNiA0LjkyNCA1LjQ3IDIuNzkgNC4yNTMuNjNjLS4xMTMtLjE3NC0uMzktLjE3NC0uNDk0IDB6Jy8lM0UlM0Mvc3ZnJTNFXCIpOyB9XG5cbi5oYXMtd2FybmluZyAuZm9ybS1jb250cm9sLmZvcm0tY29udHJvbC1kYW5nZXIsIC5oYXMtd2FybmluZyAuZm9ybS1jb250cm9sLWRhbmdlci5jdXN0b20tZmlsZS1jb250cm9sLFxuLmlzLWZvY3VzZWQgLmhhcy13YXJuaW5nIC5mb3JtLWNvbnRyb2wuZm9ybS1jb250cm9sLWRhbmdlcixcbi5pcy1mb2N1c2VkIC5oYXMtd2FybmluZyAuZm9ybS1jb250cm9sLWRhbmdlci5jdXN0b20tZmlsZS1jb250cm9sIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHRvcCwgI2ZmNTcyMiAycHgsIHJnYmEoMjU1LCA4NywgMzQsIDApIDJweCksIGxpbmVhci1ncmFkaWVudCh0byB0b3AsIHJnYmEoMCwgMCwgMCwgMC4yNikgMXB4LCB0cmFuc3BhcmVudCAxcHgpLCB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGY4LCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIGZpbGw9JyUyM2Q5NTM0Zicgdmlld0JveD0nLTIgLTIgNyA3JyUzRSUzQ3BhdGggc3Ryb2tlPSclMjNkOTUzNGYnIGQ9J00wIDBsMyAzbTAtM0wwIDMnLyUzRSUzQ2NpcmNsZSByPScuNScvJTNFJTNDY2lyY2xlIGN4PSczJyByPScuNScvJTNFJTNDY2lyY2xlIGN5PSczJyByPScuNScvJTNFJTNDY2lyY2xlIGN4PSczJyBjeT0nMycgcj0nLjUnLyUzRSUzQy9zdmclM0VcIik7IH1cblxuLmhhcy13YXJuaW5nIC5pcy1mb2N1c2VkIC5mb3JtLWNvbnRyb2wtZmVlZGJhY2ssXG4uaGFzLXdhcm5pbmcgLmlzLWZvY3VzZWQgLmZvcm0tY29udHJvbC1sYWJlbCxcbi5oYXMtd2FybmluZyAuaXMtZm9jdXNlZCAucmFkaW8sXG4uaGFzLXdhcm5pbmcgLmlzLWZvY3VzZWQgLmNoZWNrYm94LFxuLmhhcy13YXJuaW5nIC5pcy1mb2N1c2VkIC5yYWRpby1pbmxpbmUsXG4uaGFzLXdhcm5pbmcgLmlzLWZvY3VzZWQgLmNoZWNrYm94LWlubGluZSxcbi5oYXMtd2FybmluZyAuaXMtZm9jdXNlZC5yYWRpbyBsYWJlbCxcbi5oYXMtd2FybmluZyAuaXMtZm9jdXNlZC5jaGVja2JveCBsYWJlbCxcbi5oYXMtd2FybmluZyAuaXMtZm9jdXNlZC5yYWRpby1pbmxpbmUgbGFiZWwsXG4uaGFzLXdhcm5pbmcgLmlzLWZvY3VzZWQuY2hlY2tib3gtaW5saW5lIGxhYmVsLFxuLmhhcy13YXJuaW5nIC5pcy1mb2N1c2VkIC5jdXN0b20tY29udHJvbCwgLmhhcy13YXJuaW5nLmlzLWZvY3VzZWQgLmZvcm0tY29udHJvbC1mZWVkYmFjayxcbi5oYXMtd2FybmluZy5pcy1mb2N1c2VkIC5mb3JtLWNvbnRyb2wtbGFiZWwsXG4uaGFzLXdhcm5pbmcuaXMtZm9jdXNlZCAucmFkaW8sXG4uaGFzLXdhcm5pbmcuaXMtZm9jdXNlZCAuY2hlY2tib3gsXG4uaGFzLXdhcm5pbmcuaXMtZm9jdXNlZCAucmFkaW8taW5saW5lLFxuLmhhcy13YXJuaW5nLmlzLWZvY3VzZWQgLmNoZWNrYm94LWlubGluZSxcbi5oYXMtd2FybmluZy5pcy1mb2N1c2VkLnJhZGlvIGxhYmVsLFxuLmhhcy13YXJuaW5nLmlzLWZvY3VzZWQuY2hlY2tib3ggbGFiZWwsXG4uaGFzLXdhcm5pbmcuaXMtZm9jdXNlZC5yYWRpby1pbmxpbmUgbGFiZWwsXG4uaGFzLXdhcm5pbmcuaXMtZm9jdXNlZC5jaGVja2JveC1pbmxpbmUgbGFiZWwsXG4uaGFzLXdhcm5pbmcuaXMtZm9jdXNlZCAuY3VzdG9tLWNvbnRyb2wge1xuICBjb2xvcjogI2ZmNTcyMjsgfVxuXG4uaGFzLXdhcm5pbmcgLmlzLWZvY3VzZWQgLmZvcm0tY29udHJvbCwgLmhhcy13YXJuaW5nIC5pcy1mb2N1c2VkIC5jdXN0b20tZmlsZS1jb250cm9sLCAuaGFzLXdhcm5pbmcuaXMtZm9jdXNlZCAuZm9ybS1jb250cm9sLCAuaGFzLXdhcm5pbmcuaXMtZm9jdXNlZCAuY3VzdG9tLWZpbGUtY29udHJvbCB7XG4gIGJvcmRlci1jb2xvcjogI2ZmNTcyMjsgfVxuXG4uaGFzLXdhcm5pbmcgLmlzLWZvY3VzZWQgLmlucHV0LWdyb3VwLWFkZG9uLCAuaGFzLXdhcm5pbmcuaXMtZm9jdXNlZCAuaW5wdXQtZ3JvdXAtYWRkb24ge1xuICBjb2xvcjogI2ZmNTcyMjtcbiAgYm9yZGVyLWNvbG9yOiAjZmY1NzIyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmMmVlOyB9XG5cbi5oYXMtd2FybmluZyAuaXMtZm9jdXNlZCAuZm9ybS1jb250cm9sLWZlZWRiYWNrLCAuaGFzLXdhcm5pbmcuaXMtZm9jdXNlZCAuZm9ybS1jb250cm9sLWZlZWRiYWNrIHtcbiAgY29sb3I6ICNmZjU3MjI7IH1cblxuLmhhcy13YXJuaW5nIC5pcy1mb2N1c2VkIFtjbGFzc149J2JtZC1sYWJlbCddLFxuLmhhcy13YXJuaW5nIC5pcy1mb2N1c2VkIFtjbGFzcyo9JyBibWQtbGFiZWwnXSwgLmhhcy13YXJuaW5nLmlzLWZvY3VzZWQgW2NsYXNzXj0nYm1kLWxhYmVsJ10sXG4uaGFzLXdhcm5pbmcuaXMtZm9jdXNlZCBbY2xhc3MqPScgYm1kLWxhYmVsJ10ge1xuICBjb2xvcjogI2ZmNTcyMjsgfVxuXG4uaGFzLXdhcm5pbmcgLmlzLWZvY3VzZWQgLmJtZC1sYWJlbC1wbGFjZWhvbGRlciwgLmhhcy13YXJuaW5nLmlzLWZvY3VzZWQgLmJtZC1sYWJlbC1wbGFjZWhvbGRlciB7XG4gIGNvbG9yOiAjZmY1NzIyOyB9XG5cbi5oYXMtd2FybmluZyAuaXMtZm9jdXNlZCAuZm9ybS1jb250cm9sLCAuaGFzLXdhcm5pbmcgLmlzLWZvY3VzZWQgLmN1c3RvbS1maWxlLWNvbnRyb2wsIC5oYXMtd2FybmluZy5pcy1mb2N1c2VkIC5mb3JtLWNvbnRyb2wsIC5oYXMtd2FybmluZy5pcy1mb2N1c2VkIC5jdXN0b20tZmlsZS1jb250cm9sIHtcbiAgYm9yZGVyLWNvbG9yOiAjZmY1NzIyOyB9XG5cbi5oYXMtd2FybmluZyAuaXMtZm9jdXNlZCAuYm1kLWhlbHAsIC5oYXMtd2FybmluZy5pcy1mb2N1c2VkIC5ibWQtaGVscCB7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNTQpOyB9XG5cbi5oYXMtZGFuZ2VyIFtjbGFzc149J2JtZC1sYWJlbCddLFxuLmhhcy1kYW5nZXIgW2NsYXNzKj0nIGJtZC1sYWJlbCddIHtcbiAgY29sb3I6ICNmNDQzMzY7IH1cblxuLmhhcy1kYW5nZXIgLmZvcm0tY29udHJvbCwgLmhhcy1kYW5nZXIgLmN1c3RvbS1maWxlLWNvbnRyb2wsXG4uaXMtZm9jdXNlZCAuaGFzLWRhbmdlciAuZm9ybS1jb250cm9sLFxuLmlzLWZvY3VzZWQgLmhhcy1kYW5nZXIgLmN1c3RvbS1maWxlLWNvbnRyb2wge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gdG9wLCAjZjQ0MzM2IDJweCwgcmdiYSgyNDQsIDY3LCA1NCwgMCkgMnB4KSwgbGluZWFyLWdyYWRpZW50KHRvIHRvcCwgcmdiYSgwLCAwLCAwLCAwLjI2KSAxcHgsIHRyYW5zcGFyZW50IDFweCk7IH1cblxuLmhhcy1kYW5nZXIgLmZvcm0tY29udHJvbDppbnZhbGlkLCAuaGFzLWRhbmdlciAuY3VzdG9tLWZpbGUtY29udHJvbDppbnZhbGlkIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHRvcCwgI2Q1MDAwMCAycHgsIHJnYmEoMjEzLCAwLCAwLCAwKSAycHgpLCBsaW5lYXItZ3JhZGllbnQodG8gdG9wLCByZ2JhKDAsIDAsIDAsIDAuMjYpIDFweCwgdHJhbnNwYXJlbnQgMXB4KTsgfVxuXG4uaGFzLWRhbmdlciAuZm9ybS1jb250cm9sOnJlYWQtb25seSwgLmhhcy1kYW5nZXIgLmN1c3RvbS1maWxlLWNvbnRyb2w6cmVhZC1vbmx5IHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHRvcCwgcmdiYSgwLCAwLCAwLCAwLjI2KSAxcHgsIHRyYW5zcGFyZW50IDFweCksIGxpbmVhci1ncmFkaWVudCh0byB0b3AsIHJnYmEoMCwgMCwgMCwgMC4yNikgMXB4LCB0cmFuc3BhcmVudCAxcHgpOyB9XG5cbmZpZWxkc2V0W2Rpc2FibGVkXVtkaXNhYmxlZF0gLmhhcy1kYW5nZXIgLmZvcm0tY29udHJvbCwgZmllbGRzZXRbZGlzYWJsZWRdW2Rpc2FibGVkXSAuaGFzLWRhbmdlciAuY3VzdG9tLWZpbGUtY29udHJvbCwgLmhhcy1kYW5nZXIgLmZvcm0tY29udHJvbC5kaXNhYmxlZCwgLmhhcy1kYW5nZXIgLmRpc2FibGVkLmN1c3RvbS1maWxlLWNvbnRyb2wsIC5oYXMtZGFuZ2VyIC5mb3JtLWNvbnRyb2w6ZGlzYWJsZWQsIC5oYXMtZGFuZ2VyIC5jdXN0b20tZmlsZS1jb250cm9sOmRpc2FibGVkLCAuaGFzLWRhbmdlciAuZm9ybS1jb250cm9sW2Rpc2FibGVkXSwgLmhhcy1kYW5nZXIgW2Rpc2FibGVkXS5jdXN0b20tZmlsZS1jb250cm9sIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCByZ2JhKDAsIDAsIDAsIDAuMjYpIDAlLCByZ2JhKDAsIDAsIDAsIDAuMjYpIDMwJSwgdHJhbnNwYXJlbnQgMzAlLCB0cmFuc3BhcmVudCAxMDAlKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14O1xuICBiYWNrZ3JvdW5kLXNpemU6IDNweCAxcHg7IH1cblxuLmhhcy1kYW5nZXIgLmZvcm0tY29udHJvbC5mb3JtLWNvbnRyb2wtc3VjY2VzcywgLmhhcy1kYW5nZXIgLmZvcm0tY29udHJvbC1zdWNjZXNzLmN1c3RvbS1maWxlLWNvbnRyb2wsXG4uaXMtZm9jdXNlZCAuaGFzLWRhbmdlciAuZm9ybS1jb250cm9sLmZvcm0tY29udHJvbC1zdWNjZXNzLFxuLmlzLWZvY3VzZWQgLmhhcy1kYW5nZXIgLmZvcm0tY29udHJvbC1zdWNjZXNzLmN1c3RvbS1maWxlLWNvbnRyb2wge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gdG9wLCAjZjQ0MzM2IDJweCwgcmdiYSgyNDQsIDY3LCA1NCwgMCkgMnB4KSwgbGluZWFyLWdyYWRpZW50KHRvIHRvcCwgcmdiYSgwLCAwLCAwLCAwLjI2KSAxcHgsIHRyYW5zcGFyZW50IDFweCksIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0ZjgsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDggOCclM0UlM0NwYXRoIGZpbGw9JyUyMzVjYjg1YycgZD0nTTIuMyA2LjczTC42IDQuNTNjLS40LTEuMDQuNDYtMS40IDEuMS0uOGwxLjEgMS40IDMuNC0zLjhjLjYtLjYzIDEuNi0uMjcgMS4yLjdsLTQgNC42Yy0uNDMuNS0uOC40LTEuMS4xeicvJTNFJTNDL3N2ZyUzRVwiKTsgfVxuXG4uaGFzLWRhbmdlciAuZm9ybS1jb250cm9sLmZvcm0tY29udHJvbC13YXJuaW5nLCAuaGFzLWRhbmdlciAuZm9ybS1jb250cm9sLXdhcm5pbmcuY3VzdG9tLWZpbGUtY29udHJvbCxcbi5pcy1mb2N1c2VkIC5oYXMtZGFuZ2VyIC5mb3JtLWNvbnRyb2wuZm9ybS1jb250cm9sLXdhcm5pbmcsXG4uaXMtZm9jdXNlZCAuaGFzLWRhbmdlciAuZm9ybS1jb250cm9sLXdhcm5pbmcuY3VzdG9tLWZpbGUtY29udHJvbCB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byB0b3AsICNmNDQzMzYgMnB4LCByZ2JhKDI0NCwgNjcsIDU0LCAwKSAycHgpLCBsaW5lYXItZ3JhZGllbnQodG8gdG9wLCByZ2JhKDAsIDAsIDAsIDAuMjYpIDFweCwgdHJhbnNwYXJlbnQgMXB4KSwgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmOCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgOCA4JyUzRSUzQ3BhdGggZmlsbD0nJTIzZjBhZDRlJyBkPSdNNC40IDUuMzI0aC0uOHYtMi40NmguOHptMCAxLjQyaC0uOFY1Ljg5aC44ek0zLjc2LjYzTC4wNCA3LjA3NWMtLjExNS4yLjAxNi40MjUuMjYuNDI2aDcuMzk3Yy4yNDIgMCAuMzcyLS4yMjYuMjU4LS40MjZDNi43MjYgNC45MjQgNS40NyAyLjc5IDQuMjUzLjYzYy0uMTEzLS4xNzQtLjM5LS4xNzQtLjQ5NCAweicvJTNFJTNDL3N2ZyUzRVwiKTsgfVxuXG4uaGFzLWRhbmdlciAuZm9ybS1jb250cm9sLmZvcm0tY29udHJvbC1kYW5nZXIsIC5oYXMtZGFuZ2VyIC5mb3JtLWNvbnRyb2wtZGFuZ2VyLmN1c3RvbS1maWxlLWNvbnRyb2wsXG4uaXMtZm9jdXNlZCAuaGFzLWRhbmdlciAuZm9ybS1jb250cm9sLmZvcm0tY29udHJvbC1kYW5nZXIsXG4uaXMtZm9jdXNlZCAuaGFzLWRhbmdlciAuZm9ybS1jb250cm9sLWRhbmdlci5jdXN0b20tZmlsZS1jb250cm9sIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHRvcCwgI2Y0NDMzNiAycHgsIHJnYmEoMjQ0LCA2NywgNTQsIDApIDJweCksIGxpbmVhci1ncmFkaWVudCh0byB0b3AsIHJnYmEoMCwgMCwgMCwgMC4yNikgMXB4LCB0cmFuc3BhcmVudCAxcHgpLCB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGY4LCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIGZpbGw9JyUyM2Q5NTM0Zicgdmlld0JveD0nLTIgLTIgNyA3JyUzRSUzQ3BhdGggc3Ryb2tlPSclMjNkOTUzNGYnIGQ9J00wIDBsMyAzbTAtM0wwIDMnLyUzRSUzQ2NpcmNsZSByPScuNScvJTNFJTNDY2lyY2xlIGN4PSczJyByPScuNScvJTNFJTNDY2lyY2xlIGN5PSczJyByPScuNScvJTNFJTNDY2lyY2xlIGN4PSczJyBjeT0nMycgcj0nLjUnLyUzRSUzQy9zdmclM0VcIik7IH1cblxuLmhhcy1kYW5nZXIgLmlzLWZvY3VzZWQgLmZvcm0tY29udHJvbC1mZWVkYmFjayxcbi5oYXMtZGFuZ2VyIC5pcy1mb2N1c2VkIC5mb3JtLWNvbnRyb2wtbGFiZWwsXG4uaGFzLWRhbmdlciAuaXMtZm9jdXNlZCAucmFkaW8sXG4uaGFzLWRhbmdlciAuaXMtZm9jdXNlZCAuY2hlY2tib3gsXG4uaGFzLWRhbmdlciAuaXMtZm9jdXNlZCAucmFkaW8taW5saW5lLFxuLmhhcy1kYW5nZXIgLmlzLWZvY3VzZWQgLmNoZWNrYm94LWlubGluZSxcbi5oYXMtZGFuZ2VyIC5pcy1mb2N1c2VkLnJhZGlvIGxhYmVsLFxuLmhhcy1kYW5nZXIgLmlzLWZvY3VzZWQuY2hlY2tib3ggbGFiZWwsXG4uaGFzLWRhbmdlciAuaXMtZm9jdXNlZC5yYWRpby1pbmxpbmUgbGFiZWwsXG4uaGFzLWRhbmdlciAuaXMtZm9jdXNlZC5jaGVja2JveC1pbmxpbmUgbGFiZWwsXG4uaGFzLWRhbmdlciAuaXMtZm9jdXNlZCAuY3VzdG9tLWNvbnRyb2wsIC5oYXMtZGFuZ2VyLmlzLWZvY3VzZWQgLmZvcm0tY29udHJvbC1mZWVkYmFjayxcbi5oYXMtZGFuZ2VyLmlzLWZvY3VzZWQgLmZvcm0tY29udHJvbC1sYWJlbCxcbi5oYXMtZGFuZ2VyLmlzLWZvY3VzZWQgLnJhZGlvLFxuLmhhcy1kYW5nZXIuaXMtZm9jdXNlZCAuY2hlY2tib3gsXG4uaGFzLWRhbmdlci5pcy1mb2N1c2VkIC5yYWRpby1pbmxpbmUsXG4uaGFzLWRhbmdlci5pcy1mb2N1c2VkIC5jaGVja2JveC1pbmxpbmUsXG4uaGFzLWRhbmdlci5pcy1mb2N1c2VkLnJhZGlvIGxhYmVsLFxuLmhhcy1kYW5nZXIuaXMtZm9jdXNlZC5jaGVja2JveCBsYWJlbCxcbi5oYXMtZGFuZ2VyLmlzLWZvY3VzZWQucmFkaW8taW5saW5lIGxhYmVsLFxuLmhhcy1kYW5nZXIuaXMtZm9jdXNlZC5jaGVja2JveC1pbmxpbmUgbGFiZWwsXG4uaGFzLWRhbmdlci5pcy1mb2N1c2VkIC5jdXN0b20tY29udHJvbCB7XG4gIGNvbG9yOiAjZjQ0MzM2OyB9XG5cbi5oYXMtZGFuZ2VyIC5pcy1mb2N1c2VkIC5mb3JtLWNvbnRyb2wsIC5oYXMtZGFuZ2VyIC5pcy1mb2N1c2VkIC5jdXN0b20tZmlsZS1jb250cm9sLCAuaGFzLWRhbmdlci5pcy1mb2N1c2VkIC5mb3JtLWNvbnRyb2wsIC5oYXMtZGFuZ2VyLmlzLWZvY3VzZWQgLmN1c3RvbS1maWxlLWNvbnRyb2wge1xuICBib3JkZXItY29sb3I6ICNmNDQzMzY7IH1cblxuLmhhcy1kYW5nZXIgLmlzLWZvY3VzZWQgLmlucHV0LWdyb3VwLWFkZG9uLCAuaGFzLWRhbmdlci5pcy1mb2N1c2VkIC5pbnB1dC1ncm91cC1hZGRvbiB7XG4gIGNvbG9yOiAjZjQ0MzM2O1xuICBib3JkZXItY29sb3I6ICNmNDQzMzY7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY4Zjc7IH1cblxuLmhhcy1kYW5nZXIgLmlzLWZvY3VzZWQgLmZvcm0tY29udHJvbC1mZWVkYmFjaywgLmhhcy1kYW5nZXIuaXMtZm9jdXNlZCAuZm9ybS1jb250cm9sLWZlZWRiYWNrIHtcbiAgY29sb3I6ICNmNDQzMzY7IH1cblxuLmhhcy1kYW5nZXIgLmlzLWZvY3VzZWQgW2NsYXNzXj0nYm1kLWxhYmVsJ10sXG4uaGFzLWRhbmdlciAuaXMtZm9jdXNlZCBbY2xhc3MqPScgYm1kLWxhYmVsJ10sIC5oYXMtZGFuZ2VyLmlzLWZvY3VzZWQgW2NsYXNzXj0nYm1kLWxhYmVsJ10sXG4uaGFzLWRhbmdlci5pcy1mb2N1c2VkIFtjbGFzcyo9JyBibWQtbGFiZWwnXSB7XG4gIGNvbG9yOiAjZjQ0MzM2OyB9XG5cbi5oYXMtZGFuZ2VyIC5pcy1mb2N1c2VkIC5ibWQtbGFiZWwtcGxhY2Vob2xkZXIsIC5oYXMtZGFuZ2VyLmlzLWZvY3VzZWQgLmJtZC1sYWJlbC1wbGFjZWhvbGRlciB7XG4gIGNvbG9yOiAjZjQ0MzM2OyB9XG5cbi5oYXMtZGFuZ2VyIC5pcy1mb2N1c2VkIC5mb3JtLWNvbnRyb2wsIC5oYXMtZGFuZ2VyIC5pcy1mb2N1c2VkIC5jdXN0b20tZmlsZS1jb250cm9sLCAuaGFzLWRhbmdlci5pcy1mb2N1c2VkIC5mb3JtLWNvbnRyb2wsIC5oYXMtZGFuZ2VyLmlzLWZvY3VzZWQgLmN1c3RvbS1maWxlLWNvbnRyb2wge1xuICBib3JkZXItY29sb3I6ICNmNDQzMzY7IH1cblxuLmhhcy1kYW5nZXIgLmlzLWZvY3VzZWQgLmJtZC1oZWxwLCAuaGFzLWRhbmdlci5pcy1mb2N1c2VkIC5ibWQtaGVscCB7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNTQpOyB9XG5cbi5ibWQtZm9ybS1ncm91cCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZy10b3A6IDEuNzVyZW07IH1cbiAgLmJtZC1mb3JtLWdyb3VwIFtjbGFzc149J2JtZC1sYWJlbCddLFxuICAuYm1kLWZvcm0tZ3JvdXAgW2NsYXNzKj0nIGJtZC1sYWJlbCddIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgdHJhbnNpdGlvbjogMC4zcyBlYXNlIGFsbDsgfVxuICAgIC5ibWQtZm9ybS1ncm91cCBbY2xhc3NePSdibWQtbGFiZWwnXS5ibWQtbGFiZWwtZmxvYXRpbmcsXG4gICAgLmJtZC1mb3JtLWdyb3VwIFtjbGFzcyo9JyBibWQtbGFiZWwnXS5ibWQtbGFiZWwtZmxvYXRpbmcge1xuICAgICAgd2lsbC1jaGFuZ2U6IGxlZnQsIHRvcCwgY29udGVudHM7IH1cbiAgLmJtZC1mb3JtLWdyb3VwLmlzLWZpbGxlZCAuYm1kLWxhYmVsLXBsYWNlaG9sZGVyIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5ibWQtZm9ybS1ncm91cC5ibWQtY29sbGFwc2UtaW5saW5lIHtcbiAgICBwYWRkaW5nOiAwOyB9XG4gICAgLmJtZC1mb3JtLWdyb3VwLmJtZC1jb2xsYXBzZS1pbmxpbmUgLmNvbGxhcHNlLmluIHtcbiAgICAgIG1heC13aWR0aDogNjAwcHg7IH1cbiAgICAuYm1kLWZvcm0tZ3JvdXAuYm1kLWNvbGxhcHNlLWlubGluZSAuY29sbGFwc2luZyxcbiAgICAuYm1kLWZvcm0tZ3JvdXAuYm1kLWNvbGxhcHNlLWlubGluZSAud2lkdGg6bm90KC5jb2xsYXBzZSksXG4gICAgLmJtZC1mb3JtLWdyb3VwLmJtZC1jb2xsYXBzZS1pbmxpbmUgLmNvbGxhcHNlLmluIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICAgIC5ibWQtZm9ybS1ncm91cC5ibWQtY29sbGFwc2UtaW5saW5lIC5jb2xsYXBzaW5nIHtcbiAgICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDAuMnM7XG4gICAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yLCAxKTsgfVxuICAuYm1kLWZvcm0tZ3JvdXAgLmZvcm0tY29udHJvbCwgLmJtZC1mb3JtLWdyb3VwIC5jdXN0b20tZmlsZS1jb250cm9sLFxuICAuYm1kLWZvcm0tZ3JvdXAgbGFiZWwsXG4gIC5ibWQtZm9ybS1ncm91cCBpbnB1dDo6cGxhY2Vob2xkZXIge1xuICAgIGxpbmUtaGVpZ2h0OiAxOyB9XG4gIC5ibWQtZm9ybS1ncm91cCAucmFkaW8gbGFiZWwsXG4gIC5ibWQtZm9ybS1ncm91cCBsYWJlbC5yYWRpby1pbmxpbmUsXG4gIC5ibWQtZm9ybS1ncm91cCAuY2hlY2tib3ggbGFiZWwsXG4gIC5ibWQtZm9ybS1ncm91cCBsYWJlbC5jaGVja2JveC1pbmxpbmUsXG4gIC5ibWQtZm9ybS1ncm91cCAuc3dpdGNoIGxhYmVsIHtcbiAgICBsaW5lLWhlaWdodDogMS41OyB9XG4gIC5ibWQtZm9ybS1ncm91cCBpbnB1dDo6cGxhY2Vob2xkZXIge1xuICAgIGZvbnQtc2l6ZTogMXJlbTsgfVxuICAuYm1kLWZvcm0tZ3JvdXAgLmNoZWNrYm94IGxhYmVsLFxuICAuYm1kLWZvcm0tZ3JvdXAgLnJhZGlvIGxhYmVsLFxuICAuYm1kLWZvcm0tZ3JvdXAgbGFiZWwge1xuICAgIGZvbnQtc2l6ZTogMXJlbTsgfVxuICAuYm1kLWZvcm0tZ3JvdXAgLmJtZC1sYWJlbC1mbG9hdGluZyxcbiAgLmJtZC1mb3JtLWdyb3VwIC5ibWQtbGFiZWwtcGxhY2Vob2xkZXIge1xuICAgIHRvcDogMi4xODc1cmVtOyB9XG4gIC5ibWQtZm9ybS1ncm91cC5pcy1mb2N1c2VkIC5ibWQtbGFiZWwtZmxvYXRpbmcsXG4gIC5ibWQtZm9ybS1ncm91cCAuaXMtZm9jdXNlZCAuYm1kLWxhYmVsLWZsb2F0aW5nLCAuYm1kLWZvcm0tZ3JvdXAuaXMtZmlsbGVkIC5ibWQtbGFiZWwtZmxvYXRpbmcsXG4gIC5ibWQtZm9ybS1ncm91cCAuaXMtZmlsbGVkIC5ibWQtbGFiZWwtZmxvYXRpbmcge1xuICAgIHRvcDogMXJlbTtcbiAgICBsZWZ0OiAwO1xuICAgIGZvbnQtc2l6ZTogMC43NXJlbTsgfVxuICAuYm1kLWZvcm0tZ3JvdXAgLmJtZC1sYWJlbC1zdGF0aWMge1xuICAgIHRvcDogMXJlbTtcbiAgICBsZWZ0OiAwO1xuICAgIGZvbnQtc2l6ZTogMC43NXJlbTsgfVxuICAuYm1kLWZvcm0tZ3JvdXAgLmJtZC1oZWxwIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIGZvbnQtc2l6ZTogMC43NXJlbTsgfVxuICAuYm1kLWZvcm0tZ3JvdXAgLmZvcm0tY29udHJvbC5mb3JtLWNvbnRyb2wtc3VjY2VzcywgLmJtZC1mb3JtLWdyb3VwIC5mb3JtLWNvbnRyb2wtc3VjY2Vzcy5jdXN0b20tZmlsZS1jb250cm9sLCAuYm1kLWZvcm0tZ3JvdXAgLmZvcm0tY29udHJvbC5mb3JtLWNvbnRyb2wtd2FybmluZywgLmJtZC1mb3JtLWdyb3VwIC5mb3JtLWNvbnRyb2wtd2FybmluZy5jdXN0b20tZmlsZS1jb250cm9sLCAuYm1kLWZvcm0tZ3JvdXAgLmZvcm0tY29udHJvbC5mb3JtLWNvbnRyb2wtZGFuZ2VyLCAuYm1kLWZvcm0tZ3JvdXAgLmZvcm0tY29udHJvbC1kYW5nZXIuY3VzdG9tLWZpbGUtY29udHJvbCB7XG4gICAgYmFja2dyb3VuZC1zaXplOiAwIDEwMCUsIDEwMCUgMTAwJSwgMC45Mzc1cmVtIDAuOTM3NXJlbTsgfVxuICAgIC5ibWQtZm9ybS1ncm91cCAuZm9ybS1jb250cm9sLmZvcm0tY29udHJvbC1zdWNjZXNzLCAuYm1kLWZvcm0tZ3JvdXAgLmZvcm0tY29udHJvbC1zdWNjZXNzLmN1c3RvbS1maWxlLWNvbnRyb2wsIC5ibWQtZm9ybS1ncm91cCAuZm9ybS1jb250cm9sLmZvcm0tY29udHJvbC1zdWNjZXNzOmZvY3VzLCAuYm1kLWZvcm0tZ3JvdXAgLmZvcm0tY29udHJvbC1zdWNjZXNzLmN1c3RvbS1maWxlLWNvbnRyb2w6Zm9jdXMsXG4gICAgLmJtZC1mb3JtLWdyb3VwLmlzLWZvY3VzZWQgLmJtZC1mb3JtLWdyb3VwIC5mb3JtLWNvbnRyb2wuZm9ybS1jb250cm9sLXN1Y2Nlc3MsXG4gICAgLmJtZC1mb3JtLWdyb3VwLmlzLWZvY3VzZWQgLmJtZC1mb3JtLWdyb3VwIC5mb3JtLWNvbnRyb2wtc3VjY2Vzcy5jdXN0b20tZmlsZS1jb250cm9sLCAuYm1kLWZvcm0tZ3JvdXAgLmZvcm0tY29udHJvbC5mb3JtLWNvbnRyb2wtd2FybmluZywgLmJtZC1mb3JtLWdyb3VwIC5mb3JtLWNvbnRyb2wtd2FybmluZy5jdXN0b20tZmlsZS1jb250cm9sLCAuYm1kLWZvcm0tZ3JvdXAgLmZvcm0tY29udHJvbC5mb3JtLWNvbnRyb2wtd2FybmluZzpmb2N1cywgLmJtZC1mb3JtLWdyb3VwIC5mb3JtLWNvbnRyb2wtd2FybmluZy5jdXN0b20tZmlsZS1jb250cm9sOmZvY3VzLFxuICAgIC5ibWQtZm9ybS1ncm91cC5pcy1mb2N1c2VkIC5ibWQtZm9ybS1ncm91cCAuZm9ybS1jb250cm9sLmZvcm0tY29udHJvbC13YXJuaW5nLFxuICAgIC5ibWQtZm9ybS1ncm91cC5pcy1mb2N1c2VkIC5ibWQtZm9ybS1ncm91cCAuZm9ybS1jb250cm9sLXdhcm5pbmcuY3VzdG9tLWZpbGUtY29udHJvbCwgLmJtZC1mb3JtLWdyb3VwIC5mb3JtLWNvbnRyb2wuZm9ybS1jb250cm9sLWRhbmdlciwgLmJtZC1mb3JtLWdyb3VwIC5mb3JtLWNvbnRyb2wtZGFuZ2VyLmN1c3RvbS1maWxlLWNvbnRyb2wsIC5ibWQtZm9ybS1ncm91cCAuZm9ybS1jb250cm9sLmZvcm0tY29udHJvbC1kYW5nZXI6Zm9jdXMsIC5ibWQtZm9ybS1ncm91cCAuZm9ybS1jb250cm9sLWRhbmdlci5jdXN0b20tZmlsZS1jb250cm9sOmZvY3VzLFxuICAgIC5ibWQtZm9ybS1ncm91cC5pcy1mb2N1c2VkIC5ibWQtZm9ybS1ncm91cCAuZm9ybS1jb250cm9sLmZvcm0tY29udHJvbC1kYW5nZXIsXG4gICAgLmJtZC1mb3JtLWdyb3VwLmlzLWZvY3VzZWQgLmJtZC1mb3JtLWdyb3VwIC5mb3JtLWNvbnRyb2wtZGFuZ2VyLmN1c3RvbS1maWxlLWNvbnRyb2wge1xuICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQsIG5vLXJlcGVhdDtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBib3R0b20sIGNlbnRlciBjYWxjKDEwMCUgLSAxcHgpLCBjZW50ZXIgcmlnaHQgMC40Njg3NXJlbTsgfVxuICAgIC5ibWQtZm9ybS1ncm91cCAuZm9ybS1jb250cm9sLmZvcm0tY29udHJvbC1zdWNjZXNzOmZvY3VzLCAuYm1kLWZvcm0tZ3JvdXAgLmZvcm0tY29udHJvbC1zdWNjZXNzLmN1c3RvbS1maWxlLWNvbnRyb2w6Zm9jdXMsXG4gICAgLmJtZC1mb3JtLWdyb3VwLmlzLWZvY3VzZWQgLmJtZC1mb3JtLWdyb3VwIC5mb3JtLWNvbnRyb2wuZm9ybS1jb250cm9sLXN1Y2Nlc3MsXG4gICAgLmJtZC1mb3JtLWdyb3VwLmlzLWZvY3VzZWQgLmJtZC1mb3JtLWdyb3VwIC5mb3JtLWNvbnRyb2wtc3VjY2Vzcy5jdXN0b20tZmlsZS1jb250cm9sLCAuYm1kLWZvcm0tZ3JvdXAgLmZvcm0tY29udHJvbC5mb3JtLWNvbnRyb2wtd2FybmluZzpmb2N1cywgLmJtZC1mb3JtLWdyb3VwIC5mb3JtLWNvbnRyb2wtd2FybmluZy5jdXN0b20tZmlsZS1jb250cm9sOmZvY3VzLFxuICAgIC5ibWQtZm9ybS1ncm91cC5pcy1mb2N1c2VkIC5ibWQtZm9ybS1ncm91cCAuZm9ybS1jb250cm9sLmZvcm0tY29udHJvbC13YXJuaW5nLFxuICAgIC5ibWQtZm9ybS1ncm91cC5pcy1mb2N1c2VkIC5ibWQtZm9ybS1ncm91cCAuZm9ybS1jb250cm9sLXdhcm5pbmcuY3VzdG9tLWZpbGUtY29udHJvbCwgLmJtZC1mb3JtLWdyb3VwIC5mb3JtLWNvbnRyb2wuZm9ybS1jb250cm9sLWRhbmdlcjpmb2N1cywgLmJtZC1mb3JtLWdyb3VwIC5mb3JtLWNvbnRyb2wtZGFuZ2VyLmN1c3RvbS1maWxlLWNvbnRyb2w6Zm9jdXMsXG4gICAgLmJtZC1mb3JtLWdyb3VwLmlzLWZvY3VzZWQgLmJtZC1mb3JtLWdyb3VwIC5mb3JtLWNvbnRyb2wuZm9ybS1jb250cm9sLWRhbmdlcixcbiAgICAuYm1kLWZvcm0tZ3JvdXAuaXMtZm9jdXNlZCAuYm1kLWZvcm0tZ3JvdXAgLmZvcm0tY29udHJvbC1kYW5nZXIuY3VzdG9tLWZpbGUtY29udHJvbCB7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCUgMTAwJSwgMTAwJSAxMDAlLCAwLjkzNzVyZW0gMC45Mzc1cmVtOyB9XG4gIC5ibWQtZm9ybS1ncm91cC5ibWQtZm9ybS1ncm91cC1zbSB7XG4gICAgcGFkZGluZy10b3A6IDEuNDA2MjVyZW07IH1cbiAgICAuYm1kLWZvcm0tZ3JvdXAuYm1kLWZvcm0tZ3JvdXAtc20gLmZvcm0tY29udHJvbCwgLmJtZC1mb3JtLWdyb3VwLmJtZC1mb3JtLWdyb3VwLXNtIC5jdXN0b20tZmlsZS1jb250cm9sLFxuICAgIC5ibWQtZm9ybS1ncm91cC5ibWQtZm9ybS1ncm91cC1zbSBsYWJlbCxcbiAgICAuYm1kLWZvcm0tZ3JvdXAuYm1kLWZvcm0tZ3JvdXAtc20gaW5wdXQ6OnBsYWNlaG9sZGVyIHtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxOyB9XG4gICAgLmJtZC1mb3JtLWdyb3VwLmJtZC1mb3JtLWdyb3VwLXNtIC5yYWRpbyBsYWJlbCxcbiAgICAuYm1kLWZvcm0tZ3JvdXAuYm1kLWZvcm0tZ3JvdXAtc20gbGFiZWwucmFkaW8taW5saW5lLFxuICAgIC5ibWQtZm9ybS1ncm91cC5ibWQtZm9ybS1ncm91cC1zbSAuY2hlY2tib3ggbGFiZWwsXG4gICAgLmJtZC1mb3JtLWdyb3VwLmJtZC1mb3JtLWdyb3VwLXNtIGxhYmVsLmNoZWNrYm94LWlubGluZSxcbiAgICAuYm1kLWZvcm0tZ3JvdXAuYm1kLWZvcm0tZ3JvdXAtc20gLnN3aXRjaCBsYWJlbCB7XG4gICAgICBsaW5lLWhlaWdodDogMS41OyB9XG4gICAgLmJtZC1mb3JtLWdyb3VwLmJtZC1mb3JtLWdyb3VwLXNtIGlucHV0OjpwbGFjZWhvbGRlciB7XG4gICAgICBmb250LXNpemU6IDAuODc1cmVtOyB9XG4gICAgLmJtZC1mb3JtLWdyb3VwLmJtZC1mb3JtLWdyb3VwLXNtIC5jaGVja2JveCBsYWJlbCxcbiAgICAuYm1kLWZvcm0tZ3JvdXAuYm1kLWZvcm0tZ3JvdXAtc20gLnJhZGlvIGxhYmVsLFxuICAgIC5ibWQtZm9ybS1ncm91cC5ibWQtZm9ybS1ncm91cC1zbSBsYWJlbCB7XG4gICAgICBmb250LXNpemU6IDAuODc1cmVtOyB9XG4gICAgLmJtZC1mb3JtLWdyb3VwLmJtZC1mb3JtLWdyb3VwLXNtIC5ibWQtbGFiZWwtZmxvYXRpbmcsXG4gICAgLmJtZC1mb3JtLWdyb3VwLmJtZC1mb3JtLWdyb3VwLXNtIC5ibWQtbGFiZWwtcGxhY2Vob2xkZXIge1xuICAgICAgdG9wOiAxLjY1NjI1cmVtOyB9XG4gICAgLmJtZC1mb3JtLWdyb3VwLmJtZC1mb3JtLWdyb3VwLXNtLmlzLWZvY3VzZWQgLmJtZC1sYWJlbC1mbG9hdGluZyxcbiAgICAuYm1kLWZvcm0tZ3JvdXAuYm1kLWZvcm0tZ3JvdXAtc20gLmlzLWZvY3VzZWQgLmJtZC1sYWJlbC1mbG9hdGluZywgLmJtZC1mb3JtLWdyb3VwLmJtZC1mb3JtLWdyb3VwLXNtLmlzLWZpbGxlZCAuYm1kLWxhYmVsLWZsb2F0aW5nLFxuICAgIC5ibWQtZm9ybS1ncm91cC5ibWQtZm9ybS1ncm91cC1zbSAuaXMtZmlsbGVkIC5ibWQtbGFiZWwtZmxvYXRpbmcge1xuICAgICAgdG9wOiAwLjc1cmVtO1xuICAgICAgbGVmdDogMDtcbiAgICAgIGZvbnQtc2l6ZTogMC42NTYyNXJlbTsgfVxuICAgIC5ibWQtZm9ybS1ncm91cC5ibWQtZm9ybS1ncm91cC1zbSAuYm1kLWxhYmVsLXN0YXRpYyB7XG4gICAgICB0b3A6IDAuNzVyZW07XG4gICAgICBsZWZ0OiAwO1xuICAgICAgZm9udC1zaXplOiAwLjY1NjI1cmVtOyB9XG4gICAgLmJtZC1mb3JtLWdyb3VwLmJtZC1mb3JtLWdyb3VwLXNtIC5ibWQtaGVscCB7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgZm9udC1zaXplOiAwLjY1NjI1cmVtOyB9XG4gICAgLmJtZC1mb3JtLWdyb3VwLmJtZC1mb3JtLWdyb3VwLXNtIC5mb3JtLWNvbnRyb2wuZm9ybS1jb250cm9sLXN1Y2Nlc3MsIC5ibWQtZm9ybS1ncm91cC5ibWQtZm9ybS1ncm91cC1zbSAuZm9ybS1jb250cm9sLXN1Y2Nlc3MuY3VzdG9tLWZpbGUtY29udHJvbCwgLmJtZC1mb3JtLWdyb3VwLmJtZC1mb3JtLWdyb3VwLXNtIC5mb3JtLWNvbnRyb2wuZm9ybS1jb250cm9sLXdhcm5pbmcsIC5ibWQtZm9ybS1ncm91cC5ibWQtZm9ybS1ncm91cC1zbSAuZm9ybS1jb250cm9sLXdhcm5pbmcuY3VzdG9tLWZpbGUtY29udHJvbCwgLmJtZC1mb3JtLWdyb3VwLmJtZC1mb3JtLWdyb3VwLXNtIC5mb3JtLWNvbnRyb2wuZm9ybS1jb250cm9sLWRhbmdlciwgLmJtZC1mb3JtLWdyb3VwLmJtZC1mb3JtLWdyb3VwLXNtIC5mb3JtLWNvbnRyb2wtZGFuZ2VyLmN1c3RvbS1maWxlLWNvbnRyb2wge1xuICAgICAgYmFja2dyb3VuZC1zaXplOiAwIDEwMCUsIDEwMCUgMTAwJSwgMC42ODc1cmVtIDAuNjg3NXJlbTsgfVxuICAgICAgLmJtZC1mb3JtLWdyb3VwLmJtZC1mb3JtLWdyb3VwLXNtIC5mb3JtLWNvbnRyb2wuZm9ybS1jb250cm9sLXN1Y2Nlc3MsIC5ibWQtZm9ybS1ncm91cC5ibWQtZm9ybS1ncm91cC1zbSAuZm9ybS1jb250cm9sLXN1Y2Nlc3MuY3VzdG9tLWZpbGUtY29udHJvbCwgLmJtZC1mb3JtLWdyb3VwLmJtZC1mb3JtLWdyb3VwLXNtIC5mb3JtLWNvbnRyb2wuZm9ybS1jb250cm9sLXN1Y2Nlc3M6Zm9jdXMsIC5ibWQtZm9ybS1ncm91cC5ibWQtZm9ybS1ncm91cC1zbSAuZm9ybS1jb250cm9sLXN1Y2Nlc3MuY3VzdG9tLWZpbGUtY29udHJvbDpmb2N1cyxcbiAgICAgIC5ibWQtZm9ybS1ncm91cC5pcy1mb2N1c2VkIC5ibWQtZm9ybS1ncm91cC5ibWQtZm9ybS1ncm91cC1zbSAuZm9ybS1jb250cm9sLmZvcm0tY29udHJvbC1zdWNjZXNzLFxuICAgICAgLmJtZC1mb3JtLWdyb3VwLmlzLWZvY3VzZWQgLmJtZC1mb3JtLWdyb3VwLmJtZC1mb3JtLWdyb3VwLXNtIC5mb3JtLWNvbnRyb2wtc3VjY2Vzcy5jdXN0b20tZmlsZS1jb250cm9sLCAuYm1kLWZvcm0tZ3JvdXAuYm1kLWZvcm0tZ3JvdXAtc20gLmZvcm0tY29udHJvbC5mb3JtLWNvbnRyb2wtd2FybmluZywgLmJtZC1mb3JtLWdyb3VwLmJtZC1mb3JtLWdyb3VwLXNtIC5mb3JtLWNvbnRyb2wtd2FybmluZy5jdXN0b20tZmlsZS1jb250cm9sLCAuYm1kLWZvcm0tZ3JvdXAuYm1kLWZvcm0tZ3JvdXAtc20gLmZvcm0tY29udHJvbC5mb3JtLWNvbnRyb2wtd2FybmluZzpmb2N1cywgLmJtZC1mb3JtLWdyb3VwLmJtZC1mb3JtLWdyb3VwLXNtIC5mb3JtLWNvbnRyb2wtd2FybmluZy5jdXN0b20tZmlsZS1jb250cm9sOmZvY3VzLFxuICAgICAgLmJtZC1mb3JtLWdyb3VwLmlzLWZvY3VzZWQgLmJtZC1mb3JtLWdyb3VwLmJtZC1mb3JtLWdyb3VwLXNtIC5mb3JtLWNvbnRyb2wuZm9ybS1jb250cm9sLXdhcm5pbmcsXG4gICAgICAuYm1kLWZvcm0tZ3JvdXAuaXMtZm9jdXNlZCAuYm1kLWZvcm0tZ3JvdXAuYm1kLWZvcm0tZ3JvdXAtc20gLmZvcm0tY29udHJvbC13YXJuaW5nLmN1c3RvbS1maWxlLWNvbnRyb2wsIC5ibWQtZm9ybS1ncm91cC5ibWQtZm9ybS1ncm91cC1zbSAuZm9ybS1jb250cm9sLmZvcm0tY29udHJvbC1kYW5nZXIsIC5ibWQtZm9ybS1ncm91cC5ibWQtZm9ybS1ncm91cC1zbSAuZm9ybS1jb250cm9sLWRhbmdlci5jdXN0b20tZmlsZS1jb250cm9sLCAuYm1kLWZvcm0tZ3JvdXAuYm1kLWZvcm0tZ3JvdXAtc20gLmZvcm0tY29udHJvbC5mb3JtLWNvbnRyb2wtZGFuZ2VyOmZvY3VzLCAuYm1kLWZvcm0tZ3JvdXAuYm1kLWZvcm0tZ3JvdXAtc20gLmZvcm0tY29udHJvbC1kYW5nZXIuY3VzdG9tLWZpbGUtY29udHJvbDpmb2N1cyxcbiAgICAgIC5ibWQtZm9ybS1ncm91cC5pcy1mb2N1c2VkIC5ibWQtZm9ybS1ncm91cC5ibWQtZm9ybS1ncm91cC1zbSAuZm9ybS1jb250cm9sLmZvcm0tY29udHJvbC1kYW5nZXIsXG4gICAgICAuYm1kLWZvcm0tZ3JvdXAuaXMtZm9jdXNlZCAuYm1kLWZvcm0tZ3JvdXAuYm1kLWZvcm0tZ3JvdXAtc20gLmZvcm0tY29udHJvbC1kYW5nZXIuY3VzdG9tLWZpbGUtY29udHJvbCB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQsIG5vLXJlcGVhdDtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGJvdHRvbSwgY2VudGVyIGNhbGMoMTAwJSAtIDFweCksIGNlbnRlciByaWdodCAwLjM0Mzc1cmVtOyB9XG4gICAgICAuYm1kLWZvcm0tZ3JvdXAuYm1kLWZvcm0tZ3JvdXAtc20gLmZvcm0tY29udHJvbC5mb3JtLWNvbnRyb2wtc3VjY2Vzczpmb2N1cywgLmJtZC1mb3JtLWdyb3VwLmJtZC1mb3JtLWdyb3VwLXNtIC5mb3JtLWNvbnRyb2wtc3VjY2Vzcy5jdXN0b20tZmlsZS1jb250cm9sOmZvY3VzLFxuICAgICAgLmJtZC1mb3JtLWdyb3VwLmlzLWZvY3VzZWQgLmJtZC1mb3JtLWdyb3VwLmJtZC1mb3JtLWdyb3VwLXNtIC5mb3JtLWNvbnRyb2wuZm9ybS1jb250cm9sLXN1Y2Nlc3MsXG4gICAgICAuYm1kLWZvcm0tZ3JvdXAuaXMtZm9jdXNlZCAuYm1kLWZvcm0tZ3JvdXAuYm1kLWZvcm0tZ3JvdXAtc20gLmZvcm0tY29udHJvbC1zdWNjZXNzLmN1c3RvbS1maWxlLWNvbnRyb2wsIC5ibWQtZm9ybS1ncm91cC5ibWQtZm9ybS1ncm91cC1zbSAuZm9ybS1jb250cm9sLmZvcm0tY29udHJvbC13YXJuaW5nOmZvY3VzLCAuYm1kLWZvcm0tZ3JvdXAuYm1kLWZvcm0tZ3JvdXAtc20gLmZvcm0tY29udHJvbC13YXJuaW5nLmN1c3RvbS1maWxlLWNvbnRyb2w6Zm9jdXMsXG4gICAgICAuYm1kLWZvcm0tZ3JvdXAuaXMtZm9jdXNlZCAuYm1kLWZvcm0tZ3JvdXAuYm1kLWZvcm0tZ3JvdXAtc20gLmZvcm0tY29udHJvbC5mb3JtLWNvbnRyb2wtd2FybmluZyxcbiAgICAgIC5ibWQtZm9ybS1ncm91cC5pcy1mb2N1c2VkIC5ibWQtZm9ybS1ncm91cC5ibWQtZm9ybS1ncm91cC1zbSAuZm9ybS1jb250cm9sLXdhcm5pbmcuY3VzdG9tLWZpbGUtY29udHJvbCwgLmJtZC1mb3JtLWdyb3VwLmJtZC1mb3JtLWdyb3VwLXNtIC5mb3JtLWNvbnRyb2wuZm9ybS1jb250cm9sLWRhbmdlcjpmb2N1cywgLmJtZC1mb3JtLWdyb3VwLmJtZC1mb3JtLWdyb3VwLXNtIC5mb3JtLWNvbnRyb2wtZGFuZ2VyLmN1c3RvbS1maWxlLWNvbnRyb2w6Zm9jdXMsXG4gICAgICAuYm1kLWZvcm0tZ3JvdXAuaXMtZm9jdXNlZCAuYm1kLWZvcm0tZ3JvdXAuYm1kLWZvcm0tZ3JvdXAtc20gLmZvcm0tY29udHJvbC5mb3JtLWNvbnRyb2wtZGFuZ2VyLFxuICAgICAgLmJtZC1mb3JtLWdyb3VwLmlzLWZvY3VzZWQgLmJtZC1mb3JtLWdyb3VwLmJtZC1mb3JtLWdyb3VwLXNtIC5mb3JtLWNvbnRyb2wtZGFuZ2VyLmN1c3RvbS1maWxlLWNvbnRyb2wge1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCUgMTAwJSwgMTAwJSAxMDAlLCAwLjY4NzVyZW0gMC42ODc1cmVtOyB9XG4gIC5ibWQtZm9ybS1ncm91cC5ibWQtZm9ybS1ncm91cC1sZyB7XG4gICAgcGFkZGluZy10b3A6IDEuOTM3NXJlbTsgfVxuICAgIC5ibWQtZm9ybS1ncm91cC5ibWQtZm9ybS1ncm91cC1sZyAuZm9ybS1jb250cm9sLCAuYm1kLWZvcm0tZ3JvdXAuYm1kLWZvcm0tZ3JvdXAtbGcgLmN1c3RvbS1maWxlLWNvbnRyb2wsXG4gICAgLmJtZC1mb3JtLWdyb3VwLmJtZC1mb3JtLWdyb3VwLWxnIGxhYmVsLFxuICAgIC5ibWQtZm9ybS1ncm91cC5ibWQtZm9ybS1ncm91cC1sZyBpbnB1dDo6cGxhY2Vob2xkZXIge1xuICAgICAgbGluZS1oZWlnaHQ6IDE7IH1cbiAgICAuYm1kLWZvcm0tZ3JvdXAuYm1kLWZvcm0tZ3JvdXAtbGcgLnJhZGlvIGxhYmVsLFxuICAgIC5ibWQtZm9ybS1ncm91cC5ibWQtZm9ybS1ncm91cC1sZyBsYWJlbC5yYWRpby1pbmxpbmUsXG4gICAgLmJtZC1mb3JtLWdyb3VwLmJtZC1mb3JtLWdyb3VwLWxnIC5jaGVja2JveCBsYWJlbCxcbiAgICAuYm1kLWZvcm0tZ3JvdXAuYm1kLWZvcm0tZ3JvdXAtbGcgbGFiZWwuY2hlY2tib3gtaW5saW5lLFxuICAgIC5ibWQtZm9ybS1ncm91cC5ibWQtZm9ybS1ncm91cC1sZyAuc3dpdGNoIGxhYmVsIHtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7IH1cbiAgICAuYm1kLWZvcm0tZ3JvdXAuYm1kLWZvcm0tZ3JvdXAtbGcgaW5wdXQ6OnBsYWNlaG9sZGVyIHtcbiAgICAgIGZvbnQtc2l6ZTogMS4yNXJlbTsgfVxuICAgIC5ibWQtZm9ybS1ncm91cC5ibWQtZm9ybS1ncm91cC1sZyAuY2hlY2tib3ggbGFiZWwsXG4gICAgLmJtZC1mb3JtLWdyb3VwLmJtZC1mb3JtLWdyb3VwLWxnIC5yYWRpbyBsYWJlbCxcbiAgICAuYm1kLWZvcm0tZ3JvdXAuYm1kLWZvcm0tZ3JvdXAtbGcgbGFiZWwge1xuICAgICAgZm9udC1zaXplOiAxLjI1cmVtOyB9XG4gICAgLmJtZC1mb3JtLWdyb3VwLmJtZC1mb3JtLWdyb3VwLWxnIC5ibWQtbGFiZWwtZmxvYXRpbmcsXG4gICAgLmJtZC1mb3JtLWdyb3VwLmJtZC1mb3JtLWdyb3VwLWxnIC5ibWQtbGFiZWwtcGxhY2Vob2xkZXIge1xuICAgICAgdG9wOiAyLjVyZW07IH1cbiAgICAuYm1kLWZvcm0tZ3JvdXAuYm1kLWZvcm0tZ3JvdXAtbGcuaXMtZm9jdXNlZCAuYm1kLWxhYmVsLWZsb2F0aW5nLFxuICAgIC5ibWQtZm9ybS1ncm91cC5ibWQtZm9ybS1ncm91cC1sZyAuaXMtZm9jdXNlZCAuYm1kLWxhYmVsLWZsb2F0aW5nLCAuYm1kLWZvcm0tZ3JvdXAuYm1kLWZvcm0tZ3JvdXAtbGcuaXMtZmlsbGVkIC5ibWQtbGFiZWwtZmxvYXRpbmcsXG4gICAgLmJtZC1mb3JtLWdyb3VwLmJtZC1mb3JtLWdyb3VwLWxnIC5pcy1maWxsZWQgLmJtZC1sYWJlbC1mbG9hdGluZyB7XG4gICAgICB0b3A6IDFyZW07XG4gICAgICBsZWZ0OiAwO1xuICAgICAgZm9udC1zaXplOiAwLjkzNzVyZW07IH1cbiAgICAuYm1kLWZvcm0tZ3JvdXAuYm1kLWZvcm0tZ3JvdXAtbGcgLmJtZC1sYWJlbC1zdGF0aWMge1xuICAgICAgdG9wOiAxcmVtO1xuICAgICAgbGVmdDogMDtcbiAgICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtOyB9XG4gICAgLmJtZC1mb3JtLWdyb3VwLmJtZC1mb3JtLWdyb3VwLWxnIC5ibWQtaGVscCB7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgZm9udC1zaXplOiAwLjkzNzVyZW07IH1cbiAgICAuYm1kLWZvcm0tZ3JvdXAuYm1kLWZvcm0tZ3JvdXAtbGcgLmZvcm0tY29udHJvbC5mb3JtLWNvbnRyb2wtc3VjY2VzcywgLmJtZC1mb3JtLWdyb3VwLmJtZC1mb3JtLWdyb3VwLWxnIC5mb3JtLWNvbnRyb2wtc3VjY2Vzcy5jdXN0b20tZmlsZS1jb250cm9sLCAuYm1kLWZvcm0tZ3JvdXAuYm1kLWZvcm0tZ3JvdXAtbGcgLmZvcm0tY29udHJvbC5mb3JtLWNvbnRyb2wtd2FybmluZywgLmJtZC1mb3JtLWdyb3VwLmJtZC1mb3JtLWdyb3VwLWxnIC5mb3JtLWNvbnRyb2wtd2FybmluZy5jdXN0b20tZmlsZS1jb250cm9sLCAuYm1kLWZvcm0tZ3JvdXAuYm1kLWZvcm0tZ3JvdXAtbGcgLmZvcm0tY29udHJvbC5mb3JtLWNvbnRyb2wtZGFuZ2VyLCAuYm1kLWZvcm0tZ3JvdXAuYm1kLWZvcm0tZ3JvdXAtbGcgLmZvcm0tY29udHJvbC1kYW5nZXIuY3VzdG9tLWZpbGUtY29udHJvbCB7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDAgMTAwJSwgMTAwJSAxMDAlLCAxLjE4NzVyZW0gMS4xODc1cmVtOyB9XG4gICAgICAuYm1kLWZvcm0tZ3JvdXAuYm1kLWZvcm0tZ3JvdXAtbGcgLmZvcm0tY29udHJvbC5mb3JtLWNvbnRyb2wtc3VjY2VzcywgLmJtZC1mb3JtLWdyb3VwLmJtZC1mb3JtLWdyb3VwLWxnIC5mb3JtLWNvbnRyb2wtc3VjY2Vzcy5jdXN0b20tZmlsZS1jb250cm9sLCAuYm1kLWZvcm0tZ3JvdXAuYm1kLWZvcm0tZ3JvdXAtbGcgLmZvcm0tY29udHJvbC5mb3JtLWNvbnRyb2wtc3VjY2Vzczpmb2N1cywgLmJtZC1mb3JtLWdyb3VwLmJtZC1mb3JtLWdyb3VwLWxnIC5mb3JtLWNvbnRyb2wtc3VjY2Vzcy5jdXN0b20tZmlsZS1jb250cm9sOmZvY3VzLFxuICAgICAgLmJtZC1mb3JtLWdyb3VwLmlzLWZvY3VzZWQgLmJtZC1mb3JtLWdyb3VwLmJtZC1mb3JtLWdyb3VwLWxnIC5mb3JtLWNvbnRyb2wuZm9ybS1jb250cm9sLXN1Y2Nlc3MsXG4gICAgICAuYm1kLWZvcm0tZ3JvdXAuaXMtZm9jdXNlZCAuYm1kLWZvcm0tZ3JvdXAuYm1kLWZvcm0tZ3JvdXAtbGcgLmZvcm0tY29udHJvbC1zdWNjZXNzLmN1c3RvbS1maWxlLWNvbnRyb2wsIC5ibWQtZm9ybS1ncm91cC5ibWQtZm9ybS1ncm91cC1sZyAuZm9ybS1jb250cm9sLmZvcm0tY29udHJvbC13YXJuaW5nLCAuYm1kLWZvcm0tZ3JvdXAuYm1kLWZvcm0tZ3JvdXAtbGcgLmZvcm0tY29udHJvbC13YXJuaW5nLmN1c3RvbS1maWxlLWNvbnRyb2wsIC5ibWQtZm9ybS1ncm91cC5ibWQtZm9ybS1ncm91cC1sZyAuZm9ybS1jb250cm9sLmZvcm0tY29udHJvbC13YXJuaW5nOmZvY3VzLCAuYm1kLWZvcm0tZ3JvdXAuYm1kLWZvcm0tZ3JvdXAtbGcgLmZvcm0tY29udHJvbC13YXJuaW5nLmN1c3RvbS1maWxlLWNvbnRyb2w6Zm9jdXMsXG4gICAgICAuYm1kLWZvcm0tZ3JvdXAuaXMtZm9jdXNlZCAuYm1kLWZvcm0tZ3JvdXAuYm1kLWZvcm0tZ3JvdXAtbGcgLmZvcm0tY29udHJvbC5mb3JtLWNvbnRyb2wtd2FybmluZyxcbiAgICAgIC5ibWQtZm9ybS1ncm91cC5pcy1mb2N1c2VkIC5ibWQtZm9ybS1ncm91cC5ibWQtZm9ybS1ncm91cC1sZyAuZm9ybS1jb250cm9sLXdhcm5pbmcuY3VzdG9tLWZpbGUtY29udHJvbCwgLmJtZC1mb3JtLWdyb3VwLmJtZC1mb3JtLWdyb3VwLWxnIC5mb3JtLWNvbnRyb2wuZm9ybS1jb250cm9sLWRhbmdlciwgLmJtZC1mb3JtLWdyb3VwLmJtZC1mb3JtLWdyb3VwLWxnIC5mb3JtLWNvbnRyb2wtZGFuZ2VyLmN1c3RvbS1maWxlLWNvbnRyb2wsIC5ibWQtZm9ybS1ncm91cC5ibWQtZm9ybS1ncm91cC1sZyAuZm9ybS1jb250cm9sLmZvcm0tY29udHJvbC1kYW5nZXI6Zm9jdXMsIC5ibWQtZm9ybS1ncm91cC5ibWQtZm9ybS1ncm91cC1sZyAuZm9ybS1jb250cm9sLWRhbmdlci5jdXN0b20tZmlsZS1jb250cm9sOmZvY3VzLFxuICAgICAgLmJtZC1mb3JtLWdyb3VwLmlzLWZvY3VzZWQgLmJtZC1mb3JtLWdyb3VwLmJtZC1mb3JtLWdyb3VwLWxnIC5mb3JtLWNvbnRyb2wuZm9ybS1jb250cm9sLWRhbmdlcixcbiAgICAgIC5ibWQtZm9ybS1ncm91cC5pcy1mb2N1c2VkIC5ibWQtZm9ybS1ncm91cC5ibWQtZm9ybS1ncm91cC1sZyAuZm9ybS1jb250cm9sLWRhbmdlci5jdXN0b20tZmlsZS1jb250cm9sIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdCwgbm8tcmVwZWF0O1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgYm90dG9tLCBjZW50ZXIgY2FsYygxMDAlIC0gMXB4KSwgY2VudGVyIHJpZ2h0IDAuNTkzNzVyZW07IH1cbiAgICAgIC5ibWQtZm9ybS1ncm91cC5ibWQtZm9ybS1ncm91cC1sZyAuZm9ybS1jb250cm9sLmZvcm0tY29udHJvbC1zdWNjZXNzOmZvY3VzLCAuYm1kLWZvcm0tZ3JvdXAuYm1kLWZvcm0tZ3JvdXAtbGcgLmZvcm0tY29udHJvbC1zdWNjZXNzLmN1c3RvbS1maWxlLWNvbnRyb2w6Zm9jdXMsXG4gICAgICAuYm1kLWZvcm0tZ3JvdXAuaXMtZm9jdXNlZCAuYm1kLWZvcm0tZ3JvdXAuYm1kLWZvcm0tZ3JvdXAtbGcgLmZvcm0tY29udHJvbC5mb3JtLWNvbnRyb2wtc3VjY2VzcyxcbiAgICAgIC5ibWQtZm9ybS1ncm91cC5pcy1mb2N1c2VkIC5ibWQtZm9ybS1ncm91cC5ibWQtZm9ybS1ncm91cC1sZyAuZm9ybS1jb250cm9sLXN1Y2Nlc3MuY3VzdG9tLWZpbGUtY29udHJvbCwgLmJtZC1mb3JtLWdyb3VwLmJtZC1mb3JtLWdyb3VwLWxnIC5mb3JtLWNvbnRyb2wuZm9ybS1jb250cm9sLXdhcm5pbmc6Zm9jdXMsIC5ibWQtZm9ybS1ncm91cC5ibWQtZm9ybS1ncm91cC1sZyAuZm9ybS1jb250cm9sLXdhcm5pbmcuY3VzdG9tLWZpbGUtY29udHJvbDpmb2N1cyxcbiAgICAgIC5ibWQtZm9ybS1ncm91cC5pcy1mb2N1c2VkIC5ibWQtZm9ybS1ncm91cC5ibWQtZm9ybS1ncm91cC1sZyAuZm9ybS1jb250cm9sLmZvcm0tY29udHJvbC13YXJuaW5nLFxuICAgICAgLmJtZC1mb3JtLWdyb3VwLmlzLWZvY3VzZWQgLmJtZC1mb3JtLWdyb3VwLmJtZC1mb3JtLWdyb3VwLWxnIC5mb3JtLWNvbnRyb2wtd2FybmluZy5jdXN0b20tZmlsZS1jb250cm9sLCAuYm1kLWZvcm0tZ3JvdXAuYm1kLWZvcm0tZ3JvdXAtbGcgLmZvcm0tY29udHJvbC5mb3JtLWNvbnRyb2wtZGFuZ2VyOmZvY3VzLCAuYm1kLWZvcm0tZ3JvdXAuYm1kLWZvcm0tZ3JvdXAtbGcgLmZvcm0tY29udHJvbC1kYW5nZXIuY3VzdG9tLWZpbGUtY29udHJvbDpmb2N1cyxcbiAgICAgIC5ibWQtZm9ybS1ncm91cC5pcy1mb2N1c2VkIC5ibWQtZm9ybS1ncm91cC5ibWQtZm9ybS1ncm91cC1sZyAuZm9ybS1jb250cm9sLmZvcm0tY29udHJvbC1kYW5nZXIsXG4gICAgICAuYm1kLWZvcm0tZ3JvdXAuaXMtZm9jdXNlZCAuYm1kLWZvcm0tZ3JvdXAuYm1kLWZvcm0tZ3JvdXAtbGcgLmZvcm0tY29udHJvbC1kYW5nZXIuY3VzdG9tLWZpbGUtY29udHJvbCB7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJSAxMDAlLCAxMDAlIDEwMCUsIDEuMTg3NXJlbSAxLjE4NzVyZW07IH1cblxuLmZvcm0tY29udHJvbCwgLmN1c3RvbS1maWxlLWNvbnRyb2wsXG5sYWJlbCxcbmlucHV0OjpwbGFjZWhvbGRlciB7XG4gIGxpbmUtaGVpZ2h0OiAxOyB9XG5cbi5yYWRpbyBsYWJlbCxcbmxhYmVsLnJhZGlvLWlubGluZSxcbi5jaGVja2JveCBsYWJlbCxcbmxhYmVsLmNoZWNrYm94LWlubGluZSxcbi5zd2l0Y2ggbGFiZWwge1xuICBsaW5lLWhlaWdodDogMS41OyB9XG5cbmlucHV0OjpwbGFjZWhvbGRlciB7XG4gIGZvbnQtc2l6ZTogMXJlbTsgfVxuXG4uY2hlY2tib3ggbGFiZWwsXG4ucmFkaW8gbGFiZWwsXG5sYWJlbCB7XG4gIGZvbnQtc2l6ZTogMXJlbTsgfVxuXG4uYm1kLWxhYmVsLWZsb2F0aW5nLFxuLmJtZC1sYWJlbC1wbGFjZWhvbGRlciB7XG4gIHRvcDogMi4xODc1cmVtOyB9XG5cbi5pcy1mb2N1c2VkIC5ibWQtbGFiZWwtZmxvYXRpbmcsXG4uaXMtZm9jdXNlZCAuYm1kLWxhYmVsLWZsb2F0aW5nLFxuLmlzLWZpbGxlZCAuYm1kLWxhYmVsLWZsb2F0aW5nLFxuLmlzLWZpbGxlZCAuYm1kLWxhYmVsLWZsb2F0aW5nIHtcbiAgdG9wOiAxcmVtO1xuICBsZWZ0OiAwO1xuICBmb250LXNpemU6IDAuNzVyZW07IH1cblxuLmJtZC1sYWJlbC1zdGF0aWMge1xuICB0b3A6IDFyZW07XG4gIGxlZnQ6IDA7XG4gIGZvbnQtc2l6ZTogMC43NXJlbTsgfVxuXG4uYm1kLWhlbHAge1xuICBtYXJnaW4tdG9wOiAwO1xuICBmb250LXNpemU6IDAuNzVyZW07IH1cblxuLmZvcm0tY29udHJvbC5mb3JtLWNvbnRyb2wtc3VjY2VzcywgLmZvcm0tY29udHJvbC1zdWNjZXNzLmN1c3RvbS1maWxlLWNvbnRyb2wsIC5mb3JtLWNvbnRyb2wuZm9ybS1jb250cm9sLXdhcm5pbmcsIC5mb3JtLWNvbnRyb2wtd2FybmluZy5jdXN0b20tZmlsZS1jb250cm9sLCAuZm9ybS1jb250cm9sLmZvcm0tY29udHJvbC1kYW5nZXIsIC5mb3JtLWNvbnRyb2wtZGFuZ2VyLmN1c3RvbS1maWxlLWNvbnRyb2wge1xuICBiYWNrZ3JvdW5kLXNpemU6IDAgMTAwJSwgMTAwJSAxMDAlLCAwLjkzNzVyZW0gMC45Mzc1cmVtOyB9XG4gIC5mb3JtLWNvbnRyb2wuZm9ybS1jb250cm9sLXN1Y2Nlc3MsIC5mb3JtLWNvbnRyb2wtc3VjY2Vzcy5jdXN0b20tZmlsZS1jb250cm9sLCAuZm9ybS1jb250cm9sLmZvcm0tY29udHJvbC1zdWNjZXNzOmZvY3VzLCAuZm9ybS1jb250cm9sLXN1Y2Nlc3MuY3VzdG9tLWZpbGUtY29udHJvbDpmb2N1cyxcbiAgLmJtZC1mb3JtLWdyb3VwLmlzLWZvY3VzZWQgLmZvcm0tY29udHJvbC5mb3JtLWNvbnRyb2wtc3VjY2VzcyxcbiAgLmJtZC1mb3JtLWdyb3VwLmlzLWZvY3VzZWQgLmZvcm0tY29udHJvbC1zdWNjZXNzLmN1c3RvbS1maWxlLWNvbnRyb2wsIC5mb3JtLWNvbnRyb2wuZm9ybS1jb250cm9sLXdhcm5pbmcsIC5mb3JtLWNvbnRyb2wtd2FybmluZy5jdXN0b20tZmlsZS1jb250cm9sLCAuZm9ybS1jb250cm9sLmZvcm0tY29udHJvbC13YXJuaW5nOmZvY3VzLCAuZm9ybS1jb250cm9sLXdhcm5pbmcuY3VzdG9tLWZpbGUtY29udHJvbDpmb2N1cyxcbiAgLmJtZC1mb3JtLWdyb3VwLmlzLWZvY3VzZWQgLmZvcm0tY29udHJvbC5mb3JtLWNvbnRyb2wtd2FybmluZyxcbiAgLmJtZC1mb3JtLWdyb3VwLmlzLWZvY3VzZWQgLmZvcm0tY29udHJvbC13YXJuaW5nLmN1c3RvbS1maWxlLWNvbnRyb2wsIC5mb3JtLWNvbnRyb2wuZm9ybS1jb250cm9sLWRhbmdlciwgLmZvcm0tY29udHJvbC1kYW5nZXIuY3VzdG9tLWZpbGUtY29udHJvbCwgLmZvcm0tY29udHJvbC5mb3JtLWNvbnRyb2wtZGFuZ2VyOmZvY3VzLCAuZm9ybS1jb250cm9sLWRhbmdlci5jdXN0b20tZmlsZS1jb250cm9sOmZvY3VzLFxuICAuYm1kLWZvcm0tZ3JvdXAuaXMtZm9jdXNlZCAuZm9ybS1jb250cm9sLmZvcm0tY29udHJvbC1kYW5nZXIsXG4gIC5ibWQtZm9ybS1ncm91cC5pcy1mb2N1c2VkIC5mb3JtLWNvbnRyb2wtZGFuZ2VyLmN1c3RvbS1maWxlLWNvbnRyb2wge1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdCwgbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBib3R0b20sIGNlbnRlciBjYWxjKDEwMCUgLSAxcHgpLCBjZW50ZXIgcmlnaHQgMC40Njg3NXJlbTsgfVxuICAuZm9ybS1jb250cm9sLmZvcm0tY29udHJvbC1zdWNjZXNzOmZvY3VzLCAuZm9ybS1jb250cm9sLXN1Y2Nlc3MuY3VzdG9tLWZpbGUtY29udHJvbDpmb2N1cyxcbiAgLmJtZC1mb3JtLWdyb3VwLmlzLWZvY3VzZWQgLmZvcm0tY29udHJvbC5mb3JtLWNvbnRyb2wtc3VjY2VzcyxcbiAgLmJtZC1mb3JtLWdyb3VwLmlzLWZvY3VzZWQgLmZvcm0tY29udHJvbC1zdWNjZXNzLmN1c3RvbS1maWxlLWNvbnRyb2wsIC5mb3JtLWNvbnRyb2wuZm9ybS1jb250cm9sLXdhcm5pbmc6Zm9jdXMsIC5mb3JtLWNvbnRyb2wtd2FybmluZy5jdXN0b20tZmlsZS1jb250cm9sOmZvY3VzLFxuICAuYm1kLWZvcm0tZ3JvdXAuaXMtZm9jdXNlZCAuZm9ybS1jb250cm9sLmZvcm0tY29udHJvbC13YXJuaW5nLFxuICAuYm1kLWZvcm0tZ3JvdXAuaXMtZm9jdXNlZCAuZm9ybS1jb250cm9sLXdhcm5pbmcuY3VzdG9tLWZpbGUtY29udHJvbCwgLmZvcm0tY29udHJvbC5mb3JtLWNvbnRyb2wtZGFuZ2VyOmZvY3VzLCAuZm9ybS1jb250cm9sLWRhbmdlci5jdXN0b20tZmlsZS1jb250cm9sOmZvY3VzLFxuICAuYm1kLWZvcm0tZ3JvdXAuaXMtZm9jdXNlZCAuZm9ybS1jb250cm9sLmZvcm0tY29udHJvbC1kYW5nZXIsXG4gIC5ibWQtZm9ybS1ncm91cC5pcy1mb2N1c2VkIC5mb3JtLWNvbnRyb2wtZGFuZ2VyLmN1c3RvbS1maWxlLWNvbnRyb2wge1xuICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJSAxMDAlLCAxMDAlIDEwMCUsIDAuOTM3NXJlbSAwLjkzNzVyZW07IH1cblxuc2VsZWN0LCBzZWxlY3QuZm9ybS1jb250cm9sLCBzZWxlY3QuY3VzdG9tLWZpbGUtY29udHJvbCB7XG4gIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lOyB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA1NDRweCkge1xuICAuZm9ybS1pbmxpbmUgLmlucHV0LWdyb3VwIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9IH1cblxuLmlucHV0LWdyb3VwIC5pbnB1dC1ncm91cC1hZGRvbiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuXG4uaW5wdXQtZ3JvdXAgLmlucHV0LWdyb3VwLWFkZG9uICsgaW5wdXQsXG4uaW5wdXQtZ3JvdXAgaW5wdXQgKyAuaW5wdXQtZ3JvdXAtYWRkb24ge1xuICBtYXJnaW4tbGVmdDogLjc1cmVtOyB9XG5cbi5saXN0LWdyb3VwIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZmxleC1ncm93OiAxO1xuICBwYWRkaW5nOiAuNXJlbSAwOyB9XG4gIC5saXN0LWdyb3VwLmJtZC1saXN0LWdyb3VwLXNtIHtcbiAgICBwYWRkaW5nOiAuMjVyZW0gMDsgfVxuICAgIC5saXN0LWdyb3VwLmJtZC1saXN0LWdyb3VwLXNtIC5saXN0LWdyb3VwLWl0ZW0ge1xuICAgICAgcGFkZGluZzogLjVyZW0gMXJlbTsgfVxuXG4uYm1kLWxpc3QtZ3JvdXAtY29sIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgbWluLXdpZHRoOiAwOyB9XG5cbi5saXN0LWdyb3VwLWl0ZW0ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwYWRkaW5nOiAxcmVtO1xuICBsaW5lLWhlaWdodDogMTsgfVxuICAubGlzdC1ncm91cC1pdGVtIC5saXN0LWdyb3VwLWl0ZW0tdGV4dCB7XG4gICAgbWluLXdpZHRoOiAwO1xuICAgIG1heC1oZWlnaHQ6IDIuMTg4cmVtO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7IH1cbiAgLmxpc3QtZ3JvdXAtaXRlbSA6Zmlyc3QtY2hpbGQge1xuICAgIG1hcmdpbi1yaWdodDogMnJlbTsgfVxuICAubGlzdC1ncm91cC1pdGVtID4gLnB1bGwteHMtcmlnaHQsXG4gIC5saXN0LWdyb3VwLWl0ZW0gPiAucHVsbC1zbS1yaWdodCxcbiAgLmxpc3QtZ3JvdXAtaXRlbSA+IC5wdWxsLW1kLXJpZ2h0LFxuICAubGlzdC1ncm91cC1pdGVtID4gLnB1bGwtbGctcmlnaHQsXG4gIC5saXN0LWdyb3VwLWl0ZW0gPiAucHVsbC14bC1yaWdodCxcbiAgLmxpc3QtZ3JvdXAtaXRlbSA+ICogfiAubGFiZWw6bGFzdC1jaGlsZCxcbiAgLmxpc3QtZ3JvdXAtaXRlbSA+ICogfiAubWF0ZXJpYWwtaWNvbnM6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvOyB9XG4gIC5saXN0LWdyb3VwLWl0ZW0gLm1hdGVyaWFsLWljb25zLnB1bGwteHMtcmlnaHQsXG4gIC5saXN0LWdyb3VwLWl0ZW0gLm1hdGVyaWFsLWljb25zLnB1bGwtc20tcmlnaHQsXG4gIC5saXN0LWdyb3VwLWl0ZW0gLm1hdGVyaWFsLWljb25zLnB1bGwtbWQtcmlnaHQsXG4gIC5saXN0LWdyb3VwLWl0ZW0gLm1hdGVyaWFsLWljb25zLnB1bGwtbGctcmlnaHQsXG4gIC5saXN0LWdyb3VwLWl0ZW0gLm1hdGVyaWFsLWljb25zLnB1bGwteGwtcmlnaHQsXG4gIC5saXN0LWdyb3VwLWl0ZW0gLm1hdGVyaWFsLWljb25zIH4gLm1hdGVyaWFsLWljb25zOmxhc3QtY2hpbGQge1xuICAgIHBhZGRpbmctbGVmdDogMXJlbTsgfVxuICAubGlzdC1ncm91cC1pdGVtIC5saXN0LWdyb3VwLWl0ZW0tdGV4dCB7XG4gICAgZm9udC1zaXplOiAuODc1cmVtO1xuICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNTQpOyB9XG5cbi50YWJsZS1pbnZlcnNlIHtcbiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC44NCk7IH1cblxuLm5hdi1saW5rIHtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuXG4ubmF2YmFyLW5hdiAubmF2LWxpbmsge1xuICBwYWRkaW5nOiAwLjUzMjFyZW07XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLm5hdi10YWJzLFxuLm5hdi1waWxscyB7XG4gIGJvcmRlcjogMDsgfVxuICAubmF2LXRhYnMgLm5hdi1saW5rLFxuICAubmF2LXBpbGxzIC5uYXYtbGluayB7XG4gICAgcGFkZGluZzogMS40Mjg2ZW0gMC44NTc1ZW07XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGJvcmRlcjogMDsgfVxuXG4ubmF2LXRhYnMgLm5hdi1saW5rIHtcbiAgYm9yZGVyLWJvdHRvbTogMC4yMTRyZW0gc29saWQgdHJhbnNwYXJlbnQ7IH1cblxuLm5hdi10YWJzIC5uYXYtbGluayB7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNTQpOyB9XG4gIC5uYXYtdGFicyAubmF2LWxpbmsuYWN0aXZlIHtcbiAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTtcbiAgICBib3JkZXItY29sb3I6ICMwMDk2ODg7IH1cbiAgICAubmF2LXRhYnMgLm5hdi1saW5rLmFjdGl2ZTpmb2N1cywgLm5hdi10YWJzIC5uYXYtbGluay5hY3RpdmU6aG92ZXIge1xuICAgICAgYm9yZGVyLWNvbG9yOiAjMDA5Njg4OyB9XG4gIC5uYXYtdGFicyAubmF2LWxpbmsuZGlzYWJsZWQge1xuICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMjYpOyB9XG4gICAgLm5hdi10YWJzIC5uYXYtbGluay5kaXNhYmxlZCwgLm5hdi10YWJzIC5uYXYtbGluay5kaXNhYmxlZDpmb2N1cywgLm5hdi10YWJzIC5uYXYtbGluay5kaXNhYmxlZDpob3ZlciB7XG4gICAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjI2KTsgfVxuXG4ubmF2LXRhYnMuYmctcHJpbWFyeSAubmF2LWxpbmsge1xuICBjb2xvcjogd2hpdGU7IH1cbiAgLm5hdi10YWJzLmJnLXByaW1hcnkgLm5hdi1saW5rLmFjdGl2ZSB7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgYm9yZGVyLWNvbG9yOiAjZmZmOyB9XG4gICAgLm5hdi10YWJzLmJnLXByaW1hcnkgLm5hdi1saW5rLmFjdGl2ZTpmb2N1cywgLm5hdi10YWJzLmJnLXByaW1hcnkgLm5hdi1saW5rLmFjdGl2ZTpob3ZlciB7XG4gICAgICBib3JkZXItY29sb3I6ICNmZmY7IH1cbiAgLm5hdi10YWJzLmJnLXByaW1hcnkgLm5hdi1saW5rLmRpc2FibGVkIHtcbiAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjg0KTsgfVxuICAgIC5uYXYtdGFicy5iZy1wcmltYXJ5IC5uYXYtbGluay5kaXNhYmxlZCwgLm5hdi10YWJzLmJnLXByaW1hcnkgLm5hdi1saW5rLmRpc2FibGVkOmZvY3VzLCAubmF2LXRhYnMuYmctcHJpbWFyeSAubmF2LWxpbmsuZGlzYWJsZWQ6aG92ZXIge1xuICAgICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC44NCk7IH1cblxuLm5hdi10YWJzLmJnLWludmVyc2UgLm5hdi1saW5rIHtcbiAgY29sb3I6IHdoaXRlOyB9XG4gIC5uYXYtdGFicy5iZy1pbnZlcnNlIC5uYXYtbGluay5hY3RpdmUge1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGJvcmRlci1jb2xvcjogI2ZmZjsgfVxuICAgIC5uYXYtdGFicy5iZy1pbnZlcnNlIC5uYXYtbGluay5hY3RpdmU6Zm9jdXMsIC5uYXYtdGFicy5iZy1pbnZlcnNlIC5uYXYtbGluay5hY3RpdmU6aG92ZXIge1xuICAgICAgYm9yZGVyLWNvbG9yOiAjZmZmOyB9XG4gIC5uYXYtdGFicy5iZy1pbnZlcnNlIC5uYXYtbGluay5kaXNhYmxlZCB7XG4gICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC44NCk7IH1cbiAgICAubmF2LXRhYnMuYmctaW52ZXJzZSAubmF2LWxpbmsuZGlzYWJsZWQsIC5uYXYtdGFicy5iZy1pbnZlcnNlIC5uYXYtbGluay5kaXNhYmxlZDpmb2N1cywgLm5hdi10YWJzLmJnLWludmVyc2UgLm5hdi1saW5rLmRpc2FibGVkOmhvdmVyIHtcbiAgICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuODQpOyB9XG5cbi5uYXYgLm5hdi1pdGVtIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi5uYXZiYXIge1xuICB6LWluZGV4OiAxO1xuICBib3JkZXI6IDA7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJveC1zaGFkb3c6IDAgMnB4IDJweCAwIHJnYmEoMCwgMCwgMCwgMC4xNCksIDAgM3B4IDFweCAtMnB4IHJnYmEoMCwgMCwgMCwgMC4yKSwgMCAxcHggNXB4IDAgcmdiYSgwLCAwLCAwLCAwLjEyKTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICBmbGV4LXNocmluazogMDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgYWxpZ24tc2VsZjogc3RyZXRjaDsgfVxuICAubmF2YmFyIC5uYXZiYXItYnJhbmQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAubmF2YmFyID4gKiB7XG4gICAgZmxleC1zaHJpbms6IDA7IH1cbiAgLm5hdmJhciA+IC5jb250YWluZXIge1xuICAgIGZsZXg6IDE7IH1cblxuLmFsZXJ0IHtcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItcmFkaXVzOiAwOyB9XG5cbi5wcm9ncmVzcyB7XG4gIGhlaWdodDogNHB4O1xuICBiYWNrZ3JvdW5kOiAjYzhjOGM4O1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBib3gtc2hhZG93OiBub25lOyB9XG4gIC5wcm9ncmVzcyAucHJvZ3Jlc3MtYmFyIHtcbiAgICBib3gtc2hhZG93OiBub25lOyB9XG5cbi5wYWdlLWl0ZW06Zmlyc3QtY2hpbGQgLnBhZ2UtbGluayB7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDRlbTtcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogNGVtOyB9XG5cbi5wYWdlLWl0ZW06bGFzdC1jaGlsZCAucGFnZS1saW5rIHtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDRlbTtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDRlbTtcbiAgbWFyZ2luLXJpZ2h0OiAwOyB9XG5cbi5wYWdlLWl0ZW06Zmlyc3QtY2hpbGQgLnBhZ2UtbGluaywgLnBhZ2UtaXRlbTpsYXN0LWNoaWxkIC5wYWdlLWxpbmsge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgcGFkZGluZy1yaWdodDogMDtcbiAgcGFkZGluZy1sZWZ0OiAwOyB9XG4gIC5wYWdlLWl0ZW06Zmlyc3QtY2hpbGQgLnBhZ2UtbGluayA+IC5tYXRlcmlhbC1pY29ucywgLnBhZ2UtaXRlbTpsYXN0LWNoaWxkIC5wYWdlLWxpbmsgPiAubWF0ZXJpYWwtaWNvbnMge1xuICAgIGZvbnQtc2l6ZTogMS41ZW07IH1cblxuLnBhZ2UtbGluayB7XG4gIG1pbi13aWR0aDogMi42ZW07XG4gIG1hcmdpbi1yaWdodDogMC41ZW07XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYm9yZGVyLXJhZGl1czogNGVtOyB9XG4gIC5wYWdlLWxpbms6Zm9jdXMsIC5wYWdlLWxpbms6aG92ZXIge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuXG4ucGFnaW5hdGlvbi1sZyAucGFnZS1saW5rIHtcbiAgbWluLXdpZHRoOiAyLjhlbTsgfVxuXG4ucGFnaW5hdGlvbi1sZyAucGFnZS1saW5rIHtcbiAgcGFkZGluZzogMC43NXJlbSAwO1xuICBmb250LXNpemU6IDEuMjVyZW07IH1cblxuLnBhZ2luYXRpb24tbGcgLnBhZ2UtaXRlbTpmaXJzdC1jaGlsZCAucGFnZS1saW5rIHtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogNGVtO1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiA0ZW07IH1cblxuLnBhZ2luYXRpb24tbGcgLnBhZ2UtaXRlbTpsYXN0LWNoaWxkIC5wYWdlLWxpbmsge1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogNGVtO1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogNGVtOyB9XG5cbi5wYWdpbmF0aW9uLXNtIC5wYWdlLWxpbmsge1xuICBtaW4td2lkdGg6IDIuMmVtOyB9XG5cbi5wYWdpbmF0aW9uLXNtIC5wYWdlLWxpbmsge1xuICBwYWRkaW5nOiAwLjI3NXJlbSAwO1xuICBmb250LXNpemU6IDAuODc1cmVtOyB9XG5cbi5wYWdpbmF0aW9uLXNtIC5wYWdlLWl0ZW06Zmlyc3QtY2hpbGQgLnBhZ2UtbGluayB7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDRlbTtcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogNGVtOyB9XG5cbi5wYWdpbmF0aW9uLXNtIC5wYWdlLWl0ZW06bGFzdC1jaGlsZCAucGFnZS1saW5rIHtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDRlbTtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDRlbTsgfVxuXG5oNiB7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7IH1cblxuLmNhcmQge1xuICBib3JkZXI6IDA7XG4gIGJveC1zaGFkb3c6IDAgMnB4IDJweCAwIHJnYmEoMCwgMCwgMCwgMC4xNCksIDAgM3B4IDFweCAtMnB4IHJnYmEoMCwgMCwgMCwgMC4yKSwgMCAxcHggNXB4IDAgcmdiYSgwLCAwLCAwLCAwLjEyKTsgfVxuICAuY2FyZCAuY2FyZC1oZWFkZXIge1xuICAgIHBhZGRpbmc6IDFyZW07IH1cbiAgLmNhcmQgLmNhcmQtYmxvY2sge1xuICAgIHBhZGRpbmc6IDEuNXJlbSAxcmVtIDFyZW07IH1cbiAgLmNhcmQgaDEuY2FyZC10aXRsZSwgLmNhcmQgaDIuY2FyZC10aXRsZSwgLmNhcmQgaDMuY2FyZC10aXRsZSwgLmNhcmQgaDQuY2FyZC10aXRsZSwgLmNhcmQgaDUuY2FyZC10aXRsZSwgLmNhcmQgaDYuY2FyZC10aXRsZSB7XG4gICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDMwMDsgfVxuICAuY2FyZCAuYm1kLWNhcmQtYWN0aW9ucyxcbiAgLmNhcmQgLmNhcmQtZm9vdGVyIHtcbiAgICBwYWRkaW5nOiAuNXJlbTsgfVxuICAuY2FyZC5ibWQtY2FyZC1yYWlzZWQge1xuICAgIGJveC1zaGFkb3c6IDAgOHB4IDEwcHggMXB4IHJnYmEoMCwgMCwgMCwgMC4xNCksIDAgM3B4IDE0cHggMnB4IHJnYmEoMCwgMCwgMCwgMC4xMiksIDAgNXB4IDVweCAtM3B4IHJnYmEoMCwgMCwgMCwgMC4yKTsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAuY2FyZC5ibWQtY2FyZC1mbGF0IHtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7IH0gfVxuXG4ubW9kYWwtY29udGVudCB7XG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXJhZGl1czogMC4xMjVyZW07IH1cbiAgLm1vZGFsLWNvbnRlbnQgLm1vZGFsLWhlYWRlciB7XG4gICAgcGFkZGluZzogMjRweCAyNHB4IDA7XG4gICAgYm9yZGVyLWJvdHRvbTogMDsgfVxuICAubW9kYWwtY29udGVudCAubW9kYWwtYm9keSB7XG4gICAgcGFkZGluZzogMjBweCAyNHB4IDI0cHg7IH1cbiAgLm1vZGFsLWNvbnRlbnQgLm1vZGFsLWZvb3RlciB7XG4gICAgcGFkZGluZzogOHB4IDhweCA4cHggMjRweDtcbiAgICBib3JkZXItdG9wOiAwOyB9XG4gICAgLm1vZGFsLWNvbnRlbnQgLm1vZGFsLWZvb3RlciAuYnRuLCAubW9kYWwtY29udGVudCAubW9kYWwtZm9vdGVyIC5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUge1xuICAgICAgbWFyZ2luOiAwOyB9XG4gICAgLm1vZGFsLWNvbnRlbnQgLm1vZGFsLWZvb3RlciAuYnRuICsgLmJ0biwgLm1vZGFsLWNvbnRlbnQgLm1vZGFsLWZvb3RlciAuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlICsgLmJ0biwgLm1vZGFsLWNvbnRlbnQgLm1vZGFsLWZvb3RlciAuYnRuICsgLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSwgLm1vZGFsLWNvbnRlbnQgLm1vZGFsLWZvb3RlciAuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlICsgLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSB7XG4gICAgICBtYXJnaW4tbGVmdDogOHB4OyB9XG5cbi5kcm9wZG93bi1tZW51IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IC4yNXJlbSAwO1xuICBib3JkZXI6IDA7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzIGN1YmljLWJlemllcigwLjQsIDAsIDAuMiwgMSksIG9wYWNpdHkgMC4ycyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjIsIDEpO1xuICB0cmFuc2Zvcm06IHNjYWxlKDApO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiAwIDA7XG4gIHdpbGwtY2hhbmdlOiB0cmFuc2Zvcm07XG4gIHJpZ2h0OiAwO1xuICBsZWZ0OiBhdXRvO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiAxMDAlIDA7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLmRyb3Bkb3duLW1lbnUge1xuICAgICAgcGFkZGluZzogLjVyZW0gMDsgfSB9XG4gIC5vcGVuID4gLmRyb3Bkb3duLW1lbnUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTsgfVxuICAuZHJvcGRvd24tbWVudS5kcm9wZG93bi1tZW51LWxlZnQge1xuICAgIHRvcDogMTAwJTtcbiAgICBsZWZ0OiAwO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IDAgMDsgfVxuICAuZHJvcGRvd24tbWVudS5kcm9wZG93bi1tZW51LXJpZ2h0IHtcbiAgICByaWdodDogMDtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IDEwMCUgMDsgfVxuICAuZHJvcGRvd24tbWVudSAuZHJvcGRvd24taXRlbSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIG1pbi13aWR0aDogN3JlbTtcbiAgICBtYXgtd2lkdGg6IDE3LjVyZW07XG4gICAgbWluLWhlaWdodDogM3JlbTtcbiAgICBwYWRkaW5nOiAwLjhyZW0gMXJlbSAwLjhyZW0gMXJlbTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgIHdvcmQtd3JhcDogYnJlYWstd29yZDsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICAgLmRyb3Bkb3duLW1lbnUgLmRyb3Bkb3duLWl0ZW0ge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxLjVyZW07XG4gICAgICAgIHBhZGRpbmctbGVmdDogMS41cmVtOyB9IH1cblxuLmRyb3Bkb3duLXRvZ2dsZS5ibWQtYnRuLWljb246OmFmdGVyLCAuZHJvcGRvd24tdG9nZ2xlLmJtZC1idG4tZmFiOjphZnRlciB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLmRyb3Bkb3duLXRvZ2dsZS5ibWQtYnRuLWljb24gfiAuZHJvcGRvd24tbWVudS5kcm9wZG93bi1tZW51LXRvcC1sZWZ0LCAuZHJvcGRvd24tdG9nZ2xlLmJtZC1idG4taWNvbiB+IC5kcm9wZG93bi1tZW51LmRyb3Bkb3duLW1lbnUtdG9wLXJpZ2h0LCAuZHJvcGRvd24tdG9nZ2xlLmJtZC1idG4tZmFiIH4gLmRyb3Bkb3duLW1lbnUuZHJvcGRvd24tbWVudS10b3AtbGVmdCwgLmRyb3Bkb3duLXRvZ2dsZS5ibWQtYnRuLWZhYiB+IC5kcm9wZG93bi1tZW51LmRyb3Bkb3duLW1lbnUtdG9wLXJpZ2h0IHtcbiAgYm90dG9tOiAycmVtOyB9XG5cbi5kcm9wZG93bi10b2dnbGUuYm1kLWJ0bi1mYWItc20gfiAuZHJvcGRvd24tbWVudS5kcm9wZG93bi1tZW51LXRvcC1sZWZ0LCAuZHJvcGRvd24tdG9nZ2xlLmJtZC1idG4tZmFiLXNtIH4gLmRyb3Bkb3duLW1lbnUuZHJvcGRvd24tbWVudS10b3AtcmlnaHQge1xuICBib3R0b206IDIuNXJlbTsgfVxuXG4uZHJvcGRvd24tdG9nZ2xlLmJtZC1idG4taWNvbiB+IC5kcm9wZG93bi1tZW51IHtcbiAgbWFyZ2luOiAwOyB9XG5cbi5ibWQtbGF5b3V0LWRyYXdlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogNTtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZmxleC13cmFwOiBub3dyYXA7XG4gIG1heC1oZWlnaHQ6IDEwMCU7XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuICBvdmVyZmxvdy15OiBhdXRvO1xuICBmb250LXNpemU6IC44NzVyZW07XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybTtcbiAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybTtcbiAgdHJhbnNmb3JtLXN0eWxlOiBwcmVzZXJ2ZS0zZDtcbiAgYm94LXNoYWRvdzogMCAycHggMnB4IDAgcmdiYSgwLCAwLCAwLCAwLjE0KSwgMCAzcHggMXB4IC0ycHggcmdiYSgwLCAwLCAwLCAwLjIpLCAwIDFweCA1cHggMCByZ2JhKDAsIDAsIDAsIDAuMTIpO1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjJzO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yLCAxKTsgfVxuICAuYm1kLWxheW91dC1kcmF3ZXIgPiAqIHtcbiAgICBmbGV4LXNocmluazogMDsgfVxuICAuYm1kLWxheW91dC1kcmF3ZXIgPiBoZWFkZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgIHBhZGRpbmc6IDFyZW07IH1cbiAgICAuYm1kLWxheW91dC1kcmF3ZXIgPiBoZWFkZXIgLm5hdmJhci1icmFuZCB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDEuNXJlbTtcbiAgICAgIGZvbnQtc2l6ZTogMS4yNXJlbTsgfVxuICAuYm1kLWxheW91dC1kcmF3ZXIgPiAubGlzdC1ncm91cCB7XG4gICAgcGFkZGluZy10b3A6IDFyZW07IH1cbiAgICAuYm1kLWxheW91dC1kcmF3ZXIgPiAubGlzdC1ncm91cCAubGlzdC1ncm91cC1pdGVtIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDIuNXJlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogMi41cmVtO1xuICAgICAgZm9udC1zaXplOiAuODEyNXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7IH1cblxuLmJtZC1kcmF3ZXItZi1sID4gLmJtZC1sYXlvdXQtZHJhd2VyIHtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMjQwcHg7XG4gIGhlaWdodDogMTAwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yNTBweCk7IH1cblxuLmJtZC1kcmF3ZXItZi1sID4gLmJtZC1sYXlvdXQtaGVhZGVyLFxuLmJtZC1kcmF3ZXItZi1sID4gLmJtZC1sYXlvdXQtY29udGVudCB7XG4gIG1hcmdpbi1sZWZ0OiAwOyB9XG5cbi5ibWQtZHJhd2VyLWYtciA+IC5ibWQtbGF5b3V0LWRyYXdlciB7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIHdpZHRoOiAyNDBweDtcbiAgaGVpZ2h0OiAxMDAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjUwcHgpOyB9XG5cbi5ibWQtZHJhd2VyLWYtciA+IC5ibWQtbGF5b3V0LWhlYWRlcixcbi5ibWQtZHJhd2VyLWYtciA+IC5ibWQtbGF5b3V0LWNvbnRlbnQge1xuICBtYXJnaW4tcmlnaHQ6IDA7IH1cblxuLmJtZC1kcmF3ZXItZi10ID4gLmJtZC1sYXlvdXQtZHJhd2VyIHtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDBweDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMTBweCk7IH1cblxuLmJtZC1kcmF3ZXItZi10ID4gLmJtZC1sYXlvdXQtY29udGVudCB7XG4gIG1hcmdpbi10b3A6IDA7IH1cblxuLmJtZC1kcmF3ZXItZi1iID4gLmJtZC1sYXlvdXQtZHJhd2VyIHtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDBweDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDExMHB4KTsgfVxuXG4uYm1kLWRyYXdlci1mLWIgPiAuYm1kLWxheW91dC1jb250ZW50IHtcbiAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG46bm90KC5ibWQtZHJhd2VyLW91dCkuYm1kLWRyYXdlci1pbi5ibWQtZHJhd2VyLWYtbCA+IC5ibWQtbGF5b3V0LWhlYWRlciB7XG4gIHdpZHRoOiBjYWxjKDEwMCUgLSAyNDBweCk7XG4gIG1hcmdpbi1sZWZ0OiAyNDBweDsgfVxuXG46bm90KC5ibWQtZHJhd2VyLW91dCkuYm1kLWRyYXdlci1pbi5ibWQtZHJhd2VyLWYtbCA+IC5ibWQtbGF5b3V0LWRyYXdlciB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsgfVxuXG46bm90KC5ibWQtZHJhd2VyLW91dCkuYm1kLWRyYXdlci1pbi5ibWQtZHJhd2VyLWYtbCA+IC5ibWQtbGF5b3V0LWNvbnRlbnQge1xuICBtYXJnaW4tbGVmdDogMjQwcHg7IH1cblxuOm5vdCguYm1kLWRyYXdlci1vdXQpLmJtZC1kcmF3ZXItaW4uYm1kLWRyYXdlci1mLXIgPiAuYm1kLWxheW91dC1oZWFkZXIge1xuICB3aWR0aDogY2FsYygxMDAlIC0gMjQwcHgpO1xuICBtYXJnaW4tcmlnaHQ6IDI0MHB4OyB9XG5cbjpub3QoLmJtZC1kcmF3ZXItb3V0KS5ibWQtZHJhd2VyLWluLmJtZC1kcmF3ZXItZi1yID4gLmJtZC1sYXlvdXQtZHJhd2VyIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOyB9XG5cbjpub3QoLmJtZC1kcmF3ZXItb3V0KS5ibWQtZHJhd2VyLWluLmJtZC1kcmF3ZXItZi1yID4gLmJtZC1sYXlvdXQtY29udGVudCB7XG4gIG1hcmdpbi1yaWdodDogMjQwcHg7IH1cblxuOm5vdCguYm1kLWRyYXdlci1vdXQpLmJtZC1kcmF3ZXItaW4uYm1kLWRyYXdlci1mLXQgPiAuYm1kLWxheW91dC1oZWFkZXIge1xuICBtYXJnaW4tdG9wOiAxMDBweDsgfVxuXG46bm90KC5ibWQtZHJhd2VyLW91dCkuYm1kLWRyYXdlci1pbi5ibWQtZHJhd2VyLWYtdCA+IC5ibWQtbGF5b3V0LWRyYXdlciB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfVxuXG46bm90KC5ibWQtZHJhd2VyLW91dCkuYm1kLWRyYXdlci1pbi5ibWQtZHJhd2VyLWYtYiA+IC5ibWQtbGF5b3V0LWRyYXdlciB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfVxuXG46bm90KC5ibWQtZHJhd2VyLW91dCkuYm1kLWRyYXdlci1pbi5ibWQtZHJhd2VyLWYtYiA+IC5ibWQtbGF5b3V0LWNvbnRlbnQge1xuICBtYXJnaW4tYm90dG9tOiAxMDBweDsgfVxuXG46bm90KC5ibWQtZHJhd2VyLW91dCkuYm1kLWRyYXdlci1vdmVybGF5LmJtZC1kcmF3ZXItb3ZlcmxheSA+IC5ibWQtbGF5b3V0LWJhY2tkcm9wIC5pbiB7XG4gIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41KTsgfVxuXG5Ac3VwcG9ydHMgKHBvaW50ZXItZXZlbnRzOiBhdXRvKSB7XG4gIDpub3QoLmJtZC1kcmF3ZXItb3V0KS5ibWQtZHJhd2VyLW92ZXJsYXkuYm1kLWRyYXdlci1vdmVybGF5ID4gLmJtZC1sYXlvdXQtYmFja2Ryb3AuaW4ge1xuICAgIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xuICAgIG9wYWNpdHk6IDE7IH0gfVxuXG46bm90KC5ibWQtZHJhd2VyLW91dCkuYm1kLWRyYXdlci1vdmVybGF5LmJtZC1kcmF3ZXItb3ZlcmxheS5ibWQtZHJhd2VyLWYtbCA+IC5ibWQtbGF5b3V0LWhlYWRlcixcbjpub3QoLmJtZC1kcmF3ZXItb3V0KS5ibWQtZHJhd2VyLW92ZXJsYXkuYm1kLWRyYXdlci1vdmVybGF5LmJtZC1kcmF3ZXItZi1sID4gLmJtZC1sYXlvdXQtY29udGVudCB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tbGVmdDogMDsgfVxuXG46bm90KC5ibWQtZHJhd2VyLW91dCkuYm1kLWRyYXdlci1vdmVybGF5LmJtZC1kcmF3ZXItb3ZlcmxheS5ibWQtZHJhd2VyLWYtciA+IC5ibWQtbGF5b3V0LWhlYWRlcixcbjpub3QoLmJtZC1kcmF3ZXItb3V0KS5ibWQtZHJhd2VyLW92ZXJsYXkuYm1kLWRyYXdlci1vdmVybGF5LmJtZC1kcmF3ZXItZi1yID4gLmJtZC1sYXlvdXQtY29udGVudCB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tcmlnaHQ6IDA7IH1cblxuOm5vdCguYm1kLWRyYXdlci1vdXQpLmJtZC1kcmF3ZXItb3ZlcmxheS5ibWQtZHJhd2VyLW92ZXJsYXkgPiAuYm1kLWxheW91dC1iYWNrZHJvcCAuaW4ge1xuICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNSk7IH1cblxuQHN1cHBvcnRzIChwb2ludGVyLWV2ZW50czogYXV0bykge1xuICA6bm90KC5ibWQtZHJhd2VyLW91dCkuYm1kLWRyYXdlci1vdmVybGF5LmJtZC1kcmF3ZXItb3ZlcmxheSA+IC5ibWQtbGF5b3V0LWJhY2tkcm9wLmluIHtcbiAgICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgICBvcGFjaXR5OiAxOyB9IH1cblxuOm5vdCguYm1kLWRyYXdlci1vdXQpLmJtZC1kcmF3ZXItb3ZlcmxheS5ibWQtZHJhd2VyLW92ZXJsYXkuYm1kLWRyYXdlci1mLXQgPiAuYm1kLWxheW91dC1oZWFkZXIge1xuICBtYXJnaW4tdG9wOiAwOyB9XG5cbjpub3QoLmJtZC1kcmF3ZXItb3V0KS5ibWQtZHJhd2VyLW92ZXJsYXkuYm1kLWRyYXdlci1vdmVybGF5LmJtZC1kcmF3ZXItZi1iID4gLmJtZC1sYXlvdXQtY29udGVudCB7XG4gIG1hcmdpbi1ib3R0b206IDA7IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDU0NHB4KSB7XG4gIDpub3QoLmJtZC1kcmF3ZXItb3V0KS5ibWQtZHJhd2VyLWluLXNtLXVwLmJtZC1kcmF3ZXItZi1sID4gLmJtZC1sYXlvdXQtaGVhZGVyIHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMjQwcHgpO1xuICAgIG1hcmdpbi1sZWZ0OiAyNDBweDsgfVxuICA6bm90KC5ibWQtZHJhd2VyLW91dCkuYm1kLWRyYXdlci1pbi1zbS11cC5ibWQtZHJhd2VyLWYtbCA+IC5ibWQtbGF5b3V0LWRyYXdlciB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOyB9XG4gIDpub3QoLmJtZC1kcmF3ZXItb3V0KS5ibWQtZHJhd2VyLWluLXNtLXVwLmJtZC1kcmF3ZXItZi1sID4gLmJtZC1sYXlvdXQtY29udGVudCB7XG4gICAgbWFyZ2luLWxlZnQ6IDI0MHB4OyB9XG4gIDpub3QoLmJtZC1kcmF3ZXItb3V0KS5ibWQtZHJhd2VyLWluLXNtLXVwLmJtZC1kcmF3ZXItZi1yID4gLmJtZC1sYXlvdXQtaGVhZGVyIHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMjQwcHgpO1xuICAgIG1hcmdpbi1yaWdodDogMjQwcHg7IH1cbiAgOm5vdCguYm1kLWRyYXdlci1vdXQpLmJtZC1kcmF3ZXItaW4tc20tdXAuYm1kLWRyYXdlci1mLXIgPiAuYm1kLWxheW91dC1kcmF3ZXIge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsgfVxuICA6bm90KC5ibWQtZHJhd2VyLW91dCkuYm1kLWRyYXdlci1pbi1zbS11cC5ibWQtZHJhd2VyLWYtciA+IC5ibWQtbGF5b3V0LWNvbnRlbnQge1xuICAgIG1hcmdpbi1yaWdodDogMjQwcHg7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNTQ0cHgpIHtcbiAgOm5vdCguYm1kLWRyYXdlci1vdXQpLmJtZC1kcmF3ZXItaW4tc20tdXAuYm1kLWRyYXdlci1mLXQgPiAuYm1kLWxheW91dC1oZWFkZXIge1xuICAgIG1hcmdpbi10b3A6IDEwMHB4OyB9XG4gIDpub3QoLmJtZC1kcmF3ZXItb3V0KS5ibWQtZHJhd2VyLWluLXNtLXVwLmJtZC1kcmF3ZXItZi10ID4gLmJtZC1sYXlvdXQtZHJhd2VyIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH1cbiAgOm5vdCguYm1kLWRyYXdlci1vdXQpLmJtZC1kcmF3ZXItaW4tc20tdXAuYm1kLWRyYXdlci1mLWIgPiAuYm1kLWxheW91dC1kcmF3ZXIge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfVxuICA6bm90KC5ibWQtZHJhd2VyLW91dCkuYm1kLWRyYXdlci1pbi1zbS11cC5ibWQtZHJhd2VyLWYtYiA+IC5ibWQtbGF5b3V0LWNvbnRlbnQge1xuICAgIG1hcmdpbi1ib3R0b206IDEwMHB4OyB9IH1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIDpub3QoLmJtZC1kcmF3ZXItb3V0KS5ibWQtZHJhd2VyLW92ZXJsYXktc20tZG93biA+IC5ibWQtbGF5b3V0LWJhY2tkcm9wIC5pbiB7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNSk7IH1cbiAgQHN1cHBvcnRzIChwb2ludGVyLWV2ZW50czogYXV0bykge1xuICAgIDpub3QoLmJtZC1kcmF3ZXItb3V0KS5ibWQtZHJhd2VyLW92ZXJsYXktc20tZG93biA+IC5ibWQtbGF5b3V0LWJhY2tkcm9wLmluIHtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xuICAgICAgb3BhY2l0eTogMTsgfSB9XG4gIDpub3QoLmJtZC1kcmF3ZXItb3V0KS5ibWQtZHJhd2VyLW92ZXJsYXktc20tZG93bi5ibWQtZHJhd2VyLWYtbCA+IC5ibWQtbGF5b3V0LWhlYWRlcixcbiAgOm5vdCguYm1kLWRyYXdlci1vdXQpLmJtZC1kcmF3ZXItb3ZlcmxheS1zbS1kb3duLmJtZC1kcmF3ZXItZi1sID4gLmJtZC1sYXlvdXQtY29udGVudCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgOm5vdCguYm1kLWRyYXdlci1vdXQpLmJtZC1kcmF3ZXItb3ZlcmxheS1zbS1kb3duLmJtZC1kcmF3ZXItZi1yID4gLmJtZC1sYXlvdXQtaGVhZGVyLFxuICA6bm90KC5ibWQtZHJhd2VyLW91dCkuYm1kLWRyYXdlci1vdmVybGF5LXNtLWRvd24uYm1kLWRyYXdlci1mLXIgPiAuYm1kLWxheW91dC1jb250ZW50IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7IH0gfVxuXG5AbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgOm5vdCguYm1kLWRyYXdlci1vdXQpLmJtZC1kcmF3ZXItb3ZlcmxheS1zbS1kb3duID4gLmJtZC1sYXlvdXQtYmFja2Ryb3AgLmluIHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41KTsgfVxuICBAc3VwcG9ydHMgKHBvaW50ZXItZXZlbnRzOiBhdXRvKSB7XG4gICAgOm5vdCguYm1kLWRyYXdlci1vdXQpLmJtZC1kcmF3ZXItb3ZlcmxheS1zbS1kb3duID4gLmJtZC1sYXlvdXQtYmFja2Ryb3AuaW4ge1xuICAgICAgcG9pbnRlci1ldmVudHM6IGF1dG87XG4gICAgICBvcGFjaXR5OiAxOyB9IH1cbiAgOm5vdCguYm1kLWRyYXdlci1vdXQpLmJtZC1kcmF3ZXItb3ZlcmxheS1zbS1kb3duLmJtZC1kcmF3ZXItZi10ID4gLmJtZC1sYXlvdXQtaGVhZGVyIHtcbiAgICBtYXJnaW4tdG9wOiAwOyB9XG4gIDpub3QoLmJtZC1kcmF3ZXItb3V0KS5ibWQtZHJhd2VyLW92ZXJsYXktc20tZG93bi5ibWQtZHJhd2VyLWYtYiA+IC5ibWQtbGF5b3V0LWNvbnRlbnQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgOm5vdCguYm1kLWRyYXdlci1vdXQpLmJtZC1kcmF3ZXItaW4tbWQtdXAuYm1kLWRyYXdlci1mLWwgPiAuYm1kLWxheW91dC1oZWFkZXIge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAyNDBweCk7XG4gICAgbWFyZ2luLWxlZnQ6IDI0MHB4OyB9XG4gIDpub3QoLmJtZC1kcmF3ZXItb3V0KS5ibWQtZHJhd2VyLWluLW1kLXVwLmJtZC1kcmF3ZXItZi1sID4gLmJtZC1sYXlvdXQtZHJhd2VyIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7IH1cbiAgOm5vdCguYm1kLWRyYXdlci1vdXQpLmJtZC1kcmF3ZXItaW4tbWQtdXAuYm1kLWRyYXdlci1mLWwgPiAuYm1kLWxheW91dC1jb250ZW50IHtcbiAgICBtYXJnaW4tbGVmdDogMjQwcHg7IH1cbiAgOm5vdCguYm1kLWRyYXdlci1vdXQpLmJtZC1kcmF3ZXItaW4tbWQtdXAuYm1kLWRyYXdlci1mLXIgPiAuYm1kLWxheW91dC1oZWFkZXIge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAyNDBweCk7XG4gICAgbWFyZ2luLXJpZ2h0OiAyNDBweDsgfVxuICA6bm90KC5ibWQtZHJhd2VyLW91dCkuYm1kLWRyYXdlci1pbi1tZC11cC5ibWQtZHJhd2VyLWYtciA+IC5ibWQtbGF5b3V0LWRyYXdlciB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOyB9XG4gIDpub3QoLmJtZC1kcmF3ZXItb3V0KS5ibWQtZHJhd2VyLWluLW1kLXVwLmJtZC1kcmF3ZXItZi1yID4gLmJtZC1sYXlvdXQtY29udGVudCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAyNDBweDsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICA6bm90KC5ibWQtZHJhd2VyLW91dCkuYm1kLWRyYXdlci1pbi1tZC11cC5ibWQtZHJhd2VyLWYtdCA+IC5ibWQtbGF5b3V0LWhlYWRlciB7XG4gICAgbWFyZ2luLXRvcDogMTAwcHg7IH1cbiAgOm5vdCguYm1kLWRyYXdlci1vdXQpLmJtZC1kcmF3ZXItaW4tbWQtdXAuYm1kLWRyYXdlci1mLXQgPiAuYm1kLWxheW91dC1kcmF3ZXIge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfVxuICA6bm90KC5ibWQtZHJhd2VyLW91dCkuYm1kLWRyYXdlci1pbi1tZC11cC5ibWQtZHJhd2VyLWYtYiA+IC5ibWQtbGF5b3V0LWRyYXdlciB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9XG4gIDpub3QoLmJtZC1kcmF3ZXItb3V0KS5ibWQtZHJhd2VyLWluLW1kLXVwLmJtZC1kcmF3ZXItZi1iID4gLmJtZC1sYXlvdXQtY29udGVudCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTAwcHg7IH0gfVxuXG5AbWVkaWEgKG1heC13aWR0aDogOTkxcHgpIHtcbiAgOm5vdCguYm1kLWRyYXdlci1vdXQpLmJtZC1kcmF3ZXItb3ZlcmxheS1tZC1kb3duID4gLmJtZC1sYXlvdXQtYmFja2Ryb3AgLmluIHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41KTsgfVxuICBAc3VwcG9ydHMgKHBvaW50ZXItZXZlbnRzOiBhdXRvKSB7XG4gICAgOm5vdCguYm1kLWRyYXdlci1vdXQpLmJtZC1kcmF3ZXItb3ZlcmxheS1tZC1kb3duID4gLmJtZC1sYXlvdXQtYmFja2Ryb3AuaW4ge1xuICAgICAgcG9pbnRlci1ldmVudHM6IGF1dG87XG4gICAgICBvcGFjaXR5OiAxOyB9IH1cbiAgOm5vdCguYm1kLWRyYXdlci1vdXQpLmJtZC1kcmF3ZXItb3ZlcmxheS1tZC1kb3duLmJtZC1kcmF3ZXItZi1sID4gLmJtZC1sYXlvdXQtaGVhZGVyLFxuICA6bm90KC5ibWQtZHJhd2VyLW91dCkuYm1kLWRyYXdlci1vdmVybGF5LW1kLWRvd24uYm1kLWRyYXdlci1mLWwgPiAuYm1kLWxheW91dC1jb250ZW50IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tbGVmdDogMDsgfVxuICA6bm90KC5ibWQtZHJhd2VyLW91dCkuYm1kLWRyYXdlci1vdmVybGF5LW1kLWRvd24uYm1kLWRyYXdlci1mLXIgPiAuYm1kLWxheW91dC1oZWFkZXIsXG4gIDpub3QoLmJtZC1kcmF3ZXItb3V0KS5ibWQtZHJhd2VyLW92ZXJsYXktbWQtZG93bi5ibWQtZHJhd2VyLWYtciA+IC5ibWQtbGF5b3V0LWNvbnRlbnQge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1yaWdodDogMDsgfSB9XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA5OTFweCkge1xuICA6bm90KC5ibWQtZHJhd2VyLW91dCkuYm1kLWRyYXdlci1vdmVybGF5LW1kLWRvd24gPiAuYm1kLWxheW91dC1iYWNrZHJvcCAuaW4ge1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjUpOyB9XG4gIEBzdXBwb3J0cyAocG9pbnRlci1ldmVudHM6IGF1dG8pIHtcbiAgICA6bm90KC5ibWQtZHJhd2VyLW91dCkuYm1kLWRyYXdlci1vdmVybGF5LW1kLWRvd24gPiAuYm1kLWxheW91dC1iYWNrZHJvcC5pbiB7XG4gICAgICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgICAgIG9wYWNpdHk6IDE7IH0gfVxuICA6bm90KC5ibWQtZHJhd2VyLW91dCkuYm1kLWRyYXdlci1vdmVybGF5LW1kLWRvd24uYm1kLWRyYXdlci1mLXQgPiAuYm1kLWxheW91dC1oZWFkZXIge1xuICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgOm5vdCguYm1kLWRyYXdlci1vdXQpLmJtZC1kcmF3ZXItb3ZlcmxheS1tZC1kb3duLmJtZC1kcmF3ZXItZi1iID4gLmJtZC1sYXlvdXQtY29udGVudCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICA6bm90KC5ibWQtZHJhd2VyLW91dCkuYm1kLWRyYXdlci1pbi1sZy11cC5ibWQtZHJhd2VyLWYtbCA+IC5ibWQtbGF5b3V0LWhlYWRlciB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDI0MHB4KTtcbiAgICBtYXJnaW4tbGVmdDogMjQwcHg7IH1cbiAgOm5vdCguYm1kLWRyYXdlci1vdXQpLmJtZC1kcmF3ZXItaW4tbGctdXAuYm1kLWRyYXdlci1mLWwgPiAuYm1kLWxheW91dC1kcmF3ZXIge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsgfVxuICA6bm90KC5ibWQtZHJhd2VyLW91dCkuYm1kLWRyYXdlci1pbi1sZy11cC5ibWQtZHJhd2VyLWYtbCA+IC5ibWQtbGF5b3V0LWNvbnRlbnQge1xuICAgIG1hcmdpbi1sZWZ0OiAyNDBweDsgfVxuICA6bm90KC5ibWQtZHJhd2VyLW91dCkuYm1kLWRyYXdlci1pbi1sZy11cC5ibWQtZHJhd2VyLWYtciA+IC5ibWQtbGF5b3V0LWhlYWRlciB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDI0MHB4KTtcbiAgICBtYXJnaW4tcmlnaHQ6IDI0MHB4OyB9XG4gIDpub3QoLmJtZC1kcmF3ZXItb3V0KS5ibWQtZHJhd2VyLWluLWxnLXVwLmJtZC1kcmF3ZXItZi1yID4gLmJtZC1sYXlvdXQtZHJhd2VyIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7IH1cbiAgOm5vdCguYm1kLWRyYXdlci1vdXQpLmJtZC1kcmF3ZXItaW4tbGctdXAuYm1kLWRyYXdlci1mLXIgPiAuYm1kLWxheW91dC1jb250ZW50IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDI0MHB4OyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIDpub3QoLmJtZC1kcmF3ZXItb3V0KS5ibWQtZHJhd2VyLWluLWxnLXVwLmJtZC1kcmF3ZXItZi10ID4gLmJtZC1sYXlvdXQtaGVhZGVyIHtcbiAgICBtYXJnaW4tdG9wOiAxMDBweDsgfVxuICA6bm90KC5ibWQtZHJhd2VyLW91dCkuYm1kLWRyYXdlci1pbi1sZy11cC5ibWQtZHJhd2VyLWYtdCA+IC5ibWQtbGF5b3V0LWRyYXdlciB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9XG4gIDpub3QoLmJtZC1kcmF3ZXItb3V0KS5ibWQtZHJhd2VyLWluLWxnLXVwLmJtZC1kcmF3ZXItZi1iID4gLmJtZC1sYXlvdXQtZHJhd2VyIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH1cbiAgOm5vdCguYm1kLWRyYXdlci1vdXQpLmJtZC1kcmF3ZXItaW4tbGctdXAuYm1kLWRyYXdlci1mLWIgPiAuYm1kLWxheW91dC1jb250ZW50IHtcbiAgICBtYXJnaW4tYm90dG9tOiAxMDBweDsgfSB9XG5cbkBtZWRpYSAobWF4LXdpZHRoOiAxMTk5cHgpIHtcbiAgOm5vdCguYm1kLWRyYXdlci1vdXQpLmJtZC1kcmF3ZXItb3ZlcmxheS1sZy1kb3duID4gLmJtZC1sYXlvdXQtYmFja2Ryb3AgLmluIHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41KTsgfVxuICBAc3VwcG9ydHMgKHBvaW50ZXItZXZlbnRzOiBhdXRvKSB7XG4gICAgOm5vdCguYm1kLWRyYXdlci1vdXQpLmJtZC1kcmF3ZXItb3ZlcmxheS1sZy1kb3duID4gLmJtZC1sYXlvdXQtYmFja2Ryb3AuaW4ge1xuICAgICAgcG9pbnRlci1ldmVudHM6IGF1dG87XG4gICAgICBvcGFjaXR5OiAxOyB9IH1cbiAgOm5vdCguYm1kLWRyYXdlci1vdXQpLmJtZC1kcmF3ZXItb3ZlcmxheS1sZy1kb3duLmJtZC1kcmF3ZXItZi1sID4gLmJtZC1sYXlvdXQtaGVhZGVyLFxuICA6bm90KC5ibWQtZHJhd2VyLW91dCkuYm1kLWRyYXdlci1vdmVybGF5LWxnLWRvd24uYm1kLWRyYXdlci1mLWwgPiAuYm1kLWxheW91dC1jb250ZW50IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tbGVmdDogMDsgfVxuICA6bm90KC5ibWQtZHJhd2VyLW91dCkuYm1kLWRyYXdlci1vdmVybGF5LWxnLWRvd24uYm1kLWRyYXdlci1mLXIgPiAuYm1kLWxheW91dC1oZWFkZXIsXG4gIDpub3QoLmJtZC1kcmF3ZXItb3V0KS5ibWQtZHJhd2VyLW92ZXJsYXktbGctZG93bi5ibWQtZHJhd2VyLWYtciA+IC5ibWQtbGF5b3V0LWNvbnRlbnQge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1yaWdodDogMDsgfSB9XG5cbkBtZWRpYSAobWF4LXdpZHRoOiAxMTk5cHgpIHtcbiAgOm5vdCguYm1kLWRyYXdlci1vdXQpLmJtZC1kcmF3ZXItb3ZlcmxheS1sZy1kb3duID4gLmJtZC1sYXlvdXQtYmFja2Ryb3AgLmluIHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41KTsgfVxuICBAc3VwcG9ydHMgKHBvaW50ZXItZXZlbnRzOiBhdXRvKSB7XG4gICAgOm5vdCguYm1kLWRyYXdlci1vdXQpLmJtZC1kcmF3ZXItb3ZlcmxheS1sZy1kb3duID4gLmJtZC1sYXlvdXQtYmFja2Ryb3AuaW4ge1xuICAgICAgcG9pbnRlci1ldmVudHM6IGF1dG87XG4gICAgICBvcGFjaXR5OiAxOyB9IH1cbiAgOm5vdCguYm1kLWRyYXdlci1vdXQpLmJtZC1kcmF3ZXItb3ZlcmxheS1sZy1kb3duLmJtZC1kcmF3ZXItZi10ID4gLmJtZC1sYXlvdXQtaGVhZGVyIHtcbiAgICBtYXJnaW4tdG9wOiAwOyB9XG4gIDpub3QoLmJtZC1kcmF3ZXItb3V0KS5ibWQtZHJhd2VyLW92ZXJsYXktbGctZG93bi5ibWQtZHJhd2VyLWYtYiA+IC5ibWQtbGF5b3V0LWNvbnRlbnQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIDpub3QoLmJtZC1kcmF3ZXItb3V0KS5ibWQtZHJhd2VyLWluLXhsLXVwLmJtZC1kcmF3ZXItZi1sID4gLmJtZC1sYXlvdXQtaGVhZGVyIHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMjQwcHgpO1xuICAgIG1hcmdpbi1sZWZ0OiAyNDBweDsgfVxuICA6bm90KC5ibWQtZHJhd2VyLW91dCkuYm1kLWRyYXdlci1pbi14bC11cC5ibWQtZHJhd2VyLWYtbCA+IC5ibWQtbGF5b3V0LWRyYXdlciB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOyB9XG4gIDpub3QoLmJtZC1kcmF3ZXItb3V0KS5ibWQtZHJhd2VyLWluLXhsLXVwLmJtZC1kcmF3ZXItZi1sID4gLmJtZC1sYXlvdXQtY29udGVudCB7XG4gICAgbWFyZ2luLWxlZnQ6IDI0MHB4OyB9XG4gIDpub3QoLmJtZC1kcmF3ZXItb3V0KS5ibWQtZHJhd2VyLWluLXhsLXVwLmJtZC1kcmF3ZXItZi1yID4gLmJtZC1sYXlvdXQtaGVhZGVyIHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMjQwcHgpO1xuICAgIG1hcmdpbi1yaWdodDogMjQwcHg7IH1cbiAgOm5vdCguYm1kLWRyYXdlci1vdXQpLmJtZC1kcmF3ZXItaW4teGwtdXAuYm1kLWRyYXdlci1mLXIgPiAuYm1kLWxheW91dC1kcmF3ZXIge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsgfVxuICA6bm90KC5ibWQtZHJhd2VyLW91dCkuYm1kLWRyYXdlci1pbi14bC11cC5ibWQtZHJhd2VyLWYtciA+IC5ibWQtbGF5b3V0LWNvbnRlbnQge1xuICAgIG1hcmdpbi1yaWdodDogMjQwcHg7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIDpub3QoLmJtZC1kcmF3ZXItb3V0KS5ibWQtZHJhd2VyLWluLXhsLXVwLmJtZC1kcmF3ZXItZi10ID4gLmJtZC1sYXlvdXQtaGVhZGVyIHtcbiAgICBtYXJnaW4tdG9wOiAxMDBweDsgfVxuICA6bm90KC5ibWQtZHJhd2VyLW91dCkuYm1kLWRyYXdlci1pbi14bC11cC5ibWQtZHJhd2VyLWYtdCA+IC5ibWQtbGF5b3V0LWRyYXdlciB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9XG4gIDpub3QoLmJtZC1kcmF3ZXItb3V0KS5ibWQtZHJhd2VyLWluLXhsLXVwLmJtZC1kcmF3ZXItZi1iID4gLmJtZC1sYXlvdXQtZHJhd2VyIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH1cbiAgOm5vdCguYm1kLWRyYXdlci1vdXQpLmJtZC1kcmF3ZXItaW4teGwtdXAuYm1kLWRyYXdlci1mLWIgPiAuYm1kLWxheW91dC1jb250ZW50IHtcbiAgICBtYXJnaW4tYm90dG9tOiAxMDBweDsgfSB9XG5cbjpub3QoLmJtZC1kcmF3ZXItb3V0KS5ibWQtZHJhd2VyLW92ZXJsYXkteGwtZG93biA+IC5ibWQtbGF5b3V0LWJhY2tkcm9wIC5pbiB7XG4gIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41KTsgfVxuXG5Ac3VwcG9ydHMgKHBvaW50ZXItZXZlbnRzOiBhdXRvKSB7XG4gIDpub3QoLmJtZC1kcmF3ZXItb3V0KS5ibWQtZHJhd2VyLW92ZXJsYXkteGwtZG93biA+IC5ibWQtbGF5b3V0LWJhY2tkcm9wLmluIHtcbiAgICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgICBvcGFjaXR5OiAxOyB9IH1cblxuOm5vdCguYm1kLWRyYXdlci1vdXQpLmJtZC1kcmF3ZXItb3ZlcmxheS14bC1kb3duLmJtZC1kcmF3ZXItZi1sID4gLmJtZC1sYXlvdXQtaGVhZGVyLFxuOm5vdCguYm1kLWRyYXdlci1vdXQpLmJtZC1kcmF3ZXItb3ZlcmxheS14bC1kb3duLmJtZC1kcmF3ZXItZi1sID4gLmJtZC1sYXlvdXQtY29udGVudCB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tbGVmdDogMDsgfVxuXG46bm90KC5ibWQtZHJhd2VyLW91dCkuYm1kLWRyYXdlci1vdmVybGF5LXhsLWRvd24uYm1kLWRyYXdlci1mLXIgPiAuYm1kLWxheW91dC1oZWFkZXIsXG46bm90KC5ibWQtZHJhd2VyLW91dCkuYm1kLWRyYXdlci1vdmVybGF5LXhsLWRvd24uYm1kLWRyYXdlci1mLXIgPiAuYm1kLWxheW91dC1jb250ZW50IHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1yaWdodDogMDsgfVxuXG46bm90KC5ibWQtZHJhd2VyLW91dCkuYm1kLWRyYXdlci1vdmVybGF5LXhsLWRvd24gPiAuYm1kLWxheW91dC1iYWNrZHJvcCAuaW4ge1xuICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNSk7IH1cblxuQHN1cHBvcnRzIChwb2ludGVyLWV2ZW50czogYXV0bykge1xuICA6bm90KC5ibWQtZHJhd2VyLW91dCkuYm1kLWRyYXdlci1vdmVybGF5LXhsLWRvd24gPiAuYm1kLWxheW91dC1iYWNrZHJvcC5pbiB7XG4gICAgcG9pbnRlci1ldmVudHM6IGF1dG87XG4gICAgb3BhY2l0eTogMTsgfSB9XG5cbjpub3QoLmJtZC1kcmF3ZXItb3V0KS5ibWQtZHJhd2VyLW92ZXJsYXkteGwtZG93bi5ibWQtZHJhd2VyLWYtdCA+IC5ibWQtbGF5b3V0LWhlYWRlciB7XG4gIG1hcmdpbi10b3A6IDA7IH1cblxuOm5vdCguYm1kLWRyYXdlci1vdXQpLmJtZC1kcmF3ZXItb3ZlcmxheS14bC1kb3duLmJtZC1kcmF3ZXItZi1iID4gLmJtZC1sYXlvdXQtY29udGVudCB7XG4gIG1hcmdpbi1ib3R0b206IDA7IH1cblxuLnJpcHBsZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4ucmlwcGxlLWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAxO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogaW5oZXJpdDsgfVxuICAucmlwcGxlLWNvbnRhaW5lciAucmlwcGxlLWRlY29yYXRvciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAyMHB4O1xuICAgIGhlaWdodDogMjBweDtcbiAgICBtYXJnaW4tdG9wOiAtMTBweDtcbiAgICBtYXJnaW4tbGVmdDogLTEwcHg7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjA1KTtcbiAgICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiA1MCU7IH1cbiAgICAucmlwcGxlLWNvbnRhaW5lciAucmlwcGxlLWRlY29yYXRvci5yaXBwbGUtb24ge1xuICAgICAgb3BhY2l0eTogMC4xO1xuICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjE1cyBlYXNlLWluIDBzLCB0cmFuc2Zvcm0gMC41cyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjIsIDEpIDAuMXM7IH1cbiAgICAucmlwcGxlLWNvbnRhaW5lciAucmlwcGxlLWRlY29yYXRvci5yaXBwbGUtb3V0IHtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMXMgbGluZWFyIDBzICFpbXBvcnRhbnQ7IH1cbiIsIi8vIHNjc3MtbGludDpkaXNhYmxlIEltcG9ydGFudFJ1bGUsIFF1YWxpZnlpbmdFbGVtZW50XG5cbi8vIFNvdXJjZTogaHR0cHM6Ly9naXRodWIuY29tL2g1YnAvaHRtbDUtYm9pbGVycGxhdGUvYmxvYi9tYXN0ZXIvc3JjL2Nzcy9tYWluLmNzc1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gUHJpbnQgc3R5bGVzLlxuLy8gSW5saW5lZCB0byBhdm9pZCB0aGUgYWRkaXRpb25hbCBIVFRQIHJlcXVlc3Q6XG4vLyBodHRwOi8vd3d3LnBocGllZC5jb20vZGVsYXktbG9hZGluZy15b3VyLXByaW50LWNzcy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZiAkZW5hYmxlLXByaW50LXN0eWxlcyB7XG4gIEBtZWRpYSBwcmludCB7XG4gICAgKixcbiAgICAqOjpiZWZvcmUsXG4gICAgKjo6YWZ0ZXIsXG4gICAgKjo6Zmlyc3QtbGV0dGVyLFxuICAgICo6OmZpcnN0LWxpbmUge1xuICAgICAgLy8gQm9vdHN0cmFwIHNwZWNpZmljOyBjb21tZW50IG91dCBgY29sb3JgIGFuZCBgYmFja2dyb3VuZGBcbiAgICAgIC8vY29sb3I6ICMwMDAgIWltcG9ydGFudDsgLy8gQmxhY2sgcHJpbnRzIGZhc3RlcjpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gICBodHRwOi8vd3d3LnNhbmJlaWppLmNvbS9hcmNoaXZlcy85NTNcbiAgICAgIHRleHQtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAvL2JhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgYSxcbiAgICBhOnZpc2l0ZWQge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgfVxuXG4gICAgLy8gQm9vdHN0cmFwIHNwZWNpZmljOyBjb21tZW50IHRoZSBmb2xsb3dpbmcgc2VsZWN0b3Igb3V0XG4gICAgLy9hW2hyZWZdOjphZnRlciB7XG4gICAgLy8gIGNvbnRlbnQ6IFwiIChcIiBhdHRyKGhyZWYpIFwiKVwiO1xuICAgIC8vfVxuXG4gICAgYWJiclt0aXRsZV06OmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwiIChcIiBhdHRyKHRpdGxlKSBcIilcIjtcbiAgICB9XG5cbiAgICAvLyBCb290c3RyYXAgc3BlY2lmaWM7IGNvbW1lbnQgdGhlIGZvbGxvd2luZyBzZWxlY3RvciBvdXRcbiAgICAvL1xuICAgIC8vIERvbid0IHNob3cgbGlua3MgdGhhdCBhcmUgZnJhZ21lbnQgaWRlbnRpZmllcnMsXG4gICAgLy8gb3IgdXNlIHRoZSBgamF2YXNjcmlwdDpgIHBzZXVkbyBwcm90b2NvbFxuICAgIC8vXG5cbiAgICAvL2FbaHJlZl49XCIjXCJdOjphZnRlcixcbiAgICAvL2FbaHJlZl49XCJqYXZhc2NyaXB0OlwiXTo6YWZ0ZXIge1xuICAgIC8vICBjb250ZW50OiBcIlwiO1xuICAgIC8vfVxuXG4gICAgcHJlLFxuICAgIGJsb2NrcXVvdGUge1xuICAgICAgYm9yZGVyOiAkYm9yZGVyLXdpZHRoIHNvbGlkICM5OTk7ICAgLy8gQm9vdHN0cmFwIGN1c3RvbSBjb2RlOyB1c2luZyBgJGJvcmRlci13aWR0aGAgaW5zdGVhZCBvZiAxcHhcbiAgICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDtcbiAgICB9XG5cbiAgICAvL1xuICAgIC8vIFByaW50aW5nIFRhYmxlczpcbiAgICAvLyBodHRwOi8vY3NzLWRpc2N1c3MuaW5jdXRpby5jb20vd2lraS9QcmludGluZ19UYWJsZXNcbiAgICAvL1xuXG4gICAgdGhlYWQge1xuICAgICAgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwO1xuICAgIH1cblxuICAgIHRyLFxuICAgIGltZyB7XG4gICAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7XG4gICAgfVxuXG4gICAgcCxcbiAgICBoMixcbiAgICBoMyB7XG4gICAgICBvcnBoYW5zOiAzO1xuICAgICAgd2lkb3dzOiAzO1xuICAgIH1cblxuICAgIGgyLFxuICAgIGgzIHtcbiAgICAgIHBhZ2UtYnJlYWstYWZ0ZXI6IGF2b2lkO1xuICAgIH1cblxuICAgIC8vIEJvb3RzdHJhcCBzcGVjaWZpYyBjaGFuZ2VzIHN0YXJ0XG5cbiAgICAvLyBCb290c3RyYXAgY29tcG9uZW50c1xuICAgIC5uYXZiYXIge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gICAgLmJ0bixcbiAgICAuZHJvcHVwID4gLmJ0biB7XG4gICAgICA+IC5jYXJldCB7XG4gICAgICAgIGJvcmRlci10b3AtY29sb3I6ICMwMDAgIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICB9XG4gICAgLnRhZyB7XG4gICAgICBib3JkZXI6ICRib3JkZXItd2lkdGggc29saWQgIzAwMDtcbiAgICB9XG5cbiAgICAudGFibGUge1xuICAgICAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZSAhaW1wb3J0YW50O1xuXG4gICAgICB0ZCxcbiAgICAgIHRoIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZiAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgIH1cbiAgICAudGFibGUtYm9yZGVyZWQge1xuICAgICAgdGgsXG4gICAgICB0ZCB7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNkZGQgIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBCb290c3RyYXAgc3BlY2lmaWMgY2hhbmdlcyBlbmRcbiAgfVxufVxuIiwiLy8gc2Nzcy1saW50OmRpc2FibGUgSW1wb3J0YW50UnVsZSwgUXVhbGlmeWluZ0VsZW1lbnQsIER1cGxpY2F0ZVByb3BlcnR5XG5cbi8vIFJlYm9vdFxuLy9cbi8vIEdsb2JhbCByZXNldHMgdG8gY29tbW9uIEhUTUwgZWxlbWVudHMgYW5kIG1vcmUgZm9yIGVhc2llciB1c2FnZSBieSBCb290c3RyYXAuXG4vLyBBZGRzIGFkZGl0aW9uYWwgcnVsZXMgb24gdG9wIG9mIE5vcm1hbGl6ZS5jc3MsIGluY2x1ZGluZyBzZXZlcmFsIG92ZXJyaWRlcy5cblxuXG4vLyBSZXNldCB0aGUgYm94LXNpemluZ1xuLy9cbi8vIENoYW5nZSBmcm9tIGBib3gtc2l6aW5nOiBjb250ZW50LWJveGAgdG8gYGJvcmRlci1ib3hgIHNvIHRoYXQgd2hlbiB5b3UgYWRkXG4vLyBgcGFkZGluZ2Agb3IgYGJvcmRlcmBzIHRvIGFuIGVsZW1lbnQsIHRoZSBvdmVyYWxsIGRlY2xhcmVkIGB3aWR0aGAgZG9lcyBub3Rcbi8vIGNoYW5nZS4gRm9yIGV4YW1wbGUsIGB3aWR0aDogMTAwcHg7YCB3aWxsIGFsd2F5cyBiZSBgMTAwcHhgIGRlc3BpdGUgdGhlXG4vLyBgYm9yZGVyOiAxMHB4IHNvbGlkIHJlZDtgIGFuZCBgcGFkZGluZzogMjBweDtgLlxuLy9cbi8vIEhlYWRzIHVwISBUaGlzIHJlc2V0IG1heSBjYXVzZSBjb25mbGljdHMgd2l0aCBzb21lIHRoaXJkLXBhcnR5IHdpZGdldHMuIEZvclxuLy8gcmVjb21tZW5kYXRpb25zIG9uIHJlc29sdmluZyBzdWNoIGNvbmZsaWN0cywgc2VlXG4vLyBodHRwOi8vZ2V0Ym9vdHN0cmFwLmNvbS9nZXR0aW5nLXN0YXJ0ZWQvI3RoaXJkLWJveC1zaXppbmcuXG4vL1xuLy8gQ3JlZGl0OiBodHRwczovL2Nzcy10cmlja3MuY29tL2luaGVyaXRpbmctYm94LXNpemluZy1wcm9iYWJseS1zbGlnaHRseS1iZXR0ZXItYmVzdC1wcmFjdGljZS9cblxuaHRtbCB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cbiosXG4qOjpiZWZvcmUsXG4qOjphZnRlciB7XG4gIGJveC1zaXppbmc6IGluaGVyaXQ7XG59XG5cblxuLy8gTWFrZSB2aWV3cG9ydCByZXNwb25zaXZlXG4vL1xuLy8gQHZpZXdwb3J0IGlzIG5lZWRlZCBiZWNhdXNlIElFIDEwKyBkb2Vzbid0IGhvbm9yIDxtZXRhIG5hbWU9XCJ2aWV3cG9ydFwiPiBpblxuLy8gc29tZSBjYXNlcy4gU2VlIGh0dHA6Ly90aW1rYWRsZWMuY29tLzIwMTIvMTAvaWUxMC1zbmFwLW1vZGUtYW5kLXJlc3BvbnNpdmUtZGVzaWduLy5cbi8vIEV2ZW50dWFsbHkgQHZpZXdwb3J0IHdpbGwgcmVwbGFjZSA8bWV0YSBuYW1lPVwidmlld3BvcnRcIj4uXG4vL1xuLy8gSG93ZXZlciwgYGRldmljZS13aWR0aGAgaXMgYnJva2VuIG9uIElFIDEwIG9uIFdpbmRvd3MgKFBob25lKSA4LFxuLy8gKHNlZSBodHRwOi8vdGlta2FkbGVjLmNvbS8yMDEzLzAxL3dpbmRvd3MtcGhvbmUtOC1hbmQtZGV2aWNlLXdpZHRoLyBhbmQgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xMDQ5Nylcbi8vIGFuZCB0aGUgZml4IGZvciB0aGF0IGludm9sdmVzIGEgc25pcHBldCBvZiBKYXZhU2NyaXB0IHRvIHNuaWZmIHRoZSB1c2VyIGFnZW50XG4vLyBhbmQgYXBwbHkgc29tZSBjb25kaXRpb25hbCBDU1MuXG4vL1xuLy8gU2VlIGh0dHA6Ly9nZXRib290c3RyYXAuY29tL2dldHRpbmctc3RhcnRlZC8jc3VwcG9ydC1pZTEwLXdpZHRoIGZvciB0aGUgcmVsZXZhbnQgaGFjay5cbi8vXG4vLyBXcmFwIGBAdmlld3BvcnRgIHdpdGggYEBhdC1yb290YCBmb3Igd2hlbiBmb2xrcyBkbyBhIG5lc3RlZCBpbXBvcnQgKGUuZy4sXG4vLyBgLmNsYXNzLW5hbWUgeyBAaW1wb3J0IFwiYm9vdHN0cmFwXCI7IH1gKS5cbkBhdC1yb290IHtcbiAgQC1tcy12aWV3cG9ydCB7IHdpZHRoOiBkZXZpY2Utd2lkdGg7IH1cbn1cblxuXG4vL1xuLy8gUmVzZXQgSFRNTCwgYm9keSwgYW5kIG1vcmVcbi8vXG5cbmh0bWwge1xuICAvLyBTZXRzIGEgc3BlY2lmaWMgZGVmYXVsdCBgZm9udC1zaXplYCBmb3IgdXNlciB3aXRoIGByZW1gIHR5cGUgc2NhbGVzLlxuICBmb250LXNpemU6ICRmb250LXNpemUtcm9vdDtcbiAgLy8gQXMgYSBzaWRlLWVmZmVjdCBvZiBzZXR0aW5nIHRoZSBAdmlld3BvcnQgYWJvdmUsXG4gIC8vIElFMTEgJiBFZGdlIG1ha2UgdGhlIHNjcm9sbGJhciBvdmVybGFwIHRoZSBjb250ZW50IGFuZCBhdXRvbWF0aWNhbGx5IGhpZGUgaXRzZWxmIHdoZW4gbm90IGluIHVzZS5cbiAgLy8gVW5mb3J0dW5hdGVseSwgdGhlIGF1dG8tc2hvd2luZyBvZiB0aGUgc2Nyb2xsYmFyIGlzIHNvbWV0aW1lcyB0b28gc2Vuc2l0aXZlLFxuICAvLyB0aHVzIG1ha2luZyBpdCBoYXJkIHRvIGNsaWNrIG9uIHN0dWZmIG5lYXIgdGhlIHJpZ2h0IGVkZ2Ugb2YgdGhlIHBhZ2UuXG4gIC8vIFNvIHdlIGFkZCB0aGlzIHN0eWxlIHRvIGZvcmNlIElFMTEgJiBFZGdlIHRvIHVzZSBhIFwibm9ybWFsXCIsIG5vbi1vdmVybGFwcGluZywgbm9uLWF1dG8taGlkaW5nIHNjcm9sbGJhci5cbiAgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMTg1NDNcbiAgLW1zLW92ZXJmbG93LXN0eWxlOiBzY3JvbGxiYXI7XG4gIC8vIENoYW5nZXMgdGhlIGRlZmF1bHQgdGFwIGhpZ2hsaWdodCB0byBiZSBjb21wbGV0ZWx5IHRyYW5zcGFyZW50IGluIGlPUy5cbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiByZ2JhKDAsMCwwLDApO1xufVxuXG5ib2R5IHtcbiAgLy8gTWFrZSB0aGUgYGJvZHlgIHVzZSB0aGUgYGZvbnQtc2l6ZS1yb290YFxuICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LWJhc2U7XG4gIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1iYXNlO1xuICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0LWJhc2U7XG4gIC8vIEdvIGVhc3kgb24gdGhlIGV5ZXMgYW5kIHVzZSBzb21ldGhpbmcgb3RoZXIgdGhhbiBgIzAwMGAgZm9yIHRleHRcbiAgY29sb3I6ICRib2R5LWNvbG9yO1xuICAvLyBCeSBkZWZhdWx0LCBgPGJvZHk+YCBoYXMgbm8gYGJhY2tncm91bmQtY29sb3JgIHNvIHdlIHNldCBvbmUgYXMgYSBiZXN0IHByYWN0aWNlLlxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYm9keS1iZztcbn1cblxuLy8gU3VwcHJlc3MgdGhlIGZvY3VzIG91dGxpbmUgb24gZWxlbWVudHMgdGhhdCBjYW5ub3QgYmUgYWNjZXNzZWQgdmlhIGtleWJvYXJkLlxuLy8gVGhpcyBwcmV2ZW50cyBhbiB1bndhbnRlZCBmb2N1cyBvdXRsaW5lIGZyb20gYXBwZWFyaW5nIGFyb3VuZCBlbGVtZW50cyB0aGF0XG4vLyBtaWdodCBzdGlsbCByZXNwb25kIHRvIHBvaW50ZXIgZXZlbnRzLlxuLy9cbi8vIENyZWRpdDogaHR0cHM6Ly9naXRodWIuY29tL3N1aXRjc3MvYmFzZVxuW3RhYmluZGV4PVwiLTFcIl06Zm9jdXMge1xuICBvdXRsaW5lOiBub25lICFpbXBvcnRhbnQ7XG59XG5cblxuLy9cbi8vIFR5cG9ncmFwaHlcbi8vXG5cbi8vIFJlbW92ZSB0b3AgbWFyZ2lucyBmcm9tIGhlYWRpbmdzXG4vL1xuLy8gQnkgZGVmYXVsdCwgYDxoMT5gLWA8aDY+YCBhbGwgcmVjZWl2ZSB0b3AgYW5kIGJvdHRvbSBtYXJnaW5zLiBXZSBudWtlIHRoZSB0b3Bcbi8vIG1hcmdpbiBmb3IgZWFzaWVyIGNvbnRyb2wgd2l0aGluIHR5cGUgc2NhbGVzIGFzIGl0IGF2b2lkcyBtYXJnaW4gY29sbGFwc2luZy5cbmgxLCBoMiwgaDMsIGg0LCBoNSwgaDYge1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAuNXJlbTtcbn1cblxuLy8gUmVzZXQgbWFyZ2lucyBvbiBwYXJhZ3JhcGhzXG4vL1xuLy8gU2ltaWxhcmx5LCB0aGUgdG9wIG1hcmdpbiBvbiBgPHA+YHMgZ2V0IHJlc2V0LiBIb3dldmVyLCB3ZSBhbHNvIHJlc2V0IHRoZVxuLy8gYm90dG9tIG1hcmdpbiB0byB1c2UgYHJlbWAgdW5pdHMgaW5zdGVhZCBvZiBgZW1gLlxucCB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG59XG5cbi8vIEFiYnJldmlhdGlvbnMgYW5kIGFjcm9ueW1zXG5hYmJyW3RpdGxlXSxcbi8vIEFkZCBkYXRhLSogYXR0cmlidXRlIHRvIGhlbHAgb3V0IG91ciB0b29sdGlwIHBsdWdpbiwgcGVyIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvNTI1N1xuYWJicltkYXRhLW9yaWdpbmFsLXRpdGxlXSB7XG4gIGN1cnNvcjogaGVscDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IGRvdHRlZCAkYWJici1ib3JkZXItY29sb3I7XG59XG5cbmFkZHJlc3Mge1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xufVxuXG5vbCxcbnVsLFxuZGwge1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xufVxuXG5vbCBvbCxcbnVsIHVsLFxub2wgdWwsXG51bCBvbCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbmR0IHtcbiAgZm9udC13ZWlnaHQ6ICRkdC1mb250LXdlaWdodDtcbn1cblxuZGQge1xuICBtYXJnaW4tYm90dG9tOiAuNXJlbTtcbiAgbWFyZ2luLWxlZnQ6IDA7IC8vIFVuZG8gYnJvd3NlciBkZWZhdWx0XG59XG5cbmJsb2NrcXVvdGUge1xuICBtYXJnaW46IDAgMCAxcmVtO1xufVxuXG5cbi8vXG4vLyBMaW5rc1xuLy9cblxuYSB7XG4gIGNvbG9yOiAkbGluay1jb2xvcjtcbiAgdGV4dC1kZWNvcmF0aW9uOiAkbGluay1kZWNvcmF0aW9uO1xuXG4gIEBpbmNsdWRlIGhvdmVyLWZvY3VzIHtcbiAgICBjb2xvcjogJGxpbmstaG92ZXItY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiAkbGluay1ob3Zlci1kZWNvcmF0aW9uO1xuICB9XG5cbiAgJjpmb2N1cyB7XG4gICAgQGluY2x1ZGUgdGFiLWZvY3VzKCk7XG4gIH1cbn1cblxuLy8gQW5kIHVuZG8gdGhlc2Ugc3R5bGVzIGZvciBwbGFjZWhvbGRlciBsaW5rcy9uYW1lZCBhbmNob3JzICh3aXRob3V0IGhyZWYpXG4vLyB3aGljaCBoYXZlIG5vdCBiZWVuIG1hZGUgZXhwbGljaXRseSBrZXlib2FyZC1mb2N1c2FibGUgKHdpdGhvdXQgdGFiaW5kZXgpLlxuLy8gSXQgd291bGQgYmUgbW9yZSBzdHJhaWdodGZvcndhcmQgdG8ganVzdCB1c2UgYVtocmVmXSBpbiBwcmV2aW91cyBibG9jaywgYnV0IHRoYXRcbi8vIGNhdXNlcyBzcGVjaWZpY2l0eSBpc3N1ZXMgaW4gbWFueSBvdGhlciBzdHlsZXMgdGhhdCBhcmUgdG9vIGNvbXBsZXggdG8gZml4LlxuLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMTk0MDJcblxuYTpub3QoW2hyZWZdKTpub3QoW3RhYmluZGV4XSkge1xuICBjb2xvcjogaW5oZXJpdDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG4gIEBpbmNsdWRlIGhvdmVyLWZvY3VzIHtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cblxuICAmOmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICB9XG59XG5cblxuLy9cbi8vIENvZGVcbi8vXG5cbnByZSB7XG4gIC8vIFJlbW92ZSBicm93c2VyIGRlZmF1bHQgdG9wIG1hcmdpblxuICBtYXJnaW4tdG9wOiAwO1xuICAvLyBSZXNldCBicm93c2VyIGRlZmF1bHQgb2YgYDFlbWAgdG8gdXNlIGByZW1gc1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAvLyBOb3JtYWxpemUgdjQgcmVtb3ZlZCB0aGlzIHByb3BlcnR5LCBjYXVzaW5nIGA8cHJlPmAgY29udGVudCB0byBicmVhayBvdXQgb2Ygd3JhcHBpbmcgY29kZSBzbmlwcGV0c1xuICBvdmVyZmxvdzogYXV0bztcbn1cblxuXG4vL1xuLy8gRmlndXJlc1xuLy9cblxuZmlndXJlIHtcbiAgLy8gTm9ybWFsaXplIGFkZHMgYG1hcmdpbmAgdG8gYGZpZ3VyZWBzIGFzIGJyb3dzZXJzIGFwcGx5IGl0IGluY29uc2lzdGVudGx5LlxuICAvLyBXZSByZXNldCB0aGF0IHRvIGNyZWF0ZSBhIGJldHRlciBmbG93IGluLXBhZ2UuXG4gIG1hcmdpbjogMCAwIDFyZW07XG59XG5cblxuLy9cbi8vIEltYWdlc1xuLy9cblxuaW1nIHtcbiAgLy8gQnkgZGVmYXVsdCwgYDxpbWc+YHMgYXJlIGBpbmxpbmUtYmxvY2tgLiBUaGlzIGFzc3VtZXMgdGhhdCwgYW5kIHZlcnRpY2FsbHlcbiAgLy8gY2VudGVycyB0aGVtLiBUaGlzIHdvbid0IGFwcGx5IHNob3VsZCB5b3UgcmVzZXQgdGhlbSB0byBgYmxvY2tgIGxldmVsLlxuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAvLyBOb3RlOiBgPGltZz5gcyBhcmUgZGVsaWJlcmF0ZWx5IG5vdCBtYWRlIHJlc3BvbnNpdmUgYnkgZGVmYXVsdC5cbiAgLy8gRm9yIHRoZSByYXRpb25hbGUgYmVoaW5kIHRoaXMsIHNlZSB0aGUgY29tbWVudHMgb24gdGhlIGAuaW1nLWZsdWlkYCBjbGFzcy5cbn1cblxuXG4vLyBpT1MgXCJjbGlja2FibGUgZWxlbWVudHNcIiBmaXggZm9yIHJvbGU9XCJidXR0b25cIlxuLy9cbi8vIEZpeGVzIFwiY2xpY2thYmlsaXR5XCIgaXNzdWUgKGFuZCBtb3JlIGdlbmVyYWxseSwgdGhlIGZpcmluZyBvZiBldmVudHMgc3VjaCBhcyBmb2N1cyBhcyB3ZWxsKVxuLy8gZm9yIHRyYWRpdGlvbmFsbHkgbm9uLWZvY3VzYWJsZSBlbGVtZW50cyB3aXRoIHJvbGU9XCJidXR0b25cIlxuLy8gc2VlIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0V2ZW50cy9jbGljayNTYWZhcmlfTW9iaWxlXG5cbltyb2xlPVwiYnV0dG9uXCJdIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG5cbi8vIEF2b2lkIDMwMG1zIGNsaWNrIGRlbGF5IG9uIHRvdWNoIGRldmljZXMgdGhhdCBzdXBwb3J0IHRoZSBgdG91Y2gtYWN0aW9uYCBDU1MgcHJvcGVydHkuXG4vL1xuLy8gSW4gcGFydGljdWxhciwgdW5saWtlIG1vc3Qgb3RoZXIgYnJvd3NlcnMsIElFMTErRWRnZSBvbiBXaW5kb3dzIDEwIG9uIHRvdWNoIGRldmljZXMgYW5kIElFIE1vYmlsZSAxMC0xMVxuLy8gRE9OJ1QgcmVtb3ZlIHRoZSBjbGljayBkZWxheSB3aGVuIGA8bWV0YSBuYW1lPVwidmlld3BvcnRcIiBjb250ZW50PVwid2lkdGg9ZGV2aWNlLXdpZHRoXCI+YCBpcyBwcmVzZW50LlxuLy8gSG93ZXZlciwgdGhleSBETyBzdXBwb3J0IHJlbW92aW5nIHRoZSBjbGljayBkZWxheSB2aWEgYHRvdWNoLWFjdGlvbjogbWFuaXB1bGF0aW9uYC5cbi8vIFNlZTpcbi8vICogaHR0cDovL3Y0LWFscGhhLmdldGJvb3RzdHJhcC5jb20vY29udGVudC9yZWJvb3QvI2NsaWNrLWRlbGF5LW9wdGltaXphdGlvbi1mb3ItdG91Y2hcbi8vICogaHR0cDovL2Nhbml1c2UuY29tLyNmZWF0PWNzcy10b3VjaC1hY3Rpb25cbi8vICogaHR0cDovL3BhdHJpY2tobGF1a2UuZ2l0aHViLmlvL3RvdWNoL3Rlc3RzL3Jlc3VsdHMvI3N1cHByZXNzaW5nLTMwMG1zLWRlbGF5XG5cbmEsXG5hcmVhLFxuYnV0dG9uLFxuW3JvbGU9XCJidXR0b25cIl0sXG5pbnB1dCxcbmxhYmVsLFxuc2VsZWN0LFxuc3VtbWFyeSxcbnRleHRhcmVhIHtcbiAgdG91Y2gtYWN0aW9uOiBtYW5pcHVsYXRpb247XG59XG5cblxuLy9cbi8vIFRhYmxlc1xuLy9cblxudGFibGUge1xuICAvLyBObyBsb25nZXIgcGFydCBvZiBOb3JtYWxpemUgc2luY2UgdjRcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgLy8gUmVzZXQgZm9yIG5lc3Rpbmcgd2l0aGluIHBhcmVudHMgd2l0aCBgYmFja2dyb3VuZC1jb2xvcmAuXG4gIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1iZztcbn1cblxuY2FwdGlvbiB7XG4gIHBhZGRpbmctdG9wOiAkdGFibGUtY2VsbC1wYWRkaW5nO1xuICBwYWRkaW5nLWJvdHRvbTogJHRhYmxlLWNlbGwtcGFkZGluZztcbiAgY29sb3I6ICR0ZXh0LW11dGVkO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBjYXB0aW9uLXNpZGU6IGJvdHRvbTtcbn1cblxudGgge1xuICAvLyBDZW50ZXJlZCBieSBkZWZhdWx0LCBidXQgbGVmdC1hbGlnbi1lZCB0byBtYXRjaCB0aGUgYHRkYHMgYmVsb3cuXG4gIHRleHQtYWxpZ246IGxlZnQ7XG59XG5cblxuLy9cbi8vIEZvcm1zXG4vL1xuXG5sYWJlbCB7XG4gIC8vIEFsbG93IGxhYmVscyB0byB1c2UgYG1hcmdpbmAgZm9yIHNwYWNpbmcuXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luLWJvdHRvbTogLjVyZW07XG59XG5cbi8vIFdvcmsgYXJvdW5kIGEgRmlyZWZveC9JRSBidWcgd2hlcmUgdGhlIHRyYW5zcGFyZW50IGBidXR0b25gIGJhY2tncm91bmRcbi8vIHJlc3VsdHMgaW4gYSBsb3NzIG9mIHRoZSBkZWZhdWx0IGBidXR0b25gIGZvY3VzIHN0eWxlcy5cbi8vXG4vLyBDcmVkaXQ6IGh0dHBzOi8vZ2l0aHViLmNvbS9zdWl0Y3NzL2Jhc2UvXG5idXR0b246Zm9jdXMge1xuICBvdXRsaW5lOiAxcHggZG90dGVkO1xuICBvdXRsaW5lOiA1cHggYXV0byAtd2Via2l0LWZvY3VzLXJpbmctY29sb3I7XG59XG5cbmlucHV0LFxuYnV0dG9uLFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICAvLyBSZW1vdmUgYWxsIGBtYXJnaW5gcyBzbyBvdXIgY2xhc3NlcyBkb24ndCBoYXZlIHRvIGRvIGl0IHRoZW1zZWx2ZXMuXG4gIG1hcmdpbjogMDtcbiAgLy8gTm9ybWFsaXplIGluY2x1ZGVzIGBmb250OiBpbmhlcml0O2AsIHNvIGBmb250LWZhbWlseWAuIGBmb250LXNpemVgLCBldGMgYXJlXG4gIC8vIHByb3Blcmx5IGluaGVyaXRlZC4gSG93ZXZlciwgYGxpbmUtaGVpZ2h0YCBpc24ndCBhZGRyZXNzZWQgdGhlcmUuIFVzaW5nIHRoaXNcbiAgLy8gZW5zdXJlcyB3ZSBkb24ndCBuZWVkIHRvIHVubmVjZXNzYXJpbHkgcmVkZWNsYXJlIHRoZSBnbG9iYWwgZm9udCBzdGFjay5cbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIC8vIGlPUyBhZGRzIHJvdW5kZWQgYm9yZGVycyBieSBkZWZhdWx0XG4gIGJvcmRlci1yYWRpdXM6IDA7XG59XG5cbmlucHV0W3R5cGU9XCJyYWRpb1wiXSxcbmlucHV0W3R5cGU9XCJjaGVja2JveFwiXSB7XG4gIC8vIEFwcGx5IGEgZGlzYWJsZWQgY3Vyc29yIGZvciByYWRpb3MgYW5kIGNoZWNrYm94ZXMuXG4gIC8vXG4gIC8vIE5vdGU6IE5laXRoZXIgcmFkaW9zIG5vciBjaGVja2JveGVzIGNhbiBiZSByZWFkb25seS5cbiAgJjpkaXNhYmxlZCB7XG4gICAgY3Vyc29yOiAkY3Vyc29yLWRpc2FibGVkO1xuICB9XG59XG5cblxuaW5wdXRbdHlwZT1cImRhdGVcIl0sXG5pbnB1dFt0eXBlPVwidGltZVwiXSxcbmlucHV0W3R5cGU9XCJkYXRldGltZS1sb2NhbFwiXSxcbmlucHV0W3R5cGU9XCJtb250aFwiXSB7XG4gIC8vIFJlbW92ZSB0aGUgZGVmYXVsdCBhcHBlYXJhbmNlIG9mIHRlbXBvcmFsIGlucHV0cyB0byBhdm9pZCBhIE1vYmlsZSBTYWZhcmlcbiAgLy8gYnVnIHdoZXJlIHNldHRpbmcgYSBjdXN0b20gbGluZS1oZWlnaHQgcHJldmVudHMgdGV4dCBmcm9tIGJlaW5nIHZlcnRpY2FsbHlcbiAgLy8gY2VudGVyZWQgd2l0aGluIHRoZSBpbnB1dC5cbiAgLy9cbiAgLy8gQnVnIHJlcG9ydDogaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xMTI2NlxuICAtd2Via2l0LWFwcGVhcmFuY2U6IGxpc3Rib3g7XG59XG5cbnRleHRhcmVhIHtcbiAgLy8gVGV4dGFyZWFzIHNob3VsZCByZWFsbHkgb25seSByZXNpemUgdmVydGljYWxseSBzbyB0aGV5IGRvbid0IGJyZWFrIHRoZWlyIChob3Jpem9udGFsKSBjb250YWluZXJzLlxuICByZXNpemU6IHZlcnRpY2FsO1xufVxuXG5maWVsZHNldCB7XG4gIC8vIENocm9tZSBhbmQgRmlyZWZveCBzZXQgYSBgbWluLXdpZHRoOiBtaW4tY29udGVudDtgIG9uIGZpZWxkc2V0cyxcbiAgLy8gc28gd2UgcmVzZXQgdGhhdCB0byBlbnN1cmUgaXQgYmVoYXZlcyBtb3JlIGxpa2UgYSBzdGFuZGFyZCBibG9jayBlbGVtZW50LlxuICAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xMjM1OS5cbiAgbWluLXdpZHRoOiAwO1xuICAvLyBSZXNldCB0aGUgZGVmYXVsdCBvdXRsaW5lIGJlaGF2aW9yIG9mIGZpZWxkc2V0cyBzbyB0aGV5IGRvbid0IGFmZmVjdCBwYWdlIGxheW91dC5cbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwO1xuICBib3JkZXI6IDA7XG59XG5cbmxlZ2VuZCB7XG4gIC8vIFJlc2V0IHRoZSBlbnRpcmUgbGVnZW5kIGVsZW1lbnQgdG8gbWF0Y2ggdGhlIGBmaWVsZHNldGBcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW4tYm90dG9tOiAuNXJlbTtcbiAgZm9udC1zaXplOiAxLjVyZW07XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xufVxuXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdIHtcbiAgLy8gVGhpcyBvdmVycmlkZXMgdGhlIGV4dHJhIHJvdW5kZWQgY29ybmVycyBvbiBzZWFyY2ggaW5wdXRzIGluIGlPUyBzbyB0aGF0IG91clxuICAvLyBgLmZvcm0tY29udHJvbGAgY2xhc3MgY2FuIHByb3Blcmx5IHN0eWxlIHRoZW0uIE5vdGUgdGhhdCB0aGlzIGNhbm5vdCBzaW1wbHlcbiAgLy8gYmUgYWRkZWQgdG8gYC5mb3JtLWNvbnRyb2xgIGFzIGl0J3Mgbm90IHNwZWNpZmljIGVub3VnaC4gRm9yIGRldGFpbHMsIHNlZVxuICAvLyBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzExNTg2LlxuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG59XG5cbi8vIHRvZG86IG5lZWRlZD9cbm91dHB1dCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbi8vICBmb250LXNpemU6ICRmb250LXNpemUtYmFzZTtcbi8vICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0O1xuLy8gIGNvbG9yOiAkaW5wdXQtY29sb3I7XG59XG5cbi8vIEFsd2F5cyBoaWRlIGFuIGVsZW1lbnQgd2l0aCB0aGUgYGhpZGRlbmAgSFRNTCBhdHRyaWJ1dGUgKGZyb20gUHVyZUNTUykuXG5baGlkZGVuXSB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cbiIsIi8vIFZhcmlhYmxlc1xuLy9cbi8vIENvcHkgc2V0dGluZ3MgZnJvbSB0aGlzIGZpbGUgaW50byB0aGUgcHJvdmlkZWQgYF9jdXN0b20uc2Nzc2AgdG8gb3ZlcnJpZGVcbi8vIHRoZSBCb290c3RyYXAgZGVmYXVsdHMgd2l0aG91dCBtb2RpZnlpbmcga2V5LCB2ZXJzaW9uZWQgZmlsZXMuXG5cblxuLy8gVGFibGUgb2YgQ29udGVudHNcbi8vXG4vLyBDb2xvcnNcbi8vIE9wdGlvbnNcbi8vIFNwYWNpbmdcbi8vIEJvZHlcbi8vIExpbmtzXG4vLyBHcmlkIGJyZWFrcG9pbnRzXG4vLyBHcmlkIGNvbnRhaW5lcnNcbi8vIEdyaWQgY29sdW1uc1xuLy8gRm9udHNcbi8vIENvbXBvbmVudHNcblxuQG1peGluIF9hc3NlcnQtYXNjZW5kaW5nKCRtYXAsICRtYXAtbmFtZSkge1xuICAkcHJldi1rZXk6IG51bGw7XG4gICRwcmV2LW51bTogbnVsbDtcbiAgQGVhY2ggJGtleSwgJG51bSBpbiAkbWFwIHtcbiAgICBAaWYgJHByZXYtbnVtID09IG51bGwge1xuICAgICAgLy8gRG8gbm90aGluZ1xuICAgIH0gQGVsc2UgaWYgbm90IGNvbXBhcmFibGUoJHByZXYtbnVtLCAkbnVtKSB7XG4gICAgICBAd2FybiBcIlBvdGVudGlhbGx5IGludmFsaWQgdmFsdWUgZm9yICN7JG1hcC1uYW1lfTogVGhpcyBtYXAgbXVzdCBiZSBpbiBhc2NlbmRpbmcgb3JkZXIsIGJ1dCBrZXkgJyN7JGtleX0nIGhhcyB2YWx1ZSAjeyRudW19IHdob3NlIHVuaXQgbWFrZXMgaXQgaW5jb21wYXJhYmxlIHRvICN7JHByZXYtbnVtfSwgdGhlIHZhbHVlIG9mIHRoZSBwcmV2aW91cyBrZXkgJyN7JHByZXYta2V5fScgIVwiO1xuICAgIH0gQGVsc2UgaWYgJHByZXYtbnVtID49ICRudW0ge1xuICAgICAgQHdhcm4gXCJJbnZhbGlkIHZhbHVlIGZvciAjeyRtYXAtbmFtZX06IFRoaXMgbWFwIG11c3QgYmUgaW4gYXNjZW5kaW5nIG9yZGVyLCBidXQga2V5ICcjeyRrZXl9JyBoYXMgdmFsdWUgI3skbnVtfSB3aGljaCBpc24ndCBncmVhdGVyIHRoYW4gI3skcHJldi1udW19LCB0aGUgdmFsdWUgb2YgdGhlIHByZXZpb3VzIGtleSAnI3skcHJldi1rZXl9JyAhXCI7XG4gICAgfVxuICAgICRwcmV2LWtleTogJGtleTtcbiAgICAkcHJldi1udW06ICRudW07XG4gIH1cbn1cblxuLy8gR2VuZXJhbCB2YXJpYWJsZSBzdHJ1Y3R1cmVcbi8vXG4vLyBWYXJpYWJsZSBmb3JtYXQgc2hvdWxkIGZvbGxvdyB0aGUgYCRjb21wb25lbnQtbW9kaWZpZXItc3RhdGUtcHJvcGVydHlgIG9yZGVyLlxuXG5cbi8vIENvbG9yc1xuLy9cbi8vIEdyYXlzY2FsZSBhbmQgYnJhbmQgY29sb3JzIGZvciB1c2UgYWNyb3NzIEJvb3RzdHJhcC5cblxuJGdyYXktZGFyazogICAgICAgICAgICAgICAgICMzNzNhM2MgIWRlZmF1bHQ7XG4kZ3JheTogICAgICAgICAgICAgICAgICAgICAgIzU1NTk1YyAhZGVmYXVsdDtcbiRncmF5LWxpZ2h0OiAgICAgICAgICAgICAgICAjODE4YTkxICFkZWZhdWx0O1xuJGdyYXktbGlnaHRlcjogICAgICAgICAgICAgICNlY2VlZWYgIWRlZmF1bHQ7XG4kZ3JheS1saWdodGVzdDogICAgICAgICAgICAgI2Y3ZjdmOSAhZGVmYXVsdDtcblxuJGJyYW5kLXByaW1hcnk6ICAgICAgICAgICAgICMwMjc1ZDggIWRlZmF1bHQ7XG4kYnJhbmQtc3VjY2VzczogICAgICAgICAgICAgIzVjYjg1YyAhZGVmYXVsdDtcbiRicmFuZC1pbmZvOiAgICAgICAgICAgICAgICAjNWJjMGRlICFkZWZhdWx0O1xuJGJyYW5kLXdhcm5pbmc6ICAgICAgICAgICAgICNmMGFkNGUgIWRlZmF1bHQ7XG4kYnJhbmQtZGFuZ2VyOiAgICAgICAgICAgICAgI2Q5NTM0ZiAhZGVmYXVsdDtcbiRicmFuZC1pbnZlcnNlOiAgICAgICAgICAgICAkZ3JheS1kYXJrICFkZWZhdWx0O1xuXG5cbi8vIE9wdGlvbnNcbi8vXG4vLyBRdWlja2x5IG1vZGlmeSBnbG9iYWwgc3R5bGluZyBieSBlbmFibGluZyBvciBkaXNhYmxpbmcgb3B0aW9uYWwgZmVhdHVyZXMuXG5cbiRlbmFibGUtZmxleDogICAgICAgICAgICAgICBmYWxzZSAhZGVmYXVsdDtcbiRlbmFibGUtcm91bmRlZDogICAgICAgICAgICB0cnVlICFkZWZhdWx0O1xuJGVuYWJsZS1zaGFkb3dzOiAgICAgICAgICAgIGZhbHNlICFkZWZhdWx0O1xuJGVuYWJsZS1ncmFkaWVudHM6ICAgICAgICAgIGZhbHNlICFkZWZhdWx0O1xuJGVuYWJsZS10cmFuc2l0aW9uczogICAgICAgIGZhbHNlICFkZWZhdWx0O1xuJGVuYWJsZS1ob3Zlci1tZWRpYS1xdWVyeTogIGZhbHNlICFkZWZhdWx0O1xuJGVuYWJsZS1ncmlkLWNsYXNzZXM6ICAgICAgIHRydWUgIWRlZmF1bHQ7XG4kZW5hYmxlLXByaW50LXN0eWxlczogICAgICAgdHJ1ZSAhZGVmYXVsdDtcblxuXG4vLyBTcGFjaW5nXG4vL1xuLy8gQ29udHJvbCB0aGUgZGVmYXVsdCBzdHlsaW5nIG9mIG1vc3QgQm9vdHN0cmFwIGVsZW1lbnRzIGJ5IG1vZGlmeWluZyB0aGVzZVxuLy8gdmFyaWFibGVzLiBNb3N0bHkgZm9jdXNlZCBvbiBzcGFjaW5nLlxuLy8gWW91IGNhbiBhZGQgbW9yZSBlbnRyaWVzIHRvIHRoZSAkc3BhY2VycyBtYXAsIHNob3VsZCB5b3UgbmVlZCBtb3JlIHZhcmlhdGlvbi5cblxuJHNwYWNlcjogICAxcmVtICFkZWZhdWx0O1xuJHNwYWNlci14OiAkc3BhY2VyICFkZWZhdWx0O1xuJHNwYWNlci15OiAkc3BhY2VyICFkZWZhdWx0O1xuJHNwYWNlcnM6IChcbiAgMDogKFxuICAgIHg6IDAsXG4gICAgeTogMFxuICApLFxuICAxOiAoXG4gICAgeDogJHNwYWNlci14LFxuICAgIHk6ICRzcGFjZXIteVxuICApLFxuICAyOiAoXG4gICAgeDogKCRzcGFjZXIteCAqIDEuNSksXG4gICAgeTogKCRzcGFjZXIteSAqIDEuNSlcbiAgKSxcbiAgMzogKFxuICAgIHg6ICgkc3BhY2VyLXggKiAzKSxcbiAgICB5OiAoJHNwYWNlci15ICogMylcbiAgKVxuKSAhZGVmYXVsdDtcbiRib3JkZXItd2lkdGg6IDFweCAhZGVmYXVsdDtcblxuXG4vLyBCb2R5XG4vL1xuLy8gU2V0dGluZ3MgZm9yIHRoZSBgPGJvZHk+YCBlbGVtZW50LlxuXG4kYm9keS1iZzogICAgI2ZmZiAhZGVmYXVsdDtcbiRib2R5LWNvbG9yOiAkZ3JheS1kYXJrICFkZWZhdWx0O1xuXG5cbi8vIExpbmtzXG4vL1xuLy8gU3R5bGUgYW5jaG9yIGVsZW1lbnRzLlxuXG4kbGluay1jb2xvcjogICAgICAgICAgICAkYnJhbmQtcHJpbWFyeSAhZGVmYXVsdDtcbiRsaW5rLWRlY29yYXRpb246ICAgICAgIG5vbmUgIWRlZmF1bHQ7XG4kbGluay1ob3Zlci1jb2xvcjogICAgICBkYXJrZW4oJGxpbmstY29sb3IsIDE1JSkgIWRlZmF1bHQ7XG4kbGluay1ob3Zlci1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgIWRlZmF1bHQ7XG5cblxuLy8gR3JpZCBicmVha3BvaW50c1xuLy9cbi8vIERlZmluZSB0aGUgbWluaW11bSBkaW1lbnNpb25zIGF0IHdoaWNoIHlvdXIgbGF5b3V0IHdpbGwgY2hhbmdlLFxuLy8gYWRhcHRpbmcgdG8gZGlmZmVyZW50IHNjcmVlbiBzaXplcywgZm9yIHVzZSBpbiBtZWRpYSBxdWVyaWVzLlxuXG4kZ3JpZC1icmVha3BvaW50czogKFxuICB4czogMCxcbiAgc206IDU0NHB4LFxuICBtZDogNzY4cHgsXG4gIGxnOiA5OTJweCxcbiAgeGw6IDEyMDBweFxuKSAhZGVmYXVsdDtcbkBpbmNsdWRlIF9hc3NlcnQtYXNjZW5kaW5nKCRncmlkLWJyZWFrcG9pbnRzLCBcIiRncmlkLWJyZWFrcG9pbnRzXCIpO1xuXG5cbi8vIEdyaWQgY29udGFpbmVyc1xuLy9cbi8vIERlZmluZSB0aGUgbWF4aW11bSB3aWR0aCBvZiBgLmNvbnRhaW5lcmAgZm9yIGRpZmZlcmVudCBzY3JlZW4gc2l6ZXMuXG5cbiRjb250YWluZXItbWF4LXdpZHRoczogKFxuICBzbTogNTc2cHgsXG4gIG1kOiA3MjBweCxcbiAgbGc6IDk0MHB4LFxuICB4bDogMTE0MHB4XG4pICFkZWZhdWx0O1xuQGluY2x1ZGUgX2Fzc2VydC1hc2NlbmRpbmcoJGNvbnRhaW5lci1tYXgtd2lkdGhzLCBcIiRjb250YWluZXItbWF4LXdpZHRoc1wiKTtcblxuXG4vLyBHcmlkIGNvbHVtbnNcbi8vXG4vLyBTZXQgdGhlIG51bWJlciBvZiBjb2x1bW5zIGFuZCBzcGVjaWZ5IHRoZSB3aWR0aCBvZiB0aGUgZ3V0dGVycy5cblxuJGdyaWQtY29sdW1uczogICAgICAxMiAhZGVmYXVsdDtcbiRncmlkLWd1dHRlci13aWR0aDogMzBweCAhZGVmYXVsdDtcblxuXG4vLyBUeXBvZ3JhcGh5XG4vL1xuLy8gRm9udCwgbGluZS1oZWlnaHQsIGFuZCBjb2xvciBmb3IgYm9keSB0ZXh0LCBoZWFkaW5ncywgYW5kIG1vcmUuXG5cbiRmb250LWZhbWlseS1zYW5zLXNlcmlmOiAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsIFwiU2Vnb2UgVUlcIiwgUm9ib3RvLCBcIkhlbHZldGljYSBOZXVlXCIsIEFyaWFsLCBzYW5zLXNlcmlmICFkZWZhdWx0O1xuJGZvbnQtZmFtaWx5LXNlcmlmOiAgICAgIEdlb3JnaWEsIFwiVGltZXMgTmV3IFJvbWFuXCIsIFRpbWVzLCBzZXJpZiAhZGVmYXVsdDtcbiRmb250LWZhbWlseS1tb25vc3BhY2U6ICBNZW5sbywgTW9uYWNvLCBDb25zb2xhcywgXCJMaWJlcmF0aW9uIE1vbm9cIiwgXCJDb3VyaWVyIE5ld1wiLCBtb25vc3BhY2UgIWRlZmF1bHQ7XG4kZm9udC1mYW1pbHktYmFzZTogICAgICAgJGZvbnQtZmFtaWx5LXNhbnMtc2VyaWYgIWRlZmF1bHQ7XG5cbi8vIFBpeGVsIHZhbHVlIHVzZWQgdG8gcmVzcG9uc2l2ZWx5IHNjYWxlIGFsbCB0eXBvZ3JhcGh5LiBBcHBsaWVkIHRvIHRoZSBgPGh0bWw+YCBlbGVtZW50LlxuJGZvbnQtc2l6ZS1yb290OiAxNnB4ICFkZWZhdWx0O1xuXG4kZm9udC1zaXplLWJhc2U6IDFyZW0gIWRlZmF1bHQ7XG4kZm9udC1zaXplLWxnOiAgIDEuMjVyZW0gIWRlZmF1bHQ7XG4kZm9udC1zaXplLXNtOiAgIC44NzVyZW0gIWRlZmF1bHQ7XG4kZm9udC1zaXplLXhzOiAgIC43NXJlbSAhZGVmYXVsdDtcblxuJGxpbmUtaGVpZ2h0LWJhc2U6IDEuNSAhZGVmYXVsdDtcblxuJGZvbnQtc2l6ZS1oMTogMi41cmVtICFkZWZhdWx0O1xuJGZvbnQtc2l6ZS1oMjogMnJlbSAhZGVmYXVsdDtcbiRmb250LXNpemUtaDM6IDEuNzVyZW0gIWRlZmF1bHQ7XG4kZm9udC1zaXplLWg0OiAxLjVyZW0gIWRlZmF1bHQ7XG4kZm9udC1zaXplLWg1OiAxLjI1cmVtICFkZWZhdWx0O1xuJGZvbnQtc2l6ZS1oNjogMXJlbSAhZGVmYXVsdDtcblxuJGRpc3BsYXkxLXNpemU6IDZyZW0gIWRlZmF1bHQ7XG4kZGlzcGxheTItc2l6ZTogNS41cmVtICFkZWZhdWx0O1xuJGRpc3BsYXkzLXNpemU6IDQuNXJlbSAhZGVmYXVsdDtcbiRkaXNwbGF5NC1zaXplOiAzLjVyZW0gIWRlZmF1bHQ7XG5cbiRkaXNwbGF5MS13ZWlnaHQ6IDMwMCAhZGVmYXVsdDtcbiRkaXNwbGF5Mi13ZWlnaHQ6IDMwMCAhZGVmYXVsdDtcbiRkaXNwbGF5My13ZWlnaHQ6IDMwMCAhZGVmYXVsdDtcbiRkaXNwbGF5NC13ZWlnaHQ6IDMwMCAhZGVmYXVsdDtcblxuJGhlYWRpbmdzLW1hcmdpbi1ib3R0b206ICgkc3BhY2VyIC8gMikgIWRlZmF1bHQ7XG4kaGVhZGluZ3MtZm9udC1mYW1pbHk6ICAgaW5oZXJpdCAhZGVmYXVsdDtcbiRoZWFkaW5ncy1mb250LXdlaWdodDogICA1MDAgIWRlZmF1bHQ7XG4kaGVhZGluZ3MtbGluZS1oZWlnaHQ6ICAgMS4xICFkZWZhdWx0O1xuJGhlYWRpbmdzLWNvbG9yOiAgICAgICAgIGluaGVyaXQgIWRlZmF1bHQ7XG5cbiRsZWFkLWZvbnQtc2l6ZTogICAxLjI1cmVtICFkZWZhdWx0O1xuJGxlYWQtZm9udC13ZWlnaHQ6IDMwMCAhZGVmYXVsdDtcblxuJHNtYWxsLWZvbnQtc2l6ZTogODAlICFkZWZhdWx0O1xuXG4kdGV4dC1tdXRlZDogJGdyYXktbGlnaHQgIWRlZmF1bHQ7XG5cbiRhYmJyLWJvcmRlci1jb2xvcjogJGdyYXktbGlnaHQgIWRlZmF1bHQ7XG5cbiRibG9ja3F1b3RlLXNtYWxsLWNvbG9yOiAgJGdyYXktbGlnaHQgIWRlZmF1bHQ7XG4kYmxvY2txdW90ZS1mb250LXNpemU6ICAgICgkZm9udC1zaXplLWJhc2UgKiAxLjI1KSAhZGVmYXVsdDtcbiRibG9ja3F1b3RlLWJvcmRlci1jb2xvcjogJGdyYXktbGlnaHRlciAhZGVmYXVsdDtcbiRibG9ja3F1b3RlLWJvcmRlci13aWR0aDogLjI1cmVtICFkZWZhdWx0O1xuXG4kaHItYm9yZGVyLWNvbG9yOiByZ2JhKDAsMCwwLC4xKSAhZGVmYXVsdDtcbiRoci1ib3JkZXItd2lkdGg6ICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG5cbiRtYXJrLXBhZGRpbmc6IC4yZW0gIWRlZmF1bHQ7XG5cbiRkdC1mb250LXdlaWdodDogYm9sZCAhZGVmYXVsdDtcblxuJGtiZC1ib3gtc2hhZG93OiAgICAgICAgIGluc2V0IDAgLS4xcmVtIDAgcmdiYSgwLDAsMCwuMjUpICFkZWZhdWx0O1xuJG5lc3RlZC1rYmQtZm9udC13ZWlnaHQ6IGJvbGQgIWRlZmF1bHQ7XG5cbiRsaXN0LWlubGluZS1wYWRkaW5nOiA1cHggIWRlZmF1bHQ7XG5cblxuLy8gQ29tcG9uZW50c1xuLy9cbi8vIERlZmluZSBjb21tb24gcGFkZGluZyBhbmQgYm9yZGVyIHJhZGl1cyBzaXplcyBhbmQgbW9yZS5cblxuJGxpbmUtaGVpZ2h0LWxnOiAgICAgICAgICg0IC8gMykgIWRlZmF1bHQ7XG4kbGluZS1oZWlnaHQtc206ICAgICAgICAgMS41ICFkZWZhdWx0O1xuXG4kYm9yZGVyLXJhZGl1czogICAgICAgICAgLjI1cmVtICFkZWZhdWx0O1xuJGJvcmRlci1yYWRpdXMtbGc6ICAgICAgIC4zcmVtICFkZWZhdWx0O1xuJGJvcmRlci1yYWRpdXMtc206ICAgICAgIC4ycmVtICFkZWZhdWx0O1xuXG4kY29tcG9uZW50LWFjdGl2ZS1jb2xvcjogI2ZmZiAhZGVmYXVsdDtcbiRjb21wb25lbnQtYWN0aXZlLWJnOiAgICAkYnJhbmQtcHJpbWFyeSAhZGVmYXVsdDtcblxuJGNhcmV0LXdpZHRoOiAgICAgICAgICAgIC4zZW0gIWRlZmF1bHQ7XG4kY2FyZXQtd2lkdGgtbGc6ICAgICAgICAgJGNhcmV0LXdpZHRoICFkZWZhdWx0O1xuXG5cbi8vIFRhYmxlc1xuLy9cbi8vIEN1c3RvbWl6ZXMgdGhlIGAudGFibGVgIGNvbXBvbmVudCB3aXRoIGJhc2ljIHZhbHVlcywgZWFjaCB1c2VkIGFjcm9zcyBhbGwgdGFibGUgdmFyaWF0aW9ucy5cblxuJHRhYmxlLWNlbGwtcGFkZGluZzogICAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kdGFibGUtc20tY2VsbC1wYWRkaW5nOiAgICAgICAgIC4zcmVtICFkZWZhdWx0O1xuXG4kdGFibGUtYmc6ICAgICAgICAgICAgICAgICAgICAgIHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJHRhYmxlLWJnLWFjY2VudDogICAgICAgICAgICAgICByZ2JhKDAsMCwwLC4wNSkgIWRlZmF1bHQ7XG4kdGFibGUtYmctaG92ZXI6ICAgICAgICAgICAgICAgIHJnYmEoMCwwLDAsLjA3NSkgIWRlZmF1bHQ7XG4kdGFibGUtYmctYWN0aXZlOiAgICAgICAgICAgICAgICR0YWJsZS1iZy1ob3ZlciAhZGVmYXVsdDtcblxuJHRhYmxlLWJvcmRlci13aWR0aDogICAgICAgICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJHRhYmxlLWJvcmRlci1jb2xvcjogICAgICAgICAgICAkZ3JheS1saWdodGVyICFkZWZhdWx0O1xuXG5cbi8vIEJ1dHRvbnNcbi8vXG4vLyBGb3IgZWFjaCBvZiBCb290c3RyYXAncyBidXR0b25zLCBkZWZpbmUgdGV4dCwgYmFja2dyb3VuZCBhbmQgYm9yZGVyIGNvbG9yLlxuXG4kYnRuLXBhZGRpbmcteDogICAgICAgICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuJGJ0bi1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kYnRuLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAgICAxLjI1ICFkZWZhdWx0O1xuJGJ0bi1mb250LXdlaWdodDogICAgICAgICAgICAgICAgbm9ybWFsICFkZWZhdWx0O1xuJGJ0bi1ib3gtc2hhZG93OiAgICAgICAgICAgICAgICAgaW5zZXQgMCAxcHggMCByZ2JhKDI1NSwyNTUsMjU1LC4xNSksIDAgMXB4IDFweCByZ2JhKDAsMCwwLC4wNzUpICFkZWZhdWx0O1xuJGJ0bi1hY3RpdmUtYm94LXNoYWRvdzogICAgICAgICAgaW5zZXQgMCAzcHggNXB4IHJnYmEoMCwwLDAsLjEyNSkgIWRlZmF1bHQ7XG5cbiRidG4tcHJpbWFyeS1jb2xvcjogICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4kYnRuLXByaW1hcnktYmc6ICAgICAgICAgICAgICAgICAkYnJhbmQtcHJpbWFyeSAhZGVmYXVsdDtcbiRidG4tcHJpbWFyeS1ib3JkZXI6ICAgICAgICAgICAgICRidG4tcHJpbWFyeS1iZyAhZGVmYXVsdDtcblxuJGJ0bi1zZWNvbmRhcnktY29sb3I6ICAgICAgICAgICAgJGdyYXktZGFyayAhZGVmYXVsdDtcbiRidG4tc2Vjb25kYXJ5LWJnOiAgICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4kYnRuLXNlY29uZGFyeS1ib3JkZXI6ICAgICAgICAgICAjY2NjICFkZWZhdWx0O1xuXG4kYnRuLWluZm8tY29sb3I6ICAgICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuJGJ0bi1pbmZvLWJnOiAgICAgICAgICAgICAgICAgICAgJGJyYW5kLWluZm8gIWRlZmF1bHQ7XG4kYnRuLWluZm8tYm9yZGVyOiAgICAgICAgICAgICAgICAkYnRuLWluZm8tYmcgIWRlZmF1bHQ7XG5cbiRidG4tc3VjY2Vzcy1jb2xvcjogICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4kYnRuLXN1Y2Nlc3MtYmc6ICAgICAgICAgICAgICAgICAkYnJhbmQtc3VjY2VzcyAhZGVmYXVsdDtcbiRidG4tc3VjY2Vzcy1ib3JkZXI6ICAgICAgICAgICAgICRidG4tc3VjY2Vzcy1iZyAhZGVmYXVsdDtcblxuJGJ0bi13YXJuaW5nLWNvbG9yOiAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbiRidG4td2FybmluZy1iZzogICAgICAgICAgICAgICAgICRicmFuZC13YXJuaW5nICFkZWZhdWx0O1xuJGJ0bi13YXJuaW5nLWJvcmRlcjogICAgICAgICAgICAgJGJ0bi13YXJuaW5nLWJnICFkZWZhdWx0O1xuXG4kYnRuLWRhbmdlci1jb2xvcjogICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuJGJ0bi1kYW5nZXItYmc6ICAgICAgICAgICAgICAgICAgJGJyYW5kLWRhbmdlciAhZGVmYXVsdDtcbiRidG4tZGFuZ2VyLWJvcmRlcjogICAgICAgICAgICAgICRidG4tZGFuZ2VyLWJnICFkZWZhdWx0O1xuXG4kYnRuLWxpbmstZGlzYWJsZWQtY29sb3I6ICAgICAgICAkZ3JheS1saWdodCAhZGVmYXVsdDtcblxuJGJ0bi1wYWRkaW5nLXgtc206ICAgICAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kYnRuLXBhZGRpbmcteS1zbTogICAgICAgICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XG5cbiRidG4tcGFkZGluZy14LWxnOiAgICAgICAgICAgICAgIDEuNXJlbSAhZGVmYXVsdDtcbiRidG4tcGFkZGluZy15LWxnOiAgICAgICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcblxuJGJ0bi1ibG9jay1zcGFjaW5nLXk6ICAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kYnRuLXRvb2xiYXItbWFyZ2luOiAgICAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcblxuLy8gQWxsb3dzIGZvciBjdXN0b21pemluZyBidXR0b24gcmFkaXVzIGluZGVwZW5kZW50bHkgZnJvbSBnbG9iYWwgYm9yZGVyIHJhZGl1c1xuJGJ0bi1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kYnRuLWJvcmRlci1yYWRpdXMtbGc6ICAgICAgICAgICAkYm9yZGVyLXJhZGl1cy1sZyAhZGVmYXVsdDtcbiRidG4tYm9yZGVyLXJhZGl1cy1zbTogICAgICAgICAgICRib3JkZXItcmFkaXVzLXNtICFkZWZhdWx0O1xuXG5cbi8vIEZvcm1zXG5cbiRpbnB1dC1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiRpbnB1dC1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJGlucHV0LWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAgMS4yNSAhZGVmYXVsdDtcblxuJGlucHV0LWJnOiAgICAgICAgICAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbiRpbnB1dC1iZy1kaXNhYmxlZDogICAgICAgICAgICAgICRncmF5LWxpZ2h0ZXIgIWRlZmF1bHQ7XG5cbiRpbnB1dC1jb2xvcjogICAgICAgICAgICAgICAgICAgICRncmF5ICFkZWZhdWx0O1xuJGlucHV0LWJvcmRlci1jb2xvcjogICAgICAgICAgICAgcmdiYSgwLDAsMCwuMTUpICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1ib3JkZXItd2lkdGg6ICAgICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDsgLy8gRm9yIGZvcm0gY29udHJvbHMgYW5kIGJ1dHRvbnNcbiRpbnB1dC1ib3gtc2hhZG93OiAgICAgICAgICAgICAgIGluc2V0IDAgMXB4IDFweCByZ2JhKDAsMCwwLC4wNzUpICFkZWZhdWx0O1xuXG4kaW5wdXQtYm9yZGVyLXJhZGl1czogICAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRpbnB1dC1ib3JkZXItcmFkaXVzLWxnOiAgICAgICAgICRib3JkZXItcmFkaXVzLWxnICFkZWZhdWx0O1xuJGlucHV0LWJvcmRlci1yYWRpdXMtc206ICAgICAgICAgJGJvcmRlci1yYWRpdXMtc20gIWRlZmF1bHQ7XG5cbiRpbnB1dC1iZy1mb2N1czogICAgICAgICAgICAgICAgICRpbnB1dC1iZztcbiRpbnB1dC1ib3JkZXItZm9jdXM6ICAgICAgICAgICAgICM2NmFmZTkgIWRlZmF1bHQ7XG4kaW5wdXQtYm94LXNoYWRvdy1mb2N1czogICAgICAgICByZ2JhKDEwMiwxNzUsMjMzLC42KSAhZGVmYXVsdDtcbiRpbnB1dC1jb2xvci1mb2N1czogICAgICAgICAgICAgICRpbnB1dC1jb2xvcjtcblxuJGlucHV0LWNvbG9yLXBsYWNlaG9sZGVyOiAgICAgICAgIzk5OSAhZGVmYXVsdDtcblxuJGlucHV0LXBhZGRpbmcteC1zbTogICAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kaW5wdXQtcGFkZGluZy15LXNtOiAgICAgICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XG5cbiRpbnB1dC1wYWRkaW5nLXgtbGc6ICAgICAgICAgICAgIDEuNXJlbSAhZGVmYXVsdDtcbiRpbnB1dC1wYWRkaW5nLXktbGc6ICAgICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcblxuJGlucHV0LWhlaWdodDogICAgICAgICAgICAgICAgICAgKCgkZm9udC1zaXplLWJhc2UgKiAkbGluZS1oZWlnaHQtYmFzZSkgKyAoJGlucHV0LXBhZGRpbmcteSAqIDIpKSAhZGVmYXVsdDtcbiRpbnB1dC1oZWlnaHQtbGc6ICAgICAgICAgICAgICAgICgoJGZvbnQtc2l6ZS1sZyAqICRsaW5lLWhlaWdodC1sZykgKyAoJGlucHV0LXBhZGRpbmcteS1sZyAqIDIpKSAhZGVmYXVsdDtcbiRpbnB1dC1oZWlnaHQtc206ICAgICAgICAgICAgICAgICgoJGZvbnQtc2l6ZS1zbSAqICRsaW5lLWhlaWdodC1zbSkgKyAoJGlucHV0LXBhZGRpbmcteS1zbSAqIDIpKSAhZGVmYXVsdDtcblxuJGZvcm0tZ3JvdXAtbWFyZ2luLWJvdHRvbTogICAgICAgJHNwYWNlci15ICFkZWZhdWx0O1xuXG4kaW5wdXQtZ3JvdXAtYWRkb24tYmc6ICAgICAgICAgICAkZ3JheS1saWdodGVyICFkZWZhdWx0O1xuJGlucHV0LWdyb3VwLWFkZG9uLWJvcmRlci1jb2xvcjogJGlucHV0LWJvcmRlci1jb2xvciAhZGVmYXVsdDtcblxuJGN1cnNvci1kaXNhYmxlZDogICAgICAgICAgICAgICAgbm90LWFsbG93ZWQgIWRlZmF1bHQ7XG5cbiRjdXN0b20tY29udHJvbC1ndXR0ZXI6ICAgMS41cmVtICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLXNwYWNlci14OiAxcmVtICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLXNwYWNlci15OiAuMjVyZW0gIWRlZmF1bHQ7XG5cbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3Itc2l6ZTogICAgICAgMXJlbSAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYmc6ICAgICAgICAgI2RkZCAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYmctc2l6ZTogICAgNTAlIDUwJSAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYm94LXNoYWRvdzogaW5zZXQgMCAuMjVyZW0gLjI1cmVtIHJnYmEoMCwwLDAsLjEpICFkZWZhdWx0O1xuXG4kY3VzdG9tLWNvbnRyb2wtZGlzYWJsZWQtY3Vyc29yOiAgICAgICAgICAgICAkY3Vyc29yLWRpc2FibGVkICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLWRpc2FibGVkLWluZGljYXRvci1iZzogICAgICAgI2VlZSAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1kaXNhYmxlZC1kZXNjcmlwdGlvbi1jb2xvcjogICM3Njc2NzYgIWRlZmF1bHQ7XG5cbiRjdXN0b20tY29udHJvbC1jaGVja2VkLWluZGljYXRvci1jb2xvcjogICAgICAjZmZmICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLWNoZWNrZWQtaW5kaWNhdG9yLWJnOiAgICAgICAgICMwMDc0ZDkgIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtY2hlY2tlZC1pbmRpY2F0b3ItYm94LXNoYWRvdzogbm9uZSAhZGVmYXVsdDtcblxuJGN1c3RvbS1jb250cm9sLWZvY3VzLWluZGljYXRvci1ib3gtc2hhZG93OiAwIDAgMCAuMDc1cmVtICNmZmYsIDAgMCAwIC4ycmVtICMwMDc0ZDkgIWRlZmF1bHQ7XG5cbiRjdXN0b20tY29udHJvbC1hY3RpdmUtaW5kaWNhdG9yLWNvbG9yOiAgICAgICNmZmYgIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtYWN0aXZlLWluZGljYXRvci1iZzogICAgICAgICAjODRjNmZmICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLWFjdGl2ZS1pbmRpY2F0b3ItYm94LXNoYWRvdzogbm9uZSAhZGVmYXVsdDtcblxuJGN1c3RvbS1jaGVja2JveC1yYWRpdXM6ICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJGN1c3RvbS1jaGVja2JveC1jaGVja2VkLWljb246IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0ZjgsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDggOCclM0UlM0NwYXRoIGZpbGw9JyUyM2ZmZicgZD0nTTYuNTY0Ljc1bC0zLjU5IDMuNjEyLTEuNTM4LTEuNTVMMCA0LjI2IDIuOTc0IDcuMjUgOCAyLjE5M3onLyUzRSUzQy9zdmclM0VcIikgIWRlZmF1bHQ7XG4kY3VzdG9tLWNoZWNrYm94LWluZGV0ZXJtaW5hdGUtYmc6ICMwMDc0ZDkgIWRlZmF1bHQ7XG4kY3VzdG9tLWNoZWNrYm94LWluZGV0ZXJtaW5hdGUtaWNvbjogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmOCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgNCA0JyUzRSUzQ3BhdGggc3Ryb2tlPSclMjNmZmYnIGQ9J00wIDJoNCcvJTNFJTNDL3N2ZyUzRVwiKSAhZGVmYXVsdDtcbiRjdXN0b20tY2hlY2tib3gtaW5kZXRlcm1pbmF0ZS1ib3gtc2hhZG93OiBub25lICFkZWZhdWx0O1xuXG4kY3VzdG9tLXJhZGlvLXJhZGl1czogNTAlICFkZWZhdWx0O1xuJGN1c3RvbS1yYWRpby1jaGVja2VkLWljb246IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0ZjgsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nLTQgLTQgOCA4JyUzRSUzQ2NpcmNsZSByPSczJyBmaWxsPSclMjNmZmYnLyUzRSUzQy9zdmclM0VcIikgIWRlZmF1bHQ7XG5cbiRjdXN0b20tc2VsZWN0LXBhZGRpbmcteDogICAgICAgICAgLjc1cmVtICAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LXBhZGRpbmcteTogICAgICAgICAgLjM3NXJlbSAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWluZGljYXRvci1wYWRkaW5nOiAgMXJlbSAhZGVmYXVsdDsgLy8gRXh0cmEgcGFkZGluZyB0byBhY2NvdW50IGZvciB0aGUgcHJlc2VuY2Ugb2YgdGhlIGJhY2tncm91bmQtaW1hZ2UgYmFzZWQgaW5kaWNhdG9yXG4kY3VzdG9tLXNlbGVjdC1jb2xvcjogICAgICAgICAgJGlucHV0LWNvbG9yICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtZGlzYWJsZWQtY29sb3I6ICRncmF5LWxpZ2h0ICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtYmc6ICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWRpc2FibGVkLWJnOiAgICRncmF5LWxpZ2h0ZXIgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1iZy1zaXplOiAgICAgICA4cHggMTBweCAhZGVmYXVsdDsgLy8gSW4gcGl4ZWxzIGJlY2F1c2UgaW1hZ2UgZGltZW5zaW9uc1xuJGN1c3RvbS1zZWxlY3QtaW5kaWNhdG9yOiAgICAgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmOCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgNCA1JyUzRSUzQ3BhdGggZmlsbD0nJTIzMzMzJyBkPSdNMiAwTDAgMmg0em0wIDVMMCAzaDR6Jy8lM0UlM0Mvc3ZnJTNFXCIpICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtYm9yZGVyLXdpZHRoOiAgJGlucHV0LWJ0bi1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1ib3JkZXItY29sb3I6ICAkaW5wdXQtYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG5cbiRjdXN0b20tc2VsZWN0LWZvY3VzLWJvcmRlci1jb2xvcjogIzUxYTdlOCAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWZvY3VzLWJveC1zaGFkb3c6ICAgaW5zZXQgMCAxcHggMnB4IHJnYmEoMCwgMCwgMCwgLjA3NSksIDAgMCA1cHggcmdiYSg4MSwgMTY3LCAyMzIsIC41KSAhZGVmYXVsdDtcblxuJGN1c3RvbS1zZWxlY3Qtc20tcGFkZGluZy15OiAuMnJlbSAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LXNtLWZvbnQtc2l6ZTogNzUlICFkZWZhdWx0O1xuXG4kY3VzdG9tLWZpbGUtaGVpZ2h0OiAgICAgICAgICAgMi41cmVtICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLXdpZHRoOiAgICAgICAgICAgIDE0cmVtICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWZvY3VzLWJveC1zaGFkb3c6IDAgMCAwIC4wNzVyZW0gI2ZmZiwgMCAwIDAgLjJyZW0gIzAwNzRkOSAhZGVmYXVsdDtcblxuJGN1c3RvbS1maWxlLXBhZGRpbmcteDogICAgIC41cmVtICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLXBhZGRpbmcteTogICAgIDFyZW0gIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtbGluZS1oZWlnaHQ6ICAgMS41ICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWNvbG9yOiAgICAgICAgICM1NTUgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtYmc6ICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1ib3JkZXItd2lkdGg6ICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWJvcmRlci1jb2xvcjogICNkZGQgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtYm94LXNoYWRvdzogICAgaW5zZXQgMCAuMnJlbSAuNHJlbSByZ2JhKDAsMCwwLC4wNSkgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtYnV0dG9uLWNvbG9yOiAgJGN1c3RvbS1maWxlLWNvbG9yICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWJ1dHRvbi1iZzogICAgICNlZWUgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtdGV4dDogKFxuICBwbGFjZWhvbGRlcjogKFxuICAgIGVuOiBcIkNob29zZSBmaWxlLi4uXCJcbiAgKSxcbiAgYnV0dG9uLWxhYmVsOiAoXG4gICAgZW46IFwiQnJvd3NlXCJcbiAgKVxuKSAhZGVmYXVsdDtcblxuXG4vLyBGb3JtIHZhbGlkYXRpb24gaWNvbnNcbiRmb3JtLWljb24tc3VjY2VzczogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmOCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgOCA4JyUzRSUzQ3BhdGggZmlsbD0nJTIzNWNiODVjJyBkPSdNMi4zIDYuNzNMLjYgNC41M2MtLjQtMS4wNC40Ni0xLjQgMS4xLS44bDEuMSAxLjQgMy40LTMuOGMuNi0uNjMgMS42LS4yNyAxLjIuN2wtNCA0LjZjLS40My41LS44LjQtMS4xLjF6Jy8lM0UlM0Mvc3ZnJTNFXCIpICFkZWZhdWx0O1xuJGZvcm0taWNvbi13YXJuaW5nOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGY4LCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCA4IDgnJTNFJTNDcGF0aCBmaWxsPSclMjNmMGFkNGUnIGQ9J000LjQgNS4zMjRoLS44di0yLjQ2aC44em0wIDEuNDJoLS44VjUuODloLjh6TTMuNzYuNjNMLjA0IDcuMDc1Yy0uMTE1LjIuMDE2LjQyNS4yNi40MjZoNy4zOTdjLjI0MiAwIC4zNzItLjIyNi4yNTgtLjQyNkM2LjcyNiA0LjkyNCA1LjQ3IDIuNzkgNC4yNTMuNjNjLS4xMTMtLjE3NC0uMzktLjE3NC0uNDk0IDB6Jy8lM0UlM0Mvc3ZnJTNFXCIpICFkZWZhdWx0O1xuJGZvcm0taWNvbi1kYW5nZXI6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0ZjgsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycgZmlsbD0nJTIzZDk1MzRmJyB2aWV3Qm94PSctMiAtMiA3IDcnJTNFJTNDcGF0aCBzdHJva2U9JyUyM2Q5NTM0ZicgZD0nTTAgMGwzIDNtMC0zTDAgMycvJTNFJTNDY2lyY2xlIHI9Jy41Jy8lM0UlM0NjaXJjbGUgY3g9JzMnIHI9Jy41Jy8lM0UlM0NjaXJjbGUgY3k9JzMnIHI9Jy41Jy8lM0UlM0NjaXJjbGUgY3g9JzMnIGN5PSczJyByPScuNScvJTNFJTNDL3N2ZyUzRVwiKSAhZGVmYXVsdDtcblxuXG4vLyBEcm9wZG93bnNcbi8vXG4vLyBEcm9wZG93biBtZW51IGNvbnRhaW5lciBhbmQgY29udGVudHMuXG5cbiRkcm9wZG93bi1taW4td2lkdGg6ICAgICAgICAgICAgIDE2MHB4ICFkZWZhdWx0O1xuJGRyb3Bkb3duLXBhZGRpbmcteTogICAgICAgICAgICAgNXB4ICFkZWZhdWx0O1xuJGRyb3Bkb3duLW1hcmdpbi10b3A6ICAgICAgICAgICAgMnB4ICFkZWZhdWx0O1xuJGRyb3Bkb3duLWJnOiAgICAgICAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbiRkcm9wZG93bi1ib3JkZXItY29sb3I6ICAgICAgICAgIHJnYmEoMCwwLDAsLjE1KSAhZGVmYXVsdDtcbiRkcm9wZG93bi1ib3JkZXItd2lkdGg6ICAgICAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kZHJvcGRvd24tZGl2aWRlci1iZzogICAgICAgICAgICAjZTVlNWU1ICFkZWZhdWx0O1xuJGRyb3Bkb3duLWJveC1zaGFkb3c6ICAgICAgICAgICAgMCA2cHggMTJweCByZ2JhKDAsMCwwLC4xNzUpICFkZWZhdWx0O1xuXG4kZHJvcGRvd24tbGluay1jb2xvcjogICAgICAgICAgICAkZ3JheS1kYXJrICFkZWZhdWx0O1xuJGRyb3Bkb3duLWxpbmstaG92ZXItY29sb3I6ICAgICAgZGFya2VuKCRncmF5LWRhcmssIDUlKSAhZGVmYXVsdDtcbiRkcm9wZG93bi1saW5rLWhvdmVyLWJnOiAgICAgICAgICNmNWY1ZjUgIWRlZmF1bHQ7XG5cbiRkcm9wZG93bi1saW5rLWFjdGl2ZS1jb2xvcjogICAgICRjb21wb25lbnQtYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuJGRyb3Bkb3duLWxpbmstYWN0aXZlLWJnOiAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG5cbiRkcm9wZG93bi1saW5rLWRpc2FibGVkLWNvbG9yOiAgICRncmF5LWxpZ2h0ICFkZWZhdWx0O1xuXG4kZHJvcGRvd24taXRlbS1wYWRkaW5nLXg6ICAgICAgICAyMHB4ICFkZWZhdWx0O1xuXG4kZHJvcGRvd24taGVhZGVyLWNvbG9yOiAgICAgICAgICAkZ3JheS1saWdodCAhZGVmYXVsdDtcblxuXG4vLyBaLWluZGV4IG1hc3RlciBsaXN0XG4vL1xuLy8gV2FybmluZzogQXZvaWQgY3VzdG9taXppbmcgdGhlc2UgdmFsdWVzLiBUaGV5J3JlIHVzZWQgZm9yIGEgYmlyZCdzIGV5ZSB2aWV3XG4vLyBvZiBjb21wb25lbnRzIGRlcGVuZGVudCBvbiB0aGUgei1heGlzIGFuZCBhcmUgZGVzaWduZWQgdG8gYWxsIHdvcmsgdG9nZXRoZXIuXG5cbiR6aW5kZXgtZHJvcGRvd24tYmFja2Ryb3A6ICA5OTAgIWRlZmF1bHQ7XG4kemluZGV4LW5hdmJhcjogICAgICAgICAgICAxMDAwICFkZWZhdWx0O1xuJHppbmRleC1kcm9wZG93bjogICAgICAgICAgMTAwMCAhZGVmYXVsdDtcbiR6aW5kZXgtcG9wb3ZlcjogICAgICAgICAgIDEwNjAgIWRlZmF1bHQ7XG4kemluZGV4LXRvb2x0aXA6ICAgICAgICAgICAxMDcwICFkZWZhdWx0O1xuJHppbmRleC1uYXZiYXItZml4ZWQ6ICAgICAgMTAzMCAhZGVmYXVsdDtcbiR6aW5kZXgtbmF2YmFyLXN0aWNreTogICAgIDEwMzAgIWRlZmF1bHQ7XG4kemluZGV4LW1vZGFsLWJnOiAgICAgICAgICAxMDQwICFkZWZhdWx0O1xuJHppbmRleC1tb2RhbDogICAgICAgICAgICAgMTA1MCAhZGVmYXVsdDtcblxuXG4vLyBOYXZiYXJcblxuJG5hdmJhci1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kbmF2YmFyLXBhZGRpbmcteDogICAgICAgICAgICAgICAgICAkc3BhY2VyICFkZWZhdWx0O1xuJG5hdmJhci1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgICAgKCRzcGFjZXIgLyAyKSAhZGVmYXVsdDtcbiRuYXZiYXItYnJhbmQtcGFkZGluZy15OiAgICAgICAgICAgIC4yNXJlbSAhZGVmYXVsdDtcblxuJG5hdmJhci1kYXJrLWNvbG9yOiAgICAgICAgICAgICAgICAgcmdiYSgyNTUsMjU1LDI1NSwuNSkgIWRlZmF1bHQ7XG4kbmF2YmFyLWRhcmstaG92ZXItY29sb3I6ICAgICAgICAgICByZ2JhKDI1NSwyNTUsMjU1LC43NSkgIWRlZmF1bHQ7XG4kbmF2YmFyLWRhcmstYWN0aXZlLWNvbG9yOiAgICAgICAgICByZ2JhKDI1NSwyNTUsMjU1LDEpICFkZWZhdWx0O1xuJG5hdmJhci1kYXJrLWRpc2FibGVkLWNvbG9yOiAgICAgICAgcmdiYSgyNTUsMjU1LDI1NSwuMjUpICFkZWZhdWx0O1xuXG4kbmF2YmFyLWxpZ2h0LWNvbG9yOiAgICAgICAgICAgICAgICByZ2JhKDAsMCwwLC4zKSAhZGVmYXVsdDtcbiRuYXZiYXItbGlnaHQtaG92ZXItY29sb3I6ICAgICAgICAgIHJnYmEoMCwwLDAsLjYpICFkZWZhdWx0O1xuJG5hdmJhci1saWdodC1hY3RpdmUtY29sb3I6ICAgICAgICAgcmdiYSgwLDAsMCwuOCkgIWRlZmF1bHQ7XG4kbmF2YmFyLWxpZ2h0LWRpc2FibGVkLWNvbG9yOiAgICAgICByZ2JhKDAsMCwwLC4xNSkgIWRlZmF1bHQ7XG5cblxuLy8gTmF2c1xuXG4kbmF2LWl0ZW0tbWFyZ2luOiAgICAgICAgICAgICAgIC4ycmVtICFkZWZhdWx0O1xuJG5hdi1pdGVtLWlubGluZS1zcGFjZXI6ICAgICAgICAxcmVtICFkZWZhdWx0O1xuJG5hdi1saW5rLXBhZGRpbmc6ICAgICAgICAgICAgICAuNWVtIDFlbSAhZGVmYXVsdDtcbiRuYXYtbGluay1ob3Zlci1iZzogICAgICAgICAgICAgJGdyYXktbGlnaHRlciAhZGVmYXVsdDtcbiRuYXYtZGlzYWJsZWQtbGluay1jb2xvcjogICAgICAgJGdyYXktbGlnaHQgIWRlZmF1bHQ7XG4kbmF2LWRpc2FibGVkLWxpbmstaG92ZXItY29sb3I6ICRncmF5LWxpZ2h0ICFkZWZhdWx0O1xuJG5hdi1kaXNhYmxlZC1saW5rLWhvdmVyLWJnOiAgICB0cmFuc3BhcmVudCAhZGVmYXVsdDtcblxuJG5hdi10YWJzLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICNkZGQgIWRlZmF1bHQ7XG4kbmF2LXRhYnMtYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRuYXYtdGFicy1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRuYXYtdGFicy1saW5rLWhvdmVyLWJvcmRlci1jb2xvcjogICAgICAgICAgICAkZ3JheS1saWdodGVyICFkZWZhdWx0O1xuJG5hdi10YWJzLWFjdGl2ZS1saW5rLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICRncmF5ICFkZWZhdWx0O1xuJG5hdi10YWJzLWFjdGl2ZS1saW5rLWhvdmVyLWJnOiAgICAgICAgICAgICAgICRib2R5LWJnICFkZWZhdWx0O1xuJG5hdi10YWJzLWFjdGl2ZS1saW5rLWhvdmVyLWJvcmRlci1jb2xvcjogICAgICNkZGQgIWRlZmF1bHQ7XG4kbmF2LXRhYnMtanVzdGlmaWVkLWxpbmstYm9yZGVyLWNvbG9yOiAgICAgICAgI2RkZCAhZGVmYXVsdDtcbiRuYXYtdGFicy1qdXN0aWZpZWQtYWN0aXZlLWxpbmstYm9yZGVyLWNvbG9yOiAkYm9keS1iZyAhZGVmYXVsdDtcblxuJG5hdi1waWxscy1ib3JkZXItcmFkaXVzOiAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kbmF2LXBpbGxzLWFjdGl2ZS1saW5rLWNvbG9yOiAkY29tcG9uZW50LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbiRuYXYtcGlsbHMtYWN0aXZlLWxpbmstYmc6ICAgICRjb21wb25lbnQtYWN0aXZlLWJnICFkZWZhdWx0O1xuXG5cbi8vIFBhZ2luYXRpb25cblxuJHBhZ2luYXRpb24tcGFkZGluZy14OiAgICAgICAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tcGFkZGluZy14LXNtOiAgICAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1wYWRkaW5nLXktc206ICAgICAgICAgICAgIC4yNzVyZW0gIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1wYWRkaW5nLXgtbGc6ICAgICAgICAgICAgIDEuNXJlbSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLXBhZGRpbmcteS1sZzogICAgICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuXG5cbiRwYWdpbmF0aW9uLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICRsaW5rLWNvbG9yICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tYmc6ICAgICAgICAgICAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWJvcmRlci13aWR0aDogICAgICAgICAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICAjZGRkICFkZWZhdWx0O1xuXG4kcGFnaW5hdGlvbi1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAkbGluay1ob3Zlci1jb2xvciAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWhvdmVyLWJnOiAgICAgICAgICAgICAgICAgICRncmF5LWxpZ2h0ZXIgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1ob3Zlci1ib3JkZXI6ICAgICAgICAgICAgICAjZGRkICFkZWZhdWx0O1xuXG4kcGFnaW5hdGlvbi1hY3RpdmUtY29sb3I6ICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tYWN0aXZlLWJnOiAgICAgICAgICAgICAgICAgJGJyYW5kLXByaW1hcnkgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1hY3RpdmUtYm9yZGVyOiAgICAgICAgICAgICAkYnJhbmQtcHJpbWFyeSAhZGVmYXVsdDtcblxuJHBhZ2luYXRpb24tZGlzYWJsZWQtY29sb3I6ICAgICAgICAgICAgJGdyYXktbGlnaHQgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1kaXNhYmxlZC1iZzogICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tZGlzYWJsZWQtYm9yZGVyOiAgICAgICAgICAgI2RkZCAhZGVmYXVsdDtcblxuXG4vLyBKdW1ib3Ryb25cblxuJGp1bWJvdHJvbi1wYWRkaW5nOiAgICAgICAgICAgICAgMnJlbSAhZGVmYXVsdDtcbiRqdW1ib3Ryb24tYmc6ICAgICAgICAgICAgICAgICAgICRncmF5LWxpZ2h0ZXIgIWRlZmF1bHQ7XG5cblxuLy8gRm9ybSBzdGF0ZXMgYW5kIGFsZXJ0c1xuLy9cbi8vIERlZmluZSBjb2xvcnMgZm9yIGZvcm0gZmVlZGJhY2sgc3RhdGVzIGFuZCwgYnkgZGVmYXVsdCwgYWxlcnRzLlxuXG4kc3RhdGUtc3VjY2Vzcy10ZXh0OiAgICAgICAgICAgICAjM2M3NjNkICFkZWZhdWx0O1xuJHN0YXRlLXN1Y2Nlc3MtYmc6ICAgICAgICAgICAgICAgI2RmZjBkOCAhZGVmYXVsdDtcbiRzdGF0ZS1zdWNjZXNzLWJvcmRlcjogICAgICAgICAgIGRhcmtlbigkc3RhdGUtc3VjY2Vzcy1iZywgNSUpICFkZWZhdWx0O1xuXG4kc3RhdGUtaW5mby10ZXh0OiAgICAgICAgICAgICAgICAjMzE3MDhmICFkZWZhdWx0O1xuJHN0YXRlLWluZm8tYmc6ICAgICAgICAgICAgICAgICAgI2Q5ZWRmNyAhZGVmYXVsdDtcbiRzdGF0ZS1pbmZvLWJvcmRlcjogICAgICAgICAgICAgIGRhcmtlbigkc3RhdGUtaW5mby1iZywgNyUpICFkZWZhdWx0O1xuXG4kc3RhdGUtd2FybmluZy10ZXh0OiAgICAgICAgICAgICAjOGE2ZDNiICFkZWZhdWx0O1xuJHN0YXRlLXdhcm5pbmctYmc6ICAgICAgICAgICAgICAgI2ZjZjhlMyAhZGVmYXVsdDtcbiRtYXJrLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICRzdGF0ZS13YXJuaW5nLWJnICFkZWZhdWx0O1xuJHN0YXRlLXdhcm5pbmctYm9yZGVyOiAgICAgICAgICAgZGFya2VuKCRzdGF0ZS13YXJuaW5nLWJnLCA1JSkgIWRlZmF1bHQ7XG5cbiRzdGF0ZS1kYW5nZXItdGV4dDogICAgICAgICAgICAgICNhOTQ0NDIgIWRlZmF1bHQ7XG4kc3RhdGUtZGFuZ2VyLWJnOiAgICAgICAgICAgICAgICAjZjJkZWRlICFkZWZhdWx0O1xuJHN0YXRlLWRhbmdlci1ib3JkZXI6ICAgICAgICAgICAgZGFya2VuKCRzdGF0ZS1kYW5nZXItYmcsIDUlKSAhZGVmYXVsdDtcblxuXG4vLyBDYXJkc1xuJGNhcmQtc3BhY2VyLXg6ICAgICAgICAgICAgMS4yNXJlbSAhZGVmYXVsdDtcbiRjYXJkLXNwYWNlci15OiAgICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiRjYXJkLWJvcmRlci13aWR0aDogICAgICAgIDFweCAhZGVmYXVsdDtcbiRjYXJkLWJvcmRlci1yYWRpdXM6ICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJGNhcmQtYm9yZGVyLWNvbG9yOiAgICAgICAgcmdiYSgwLDAsMCwuMTI1KSAhZGVmYXVsdDtcbiRjYXJkLWJvcmRlci1yYWRpdXMtaW5uZXI6ICRjYXJkLWJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kY2FyZC1jYXAtYmc6ICAgICAgICAgICAgICAjZjVmNWY1ICFkZWZhdWx0O1xuJGNhcmQtYmc6ICAgICAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcblxuJGNhcmQtbGluay1ob3Zlci1jb2xvcjogICAgI2ZmZiAhZGVmYXVsdDtcblxuJGNhcmQtaW1nLW92ZXJsYXktcGFkZGluZzogMS4yNXJlbSAhZGVmYXVsdDtcblxuJGNhcmQtZGVjay1tYXJnaW46ICAgICAgICAgLjYyNXJlbSAhZGVmYXVsdDtcblxuJGNhcmQtY29sdW1ucy1zbS11cC1jb2x1bW4tZ2FwOiAxLjI1cmVtICFkZWZhdWx0O1xuXG5cbi8vIFRvb2x0aXBzXG5cbiR0b29sdGlwLW1heC13aWR0aDogICAgICAgICAgIDIwMHB4ICFkZWZhdWx0O1xuJHRvb2x0aXAtY29sb3I6ICAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbiR0b29sdGlwLWJnOiAgICAgICAgICAgICAgICAgICMwMDAgIWRlZmF1bHQ7XG4kdG9vbHRpcC1vcGFjaXR5OiAgICAgICAgICAgICAuOSAhZGVmYXVsdDtcbiR0b29sdGlwLXBhZGRpbmcteTogICAgICAgICAgIDNweCAhZGVmYXVsdDtcbiR0b29sdGlwLXBhZGRpbmcteDogICAgICAgICAgIDhweCAhZGVmYXVsdDtcbiR0b29sdGlwLW1hcmdpbjogICAgICAgICAgICAgIDNweCAhZGVmYXVsdDtcblxuJHRvb2x0aXAtYXJyb3ctd2lkdGg6ICAgICAgICAgNXB4ICFkZWZhdWx0O1xuJHRvb2x0aXAtYXJyb3ctY29sb3I6ICAgICAgICAgJHRvb2x0aXAtYmcgIWRlZmF1bHQ7XG5cblxuLy8gUG9wb3ZlcnNcblxuJHBvcG92ZXItaW5uZXItcGFkZGluZzogICAgICAgICAgICAgICAxcHggIWRlZmF1bHQ7XG4kcG9wb3Zlci1iZzogICAgICAgICAgICAgICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4kcG9wb3Zlci1tYXgtd2lkdGg6ICAgICAgICAgICAgICAgICAgIDI3NnB4ICFkZWZhdWx0O1xuJHBvcG92ZXItYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJHBvcG92ZXItYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgICByZ2JhKDAsMCwwLC4yKSAhZGVmYXVsdDtcbiRwb3BvdmVyLWJveC1zaGFkb3c6ICAgICAgICAgICAgICAgICAgMCA1cHggMTBweCByZ2JhKDAsMCwwLC4yKSAhZGVmYXVsdDtcblxuJHBvcG92ZXItdGl0bGUtYmc6ICAgICAgICAgICAgICAgICAgICBkYXJrZW4oJHBvcG92ZXItYmcsIDMlKSAhZGVmYXVsdDtcbiRwb3BvdmVyLXRpdGxlLXBhZGRpbmcteDogICAgICAgICAgICAgMTRweCAhZGVmYXVsdDtcbiRwb3BvdmVyLXRpdGxlLXBhZGRpbmcteTogICAgICAgICAgICAgOHB4ICFkZWZhdWx0O1xuXG4kcG9wb3Zlci1jb250ZW50LXBhZGRpbmcteDogICAgICAgICAgIDE0cHggIWRlZmF1bHQ7XG4kcG9wb3Zlci1jb250ZW50LXBhZGRpbmcteTogICAgICAgICAgIDlweCAhZGVmYXVsdDtcblxuJHBvcG92ZXItYXJyb3ctd2lkdGg6ICAgICAgICAgICAgICAgICAxMHB4ICFkZWZhdWx0O1xuJHBvcG92ZXItYXJyb3ctY29sb3I6ICAgICAgICAgICAgICAgICAkcG9wb3Zlci1iZyAhZGVmYXVsdDtcblxuJHBvcG92ZXItYXJyb3ctb3V0ZXItd2lkdGg6ICAgICAgICAgICAoJHBvcG92ZXItYXJyb3ctd2lkdGggKyAxcHgpICFkZWZhdWx0O1xuJHBvcG92ZXItYXJyb3ctb3V0ZXItY29sb3I6ICAgICAgICAgICBmYWRlLWluKCRwb3BvdmVyLWJvcmRlci1jb2xvciwgLjA1KSAhZGVmYXVsdDtcblxuXG4vLyBUYWdzXG5cbiR0YWctZGVmYXVsdC1iZzogICAgICAgICAgICAkZ3JheS1saWdodCAhZGVmYXVsdDtcbiR0YWctcHJpbWFyeS1iZzogICAgICAgICAgICAkYnJhbmQtcHJpbWFyeSAhZGVmYXVsdDtcbiR0YWctc3VjY2Vzcy1iZzogICAgICAgICAgICAkYnJhbmQtc3VjY2VzcyAhZGVmYXVsdDtcbiR0YWctaW5mby1iZzogICAgICAgICAgICAgICAkYnJhbmQtaW5mbyAhZGVmYXVsdDtcbiR0YWctd2FybmluZy1iZzogICAgICAgICAgICAkYnJhbmQtd2FybmluZyAhZGVmYXVsdDtcbiR0YWctZGFuZ2VyLWJnOiAgICAgICAgICAgICAkYnJhbmQtZGFuZ2VyICFkZWZhdWx0O1xuXG4kdGFnLWNvbG9yOiAgICAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbiR0YWctbGluay1ob3Zlci1jb2xvcjogICAgICAjZmZmICFkZWZhdWx0O1xuJHRhZy1mb250LXNpemU6ICAgICAgICAgICAgIDc1JSAhZGVmYXVsdDtcbiR0YWctZm9udC13ZWlnaHQ6ICAgICAgICAgICBib2xkICFkZWZhdWx0O1xuJHRhZy1wYWRkaW5nLXg6ICAgICAgICAgICAgIC40ZW0gIWRlZmF1bHQ7XG4kdGFnLXBhZGRpbmcteTogICAgICAgICAgICAgLjI1ZW0gIWRlZmF1bHQ7XG5cbiR0YWctcGlsbC1wYWRkaW5nLXg6ICAgICAgICAuNmVtICFkZWZhdWx0O1xuLy8gVXNlIGEgaGlnaGVyIHRoYW4gbm9ybWFsIHZhbHVlIHRvIGVuc3VyZSBjb21wbGV0ZWx5IHJvdW5kZWQgZWRnZXMgd2hlblxuLy8gY3VzdG9taXppbmcgcGFkZGluZyBvciBmb250LXNpemUgb24gbGFiZWxzLlxuJHRhZy1waWxsLWJvcmRlci1yYWRpdXM6ICAgIDEwcmVtICFkZWZhdWx0O1xuXG4vLyBNb2RhbHNcblxuLy8gUGFkZGluZyBhcHBsaWVkIHRvIHRoZSBtb2RhbCBib2R5XG4kbW9kYWwtaW5uZXItcGFkZGluZzogICAgICAgICAxNXB4ICFkZWZhdWx0O1xuXG4kbW9kYWwtZGlhbG9nLW1hcmdpbjogICAgICAgICAxMHB4ICFkZWZhdWx0O1xuJG1vZGFsLWRpYWxvZy1zbS11cC1tYXJnaW4teTogMzBweCAhZGVmYXVsdDtcblxuJG1vZGFsLXRpdGxlLXBhZGRpbmc6ICAgICAgICAgMTVweCAhZGVmYXVsdDtcbiRtb2RhbC10aXRsZS1saW5lLWhlaWdodDogICAgICRsaW5lLWhlaWdodC1iYXNlICFkZWZhdWx0O1xuXG4kbW9kYWwtY29udGVudC1iZzogICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuJG1vZGFsLWNvbnRlbnQtYm9yZGVyLWNvbG9yOiAgICAgcmdiYSgwLDAsMCwuMikgIWRlZmF1bHQ7XG4kbW9kYWwtY29udGVudC1ib3JkZXItd2lkdGg6ICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJG1vZGFsLWNvbnRlbnQteHMtYm94LXNoYWRvdzogICAgMCAzcHggOXB4IHJnYmEoMCwwLDAsLjUpICFkZWZhdWx0O1xuJG1vZGFsLWNvbnRlbnQtc20tdXAtYm94LXNoYWRvdzogMCA1cHggMTVweCByZ2JhKDAsMCwwLC41KSAhZGVmYXVsdDtcblxuJG1vZGFsLWJhY2tkcm9wLWJnOiAgICAgICAgICAgIzAwMCAhZGVmYXVsdDtcbiRtb2RhbC1iYWNrZHJvcC1vcGFjaXR5OiAgICAgIC41ICFkZWZhdWx0O1xuJG1vZGFsLWhlYWRlci1ib3JkZXItY29sb3I6ICAgI2U1ZTVlNSAhZGVmYXVsdDtcbiRtb2RhbC1mb290ZXItYm9yZGVyLWNvbG9yOiAgICRtb2RhbC1oZWFkZXItYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJG1vZGFsLWhlYWRlci1ib3JkZXItd2lkdGg6ICAgJG1vZGFsLWNvbnRlbnQtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJG1vZGFsLWZvb3Rlci1ib3JkZXItd2lkdGg6ICAgJG1vZGFsLWhlYWRlci1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG5cbiRtb2RhbC1sZzogICAgICAgICAgICAgICAgICAgIDkwMHB4ICFkZWZhdWx0O1xuJG1vZGFsLW1kOiAgICAgICAgICAgICAgICAgICAgNjAwcHggIWRlZmF1bHQ7XG4kbW9kYWwtc206ICAgICAgICAgICAgICAgICAgICAzMDBweCAhZGVmYXVsdDtcblxuXG4vLyBBbGVydHNcbi8vXG4vLyBEZWZpbmUgYWxlcnQgY29sb3JzLCBib3JkZXIgcmFkaXVzLCBhbmQgcGFkZGluZy5cblxuJGFsZXJ0LXBhZGRpbmc6ICAgICAgICAgICAgICAgMTVweCAhZGVmYXVsdDtcbiRhbGVydC1ib3JkZXItcmFkaXVzOiAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJGFsZXJ0LWxpbmstZm9udC13ZWlnaHQ6ICAgICAgYm9sZCAhZGVmYXVsdDtcbiRhbGVydC1ib3JkZXItd2lkdGg6ICAgICAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG5cbiRhbGVydC1zdWNjZXNzLWJnOiAgICAgICAgICAgICRzdGF0ZS1zdWNjZXNzLWJnICFkZWZhdWx0O1xuJGFsZXJ0LXN1Y2Nlc3MtdGV4dDogICAgICAgICAgJHN0YXRlLXN1Y2Nlc3MtdGV4dCAhZGVmYXVsdDtcbiRhbGVydC1zdWNjZXNzLWJvcmRlcjogICAgICAgICRzdGF0ZS1zdWNjZXNzLWJvcmRlciAhZGVmYXVsdDtcblxuJGFsZXJ0LWluZm8tYmc6ICAgICAgICAgICAgICAgJHN0YXRlLWluZm8tYmcgIWRlZmF1bHQ7XG4kYWxlcnQtaW5mby10ZXh0OiAgICAgICAgICAgICAkc3RhdGUtaW5mby10ZXh0ICFkZWZhdWx0O1xuJGFsZXJ0LWluZm8tYm9yZGVyOiAgICAgICAgICAgJHN0YXRlLWluZm8tYm9yZGVyICFkZWZhdWx0O1xuXG4kYWxlcnQtd2FybmluZy1iZzogICAgICAgICAgICAkc3RhdGUtd2FybmluZy1iZyAhZGVmYXVsdDtcbiRhbGVydC13YXJuaW5nLXRleHQ6ICAgICAgICAgICRzdGF0ZS13YXJuaW5nLXRleHQgIWRlZmF1bHQ7XG4kYWxlcnQtd2FybmluZy1ib3JkZXI6ICAgICAgICAkc3RhdGUtd2FybmluZy1ib3JkZXIgIWRlZmF1bHQ7XG5cbiRhbGVydC1kYW5nZXItYmc6ICAgICAgICAgICAgICRzdGF0ZS1kYW5nZXItYmcgIWRlZmF1bHQ7XG4kYWxlcnQtZGFuZ2VyLXRleHQ6ICAgICAgICAgICAkc3RhdGUtZGFuZ2VyLXRleHQgIWRlZmF1bHQ7XG4kYWxlcnQtZGFuZ2VyLWJvcmRlcjogICAgICAgICAkc3RhdGUtZGFuZ2VyLWJvcmRlciAhZGVmYXVsdDtcblxuXG4vLyBQcm9ncmVzcyBiYXJzXG5cbiRwcm9ncmVzcy1iZzogICAgICAgICAgICAgICAgICNlZWUgIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtYmFyLWNvbG9yOiAgICAgICAgICAjMDA3NGQ5ICFkZWZhdWx0O1xuJHByb2dyZXNzLWJvcmRlci1yYWRpdXM6ICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtYm94LXNoYWRvdzogICAgICAgICBpbnNldCAwIC4xcmVtIC4xcmVtIHJnYmEoMCwwLDAsLjEpICFkZWZhdWx0O1xuXG4kcHJvZ3Jlc3MtYmFyLWJnOiAgICAgICAgICAgICAkYnJhbmQtcHJpbWFyeSAhZGVmYXVsdDtcbiRwcm9ncmVzcy1iYXItc3VjY2Vzcy1iZzogICAgICRicmFuZC1zdWNjZXNzICFkZWZhdWx0O1xuJHByb2dyZXNzLWJhci13YXJuaW5nLWJnOiAgICAgJGJyYW5kLXdhcm5pbmcgIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtYmFyLWRhbmdlci1iZzogICAgICAkYnJhbmQtZGFuZ2VyICFkZWZhdWx0O1xuJHByb2dyZXNzLWJhci1pbmZvLWJnOiAgICAgICAgJGJyYW5kLWluZm8gIWRlZmF1bHQ7XG5cblxuLy8gTGlzdCBncm91cFxuXG4kbGlzdC1ncm91cC1iZzogICAgICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1ib3JkZXItY29sb3I6ICAgICAgICNkZGQgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1ib3JkZXItd2lkdGg6ICAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1ib3JkZXItcmFkaXVzOiAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuXG4kbGlzdC1ncm91cC1ob3Zlci1iZzogICAgICAgICAgICNmNWY1ZjUgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1hY3RpdmUtY29sb3I6ICAgICAgICRjb21wb25lbnQtYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtYWN0aXZlLWJnOiAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1iZyAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWFjdGl2ZS1ib3JkZXI6ICAgICAgJGxpc3QtZ3JvdXAtYWN0aXZlLWJnICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtYWN0aXZlLXRleHQtY29sb3I6ICBsaWdodGVuKCRsaXN0LWdyb3VwLWFjdGl2ZS1iZywgNDAlKSAhZGVmYXVsdDtcblxuJGxpc3QtZ3JvdXAtZGlzYWJsZWQtY29sb3I6ICAgICAgJGdyYXktbGlnaHQgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1kaXNhYmxlZC1iZzogICAgICAgICAkZ3JheS1saWdodGVyICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtZGlzYWJsZWQtdGV4dC1jb2xvcjogJGxpc3QtZ3JvdXAtZGlzYWJsZWQtY29sb3IgIWRlZmF1bHQ7XG5cbiRsaXN0LWdyb3VwLWxpbmstY29sb3I6ICAgICAgICAgIzU1NSAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWxpbmstaG92ZXItY29sb3I6ICAgJGxpc3QtZ3JvdXAtbGluay1jb2xvciAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWxpbmstaGVhZGluZy1jb2xvcjogIzMzMyAhZGVmYXVsdDtcblxuJGxpc3QtZ3JvdXAtaXRlbS1wYWRkaW5nLXg6ICAgICAgICAgICAgIDEuMjVyZW0gIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1pdGVtLXBhZGRpbmcteTogICAgICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtaXRlbS1oZWFkaW5nLW1hcmdpbi1ib3R0b206IDVweCAhZGVmYXVsdDtcblxuXG4vLyBJbWFnZSB0aHVtYm5haWxzXG5cbiR0aHVtYm5haWwtcGFkZGluZzogICAgICAgICAgIC4yNXJlbSAhZGVmYXVsdDtcbiR0aHVtYm5haWwtYmc6ICAgICAgICAgICAgICAgICRib2R5LWJnICFkZWZhdWx0O1xuJHRodW1ibmFpbC1ib3JkZXItd2lkdGg6ICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiR0aHVtYm5haWwtYm9yZGVyLWNvbG9yOiAgICAgICNkZGQgIWRlZmF1bHQ7XG4kdGh1bWJuYWlsLWJvcmRlci1yYWRpdXM6ICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiR0aHVtYm5haWwtYm94LXNoYWRvdzogICAgICAgIDAgMXB4IDJweCByZ2JhKDAsMCwwLC4wNzUpICFkZWZhdWx0O1xuXG5cbi8vIEZpZ3VyZXNcblxuJGZpZ3VyZS1jYXB0aW9uLWZvbnQtc2l6ZTogOTAlICFkZWZhdWx0O1xuXG5cbi8vIEJyZWFkY3J1bWJzXG5cbiRicmVhZGNydW1iLXBhZGRpbmcteTogICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItcGFkZGluZy14OiAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItaXRlbS1wYWRkaW5nOiAgICAgICAuNXJlbSAhZGVmYXVsdDtcblxuJGJyZWFkY3J1bWItYmc6ICAgICAgICAgICAgICAgICAkZ3JheS1saWdodGVyICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItZGl2aWRlci1jb2xvcjogICAgICAkZ3JheS1saWdodCAhZGVmYXVsdDtcbiRicmVhZGNydW1iLWFjdGl2ZS1jb2xvcjogICAgICAgJGdyYXktbGlnaHQgIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1kaXZpZGVyOiAgICAgICAgICAgIFwiL1wiICFkZWZhdWx0O1xuXG5cbi8vIE1lZGlhIG9iamVjdHNcblxuJG1lZGlhLW1hcmdpbi10b3A6ICAgICAgICAgICAgMTVweCAhZGVmYXVsdDtcbiRtZWRpYS1oZWFkaW5nLW1hcmdpbi1ib3R0b206ICA1cHggIWRlZmF1bHQ7XG4kbWVkaWEtYWxpZ25tZW50LXBhZGRpbmcteDogICAxMHB4ICFkZWZhdWx0O1xuXG5cbi8vIENhcm91c2VsXG5cbiRjYXJvdXNlbC10ZXh0LXNoYWRvdzogICAgICAgICAgICAgICAgICAgICAgICAwIDFweCAycHggcmdiYSgwLDAsMCwuNikgIWRlZmF1bHQ7XG5cbiRjYXJvdXNlbC1jb250cm9sLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuJGNhcm91c2VsLWNvbnRyb2wtd2lkdGg6ICAgICAgICAgICAgICAgICAgICAgIDE1JSAhZGVmYXVsdDtcbiRjYXJvdXNlbC1jb250cm9sLXNtLXVwLXNpemU6ICAgICAgICAgICAgICAgICAzMHB4ICFkZWZhdWx0O1xuJGNhcm91c2VsLWNvbnRyb2wtb3BhY2l0eTogICAgICAgICAgICAgICAgICAgIC41ICFkZWZhdWx0O1xuJGNhcm91c2VsLWNvbnRyb2wtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgIDIwcHggIWRlZmF1bHQ7XG5cbiRjYXJvdXNlbC1pbmRpY2F0b3JzLXdpZHRoOiAgICAgICAgICAgICAgICAgICA2MCUgIWRlZmF1bHQ7XG5cbiRjYXJvdXNlbC1pbmRpY2F0b3Itc2l6ZTogICAgICAgICAgICAgICAgICAgICAxMHB4ICFkZWZhdWx0O1xuJGNhcm91c2VsLWluZGljYXRvci1hY3RpdmUtc2l6ZTogICAgICAgICAgICAgIDEycHggIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtaW5kaWNhdG9yLWFjdGl2ZS1iZzogICAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbiRjYXJvdXNlbC1pbmRpY2F0b3ItYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuXG4kY2Fyb3VzZWwtY2FwdGlvbi13aWR0aDogICAgICAgICAgICAgICAgICAgICAgNzAlICFkZWZhdWx0O1xuJGNhcm91c2VsLWNhcHRpb24tc20tdXAtd2lkdGg6ICAgICAgICAgICAgICAgIDYwJSAhZGVmYXVsdDtcbiRjYXJvdXNlbC1jYXB0aW9uLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuXG4kY2Fyb3VzZWwtaWNvbi13aWR0aDogICAgICAgICAgICAgICAgICAgICAgICAgMjBweCAhZGVmYXVsdDtcblxuXG4vLyBDbG9zZVxuXG4kY2xvc2UtZm9udC13ZWlnaHQ6ICAgICAgICAgICBib2xkICFkZWZhdWx0O1xuJGNsb3NlLWNvbG9yOiAgICAgICAgICAgICAgICAgIzAwMCAhZGVmYXVsdDtcbiRjbG9zZS10ZXh0LXNoYWRvdzogICAgICAgICAgIDAgMXB4IDAgI2ZmZiAhZGVmYXVsdDtcblxuXG4vLyBDb2RlXG5cbiRjb2RlLWZvbnQtc2l6ZTogICAgICAgICAgICAgIDkwJSAhZGVmYXVsdDtcbiRjb2RlLXBhZGRpbmcteDogICAgICAgICAgICAgIC40cmVtICFkZWZhdWx0O1xuJGNvZGUtcGFkZGluZy15OiAgICAgICAgICAgICAgLjJyZW0gIWRlZmF1bHQ7XG4kY29kZS1jb2xvcjogICAgICAgICAgICAgICAgICAjYmQ0MTQ3ICFkZWZhdWx0O1xuJGNvZGUtYmc6ICAgICAgICAgICAgICAgICAgICAgI2Y3ZjdmOSAhZGVmYXVsdDtcblxuJGtiZC1jb2xvcjogICAgICAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbiRrYmQtYmc6ICAgICAgICAgICAgICAgICAgICAgICMzMzMgIWRlZmF1bHQ7XG5cbiRwcmUtYmc6ICAgICAgICAgICAgICAgICAgICAgICNmN2Y3ZjkgIWRlZmF1bHQ7XG4kcHJlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAkZ3JheS1kYXJrICFkZWZhdWx0O1xuJHByZS1ib3JkZXItY29sb3I6ICAgICAgICAgICAgI2NjYyAhZGVmYXVsdDtcbiRwcmUtc2Nyb2xsYWJsZS1tYXgtaGVpZ2h0OiAgIDM0MHB4ICFkZWZhdWx0O1xuIiwiLy8gVHlwb2dyYXBoeVxuLy9cbi8vIEZvbnQsIGxpbmUtaGVpZ2h0LCBhbmQgY29sb3IgZm9yIGJvZHkgdGV4dCwgaGVhZGluZ3MsIGFuZCBtb3JlLlxuXG4vLyBodHRwczovL3d3dy5nb29nbGUuY29tL2Rlc2lnbi9zcGVjL3N0eWxlL3R5cG9ncmFwaHkuaHRtbCN0eXBvZ3JhcGh5LXN0eWxlc1xuLy8gaHR0cDovL3d3dy5nZXRtZGwuaW8vc3R5bGVzL2luZGV4Lmh0bWxcblxuJGZvbnQtZmFtaWx5LXNhbnMtc2VyaWY6ICdSb2JvdG8nLCAnSGVsdmV0aWNhJywgJ0FyaWFsJywgc2Fucy1zZXJpZiAhZGVmYXVsdDtcbi8vJGZvbnQtZmFtaWx5LXNlcmlmOiAgICAgICAgICBHZW9yZ2lhLCBcIlRpbWVzIE5ldyBSb21hblwiLCBUaW1lcywgc2VyaWYgIWRlZmF1bHQ7XG4vLyRmb250LWZhbWlseS1tb25vc3BhY2U6ICAgICAgTWVubG8sIE1vbmFjbywgQ29uc29sYXMsIFwiQ291cmllciBOZXdcIiwgbW9ub3NwYWNlICFkZWZhdWx0O1xuLy8kZm9udC1mYW1pbHktYmFzZTogICAgICAgICAgICRmb250LWZhbWlseS1zYW5zLXNlcmlmICFkZWZhdWx0O1xuXG4vLyBQaXhlbCB2YWx1ZSB1c2VkIHRvIHJlc3BvbnNpdmVseSBzY2FsZSBhbGwgdHlwb2dyYXBoeS4gQXBwbGllZCB0byB0aGUgYDxodG1sPmAgZWxlbWVudC5cbi8vJGZvbnQtc2l6ZS1yb290OiAgICAgICAgICAgICAxNnB4ICFkZWZhdWx0O1xuLy9cbi8vJGZvbnQtc2l6ZS1iYXNlOiAgICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuLy8kZm9udC1zaXplLWxnOiAgICAgICAgICAgICAgIDEuMjVyZW0gIWRlZmF1bHQ7XG4vLyRmb250LXNpemUtc206ICAgICAgICAgICAgICAgLjg3NXJlbSAhZGVmYXVsdDtcbi8vJGZvbnQtc2l6ZS14czogICAgICAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4vL1xuLy8kZm9udC1zaXplLWgxOiAgICAgICAgICAgICAgIDIuNXJlbSAhZGVmYXVsdDtcbi8vJGZvbnQtc2l6ZS1oMjogICAgICAgICAgICAgICAycmVtICFkZWZhdWx0O1xuLy8kZm9udC1zaXplLWgzOiAgICAgICAgICAgICAgIDEuNzVyZW0gIWRlZmF1bHQ7XG4vLyRmb250LXNpemUtaDQ6ICAgICAgICAgICAgICAgMS41cmVtICFkZWZhdWx0O1xuLy8kZm9udC1zaXplLWg1OiAgICAgICAgICAgICAgIDEuMjVyZW0gIWRlZmF1bHQ7XG4vLyRmb250LXNpemUtaDY6ICAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbi8vXG4kZGlzcGxheTEtc2l6ZTogICAgICAgICAgICAgICA3cmVtICFkZWZhdWx0OyAvLyBtZCBkaXNwbGF5LTQgMTEycHggd2FzIDZyZW07XG4kZGlzcGxheTItc2l6ZTogICAgICAgICAgICAgICAzLjVyZW0gIWRlZmF1bHQ7IC8vIG1kIGRpc3BsYXktMyA1NnB4IHdhcyA1LjVyZW1cbiRkaXNwbGF5My1zaXplOiAgICAgICAgICAgICAgIDIuODEyNXJlbSAhZGVmYXVsdDsgLy8gbWQgZGlzcGxheS0yIDQ1cHggd2FzIDQuNXJlbVxuJGRpc3BsYXk0LXNpemU6ICAgICAgICAgICAgICAgMi4xMjVyZW0gIWRlZmF1bHQ7IC8vIG1kIGRpc3BsYXktMSAzNHB4IHdhcyAzLjVyZW1cbi8vXG4vLyRkaXNwbGF5MS13ZWlnaHQ6ICAgICAgICAgICAgIDMwMCAhZGVmYXVsdDtcbi8vJGRpc3BsYXkyLXdlaWdodDogICAgICAgICAgICAgMzAwICFkZWZhdWx0O1xuLy8kZGlzcGxheTMtd2VpZ2h0OiAgICAgICAgICAgICAzMDAgIWRlZmF1bHQ7XG4vLyRkaXNwbGF5NC13ZWlnaHQ6ICAgICAgICAgICAgIDMwMCAhZGVmYXVsdDtcbi8vXG4vLyRsaW5lLWhlaWdodC1iYXNlOiAgICAgICAgICAgICAgICAxLjUgIWRlZmF1bHQ7XG4vL1xuLy8kaGVhZGluZ3MtbWFyZ2luLWJvdHRvbTogICAgICgkc3BhY2VyIC8gMikgIWRlZmF1bHQ7XG4vLyRoZWFkaW5ncy1mb250LWZhbWlseTogICAgICAgaW5oZXJpdCAhZGVmYXVsdDtcbiRoZWFkaW5ncy1mb250LXdlaWdodDogICAgICAgNDAwICFkZWZhdWx0OyAvLyB3YXMgNTAwXG4vLyRoZWFkaW5ncy1saW5lLWhlaWdodDogICAgICAgMS4xICFkZWZhdWx0O1xuLy8kaGVhZGluZ3MtY29sb3I6ICAgICAgICAgICAgIGluaGVyaXQgIWRlZmF1bHQ7XG4vL1xuLy8kbGVhZC1mb250LXNpemU6ICAgICAgICAgICAgIDEuMjVyZW0gIWRlZmF1bHQ7XG4vLyRsZWFkLWZvbnQtd2VpZ2h0OiAgICAgICAgICAgMzAwICFkZWZhdWx0O1xuLy9cbi8vJHRleHQtbXV0ZWQ6ICAgICAgICAgICAgICAgICAgJGdyYXktbGlnaHQgIWRlZmF1bHQ7XG4vL1xuLy8kYWJici1ib3JkZXItY29sb3I6ICAgICAgICAgICAkZ3JheS1saWdodCAhZGVmYXVsdDtcbi8vXG4vLyRibG9ja3F1b3RlLXNtYWxsLWNvbG9yOiAgICAgICRncmF5LWxpZ2h0ICFkZWZhdWx0O1xuLy8kYmxvY2txdW90ZS1mb250LXNpemU6ICAgICAgICAoJGZvbnQtc2l6ZS1iYXNlICogMS4yNSkgIWRlZmF1bHQ7XG4vLyRibG9ja3F1b3RlLWJvcmRlci1jb2xvcjogICAgICRncmF5LWxpZ2h0ZXIgIWRlZmF1bHQ7XG4vL1xuLy8kaHItYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICByZ2JhKDAsMCwwLC4xKSAhZGVmYXVsdDtcbi8vJGhyLWJvcmRlci13aWR0aDogICAgICAgICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcbi8vXG4vLyRsaXN0LWlubGluZS1wYWRkaW5nOiAgICAgICAgIDVweCAhZGVmYXVsdDtcbi8vXG4vLyRkdC1mb250LXdlaWdodDogICAgICAgICAgICAgIGJvbGQgIWRlZmF1bHQ7XG4vL1xuLy8kbmVzdGVkLWtiZC1mb250LXdlaWdodDogICAgICBib2xkICFkZWZhdWx0O1xuXG5cbiIsIi8vXG4vL1RvIGdldCB0aGlzIGxpc3Qgb2YgY29sb3JzIGluamVjdCBqUXVlcnkgYXQgaHR0cDovL3d3dy5nb29nbGUuY29tL2Rlc2lnbi9zcGVjL3N0eWxlL2NvbG9yLmh0bWwjY29sb3ItY29sb3ItcGFsZXR0ZVxuLy9cbi8vVGhlbiwgcnVuIHRoaXMgc2NyaXB0IHRvIGdldCB0aGUgbGlzdEBtaXhpbiAoZnVuY3Rpb24oKXtcbi8vICB2YXIgY29sb3JzID0ge30sIG1haW4gPSB7fTtcbi8vICAkKFwiLmNvbG9yLWdyb3VwXCIpQG1peGluIGVhY2goZnVuY3Rpb24oKXtcbi8vICAgIHZhciBjb2xvciA9ICQodGhpcykuZmluZChcIi5uYW1lXCIpLnRleHQoKS50cmltKCkudG9Mb3dlckNhc2UoKS5yZXBsYWNlKFwiIFwiLCBcIi1cIik7XG4vLyAgICBjb2xvcnNbY29sb3JdID0ge307XG4vL1xuLy8gICAgJCh0aGlzKUBtaXhpbiBmaW5kKFwiLmNvbG9yXCIpLm5vdChcIi5tYWluLWNvbG9yXCIpLmVhY2goZnVuY3Rpb24oKXtcbi8vICAgICAgdmFyIHNoYWRlID0gJCh0aGlzKS5maW5kKFwiLnNoYWRlXCIpLnRleHQoKS50cmltKCksXG4vLyAgICAgICAgICBoZXggICA9ICQodGhpcykuZmluZChcIi5oZXhcIikudGV4dCgpLnRyaW0oKTtcbi8vXG4vLyAgICAgIGNvbG9yc1tjb2xvcl1bc2hhZGVdID0gaGV4O1xuLy8gICAgfSk7XG4vLyAgICBtYWluW2NvbG9yXSA9IGNvbG9yICsgXCItXCIgKyAkKHRoaXMpLmZpbmQoXCIubWFpbi1jb2xvciAuc2hhZGVcIikudGV4dCgpLnRyaW0oKTtcbi8vXG4vLyAgfSk7XG4vLyAgdmFyIExFU1MgPSBcIlwiO1xuLy8gICRAbWl4aW4gZWFjaChjb2xvcnMsIGZ1bmN0aW9uKG5hbWUsIHNoYWRlcyl7XG4vLyAgICBMRVNTICs9IFwiXFxuXFxuXCI7XG4vLyAgICAkQG1peGluIGVhY2goc2hhZGVzLCBmdW5jdGlvbihzaGFkZSwgaGV4KXtcbi8vICAgICAgTEVTUyArPSBcIiRcIiArIG5hbWUgKyBcIi1cIiArIHNoYWRlICsgXCI6IFwiICsgaGV4ICsgXCI7XFxuXCIgIWRlZmF1bHQ7XG4vLyAgICB9KTtcbi8vICAgIGlmIChtYWluW25hbWVdKSB7XG4vLyAgICAgIExFU1MgKz0gXCIkXCIgKyBuYW1lICsgXCI6IFwiICsgbWFpbltuYW1lXSArIFwiO1xcblwiICFkZWZhdWx0O1xuLy8gICAgfVxuLy8gIH0pO1xuLy8gIGNvbnNvbGUubG9nKExFU1MpO1xuLy99KSgpO1xuXG4kcmVkLTUwOiAjZmZlYmVlICFkZWZhdWx0O1xuJHJlZC0xMDA6ICNmZmNkZDIgIWRlZmF1bHQ7XG4kcmVkLTIwMDogI2VmOWE5YSAhZGVmYXVsdDtcbiRyZWQtMzAwOiAjZTU3MzczICFkZWZhdWx0O1xuJHJlZC00MDA6ICNlZjUzNTAgIWRlZmF1bHQ7XG4kcmVkLTUwMDogI2Y0NDMzNiAhZGVmYXVsdDtcbiRyZWQtNjAwOiAjZTUzOTM1ICFkZWZhdWx0O1xuJHJlZC03MDA6ICNkMzJmMmYgIWRlZmF1bHQ7XG4kcmVkLTgwMDogI2M2MjgyOCAhZGVmYXVsdDtcbiRyZWQtOTAwOiAjYjcxYzFjICFkZWZhdWx0O1xuJHJlZC1hMTAwOiAjZmY4YTgwICFkZWZhdWx0O1xuJHJlZC1hMjAwOiAjZmY1MjUyICFkZWZhdWx0O1xuJHJlZC1hNDAwOiAjZmYxNzQ0ICFkZWZhdWx0O1xuJHJlZC1hNzAwOiAjZDUwMDAwICFkZWZhdWx0O1xuJHJlZDogJHJlZC01MDAgIWRlZmF1bHQ7XG5cblxuJHBpbmstNTA6ICNmY2U0ZWMgIWRlZmF1bHQ7XG4kcGluay0xMDA6ICNmOGJiZDAgIWRlZmF1bHQ7XG4kcGluay0yMDA6ICNmNDhmYjEgIWRlZmF1bHQ7XG4kcGluay0zMDA6ICNmMDYyOTIgIWRlZmF1bHQ7XG4kcGluay00MDA6ICNlYzQwN2EgIWRlZmF1bHQ7XG4kcGluay01MDA6ICNlOTFlNjMgIWRlZmF1bHQ7XG4kcGluay02MDA6ICNkODFiNjAgIWRlZmF1bHQ7XG4kcGluay03MDA6ICNjMjE4NWIgIWRlZmF1bHQ7XG4kcGluay04MDA6ICNhZDE0NTcgIWRlZmF1bHQ7XG4kcGluay05MDA6ICM4ODBlNGYgIWRlZmF1bHQ7XG4kcGluay1hMTAwOiAjZmY4MGFiICFkZWZhdWx0O1xuJHBpbmstYTIwMDogI2ZmNDA4MSAhZGVmYXVsdDtcbiRwaW5rLWE0MDA6ICNmNTAwNTcgIWRlZmF1bHQ7XG4kcGluay1hNzAwOiAjYzUxMTYyICFkZWZhdWx0O1xuJHBpbms6ICRwaW5rLTUwMCAhZGVmYXVsdDtcblxuXG4kcHVycGxlLTUwOiAjZjNlNWY1ICFkZWZhdWx0O1xuJHB1cnBsZS0xMDA6ICNlMWJlZTcgIWRlZmF1bHQ7XG4kcHVycGxlLTIwMDogI2NlOTNkOCAhZGVmYXVsdDtcbiRwdXJwbGUtMzAwOiAjYmE2OGM4ICFkZWZhdWx0O1xuJHB1cnBsZS00MDA6ICNhYjQ3YmMgIWRlZmF1bHQ7XG4kcHVycGxlLTUwMDogIzljMjdiMCAhZGVmYXVsdDtcbiRwdXJwbGUtNjAwOiAjOGUyNGFhICFkZWZhdWx0O1xuJHB1cnBsZS03MDA6ICM3YjFmYTIgIWRlZmF1bHQ7XG4kcHVycGxlLTgwMDogIzZhMWI5YSAhZGVmYXVsdDtcbiRwdXJwbGUtOTAwOiAjNGExNDhjICFkZWZhdWx0O1xuJHB1cnBsZS1hMTAwOiAjZWE4MGZjICFkZWZhdWx0O1xuJHB1cnBsZS1hMjAwOiAjZTA0MGZiICFkZWZhdWx0O1xuJHB1cnBsZS1hNDAwOiAjZDUwMGY5ICFkZWZhdWx0O1xuJHB1cnBsZS1hNzAwOiAjYTBmICFkZWZhdWx0O1xuJHB1cnBsZTogJHB1cnBsZS01MDAgIWRlZmF1bHQ7XG5cblxuJGRlZXAtcHVycGxlLTUwOiAjZWRlN2Y2ICFkZWZhdWx0O1xuJGRlZXAtcHVycGxlLTEwMDogI2QxYzRlOSAhZGVmYXVsdDtcbiRkZWVwLXB1cnBsZS0yMDA6ICNiMzlkZGIgIWRlZmF1bHQ7XG4kZGVlcC1wdXJwbGUtMzAwOiAjOTU3NWNkICFkZWZhdWx0O1xuJGRlZXAtcHVycGxlLTQwMDogIzdlNTdjMiAhZGVmYXVsdDtcbiRkZWVwLXB1cnBsZS01MDA6ICM2NzNhYjcgIWRlZmF1bHQ7XG4kZGVlcC1wdXJwbGUtNjAwOiAjNWUzNWIxICFkZWZhdWx0O1xuJGRlZXAtcHVycGxlLTcwMDogIzUxMmRhOCAhZGVmYXVsdDtcbiRkZWVwLXB1cnBsZS04MDA6ICM0NTI3YTAgIWRlZmF1bHQ7XG4kZGVlcC1wdXJwbGUtOTAwOiAjMzExYjkyICFkZWZhdWx0O1xuJGRlZXAtcHVycGxlLWExMDA6ICNiMzg4ZmYgIWRlZmF1bHQ7XG4kZGVlcC1wdXJwbGUtYTIwMDogIzdjNGRmZiAhZGVmYXVsdDtcbiRkZWVwLXB1cnBsZS1hNDAwOiAjNjUxZmZmICFkZWZhdWx0O1xuJGRlZXAtcHVycGxlLWE3MDA6ICM2MjAwZWEgIWRlZmF1bHQ7XG4kZGVlcC1wdXJwbGU6ICRkZWVwLXB1cnBsZS01MDAgIWRlZmF1bHQ7XG5cblxuJGluZGlnby01MDogI2U4ZWFmNiAhZGVmYXVsdDtcbiRpbmRpZ28tMTAwOiAjYzVjYWU5ICFkZWZhdWx0O1xuJGluZGlnby0yMDA6ICM5ZmE4ZGEgIWRlZmF1bHQ7XG4kaW5kaWdvLTMwMDogIzc5ODZjYiAhZGVmYXVsdDtcbiRpbmRpZ28tNDAwOiAjNWM2YmMwICFkZWZhdWx0O1xuJGluZGlnby01MDA6ICMzZjUxYjUgIWRlZmF1bHQ7XG4kaW5kaWdvLTYwMDogIzM5NDlhYiAhZGVmYXVsdDtcbiRpbmRpZ28tNzAwOiAjMzAzZjlmICFkZWZhdWx0O1xuJGluZGlnby04MDA6ICMyODM1OTMgIWRlZmF1bHQ7XG4kaW5kaWdvLTkwMDogIzFhMjM3ZSAhZGVmYXVsdDtcbiRpbmRpZ28tYTEwMDogIzhjOWVmZiAhZGVmYXVsdDtcbiRpbmRpZ28tYTIwMDogIzUzNmRmZSAhZGVmYXVsdDtcbiRpbmRpZ28tYTQwMDogIzNkNWFmZSAhZGVmYXVsdDtcbiRpbmRpZ28tYTcwMDogIzMwNGZmZSAhZGVmYXVsdDtcbiRpbmRpZ286ICRpbmRpZ28tNTAwICFkZWZhdWx0O1xuXG5cbiRibHVlLTUwOiAjZTNmMmZkICFkZWZhdWx0O1xuJGJsdWUtMTAwOiAjYmJkZWZiICFkZWZhdWx0O1xuJGJsdWUtMjAwOiAjOTBjYWY5ICFkZWZhdWx0O1xuJGJsdWUtMzAwOiAjNjRiNWY2ICFkZWZhdWx0O1xuJGJsdWUtNDAwOiAjNDJhNWY1ICFkZWZhdWx0O1xuJGJsdWUtNTAwOiAjMjE5NmYzICFkZWZhdWx0O1xuJGJsdWUtNjAwOiAjMWU4OGU1ICFkZWZhdWx0O1xuJGJsdWUtNzAwOiAjMTk3NmQyICFkZWZhdWx0O1xuJGJsdWUtODAwOiAjMTU2NWMwICFkZWZhdWx0O1xuJGJsdWUtOTAwOiAjMGQ0N2ExICFkZWZhdWx0O1xuJGJsdWUtYTEwMDogIzgyYjFmZiAhZGVmYXVsdDtcbiRibHVlLWEyMDA6ICM0NDhhZmYgIWRlZmF1bHQ7XG4kYmx1ZS1hNDAwOiAjMjk3OWZmICFkZWZhdWx0O1xuJGJsdWUtYTcwMDogIzI5NjJmZiAhZGVmYXVsdDtcbiRibHVlOiAkYmx1ZS01MDAgIWRlZmF1bHQ7XG5cblxuJGxpZ2h0LWJsdWUtNTA6ICNlMWY1ZmUgIWRlZmF1bHQ7XG4kbGlnaHQtYmx1ZS0xMDA6ICNiM2U1ZmMgIWRlZmF1bHQ7XG4kbGlnaHQtYmx1ZS0yMDA6ICM4MWQ0ZmEgIWRlZmF1bHQ7XG4kbGlnaHQtYmx1ZS0zMDA6ICM0ZmMzZjcgIWRlZmF1bHQ7XG4kbGlnaHQtYmx1ZS00MDA6ICMyOWI2ZjYgIWRlZmF1bHQ7XG4kbGlnaHQtYmx1ZS01MDA6ICMwM2E5ZjQgIWRlZmF1bHQ7XG4kbGlnaHQtYmx1ZS02MDA6ICMwMzliZTUgIWRlZmF1bHQ7XG4kbGlnaHQtYmx1ZS03MDA6ICMwMjg4ZDEgIWRlZmF1bHQ7XG4kbGlnaHQtYmx1ZS04MDA6ICMwMjc3YmQgIWRlZmF1bHQ7XG4kbGlnaHQtYmx1ZS05MDA6ICMwMTU3OWIgIWRlZmF1bHQ7XG4kbGlnaHQtYmx1ZS1hMTAwOiAjODBkOGZmICFkZWZhdWx0O1xuJGxpZ2h0LWJsdWUtYTIwMDogIzQwYzRmZiAhZGVmYXVsdDtcbiRsaWdodC1ibHVlLWE0MDA6ICMwMGIwZmYgIWRlZmF1bHQ7XG4kbGlnaHQtYmx1ZS1hNzAwOiAjMDA5MWVhICFkZWZhdWx0O1xuJGxpZ2h0LWJsdWU6ICRsaWdodC1ibHVlLTUwMCAhZGVmYXVsdDtcblxuXG4kY3lhbi01MDogI2UwZjdmYSAhZGVmYXVsdDtcbiRjeWFuLTEwMDogI2IyZWJmMiAhZGVmYXVsdDtcbiRjeWFuLTIwMDogIzgwZGVlYSAhZGVmYXVsdDtcbiRjeWFuLTMwMDogIzRkZDBlMSAhZGVmYXVsdDtcbiRjeWFuLTQwMDogIzI2YzZkYSAhZGVmYXVsdDtcbiRjeWFuLTUwMDogIzAwYmNkNCAhZGVmYXVsdDtcbiRjeWFuLTYwMDogIzAwYWNjMSAhZGVmYXVsdDtcbiRjeWFuLTcwMDogIzAwOTdhNyAhZGVmYXVsdDtcbiRjeWFuLTgwMDogIzAwODM4ZiAhZGVmYXVsdDtcbiRjeWFuLTkwMDogIzAwNjA2NCAhZGVmYXVsdDtcbiRjeWFuLWExMDA6ICM4NGZmZmYgIWRlZmF1bHQ7XG4kY3lhbi1hMjAwOiAjMThmZmZmICFkZWZhdWx0O1xuJGN5YW4tYTQwMDogIzAwZTVmZiAhZGVmYXVsdDtcbiRjeWFuLWE3MDA6ICMwMGI4ZDQgIWRlZmF1bHQ7XG4kY3lhbjogJGN5YW4tNTAwICFkZWZhdWx0O1xuXG5cbiR0ZWFsLTUwOiAjZTBmMmYxICFkZWZhdWx0O1xuJHRlYWwtMTAwOiAjYjJkZmRiICFkZWZhdWx0O1xuJHRlYWwtMjAwOiAjODBjYmM0ICFkZWZhdWx0O1xuJHRlYWwtMzAwOiAjNGRiNmFjICFkZWZhdWx0O1xuJHRlYWwtNDAwOiAjMjZhNjlhICFkZWZhdWx0O1xuJHRlYWwtNTAwOiAjMDA5Njg4ICFkZWZhdWx0O1xuJHRlYWwtNjAwOiAjMDA4OTdiICFkZWZhdWx0O1xuJHRlYWwtNzAwOiAjMDA3OTZiICFkZWZhdWx0O1xuJHRlYWwtODAwOiAjMDA2OTVjICFkZWZhdWx0O1xuJHRlYWwtOTAwOiAjMDA0ZDQwICFkZWZhdWx0O1xuJHRlYWwtYTEwMDogI2E3ZmZlYiAhZGVmYXVsdDtcbiR0ZWFsLWEyMDA6ICM2NGZmZGEgIWRlZmF1bHQ7XG4kdGVhbC1hNDAwOiAjMWRlOWI2ICFkZWZhdWx0O1xuJHRlYWwtYTcwMDogIzAwYmZhNSAhZGVmYXVsdDtcbiR0ZWFsOiAkdGVhbC01MDAgIWRlZmF1bHQ7XG5cblxuJGdyZWVuLTUwOiAjZThmNWU5ICFkZWZhdWx0O1xuJGdyZWVuLTEwMDogI2M4ZTZjOSAhZGVmYXVsdDtcbiRncmVlbi0yMDA6ICNhNWQ2YTcgIWRlZmF1bHQ7XG4kZ3JlZW4tMzAwOiAjODFjNzg0ICFkZWZhdWx0O1xuJGdyZWVuLTQwMDogIzY2YmI2YSAhZGVmYXVsdDtcbiRncmVlbi01MDA6ICM0Y2FmNTAgIWRlZmF1bHQ7XG4kZ3JlZW4tNjAwOiAjNDNhMDQ3ICFkZWZhdWx0O1xuJGdyZWVuLTcwMDogIzM4OGUzYyAhZGVmYXVsdDtcbiRncmVlbi04MDA6ICMyZTdkMzIgIWRlZmF1bHQ7XG4kZ3JlZW4tOTAwOiAjMWI1ZTIwICFkZWZhdWx0O1xuJGdyZWVuLWExMDA6ICNiOWY2Y2EgIWRlZmF1bHQ7XG4kZ3JlZW4tYTIwMDogIzY5ZjBhZSAhZGVmYXVsdDtcbiRncmVlbi1hNDAwOiAjMDBlNjc2ICFkZWZhdWx0O1xuJGdyZWVuLWE3MDA6ICMwMGM4NTMgIWRlZmF1bHQ7XG4kZ3JlZW46ICRncmVlbi01MDAgIWRlZmF1bHQ7XG5cblxuJGxpZ2h0LWdyZWVuLTUwOiAjZjFmOGU5ICFkZWZhdWx0O1xuJGxpZ2h0LWdyZWVuLTEwMDogI2RjZWRjOCAhZGVmYXVsdDtcbiRsaWdodC1ncmVlbi0yMDA6ICNjNWUxYTUgIWRlZmF1bHQ7XG4kbGlnaHQtZ3JlZW4tMzAwOiAjYWVkNTgxICFkZWZhdWx0O1xuJGxpZ2h0LWdyZWVuLTQwMDogIzljY2M2NSAhZGVmYXVsdDtcbiRsaWdodC1ncmVlbi01MDA6ICM4YmMzNGEgIWRlZmF1bHQ7XG4kbGlnaHQtZ3JlZW4tNjAwOiAjN2NiMzQyICFkZWZhdWx0O1xuJGxpZ2h0LWdyZWVuLTcwMDogIzY4OWYzOCAhZGVmYXVsdDtcbiRsaWdodC1ncmVlbi04MDA6ICM1NThiMmYgIWRlZmF1bHQ7XG4kbGlnaHQtZ3JlZW4tOTAwOiAjMzM2OTFlICFkZWZhdWx0O1xuJGxpZ2h0LWdyZWVuLWExMDA6ICNjY2ZmOTAgIWRlZmF1bHQ7XG4kbGlnaHQtZ3JlZW4tYTIwMDogI2IyZmY1OSAhZGVmYXVsdDtcbiRsaWdodC1ncmVlbi1hNDAwOiAjNzZmZjAzICFkZWZhdWx0O1xuJGxpZ2h0LWdyZWVuLWE3MDA6ICM2NGRkMTcgIWRlZmF1bHQ7XG4kbGlnaHQtZ3JlZW46ICRsaWdodC1ncmVlbi01MDAgIWRlZmF1bHQ7XG5cblxuJGxpbWUtNTA6ICNmOWZiZTcgIWRlZmF1bHQ7XG4kbGltZS0xMDA6ICNmMGY0YzMgIWRlZmF1bHQ7XG4kbGltZS0yMDA6ICNlNmVlOWMgIWRlZmF1bHQ7XG4kbGltZS0zMDA6ICNkY2U3NzUgIWRlZmF1bHQ7XG4kbGltZS00MDA6ICNkNGUxNTcgIWRlZmF1bHQ7XG4kbGltZS01MDA6ICNjZGRjMzkgIWRlZmF1bHQ7XG4kbGltZS02MDA6ICNjMGNhMzMgIWRlZmF1bHQ7XG4kbGltZS03MDA6ICNhZmI0MmIgIWRlZmF1bHQ7XG4kbGltZS04MDA6ICM5ZTlkMjQgIWRlZmF1bHQ7XG4kbGltZS05MDA6ICM4Mjc3MTcgIWRlZmF1bHQ7XG4kbGltZS1hMTAwOiAjZjRmZjgxICFkZWZhdWx0O1xuJGxpbWUtYTIwMDogI2VlZmY0MSAhZGVmYXVsdDtcbiRsaW1lLWE0MDA6ICNjNmZmMDAgIWRlZmF1bHQ7XG4kbGltZS1hNzAwOiAjYWVlYTAwICFkZWZhdWx0O1xuJGxpbWU6ICRsaW1lLTUwMCAhZGVmYXVsdDtcblxuXG4keWVsbG93LTUwOiAjZmZmZGU3ICFkZWZhdWx0O1xuJHllbGxvdy0xMDA6ICNmZmY5YzQgIWRlZmF1bHQ7XG4keWVsbG93LTIwMDogI2ZmZjU5ZCAhZGVmYXVsdDtcbiR5ZWxsb3ctMzAwOiAjZmZmMTc2ICFkZWZhdWx0O1xuJHllbGxvdy00MDA6ICNmZmVlNTggIWRlZmF1bHQ7XG4keWVsbG93LTUwMDogI2ZmZWIzYiAhZGVmYXVsdDtcbiR5ZWxsb3ctNjAwOiAjZmRkODM1ICFkZWZhdWx0O1xuJHllbGxvdy03MDA6ICNmYmMwMmQgIWRlZmF1bHQ7XG4keWVsbG93LTgwMDogI2Y5YTgyNSAhZGVmYXVsdDtcbiR5ZWxsb3ctOTAwOiAjZjU3ZjE3ICFkZWZhdWx0O1xuJHllbGxvdy1hMTAwOiAjZmZmZjhkICFkZWZhdWx0O1xuJHllbGxvdy1hMjAwOiAjZmYwICFkZWZhdWx0O1xuJHllbGxvdy1hNDAwOiAjZmZlYTAwICFkZWZhdWx0O1xuJHllbGxvdy1hNzAwOiAjZmZkNjAwICFkZWZhdWx0O1xuJHllbGxvdzogJHllbGxvdy01MDAgIWRlZmF1bHQ7XG5cblxuJGFtYmVyLTUwOiAjZmZmOGUxICFkZWZhdWx0O1xuJGFtYmVyLTEwMDogI2ZmZWNiMyAhZGVmYXVsdDtcbiRhbWJlci0yMDA6ICNmZmUwODIgIWRlZmF1bHQ7XG4kYW1iZXItMzAwOiAjZmZkNTRmICFkZWZhdWx0O1xuJGFtYmVyLTQwMDogI2ZmY2EyOCAhZGVmYXVsdDtcbiRhbWJlci01MDA6ICNmZmMxMDcgIWRlZmF1bHQ7XG4kYW1iZXItNjAwOiAjZmZiMzAwICFkZWZhdWx0O1xuJGFtYmVyLTcwMDogI2ZmYTAwMCAhZGVmYXVsdDtcbiRhbWJlci04MDA6ICNmZjhmMDAgIWRlZmF1bHQ7XG4kYW1iZXItOTAwOiAjZmY2ZjAwICFkZWZhdWx0O1xuJGFtYmVyLWExMDA6ICNmZmU1N2YgIWRlZmF1bHQ7XG4kYW1iZXItYTIwMDogI2ZmZDc0MCAhZGVmYXVsdDtcbiRhbWJlci1hNDAwOiAjZmZjNDAwICFkZWZhdWx0O1xuJGFtYmVyLWE3MDA6ICNmZmFiMDAgIWRlZmF1bHQ7XG4kYW1iZXI6ICRhbWJlci01MDAgIWRlZmF1bHQ7XG5cblxuJG9yYW5nZS01MDogI2ZmZjNlMCAhZGVmYXVsdDtcbiRvcmFuZ2UtMTAwOiAjZmZlMGIyICFkZWZhdWx0O1xuJG9yYW5nZS0yMDA6ICNmZmNjODAgIWRlZmF1bHQ7XG4kb3JhbmdlLTMwMDogI2ZmYjc0ZCAhZGVmYXVsdDtcbiRvcmFuZ2UtNDAwOiAjZmZhNzI2ICFkZWZhdWx0O1xuJG9yYW5nZS01MDA6ICNmZjk4MDAgIWRlZmF1bHQ7XG4kb3JhbmdlLTYwMDogI2ZiOGMwMCAhZGVmYXVsdDtcbiRvcmFuZ2UtNzAwOiAjZjU3YzAwICFkZWZhdWx0O1xuJG9yYW5nZS04MDA6ICNlZjZjMDAgIWRlZmF1bHQ7XG4kb3JhbmdlLTkwMDogI2U2NTEwMCAhZGVmYXVsdDtcbiRvcmFuZ2UtYTEwMDogI2ZmZDE4MCAhZGVmYXVsdDtcbiRvcmFuZ2UtYTIwMDogI2ZmYWI0MCAhZGVmYXVsdDtcbiRvcmFuZ2UtYTQwMDogI2ZmOTEwMCAhZGVmYXVsdDtcbiRvcmFuZ2UtYTcwMDogI2ZmNmQwMCAhZGVmYXVsdDtcbiRvcmFuZ2U6ICRvcmFuZ2UtNTAwICFkZWZhdWx0O1xuXG5cbiRkZWVwLW9yYW5nZS01MDogI2ZiZTllNyAhZGVmYXVsdDtcbiRkZWVwLW9yYW5nZS0xMDA6ICNmZmNjYmMgIWRlZmF1bHQ7XG4kZGVlcC1vcmFuZ2UtMjAwOiAjZmZhYjkxICFkZWZhdWx0O1xuJGRlZXAtb3JhbmdlLTMwMDogI2ZmOGE2NSAhZGVmYXVsdDtcbiRkZWVwLW9yYW5nZS00MDA6ICNmZjcwNDMgIWRlZmF1bHQ7XG4kZGVlcC1vcmFuZ2UtNTAwOiAjZmY1NzIyICFkZWZhdWx0O1xuJGRlZXAtb3JhbmdlLTYwMDogI2Y0NTExZSAhZGVmYXVsdDtcbiRkZWVwLW9yYW5nZS03MDA6ICNlNjRhMTkgIWRlZmF1bHQ7XG4kZGVlcC1vcmFuZ2UtODAwOiAjZDg0MzE1ICFkZWZhdWx0O1xuJGRlZXAtb3JhbmdlLTkwMDogI2JmMzYwYyAhZGVmYXVsdDtcbiRkZWVwLW9yYW5nZS1hMTAwOiAjZmY5ZTgwICFkZWZhdWx0O1xuJGRlZXAtb3JhbmdlLWEyMDA6ICNmZjZlNDAgIWRlZmF1bHQ7XG4kZGVlcC1vcmFuZ2UtYTQwMDogI2ZmM2QwMCAhZGVmYXVsdDtcbiRkZWVwLW9yYW5nZS1hNzAwOiAjZGQyYzAwICFkZWZhdWx0O1xuJGRlZXAtb3JhbmdlOiAkZGVlcC1vcmFuZ2UtNTAwICFkZWZhdWx0O1xuXG5cbiRicm93bi01MDogI2VmZWJlOSAhZGVmYXVsdDtcbiRicm93bi0xMDA6ICNkN2NjYzggIWRlZmF1bHQ7XG4kYnJvd24tMjAwOiAjYmNhYWE0ICFkZWZhdWx0O1xuJGJyb3duLTMwMDogI2ExODg3ZiAhZGVmYXVsdDtcbiRicm93bi00MDA6ICM4ZDZlNjMgIWRlZmF1bHQ7XG4kYnJvd24tNTAwOiAjNzk1NTQ4ICFkZWZhdWx0O1xuJGJyb3duLTYwMDogIzZkNGM0MSAhZGVmYXVsdDtcbiRicm93bi03MDA6ICM1ZDQwMzcgIWRlZmF1bHQ7XG4kYnJvd24tODAwOiAjNGUzNDJlICFkZWZhdWx0O1xuJGJyb3duLTkwMDogIzNlMjcyMyAhZGVmYXVsdDtcbiRicm93bi1hMTAwOiAjZDdjY2M4ICFkZWZhdWx0O1xuJGJyb3duLWEyMDA6ICNiY2FhYTQgIWRlZmF1bHQ7XG4kYnJvd24tYTQwMDogIzhkNmU2MyAhZGVmYXVsdDtcbiRicm93bi1hNzAwOiAjNWQ0MDM3ICFkZWZhdWx0O1xuJGJyb3duOiAkYnJvd24tNTAwICFkZWZhdWx0O1xuXG5cbiRncmV5LTUwOiAjZmFmYWZhICFkZWZhdWx0O1xuJGdyZXktMTAwOiAjZjVmNWY1ICFkZWZhdWx0O1xuJGdyZXktMjAwOiAjZWVlICFkZWZhdWx0O1xuJGdyZXktMzAwOiAjZTBlMGUwICFkZWZhdWx0O1xuJGdyZXktNDAwOiAjYmRiZGJkICFkZWZhdWx0O1xuJGdyZXktNTAwOiAjOWU5ZTllO1xuJGdyZXktNjAwOiAjNzU3NTc1ICFkZWZhdWx0O1xuJGdyZXktNzAwOiAjNjE2MTYxICFkZWZhdWx0O1xuJGdyZXktODAwOiAjNDI0MjQyICFkZWZhdWx0O1xuJGdyZXktOTAwOiAjMjEyMTIxICFkZWZhdWx0O1xuJGdyZXktYTEwMDogI2Y1ZjVmNSAhZGVmYXVsdDtcbiRncmV5LWEyMDA6ICNlZWUgIWRlZmF1bHQ7XG4kZ3JleS1hNDAwOiAjYmRiZGJkICFkZWZhdWx0O1xuJGdyZXktYTcwMDogIzYxNjE2MSAhZGVmYXVsdDtcbiRncmV5OiAkZ3JleS01MDAgIWRlZmF1bHQ7XG5cblxuJGJsdWUtZ3JleS01MDogI2VjZWZmMSAhZGVmYXVsdDtcbiRibHVlLWdyZXktMTAwOiAjY2ZkOGRjICFkZWZhdWx0O1xuJGJsdWUtZ3JleS0yMDA6ICNiMGJlYzUgIWRlZmF1bHQ7XG4kYmx1ZS1ncmV5LTMwMDogIzkwYTRhZSAhZGVmYXVsdDtcbiRibHVlLWdyZXktNDAwOiAjNzg5MDljICFkZWZhdWx0O1xuJGJsdWUtZ3JleS01MDA6ICM2MDdkOGIgIWRlZmF1bHQ7XG4kYmx1ZS1ncmV5LTYwMDogIzU0NmU3YSAhZGVmYXVsdDtcbiRibHVlLWdyZXktNzAwOiAjNDU1YTY0ICFkZWZhdWx0O1xuJGJsdWUtZ3JleS04MDA6ICMzNzQ3NGYgIWRlZmF1bHQ7XG4kYmx1ZS1ncmV5LTkwMDogIzI2MzIzOCAhZGVmYXVsdDtcbiRibHVlLWdyZXktYTEwMDogI2NmZDhkYyAhZGVmYXVsdDtcbiRibHVlLWdyZXktYTIwMDogI2IwYmVjNSAhZGVmYXVsdDtcbiRibHVlLWdyZXktYTQwMDogIzc4OTA5YyAhZGVmYXVsdDtcbiRibHVlLWdyZXktYTcwMDogIzQ1NWE2NCAhZGVmYXVsdDtcbiRibHVlLWdyZXk6ICRibHVlLWdyZXktNTAwICFkZWZhdWx0O1xuXG5cbiRibGFjazogIzAwMDtcbiR3aGl0ZTogI2ZmZjtcbiIsIi8vIEJvZHlcbi8vXG4vLyBTZXR0aW5ncyBmb3IgdGhlIGA8Ym9keT5gIGVsZW1lbnQuXG5cbiRib2R5LWJnOiAgICAgICAgICAgICAgICAgICAgI2ZhZmFmYSAhZGVmYXVsdDtcbi8vJGJvZHktY29sb3I6ICAgICAgICAgICAgICAgICAkZ3JheS1kYXJrICFkZWZhdWx0O1xuIiwiQG1peGluIGhvdmVyIHtcbiAgLy8gVE9ETzogcmUtZW5hYmxlIGFsb25nIHdpdGggbXE0LWhvdmVyLXNoaW1cbi8vICBAaWYgJGVuYWJsZS1ob3Zlci1tZWRpYS1xdWVyeSB7XG4vLyAgICAvLyBTZWUgTWVkaWEgUXVlcmllcyBMZXZlbCA0OiBodHRwOi8vZHJhZnRzLmNzc3dnLm9yZy9tZWRpYXF1ZXJpZXMvI2hvdmVyXG4vLyAgICAvLyBDdXJyZW50bHkgc2hpbW1lZCBieSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9tcTQtaG92ZXItc2hpbVxuLy8gICAgQG1lZGlhIChob3ZlcjogaG92ZXIpIHtcbi8vICAgICAgJjpob3ZlciB7IEBjb250ZW50IH1cbi8vICAgIH1cbi8vICB9XG4vLyAgQGVsc2Uge1xuICAgICY6aG92ZXIgeyBAY29udGVudCB9XG4vLyAgfVxufVxuXG5AbWl4aW4gaG92ZXItZm9jdXMge1xuICBAaWYgJGVuYWJsZS1ob3Zlci1tZWRpYS1xdWVyeSB7XG4gICAgJjpmb2N1cyB7IEBjb250ZW50IH1cbiAgICBAaW5jbHVkZSBob3ZlciB7IEBjb250ZW50IH1cbiAgfVxuICBAZWxzZSB7XG4gICAgJjpmb2N1cyxcbiAgICAmOmhvdmVyIHtcbiAgICAgIEBjb250ZW50XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBwbGFpbi1ob3Zlci1mb2N1cyB7XG4gIEBpZiAkZW5hYmxlLWhvdmVyLW1lZGlhLXF1ZXJ5IHtcbiAgICAmLFxuICAgICY6Zm9jdXMge1xuICAgICAgQGNvbnRlbnRcbiAgICB9XG4gICAgQGluY2x1ZGUgaG92ZXIgeyBAY29udGVudCB9XG4gIH1cbiAgQGVsc2Uge1xuICAgICYsXG4gICAgJjpmb2N1cyxcbiAgICAmOmhvdmVyIHtcbiAgICAgIEBjb250ZW50XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBob3Zlci1mb2N1cy1hY3RpdmUge1xuICBAaWYgJGVuYWJsZS1ob3Zlci1tZWRpYS1xdWVyeSB7XG4gICAgJjpmb2N1cyxcbiAgICAmOmFjdGl2ZSB7XG4gICAgICBAY29udGVudFxuICAgIH1cbiAgICBAaW5jbHVkZSBob3ZlciB7IEBjb250ZW50IH1cbiAgfVxuICBAZWxzZSB7XG4gICAgJjpmb2N1cyxcbiAgICAmOmFjdGl2ZSxcbiAgICAmOmhvdmVyIHtcbiAgICAgIEBjb250ZW50XG4gICAgfVxuICB9XG59XG4iLCIvLyBXZWJLaXQtc3R5bGUgZm9jdXNcblxuQG1peGluIHRhYi1mb2N1cygpIHtcbiAgLy8gV2ViS2l0LXNwZWNpZmljLiBPdGhlciBicm93c2VycyB3aWxsIGtlZXAgdGhlaXIgZGVmYXVsdCBvdXRsaW5lIHN0eWxlLlxuICAvLyAoSW5pdGlhbGx5IHRyaWVkIHRvIGFsc28gZm9yY2UgZGVmYXVsdCB2aWEgYG91dGxpbmU6IGluaXRpYWxgLFxuICAvLyBidXQgdGhhdCBzZWVtcyB0byBlcnJvbmVvdXNseSByZW1vdmUgdGhlIG91dGxpbmUgaW4gRmlyZWZveCBhbHRvZ2V0aGVyLilcbiAgb3V0bGluZTogNXB4IGF1dG8gLXdlYmtpdC1mb2N1cy1yaW5nLWNvbG9yO1xuICBvdXRsaW5lLW9mZnNldDogLTJweDtcbn1cbiIsIi8vXG4vLyBIZWFkaW5nc1xuLy9cblxuaDEsIGgyLCBoMywgaDQsIGg1LCBoNixcbi5oMSwgLmgyLCAuaDMsIC5oNCwgLmg1LCAuaDYge1xuICBtYXJnaW4tYm90dG9tOiAkaGVhZGluZ3MtbWFyZ2luLWJvdHRvbTtcbiAgZm9udC1mYW1pbHk6ICRoZWFkaW5ncy1mb250LWZhbWlseTtcbiAgZm9udC13ZWlnaHQ6ICRoZWFkaW5ncy1mb250LXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6ICRoZWFkaW5ncy1saW5lLWhlaWdodDtcbiAgY29sb3I6ICRoZWFkaW5ncy1jb2xvcjtcbn1cblxuaDEsIC5oMSB7IGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1oMTsgfVxuaDIsIC5oMiB7IGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1oMjsgfVxuaDMsIC5oMyB7IGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1oMzsgfVxuaDQsIC5oNCB7IGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1oNDsgfVxuaDUsIC5oNSB7IGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1oNTsgfVxuaDYsIC5oNiB7IGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1oNjsgfVxuXG4ubGVhZCB7XG4gIGZvbnQtc2l6ZTogJGxlYWQtZm9udC1zaXplO1xuICBmb250LXdlaWdodDogJGxlYWQtZm9udC13ZWlnaHQ7XG59XG5cbi8vIFR5cGUgZGlzcGxheSBjbGFzc2VzXG4uZGlzcGxheS0xIHtcbiAgZm9udC1zaXplOiAkZGlzcGxheTEtc2l6ZTtcbiAgZm9udC13ZWlnaHQ6ICRkaXNwbGF5MS13ZWlnaHQ7XG59XG4uZGlzcGxheS0yIHtcbiAgZm9udC1zaXplOiAkZGlzcGxheTItc2l6ZTtcbiAgZm9udC13ZWlnaHQ6ICRkaXNwbGF5Mi13ZWlnaHQ7XG59XG4uZGlzcGxheS0zIHtcbiAgZm9udC1zaXplOiAkZGlzcGxheTMtc2l6ZTtcbiAgZm9udC13ZWlnaHQ6ICRkaXNwbGF5My13ZWlnaHQ7XG59XG4uZGlzcGxheS00IHtcbiAgZm9udC1zaXplOiAkZGlzcGxheTQtc2l6ZTtcbiAgZm9udC13ZWlnaHQ6ICRkaXNwbGF5NC13ZWlnaHQ7XG59XG5cblxuLy9cbi8vIEhvcml6b250YWwgcnVsZXNcbi8vXG5cbmhyIHtcbiAgbWFyZ2luLXRvcDogJHNwYWNlci15O1xuICBtYXJnaW4tYm90dG9tOiAkc3BhY2VyLXk7XG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXRvcDogJGhyLWJvcmRlci13aWR0aCBzb2xpZCAkaHItYm9yZGVyLWNvbG9yO1xufVxuXG5cbi8vXG4vLyBFbXBoYXNpc1xuLy9cblxuc21hbGwsXG4uc21hbGwge1xuICBmb250LXNpemU6ICRzbWFsbC1mb250LXNpemU7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG59XG5cbm1hcmssXG4ubWFyayB7XG4gIHBhZGRpbmc6ICRtYXJrLXBhZGRpbmc7XG4gIGJhY2tncm91bmQtY29sb3I6ICRtYXJrLWJnO1xufVxuXG5cbi8vXG4vLyBMaXN0c1xuLy9cblxuLmxpc3QtdW5zdHlsZWQge1xuICBAaW5jbHVkZSBsaXN0LXVuc3R5bGVkO1xufVxuXG4vLyBJbmxpbmUgdHVybnMgbGlzdCBpdGVtcyBpbnRvIGlubGluZS1ibG9ja1xuLmxpc3QtaW5saW5lIHtcbiAgQGluY2x1ZGUgbGlzdC11bnN0eWxlZDtcbn1cbi5saXN0LWlubGluZS1pdGVtIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXG4gICY6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAkbGlzdC1pbmxpbmUtcGFkZGluZztcbiAgfVxufVxuXG5cbi8vXG4vLyBNaXNjXG4vL1xuXG4vLyBCdWlsZHMgb24gYGFiYnJgXG4uaW5pdGlhbGlzbSB7XG4gIGZvbnQtc2l6ZTogOTAlO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuXG4vLyBCbG9ja3F1b3Rlc1xuLmJsb2NrcXVvdGUge1xuICBwYWRkaW5nOiAoJHNwYWNlciAvIDIpICRzcGFjZXI7XG4gIG1hcmdpbi1ib3R0b206ICRzcGFjZXI7XG4gIGZvbnQtc2l6ZTogJGJsb2NrcXVvdGUtZm9udC1zaXplO1xuICBib3JkZXItbGVmdDogJGJsb2NrcXVvdGUtYm9yZGVyLXdpZHRoIHNvbGlkICRibG9ja3F1b3RlLWJvcmRlci1jb2xvcjtcbn1cblxuLmJsb2NrcXVvdGUtZm9vdGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogODAlOyAvLyBiYWNrIHRvIGRlZmF1bHQgZm9udC1zaXplXG4gIGNvbG9yOiAkYmxvY2txdW90ZS1zbWFsbC1jb2xvcjtcblxuICAmOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFwyMDE0IFxcMDBBMFwiOyAvLyBlbSBkYXNoLCBuYnNwXG4gIH1cbn1cblxuLy8gT3Bwb3NpdGUgYWxpZ25tZW50IG9mIGJsb2NrcXVvdGVcbi5ibG9ja3F1b3RlLXJldmVyc2Uge1xuICBwYWRkaW5nLXJpZ2h0OiAkc3BhY2VyO1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xuICBib3JkZXItcmlnaHQ6ICRibG9ja3F1b3RlLWJvcmRlci13aWR0aCBzb2xpZCAkYmxvY2txdW90ZS1ib3JkZXItY29sb3I7XG4gIGJvcmRlci1sZWZ0OiAwO1xufVxuXG4uYmxvY2txdW90ZS1yZXZlcnNlIC5ibG9ja3F1b3RlLWZvb3RlciB7XG4gICY6OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcIjtcbiAgfVxuICAmOjphZnRlciB7XG4gICAgY29udGVudDogXCJcXDAwQTAgXFwyMDE0XCI7IC8vIG5ic3AsIGVtIGRhc2hcbiAgfVxufVxuXG5AaWYgbm90ICRlbmFibGUtZmxleCB7XG4gIC8vIENsZWFuIHVwIHNvbWUgaG9yaXpvbnRhbCBgPGRsPmBzIGJ1aWx0IHdpdGggZ3JpZHNcbiAgLy8gc2Nzcy1saW50OmRpc2FibGUgUXVhbGlmeWluZ0VsZW1lbnRcbiAgZGwucm93IHtcbiAgICA+IGRkICsgZHQge1xuICAgICAgY2xlYXI6IGxlZnQ7XG4gICAgfVxuICB9XG4gIC8vIHNjc3MtbGludDplbmFibGUgUXVhbGlmeWluZ0VsZW1lbnRcbn1cbiIsIi8vIFNwYWNpbmdcbi8vXG4vLyBDb250cm9sIHRoZSBkZWZhdWx0IHN0eWxpbmcgb2YgbW9zdCBCb290c3RyYXAgZWxlbWVudHMgYnkgbW9kaWZ5aW5nIHRoZXNlXG4vLyB2YXJpYWJsZXMuIE1vc3RseSBmb2N1c2VkIG9uIHNwYWNpbmcuXG5cbiRzcGFjZXI6ICAgICAgICAgICAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7IC8vIDFyZW0gIWRlZmF1bHQ7ICAgIC8vICRmb3JtLWdyb3VwLW1hcmdpbi1ib3R0b20gdXNlcyAkc3BhY2VyLXkuICBEZWNpZGVkIHRvIHRyeSB0aGlzIGdsb2JhbGx5IGFuZCBzZWUgaG93IGl0IHdvcmtzIG91dC5cbi8vJHNwYWNlci14OiAgICAgICAgICAgICAgICAgICAkc3BhY2VyICFkZWZhdWx0O1xuLy8kc3BhY2VyLXk6ICAgICAgICAgICAgICAgICAgICRzcGFjZXIgIWRlZmF1bHQ7XG4vLyRzcGFjZXJzOiAoXG4vLyAgMDogKFxuLy8gICAgeDogICAwLFxuLy8gICAgeTogICAwXG4vLyAgKSxcbi8vICAxOiAoXG4vLyAgICB4OiAgICRzcGFjZXIteCxcbi8vICAgIHk6ICAgJHNwYWNlci15XG4vLyAgKSxcbi8vICAyOiAoXG4vLyAgICB4OiAgICgkc3BhY2VyLXggKiAxLjUpLFxuLy8gICAgeTogICAoJHNwYWNlci15ICogMS41KVxuLy8gICksXG4vLyAgMzogKFxuLy8gICAgeDogICAoJHNwYWNlci14ICogMyksXG4vLyAgICB5OiAgICgkc3BhY2VyLXkgKiAzKVxuLy8gIClcbi8vKSAhZGVmYXVsdDtcbiIsIi8vIExpc3RzXG5cbi8vIFVuc3R5bGVkIGtlZXBzIGxpc3QgaXRlbXMgYmxvY2sgbGV2ZWwsIGp1c3QgcmVtb3ZlcyBkZWZhdWx0IGJyb3dzZXIgcGFkZGluZyBhbmQgbGlzdC1zdHlsZVxuQG1peGluIGxpc3QtdW5zdHlsZWQge1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG4iLCIvLyBSZXNwb25zaXZlIGltYWdlcyAoZW5zdXJlIGltYWdlcyBkb24ndCBzY2FsZSBiZXlvbmQgdGhlaXIgcGFyZW50cylcbi8vXG4vLyBUaGlzIGlzIHB1cnBvc2VmdWxseSBvcHQtaW4gdmlhIGFuIGV4cGxpY2l0IGNsYXNzIHJhdGhlciB0aGFuIGJlaW5nIHRoZSBkZWZhdWx0IGZvciBhbGwgYDxpbWc+YHMuXG4vLyBXZSBwcmV2aW91c2x5IHRyaWVkIHRoZSBcImltYWdlcyBhcmUgcmVzcG9uc2l2ZSBieSBkZWZhdWx0XCIgYXBwcm9hY2ggaW4gQm9vdHN0cmFwIHYyLFxuLy8gYW5kIGFiYW5kb25lZCBpdCBpbiBCb290c3RyYXAgdjMgYmVjYXVzZSBpdCBicmVha3MgbG90cyBvZiB0aGlyZC1wYXJ0eSB3aWRnZXRzIChpbmNsdWRpbmcgR29vZ2xlIE1hcHMpXG4vLyB3aGljaCB3ZXJlbid0IGV4cGVjdGluZyB0aGUgaW1hZ2VzIHdpdGhpbiB0aGVtc2VsdmVzIHRvIGJlIGludm9sdW50YXJpbHkgcmVzaXplZC5cbi8vIFNlZSBhbHNvIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMTgxNzhcbi5pbWctZmx1aWQge1xuICBAaW5jbHVkZSBpbWctZmx1aWQoKTtcbn1cblxuLy8gUm91bmRlZCBjb3JuZXJzXG4uaW1nLXJvdW5kZWQge1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRib3JkZXItcmFkaXVzLWxnKTtcbn1cblxuLy8gSW1hZ2UgdGh1bWJuYWlsc1xuLmltZy10aHVtYm5haWwge1xuICBwYWRkaW5nOiAkdGh1bWJuYWlsLXBhZGRpbmc7XG4gIGJhY2tncm91bmQtY29sb3I6ICR0aHVtYm5haWwtYmc7XG4gIGJvcmRlcjogJHRodW1ibmFpbC1ib3JkZXItd2lkdGggc29saWQgJHRodW1ibmFpbC1ib3JkZXItY29sb3I7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJHRodW1ibmFpbC1ib3JkZXItcmFkaXVzKTtcbiAgdHJhbnNpdGlvbjogYWxsIC4ycyBlYXNlLWluLW91dDtcbiAgQGluY2x1ZGUgYm94LXNoYWRvdygkdGh1bWJuYWlsLWJveC1zaGFkb3cpO1xuXG4gIC8vIEtlZXAgdGhlbSBhdCBtb3N0IDEwMCUgd2lkZVxuICBAaW5jbHVkZSBpbWctZmx1aWQoaW5saW5lLWJsb2NrKTtcbn1cblxuLy8gUGVyZmVjdCBjaXJjbGVcbi5pbWctY2lyY2xlIHtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xufVxuXG4vL1xuLy8gRmlndXJlc1xuLy9cblxuLmZpZ3VyZSB7XG4gIC8vIEVuc3VyZXMgdGhlIGNhcHRpb24ncyB0ZXh0IGFsaWducyB3aXRoIHRoZSBpbWFnZS5cbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG4uZmlndXJlLWltZyB7XG4gIG1hcmdpbi1ib3R0b206ICgkc3BhY2VyLXkgLyAyKTtcbiAgbGluZS1oZWlnaHQ6IDE7XG59XG5cbi5maWd1cmUtY2FwdGlvbiB7XG4gIGZvbnQtc2l6ZTogJGZpZ3VyZS1jYXB0aW9uLWZvbnQtc2l6ZTtcbiAgY29sb3I6ICRncmF5LWxpZ2h0O1xufVxuIiwiLy8gSW1hZ2UgTWl4aW5zXG4vLyAtIFJlc3BvbnNpdmUgaW1hZ2Vcbi8vIC0gUmV0aW5hIGltYWdlXG5cblxuLy8gUmVzcG9uc2l2ZSBpbWFnZVxuLy9cbi8vIEtlZXAgaW1hZ2VzIGZyb20gc2NhbGluZyBiZXlvbmQgdGhlIHdpZHRoIG9mIHRoZWlyIHBhcmVudHMuXG5cbkBtaXhpbiBpbWctZmx1aWQoJGRpc3BsYXk6IGJsb2NrKSB7XG4gIGRpc3BsYXk6ICRkaXNwbGF5O1xuICBtYXgtd2lkdGg6IDEwMCU7IC8vIFBhcnQgMTogU2V0IGEgbWF4aW11bSByZWxhdGl2ZSB0byB0aGUgcGFyZW50XG4gIGhlaWdodDogYXV0bzsgLy8gUGFydCAyOiBTY2FsZSB0aGUgaGVpZ2h0IGFjY29yZGluZyB0byB0aGUgd2lkdGgsIG90aGVyd2lzZSB5b3UgZ2V0IHN0cmV0Y2hpbmdcbn1cblxuXG4vLyBSZXRpbmEgaW1hZ2Vcbi8vXG4vLyBTaG9ydCByZXRpbmEgbWl4aW4gZm9yIHNldHRpbmcgYmFja2dyb3VuZC1pbWFnZSBhbmQgLXNpemUuXG5cbkBtaXhpbiBpbWctcmV0aW5hKCRmaWxlLTF4LCAkZmlsZS0yeCwgJHdpZHRoLTF4LCAkaGVpZ2h0LTF4KSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCgkZmlsZS0xeCk7XG5cbiAgLy8gQXV0b3ByZWZpeGVyIHRha2VzIGNhcmUgb2YgYWRkaW5nIC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbyBhbmQgLW8tbWluLWRldmljZS1waXhlbC1yYXRpbyxcbiAgLy8gYnV0IGRvZXNuJ3QgY29udmVydCBkcHB4PT5kcGkuXG4gIC8vIFRoZXJlJ3Mgbm8gc3VjaCB0aGluZyBhcyB1bnByZWZpeGVkIG1pbi1kZXZpY2UtcGl4ZWwtcmF0aW8gc2luY2UgaXQncyBub25zdGFuZGFyZC5cbiAgLy8gQ29tcGF0aWJpbGl0eSBpbmZvOiBodHRwOi8vY2FuaXVzZS5jb20vI2ZlYXQ9Y3NzLW1lZGlhLXJlc29sdXRpb25cbiAgQG1lZGlhXG4gIG9ubHkgc2NyZWVuIGFuZCAobWluLXJlc29sdXRpb246IDE5MmRwaSksIC8vIElFOS0xMSBkb24ndCBzdXBwb3J0IGRwcHhcbiAgb25seSBzY3JlZW4gYW5kIChtaW4tcmVzb2x1dGlvbjogMmRwcHgpIHsgLy8gU3RhbmRhcmRpemVkXG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCRmaWxlLTJ4KTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6ICR3aWR0aC0xeCAkaGVpZ2h0LTF4O1xuICB9XG59XG4iLCIvLyBTaW5nbGUgc2lkZSBib3JkZXItcmFkaXVzXG5cbkBtaXhpbiBib3JkZXItcmFkaXVzKCRyYWRpdXM6ICRib3JkZXItcmFkaXVzKSB7XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci1yYWRpdXM6ICRyYWRpdXM7XG4gIH1cbn1cblxuQG1peGluIGJvcmRlci10b3AtcmFkaXVzKCRyYWRpdXMpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6ICRyYWRpdXM7XG4gICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogJHJhZGl1cztcbiAgfVxufVxuXG5AbWl4aW4gYm9yZGVyLXJpZ2h0LXJhZGl1cygkcmFkaXVzKSB7XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAkcmFkaXVzO1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAkcmFkaXVzO1xuICB9XG59XG5cbkBtaXhpbiBib3JkZXItYm90dG9tLXJhZGl1cygkcmFkaXVzKSB7XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAkcmFkaXVzO1xuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6ICRyYWRpdXM7XG4gIH1cbn1cblxuQG1peGluIGJvcmRlci1sZWZ0LXJhZGl1cygkcmFkaXVzKSB7XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6ICRyYWRpdXM7XG4gICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogJHJhZGl1cztcbiAgfVxufVxuIiwiLy8gQ29tcG9uZW50c1xuLy9cbi8vIERlZmluZSBjb21tb24gcGFkZGluZyBhbmQgYm9yZGVyIHJhZGl1cyBzaXplcyBhbmQgbW9yZS5cblxuLy8kbGluZS1oZWlnaHQtbGc6ICAgICAgICAgKDQgLyAzKSAhZGVmYXVsdDtcbi8vJGxpbmUtaGVpZ2h0LXNtOiAgICAgICAgIDEuNSAhZGVmYXVsdDtcbi8vXG4kYm9yZGVyLXJhZGl1czogICAgICAgICAgLjEyNXJlbSAhZGVmYXVsdDsgLy8gLjI1cmVtICFkZWZhdWx0O1xuLy8kYm9yZGVyLXJhZGl1cy1sZzogICAgICAgLjNyZW0gIWRlZmF1bHQ7XG4kYm9yZGVyLXJhZGl1cy1zbTogICAgICAgLjA2MjVyZW0gIWRlZmF1bHQ7IC8vIC4ycmVtICFkZWZhdWx0O1xuLy9cbi8vJGNvbXBvbmVudC1hY3RpdmUtY29sb3I6ICNmZmYgIWRlZmF1bHQ7XG4vLyRjb21wb25lbnQtYWN0aXZlLWJnOiAgICAkYnJhbmQtcHJpbWFyeSAhZGVmYXVsdDtcbi8vXG4vLyRjYXJldC13aWR0aDogICAgICAgICAgICAuM2VtICFkZWZhdWx0O1xuLy8kY2FyZXQtd2lkdGgtbGc6ICAgICAgICAgJGNhcmV0LXdpZHRoICFkZWZhdWx0O1xuIiwiLy8gVG9nZ2xlc1xuLy9cbi8vIFVzZWQgaW4gY29uanVuY3Rpb24gd2l0aCBnbG9iYWwgdmFyaWFibGVzIHRvIGVuYWJsZSBjZXJ0YWluIHRoZW1lIGZlYXR1cmVzLlxuXG5AbWl4aW4gYm94LXNoYWRvdygkc2hhZG93Li4uKSB7XG4gIEBpZiAkZW5hYmxlLXNoYWRvd3Mge1xuICAgIGJveC1zaGFkb3c6ICRzaGFkb3c7XG4gIH1cbn1cblxuQG1peGluIHRyYW5zaXRpb24oJHRyYW5zaXRpb24uLi4pIHtcbiAgQGlmICRlbmFibGUtdHJhbnNpdGlvbnMge1xuICAgIHRyYW5zaXRpb246ICR0cmFuc2l0aW9uO1xuICB9XG59XG5cbi8vIFV0aWxpdGllc1xuQGltcG9ydCBcIm1peGlucy9icmVha3BvaW50c1wiO1xuQGltcG9ydCBcIm1peGlucy9ob3ZlclwiO1xuQGltcG9ydCBcIm1peGlucy9pbWFnZVwiO1xuQGltcG9ydCBcIm1peGlucy90YWdcIjtcbkBpbXBvcnQgXCJtaXhpbnMvcmVzZXQtZmlsdGVyXCI7XG5AaW1wb3J0IFwibWl4aW5zL3Jlc2l6ZVwiO1xuQGltcG9ydCBcIm1peGlucy9zY3JlZW4tcmVhZGVyXCI7XG5AaW1wb3J0IFwibWl4aW5zL3NpemVcIjtcbkBpbXBvcnQgXCJtaXhpbnMvdGFiLWZvY3VzXCI7XG5AaW1wb3J0IFwibWl4aW5zL3Jlc2V0LXRleHRcIjtcbkBpbXBvcnQgXCJtaXhpbnMvdGV4dC1lbXBoYXNpc1wiO1xuQGltcG9ydCBcIm1peGlucy90ZXh0LWhpZGVcIjtcbkBpbXBvcnQgXCJtaXhpbnMvdGV4dC10cnVuY2F0ZVwiO1xuXG4vLyAvLyBDb21wb25lbnRzXG5AaW1wb3J0IFwibWl4aW5zL2FsZXJ0XCI7XG5AaW1wb3J0IFwibWl4aW5zL2J1dHRvbnNcIjtcbkBpbXBvcnQgXCJtaXhpbnMvY2FyZHNcIjtcbkBpbXBvcnQgXCJtaXhpbnMvcGFnaW5hdGlvblwiO1xuQGltcG9ydCBcIm1peGlucy9saXN0c1wiO1xuQGltcG9ydCBcIm1peGlucy9saXN0LWdyb3VwXCI7XG5AaW1wb3J0IFwibWl4aW5zL25hdi1kaXZpZGVyXCI7XG5AaW1wb3J0IFwibWl4aW5zL2Zvcm1zXCI7XG5AaW1wb3J0IFwibWl4aW5zL3Byb2dyZXNzXCI7XG5AaW1wb3J0IFwibWl4aW5zL3RhYmxlLXJvd1wiO1xuXG4vLyAvLyBTa2luc1xuQGltcG9ydCBcIm1peGlucy9iYWNrZ3JvdW5kLXZhcmlhbnRcIjtcbkBpbXBvcnQgXCJtaXhpbnMvYm9yZGVyLXJhZGl1c1wiO1xuQGltcG9ydCBcIm1peGlucy9ncmFkaWVudHNcIjtcblxuLy8gLy8gTGF5b3V0XG5AaW1wb3J0IFwibWl4aW5zL2NsZWFyZml4XCI7XG4vLyBAaW1wb3J0IFwibWl4aW5zL25hdmJhci1hbGlnblwiO1xuQGltcG9ydCBcIm1peGlucy9ncmlkLWZyYW1ld29ya1wiO1xuQGltcG9ydCBcIm1peGlucy9ncmlkXCI7XG5AaW1wb3J0IFwibWl4aW5zL3B1bGxzXCI7XG4iLCIvLyBJbmxpbmUgYW5kIGJsb2NrIGNvZGUgc3R5bGVzXG5jb2RlLFxua2JkLFxucHJlLFxuc2FtcCB7XG4gIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktbW9ub3NwYWNlO1xufVxuXG4vLyBJbmxpbmUgY29kZVxuY29kZSB7XG4gIHBhZGRpbmc6ICRjb2RlLXBhZGRpbmcteSAkY29kZS1wYWRkaW5nLXg7XG4gIGZvbnQtc2l6ZTogJGNvZGUtZm9udC1zaXplO1xuICBjb2xvcjogJGNvZGUtY29sb3I7XG4gIGJhY2tncm91bmQtY29sb3I6ICRjb2RlLWJnO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRib3JkZXItcmFkaXVzKTtcbn1cblxuLy8gVXNlciBpbnB1dCB0eXBpY2FsbHkgZW50ZXJlZCB2aWEga2V5Ym9hcmRcbmtiZCB7XG4gIHBhZGRpbmc6ICRjb2RlLXBhZGRpbmcteSAkY29kZS1wYWRkaW5nLXg7XG4gIGZvbnQtc2l6ZTogJGNvZGUtZm9udC1zaXplO1xuICBjb2xvcjogJGtiZC1jb2xvcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGtiZC1iZztcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkYm9yZGVyLXJhZGl1cy1zbSk7XG4gIEBpbmNsdWRlIGJveC1zaGFkb3coJGtiZC1ib3gtc2hhZG93KTtcblxuICBrYmQge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgZm9udC1zaXplOiAxMDAlO1xuICAgIGZvbnQtd2VpZ2h0OiAkbmVzdGVkLWtiZC1mb250LXdlaWdodDtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KG5vbmUpO1xuICB9XG59XG5cbi8vIEJsb2NrcyBvZiBjb2RlXG5wcmUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgZm9udC1zaXplOiAkY29kZS1mb250LXNpemU7XG4gIGNvbG9yOiAkcHJlLWNvbG9yO1xuXG4gIC8vIEFjY291bnQgZm9yIHNvbWUgY29kZSBvdXRwdXRzIHRoYXQgcGxhY2UgY29kZSB0YWdzIGluIHByZSB0YWdzXG4gIGNvZGUge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgZm9udC1zaXplOiBpbmhlcml0O1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gIH1cbn1cblxuLy8gRW5hYmxlIHNjcm9sbGFibGUgYmxvY2tzIG9mIGNvZGVcbi5wcmUtc2Nyb2xsYWJsZSB7XG4gIG1heC1oZWlnaHQ6ICRwcmUtc2Nyb2xsYWJsZS1tYXgtaGVpZ2h0O1xuICBvdmVyZmxvdy15OiBzY3JvbGw7XG59XG4iLCIvLyBDb250YWluZXIgd2lkdGhzXG4vL1xuLy8gU2V0IHRoZSBjb250YWluZXIgd2lkdGgsIGFuZCBvdmVycmlkZSBpdCBmb3IgZml4ZWQgbmF2YmFycyBpbiBtZWRpYSBxdWVyaWVzLlxuXG5AaWYgJGVuYWJsZS1ncmlkLWNsYXNzZXMge1xuICAuY29udGFpbmVyIHtcbiAgICBAaW5jbHVkZSBtYWtlLWNvbnRhaW5lcigpO1xuICAgIEBpbmNsdWRlIG1ha2UtY29udGFpbmVyLW1heC13aWR0aHMoKTtcbiAgfVxufVxuXG4vLyBGbHVpZCBjb250YWluZXJcbi8vXG4vLyBVdGlsaXplcyB0aGUgbWl4aW4gbWVhbnQgZm9yIGZpeGVkIHdpZHRoIGNvbnRhaW5lcnMsIGJ1dCB3aXRob3V0IGFueSBkZWZpbmVkXG4vLyB3aWR0aCBmb3IgZmx1aWQsIGZ1bGwgd2lkdGggbGF5b3V0cy5cblxuQGlmICRlbmFibGUtZ3JpZC1jbGFzc2VzIHtcbiAgLmNvbnRhaW5lci1mbHVpZCB7XG4gICAgQGluY2x1ZGUgbWFrZS1jb250YWluZXIoKTtcbiAgfVxufVxuXG4vLyBSb3dcbi8vXG4vLyBSb3dzIGNvbnRhaW4gYW5kIGNsZWFyIHRoZSBmbG9hdHMgb2YgeW91ciBjb2x1bW5zLlxuXG5AaWYgJGVuYWJsZS1ncmlkLWNsYXNzZXMge1xuICAucm93IHtcbiAgICBAaW5jbHVkZSBtYWtlLXJvdygpO1xuICB9XG59XG5cbi8vIENvbHVtbnNcbi8vXG4vLyBDb21tb24gc3R5bGVzIGZvciBzbWFsbCBhbmQgbGFyZ2UgZ3JpZCBjb2x1bW5zXG5cbkBpZiAkZW5hYmxlLWdyaWQtY2xhc3NlcyB7XG4gIEBpbmNsdWRlIG1ha2UtZ3JpZC1jb2x1bW5zKCk7XG59XG4iLCIvLy8gR3JpZCBzeXN0ZW1cbi8vXG4vLyBHZW5lcmF0ZSBzZW1hbnRpYyBncmlkIGNvbHVtbnMgd2l0aCB0aGVzZSBtaXhpbnMuXG5cbkBtaXhpbiBtYWtlLWNvbnRhaW5lcigkZ3V0dGVyOiAkZ3JpZC1ndXR0ZXItd2lkdGgpIHtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgcGFkZGluZy1sZWZ0OiAgKCRndXR0ZXIgLyAyKTtcbiAgcGFkZGluZy1yaWdodDogKCRndXR0ZXIgLyAyKTtcbiAgQGlmIG5vdCAkZW5hYmxlLWZsZXgge1xuICAgIEBpbmNsdWRlIGNsZWFyZml4KCk7XG4gIH1cbn1cblxuXG4vLyBGb3IgZWFjaCBicmVha3BvaW50LCBkZWZpbmUgdGhlIG1heGltdW0gd2lkdGggb2YgdGhlIGNvbnRhaW5lciBpbiBhIG1lZGlhIHF1ZXJ5XG5AbWl4aW4gbWFrZS1jb250YWluZXItbWF4LXdpZHRocygkbWF4LXdpZHRoczogJGNvbnRhaW5lci1tYXgtd2lkdGhzLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gIEBlYWNoICRicmVha3BvaW50LCAkY29udGFpbmVyLW1heC13aWR0aCBpbiAkbWF4LXdpZHRocyB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICBtYXgtd2lkdGg6ICRjb250YWluZXItbWF4LXdpZHRoO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gbWFrZS1yb3coJGd1dHRlcjogJGdyaWQtZ3V0dGVyLXdpZHRoKSB7XG4gIEBpZiAkZW5hYmxlLWZsZXgge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICB9IEBlbHNlIHtcbiAgICBAaW5jbHVkZSBjbGVhcmZpeCgpO1xuICB9XG4gIG1hcmdpbi1sZWZ0OiAgKCRndXR0ZXIgLyAtMik7XG4gIG1hcmdpbi1yaWdodDogKCRndXR0ZXIgLyAtMik7XG59XG5cbkBtaXhpbiBtYWtlLWNvbC1yZWFkeSgkc2l6ZSwgJGNvbHVtbnM6ICRncmlkLWNvbHVtbnMsICRndXR0ZXI6ICRncmlkLWd1dHRlci13aWR0aCkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1pbi1oZWlnaHQ6IDFweDsgLy8gUHJldmVudCBjb2xsYXBzaW5nXG4gIHBhZGRpbmctcmlnaHQ6ICgkZ3V0dGVyIC8gMik7XG4gIHBhZGRpbmctbGVmdDogICgkZ3V0dGVyIC8gMik7XG5cbiAgLy8gUHJldmVudCBjb2x1bW5zIGZyb20gYmVjb21pbmcgdG9vIG5hcnJvdyB3aGVuIGF0IHNtYWxsZXIgZ3JpZCB0aWVycyBieVxuICAvLyBhbHdheXMgc2V0dGluZyBgd2lkdGg6IDEwMCU7YC4gVGhpcyB3b3JrcyBiZWNhdXNlIHdlIHVzZSBgZmxleGAgdmFsdWVzXG4gIC8vIGxhdGVyIG9uIHRvIG92ZXJyaWRlIHRoaXMgaW5pdGlhbCB3aWR0aC5cbiAgQGlmICRlbmFibGUtZmxleCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cblxuQG1peGluIG1ha2UtY29sKCRzaXplLCAkY29sdW1uczogJGdyaWQtY29sdW1ucywgJGd1dHRlcjogJGdyaWQtZ3V0dGVyLXdpZHRoKSB7XG4gIEBpZiAkZW5hYmxlLWZsZXgge1xuICAgIGZsZXg6IDAgMCBwZXJjZW50YWdlKCRzaXplIC8gJGNvbHVtbnMpO1xuICAgIC8vIEFkZCBhIGBtYXgtd2lkdGhgIHRvIGVuc3VyZSBjb250ZW50IHdpdGhpbiBlYWNoIGNvbHVtbiBkb2VzIG5vdCBibG93IG91dFxuICAgIC8vIHRoZSB3aWR0aCBvZiB0aGUgY29sdW1uLiBBcHBsaWVzIHRvIElFMTArIGFuZCBGaXJlZm94LiBDaHJvbWUgYW5kIFNhZmFyaVxuICAgIC8vIGRvIG5vdCBhcHBlYXIgdG8gcmVxdWlyZSB0aGlzLlxuICAgIG1heC13aWR0aDogcGVyY2VudGFnZSgkc2l6ZSAvICRjb2x1bW5zKTtcbiAgfSBAZWxzZSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IHBlcmNlbnRhZ2UoJHNpemUgLyAkY29sdW1ucyk7XG4gIH1cbn1cblxuQG1peGluIG1ha2UtY29sLW9mZnNldCgkc2l6ZSwgJGNvbHVtbnM6ICRncmlkLWNvbHVtbnMpIHtcbiAgbWFyZ2luLWxlZnQ6IHBlcmNlbnRhZ2UoJHNpemUgLyAkY29sdW1ucyk7XG59XG5cbkBtaXhpbiBtYWtlLWNvbC1wdXNoKCRzaXplLCAkY29sdW1uczogJGdyaWQtY29sdW1ucykge1xuICBsZWZ0OiBpZigkc2l6ZSA+IDAsIHBlcmNlbnRhZ2UoJHNpemUgLyAkY29sdW1ucyksIGF1dG8pO1xufVxuXG5AbWl4aW4gbWFrZS1jb2wtcHVsbCgkc2l6ZSwgJGNvbHVtbnM6ICRncmlkLWNvbHVtbnMpIHtcbiAgcmlnaHQ6IGlmKCRzaXplID4gMCwgcGVyY2VudGFnZSgkc2l6ZSAvICRjb2x1bW5zKSwgYXV0byk7XG59XG5cbkBtaXhpbiBtYWtlLWNvbC1tb2RpZmllcigkdHlwZSwgJHNpemUsICRjb2x1bW5zKSB7XG4gIC8vIFdvcmsgYXJvdW5kIHRoZSBsYWNrIG9mIGR5bmFtaWMgbWl4aW4gQGluY2x1ZGUgc3VwcG9ydCAoaHR0cHM6Ly9naXRodWIuY29tL3Nhc3Mvc2Fzcy9pc3N1ZXMvNjI2KVxuICBAaWYgJHR5cGUgPT0gcHVzaCB7XG4gICAgQGluY2x1ZGUgbWFrZS1jb2wtcHVzaCgkc2l6ZSwgJGNvbHVtbnMpO1xuICB9IEBlbHNlIGlmICR0eXBlID09IHB1bGwge1xuICAgIEBpbmNsdWRlIG1ha2UtY29sLXB1bGwoJHNpemUsICRjb2x1bW5zKTtcbiAgfSBAZWxzZSBpZiAkdHlwZSA9PSBvZmZzZXQge1xuICAgIEBpbmNsdWRlIG1ha2UtY29sLW9mZnNldCgkc2l6ZSwgJGNvbHVtbnMpO1xuICB9XG59XG4iLCIvLyBCcmVha3BvaW50IHZpZXdwb3J0IHNpemVzIGFuZCBtZWRpYSBxdWVyaWVzLlxuLy9cbi8vIEJyZWFrcG9pbnRzIGFyZSBkZWZpbmVkIGFzIGEgbWFwIG9mIChuYW1lOiBtaW5pbXVtIHdpZHRoKSwgb3JkZXIgZnJvbSBzbWFsbCB0byBsYXJnZTpcbi8vXG4vLyAgICAoeHM6IDAsIHNtOiA1NDRweCwgbWQ6IDc2OHB4KVxuLy9cbi8vIFRoZSBtYXAgZGVmaW5lZCBpbiB0aGUgYCRncmlkLWJyZWFrcG9pbnRzYCBnbG9iYWwgdmFyaWFibGUgaXMgdXNlZCBhcyB0aGUgYCRicmVha3BvaW50c2AgYXJndW1lbnQgYnkgZGVmYXVsdC5cblxuLy8gTmFtZSBvZiB0aGUgbmV4dCBicmVha3BvaW50LCBvciBudWxsIGZvciB0aGUgbGFzdCBicmVha3BvaW50LlxuLy9cbi8vICAgID4+IGJyZWFrcG9pbnQtbmV4dChzbSlcbi8vICAgIG1kXG4vLyAgICA+PiBicmVha3BvaW50LW5leHQoc20sICh4czogMCwgc206IDU0NHB4LCBtZDogNzY4cHgpKVxuLy8gICAgbWRcbi8vICAgID4+IGJyZWFrcG9pbnQtbmV4dChzbSwgJGJyZWFrcG9pbnQtbmFtZXM6ICh4cyBzbSBtZCkpXG4vLyAgICBtZFxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtbmV4dCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cywgJGJyZWFrcG9pbnQtbmFtZXM6IG1hcC1rZXlzKCRicmVha3BvaW50cykpIHtcbiAgJG46IGluZGV4KCRicmVha3BvaW50LW5hbWVzLCAkbmFtZSk7XG4gIEByZXR1cm4gaWYoJG4gPCBsZW5ndGgoJGJyZWFrcG9pbnQtbmFtZXMpLCBudGgoJGJyZWFrcG9pbnQtbmFtZXMsICRuICsgMSksIG51bGwpO1xufVxuXG4vLyBNaW5pbXVtIGJyZWFrcG9pbnQgd2lkdGguIE51bGwgZm9yIHRoZSBzbWFsbGVzdCAoZmlyc3QpIGJyZWFrcG9pbnQuXG4vL1xuLy8gICAgPj4gYnJlYWtwb2ludC1taW4oc20sICh4czogMCwgc206IDU0NHB4LCBtZDogNzY4cHgpKVxuLy8gICAgNTQ0cHhcbkBmdW5jdGlvbiBicmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWluOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJG5hbWUpO1xuICBAcmV0dXJuIGlmKCRtaW4gIT0gMCwgJG1pbiwgbnVsbCk7XG59XG5cbi8vIE1heGltdW0gYnJlYWtwb2ludCB3aWR0aC4gTnVsbCBmb3IgdGhlIGxhcmdlc3QgKGxhc3QpIGJyZWFrcG9pbnQuXG4vLyBUaGUgbWF4aW11bSB2YWx1ZSBpcyBjYWxjdWxhdGVkIGFzIHRoZSBtaW5pbXVtIG9mIHRoZSBuZXh0IG9uZSBsZXNzIDAuMS5cbi8vXG4vLyAgICA+PiBicmVha3BvaW50LW1heChzbSwgKHhzOiAwLCBzbTogNTQ0cHgsIG1kOiA3NjhweCkpXG4vLyAgICA3NjdweFxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtbWF4KCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRuZXh0OiBicmVha3BvaW50LW5leHQoJG5hbWUsICRicmVha3BvaW50cyk7XG4gIEByZXR1cm4gaWYoJG5leHQsIGJyZWFrcG9pbnQtbWluKCRuZXh0LCAkYnJlYWtwb2ludHMpIC0gMXB4LCBudWxsKTtcbn1cblxuLy8gTWVkaWEgb2YgYXQgbGVhc3QgdGhlIG1pbmltdW0gYnJlYWtwb2ludCB3aWR0aC4gTm8gcXVlcnkgZm9yIHRoZSBzbWFsbGVzdCBicmVha3BvaW50LlxuLy8gTWFrZXMgdGhlIEBjb250ZW50IGFwcGx5IHRvIHRoZSBnaXZlbiBicmVha3BvaW50IGFuZCB3aWRlci5cbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LXVwKCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtaW46IGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuICBAaWYgJG1pbiB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRtaW4pIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8gTWVkaWEgb2YgYXQgbW9zdCB0aGUgbWF4aW11bSBicmVha3BvaW50IHdpZHRoLiBObyBxdWVyeSBmb3IgdGhlIGxhcmdlc3QgYnJlYWtwb2ludC5cbi8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSB0byB0aGUgZ2l2ZW4gYnJlYWtwb2ludCBhbmQgbmFycm93ZXIuXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC1kb3duKCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtYXg6IGJyZWFrcG9pbnQtbWF4KCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuICBAaWYgJG1heCB7XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRtYXgpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8gTWVkaWEgYmV0d2VlbiB0aGUgYnJlYWtwb2ludCdzIG1pbmltdW0gYW5kIG1heGltdW0gd2lkdGhzLlxuLy8gTm8gbWluaW11bSBmb3IgdGhlIHNtYWxsZXN0IGJyZWFrcG9pbnQsIGFuZCBubyBtYXhpbXVtIGZvciB0aGUgbGFyZ2VzdCBvbmUuXG4vLyBNYWtlcyB0aGUgQGNvbnRlbnQgYXBwbHkgb25seSB0byB0aGUgZ2l2ZW4gYnJlYWtwb2ludCwgbm90IHZpZXdwb3J0cyBhbnkgd2lkZXIgb3IgbmFycm93ZXIuXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC1vbmx5KCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJG5hbWUsICRicmVha3BvaW50cykge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkbmFtZSwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8gTWVkaWEgdGhhdCBzcGFucyBtdWx0aXBsZSBicmVha3BvaW50IHdpZHRocy5cbi8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSBiZXR3ZWVuIHRoZSBtaW4gYW5kIG1heCBicmVha3BvaW50c1xuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtYmV0d2VlbigkbG93ZXIsICR1cHBlciwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRsb3dlciwgJGJyZWFrcG9pbnRzKSB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKCR1cHBlciwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZyYW1ld29yayBncmlkIGdlbmVyYXRpb25cbi8vXG4vLyBVc2VkIG9ubHkgYnkgQm9vdHN0cmFwIHRvIGdlbmVyYXRlIHRoZSBjb3JyZWN0IG51bWJlciBvZiBncmlkIGNsYXNzZXMgZ2l2ZW5cbi8vIGFueSB2YWx1ZSBvZiBgJGdyaWQtY29sdW1uc2AuXG5cbkBtaXhpbiBtYWtlLWdyaWQtY29sdW1ucygkY29sdW1uczogJGdyaWQtY29sdW1ucywgJGd1dHRlcjogJGdyaWQtZ3V0dGVyLXdpZHRoLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG5cbiAgLy8gQ29tbW9uIHByb3BlcnRpZXMgZm9yIGFsbCBicmVha3BvaW50c1xuICAlZ3JpZC1jb2x1bW4ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAvLyBQcmV2ZW50IGNvbHVtbnMgZnJvbSBjb2xsYXBzaW5nIHdoZW4gZW1wdHlcbiAgICBtaW4taGVpZ2h0OiAxcHg7XG4gICAgLy8gSW5uZXIgZ3V0dGVyIHZpYSBwYWRkaW5nXG4gICAgcGFkZGluZy1yaWdodDogKCRndXR0ZXIgLyAyKTtcbiAgICBwYWRkaW5nLWxlZnQ6ICgkZ3V0dGVyIC8gMik7XG5cbiAgICBAaWYgJGVuYWJsZS1mbGV4IHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgfVxuXG4gICRicmVha3BvaW50LWNvdW50ZXI6IDA7XG4gIEBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRicmVha3BvaW50cykge1xuICAgICRicmVha3BvaW50LWNvdW50ZXI6ICgkYnJlYWtwb2ludC1jb3VudGVyICsgMSk7XG5cbiAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRjb2x1bW5zIHtcbiAgICAgIC5jb2wtI3skYnJlYWtwb2ludH0tI3skaX0ge1xuICAgICAgICBAZXh0ZW5kICVncmlkLWNvbHVtbjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50LCAkYnJlYWtwb2ludHMpIHtcbiAgICAgIC8vIFByb3ZpZGUgYmFzaWMgYC5jb2wte2JwfWAgY2xhc3NlcyBmb3IgZXF1YWwtd2lkdGggZmxleGJveCBjb2x1bW5zXG4gICAgICBAaWYgJGVuYWJsZS1mbGV4IHtcbiAgICAgICAgLmNvbC0jeyRicmVha3BvaW50fSB7XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgIGZsZXgtYmFzaXM6IDA7XG4gICAgICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgICBtaW4taGVpZ2h0OiAxcHg7XG4gICAgICAgICAgcGFkZGluZy1yaWdodDogKCRncmlkLWd1dHRlci13aWR0aCAvIDIpO1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogICgkZ3JpZC1ndXR0ZXItd2lkdGggLyAyKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRjb2x1bW5zIHtcbiAgICAgICAgLmNvbC0jeyRicmVha3BvaW50fS0jeyRpfSB7XG4gICAgICAgICAgQGluY2x1ZGUgbWFrZS1jb2woJGksICRjb2x1bW5zLCAkZ3V0dGVyKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBAZWFjaCAkbW9kaWZpZXIgaW4gKHB1bGwsIHB1c2gpIHtcbiAgICAgICAgQGZvciAkaSBmcm9tIDAgdGhyb3VnaCAkY29sdW1ucyB7XG4gICAgICAgICAgLiN7JG1vZGlmaWVyfS0jeyRicmVha3BvaW50fS0jeyRpfSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBtYWtlLWNvbC1tb2RpZmllcigkbW9kaWZpZXIsICRpLCAkY29sdW1ucylcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLy8gYCRjb2x1bW5zIC0gMWAgYmVjYXVzZSBvZmZzZXR0aW5nIGJ5IHRoZSB3aWR0aCBvZiBhbiBlbnRpcmUgcm93IGlzbid0IHBvc3NpYmxlXG4gICAgICBAZm9yICRpIGZyb20gMCB0aHJvdWdoICgkY29sdW1ucyAtIDEpIHtcbiAgICAgICAgQGlmICRicmVha3BvaW50LWNvdW50ZXIgIT0gMSBvciAkaSAhPSAwIHsgLy8gQXZvaWQgZW1pdHRpbmcgdXNlbGVzcyAub2Zmc2V0LXhzLTBcbiAgICAgICAgICAub2Zmc2V0LSN7JGJyZWFrcG9pbnR9LSN7JGl9IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1ha2UtY29sLW1vZGlmaWVyKG9mZnNldCwgJGksICRjb2x1bW5zKVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy9cbi8vIEJhc2ljIEJvb3RzdHJhcCB0YWJsZVxuLy9cblxuLnRhYmxlIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogJHNwYWNlcjtcblxuICB0aCxcbiAgdGQge1xuICAgIHBhZGRpbmc6ICR0YWJsZS1jZWxsLXBhZGRpbmc7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICBib3JkZXItdG9wOiAkdGFibGUtYm9yZGVyLXdpZHRoIHNvbGlkICR0YWJsZS1ib3JkZXItY29sb3I7XG4gIH1cblxuICB0aGVhZCB0aCB7XG4gICAgdmVydGljYWwtYWxpZ246IGJvdHRvbTtcbiAgICBib3JkZXItYm90dG9tOiAoMiAqICR0YWJsZS1ib3JkZXItd2lkdGgpIHNvbGlkICR0YWJsZS1ib3JkZXItY29sb3I7XG4gIH1cblxuICB0Ym9keSArIHRib2R5IHtcbiAgICBib3JkZXItdG9wOiAoMiAqICR0YWJsZS1ib3JkZXItd2lkdGgpIHNvbGlkICR0YWJsZS1ib3JkZXItY29sb3I7XG4gIH1cblxuICAudGFibGUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRib2R5LWJnO1xuICB9XG59XG5cblxuLy9cbi8vIENvbmRlbnNlZCB0YWJsZSB3LyBoYWxmIHBhZGRpbmdcbi8vXG5cbi50YWJsZS1zbSB7XG4gIHRoLFxuICB0ZCB7XG4gICAgcGFkZGluZzogJHRhYmxlLXNtLWNlbGwtcGFkZGluZztcbiAgfVxufVxuXG5cbi8vIEJvcmRlcmVkIHZlcnNpb25cbi8vXG4vLyBBZGQgYm9yZGVycyBhbGwgYXJvdW5kIHRoZSB0YWJsZSBhbmQgYmV0d2VlbiBhbGwgdGhlIGNvbHVtbnMuXG5cbi50YWJsZS1ib3JkZXJlZCB7XG4gIGJvcmRlcjogJHRhYmxlLWJvcmRlci13aWR0aCBzb2xpZCAkdGFibGUtYm9yZGVyLWNvbG9yO1xuXG4gIHRoLFxuICB0ZCB7XG4gICAgYm9yZGVyOiAkdGFibGUtYm9yZGVyLXdpZHRoIHNvbGlkICR0YWJsZS1ib3JkZXItY29sb3I7XG4gIH1cblxuICB0aGVhZCB7XG4gICAgdGgsXG4gICAgdGQge1xuICAgICAgYm9yZGVyLWJvdHRvbS13aWR0aDogKDIgKiAkdGFibGUtYm9yZGVyLXdpZHRoKTtcbiAgICB9XG4gIH1cbn1cblxuXG4vLyBaZWJyYS1zdHJpcGluZ1xuLy9cbi8vIERlZmF1bHQgemVicmEtc3RyaXBlIHN0eWxlcyAoYWx0ZXJuYXRpbmcgZ3JheSBhbmQgdHJhbnNwYXJlbnQgYmFja2dyb3VuZHMpXG5cbi50YWJsZS1zdHJpcGVkIHtcbiAgdGJvZHkgdHI6bnRoLW9mLXR5cGUob2RkKSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWJnLWFjY2VudDtcbiAgfVxufVxuXG5cbi8vIEhvdmVyIGVmZmVjdFxuLy9cbi8vIFBsYWNlZCBoZXJlIHNpbmNlIGl0IGhhcyB0byBjb21lIGFmdGVyIHRoZSBwb3RlbnRpYWwgemVicmEgc3RyaXBpbmdcblxuLnRhYmxlLWhvdmVyIHtcbiAgdGJvZHkgdHIge1xuICAgIEBpbmNsdWRlIGhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1iZy1ob3ZlcjtcbiAgICB9XG4gIH1cbn1cblxuXG4vLyBUYWJsZSBiYWNrZ3JvdW5kc1xuLy9cbi8vIEV4YWN0IHNlbGVjdG9ycyBiZWxvdyByZXF1aXJlZCB0byBvdmVycmlkZSBgLnRhYmxlLXN0cmlwZWRgIGFuZCBwcmV2ZW50XG4vLyBpbmhlcml0YW5jZSB0byBuZXN0ZWQgdGFibGVzLlxuXG4vLyBHZW5lcmF0ZSB0aGUgY29udGV4dHVhbCB2YXJpYW50c1xuQGluY2x1ZGUgdGFibGUtcm93LXZhcmlhbnQoYWN0aXZlLCAkdGFibGUtYmctYWN0aXZlKTtcbkBpbmNsdWRlIHRhYmxlLXJvdy12YXJpYW50KHN1Y2Nlc3MsICRzdGF0ZS1zdWNjZXNzLWJnKTtcbkBpbmNsdWRlIHRhYmxlLXJvdy12YXJpYW50KGluZm8sICRzdGF0ZS1pbmZvLWJnKTtcbkBpbmNsdWRlIHRhYmxlLXJvdy12YXJpYW50KHdhcm5pbmcsICRzdGF0ZS13YXJuaW5nLWJnKTtcbkBpbmNsdWRlIHRhYmxlLXJvdy12YXJpYW50KGRhbmdlciwgJHN0YXRlLWRhbmdlci1iZyk7XG5cblxuLy8gSW52ZXJzZSBzdHlsZXNcbi8vXG4vLyBTYW1lIHRhYmxlIG1hcmt1cCwgYnV0IGludmVydGVkIGNvbG9yIHNjaGVtZeKAlGRhcmsgYmFja2dyb3VuZCBhbmQgbGlnaHQgdGV4dC5cblxuLnRoZWFkLWludmVyc2Uge1xuICB0aCB7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGdyYXktZGFyaztcbiAgfVxufVxuXG4udGhlYWQtZGVmYXVsdCB7XG4gIHRoIHtcbiAgICBjb2xvcjogJGdyYXk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGdyYXktbGlnaHRlcjtcbiAgfVxufVxuXG4udGFibGUtaW52ZXJzZSB7XG4gIGNvbG9yOiAkZ3JheS1saWdodGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JheS1kYXJrO1xuXG4gIHRoLFxuICB0ZCxcbiAgdGhlYWQgdGgge1xuICAgIGJvcmRlci1jb2xvcjogJGdyYXk7XG4gIH1cblxuICAmLnRhYmxlLWJvcmRlcmVkIHtcbiAgICBib3JkZXI6IDA7XG4gIH1cbn1cblxuXG5cbi8vIFJlc3BvbnNpdmUgdGFibGVzXG4vL1xuLy8gV3JhcCB5b3VyIHRhYmxlcyBpbiBgLnRhYmxlLXJlc3BvbnNpdmVgIGFuZCB3ZSdsbCBtYWtlIHRoZW0gbW9iaWxlIGZyaWVuZGx5XG4vLyBieSBlbmFibGluZyBob3Jpem9udGFsIHNjcm9sbGluZy4gT25seSBhcHBsaWVzIDw3NjhweC4gRXZlcnl0aGluZyBhYm92ZSB0aGF0XG4vLyB3aWxsIGRpc3BsYXkgbm9ybWFsbHkuXG5cbi50YWJsZS1yZXNwb25zaXZlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBtaW4taGVpZ2h0OiAuMDElOyAvLyBXb3JrYXJvdW5kIGZvciBJRTkgYnVnIChzZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xNDgzNylcbiAgb3ZlcmZsb3cteDogYXV0bztcblxuICAvLyBUT0RPOiBmaW5kIG91dCBpZiB3ZSBuZWVkIHRoaXMgc3RpbGwuXG4gIC8vXG4gIC8vIGJvcmRlcjogJHRhYmxlLWJvcmRlci13aWR0aCBzb2xpZCAkdGFibGUtYm9yZGVyLWNvbG9yO1xuICAvLyAtbXMtb3ZlcmZsb3ctc3R5bGU6IC1tcy1hdXRvaGlkaW5nLXNjcm9sbGJhcjsgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9wdWxsLzEwMDU3XG59XG5cblxuLnRhYmxlLXJlZmxvdyB7XG4gIHRoZWFkIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgfVxuXG4gIHRib2R5IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICB9XG5cbiAgdGgsXG4gIHRkIHtcbiAgICBib3JkZXItdG9wOiAkdGFibGUtYm9yZGVyLXdpZHRoIHNvbGlkICR0YWJsZS1ib3JkZXItY29sb3I7XG4gICAgYm9yZGVyLWxlZnQ6ICR0YWJsZS1ib3JkZXItd2lkdGggc29saWQgJHRhYmxlLWJvcmRlci1jb2xvcjtcblxuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICBib3JkZXItcmlnaHQ6ICR0YWJsZS1ib3JkZXItd2lkdGggc29saWQgJHRhYmxlLWJvcmRlci1jb2xvcjtcbiAgICB9XG4gIH1cblxuICB0aGVhZCxcbiAgdGJvZHksXG4gIHRmb290IHtcbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgdHI6bGFzdC1jaGlsZCB0aCxcbiAgICAgIHRyOmxhc3QtY2hpbGQgdGQge1xuICAgICAgICBib3JkZXItYm90dG9tOiAkdGFibGUtYm9yZGVyLXdpZHRoIHNvbGlkICR0YWJsZS1ib3JkZXItY29sb3I7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gc2Nzcy1saW50OmRpc2FibGUgSW1wb3J0YW50UnVsZVxuICB0ciB7XG4gICAgZmxvYXQ6IGxlZnQ7XG5cbiAgICB0aCxcbiAgICB0ZCB7XG4gICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgICAgYm9yZGVyOiAkdGFibGUtYm9yZGVyLXdpZHRoIHNvbGlkICR0YWJsZS1ib3JkZXItY29sb3I7XG4gICAgfVxuICB9XG4gIC8vIHNjc3MtbGludDplbmFibGUgSW1wb3J0YW50UnVsZVxufVxuIiwiLy8gVGFibGVzXG5cbkBtaXhpbiB0YWJsZS1yb3ctdmFyaWFudCgkc3RhdGUsICRiYWNrZ3JvdW5kKSB7XG4gIC8vIEV4YWN0IHNlbGVjdG9ycyBiZWxvdyByZXF1aXJlZCB0byBvdmVycmlkZSBgLnRhYmxlLXN0cmlwZWRgIGFuZCBwcmV2ZW50XG4gIC8vIGluaGVyaXRhbmNlIHRvIG5lc3RlZCB0YWJsZXMuXG4gIC50YWJsZS0jeyRzdGF0ZX0ge1xuICAgICYsXG4gICAgPiB0aCxcbiAgICA+IHRkIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuICAgIH1cbiAgfVxuXG4gIC8vIEhvdmVyIHN0YXRlcyBmb3IgYC50YWJsZS1ob3ZlcmBcbiAgLy8gTm90ZTogdGhpcyBpcyBub3QgYXZhaWxhYmxlIGZvciBjZWxscyBvciByb3dzIHdpdGhpbiBgdGhlYWRgIG9yIGB0Zm9vdGAuXG4gIC50YWJsZS1ob3ZlciB7XG4gICAgJGhvdmVyLWJhY2tncm91bmQ6IGRhcmtlbigkYmFja2dyb3VuZCwgNSUpO1xuXG4gICAgLnRhYmxlLSN7JHN0YXRlfSB7XG4gICAgICBAaW5jbHVkZSBob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRob3Zlci1iYWNrZ3JvdW5kO1xuXG4gICAgICAgID4gdGQsXG4gICAgICAgID4gdGgge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRob3Zlci1iYWNrZ3JvdW5kO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBzY3NzLWxpbnQ6ZGlzYWJsZSBRdWFsaWZ5aW5nRWxlbWVudFxuXG4vL1xuLy8gVGV4dHVhbCBmb3JtIGNvbnRyb2xzXG4vL1xuXG4uZm9ybS1jb250cm9sIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICAvLyAvLyBNYWtlIGlucHV0cyBhdCBsZWFzdCB0aGUgaGVpZ2h0IG9mIHRoZWlyIGJ1dHRvbiBjb3VudGVycGFydCAoYmFzZSBsaW5lLWhlaWdodCArIHBhZGRpbmcgKyBib3JkZXIpXG4gIC8vIGhlaWdodDogJGlucHV0LWhlaWdodDtcbiAgcGFkZGluZzogJGlucHV0LXBhZGRpbmcteSAkaW5wdXQtcGFkZGluZy14O1xuICBmb250LXNpemU6ICRmb250LXNpemUtYmFzZTtcbiAgbGluZS1oZWlnaHQ6ICRpbnB1dC1saW5lLWhlaWdodDtcbiAgY29sb3I6ICRpbnB1dC1jb2xvcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJnO1xuICAvLyBSZXNldCB1bnVzdWFsIEZpcmVmb3gtb24tQW5kcm9pZCBkZWZhdWx0IHN0eWxlOyBzZWUgaHR0cHM6Ly9naXRodWIuY29tL25lY29sYXMvbm9ybWFsaXplLmNzcy9pc3N1ZXMvMjE0LlxuICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuICBib3JkZXI6ICRpbnB1dC1idG4tYm9yZGVyLXdpZHRoIHNvbGlkICRpbnB1dC1ib3JkZXItY29sb3I7XG4gIC8vIE5vdGU6IFRoaXMgaGFzIG5vIGVmZmVjdCBvbiA8c2VsZWN0PnMgaW4gc29tZSBicm93c2VycywgZHVlIHRvIHRoZSBsaW1pdGVkIHN0eWxhYmlsaXR5IG9mIGA8c2VsZWN0PmBzIGluIENTUy5cbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkaW5wdXQtYm9yZGVyLXJhZGl1cyk7XG4gIEBpbmNsdWRlIGJveC1zaGFkb3coJGlucHV0LWJveC1zaGFkb3cpO1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKGJvcmRlci1jb2xvciBlYXNlLWluLW91dCAuMTVzLCBib3gtc2hhZG93IGVhc2UtaW4tb3V0IC4xNXMpO1xuXG4gIC8vIFVuc3R5bGUgdGhlIGNhcmV0IG9uIGA8c2VsZWN0PmBzIGluIElFMTArLlxuICAmOjotbXMtZXhwYW5kIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXI6IDA7XG4gIH1cblxuICAvLyBDdXN0b21pemUgdGhlIGA6Zm9jdXNgIHN0YXRlIHRvIGltaXRhdGUgbmF0aXZlIFdlYktpdCBzdHlsZXMuXG4gIEBpbmNsdWRlIGZvcm0tY29udHJvbC1mb2N1cygpO1xuXG4gIC8vIFBsYWNlaG9sZGVyXG4gICY6OnBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogJGlucHV0LWNvbG9yLXBsYWNlaG9sZGVyO1xuICAgIC8vIE92ZXJyaWRlIEZpcmVmb3gncyB1bnVzdWFsIGRlZmF1bHQgb3BhY2l0eTsgc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9wdWxsLzExNTI2LlxuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICAvLyBEaXNhYmxlZCBhbmQgcmVhZC1vbmx5IGlucHV0c1xuICAvL1xuICAvLyBIVE1MNSBzYXlzIHRoYXQgY29udHJvbHMgdW5kZXIgYSBmaWVsZHNldCA+IGxlZ2VuZDpmaXJzdC1jaGlsZCB3b24ndCBiZVxuICAvLyBkaXNhYmxlZCBpZiB0aGUgZmllbGRzZXQgaXMgZGlzYWJsZWQuIER1ZSB0byBpbXBsZW1lbnRhdGlvbiBkaWZmaWN1bHR5LCB3ZVxuICAvLyBkb24ndCBob25vciB0aGF0IGVkZ2UgY2FzZTsgd2Ugc3R5bGUgdGhlbSBhcyBkaXNhYmxlZCBhbnl3YXkuXG4gICY6ZGlzYWJsZWQsXG4gICZbcmVhZG9ubHldIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmctZGlzYWJsZWQ7XG4gICAgLy8gaU9TIGZpeCBmb3IgdW5yZWFkYWJsZSBkaXNhYmxlZCBjb250ZW50OyBzZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xMTY1NS5cbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgJjpkaXNhYmxlZCB7XG4gICAgY3Vyc29yOiAkY3Vyc29yLWRpc2FibGVkO1xuICB9XG59XG5cbnNlbGVjdC5mb3JtLWNvbnRyb2wge1xuICAmOm5vdChbc2l6ZV0pOm5vdChbbXVsdGlwbGVdKSB7XG4gICAgaGVpZ2h0OiAkaW5wdXQtaGVpZ2h0O1xuICB9XG5cbiAgJjpmb2N1czo6LW1zLXZhbHVlIHtcbiAgICAvLyBTdXBwcmVzcyB0aGUgbmVzdGVkIGRlZmF1bHQgd2hpdGUgdGV4dCBvbiBibHVlIGJhY2tncm91bmQgaGlnaGxpZ2h0IGdpdmVuIHRvXG4gICAgLy8gdGhlIHNlbGVjdGVkIG9wdGlvbiB0ZXh0IHdoZW4gdGhlIChzdGlsbCBjbG9zZWQpIDxzZWxlY3Q+IHJlY2VpdmVzIGZvY3VzXG4gICAgLy8gaW4gSUUgYW5kICh1bmRlciBjZXJ0YWluIGNvbmRpdGlvbnMpIEVkZ2UsIGFzIGl0IGxvb2tzIGJhZCBhbmQgY2Fubm90IGJlIG1hZGUgdG9cbiAgICAvLyBtYXRjaCB0aGUgYXBwZWFyYW5jZSBvZiB0aGUgbmF0aXZlIHdpZGdldC5cbiAgICAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xOTM5OC5cbiAgICBjb2xvcjogJGlucHV0LWNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iZztcbiAgfVxufVxuXG4vLyBNYWtlIGZpbGUgaW5wdXRzIGJldHRlciBtYXRjaCB0ZXh0IGlucHV0cyBieSBmb3JjaW5nIHRoZW0gdG8gbmV3IGxpbmVzLlxuLmZvcm0tY29udHJvbC1maWxlLFxuLmZvcm0tY29udHJvbC1yYW5nZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG5cbi8vXG4vLyBMYWJlbHNcbi8vXG5cbi8vIEZvciB1c2Ugd2l0aCBob3Jpem9udGFsIGFuZCBpbmxpbmUgZm9ybXMsIHdoZW4geW91IG5lZWQgdGhlIGxhYmVsIHRleHQgdG9cbi8vIGFsaWduIHdpdGggdGhlIGZvcm0gY29udHJvbHMuXG4uY29sLWZvcm0tbGFiZWwge1xuICBwYWRkaW5nLXRvcDogJGlucHV0LXBhZGRpbmcteTtcbiAgcGFkZGluZy1ib3R0b206ICRpbnB1dC1wYWRkaW5nLXk7XG4gIG1hcmdpbi1ib3R0b206IDA7IC8vIE92ZXJyaWRlIHRoZSBgPGxhYmVsPmAgZGVmYXVsdFxufVxuXG4uY29sLWZvcm0tbGFiZWwtbGcge1xuICBwYWRkaW5nLXRvcDogJGlucHV0LXBhZGRpbmcteS1sZztcbiAgcGFkZGluZy1ib3R0b206ICRpbnB1dC1wYWRkaW5nLXktbGc7XG4gIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1sZztcbn1cblxuLmNvbC1mb3JtLWxhYmVsLXNtIHtcbiAgcGFkZGluZy10b3A6ICRpbnB1dC1wYWRkaW5nLXktc207XG4gIHBhZGRpbmctYm90dG9tOiAkaW5wdXQtcGFkZGluZy15LXNtO1xuICBmb250LXNpemU6ICRmb250LXNpemUtc207XG59XG5cblxuLy9cbi8vIExlZ2VuZHNcbi8vXG5cbi8vIEZvciB1c2Ugd2l0aCBob3Jpem9udGFsIGFuZCBpbmxpbmUgZm9ybXMsIHdoZW4geW91IG5lZWQgdGhlIGxlZ2VuZCB0ZXh0IHRvXG4vLyBiZSB0aGUgc2FtZSBzaXplIGFzIHJlZ3VsYXIgbGFiZWxzLCBhbmQgdG8gYWxpZ24gd2l0aCB0aGUgZm9ybSBjb250cm9scy5cbi5jb2wtZm9ybS1sZWdlbmQge1xuICBwYWRkaW5nLXRvcDogJGlucHV0LXBhZGRpbmcteTtcbiAgcGFkZGluZy1ib3R0b206ICRpbnB1dC1wYWRkaW5nLXk7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1iYXNlO1xufVxuXG5cbi8vIFN0YXRpYyBmb3JtIGNvbnRyb2wgdGV4dFxuLy9cbi8vIEFwcGx5IGNsYXNzIHRvIGFuIGVsZW1lbnQgdG8gbWFrZSBhbnkgc3RyaW5nIG9mIHRleHQgYWxpZ24gd2l0aCBsYWJlbHMgaW4gYVxuLy8gaG9yaXpvbnRhbCBmb3JtIGxheW91dC5cblxuLmZvcm0tY29udHJvbC1zdGF0aWMge1xuICBtaW4taGVpZ2h0OiAkaW5wdXQtaGVpZ2h0O1xuICAvLyBTaXplIGl0IGFwcHJvcHJpYXRlbHkgbmV4dCB0byByZWFsIGZvcm0gY29udHJvbHNcbiAgcGFkZGluZy10b3A6ICRpbnB1dC1wYWRkaW5nLXk7XG4gIHBhZGRpbmctYm90dG9tOiAkaW5wdXQtcGFkZGluZy15O1xuICAvLyBSZW1vdmUgZGVmYXVsdCBtYXJnaW4gZnJvbSBgcGBcbiAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAmLmZvcm0tY29udHJvbC1zbSxcbiAgJi5mb3JtLWNvbnRyb2wtbGcge1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICB9XG59XG5cblxuLy8gRm9ybSBjb250cm9sIHNpemluZ1xuLy9cbi8vIEJ1aWxkIG9uIGAuZm9ybS1jb250cm9sYCB3aXRoIG1vZGlmaWVyIGNsYXNzZXMgdG8gZGVjcmVhc2Ugb3IgaW5jcmVhc2UgdGhlXG4vLyBoZWlnaHQgYW5kIGZvbnQtc2l6ZSBvZiBmb3JtIGNvbnRyb2xzLlxuLy9cbi8vIFRoZSBgLmZvcm0tZ3JvdXAtKiBmb3JtLWNvbnRyb2xgIHZhcmlhdGlvbnMgYXJlIHNhZGx5IGR1cGxpY2F0ZWQgdG8gYXZvaWQgdGhlXG4vLyBpc3N1ZSBkb2N1bWVudGVkIGluIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMTUwNzQuXG5cbi5mb3JtLWNvbnRyb2wtc20ge1xuICBwYWRkaW5nOiAkaW5wdXQtcGFkZGluZy15LXNtICRpbnB1dC1wYWRkaW5nLXgtc207XG4gIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1zbTtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkaW5wdXQtYm9yZGVyLXJhZGl1cy1zbSk7XG59XG5cbnNlbGVjdC5mb3JtLWNvbnRyb2wtc20ge1xuICAmOm5vdChbc2l6ZV0pOm5vdChbbXVsdGlwbGVdKSB7XG4gICAgaGVpZ2h0OiAkaW5wdXQtaGVpZ2h0LXNtO1xuICB9XG59XG5cbi5mb3JtLWNvbnRyb2wtbGcge1xuICBwYWRkaW5nOiAkaW5wdXQtcGFkZGluZy15LWxnICRpbnB1dC1wYWRkaW5nLXgtbGc7XG4gIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1sZztcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkaW5wdXQtYm9yZGVyLXJhZGl1cy1sZyk7XG59XG5cbnNlbGVjdC5mb3JtLWNvbnRyb2wtbGcge1xuICAmOm5vdChbc2l6ZV0pOm5vdChbbXVsdGlwbGVdKSB7XG4gICAgaGVpZ2h0OiAkaW5wdXQtaGVpZ2h0LWxnO1xuICB9XG59XG5cblxuLy8gRm9ybSBncm91cHNcbi8vXG4vLyBEZXNpZ25lZCB0byBoZWxwIHdpdGggdGhlIG9yZ2FuaXphdGlvbiBhbmQgc3BhY2luZyBvZiB2ZXJ0aWNhbCBmb3Jtcy4gRm9yXG4vLyBob3Jpem9udGFsIGZvcm1zLCB1c2UgdGhlIHByZWRlZmluZWQgZ3JpZCBjbGFzc2VzLlxuXG4uZm9ybS1ncm91cCB7XG4gIG1hcmdpbi1ib3R0b206ICRmb3JtLWdyb3VwLW1hcmdpbi1ib3R0b207XG59XG5cbi5mb3JtLXRleHQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLXRvcDogKCRzcGFjZXIgKiAuMjUpO1xufVxuXG5cbi8vIENoZWNrYm94ZXMgYW5kIHJhZGlvc1xuLy9cbi8vIEluZGVudCB0aGUgbGFiZWxzIHRvIHBvc2l0aW9uIHJhZGlvcy9jaGVja2JveGVzIGFzIGhhbmdpbmcgY29udHJvbHMuXG5cbi5mb3JtLWNoZWNrIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLWJvdHRvbTogKCRzcGFjZXIgKiAuNzUpO1xuXG4gIC8vIE1vdmUgdXAgc2libGluZyByYWRpb3Mgb3IgY2hlY2tib3hlcyBmb3IgdGlnaHRlciBzcGFjaW5nXG4gICsgLmZvcm0tY2hlY2sge1xuICAgIG1hcmdpbi10b3A6IC0uMjVyZW07XG4gIH1cblxuICAmLmRpc2FibGVkIHtcbiAgICAuZm9ybS1jaGVjay1sYWJlbCB7XG4gICAgICBjb2xvcjogJHRleHQtbXV0ZWQ7XG4gICAgICBjdXJzb3I6ICRjdXJzb3ItZGlzYWJsZWQ7XG4gICAgfVxuICB9XG59XG5cbi5mb3JtLWNoZWNrLWxhYmVsIHtcbiAgcGFkZGluZy1sZWZ0OiAxLjI1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAwOyAvLyBPdmVycmlkZSBkZWZhdWx0IGA8bGFiZWw+YCBib3R0b20gbWFyZ2luXG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLmZvcm0tY2hlY2staW5wdXQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIG1hcmdpbi10b3A6IC4yNXJlbTtcbiAgbWFyZ2luLWxlZnQ6IC0xLjI1cmVtO1xuXG4gICY6b25seS1jaGlsZCB7XG4gICAgcG9zaXRpb246IHN0YXRpYztcbiAgfVxufVxuXG4vLyBSYWRpb3MgYW5kIGNoZWNrYm94ZXMgb24gc2FtZSBsaW5lXG4uZm9ybS1jaGVjay1pbmxpbmUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZy1sZWZ0OiAxLjI1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAwOyAvLyBPdmVycmlkZSBkZWZhdWx0IGA8bGFiZWw+YCBib3R0b20gbWFyZ2luXG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGN1cnNvcjogcG9pbnRlcjtcblxuICArIC5mb3JtLWNoZWNrLWlubGluZSB7XG4gICAgbWFyZ2luLWxlZnQ6IC43NXJlbTtcbiAgfVxuXG4gICYuZGlzYWJsZWQge1xuICAgIGN1cnNvcjogJGN1cnNvci1kaXNhYmxlZDtcbiAgfVxufVxuXG5cbi8vIEZvcm0gY29udHJvbCBmZWVkYmFjayBzdGF0ZXNcbi8vXG4vLyBBcHBseSBjb250ZXh0dWFsIGFuZCBzZW1hbnRpYyBzdGF0ZXMgdG8gaW5kaXZpZHVhbCBmb3JtIGNvbnRyb2xzLlxuXG4uZm9ybS1jb250cm9sLWZlZWRiYWNrIHtcbiAgbWFyZ2luLXRvcDogKCRzcGFjZXIgKiAuMjUpO1xufVxuXG4uZm9ybS1jb250cm9sLXN1Y2Nlc3MsXG4uZm9ybS1jb250cm9sLXdhcm5pbmcsXG4uZm9ybS1jb250cm9sLWRhbmdlciB7XG4gIHBhZGRpbmctcmlnaHQ6ICgkaW5wdXQtcGFkZGluZy14ICogMyk7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciByaWdodCAoJGlucHV0LWhlaWdodCAvIDQpO1xuICBiYWNrZ3JvdW5kLXNpemU6ICgkaW5wdXQtaGVpZ2h0IC8gMikgKCRpbnB1dC1oZWlnaHQgLyAyKTtcbn1cblxuLy8gRm9ybSB2YWxpZGF0aW9uIHN0YXRlc1xuLmhhcy1zdWNjZXNzIHtcbiAgQGluY2x1ZGUgZm9ybS1jb250cm9sLXZhbGlkYXRpb24oJGJyYW5kLXN1Y2Nlc3MpO1xuXG4gIC5mb3JtLWNvbnRyb2wtc3VjY2VzcyB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogJGZvcm0taWNvbi1zdWNjZXNzO1xuICB9XG59XG5cbi5oYXMtd2FybmluZyB7XG4gIEBpbmNsdWRlIGZvcm0tY29udHJvbC12YWxpZGF0aW9uKCRicmFuZC13YXJuaW5nKTtcblxuICAuZm9ybS1jb250cm9sLXdhcm5pbmcge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6ICRmb3JtLWljb24td2FybmluZztcbiAgfVxufVxuXG4uaGFzLWRhbmdlciB7XG4gIEBpbmNsdWRlIGZvcm0tY29udHJvbC12YWxpZGF0aW9uKCRicmFuZC1kYW5nZXIpO1xuXG4gIC5mb3JtLWNvbnRyb2wtZGFuZ2VyIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAkZm9ybS1pY29uLWRhbmdlcjtcbiAgfVxufVxuXG5cbi8vIElubGluZSBmb3Jtc1xuLy9cbi8vIE1ha2UgZm9ybXMgYXBwZWFyIGlubGluZSgtYmxvY2spIGJ5IGFkZGluZyB0aGUgYC5mb3JtLWlubGluZWAgY2xhc3MuIElubGluZVxuLy8gZm9ybXMgYmVnaW4gc3RhY2tlZCBvbiBleHRyYSBzbWFsbCAobW9iaWxlKSBkZXZpY2VzIGFuZCB0aGVuIGdvIGlubGluZSB3aGVuXG4vLyB2aWV3cG9ydHMgcmVhY2ggPDc2OHB4LlxuLy9cbi8vIFJlcXVpcmVzIHdyYXBwaW5nIGlucHV0cyBhbmQgbGFiZWxzIHdpdGggYC5mb3JtLWdyb3VwYCBmb3IgcHJvcGVyIGRpc3BsYXkgb2Zcbi8vIGRlZmF1bHQgSFRNTCBmb3JtIGNvbnRyb2xzIGFuZCBvdXIgY3VzdG9tIGZvcm0gY29udHJvbHMgKGUuZy4sIGlucHV0IGdyb3VwcykuXG5cbi5mb3JtLWlubGluZSB7XG5cbiAgLy8gS2ljayBpbiB0aGUgaW5saW5lXG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoc20pIHtcbiAgICAvLyBJbmxpbmUtYmxvY2sgYWxsIHRoZSB0aGluZ3MgZm9yIFwiaW5saW5lXCJcbiAgICAuZm9ybS1ncm91cCB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB9XG5cbiAgICAvLyBBbGxvdyBmb2xrcyB0byAqbm90KiB1c2UgYC5mb3JtLWdyb3VwYFxuICAgIC5mb3JtLWNvbnRyb2wge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgd2lkdGg6IGF1dG87IC8vIFByZXZlbnQgbGFiZWxzIGZyb20gc3RhY2tpbmcgYWJvdmUgaW5wdXRzIGluIGAuZm9ybS1ncm91cGBcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgfVxuXG4gICAgLy8gTWFrZSBzdGF0aWMgY29udHJvbHMgYmVoYXZlIGxpa2UgcmVndWxhciBvbmVzXG4gICAgLmZvcm0tY29udHJvbC1zdGF0aWMge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIH1cblxuICAgIC5pbnB1dC1ncm91cCB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtdGFibGU7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXG4gICAgICAuaW5wdXQtZ3JvdXAtYWRkb24sXG4gICAgICAuaW5wdXQtZ3JvdXAtYnRuLFxuICAgICAgLmZvcm0tY29udHJvbCB7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIElucHV0IGdyb3VwcyBuZWVkIHRoYXQgMTAwJSB3aWR0aCB0aG91Z2hcbiAgICAuaW5wdXQtZ3JvdXAgPiAuZm9ybS1jb250cm9sIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIC5mb3JtLWNvbnRyb2wtbGFiZWwge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgfVxuXG4gICAgLy8gUmVtb3ZlIGRlZmF1bHQgbWFyZ2luIG9uIHJhZGlvcy9jaGVja2JveGVzIHRoYXQgd2VyZSB1c2VkIGZvciBzdGFja2luZywgYW5kXG4gICAgLy8gdGhlbiB1bmRvIHRoZSBmbG9hdGluZyBvZiByYWRpb3MgYW5kIGNoZWNrYm94ZXMgdG8gbWF0Y2guXG4gICAgLmZvcm0tY2hlY2sge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIH1cbiAgICAuZm9ybS1jaGVjay1sYWJlbCB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgfVxuICAgIC5mb3JtLWNoZWNrLWlucHV0IHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIH1cblxuICAgIC8vIFJlLW92ZXJyaWRlIHRoZSBmZWVkYmFjayBpY29uLlxuICAgIC5oYXMtZmVlZGJhY2sgLmZvcm0tY29udHJvbC1mZWVkYmFjayB7XG4gICAgICB0b3A6IDA7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3Jtc1xuXG4vL1xuJGlucHV0LWJnOiAgICAgICAgICAgICAgICAgICAgICAgcmdiYSgkYmxhY2ssIDApICFkZWZhdWx0OyAvLyAjZmZmICFkZWZhdWx0O1xuJGlucHV0LWJnLWRpc2FibGVkOiAgICAgICAgICAgICAgcmdiYSgkYmxhY2ssIDApICFkZWZhdWx0OyAvLyAkZ3JheS1saWdodGVyICFkZWZhdWx0O1xuLy9cbi8vJGlucHV0LWNvbG9yOiAgICAgICAgICAgICAgICAgICAgJGdyYXkgIWRlZmF1bHQ7XG4kaW5wdXQtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAkZ3JheS1saWdodCAhZGVmYXVsdDsgLy8gI2NjYyAhZGVmYXVsdDtcbi8vJGlucHV0LWJ0bi1ib3JkZXItd2lkdGg6ICAgICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDsgLy8gRm9yIGZvcm0gY29udHJvbHMgYW5kIGJ1dHRvbnNcbiRpbnB1dC1ib3gtc2hhZG93OiAgICAgICAgICAgICAgIG5vbmUgIWRlZmF1bHQ7IC8vaW5zZXQgMCAxcHggMXB4IHJnYmEoMCwwLDAsLjA3NSkgIWRlZmF1bHQ7XG4vL1xuJGlucHV0LWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgMCAhZGVmYXVsdDsgLy8gJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4vLyRpbnB1dC1ib3JkZXItcmFkaXVzLWxnOiAgICAgICAgICRib3JkZXItcmFkaXVzLWxnICFkZWZhdWx0O1xuLy8kaW5wdXQtYm9yZGVyLXJhZGl1cy1zbTogICAgICAgICAkYm9yZGVyLXJhZGl1cy1zbSAhZGVmYXVsdDtcbi8vXG4vLyRpbnB1dC1ib3JkZXItZm9jdXM6ICAgICAgICAgICAgICM2NmFmZTkgIWRlZmF1bHQ7XG4kaW5wdXQtYm94LXNoYWRvdy1mb2N1czogICAgICAgICBub25lICFkZWZhdWx0OyAvLyByZ2JhKDEwMiwxNzUsMjMzLC42KSAhZGVmYXVsdDtcbi8vXG4kaW5wdXQtY29sb3ItcGxhY2Vob2xkZXI6ICAgICAgICAkYm1kLWxhYmVsLWNvbG9yICFkZWZhdWx0OyAvLyAjOTk5ICFkZWZhdWx0O1xuXG5cblxuJGlucHV0LXBhZGRpbmcteDogICAgICAgICAgICAgICAgMCAhZGVmYXVsdDsgLy8gLjc1cmVtICFkZWZhdWx0O1xuJGlucHV0LXBhZGRpbmcteTogICAgICAgICAgICAgICAgLjQzNzVyZW0gIWRlZmF1bHQ7IC8vIHNwZWMgOHB4IC8vIC4zNzVyZW0gIWRlZmF1bHQ7XG5cbiRpbnB1dC1wYWRkaW5nLXgtc206ICAgICAgICAgICAgIDAgIWRlZmF1bHQ7IC8vIC43NXJlbSAhZGVmYXVsdDtcbiRpbnB1dC1wYWRkaW5nLXktc206ICAgICAgICAgICAgIC4yNXJlbSAhZGVmYXVsdDsgLy8gc3BlYyA0cHggLy8uMjc1cmVtICFkZWZhdWx0O1xuXG4kaW5wdXQtcGFkZGluZy14LWxnOiAgICAgICAgICAgICAwICFkZWZhdWx0OyAvLyAgIDEuMjVyZW0gIWRlZmF1bHQ7XG4kaW5wdXQtcGFkZGluZy15LWxnOiAgICAgICAgICAgICAuNTYyNXJlbSAhZGVmYXVsdDsgLy8gbm8tc3BlYyA5cHggLy8gLjc1cmVtICFkZWZhdWx0O1xuXG4vLyRpbnB1dC1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICgoJGZvbnQtc2l6ZS1iYXNlICogJGxpbmUtaGVpZ2h0LWJhc2UpICsgKCRpbnB1dC1wYWRkaW5nLXkgKiAyKSkgIWRlZmF1bHQ7XG4vLyRpbnB1dC1oZWlnaHQtbGc6ICAgICAgICAgICAgICAgICgoJGZvbnQtc2l6ZS1sZyAqICRsaW5lLWhlaWdodC1sZykgKyAoJGlucHV0LXBhZGRpbmcteS1sZyAqIDIpKSAhZGVmYXVsdDtcbi8vJGlucHV0LWhlaWdodC1zbTogICAgICAgICAgICAgICAgKCgkZm9udC1zaXplLXNtICogJGxpbmUtaGVpZ2h0LXNtKSArICgkaW5wdXQtcGFkZGluZy15LXNtICogMikpICFkZWZhdWx0O1xuLy9cbi8vJGZvcm0tZ3JvdXAtbWFyZ2luLWJvdHRvbTogICAgICAgJHNwYWNlci15ICFkZWZhdWx0O1xuLy9cbiRpbnB1dC1ncm91cC1hZGRvbi1iZzogICAgICAgICAgICB0cmFuc3BhcmVudCAhZGVmYXVsdDsgLy8kZ3JheS1saWdodGVyICFkZWZhdWx0O1xuJGlucHV0LWdyb3VwLWFkZG9uLWJvcmRlci1jb2xvcjogIHRyYW5zcGFyZW50ICFkZWZhdWx0OyAvLyRpbnB1dC1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4vL1xuLy8kY3Vyc29yLWRpc2FibGVkOiAgICAgICAgICAgICAgICBub3QtYWxsb3dlZCAhZGVmYXVsdDtcbi8vXG4vLy8vIEZvcm0gdmFsaWRhdGlvbiBpY29uc1xuLy8kZm9ybS1pY29uLXN1Y2Nlc3M6IFwiZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQSE4yWnlCNGJXeHVjejBpYUhSMGNEb3ZMM2QzZHk1M015NXZjbWN2TWpBd01DOXpkbWNpSUhacFpYZENiM2c5SWpBZ01DQTJNVElnTnpreUlqNDhjR0YwYUNCbWFXeHNQU0lqTldOaU9EVmpJaUJrUFNKTk1qTXpMamdnTmpFd1l5MHhNeTR6SURBdE1qWXROaTB6TkMweE5pNDRURGt3TGpVZ05EUTRMamhETnpZdU15QTBNekFnT0RBZ05EQXpMak1nT1RndU9DQXpPRGxqTVRndU9DMHhOQzR5SURRMUxqVXRNVEF1TkNBMU9TNDRJRGd1Tkd3M01pQTVOVXcwTlRFdU15QXlOREpqTVRJdU5TMHlNQ0F6T0M0NExUSTJMaklnTlRndU9DMHhNeTQzSURJd0lERXlMalFnTWpZZ016Z3VOeUF4TXk0M0lEVTRMamhNTWpjd0lEVTVNR010Tnk0MElERXlMVEl3TGpJZ01Ua3VOQzB6TkM0eklESXdhQzB5ZWlJdlBqd3ZjM1puUGc9PVwiO1xuLy8kZm9ybS1pY29uLXdhcm5pbmc6IFwiZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQSE4yWnlCNGJXeHVjejBpYUhSMGNEb3ZMM2QzZHk1M015NXZjbWN2TWpBd01DOXpkbWNpSUhacFpYZENiM2c5SWpBZ01DQTJNVElnTnpreUlqNDhjR0YwYUNCbWFXeHNQU0lqWmpCaFpEUmxJaUJrUFNKTk5qQXpJRFkwTUM0eWJDMHlOemd1TlMwMU1EbGpMVE11T0MwMkxqWXRNVEF1T0MweE1DNDJMVEU0TGpVdE1UQXVObk10TVRRdU55QTBMVEU0TGpVZ01UQXVOa3c1SURZME1DNHlZeTB6TGpjZ05pNDFMVE11TmlBeE5DNDBMaklnTWpBdU9DQXpMamdnTmk0MUlERXdMamdnTVRBdU5DQXhPQzR6SURFd0xqUm9OVFUzWXpjdU5pQXdJREUwTGpZdE5DQXhPQzQwTFRFd0xqUWdNeTQxTFRZdU5DQXpMall0TVRRdU5DQXdMVEl3TGpoNmJTMHlOall1TkMwek1HZ3ROakV1TWxZMU5EbG9OakV1TW5ZMk1TNHllbTB3TFRFd04yZ3ROakV1TWxZek1EUm9OakV1TW5ZeE9UbDZJaTgrUEM5emRtYytcIjtcbi8vJGZvcm0taWNvbi1kYW5nZXI6IFwiZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQSE4yWnlCNGJXeHVjejBpYUhSMGNEb3ZMM2QzZHk1M015NXZjbWN2TWpBd01DOXpkbWNpSUhacFpYZENiM2c5SWpBZ01DQTJNVElnTnpreUlqNDhjR0YwYUNCbWFXeHNQU0lqWkRrMU16Um1JaUJrUFNKTk5EUTNJRFUwTkM0MFl5MHhOQzQwSURFMExqUXRNemN1TmlBeE5DNDBMVFV5SURCc0xUZzVMVGt5TGpjdE9Ea2dPVEl1TjJNdE1UUXVOU0F4TkM0MExUTTNMamNnTVRRdU5DMDFNaUF3TFRFMExqUXRNVFF1TkMweE5DNDBMVE0zTGpZZ01DMDFNbXc1TWk0MExUazJMak10T1RJdU5DMDVOaTR6WXkweE5DNDBMVEUwTGpRdE1UUXVOQzB6Tnk0MklEQXROVEp6TXpjdU5pMHhOQzR6SURVeUlEQnNPRGtnT1RJdU9DQTRPUzR5TFRreUxqZGpNVFF1TkMweE5DNDBJRE0zTGpZdE1UUXVOQ0ExTWlBd0lERTBMak1nTVRRdU5DQXhOQzR6SURNM0xqWWdNQ0ExTWt3ek5UUXVOaUF6T1Rac09USXVOQ0E1Tmk0MFl6RTBMalFnTVRRdU5DQXhOQzQwSURNM0xqWWdNQ0ExTW5vaUx6NDhMM04yWno0PVwiO1xuXG4iLCIvLyBGb3JtIHZhbGlkYXRpb24gc3RhdGVzXG4vL1xuLy8gVXNlZCBpbiBfZm9ybXMuc2NzcyB0byBnZW5lcmF0ZSB0aGUgZm9ybSB2YWxpZGF0aW9uIENTUyBmb3Igd2FybmluZ3MsIGVycm9ycyxcbi8vIGFuZCBzdWNjZXNzZXMuXG5cbkBtaXhpbiBmb3JtLWNvbnRyb2wtdmFsaWRhdGlvbigkY29sb3IpIHtcbiAgLy8gQ29sb3IgdGhlIGxhYmVsIGFuZCBoZWxwIHRleHRcbiAgLmZvcm0tY29udHJvbC1mZWVkYmFjayxcbiAgLmZvcm0tY29udHJvbC1sYWJlbCxcbiAgLnJhZGlvLFxuICAuY2hlY2tib3gsXG4gIC5yYWRpby1pbmxpbmUsXG4gIC5jaGVja2JveC1pbmxpbmUsXG4gICYucmFkaW8gbGFiZWwsXG4gICYuY2hlY2tib3ggbGFiZWwsXG4gICYucmFkaW8taW5saW5lIGxhYmVsLFxuICAmLmNoZWNrYm94LWlubGluZSBsYWJlbCxcbiAgLmN1c3RvbS1jb250cm9sIHtcbiAgICBjb2xvcjogJGNvbG9yO1xuICB9XG4gIC8vIFNldCB0aGUgYm9yZGVyIGFuZCBib3ggc2hhZG93IG9uIHNwZWNpZmljIGlucHV0cyB0byBtYXRjaFxuICAuZm9ybS1jb250cm9sIHtcbiAgICBib3JkZXItY29sb3I6ICRjb2xvcjtcbiAgICAvLyBAaW5jbHVkZSBib3gtc2hhZG93KGluc2V0IDAgMXB4IDFweCByZ2JhKDAsMCwwLC4wNzUpKTsgLy8gUmVkZWNsYXJlIHNvIHRyYW5zaXRpb25zIHdvcmtcblxuICAgICY6Zm9jdXMge1xuICAgICAgLy8gYm9yZGVyLWNvbG9yOiBkYXJrZW4oJGJvcmRlci1jb2xvciwgMTAlKTtcbiAgICAgIC8vICRzaGFkb3c6IGluc2V0IDAgMXB4IDFweCByZ2JhKDAsMCwwLC4wNzUpLCAwIDAgNnB4IGxpZ2h0ZW4oJGJvcmRlci1jb2xvciwgMjAlKTtcbiAgICAgIC8vIEBpbmNsdWRlIGJveC1zaGFkb3coJHNoYWRvdyk7XG4gICAgfVxuICB9XG5cbiAgLy8gU2V0IHZhbGlkYXRpb24gc3RhdGVzIGFsc28gZm9yIGFkZG9uc1xuICAuaW5wdXQtZ3JvdXAtYWRkb24ge1xuICAgIGNvbG9yOiAkY29sb3I7XG4gICAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogbGlnaHRlbigkY29sb3IsIDQwJSk7XG4gIH1cbiAgLy8gT3B0aW9uYWwgZmVlZGJhY2sgaWNvblxuICAuZm9ybS1jb250cm9sLWZlZWRiYWNrIHtcbiAgICBjb2xvcjogJGNvbG9yO1xuICB9XG59XG5cbi8vIEZvcm0gY29udHJvbCBmb2N1cyBzdGF0ZVxuLy9cbi8vIEdlbmVyYXRlIGEgY3VzdG9taXplZCBmb2N1cyBzdGF0ZSBhbmQgZm9yIGFueSBpbnB1dCB3aXRoIHRoZSBzcGVjaWZpZWQgY29sb3IsXG4vLyB3aGljaCBkZWZhdWx0cyB0byB0aGUgYEBpbnB1dC1ib3JkZXItZm9jdXNgIHZhcmlhYmxlLlxuLy9cbi8vIFdlIGhpZ2hseSBlbmNvdXJhZ2UgeW91IHRvIG5vdCBjdXN0b21pemUgdGhlIGRlZmF1bHQgdmFsdWUsIGJ1dCBpbnN0ZWFkIHVzZVxuLy8gdGhpcyB0byB0d2VhayBjb2xvcnMgb24gYW4gYXMtbmVlZGVkIGJhc2lzLiBUaGlzIGFlc3RoZXRpYyBjaGFuZ2UgaXMgYmFzZWQgb25cbi8vIFdlYktpdCdzIGRlZmF1bHQgc3R5bGVzLCBidXQgYXBwbGljYWJsZSB0byBhIHdpZGVyIHJhbmdlIG9mIGJyb3dzZXJzLiBJdHNcbi8vIHVzYWJpbGl0eSBhbmQgYWNjZXNzaWJpbGl0eSBzaG91bGQgYmUgdGFrZW4gaW50byBhY2NvdW50IHdpdGggYW55IGNoYW5nZS5cbi8vXG4vLyBFeGFtcGxlIHVzYWdlOiBjaGFuZ2UgdGhlIGRlZmF1bHQgYmx1ZSBib3JkZXIgYW5kIHNoYWRvdyB0byB3aGl0ZSBmb3IgYmV0dGVyXG4vLyBjb250cmFzdCBhZ2FpbnN0IGEgZGFyayBncmF5IGJhY2tncm91bmQuXG5AbWl4aW4gZm9ybS1jb250cm9sLWZvY3VzKCkge1xuICAmOmZvY3VzIHtcbiAgICBjb2xvcjogJGlucHV0LWNvbG9yLWZvY3VzO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iZy1mb2N1cztcbiAgICBib3JkZXItY29sb3I6ICRpbnB1dC1ib3JkZXItZm9jdXM7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICAkc2hhZG93OiBpbnNldCAwIDFweCAxcHggcmdiYSgwLDAsMCwuMDc1KSwgMCAwIDhweCAkaW5wdXQtYm94LXNoYWRvdy1mb2N1cztcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRzaGFkb3cpO1xuICB9XG59XG5cbi8vIEZvcm0gY29udHJvbCBzaXppbmdcbi8vXG4vLyBSZWxhdGl2ZSB0ZXh0IHNpemUsIHBhZGRpbmcsIGFuZCBib3JkZXItcmFkaWkgY2hhbmdlcyBmb3IgZm9ybSBjb250cm9scy4gRm9yXG4vLyBob3Jpem9udGFsIHNpemluZywgd3JhcCBjb250cm9scyBpbiB0aGUgcHJlZGVmaW5lZCBncmlkIGNsYXNzZXMuIGA8c2VsZWN0PmBcbi8vIGVsZW1lbnQgZ2V0cyBzcGVjaWFsIGxvdmUgYmVjYXVzZSBpdCdzIHNwZWNpYWwsIGFuZCB0aGF0J3MgYSBmYWN0IVxuXG5AbWl4aW4gaW5wdXQtc2l6ZSgkcGFyZW50LCAkaW5wdXQtaGVpZ2h0LCAkcGFkZGluZy15LCAkcGFkZGluZy14LCAkZm9udC1zaXplLCAkbGluZS1oZWlnaHQsICRib3JkZXItcmFkaXVzKSB7XG4gICN7JHBhcmVudH0ge1xuICAgIGhlaWdodDogJGlucHV0LWhlaWdodDtcbiAgICBwYWRkaW5nOiAkcGFkZGluZy15ICRwYWRkaW5nLXg7XG4gICAgZm9udC1zaXplOiAkZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQ7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkYm9yZGVyLXJhZGl1cyk7XG4gIH1cblxuICBzZWxlY3QjeyRwYXJlbnR9IHtcbiAgICBoZWlnaHQ6ICRpbnB1dC1oZWlnaHQ7XG4gICAgbGluZS1oZWlnaHQ6ICRpbnB1dC1oZWlnaHQ7XG4gIH1cblxuICB0ZXh0YXJlYSN7JHBhcmVudH0sXG4gIHNlbGVjdFttdWx0aXBsZV0jeyRwYXJlbnR9IHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gIH1cbn1cbiIsIi8vIHNjc3MtbGludDpkaXNhYmxlIFF1YWxpZnlpbmdFbGVtZW50XG5cbi8vXG4vLyBCYXNlIHN0eWxlc1xuLy9cblxuLmJ0biB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZm9udC13ZWlnaHQ6ICRidG4tZm9udC13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAkYnRuLWxpbmUtaGVpZ2h0O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIGJvcmRlcjogJGlucHV0LWJ0bi1ib3JkZXItd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG4gIEBpbmNsdWRlIGJ1dHRvbi1zaXplKCRidG4tcGFkZGluZy15LCAkYnRuLXBhZGRpbmcteCwgJGZvbnQtc2l6ZS1iYXNlLCAkYnRuLWJvcmRlci1yYWRpdXMpO1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCAuMnMgZWFzZS1pbi1vdXQpO1xuXG4gICYsXG4gICY6YWN0aXZlLFxuICAmLmFjdGl2ZSB7XG4gICAgJjpmb2N1cyxcbiAgICAmLmZvY3VzIHtcbiAgICAgIEBpbmNsdWRlIHRhYi1mb2N1cygpO1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIGhvdmVyLWZvY3VzIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cbiAgJi5mb2N1cyB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG5cbiAgJjphY3RpdmUsXG4gICYuYWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICAgIG91dGxpbmU6IDA7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdygkYnRuLWFjdGl2ZS1ib3gtc2hhZG93KTtcbiAgfVxuXG4gICYuZGlzYWJsZWQsXG4gICY6ZGlzYWJsZWQge1xuICAgIGN1cnNvcjogJGN1cnNvci1kaXNhYmxlZDtcbiAgICBvcGFjaXR5OiAuNjU7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdyhub25lKTtcbiAgfVxufVxuXG4vLyBGdXR1cmUtcHJvb2YgZGlzYWJsaW5nIG9mIGNsaWNrcyBvbiBgPGE+YCBlbGVtZW50c1xuYS5idG4uZGlzYWJsZWQsXG5maWVsZHNldFtkaXNhYmxlZF0gYS5idG4ge1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuXG4vL1xuLy8gQWx0ZXJuYXRlIGJ1dHRvbnNcbi8vXG5cbi5idG4tcHJpbWFyeSB7XG4gIEBpbmNsdWRlIGJ1dHRvbi12YXJpYW50KCRidG4tcHJpbWFyeS1jb2xvciwgJGJ0bi1wcmltYXJ5LWJnLCAkYnRuLXByaW1hcnktYm9yZGVyKTtcbn1cbi5idG4tc2Vjb25kYXJ5IHtcbiAgQGluY2x1ZGUgYnV0dG9uLXZhcmlhbnQoJGJ0bi1zZWNvbmRhcnktY29sb3IsICRidG4tc2Vjb25kYXJ5LWJnLCAkYnRuLXNlY29uZGFyeS1ib3JkZXIpO1xufVxuLmJ0bi1pbmZvIHtcbiAgQGluY2x1ZGUgYnV0dG9uLXZhcmlhbnQoJGJ0bi1pbmZvLWNvbG9yLCAkYnRuLWluZm8tYmcsICRidG4taW5mby1ib3JkZXIpO1xufVxuLmJ0bi1zdWNjZXNzIHtcbiAgQGluY2x1ZGUgYnV0dG9uLXZhcmlhbnQoJGJ0bi1zdWNjZXNzLWNvbG9yLCAkYnRuLXN1Y2Nlc3MtYmcsICRidG4tc3VjY2Vzcy1ib3JkZXIpO1xufVxuLmJ0bi13YXJuaW5nIHtcbiAgQGluY2x1ZGUgYnV0dG9uLXZhcmlhbnQoJGJ0bi13YXJuaW5nLWNvbG9yLCAkYnRuLXdhcm5pbmctYmcsICRidG4td2FybmluZy1ib3JkZXIpO1xufVxuLmJ0bi1kYW5nZXIge1xuICBAaW5jbHVkZSBidXR0b24tdmFyaWFudCgkYnRuLWRhbmdlci1jb2xvciwgJGJ0bi1kYW5nZXItYmcsICRidG4tZGFuZ2VyLWJvcmRlcik7XG59XG5cbi8vIFJlbW92ZSBhbGwgYmFja2dyb3VuZHNcbi5idG4tb3V0bGluZS1wcmltYXJ5IHtcbiAgQGluY2x1ZGUgYnV0dG9uLW91dGxpbmUtdmFyaWFudCgkYnRuLXByaW1hcnktYmcpO1xufVxuLmJ0bi1vdXRsaW5lLXNlY29uZGFyeSB7XG4gIEBpbmNsdWRlIGJ1dHRvbi1vdXRsaW5lLXZhcmlhbnQoJGJ0bi1zZWNvbmRhcnktYm9yZGVyKTtcbn1cbi5idG4tb3V0bGluZS1pbmZvIHtcbiAgQGluY2x1ZGUgYnV0dG9uLW91dGxpbmUtdmFyaWFudCgkYnRuLWluZm8tYmcpO1xufVxuLmJ0bi1vdXRsaW5lLXN1Y2Nlc3Mge1xuICBAaW5jbHVkZSBidXR0b24tb3V0bGluZS12YXJpYW50KCRidG4tc3VjY2Vzcy1iZyk7XG59XG4uYnRuLW91dGxpbmUtd2FybmluZyB7XG4gIEBpbmNsdWRlIGJ1dHRvbi1vdXRsaW5lLXZhcmlhbnQoJGJ0bi13YXJuaW5nLWJnKTtcbn1cbi5idG4tb3V0bGluZS1kYW5nZXIge1xuICBAaW5jbHVkZSBidXR0b24tb3V0bGluZS12YXJpYW50KCRidG4tZGFuZ2VyLWJnKTtcbn1cblxuXG4vL1xuLy8gTGluayBidXR0b25zXG4vL1xuXG4vLyBNYWtlIGEgYnV0dG9uIGxvb2sgYW5kIGJlaGF2ZSBsaWtlIGEgbGlua1xuLmJ0bi1saW5rIHtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgY29sb3I6ICRsaW5rLWNvbG9yO1xuICBib3JkZXItcmFkaXVzOiAwO1xuXG4gICYsXG4gICY6YWN0aXZlLFxuICAmLmFjdGl2ZSxcbiAgJjpkaXNhYmxlZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdyhub25lKTtcbiAgfVxuICAmLFxuICAmOmZvY3VzLFxuICAmOmFjdGl2ZSB7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgfVxuICBAaW5jbHVkZSBob3ZlciB7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgfVxuICBAaW5jbHVkZSBob3Zlci1mb2N1cyB7XG4gICAgY29sb3I6ICRsaW5rLWhvdmVyLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogJGxpbmstaG92ZXItZGVjb3JhdGlvbjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgfVxuICAmOmRpc2FibGVkIHtcbiAgICBAaW5jbHVkZSBob3Zlci1mb2N1cyB7XG4gICAgICBjb2xvcjogJGJ0bi1saW5rLWRpc2FibGVkLWNvbG9yO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIH1cbiAgfVxufVxuXG5cbi8vXG4vLyBCdXR0b24gU2l6ZXNcbi8vXG5cbi5idG4tbGcge1xuICAvLyBsaW5lLWhlaWdodDogZW5zdXJlIGV2ZW4tbnVtYmVyZWQgaGVpZ2h0IG9mIGJ1dHRvbiBuZXh0IHRvIGxhcmdlIGlucHV0XG4gIEBpbmNsdWRlIGJ1dHRvbi1zaXplKCRidG4tcGFkZGluZy15LWxnLCAkYnRuLXBhZGRpbmcteC1sZywgJGZvbnQtc2l6ZS1sZywgJGJ0bi1ib3JkZXItcmFkaXVzLWxnKTtcbn1cbi5idG4tc20ge1xuICAvLyBsaW5lLWhlaWdodDogZW5zdXJlIHByb3BlciBoZWlnaHQgb2YgYnV0dG9uIG5leHQgdG8gc21hbGwgaW5wdXRcbiAgQGluY2x1ZGUgYnV0dG9uLXNpemUoJGJ0bi1wYWRkaW5nLXktc20sICRidG4tcGFkZGluZy14LXNtLCAkZm9udC1zaXplLXNtLCAkYnRuLWJvcmRlci1yYWRpdXMtc20pO1xufVxuXG5cbi8vXG4vLyBCbG9jayBidXR0b25cbi8vXG5cbi5idG4tYmxvY2sge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi8vIFZlcnRpY2FsbHkgc3BhY2Ugb3V0IG11bHRpcGxlIGJsb2NrIGJ1dHRvbnNcbi5idG4tYmxvY2sgKyAuYnRuLWJsb2NrIHtcbiAgbWFyZ2luLXRvcDogJGJ0bi1ibG9jay1zcGFjaW5nLXk7XG59XG5cbi8vIFNwZWNpZmljaXR5IG92ZXJyaWRlc1xuaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSxcbmlucHV0W3R5cGU9XCJyZXNldFwiXSxcbmlucHV0W3R5cGU9XCJidXR0b25cIl0ge1xuICAmLmJ0bi1ibG9jayB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cbiIsIi8vIEJ1dHRvbnM6XG4kYm1kLWJ0bi1mb250LXNpemU6IC44NzVyZW0gIWRlZmF1bHQ7IC8vIDE0cHhcbiRibWQtYnRuLWZvbnQtc2l6ZS1sZzogMS4yNXJlbSAhZGVmYXVsdDtcbiRibWQtYnRuLWZvbnQtc2l6ZS1zbTogLjgxMjVyZW0gIWRlZmF1bHQ7IC8vIDEzcHhcbiRibWQtYnRuLW1hcmdpbi1ib3R0b206IC4zMTI1cmVtICFkZWZhdWx0OyAvLyA1cHhcblxuLy8gZGVmYXVsdCBidG4gd2l0aCBubyBzcGVjaWZpYyB0eXBlIGRlc2lnbmF0aW9uXG4kYm1kLWJ0bi1jb2xvcjogICAgICAgICAgICAkZ3JheS1kYXJrICFkZWZhdWx0O1xuJGJtZC1idG4tYmc6ICAgICAgICAgICAgICAgaW5oZXJpdCAhZGVmYXVsdDsgLy8kYm9keS1iZyAhZGVmYXVsdDsgLy8gI2ZmZlxuJGJtZC1idG4tYm9yZGVyOiAgICAgICAgICAgI2NjYyAhZGVmYXVsdDtcblxuJGJtZC1idG4tZm9jdXMtYmc6IHJnYmEoIzk5OSwgLjIwKSAhZGVmYXVsdDsgLy8gc3BlYzogYmcgSG92ZXI6IDIwJSAjOTk5OTk5XG4kYm1kLWJ0bi1hY3RpdmUtYmc6IHJnYmEoIzk5OSwgLjQwKSAhZGVmYXVsdDsgLy8gc3BlYzogYmcgUHJlc3NlZDogNDAlICM5OTk5OTlcbiRibWQtYnRuLWRpc2FibGVkOiByZ2JhKCRibGFjaywgLjI2KSAhZGVmYXVsdDsgLy8gc3BlYzogbGlnaHQgdGhlbWU6IERpc2FibGVkIHRleHQ6IDI2JSAkYmxhY2tcblxuJGJtZC1pbnZlcnNlLWJ0bi1mb2N1cy1iZzogcmdiYSgjY2NjLCAuMTUpICFkZWZhdWx0OyAvLyBzcGVjOiBkYXJrIGJnIEhvdmVyOiAxNSUgI0NDQ0NDQ1xuJGJtZC1pbnZlcnNlLWJ0bi1hY3RpdmUtYmc6IHJnYmEoI2NjYywgLjI1KSAhZGVmYXVsdDsgLy8gc3BlYzogZGFyayBQcmVzc2VkOiAyNSUgI0NDQ0NDQ1xuJGJtZC1pbnZlcnNlLWJ0bi1kaXNhYmxlZDogcmdiYSgkd2hpdGUsIC4zMCkgIWRlZmF1bHQ7IC8vIHNwZWM6IGRhcmsgdGhlbWU6IERpc2FibGVkIHRleHQ6IDMwJSAkd2hpdGVcblxuJGJtZC1idG4tZmFiLXNpemU6IDMuNXJlbSAhZGVmYXVsdDsgLy8gNTZweFxuJGJtZC1idG4tZmFiLXNpemUtc206IDIuNXJlbSAhZGVmYXVsdDsgLy8gNDBweFxuJGJtZC1idG4tZmFiLWZvbnQtc2l6ZTogMS41cmVtICFkZWZhdWx0OyAvLyAyNHB4XG5cbi8vIGljb25zXG4kYm1kLWJ0bi1pY29uLXNpemU6IDJyZW0gIWRlZmF1bHQ7IC8vIDMycHhcbiRibWQtYnRuLWljb24tc2l6ZS1zbTogKC43NSAqICRibWQtYnRuLWljb24tc2l6ZSkgIWRlZmF1bHQ7IC8vIH4yNHB4XG4kYm1kLWJ0bi1pY29uLWZvbnQtc2l6ZS1zbTogKC43NSAqICRibWQtYnRuLWZhYi1mb250LXNpemUpICFkZWZhdWx0O1xuXG5cbi8vIEJ1dHRvbnNcbi8vXG4vLyBGb3IgZWFjaCBvZiBCb290c3RyYXAncyBidXR0b25zLCBkZWZpbmUgdGV4dCwgYmFja2dyb3VuZCBhbmQgYm9yZGVyIGNvbG9yLlxuJGJ0bi1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDsgLy8gMXJlbVxuJGJ0bi1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgICAgLjQ2ODc1cmVtICFkZWZhdWx0OyAvLyAuNXJlbSBhY2hpZXZlIGEgMzZkcCBoZWlnaHRcbi8vJGJ0bi1saW5lLWhlaWdodDogICAgICAgICAgICAgICAgMSAhZGVmYXVsdDsgLy8xLjI1XG4kYnRuLWZvbnQtd2VpZ2h0OiAgICAgICAgICAgICAgICA1MDAgIWRlZmF1bHQ7IC8vIG5vcm1hbFxuJGJ0bi1ib3gtc2hhZG93OiAgICAgICAgICAgICAgICAgbm9uZSAhZGVmYXVsdDtcbiRidG4tYWN0aXZlLWJveC1zaGFkb3c6ICAgICAgICAgIG5vbmUgIWRlZmF1bHQ7IC8vIGluc2V0IDAgM3B4IDVweCByZ2JhKDAsMCwwLC4xMjUpXG5cbi8vXG4vLyRidG4tcHJpbWFyeS1jb2xvcjogICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4vLyRidG4tcHJpbWFyeS1iZzogICAgICAgICAgICAgICAgICRicmFuZC1wcmltYXJ5ICFkZWZhdWx0O1xuLy8kYnRuLXByaW1hcnktYm9yZGVyOiAgICAgICAgICAgICAkYnRuLXByaW1hcnktYmcgIWRlZmF1bHQ7XG4vL1xuJGJ0bi1zZWNvbmRhcnktY29sb3I6ICAgICAgICAgICAgJGdyYXktZGFyayAhZGVmYXVsdDtcbiRidG4tc2Vjb25kYXJ5LWJnOiAgICAgICAgICAgICAgICRib2R5LWJnICFkZWZhdWx0OyAvLyAjZmZmXG4vLyRidG4tc2Vjb25kYXJ5LWJvcmRlcjogICAgICAgICAgICNjY2MgIWRlZmF1bHQ7XG4vL1xuLy8kYnRuLWluZm8tY29sb3I6ICAgICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuLy8kYnRuLWluZm8tYmc6ICAgICAgICAgICAgICAgICAgICAkYnJhbmQtaW5mbyAhZGVmYXVsdDtcbi8vJGJ0bi1pbmZvLWJvcmRlcjogICAgICAgICAgICAgICAgJGJ0bi1pbmZvLWJnICFkZWZhdWx0O1xuLy9cbi8vJGJ0bi1zdWNjZXNzLWNvbG9yOiAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbi8vJGJ0bi1zdWNjZXNzLWJnOiAgICAgICAgICAgICAgICAgJGJyYW5kLXN1Y2Nlc3MgIWRlZmF1bHQ7XG4vLyRidG4tc3VjY2Vzcy1ib3JkZXI6ICAgICAgICAgICAgICRidG4tc3VjY2Vzcy1iZyAhZGVmYXVsdDtcbi8vXG4vLyRidG4td2FybmluZy1jb2xvcjogICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4vLyRidG4td2FybmluZy1iZzogICAgICAgICAgICAgICAgICRicmFuZC13YXJuaW5nICFkZWZhdWx0O1xuLy8kYnRuLXdhcm5pbmctYm9yZGVyOiAgICAgICAgICAgICAkYnRuLXdhcm5pbmctYmcgIWRlZmF1bHQ7XG4vL1xuLy8kYnRuLWRhbmdlci1jb2xvcjogICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuLy8kYnRuLWRhbmdlci1iZzogICAgICAgICAgICAgICAgICAkYnJhbmQtZGFuZ2VyICFkZWZhdWx0O1xuLy8kYnRuLWRhbmdlci1ib3JkZXI6ICAgICAgICAgICAgICAkYnRuLWRhbmdlci1iZyAhZGVmYXVsdDtcbi8vXG4vLyRidG4tbGluay1kaXNhYmxlZC1jb2xvcjogICAgICAgICRncmF5LWxpZ2h0ICFkZWZhdWx0O1xuLy9cbi8vJGJ0bi1wYWRkaW5nLXgtc206ICAgICAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kYnRuLXBhZGRpbmcteS1zbTogICAgICAgICAgICAgICAuNDA2MjVyZW0gIWRlZmF1bHQ7IC8vIGFjaGlldmUgYSAzMmRwIGhlaWdodCB3YXMgLjI1cmVtXG4vL1xuLy8kYnRuLXBhZGRpbmcteC1sZzogICAgICAgICAgICAgICAxLjVyZW0gIWRlZmF1bHQ7XG4vLyRidG4tcGFkZGluZy15LWxnOiAgICAgICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbi8vXG4vLy8vIEFsbG93cyBmb3IgY3VzdG9taXppbmcgYnV0dG9uIHJhZGl1cyBpbmRlcGVuZGVudGx5IGZyb20gZ2xvYmFsIGJvcmRlciByYWRpdXNcbi8vJGJ0bi1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4vLyRidG4tYm9yZGVyLXJhZGl1cy1sZzogICAgICAgICAgICRib3JkZXItcmFkaXVzLWxnICFkZWZhdWx0O1xuLy8kYnRuLWJvcmRlci1yYWRpdXMtc206ICAgICAgICAgICAkYm9yZGVyLXJhZGl1cy1zbSAhZGVmYXVsdDtcblxuIiwiLy8gQnV0dG9uIHZhcmlhbnRzXG4vL1xuLy8gRWFzaWx5IHB1bXAgb3V0IGRlZmF1bHQgc3R5bGVzLCBhcyB3ZWxsIGFzIDpob3ZlciwgOmZvY3VzLCA6YWN0aXZlLFxuLy8gYW5kIGRpc2FibGVkIG9wdGlvbnMgZm9yIGFsbCBidXR0b25zXG5cbkBtaXhpbiBidXR0b24tdmFyaWFudCgkY29sb3IsICRiYWNrZ3JvdW5kLCAkYm9yZGVyKSB7XG4gICRhY3RpdmUtYmFja2dyb3VuZDogZGFya2VuKCRiYWNrZ3JvdW5kLCAxMCUpO1xuICAkYWN0aXZlLWJvcmRlcjogZGFya2VuKCRib3JkZXIsIDEyJSk7XG5cbiAgY29sb3I6ICRjb2xvcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gIGJvcmRlci1jb2xvcjogJGJvcmRlcjtcbiAgQGluY2x1ZGUgYm94LXNoYWRvdygkYnRuLWJveC1zaGFkb3cpO1xuXG4gIEBpbmNsdWRlIGhvdmVyIHtcbiAgICBjb2xvcjogJGNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRhY3RpdmUtYmFja2dyb3VuZDtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkYWN0aXZlLWJvcmRlcjtcbiAgfVxuXG4gICY6Zm9jdXMsXG4gICYuZm9jdXMge1xuICAgIGNvbG9yOiAkY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGFjdGl2ZS1iYWNrZ3JvdW5kO1xuICAgICAgICBib3JkZXItY29sb3I6ICRhY3RpdmUtYm9yZGVyO1xuICB9XG5cbiAgJjphY3RpdmUsXG4gICYuYWN0aXZlLFxuICAub3BlbiA+ICYuZHJvcGRvd24tdG9nZ2xlIHtcbiAgICBjb2xvcjogJGNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRhY3RpdmUtYmFja2dyb3VuZDtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkYWN0aXZlLWJvcmRlcjtcbiAgICAvLyBSZW1vdmUgdGhlIGdyYWRpZW50IGZvciB0aGUgcHJlc3NlZC9hY3RpdmUgc3RhdGVcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGJ0bi1hY3RpdmUtYm94LXNoYWRvdyk7XG5cbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMsXG4gICAgJi5mb2N1cyB7XG4gICAgICBjb2xvcjogJGNvbG9yO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKCRiYWNrZ3JvdW5kLCAxNyUpO1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogZGFya2VuKCRib3JkZXIsIDI1JSk7XG4gICAgfVxuICB9XG5cbiAgJi5kaXNhYmxlZCxcbiAgJjpkaXNhYmxlZCB7XG4gICAgJjpmb2N1cyxcbiAgICAmLmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogJGJvcmRlcjtcbiAgICB9XG4gICAgQGluY2x1ZGUgaG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gYnV0dG9uLW91dGxpbmUtdmFyaWFudCgkY29sb3IpIHtcbiAgY29sb3I6ICRjb2xvcjtcbiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1jb2xvcjogJGNvbG9yO1xuXG4gIEBpbmNsdWRlIGhvdmVyIHtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3I7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yO1xuICB9XG5cbiAgJjpmb2N1cyxcbiAgJi5mb2N1cyB7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yO1xuICAgICAgICBib3JkZXItY29sb3I6ICRjb2xvcjtcbiAgfVxuXG4gICY6YWN0aXZlLFxuICAmLmFjdGl2ZSxcbiAgLm9wZW4gPiAmLmRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yO1xuICAgICAgICBib3JkZXItY29sb3I6ICRjb2xvcjtcblxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyxcbiAgICAmLmZvY3VzIHtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKCRjb2xvciwgMTclKTtcbiAgICAgICAgICBib3JkZXItY29sb3I6IGRhcmtlbigkY29sb3IsIDI1JSk7XG4gICAgfVxuICB9XG5cbiAgJi5kaXNhYmxlZCxcbiAgJjpkaXNhYmxlZCB7XG4gICAgJjpmb2N1cyxcbiAgICAmLmZvY3VzIHtcbiAgICAgIGJvcmRlci1jb2xvcjogbGlnaHRlbigkY29sb3IsIDIwJSk7XG4gICAgfVxuICAgIEBpbmNsdWRlIGhvdmVyIHtcbiAgICAgIGJvcmRlci1jb2xvcjogbGlnaHRlbigkY29sb3IsIDIwJSk7XG4gICAgfVxuICB9XG59XG5cbi8vIEJ1dHRvbiBzaXplc1xuQG1peGluIGJ1dHRvbi1zaXplKCRwYWRkaW5nLXksICRwYWRkaW5nLXgsICRmb250LXNpemUsICRib3JkZXItcmFkaXVzKSB7XG4gIHBhZGRpbmc6ICRwYWRkaW5nLXkgJHBhZGRpbmcteDtcbiAgZm9udC1zaXplOiAkZm9udC1zaXplO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRib3JkZXItcmFkaXVzKTtcbn1cbiIsIi5mYWRlIHtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAuMTVzIGxpbmVhcjtcblxuICAmLmluIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5cbi5jb2xsYXBzZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG5cbiAgJi5pbiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbiAgLy8gdHImLmluICAgIHsgZGlzcGxheTogdGFibGUtcm93OyB9XG4gIC8vIHRib2R5Ji5pbiB7IGRpc3BsYXk6IHRhYmxlLXJvdy1ncm91cDsgfVxufVxuXG4uY29sbGFwc2luZyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZTtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogLjM1cztcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogaGVpZ2h0O1xufVxuIiwiLy8gVGhlIGRyb3Bkb3duIHdyYXBwZXIgKGA8ZGl2PmApXG4uZHJvcHVwLFxuLmRyb3Bkb3duIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uZHJvcGRvd24tdG9nZ2xlIHtcbiAgLy8gR2VuZXJhdGUgdGhlIGNhcmV0IGF1dG9tYXRpY2FsbHlcbiAgJjo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6ICRjYXJldC13aWR0aDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgYm9yZGVyLXRvcDogJGNhcmV0LXdpZHRoIHNvbGlkO1xuICAgIGJvcmRlci1yaWdodDogJGNhcmV0LXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1sZWZ0OiAkY2FyZXQtd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG4gIH1cblxuICAvLyBQcmV2ZW50IHRoZSBmb2N1cyBvbiB0aGUgZHJvcGRvd24gdG9nZ2xlIHdoZW4gY2xvc2luZyBkcm9wZG93bnNcbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogMDtcbiAgfVxufVxuXG4uZHJvcHVwIHtcbiAgLmRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgJjo6YWZ0ZXIge1xuICAgICAgYm9yZGVyLXRvcDogMDtcbiAgICAgIGJvcmRlci1ib3R0b206ICRjYXJldC13aWR0aCBzb2xpZDtcbiAgICB9XG4gIH1cbn1cblxuLy8gVGhlIGRyb3Bkb3duIG1lbnVcbi5kcm9wZG93bi1tZW51IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDEwMCU7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6ICR6aW5kZXgtZHJvcGRvd247XG4gIGRpc3BsYXk6IG5vbmU7IC8vIG5vbmUgYnkgZGVmYXVsdCwgYnV0IGJsb2NrIG9uIFwib3BlblwiIG9mIHRoZSBtZW51XG4gIGZsb2F0OiBsZWZ0O1xuICBtaW4td2lkdGg6ICRkcm9wZG93bi1taW4td2lkdGg7XG4gIHBhZGRpbmc6ICRkcm9wZG93bi1wYWRkaW5nLXkgMDtcbiAgbWFyZ2luOiAkZHJvcGRvd24tbWFyZ2luLXRvcCAwIDA7IC8vIG92ZXJyaWRlIGRlZmF1bHQgdWxcbiAgZm9udC1zaXplOiAkZm9udC1zaXplLWJhc2U7XG4gIGNvbG9yOiAkYm9keS1jb2xvcjtcbiAgdGV4dC1hbGlnbjogbGVmdDsgLy8gRW5zdXJlcyBwcm9wZXIgYWxpZ25tZW50IGlmIHBhcmVudCBoYXMgaXQgY2hhbmdlZCAoZS5nLiwgbW9kYWwgZm9vdGVyKVxuICBsaXN0LXN0eWxlOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkZHJvcGRvd24tYmc7XG4gIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gIGJvcmRlcjogJGRyb3Bkb3duLWJvcmRlci13aWR0aCBzb2xpZCAkZHJvcGRvd24tYm9yZGVyLWNvbG9yO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRib3JkZXItcmFkaXVzKTtcbiAgQGluY2x1ZGUgYm94LXNoYWRvdygkZHJvcGRvd24tYm94LXNoYWRvdyk7XG59XG5cbi8vIERpdmlkZXJzIChiYXNpY2FsbHkgYW4gYDxocj5gKSB3aXRoaW4gdGhlIGRyb3Bkb3duXG4uZHJvcGRvd24tZGl2aWRlciB7XG4gIEBpbmNsdWRlIG5hdi1kaXZpZGVyKCRkcm9wZG93bi1kaXZpZGVyLWJnKTtcbn1cblxuLy8gTGlua3MsIGJ1dHRvbnMsIGFuZCBtb3JlIHdpdGhpbiB0aGUgZHJvcGRvd24gbWVudVxuLy9cbi8vIGA8YnV0dG9uPmAtc3BlY2lmaWMgc3R5bGVzIGFyZSBkZW5vdGVkIHdpdGggYC8vIEZvciA8YnV0dG9uPnNgXG4uZHJvcGRvd24taXRlbSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTsgLy8gRm9yIGA8YnV0dG9uPmBzXG4gIHBhZGRpbmc6IDNweCAkZHJvcGRvd24taXRlbS1wYWRkaW5nLXg7XG4gIGNsZWFyOiBib3RoO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBjb2xvcjogJGRyb3Bkb3duLWxpbmstY29sb3I7XG4gIHRleHQtYWxpZ246IGluaGVyaXQ7IC8vIEZvciBgPGJ1dHRvbj5gc1xuICB3aGl0ZS1zcGFjZTogbm93cmFwOyAvLyBwcmV2ZW50IGxpbmtzIGZyb20gcmFuZG9tbHkgYnJlYWtpbmcgb250byBuZXcgbGluZXNcbiAgYmFja2dyb3VuZDogbm9uZTsgLy8gRm9yIGA8YnV0dG9uPmBzXG4gIGJvcmRlcjogMDsgLy8gRm9yIGA8YnV0dG9uPmBzXG5cbiAgQGluY2x1ZGUgaG92ZXItZm9jdXMge1xuICAgIGNvbG9yOiAkZHJvcGRvd24tbGluay1ob3Zlci1jb2xvcjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGRyb3Bkb3duLWxpbmstaG92ZXItYmc7XG4gIH1cblxuICAvLyBBY3RpdmUgc3RhdGVcbiAgJi5hY3RpdmUge1xuICAgIEBpbmNsdWRlIHBsYWluLWhvdmVyLWZvY3VzIHtcbiAgICAgIGNvbG9yOiAkZHJvcGRvd24tbGluay1hY3RpdmUtY29sb3I7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZHJvcGRvd24tbGluay1hY3RpdmUtYmc7XG4gICAgICBvdXRsaW5lOiAwO1xuICAgIH1cbiAgfVxuXG4gIC8vIERpc2FibGVkIHN0YXRlXG4gIC8vXG4gIC8vIEdyYXkgb3V0IHRleHQgYW5kIGVuc3VyZSB0aGUgaG92ZXIvZm9jdXMgc3RhdGUgcmVtYWlucyBncmF5XG4gICYuZGlzYWJsZWQge1xuICAgIEBpbmNsdWRlIHBsYWluLWhvdmVyLWZvY3VzIHtcbiAgICAgIGNvbG9yOiAkZHJvcGRvd24tbGluay1kaXNhYmxlZC1jb2xvcjtcbiAgICB9XG5cbiAgICAvLyBOdWtlIGhvdmVyL2ZvY3VzIGVmZmVjdHNcbiAgICBAaW5jbHVkZSBob3Zlci1mb2N1cyB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICBjdXJzb3I6ICRjdXJzb3ItZGlzYWJsZWQ7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7IC8vIFJlbW92ZSBDU1MgZ3JhZGllbnRcbiAgICAgIEBpbmNsdWRlIHJlc2V0LWZpbHRlcigpO1xuICAgIH1cbiAgfVxufVxuXG4vLyBPcGVuIHN0YXRlIGZvciB0aGUgZHJvcGRvd25cbi5vcGVuIHtcbiAgLy8gU2hvdyB0aGUgbWVudVxuICA+IC5kcm9wZG93bi1tZW51IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gIC8vIFJlbW92ZSB0aGUgb3V0bGluZSB3aGVuIDpmb2N1cyBpcyB0cmlnZ2VyZWRcbiAgPiBhIHtcbiAgICBvdXRsaW5lOiAwO1xuICB9XG59XG5cbi8vIE1lbnUgcG9zaXRpb25pbmdcbi8vXG4vLyBBZGQgZXh0cmEgY2xhc3MgdG8gYC5kcm9wZG93bi1tZW51YCB0byBmbGlwIHRoZSBhbGlnbm1lbnQgb2YgdGhlIGRyb3Bkb3duXG4vLyBtZW51IHdpdGggdGhlIHBhcmVudC5cbi5kcm9wZG93bi1tZW51LXJpZ2h0IHtcbiAgcmlnaHQ6IDA7XG4gIGxlZnQ6IGF1dG87IC8vIFJlc2V0IHRoZSBkZWZhdWx0IGZyb20gYC5kcm9wZG93bi1tZW51YFxufVxuXG4uZHJvcGRvd24tbWVudS1sZWZ0IHtcbiAgcmlnaHQ6IGF1dG87XG4gIGxlZnQ6IDA7XG59XG5cbi8vIERyb3Bkb3duIHNlY3Rpb24gaGVhZGVyc1xuLmRyb3Bkb3duLWhlYWRlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAkZHJvcGRvd24tcGFkZGluZy15ICRkcm9wZG93bi1pdGVtLXBhZGRpbmcteDtcbiAgZm9udC1zaXplOiAkZm9udC1zaXplLXNtO1xuICBjb2xvcjogJGRyb3Bkb3duLWhlYWRlci1jb2xvcjtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgLy8gYXMgd2l0aCA+IGxpID4gYVxufVxuXG4vLyBCYWNrZHJvcCB0byBjYXRjaCBib2R5IGNsaWNrcyBvbiBtb2JpbGUsIGV0Yy5cbi5kcm9wZG93bi1iYWNrZHJvcCB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAkemluZGV4LWRyb3Bkb3duLWJhY2tkcm9wO1xufVxuXG4vLyBBbGxvdyBmb3IgZHJvcGRvd25zIHRvIGdvIGJvdHRvbSB1cCAoYWthLCBkcm9wdXAtbWVudSlcbi8vXG4vLyBKdXN0IGFkZCAuZHJvcHVwIGFmdGVyIHRoZSBzdGFuZGFyZCAuZHJvcGRvd24gY2xhc3MgYW5kIHlvdSdyZSBzZXQuXG4vLyBUT0RPOiBhYnN0cmFjdCB0aGlzIHNvIHRoYXQgdGhlIG5hdmJhciBmaXhlZCBzdHlsZXMgYXJlIG5vdCBwbGFjZWQgaGVyZT9cblxuLmRyb3B1cCxcbi5uYXZiYXItZml4ZWQtYm90dG9tIC5kcm9wZG93biB7XG4gIC8vIFJldmVyc2UgdGhlIGNhcmV0XG4gIC5jYXJldCB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBib3JkZXItdG9wOiAwO1xuICAgIGJvcmRlci1ib3R0b206ICRjYXJldC13aWR0aCBzb2xpZDtcbiAgfVxuXG4gIC8vIERpZmZlcmVudCBwb3NpdGlvbmluZyBmb3IgYm90dG9tIHVwIG1lbnVcbiAgLmRyb3Bkb3duLW1lbnUge1xuICAgIHRvcDogYXV0bztcbiAgICBib3R0b206IDEwMCU7XG4gICAgbWFyZ2luLWJvdHRvbTogJGRyb3Bkb3duLW1hcmdpbi10b3A7XG4gIH1cbn1cbiIsIi8vIEhvcml6b250YWwgZGl2aWRlcnNcbi8vXG4vLyBEaXZpZGVycyAoYmFzaWNhbGx5IGFuIGhyKSB3aXRoaW4gZHJvcGRvd25zIGFuZCBuYXYgbGlzdHNcblxuQG1peGluIG5hdi1kaXZpZGVyKCRjb2xvcjogI2U1ZTVlNSkge1xuICBoZWlnaHQ6IDFweDtcbiAgbWFyZ2luOiAoJHNwYWNlci15IC8gMikgMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yO1xufVxuIiwiLy8gUmVzZXQgZmlsdGVycyBmb3IgSUVcbi8vXG4vLyBXaGVuIHlvdSBuZWVkIHRvIHJlbW92ZSBhIGdyYWRpZW50IGJhY2tncm91bmQsIGRvIG5vdCBmb3JnZXQgdG8gdXNlIHRoaXMgdG8gcmVzZXRcbi8vIHRoZSBJRSBmaWx0ZXIgZm9yIElFOS5cblxuQG1peGluIHJlc2V0LWZpbHRlcigpIHtcbiAgZmlsdGVyOiBcInByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudChlbmFibGVkID0gZmFsc2UpXCI7XG59XG4iLCIvLyBzY3NzLWxpbnQ6ZGlzYWJsZSBRdWFsaWZ5aW5nRWxlbWVudFxuXG4vLyBNYWtlIHRoZSBkaXYgYmVoYXZlIGxpa2UgYSBidXR0b25cbi5idG4tZ3JvdXAsXG4uYnRuLWdyb3VwLXZlcnRpY2FsIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IC8vIG1hdGNoIC5idG4gYWxpZ25tZW50IGdpdmVuIGZvbnQtc2l6ZSBoYWNrIGFib3ZlXG5cbiAgPiAuYnRuIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZmxvYXQ6IGxlZnQ7XG5cbiAgICAvLyBCcmluZyB0aGUgXCJhY3RpdmVcIiBidXR0b24gdG8gdGhlIGZyb250XG4gICAgJjpmb2N1cyxcbiAgICAmOmFjdGl2ZSxcbiAgICAmLmFjdGl2ZSB7XG4gICAgICB6LWluZGV4OiAyO1xuICAgIH1cbiAgICBAaW5jbHVkZSBob3ZlciB7XG4gICAgICB6LWluZGV4OiAyO1xuICAgIH1cbiAgfVxufVxuXG4vLyBQcmV2ZW50IGRvdWJsZSBib3JkZXJzIHdoZW4gYnV0dG9ucyBhcmUgbmV4dCB0byBlYWNoIG90aGVyXG4uYnRuLWdyb3VwIHtcbiAgLmJ0biArIC5idG4sXG4gIC5idG4gKyAuYnRuLWdyb3VwLFxuICAuYnRuLWdyb3VwICsgLmJ0bixcbiAgLmJ0bi1ncm91cCArIC5idG4tZ3JvdXAge1xuICAgIG1hcmdpbi1sZWZ0OiAtJGlucHV0LWJ0bi1ib3JkZXItd2lkdGg7XG4gIH1cbn1cblxuLy8gT3B0aW9uYWw6IEdyb3VwIG11bHRpcGxlIGJ1dHRvbiBncm91cHMgdG9nZXRoZXIgZm9yIGEgdG9vbGJhclxuLmJ0bi10b29sYmFyIHtcbiAgbWFyZ2luLWxlZnQ6IC0kYnRuLXRvb2xiYXItbWFyZ2luOyAvLyBPZmZzZXQgdGhlIGZpcnN0IGNoaWxkJ3MgbWFyZ2luXG4gIEBpbmNsdWRlIGNsZWFyZml4KCk7XG5cbiAgLmJ0bi1ncm91cCxcbiAgLmlucHV0LWdyb3VwIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgfVxuXG4gID4gLmJ0bixcbiAgPiAuYnRuLWdyb3VwLFxuICA+IC5pbnB1dC1ncm91cCB7XG4gICAgbWFyZ2luLWxlZnQ6ICRidG4tdG9vbGJhci1tYXJnaW47XG4gIH1cbn1cblxuLmJ0bi1ncm91cCA+IC5idG46bm90KDpmaXJzdC1jaGlsZCk6bm90KDpsYXN0LWNoaWxkKTpub3QoLmRyb3Bkb3duLXRvZ2dsZSkge1xuICBib3JkZXItcmFkaXVzOiAwO1xufVxuXG4vLyBTZXQgY29ybmVycyBpbmRpdmlkdWFsIGJlY2F1c2Ugc29tZXRpbWVzIGEgc2luZ2xlIGJ1dHRvbiBjYW4gYmUgaW4gYSAuYnRuLWdyb3VwIGFuZCB3ZSBuZWVkIDpmaXJzdC1jaGlsZCBhbmQgOmxhc3QtY2hpbGQgdG8gYm90aCBtYXRjaFxuLmJ0bi1ncm91cCA+IC5idG46Zmlyc3QtY2hpbGQge1xuICBtYXJnaW4tbGVmdDogMDtcblxuICAmOm5vdCg6bGFzdC1jaGlsZCk6bm90KC5kcm9wZG93bi10b2dnbGUpIHtcbiAgICBAaW5jbHVkZSBib3JkZXItcmlnaHQtcmFkaXVzKDApO1xuICB9XG59XG4vLyBOZWVkIC5kcm9wZG93bi10b2dnbGUgc2luY2UgOmxhc3QtY2hpbGQgZG9lc24ndCBhcHBseSBnaXZlbiBhIC5kcm9wZG93bi1tZW51IGltbWVkaWF0ZWx5IGFmdGVyIGl0XG4uYnRuLWdyb3VwID4gLmJ0bjpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpLFxuLmJ0bi1ncm91cCA+IC5kcm9wZG93bi10b2dnbGU6bm90KDpmaXJzdC1jaGlsZCkge1xuICBAaW5jbHVkZSBib3JkZXItbGVmdC1yYWRpdXMoMCk7XG59XG5cbi8vIEN1c3RvbSBlZGl0cyBmb3IgaW5jbHVkaW5nIGJ0bi1ncm91cHMgd2l0aGluIGJ0bi1ncm91cHMgKHVzZWZ1bCBmb3IgaW5jbHVkaW5nIGRyb3Bkb3duIGJ1dHRvbnMgd2l0aGluIGEgYnRuLWdyb3VwKVxuLmJ0bi1ncm91cCA+IC5idG4tZ3JvdXAge1xuICBmbG9hdDogbGVmdDtcbn1cbi5idG4tZ3JvdXAgPiAuYnRuLWdyb3VwOm5vdCg6Zmlyc3QtY2hpbGQpOm5vdCg6bGFzdC1jaGlsZCkgPiAuYnRuIHtcbiAgYm9yZGVyLXJhZGl1czogMDtcbn1cbi5idG4tZ3JvdXAgPiAuYnRuLWdyb3VwOmZpcnN0LWNoaWxkOm5vdCg6bGFzdC1jaGlsZCkge1xuICA+IC5idG46bGFzdC1jaGlsZCxcbiAgPiAuZHJvcGRvd24tdG9nZ2xlIHtcbiAgICBAaW5jbHVkZSBib3JkZXItcmlnaHQtcmFkaXVzKDApO1xuICB9XG59XG4uYnRuLWdyb3VwID4gLmJ0bi1ncm91cDpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpID4gLmJ0bjpmaXJzdC1jaGlsZCB7XG4gIEBpbmNsdWRlIGJvcmRlci1sZWZ0LXJhZGl1cygwKTtcbn1cblxuLy8gT24gYWN0aXZlIGFuZCBvcGVuLCBkb24ndCBzaG93IG91dGxpbmVcbi5idG4tZ3JvdXAgLmRyb3Bkb3duLXRvZ2dsZTphY3RpdmUsXG4uYnRuLWdyb3VwLm9wZW4gLmRyb3Bkb3duLXRvZ2dsZSB7XG4gIG91dGxpbmU6IDA7XG59XG5cblxuLy8gU2l6aW5nXG4vL1xuLy8gUmVtaXggdGhlIGRlZmF1bHQgYnV0dG9uIHNpemluZyBjbGFzc2VzIGludG8gbmV3IG9uZXMgZm9yIGVhc2llciBtYW5pcHVsYXRpb24uXG5cbi5idG4tZ3JvdXAtc20gPiAuYnRuIHsgQGV4dGVuZCAuYnRuLXNtOyB9XG4uYnRuLWdyb3VwLWxnID4gLmJ0biB7IEBleHRlbmQgLmJ0bi1sZzsgfVxuXG5cbi8vXG4vLyBTcGxpdCBidXR0b24gZHJvcGRvd25zXG4vL1xuXG4uYnRuICsgLmRyb3Bkb3duLXRvZ2dsZS1zcGxpdCB7XG4gIHBhZGRpbmctcmlnaHQ6ICRidG4tcGFkZGluZy14ICogLjc1O1xuICBwYWRkaW5nLWxlZnQ6ICRidG4tcGFkZGluZy14ICogLjc1O1xuXG4gICY6OmFmdGVyIHtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgfVxufVxuXG4uYnRuLXNtICsgLmRyb3Bkb3duLXRvZ2dsZS1zcGxpdCB7XG4gIHBhZGRpbmctcmlnaHQ6ICRidG4tcGFkZGluZy14LXNtICogLjc1O1xuICBwYWRkaW5nLWxlZnQ6ICRidG4tcGFkZGluZy14LXNtICogLjc1O1xufVxuXG4uYnRuLWxnICsgLmRyb3Bkb3duLXRvZ2dsZS1zcGxpdCB7XG4gIHBhZGRpbmctcmlnaHQ6ICRidG4tcGFkZGluZy14LWxnICogLjc1O1xuICBwYWRkaW5nLWxlZnQ6ICRidG4tcGFkZGluZy14LWxnICogLjc1O1xufVxuXG5cbi8vIFRoZSBjbGlja2FibGUgYnV0dG9uIGZvciB0b2dnbGluZyB0aGUgbWVudVxuLy8gUmVtb3ZlIHRoZSBncmFkaWVudCBhbmQgc2V0IHRoZSBzYW1lIGluc2V0IHNoYWRvdyBhcyB0aGUgOmFjdGl2ZSBzdGF0ZVxuLmJ0bi1ncm91cC5vcGVuIC5kcm9wZG93bi10b2dnbGUge1xuICBAaW5jbHVkZSBib3gtc2hhZG93KCRidG4tYWN0aXZlLWJveC1zaGFkb3cpO1xuXG4gIC8vIFNob3cgbm8gc2hhZG93IGZvciBgLmJ0bi1saW5rYCBzaW5jZSBpdCBoYXMgbm8gb3RoZXIgYnV0dG9uIHN0eWxlcy5cbiAgJi5idG4tbGluayB7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdyhub25lKTtcbiAgfVxufVxuXG5cbi8vIFJlcG9zaXRpb24gdGhlIGNhcmV0XG4uYnRuIC5jYXJldCB7XG4gIG1hcmdpbi1sZWZ0OiAwO1xufVxuLy8gQ2FyZXRzIGluIG90aGVyIGJ1dHRvbiBzaXplc1xuLmJ0bi1sZyAuY2FyZXQge1xuICBib3JkZXItd2lkdGg6ICRjYXJldC13aWR0aC1sZyAkY2FyZXQtd2lkdGgtbGcgMDtcbiAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbn1cbi8vIFVwc2lkZSBkb3duIGNhcmV0cyBmb3IgLmRyb3B1cFxuLmRyb3B1cCAuYnRuLWxnIC5jYXJldCB7XG4gIGJvcmRlci13aWR0aDogMCAkY2FyZXQtd2lkdGgtbGcgJGNhcmV0LXdpZHRoLWxnO1xufVxuXG5cblxuLy9cbi8vIFZlcnRpY2FsIGJ1dHRvbiBncm91cHNcbi8vXG5cbi5idG4tZ3JvdXAtdmVydGljYWwge1xuICA+IC5idG4sXG4gID4gLmJ0bi1ncm91cCxcbiAgPiAuYnRuLWdyb3VwID4gLmJ0biB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICB9XG5cbiAgLy8gQ2xlYXIgZmxvYXRzIHNvIGRyb3Bkb3duIG1lbnVzIGNhbiBiZSBwcm9wZXJseSBwbGFjZWRcbiAgPiAuYnRuLWdyb3VwIHtcbiAgICBAaW5jbHVkZSBjbGVhcmZpeCgpO1xuXG4gICAgPiAuYnRuIHtcbiAgICAgIGZsb2F0OiBub25lO1xuICAgIH1cbiAgfVxuXG4gID4gLmJ0biArIC5idG4sXG4gID4gLmJ0biArIC5idG4tZ3JvdXAsXG4gID4gLmJ0bi1ncm91cCArIC5idG4sXG4gID4gLmJ0bi1ncm91cCArIC5idG4tZ3JvdXAge1xuICAgIG1hcmdpbi10b3A6IC0kaW5wdXQtYnRuLWJvcmRlci13aWR0aDtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgfVxufVxuXG4uYnRuLWdyb3VwLXZlcnRpY2FsID4gLmJ0biB7XG4gICY6bm90KDpmaXJzdC1jaGlsZCk6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgfVxuICAmOmZpcnN0LWNoaWxkOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgIEBpbmNsdWRlIGJvcmRlci1ib3R0b20tcmFkaXVzKDApO1xuICB9XG4gICY6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXMoMCk7XG4gIH1cbn1cbi5idG4tZ3JvdXAtdmVydGljYWwgPiAuYnRuLWdyb3VwOm5vdCg6Zmlyc3QtY2hpbGQpOm5vdCg6bGFzdC1jaGlsZCkgPiAuYnRuIHtcbiAgYm9yZGVyLXJhZGl1czogMDtcbn1cbi5idG4tZ3JvdXAtdmVydGljYWwgPiAuYnRuLWdyb3VwOmZpcnN0LWNoaWxkOm5vdCg6bGFzdC1jaGlsZCkge1xuICA+IC5idG46bGFzdC1jaGlsZCxcbiAgPiAuZHJvcGRvd24tdG9nZ2xlIHtcbiAgICBAaW5jbHVkZSBib3JkZXItYm90dG9tLXJhZGl1cygwKTtcbiAgfVxufVxuLmJ0bi1ncm91cC12ZXJ0aWNhbCA+IC5idG4tZ3JvdXA6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSA+IC5idG46Zmlyc3QtY2hpbGQge1xuICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cygwKTtcbn1cblxuXG4vLyBDaGVja2JveCBhbmQgcmFkaW8gb3B0aW9uc1xuLy9cbi8vIEluIG9yZGVyIHRvIHN1cHBvcnQgdGhlIGJyb3dzZXIncyBmb3JtIHZhbGlkYXRpb24gZmVlZGJhY2ssIHBvd2VyZWQgYnkgdGhlXG4vLyBgcmVxdWlyZWRgIGF0dHJpYnV0ZSwgd2UgaGF2ZSB0byBcImhpZGVcIiB0aGUgaW5wdXRzIHZpYSBgY2xpcGAuIFdlIGNhbm5vdCB1c2Vcbi8vIGBkaXNwbGF5OiBub25lO2Agb3IgYHZpc2liaWxpdHk6IGhpZGRlbjtgIGFzIHRoYXQgYWxzbyBoaWRlcyB0aGUgcG9wb3Zlci5cbi8vIFNpbXBseSB2aXN1YWxseSBoaWRpbmcgdGhlIGlucHV0cyB2aWEgYG9wYWNpdHlgIHdvdWxkIGxlYXZlIHRoZW0gY2xpY2thYmxlIGluXG4vLyBjZXJ0YWluIGNhc2VzIHdoaWNoIGlzIHByZXZlbnRlZCBieSB1c2luZyBgY2xpcGAgYW5kIGBwb2ludGVyLWV2ZW50c2AuXG4vLyBUaGlzIHdheSwgd2UgZW5zdXJlIGEgRE9NIGVsZW1lbnQgaXMgdmlzaWJsZSB0byBwb3NpdGlvbiB0aGUgcG9wb3ZlciBmcm9tLlxuLy9cbi8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvcHVsbC8xMjc5NCBhbmRcbi8vIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9wdWxsLzE0NTU5IGZvciBtb3JlIGluZm9ybWF0aW9uLlxuXG5bZGF0YS10b2dnbGU9XCJidXR0b25zXCJdIHtcbiAgPiAuYnRuLFxuICA+IC5idG4tZ3JvdXAgPiAuYnRuIHtcbiAgICBpbnB1dFt0eXBlPVwicmFkaW9cIl0sXG4gICAgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGNsaXA6IHJlY3QoMCwwLDAsMCk7XG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB9XG4gIH1cbn1cbiIsIkBtaXhpbiBjbGVhcmZpeCgpIHtcbiAgJjo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY2xlYXI6IGJvdGg7XG4gIH1cbn1cbiIsIi8vXG4vLyBCYXNlIHN0eWxlc1xuLy9cblxuLmlucHV0LWdyb3VwIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcblxuICBAaWYgJGVuYWJsZS1mbGV4IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICB9IEBlbHNlIHtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICAvLyBQcmV2ZW50IGlucHV0IGdyb3VwcyBmcm9tIGluaGVyaXRpbmcgYm9yZGVyIHN0eWxlcyBmcm9tIHRhYmxlIGNlbGxzIHdoZW5cbiAgICAvLyBwbGFjZWQgd2l0aGluIGEgdGFibGUuXG4gICAgYm9yZGVyLWNvbGxhcHNlOiBzZXBhcmF0ZTtcbiAgfVxuXG4gIC5mb3JtLWNvbnRyb2wge1xuICAgIC8vIEVuc3VyZSB0aGF0IHRoZSBpbnB1dCBpcyBhbHdheXMgYWJvdmUgdGhlICphcHBlbmRlZCogYWRkb24gYnV0dG9uIGZvclxuICAgIC8vIHByb3BlciBib3JkZXIgY29sb3JzLlxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAyO1xuICAgIC8vIEJyaW5nIHRoZSBcImFjdGl2ZVwiIGZvcm0gY29udHJvbCB0byB0aGUgZnJvbnRcbiAgICBAaW5jbHVkZSBob3Zlci1mb2N1cy1hY3RpdmUge1xuICAgICAgei1pbmRleDogMztcbiAgICB9XG4gICAgQGlmICRlbmFibGUtZmxleCB7XG4gICAgICBmbGV4OiAxO1xuICAgIH0gQGVsc2Uge1xuICAgICAgLy8gSUU5IGZ1YmFycyB0aGUgcGxhY2Vob2xkZXIgYXR0cmlidXRlIGluIHRleHQgaW5wdXRzIGFuZCB0aGUgYXJyb3dzIG9uXG4gICAgICAvLyBzZWxlY3QgZWxlbWVudHMgaW4gaW5wdXQgZ3JvdXBzLiBUbyBmaXggaXQsIHdlIGZsb2F0IHRoZSBpbnB1dC4gRGV0YWlsczpcbiAgICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMTE1NjEjaXNzdWVjb21tZW50LTI4OTM2ODU1XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG5cbi5pbnB1dC1ncm91cC1hZGRvbixcbi5pbnB1dC1ncm91cC1idG4sXG4uaW5wdXQtZ3JvdXAgLmZvcm0tY29udHJvbCB7XG4gIEBpZiBub3QgJGVuYWJsZS1mbGV4IHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICB9XG5cbiAgJjpub3QoOmZpcnN0LWNoaWxkKTpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDApO1xuICB9XG59XG5cbi5pbnB1dC1ncm91cC1hZGRvbixcbi5pbnB1dC1ncm91cC1idG4ge1xuICBAaWYgbm90ICRlbmFibGUtZmxleCB7XG4gICAgd2lkdGg6IDElO1xuICB9XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IC8vIE1hdGNoIHRoZSBpbnB1dHNcbn1cblxuXG4vLyBTaXppbmcgb3B0aW9uc1xuLy9cbi8vIFJlbWl4IHRoZSBkZWZhdWx0IGZvcm0gY29udHJvbCBzaXppbmcgY2xhc3NlcyBpbnRvIG5ldyBvbmVzIGZvciBlYXNpZXJcbi8vIG1hbmlwdWxhdGlvbi5cblxuLmlucHV0LWdyb3VwLWxnID4gLmZvcm0tY29udHJvbCxcbi5pbnB1dC1ncm91cC1sZyA+IC5pbnB1dC1ncm91cC1hZGRvbixcbi5pbnB1dC1ncm91cC1sZyA+IC5pbnB1dC1ncm91cC1idG4gPiAuYnRuIHtcbiAgQGV4dGVuZCAuZm9ybS1jb250cm9sLWxnO1xufVxuLmlucHV0LWdyb3VwLXNtID4gLmZvcm0tY29udHJvbCxcbi5pbnB1dC1ncm91cC1zbSA+IC5pbnB1dC1ncm91cC1hZGRvbixcbi5pbnB1dC1ncm91cC1zbSA+IC5pbnB1dC1ncm91cC1idG4gPiAuYnRuIHtcbiAgQGV4dGVuZCAuZm9ybS1jb250cm9sLXNtO1xufVxuXG5cbi8vXG4vLyBUZXh0IGlucHV0IGdyb3Vwc1xuLy9cblxuLmlucHV0LWdyb3VwLWFkZG9uIHtcbiAgcGFkZGluZzogJGlucHV0LXBhZGRpbmcteSAkaW5wdXQtcGFkZGluZy14O1xuICBtYXJnaW4tYm90dG9tOiAwOyAvLyBBbGxvdyB1c2Ugb2YgPGxhYmVsPiBlbGVtZW50cyBieSBvdmVycmlkaW5nIG91ciBkZWZhdWx0IG1hcmdpbi1ib3R0b21cbiAgZm9udC1zaXplOiAkZm9udC1zaXplLWJhc2U7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiAkaW5wdXQtbGluZS1oZWlnaHQ7XG4gIGNvbG9yOiAkaW5wdXQtY29sb3I7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWdyb3VwLWFkZG9uLWJnO1xuICBib3JkZXI6ICRpbnB1dC1idG4tYm9yZGVyLXdpZHRoIHNvbGlkICRpbnB1dC1ncm91cC1hZGRvbi1ib3JkZXItY29sb3I7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGlucHV0LWJvcmRlci1yYWRpdXMpO1xuXG4gIC8vIFNpemluZ1xuICAmLmZvcm0tY29udHJvbC1zbSB7XG4gICAgcGFkZGluZzogJGlucHV0LXBhZGRpbmcteS1zbSAkaW5wdXQtcGFkZGluZy14LXNtO1xuICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1zbTtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRpbnB1dC1ib3JkZXItcmFkaXVzLXNtKTtcbiAgfVxuICAmLmZvcm0tY29udHJvbC1sZyB7XG4gICAgcGFkZGluZzogJGlucHV0LXBhZGRpbmcteS1sZyAkaW5wdXQtcGFkZGluZy14LWxnO1xuICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1sZztcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRpbnB1dC1ib3JkZXItcmFkaXVzLWxnKTtcbiAgfVxuXG4gIC8vIHNjc3MtbGludDpkaXNhYmxlIFF1YWxpZnlpbmdFbGVtZW50XG4gIC8vIE51a2UgZGVmYXVsdCBtYXJnaW5zIGZyb20gY2hlY2tib3hlcyBhbmQgcmFkaW9zIHRvIHZlcnRpY2FsbHkgY2VudGVyIHdpdGhpbi5cbiAgaW5wdXRbdHlwZT1cInJhZGlvXCJdLFxuICBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0ge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gIH1cbiAgLy8gc2Nzcy1saW50OmVuYWJsZSBRdWFsaWZ5aW5nRWxlbWVudFxufVxuXG5cbi8vXG4vLyBSZXNldCByb3VuZGVkIGNvcm5lcnNcbi8vXG5cbi5pbnB1dC1ncm91cCAuZm9ybS1jb250cm9sOm5vdCg6bGFzdC1jaGlsZCksXG4uaW5wdXQtZ3JvdXAtYWRkb246bm90KDpsYXN0LWNoaWxkKSxcbi5pbnB1dC1ncm91cC1idG46bm90KDpsYXN0LWNoaWxkKSA+IC5idG4sXG4uaW5wdXQtZ3JvdXAtYnRuOm5vdCg6bGFzdC1jaGlsZCkgPiAuYnRuLWdyb3VwID4gLmJ0bixcbi5pbnB1dC1ncm91cC1idG46bm90KDpsYXN0LWNoaWxkKSA+IC5kcm9wZG93bi10b2dnbGUsXG4uaW5wdXQtZ3JvdXAtYnRuOm5vdCg6Zmlyc3QtY2hpbGQpID4gLmJ0bjpub3QoOmxhc3QtY2hpbGQpOm5vdCguZHJvcGRvd24tdG9nZ2xlKSxcbi5pbnB1dC1ncm91cC1idG46bm90KDpmaXJzdC1jaGlsZCkgPiAuYnRuLWdyb3VwOm5vdCg6bGFzdC1jaGlsZCkgPiAuYnRuIHtcbiAgQGluY2x1ZGUgYm9yZGVyLXJpZ2h0LXJhZGl1cygwKTtcbn1cbi5pbnB1dC1ncm91cC1hZGRvbjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgYm9yZGVyLXJpZ2h0OiAwO1xufVxuLmlucHV0LWdyb3VwIC5mb3JtLWNvbnRyb2w6bm90KDpmaXJzdC1jaGlsZCksXG4uaW5wdXQtZ3JvdXAtYWRkb246bm90KDpmaXJzdC1jaGlsZCksXG4uaW5wdXQtZ3JvdXAtYnRuOm5vdCg6Zmlyc3QtY2hpbGQpID4gLmJ0bixcbi5pbnB1dC1ncm91cC1idG46bm90KDpmaXJzdC1jaGlsZCkgPiAuYnRuLWdyb3VwID4gLmJ0bixcbi5pbnB1dC1ncm91cC1idG46bm90KDpmaXJzdC1jaGlsZCkgPiAuZHJvcGRvd24tdG9nZ2xlLFxuLmlucHV0LWdyb3VwLWJ0bjpub3QoOmxhc3QtY2hpbGQpID4gLmJ0bjpub3QoOmZpcnN0LWNoaWxkKSxcbi5pbnB1dC1ncm91cC1idG46bm90KDpsYXN0LWNoaWxkKSA+IC5idG4tZ3JvdXA6bm90KDpmaXJzdC1jaGlsZCkgPiAuYnRuIHtcbiAgQGluY2x1ZGUgYm9yZGVyLWxlZnQtcmFkaXVzKDApO1xufVxuLmZvcm0tY29udHJvbCArIC5pbnB1dC1ncm91cC1hZGRvbjpub3QoOmZpcnN0LWNoaWxkKSB7XG4gIGJvcmRlci1sZWZ0OiAwO1xufVxuXG4vL1xuLy8gQnV0dG9uIGlucHV0IGdyb3Vwc1xuLy9cblxuLmlucHV0LWdyb3VwLWJ0biB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgLy8gSmFua2lseSBwcmV2ZW50IGlucHV0IGJ1dHRvbiBncm91cHMgZnJvbSB3cmFwcGluZyB3aXRoIGB3aGl0ZS1zcGFjZWAgYW5kXG4gIC8vIGBmb250LXNpemVgIGluIGNvbWJpbmF0aW9uIHdpdGggYGlubGluZS1ibG9ja2Agb24gYnV0dG9ucy5cbiAgZm9udC1zaXplOiAwO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gIC8vIE5lZ2F0aXZlIG1hcmdpbiBmb3Igc3BhY2luZywgcG9zaXRpb24gZm9yIGJyaW5naW5nIGhvdmVyZWQvZm9jdXNlZC9hY3RpdmVkXG4gIC8vIGVsZW1lbnQgYWJvdmUgdGhlIHNpYmxpbmdzLlxuICA+IC5idG4ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICArIC5idG4ge1xuICAgICAgbWFyZ2luLWxlZnQ6ICgtJGlucHV0LWJ0bi1ib3JkZXItd2lkdGgpO1xuICAgIH1cbiAgICAvLyBCcmluZyB0aGUgXCJhY3RpdmVcIiBidXR0b24gdG8gdGhlIGZyb250XG4gICAgQGluY2x1ZGUgaG92ZXItZm9jdXMtYWN0aXZlIHtcbiAgICAgIHotaW5kZXg6IDM7XG4gICAgfVxuICB9XG5cbiAgLy8gTmVnYXRpdmUgbWFyZ2luIHRvIG9ubHkgaGF2ZSBhIHNpbmdsZSwgc2hhcmVkIGJvcmRlciBiZXR3ZWVuIHRoZSB0d29cbiAgJjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICA+IC5idG4sXG4gICAgPiAuYnRuLWdyb3VwIHtcbiAgICAgIG1hcmdpbi1yaWdodDogKC0kaW5wdXQtYnRuLWJvcmRlci13aWR0aCk7XG4gICAgfVxuICB9XG4gICY6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgID4gLmJ0bixcbiAgICA+IC5idG4tZ3JvdXAge1xuICAgICAgei1pbmRleDogMjtcbiAgICAgIG1hcmdpbi1sZWZ0OiAoLSRpbnB1dC1idG4tYm9yZGVyLXdpZHRoKTtcbiAgICAgIC8vIEJlY2F1c2Ugc3BlY2lmaWNpdHlcbiAgICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzLWFjdGl2ZSB7XG4gICAgICAgIHotaW5kZXg6IDM7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBzY3NzLWxpbnQ6ZGlzYWJsZSBQcm9wZXJ0eUNvdW50XG5cbi8vIEVtYmVkZGVkIGljb25zIGZyb20gT3BlbiBJY29uaWMuXG4vLyBSZWxlYXNlZCB1bmRlciBNSVQgYW5kIGNvcHlyaWdodCAyMDE0IFdheWJ1cnkuXG4vLyBodHRwOi8vdXNlaWNvbmljLmNvbS9vcGVuXG5cblxuLy8gQ2hlY2tib3hlcyBhbmQgcmFkaW9zXG4vL1xuLy8gQmFzZSBjbGFzcyB0YWtlcyBjYXJlIG9mIGFsbCB0aGUga2V5IGJlaGF2aW9yYWwgYXNwZWN0cy5cblxuLmN1c3RvbS1jb250cm9sIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmU7XG4gIHBhZGRpbmctbGVmdDogJGN1c3RvbS1jb250cm9sLWd1dHRlcjtcbiAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICsgLmN1c3RvbS1jb250cm9sIHtcbiAgICBtYXJnaW4tbGVmdDogJGN1c3RvbS1jb250cm9sLXNwYWNlci14O1xuICB9XG59XG5cbi5jdXN0b20tY29udHJvbC1pbnB1dCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogLTE7IC8vIFB1dCB0aGUgaW5wdXQgYmVoaW5kIHRoZSBsYWJlbCBzbyBpdCBkb2Vzbid0IG92ZXJsYXkgdGV4dFxuICBvcGFjaXR5OiAwO1xuXG4gICY6Y2hlY2tlZCB+IC5jdXN0b20tY29udHJvbC1pbmRpY2F0b3Ige1xuICAgIGNvbG9yOiAkY3VzdG9tLWNvbnRyb2wtY2hlY2tlZC1pbmRpY2F0b3ItY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGN1c3RvbS1jb250cm9sLWNoZWNrZWQtaW5kaWNhdG9yLWJnO1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGN1c3RvbS1jb250cm9sLWNoZWNrZWQtaW5kaWNhdG9yLWJveC1zaGFkb3cpO1xuICB9XG5cbiAgJjpmb2N1cyB+IC5jdXN0b20tY29udHJvbC1pbmRpY2F0b3Ige1xuICAgIC8vIHRoZSBtaXhpbiBpcyBub3QgdXNlZCBoZXJlIHRvIG1ha2Ugc3VyZSB0aGVyZSBpcyBmZWVkYmFja1xuICAgIGJveC1zaGFkb3c6ICRjdXN0b20tY29udHJvbC1mb2N1cy1pbmRpY2F0b3ItYm94LXNoYWRvdztcbiAgfVxuXG4gICY6YWN0aXZlIH4gLmN1c3RvbS1jb250cm9sLWluZGljYXRvciB7XG4gICAgY29sb3I6ICRjdXN0b20tY29udHJvbC1hY3RpdmUtaW5kaWNhdG9yLWNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjdXN0b20tY29udHJvbC1hY3RpdmUtaW5kaWNhdG9yLWJnO1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGN1c3RvbS1jb250cm9sLWFjdGl2ZS1pbmRpY2F0b3ItYm94LXNoYWRvdyk7XG4gIH1cblxuICAmOmRpc2FibGVkIHtcbiAgICB+IC5jdXN0b20tY29udHJvbC1pbmRpY2F0b3Ige1xuICAgICAgY3Vyc29yOiAkY3VzdG9tLWNvbnRyb2wtZGlzYWJsZWQtY3Vyc29yO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGN1c3RvbS1jb250cm9sLWRpc2FibGVkLWluZGljYXRvci1iZztcbiAgICB9XG5cbiAgICB+IC5jdXN0b20tY29udHJvbC1kZXNjcmlwdGlvbiB7XG4gICAgICBjb2xvcjogJGN1c3RvbS1jb250cm9sLWRpc2FibGVkLWRlc2NyaXB0aW9uLWNvbG9yO1xuICAgICAgY3Vyc29yOiAkY3VzdG9tLWNvbnRyb2wtZGlzYWJsZWQtY3Vyc29yO1xuICAgIH1cbiAgfVxufVxuXG4vLyBDdXN0b20gaW5kaWNhdG9yXG4vL1xuLy8gR2VuZXJhdGVzIGEgc2hhZG93IGVsZW1lbnQgdG8gY3JlYXRlIG91ciBtYWtlc2hpZnQgY2hlY2tib3gvcmFkaW8gYmFja2dyb3VuZC5cblxuLmN1c3RvbS1jb250cm9sLWluZGljYXRvciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAuMDYyNXJlbTtcbiAgbGVmdDogMDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLXNpemU7XG4gIGhlaWdodDogJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1zaXplO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6ICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYmc7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gIGJhY2tncm91bmQtc2l6ZTogJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1iZy1zaXplO1xuICBAaW5jbHVkZSBib3gtc2hhZG93KCRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYm94LXNoYWRvdyk7XG59XG5cbi8vIENoZWNrYm94ZXNcbi8vXG4vLyBUd2VhayBqdXN0IGEgZmV3IHRoaW5ncyBmb3IgY2hlY2tib3hlcy5cblxuLmN1c3RvbS1jaGVja2JveCB7XG4gIC5jdXN0b20tY29udHJvbC1pbmRpY2F0b3Ige1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGN1c3RvbS1jaGVja2JveC1yYWRpdXMpO1xuICB9XG5cbiAgLmN1c3RvbS1jb250cm9sLWlucHV0OmNoZWNrZWQgfiAuY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAkY3VzdG9tLWNoZWNrYm94LWNoZWNrZWQtaWNvbjtcbiAgfVxuXG4gIC5jdXN0b20tY29udHJvbC1pbnB1dDppbmRldGVybWluYXRlIH4gLmN1c3RvbS1jb250cm9sLWluZGljYXRvciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGN1c3RvbS1jaGVja2JveC1pbmRldGVybWluYXRlLWJnO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6ICRjdXN0b20tY2hlY2tib3gtaW5kZXRlcm1pbmF0ZS1pY29uO1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGN1c3RvbS1jaGVja2JveC1pbmRldGVybWluYXRlLWJveC1zaGFkb3cpO1xuICB9XG59XG5cbi8vIFJhZGlvc1xuLy9cbi8vIFR3ZWFrIGp1c3QgYSBmZXcgdGhpbmdzIGZvciByYWRpb3MuXG5cbi5jdXN0b20tcmFkaW8ge1xuICAuY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yIHtcbiAgICBib3JkZXItcmFkaXVzOiAkY3VzdG9tLXJhZGlvLXJhZGl1cztcbiAgfVxuXG4gIC5jdXN0b20tY29udHJvbC1pbnB1dDpjaGVja2VkIH4gLmN1c3RvbS1jb250cm9sLWluZGljYXRvciB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogJGN1c3RvbS1yYWRpby1jaGVja2VkLWljb247XG4gIH1cbn1cblxuXG4vLyBMYXlvdXQgb3B0aW9uc1xuLy9cbi8vIEJ5IGRlZmF1bHQgcmFkaW9zIGFuZCBjaGVja2JveGVzIGFyZSBgaW5saW5lLWJsb2NrYCB3aXRoIG5vIGFkZGl0aW9uYWwgc3BhY2luZ1xuLy8gc2V0LiBVc2UgdGhlc2Ugb3B0aW9uYWwgY2xhc3NlcyB0byB0d2VhayB0aGUgbGF5b3V0LlxuXG4uY3VzdG9tLWNvbnRyb2xzLXN0YWNrZWQge1xuICAuY3VzdG9tLWNvbnRyb2wge1xuICAgIGRpc3BsYXk6IGlubGluZTtcblxuICAgICY6OmFmdGVyIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWFyZ2luLWJvdHRvbTogJGN1c3RvbS1jb250cm9sLXNwYWNlci15O1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICB9XG5cbiAgICArIC5jdXN0b20tY29udHJvbCB7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICB9XG4gIH1cbn1cblxuXG4vLyBTZWxlY3Rcbi8vXG4vLyBSZXBsYWNlcyB0aGUgYnJvd3NlciBkZWZhdWx0IHNlbGVjdCB3aXRoIGEgY3VzdG9tIG9uZSwgbW9zdGx5IHB1bGxlZCBmcm9tXG4vLyBodHRwOi8vcHJpbWVyY3NzLmlvLlxuLy9cbi8vIEluY2x1ZGVzIElFOS1zcGVjaWZpYyBoYWNrcyAobm90ZWQgYnkgYCBcXDlgKS5cblxuLmN1c3RvbS1zZWxlY3Qge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgcGFkZGluZzogJGN1c3RvbS1zZWxlY3QtcGFkZGluZy15ICgkY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXggKyAkY3VzdG9tLXNlbGVjdC1pbmRpY2F0b3ItcGFkZGluZykgJGN1c3RvbS1zZWxlY3QtcGFkZGluZy15ICRjdXN0b20tc2VsZWN0LXBhZGRpbmcteDtcbiAgcGFkZGluZy1yaWdodDogJGN1c3RvbS1zZWxlY3QtcGFkZGluZy14IFxcOTtcbiAgY29sb3I6ICRjdXN0b20tc2VsZWN0LWNvbG9yO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBiYWNrZ3JvdW5kOiAkY3VzdG9tLXNlbGVjdC1iZyAkY3VzdG9tLXNlbGVjdC1pbmRpY2F0b3Igbm8tcmVwZWF0IHJpZ2h0ICRjdXN0b20tc2VsZWN0LXBhZGRpbmcteCBjZW50ZXI7XG4gIGJhY2tncm91bmQtaW1hZ2U6IG5vbmUgXFw5O1xuICBiYWNrZ3JvdW5kLXNpemU6ICRjdXN0b20tc2VsZWN0LWJnLXNpemU7XG4gIGJvcmRlcjogJGN1c3RvbS1zZWxlY3QtYm9yZGVyLXdpZHRoIHNvbGlkICRjdXN0b20tc2VsZWN0LWJvcmRlci1jb2xvcjtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkY3VzdG9tLXNlbGVjdC1ib3JkZXItcmFkaXVzKTtcbiAgLy8gVXNlIHZlbmRvciBwcmVmaXhlcyBhcyBgYXBwZWFyYW5jZWAgaXNuJ3QgcGFydCBvZiB0aGUgQ1NTIHNwZWMuXG4gIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuXG4gICY6Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogJGN1c3RvbS1zZWxlY3QtZm9jdXMtYm9yZGVyLWNvbG9yO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdygkY3VzdG9tLXNlbGVjdC1mb2N1cy1ib3gtc2hhZG93KTtcblxuICAgICY6Oi1tcy12YWx1ZSB7XG4gICAgICAvLyBGb3IgdmlzdWFsIGNvbnNpc3RlbmN5IHdpdGggb3RoZXIgcGxhdGZvcm1zL2Jyb3dzZXJzLFxuICAgICAgLy8gc3VwcmVzcyB0aGUgZGVmYXVsdCB3aGl0ZSB0ZXh0IG9uIGJsdWUgYmFja2dyb3VuZCBoaWdobGlnaHQgZ2l2ZW4gdG9cbiAgICAgIC8vIHRoZSBzZWxlY3RlZCBvcHRpb24gdGV4dCB3aGVuIHRoZSAoc3RpbGwgY2xvc2VkKSA8c2VsZWN0PiByZWNlaXZlcyBmb2N1c1xuICAgICAgLy8gaW4gSUUgYW5kICh1bmRlciBjZXJ0YWluIGNvbmRpdGlvbnMpIEVkZ2UuXG4gICAgICAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xOTM5OC5cbiAgICAgIGNvbG9yOiAkaW5wdXQtY29sb3I7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmc7XG4gICAgfVxuICB9XG5cbiAgJjpkaXNhYmxlZCB7XG4gICAgY29sb3I6ICRjdXN0b20tc2VsZWN0LWRpc2FibGVkLWNvbG9yO1xuICAgIGN1cnNvcjogJGN1cnNvci1kaXNhYmxlZDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY3VzdG9tLXNlbGVjdC1kaXNhYmxlZC1iZztcbiAgfVxuXG4gIC8vIEhpZGVzIHRoZSBkZWZhdWx0IGNhcmV0IGluIElFMTFcbiAgJjo6LW1zLWV4cGFuZCB7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuXG4uY3VzdG9tLXNlbGVjdC1zbSB7XG4gIHBhZGRpbmctdG9wOiAkY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXk7XG4gIHBhZGRpbmctYm90dG9tOiAkY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXk7XG4gIGZvbnQtc2l6ZTogJGN1c3RvbS1zZWxlY3Qtc20tZm9udC1zaXplO1xuXG4gIC8vICY6bm90KFttdWx0aXBsZV0pIHtcbiAgLy8gICBoZWlnaHQ6IDI2cHg7XG4gIC8vICAgbWluLWhlaWdodDogMjZweDtcbiAgLy8gfVxufVxuXG5cbi8vIEZpbGVcbi8vXG4vLyBDdXN0b20gZmlsZSBpbnB1dC5cblxuLmN1c3RvbS1maWxlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAkY3VzdG9tLWZpbGUtaGVpZ2h0O1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi5jdXN0b20tZmlsZS1pbnB1dCB7XG4gIG1pbi13aWR0aDogJGN1c3RvbS1maWxlLXdpZHRoO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIG1hcmdpbjogMDtcbiAgZmlsdGVyOiBhbHBoYShvcGFjaXR5ID0gMCk7XG4gIG9wYWNpdHk6IDA7XG5cbiAgJjpmb2N1cyB+IC5jdXN0b20tZmlsZS1jb250cm9sIHtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRjdXN0b20tZmlsZS1mb2N1cy1ib3gtc2hhZG93KTtcbiAgfVxufVxuXG4uY3VzdG9tLWZpbGUtY29udHJvbCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogNTtcbiAgaGVpZ2h0OiAkY3VzdG9tLWZpbGUtaGVpZ2h0O1xuICBwYWRkaW5nOiAkY3VzdG9tLWZpbGUtcGFkZGluZy14ICRjdXN0b20tZmlsZS1wYWRkaW5nLXk7XG4gIGxpbmUtaGVpZ2h0OiAkY3VzdG9tLWZpbGUtbGluZS1oZWlnaHQ7XG4gIGNvbG9yOiAkY3VzdG9tLWZpbGUtY29sb3I7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkY3VzdG9tLWZpbGUtYmc7XG4gIGJvcmRlcjogJGN1c3RvbS1maWxlLWJvcmRlci13aWR0aCBzb2xpZCAkY3VzdG9tLWZpbGUtYm9yZGVyLWNvbG9yO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRjdXN0b20tZmlsZS1ib3JkZXItcmFkaXVzKTtcbiAgQGluY2x1ZGUgYm94LXNoYWRvdygkY3VzdG9tLWZpbGUtYm94LXNoYWRvdyk7XG5cbiAgQGVhY2ggJGxhbmcsICR0ZXh0IGluIG1hcC1nZXQoJGN1c3RvbS1maWxlLXRleHQsIHBsYWNlaG9sZGVyKSB7XG4gICAgJjpsYW5nKCN7JGxhbmd9KTo6YWZ0ZXIge1xuICAgICAgY29udGVudDogJHRleHQ7XG4gICAgfVxuICB9XG5cbiAgJjo6YmVmb3JlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAtJGN1c3RvbS1maWxlLWJvcmRlci13aWR0aDtcbiAgICByaWdodDogLSRjdXN0b20tZmlsZS1ib3JkZXItd2lkdGg7XG4gICAgYm90dG9tOiAtJGN1c3RvbS1maWxlLWJvcmRlci13aWR0aDtcbiAgICB6LWluZGV4OiA2O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogJGN1c3RvbS1maWxlLWhlaWdodDtcbiAgICBwYWRkaW5nOiAkY3VzdG9tLWZpbGUtcGFkZGluZy14ICRjdXN0b20tZmlsZS1wYWRkaW5nLXk7XG4gICAgbGluZS1oZWlnaHQ6ICRjdXN0b20tZmlsZS1saW5lLWhlaWdodDtcbiAgICBjb2xvcjogJGN1c3RvbS1maWxlLWJ1dHRvbi1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY3VzdG9tLWZpbGUtYnV0dG9uLWJnO1xuICAgIGJvcmRlcjogJGN1c3RvbS1maWxlLWJvcmRlci13aWR0aCBzb2xpZCAkY3VzdG9tLWZpbGUtYm9yZGVyLWNvbG9yO1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoMCAkY3VzdG9tLWZpbGUtYm9yZGVyLXJhZGl1cyAkY3VzdG9tLWZpbGUtYm9yZGVyLXJhZGl1cyAwKTtcbiAgfVxuXG4gIEBlYWNoICRsYW5nLCAkdGV4dCBpbiBtYXAtZ2V0KCRjdXN0b20tZmlsZS10ZXh0LCBidXR0b24tbGFiZWwpIHtcbiAgICAmOmxhbmcoI3skbGFuZ30pOjpiZWZvcmUge1xuICAgICAgY29udGVudDogJHRleHQ7XG4gICAgfVxuICB9XG59XG4iLCIkY3VzdG9tLWZpbGUtYmc6IHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWJvcmRlci13aWR0aDogMCAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1ib3gtc2hhZG93OiBub25lICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWJvcmRlci1yYWRpdXM6IDAgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtbGluZS1oZWlnaHQ6IDEuMyAhZGVmYXVsdDtcbiIsIi8vIEJhc2UgY2xhc3Ncbi8vXG4vLyBLaWNrc3RhcnQgYW55IG5hdmlnYXRpb24gY29tcG9uZW50IHdpdGggYSBzZXQgb2Ygc3R5bGUgcmVzZXRzLiBXb3JrcyB3aXRoXG4vLyBgPG5hdj5gcyBvciBgPHVsPmBzLlxuXG4ubmF2IHtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xufVxuXG4ubmF2LWxpbmsge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cbiAgQGluY2x1ZGUgaG92ZXItZm9jdXMge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxuXG4gIC8vIERpc2FibGVkIHN0YXRlIGxpZ2h0ZW5zIHRleHQgYW5kIHJlbW92ZXMgaG92ZXIvdGFiIGVmZmVjdHNcbiAgJi5kaXNhYmxlZCB7XG4gICAgY29sb3I6ICRuYXYtZGlzYWJsZWQtbGluay1jb2xvcjtcblxuICAgIEBpbmNsdWRlIHBsYWluLWhvdmVyLWZvY3VzIHtcbiAgICAgIGNvbG9yOiAkbmF2LWRpc2FibGVkLWxpbmstaG92ZXItY29sb3I7XG4gICAgICBjdXJzb3I6ICRjdXJzb3ItZGlzYWJsZWQ7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbmF2LWRpc2FibGVkLWxpbmstaG92ZXItYmc7XG4gICAgfVxuICB9XG59XG5cblxuLy8gTmF2IGlubGluZVxuXG4ubmF2LWlubGluZSB7XG4gIC5uYXYtaXRlbSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB9XG5cbiAgLm5hdi1pdGVtICsgLm5hdi1pdGVtLFxuICAubmF2LWxpbmsgKyAubmF2LWxpbmsge1xuICAgIG1hcmdpbi1sZWZ0OiAkbmF2LWl0ZW0taW5saW5lLXNwYWNlcjtcbiAgfVxufVxuXG5cbi8vXG4vLyBUYWJzXG4vL1xuXG4ubmF2LXRhYnMge1xuICBib3JkZXItYm90dG9tOiAkbmF2LXRhYnMtYm9yZGVyLXdpZHRoIHNvbGlkICRuYXYtdGFicy1ib3JkZXItY29sb3I7XG4gIEBpbmNsdWRlIGNsZWFyZml4KCk7XG5cbiAgLm5hdi1pdGVtIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICAvLyBNYWtlIHRoZSBsaXN0LWl0ZW1zIG92ZXJsYXkgdGhlIGJvdHRvbSBib3JkZXJcbiAgICBtYXJnaW4tYm90dG9tOiAtJG5hdi10YWJzLWJvcmRlci13aWR0aDtcblxuICAgICsgLm5hdi1pdGVtIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAkbmF2LWl0ZW0tbWFyZ2luO1xuICAgIH1cbiAgfVxuXG4gIC5uYXYtbGluayB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogJG5hdi1saW5rLXBhZGRpbmc7XG4gICAgYm9yZGVyOiAkbmF2LXRhYnMtYm9yZGVyLXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIEBpbmNsdWRlIGJvcmRlci10b3AtcmFkaXVzKCRuYXYtdGFicy1ib3JkZXItcmFkaXVzKTtcblxuICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzIHtcbiAgICAgIGJvcmRlci1jb2xvcjogJG5hdi10YWJzLWxpbmstaG92ZXItYm9yZGVyLWNvbG9yICRuYXYtdGFicy1saW5rLWhvdmVyLWJvcmRlci1jb2xvciAkbmF2LXRhYnMtYm9yZGVyLWNvbG9yO1xuICAgIH1cblxuICAgICYuZGlzYWJsZWQge1xuICAgICAgQGluY2x1ZGUgcGxhaW4taG92ZXItZm9jdXMge1xuICAgICAgICBjb2xvcjogJG5hdi1kaXNhYmxlZC1saW5rLWNvbG9yO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAubmF2LWxpbmsuYWN0aXZlLFxuICAubmF2LWl0ZW0ub3BlbiAubmF2LWxpbmsge1xuICAgIEBpbmNsdWRlIHBsYWluLWhvdmVyLWZvY3VzIHtcbiAgICAgIGNvbG9yOiAkbmF2LXRhYnMtYWN0aXZlLWxpbmstaG92ZXItY29sb3I7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbmF2LXRhYnMtYWN0aXZlLWxpbmstaG92ZXItYmc7XG4gICAgICBib3JkZXItY29sb3I6ICRuYXYtdGFicy1hY3RpdmUtbGluay1ob3Zlci1ib3JkZXItY29sb3IgJG5hdi10YWJzLWFjdGl2ZS1saW5rLWhvdmVyLWJvcmRlci1jb2xvciB0cmFuc3BhcmVudDtcbiAgICB9XG4gIH1cblxuICAuZHJvcGRvd24tbWVudSB7XG4gICAgLy8gTWFrZSBkcm9wZG93biBib3JkZXIgb3ZlcmxhcCB0YWIgYm9yZGVyXG4gICAgbWFyZ2luLXRvcDogLSRuYXYtdGFicy1ib3JkZXItd2lkdGg7XG4gICAgLy8gUmVtb3ZlIHRoZSB0b3Agcm91bmRlZCBjb3JuZXJzIGhlcmUgc2luY2UgdGhlcmUgaXMgYSBoYXJkIGVkZ2UgYWJvdmUgdGhlIG1lbnVcbiAgICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cygwKTtcbiAgfVxufVxuXG5cbi8vXG4vLyBQaWxsc1xuLy9cblxuLm5hdi1waWxscyB7XG4gIEBpbmNsdWRlIGNsZWFyZml4KCk7XG5cbiAgLm5hdi1pdGVtIHtcbiAgICBmbG9hdDogbGVmdDtcblxuICAgICsgLm5hdi1pdGVtIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAkbmF2LWl0ZW0tbWFyZ2luO1xuICAgIH1cbiAgfVxuXG4gIC5uYXYtbGluayB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogJG5hdi1saW5rLXBhZGRpbmc7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkbmF2LXBpbGxzLWJvcmRlci1yYWRpdXMpO1xuICB9XG5cbiAgLm5hdi1saW5rLmFjdGl2ZSxcbiAgLm5hdi1pdGVtLm9wZW4gLm5hdi1saW5rIHtcbiAgICBAaW5jbHVkZSBwbGFpbi1ob3Zlci1mb2N1cyB7XG4gICAgICBjb2xvcjogJG5hdi1waWxscy1hY3RpdmUtbGluay1jb2xvcjtcbiAgICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRuYXYtcGlsbHMtYWN0aXZlLWxpbmstYmc7XG4gICAgfVxuICB9XG59XG5cbi5uYXYtc3RhY2tlZCB7XG4gIC5uYXYtaXRlbSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZmxvYXQ6IG5vbmU7XG5cbiAgICArIC5uYXYtaXRlbSB7XG4gICAgICBtYXJnaW4tdG9wOiAkbmF2LWl0ZW0tbWFyZ2luO1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgfVxuICB9XG59XG5cblxuLy9cbi8vIFRhYmJhYmxlIHRhYnNcbi8vXG5cbi8vIEhpZGUgdGFiYmFibGUgcGFuZXMgdG8gc3RhcnQsIHNob3cgdGhlbSB3aGVuIGAuYWN0aXZlYFxuLnRhYi1jb250ZW50IHtcbiAgPiAudGFiLXBhbmUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgPiAuYWN0aXZlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxufVxuIiwiLy8gTmF2cyBodHRwczovL3d3dy5nb29nbGUuY29tL2Rlc2lnbi9zcGVjL2NvbXBvbmVudHMvdGFicy5odG1sI3RhYnMtc3BlY3NcblxuJG5hdi1kaXNhYmxlZC1saW5rLWNvbG9yOiAgICAgICAgICAgICAgICAgICAkZ3JheS1saWdodCAhZGVmYXVsdDtcbiRuYXYtZGlzYWJsZWQtbGluay1ob3Zlci1jb2xvcjogICAgICAgICAgICAgJGdyYXktbGlnaHQgIWRlZmF1bHQ7XG5cbiRibWQtbmF2YmFyLWxpbmstZm9udC13ZWlnaHQ6ICAgICAgICAgICAgICAgJGJtZC1mb250LXdlaWdodC1iYXNlICFkZWZhdWx0OyAvL1xuJGJtZC1uYXZiYXItbGluay1mb250LXNpemU6ICAgICAgICAgICAgICAgICAuODc1cmVtICFkZWZhdWx0OyAvLyAxNFxuJGJtZC1uYXZiYXItbGluay1wYWRkaW5nOiAgICAgICAgICAgICAgICAgICAuNTMyMXJlbTsgLy8gN1xuXG5cbi8vIHRhYnMgJiBwaWxsc1xuJGJtZC1uYXYtdGFicy1waWxscy1mb250LXdlaWdodDogICAgICAgICAgICA1MDAgIWRlZmF1bHQ7IC8vXG4kYm1kLW5hdi10YWJzLXBpbGxzLWZvbnQtc2l6ZTogICAgICAgICAgICAgIC44NzVyZW0gIWRlZmF1bHQ7IC8vIDE0XG4kYm1kLW5hdi10YWJzLXBpbGxzLWxpbmstcGFkZGluZzogICAgICAgICAgIDEuNDI4NmVtIC44NTc1ZW0gIWRlZmF1bHQ7IC8vIHNwZWMgLy8gd2FzIC41ZW0gMWVtICAgLy8gcmVsYXRpdmUgZW0gYmFzZWQgb24gMTRcblxuLy8gdGFicyBvbmx5XG4kYm1kLW5hdi10YWJzLWJvcmRlci1zaXplOiAgICAgICAgICAgICAgICAgIC4yMTRyZW0gIWRlZmF1bHQ7IC8vIDNweFxuXG4kYm1kLW5hdi10YWJzLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICRncmF5ICFkZWZhdWx0O1xuJGJtZC1uYXYtdGFicy1hY3RpdmUtY29sb3I6ICAgICAgICAgICAgICAgICAkZ3JheS1kYXJrICFkZWZhdWx0O1xuJGJtZC1uYXYtdGFicy1hY3RpdmUtYm9yZGVyLWNvbG9yOiAgICAgICAgICAkYnJhbmQtcHJpbWFyeSAhZGVmYXVsdDtcbiRibWQtbmF2LXRhYnMtZGlzYWJsZWQtbGluay1jb2xvcjogICAgICAgICAgJG5hdi1kaXNhYmxlZC1saW5rLWNvbG9yICFkZWZhdWx0O1xuJGJtZC1uYXYtdGFicy1kaXNhYmxlZC1saW5rLWNvbG9yLWhvdmVyOiAgICAkbmF2LWRpc2FibGVkLWxpbmstaG92ZXItY29sb3IgIWRlZmF1bHQ7XG5cbiRibWQtbmF2LXRhYnMtcHJpbWFyeS1jb2xvcjogICAgICAgICAgICAgICAgJGJtZC1pbnZlcnNlICFkZWZhdWx0O1xuJGJtZC1uYXYtdGFicy1wcmltYXJ5LWFjdGl2ZS1jb2xvcjogICAgICAgICAjZmZmICFkZWZhdWx0O1xuJGJtZC1uYXYtdGFicy1wcmltYXJ5LWFjdGl2ZS1ib3JkZXItY29sb3I6ICAjZmZmICFkZWZhdWx0O1xuJGJtZC1uYXYtdGFicy1wcmltYXJ5LWRpc2FibGVkLWxpbmstY29sb3I6ICAgICAgICRibWQtaW52ZXJzZS1saWdodCAhZGVmYXVsdDtcbiRibWQtbmF2LXRhYnMtcHJpbWFyeS1kaXNhYmxlZC1saW5rLWNvbG9yLWhvdmVyOiAkYm1kLWludmVyc2UtbGlnaHQgIWRlZmF1bHQ7XG5cbiRibWQtbmF2LXRhYnMtaW52ZXJzZS1jb2xvcjogICAgICAgICAgICAgICAgJGJtZC1pbnZlcnNlICFkZWZhdWx0O1xuJGJtZC1uYXYtdGFicy1pbnZlcnNlLWFjdGl2ZS1jb2xvcjogICAgICAgICAjZmZmICFkZWZhdWx0O1xuJGJtZC1uYXYtdGFicy1pbnZlcnNlLWFjdGl2ZS1ib3JkZXItY29sb3I6ICAjZmZmICFkZWZhdWx0O1xuJGJtZC1uYXYtdGFicy1pbnZlcnNlLWRpc2FibGVkLWxpbmstY29sb3I6ICAgICAgICRibWQtaW52ZXJzZS1saWdodCAhZGVmYXVsdDtcbiRibWQtbmF2LXRhYnMtaW52ZXJzZS1kaXNhYmxlZC1saW5rLWNvbG9yLWhvdmVyOiAkYm1kLWludmVyc2UtbGlnaHQgIWRlZmF1bHQ7XG5cblxuLy8kbmF2LWl0ZW0tbWFyZ2luOiAgICAgICAgICAgICAgICAgICAgICAgICAgIC4ycmVtICFkZWZhdWx0O1xuXG5cblxuLy8kYm1kLW5hdi1saW5rLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAgICAgIDEgIWRlZmF1bHQ7IC8vIG1ha2VzIGl0IGVhc2llciB0byBsaW5lIHVwIHdpdGggdGhlIHNwZWNcbi8vJG5hdi1saW5rLXBhZGRpbmc6ICAgICAgICAgICAgICAgICAgICAgICAgICAuNWVtIDFlbSAhZGVmYXVsdDsgLy8gY2hhbmdpbmcgdGhpcyBmb3IgdGFicyBhbHRlcnMgZ2VuZXJpYyBuYXZiYXJzLCBzbyBkbyBpdCBlbHNld2hlcmUgd2l0aCBoaWdoZXIgc3BlY2lmaWNpdHlcbi8vJG5hdi1saW5rLWhvdmVyLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICAkZ3JheS1saWdodGVyICFkZWZhdWx0O1xuXG5cbi8vXG4vLyRuYXYtdGFicy1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAgI2RkZCAhZGVmYXVsdDtcbi8vXG4vLyRuYXYtdGFicy1saW5rLWJvcmRlci13aWR0aDogICAgICAgICAgICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcbi8vJG5hdi10YWJzLWxpbmstaG92ZXItYm9yZGVyLWNvbG9yOiAgICAgICAgICAkZ3JheS1saWdodGVyICFkZWZhdWx0O1xuLy9cbiRuYXYtdGFicy1hY3RpdmUtbGluay1ob3Zlci1iZzogICAgICAgICAgICAgdHJhbnNwYXJlbnQgIWRlZmF1bHQ7IC8vICRib2R5LWJnXG4vLyRuYXYtdGFicy1hY3RpdmUtbGluay1ob3Zlci1jb2xvcjogICAgICAgICAgJGdyYXkgIWRlZmF1bHQ7XG4vLyRuYXYtdGFicy1hY3RpdmUtbGluay1ob3Zlci1ib3JkZXItY29sb3I6ICAgI2RkZCAhZGVmYXVsdDtcbi8vXG4vLyRuYXYtdGFicy1qdXN0aWZpZWQtbGluay1ib3JkZXItY29sb3I6ICAgICAgICAgICAgI2RkZCAhZGVmYXVsdDtcbi8vJG5hdi10YWJzLWp1c3RpZmllZC1hY3RpdmUtbGluay1ib3JkZXItY29sb3I6ICAgICAkYm9keS1iZyAhZGVmYXVsdDtcbi8vXG4vLyRuYXYtcGlsbHMtYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4vLyRuYXYtcGlsbHMtYWN0aXZlLWxpbmstaG92ZXItYmc6ICAgICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG4vLyRuYXYtcGlsbHMtYWN0aXZlLWxpbmstaG92ZXItY29sb3I6ICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4iLCIvLyBXcmFwcGVyIGFuZCBiYXNlIGNsYXNzXG4vL1xuLy8gUHJvdmlkZSBhIHN0YXRpYyBuYXZiYXIgZnJvbSB3aGljaCB3ZSBleHBhbmQgdG8gY3JlYXRlIGZ1bGwtd2lkdGgsIGZpeGVkLCBhbmRcbi8vIG90aGVyIG5hdmJhciB2YXJpYXRpb25zLlxuXG4ubmF2YmFyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nOiAkbmF2YmFyLXBhZGRpbmcteSAkbmF2YmFyLXBhZGRpbmcteDtcbiAgQGluY2x1ZGUgY2xlYXJmaXg7XG5cbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChzbSkge1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJG5hdmJhci1ib3JkZXItcmFkaXVzKTtcbiAgfVxufVxuXG5cbi8vIE5hdmJhciBhbGlnbm1lbnQgb3B0aW9uc1xuLy9cbi8vIERpc3BsYXkgdGhlIG5hdmJhciBhY3Jvc3MgdGhlIGVudGlyZXR5IG9mIHRoZSBwYWdlIG9yIGZpeGVkIGl0IHRvIHRoZSB0b3Agb3Jcbi8vIGJvdHRvbSBvZiB0aGUgcGFnZS5cblxuLy8gQSBzdGF0aWMsIGZ1bGwgd2lkdGggbW9kaWZpZXIgd2l0aCBubyByb3VuZGVkIGNvcm5lcnMuXG4ubmF2YmFyLWZ1bGwge1xuICB6LWluZGV4OiAkemluZGV4LW5hdmJhcjtcblxuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHNtKSB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygwKTtcbiAgfVxufVxuXG4vLyBGaXggdGhlIHRvcC9ib3R0b20gbmF2YmFycyB3aGVuIHNjcmVlbiByZWFsIGVzdGF0ZSBzdXBwb3J0cyBpdFxuLm5hdmJhci1maXhlZC10b3AsXG4ubmF2YmFyLWZpeGVkLWJvdHRvbSB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgcmlnaHQ6IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6ICR6aW5kZXgtbmF2YmFyLWZpeGVkO1xuXG4gIC8vIFVuZG8gdGhlIHJvdW5kZWQgY29ybmVyc1xuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHNtKSB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygwKTtcbiAgfVxufVxuXG4ubmF2YmFyLWZpeGVkLXRvcCB7XG4gIHRvcDogMDtcbn1cblxuLm5hdmJhci1maXhlZC1ib3R0b20ge1xuICBib3R0b206IDA7XG59XG5cbi5uYXZiYXItc3RpY2t5LXRvcCB7XG4gIHBvc2l0aW9uOiBzdGlja3k7XG4gIHRvcDogMDtcbiAgei1pbmRleDogJHppbmRleC1uYXZiYXItc3RpY2t5O1xuICB3aWR0aDogMTAwJTtcblxuICAvLyBVbmRvIHRoZSByb3VuZGVkIGNvcm5lcnNcbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChzbSkge1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoMCk7XG4gIH1cbn1cblxuXG4vL1xuLy8gQnJhbmQvcHJvamVjdCBuYW1lXG4vL1xuXG4ubmF2YmFyLWJyYW5kIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHBhZGRpbmctdG9wOiAgICAkbmF2YmFyLWJyYW5kLXBhZGRpbmcteTtcbiAgcGFkZGluZy1ib3R0b206ICRuYXZiYXItYnJhbmQtcGFkZGluZy15O1xuICBtYXJnaW4tcmlnaHQ6IDFyZW07XG4gIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1sZztcblxuICBAaW5jbHVkZSBob3Zlci1mb2N1cyB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG5cbiAgPiBpbWcge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG59XG5cblxuLm5hdmJhci1kaXZpZGVyIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHdpZHRoOiAkYm9yZGVyLXdpZHRoO1xuICBwYWRkaW5nLXRvcDogLjQyNXJlbTtcbiAgcGFkZGluZy1ib3R0b206IC40MjVyZW07XG4gIG1hcmdpbi1yaWdodDogJG5hdmJhci1wYWRkaW5nLXg7XG4gIG1hcmdpbi1sZWZ0OiAgJG5hdmJhci1wYWRkaW5nLXg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgJjo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcMDBhMFwiO1xuICB9XG59XG5cblxuLy8gTmF2YmFyIHRvZ2dsZVxuLy9cbi8vIEN1c3RvbSBidXR0b24gZm9yIHRvZ2dsaW5nIHRoZSBgLm5hdmJhci1jb2xsYXBzZWAsIHBvd2VyZWQgYnkgdGhlIGNvbGxhcHNlXG4vLyBCb290c3RyYXAgSmF2YVNjcmlwdCBwbHVnaW4uXG5cbi5uYXZiYXItdG9nZ2xlciB7XG4gIHBhZGRpbmc6IC41cmVtIC43NXJlbTtcbiAgZm9udC1zaXplOiAkZm9udC1zaXplLWxnO1xuICBsaW5lLWhlaWdodDogMTtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgYm9yZGVyOiAkYm9yZGVyLXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRidG4tYm9yZGVyLXJhZGl1cyk7XG5cbiAgQGluY2x1ZGUgaG92ZXItZm9jdXMge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxufVxuXG4vLyBOYXZpZ2F0aW9uXG4vL1xuLy8gQ3VzdG9tIG5hdmJhciBuYXZpZ2F0aW9uIGJ1aWx0IG9uIHRoZSBiYXNlIGAubmF2YCBzdHlsZXMuXG5cbi5uYXZiYXItbmF2IHtcbiAgLm5hdi1pdGVtIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgfVxuXG4gIC5uYXYtbGluayB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZy10b3A6ICAgIC40MjVyZW07XG4gICAgcGFkZGluZy1ib3R0b206IC40MjVyZW07XG5cbiAgICArIC5uYXYtbGluayB7XG4gICAgICBtYXJnaW4tbGVmdDogMXJlbTtcbiAgICB9XG4gIH1cblxuICAubmF2LWl0ZW0gKyAubmF2LWl0ZW0ge1xuICAgIG1hcmdpbi1sZWZ0OiAxcmVtO1xuICB9XG59XG5cbi8vIERhcmsgbGlua3MgYWdhaW5zdCBhIGxpZ2h0IGJhY2tncm91bmRcbi5uYXZiYXItbGlnaHQge1xuICAubmF2YmFyLWJyYW5kIHtcbiAgICBjb2xvcjogJG5hdmJhci1saWdodC1hY3RpdmUtY29sb3I7XG5cbiAgICBAaW5jbHVkZSBob3Zlci1mb2N1cyB7XG4gICAgICBjb2xvcjogJG5hdmJhci1saWdodC1hY3RpdmUtY29sb3I7XG4gICAgfVxuICB9XG5cbiAgLm5hdmJhci1uYXYge1xuICAgIC5uYXYtbGluayB7XG4gICAgICBjb2xvcjogJG5hdmJhci1saWdodC1jb2xvcjtcblxuICAgICAgQGluY2x1ZGUgaG92ZXItZm9jdXMge1xuICAgICAgICBjb2xvcjogJG5hdmJhci1saWdodC1ob3Zlci1jb2xvcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAub3BlbiA+IC5uYXYtbGluayxcbiAgICAuYWN0aXZlID4gLm5hdi1saW5rLFxuICAgIC5uYXYtbGluay5vcGVuLFxuICAgIC5uYXYtbGluay5hY3RpdmUge1xuICAgICAgQGluY2x1ZGUgcGxhaW4taG92ZXItZm9jdXMge1xuICAgICAgICBjb2xvcjogJG5hdmJhci1saWdodC1hY3RpdmUtY29sb3I7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLm5hdmJhci1kaXZpZGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsMCwwLC4wNzUpO1xuICB9XG59XG5cbi8vIFdoaXRlIGxpbmtzIGFnYWluc3QgYSBkYXJrIGJhY2tncm91bmRcbi5uYXZiYXItZGFyayB7XG4gIC5uYXZiYXItYnJhbmQge1xuICAgIGNvbG9yOiAkbmF2YmFyLWRhcmstYWN0aXZlLWNvbG9yO1xuXG4gICAgQGluY2x1ZGUgaG92ZXItZm9jdXMge1xuICAgICAgY29sb3I6ICRuYXZiYXItZGFyay1hY3RpdmUtY29sb3I7XG4gICAgfVxuICB9XG5cbiAgLm5hdmJhci1uYXYge1xuICAgIC5uYXYtbGluayB7XG4gICAgICBjb2xvcjogJG5hdmJhci1kYXJrLWNvbG9yO1xuXG4gICAgICBAaW5jbHVkZSBob3Zlci1mb2N1cyB7XG4gICAgICAgIGNvbG9yOiAkbmF2YmFyLWRhcmstaG92ZXItY29sb3I7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLm9wZW4gPiAubmF2LWxpbmssXG4gICAgLmFjdGl2ZSA+IC5uYXYtbGluayxcbiAgICAubmF2LWxpbmsub3BlbixcbiAgICAubmF2LWxpbmsuYWN0aXZlIHtcbiAgICAgIEBpbmNsdWRlIHBsYWluLWhvdmVyLWZvY3VzIHtcbiAgICAgICAgY29sb3I6ICRuYXZiYXItZGFyay1hY3RpdmUtY29sb3I7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLm5hdmJhci1kaXZpZGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LC4wNzUpO1xuICB9XG59XG5cblxuLy8gTmF2YmFyIHRvZ2dsZWFibGVcbi8vXG4vLyBDdXN0b20gb3ZlcnJpZGUgZm9yIGNvbGxhcHNlIHBsdWdpbiBpbiBuYXZiYXIuXG5cbi8vIHNjc3MtbGludDpkaXNhYmxlIEltcG9ydGFudFJ1bGVcbi5uYXZiYXItdG9nZ2xlYWJsZSB7XG4gICYteHMge1xuICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bih4cykge1xuICAgICAgLm5hdmJhci1uYXYgLm5hdi1pdGVtIHtcbiAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgfVxuICAgIH1cbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHNtKSB7XG4gICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuXG4gICYtc20ge1xuICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihzbSkge1xuICAgICAgLm5hdmJhci1uYXYgLm5hdi1pdGVtIHtcbiAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgfVxuICAgIH1cbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XG4gICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuXG4gICYtbWQge1xuICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihtZCkge1xuICAgICAgLm5hdmJhci1uYXYgLm5hdi1pdGVtIHtcbiAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgfVxuICAgIH1cbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XG4gICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufVxuLy8gc2Nzcy1saW50OmVuYWJsZSBJbXBvcnRhbnRSdWxlXG4iLCIvL1xuLy8gQmFzZSBzdHlsZXNcbi8vXG5cbi5jYXJkIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLWJvdHRvbTogJGNhcmQtc3BhY2VyLXk7XG4gIGJhY2tncm91bmQtY29sb3I6ICRjYXJkLWJnO1xuICAvLyBib3JkZXI6ICRjYXJkLWJvcmRlci13aWR0aCBzb2xpZCAkY2FyZC1ib3JkZXItY29sb3I7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGNhcmQtYm9yZGVyLXJhZGl1cyk7XG4gIGJvcmRlcjogJGNhcmQtYm9yZGVyLXdpZHRoIHNvbGlkICRjYXJkLWJvcmRlci1jb2xvcjtcbn1cblxuLmNhcmQtYmxvY2sge1xuICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgcGFkZGluZzogJGNhcmQtc3BhY2VyLXg7XG59XG5cbi5jYXJkLXRpdGxlIHtcbiAgbWFyZ2luLWJvdHRvbTogJGNhcmQtc3BhY2VyLXk7XG59XG5cbi5jYXJkLXN1YnRpdGxlIHtcbiAgbWFyZ2luLXRvcDogLSgkY2FyZC1zcGFjZXIteSAvIDIpO1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4uY2FyZC10ZXh0Omxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4vLyAuY2FyZC1hY3Rpb25zIHtcbi8vICAgcGFkZGluZzogJGNhcmQtc3BhY2VyLXkgJGNhcmQtc3BhY2VyLXg7XG5cbi8vICAgLmNhcmQtbGluayArIC5jYXJkLWxpbmsge1xuLy8gICAgIG1hcmdpbi1sZWZ0OiAkY2FyZC1zcGFjZXIteDtcbi8vICAgfVxuLy8gfVxuXG4uY2FyZC1saW5rIHtcbiAgQGluY2x1ZGUgaG92ZXIge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxuXG4gICsgLmNhcmQtbGluayB7XG4gICAgbWFyZ2luLWxlZnQ6ICRjYXJkLXNwYWNlci14O1xuICB9XG59XG5cbi5jYXJkIHtcbiAgPiAubGlzdC1ncm91cDpmaXJzdC1jaGlsZCB7XG4gICAgLmxpc3QtZ3JvdXAtaXRlbTpmaXJzdC1jaGlsZCB7XG4gICAgICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cygkY2FyZC1ib3JkZXItcmFkaXVzKTtcbiAgICB9XG4gIH1cblxuICA+IC5saXN0LWdyb3VwOmxhc3QtY2hpbGQge1xuICAgIC5saXN0LWdyb3VwLWl0ZW06bGFzdC1jaGlsZCB7XG4gICAgICBAaW5jbHVkZSBib3JkZXItYm90dG9tLXJhZGl1cygkY2FyZC1ib3JkZXItcmFkaXVzKTtcbiAgICB9XG4gIH1cbn1cblxuXG4vL1xuLy8gT3B0aW9uYWwgdGV4dHVhbCBjYXBzXG4vL1xuXG4uY2FyZC1oZWFkZXIge1xuICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgcGFkZGluZzogJGNhcmQtc3BhY2VyLXkgJGNhcmQtc3BhY2VyLXg7XG4gIGJhY2tncm91bmQtY29sb3I6ICRjYXJkLWNhcC1iZztcbiAgYm9yZGVyLWJvdHRvbTogJGNhcmQtYm9yZGVyLXdpZHRoIHNvbGlkICRjYXJkLWJvcmRlci1jb2xvcjtcblxuICAmOmZpcnN0LWNoaWxkIHtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRjYXJkLWJvcmRlci1yYWRpdXMtaW5uZXIgJGNhcmQtYm9yZGVyLXJhZGl1cy1pbm5lciAwIDApO1xuICB9XG59XG5cbi5jYXJkLWZvb3RlciB7XG4gIEBpbmNsdWRlIGNsZWFyZml4O1xuICBwYWRkaW5nOiAkY2FyZC1zcGFjZXIteSAkY2FyZC1zcGFjZXIteDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGNhcmQtY2FwLWJnO1xuICBib3JkZXItdG9wOiAkY2FyZC1ib3JkZXItd2lkdGggc29saWQgJGNhcmQtYm9yZGVyLWNvbG9yO1xuXG4gICY6bGFzdC1jaGlsZCB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygwIDAgJGNhcmQtYm9yZGVyLXJhZGl1cy1pbm5lciAkY2FyZC1ib3JkZXItcmFkaXVzLWlubmVyKTtcbiAgfVxufVxuXG5cbi8vXG4vLyBIZWFkZXIgbmF2c1xuLy9cblxuLmNhcmQtaGVhZGVyLXRhYnMge1xuICBtYXJnaW4tcmlnaHQ6IC0oJGNhcmQtc3BhY2VyLXggLyAyKTtcbiAgbWFyZ2luLWJvdHRvbTogLSRjYXJkLXNwYWNlci15O1xuICBtYXJnaW4tbGVmdDogLSgkY2FyZC1zcGFjZXIteCAvIDIpO1xuICBib3JkZXItYm90dG9tOiAwO1xufVxuXG4uY2FyZC1oZWFkZXItcGlsbHMge1xuICBtYXJnaW4tcmlnaHQ6IC0oJGNhcmQtc3BhY2VyLXggLyAyKTtcbiAgbWFyZ2luLWxlZnQ6IC0oJGNhcmQtc3BhY2VyLXggLyAyKTtcbn1cblxuXG4vL1xuLy8gQmFja2dyb3VuZCB2YXJpYXRpb25zXG4vL1xuXG4uY2FyZC1wcmltYXJ5IHtcbiAgQGluY2x1ZGUgY2FyZC12YXJpYW50KCRicmFuZC1wcmltYXJ5LCAkYnJhbmQtcHJpbWFyeSk7XG59XG4uY2FyZC1zdWNjZXNzIHtcbiAgQGluY2x1ZGUgY2FyZC12YXJpYW50KCRicmFuZC1zdWNjZXNzLCAkYnJhbmQtc3VjY2Vzcyk7XG59XG4uY2FyZC1pbmZvIHtcbiAgQGluY2x1ZGUgY2FyZC12YXJpYW50KCRicmFuZC1pbmZvLCAkYnJhbmQtaW5mbyk7XG59XG4uY2FyZC13YXJuaW5nIHtcbiAgQGluY2x1ZGUgY2FyZC12YXJpYW50KCRicmFuZC13YXJuaW5nLCAkYnJhbmQtd2FybmluZyk7XG59XG4uY2FyZC1kYW5nZXIge1xuICBAaW5jbHVkZSBjYXJkLXZhcmlhbnQoJGJyYW5kLWRhbmdlciwgJGJyYW5kLWRhbmdlcik7XG59XG5cbi8vIFJlbW92ZSBhbGwgYmFja2dyb3VuZHNcbi5jYXJkLW91dGxpbmUtcHJpbWFyeSB7XG4gIEBpbmNsdWRlIGNhcmQtb3V0bGluZS12YXJpYW50KCRidG4tcHJpbWFyeS1iZyk7XG59XG4uY2FyZC1vdXRsaW5lLXNlY29uZGFyeSB7XG4gIEBpbmNsdWRlIGNhcmQtb3V0bGluZS12YXJpYW50KCRidG4tc2Vjb25kYXJ5LWJvcmRlcik7XG59XG4uY2FyZC1vdXRsaW5lLWluZm8ge1xuICBAaW5jbHVkZSBjYXJkLW91dGxpbmUtdmFyaWFudCgkYnRuLWluZm8tYmcpO1xufVxuLmNhcmQtb3V0bGluZS1zdWNjZXNzIHtcbiAgQGluY2x1ZGUgY2FyZC1vdXRsaW5lLXZhcmlhbnQoJGJ0bi1zdWNjZXNzLWJnKTtcbn1cbi5jYXJkLW91dGxpbmUtd2FybmluZyB7XG4gIEBpbmNsdWRlIGNhcmQtb3V0bGluZS12YXJpYW50KCRidG4td2FybmluZy1iZyk7XG59XG4uY2FyZC1vdXRsaW5lLWRhbmdlciB7XG4gIEBpbmNsdWRlIGNhcmQtb3V0bGluZS12YXJpYW50KCRidG4tZGFuZ2VyLWJnKTtcbn1cblxuLy9cbi8vIEludmVyc2UgdGV4dCB3aXRoaW4gYSBjYXJkIGZvciB1c2Ugd2l0aCBkYXJrIGJhY2tncm91bmRzXG4vL1xuXG4uY2FyZC1pbnZlcnNlIHtcbiAgQGluY2x1ZGUgY2FyZC1pbnZlcnNlO1xufVxuXG4vL1xuLy8gQmxvY2txdW90ZVxuLy9cblxuLmNhcmQtYmxvY2txdW90ZSB7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGJvcmRlci1sZWZ0OiAwO1xufVxuXG4vLyBDYXJkIGltYWdlXG4uY2FyZC1pbWcge1xuICAvLyBtYXJnaW46IC0xLjMyNXJlbTtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyguMjVyZW0pO1xufVxuLmNhcmQtaW1nLW92ZXJsYXkge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgcGFkZGluZzogJGNhcmQtaW1nLW92ZXJsYXktcGFkZGluZztcbn1cblxuXG5cbi8vIENhcmQgaW1hZ2UgY2Fwc1xuLmNhcmQtaW1nLXRvcCB7XG4gIEBpbmNsdWRlIGJvcmRlci10b3AtcmFkaXVzKCRjYXJkLWJvcmRlci1yYWRpdXMtaW5uZXIpO1xufVxuLmNhcmQtaW1nLWJvdHRvbSB7XG4gIEBpbmNsdWRlIGJvcmRlci1ib3R0b20tcmFkaXVzKCRjYXJkLWJvcmRlci1yYWRpdXMtaW5uZXIpO1xufVxuXG5cbi8vIENhcmQgc2V0XG4vL1xuLy8gSGVhZHMgdXAhIFdlIGRvIHNvbWUgZnVua3kgc3R5bGUgcmVzZXR0aW5nIGhlcmUgZm9yIG1hcmdpbnMgYWNyb3NzIG91ciB0d29cbi8vIHZhcmlhdGlvbnMgKG9uZSBmbGV4LCBvbmUgdGFibGUpLiBJbmRpdmlkdWFsIGNhcmRzIGhhdmUgbWFyZ2luLWJvdHRvbSBieVxuLy8gZGVmYXVsdCwgYnV0IHRoZXkncmUgaWdub3JlZCBkdWUgdG8gdGFibGUgc3R5bGVzLiBGb3IgYSBjb25zaXN0ZW50IGRlc2lnbixcbi8vIHdlJ3ZlIGRvbmUgdGhlIHNhbWUgdG8gdGhlIGZsZXggdmFyaWF0aW9uLlxuLy9cbi8vIFRob3NlIGNoYW5nZXMgYXJlIG5vdGVkIGJ5IGAvLyBNYXJnaW4gYmFsYW5jaW5nYC5cblxuQGlmICRlbmFibGUtZmxleCB7XG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoc20pIHtcbiAgICAuY2FyZC1kZWNrIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAtJGNhcmQtZGVjay1tYXJnaW47XG4gICAgICBtYXJnaW4tYm90dG9tOiAkY2FyZC1zcGFjZXIteTsgLy8gTWFyZ2luIGJhbGFuY2luZ1xuICAgICAgbWFyZ2luLWxlZnQ6IC0kY2FyZC1kZWNrLW1hcmdpbjtcblxuICAgICAgLmNhcmQge1xuICAgICAgICBmbGV4OiAxIDAgMDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAkY2FyZC1kZWNrLW1hcmdpbjtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsgLy8gTWFyZ2luIGJhbGFuY2luZ1xuICAgICAgICBtYXJnaW4tbGVmdDogJGNhcmQtZGVjay1tYXJnaW47XG4gICAgICB9XG4gICAgfVxuICB9XG59IEBlbHNlIHtcbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChzbSkge1xuICAgICRzcGFjZS1iZXR3ZWVuLWNhcmRzOiAoMiAqICRjYXJkLWRlY2stbWFyZ2luKTtcbiAgICAuY2FyZC1kZWNrIHtcbiAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtYXJnaW4tYm90dG9tOiAkY2FyZC1zcGFjZXIteTsgLy8gTWFyZ2luIGJhbGFuY2luZ1xuICAgICAgdGFibGUtbGF5b3V0OiBmaXhlZDtcbiAgICAgIGJvcmRlci1zcGFjaW5nOiAkc3BhY2UtYmV0d2Vlbi1jYXJkcyAwO1xuXG4gICAgICAuY2FyZCB7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7IC8vIE1hcmdpbiBiYWxhbmNpbmdcbiAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAgIH1cbiAgICB9XG4gICAgLmNhcmQtZGVjay13cmFwcGVyIHtcbiAgICAgIG1hcmdpbi1yaWdodDogKC0kc3BhY2UtYmV0d2Vlbi1jYXJkcyk7XG4gICAgICBtYXJnaW4tbGVmdDogKC0kc3BhY2UtYmV0d2Vlbi1jYXJkcyk7XG4gICAgfVxuICB9XG59XG5cbi8vXG4vLyBDYXJkIGdyb3Vwc1xuLy9cblxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChzbSkge1xuICAuY2FyZC1ncm91cCB7XG4gICAgQGlmICRlbmFibGUtZmxleCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgICB9IEBlbHNlIHtcbiAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB0YWJsZS1sYXlvdXQ6IGZpeGVkO1xuICAgIH1cblxuICAgIC5jYXJkIHtcbiAgICAgIEBpZiAkZW5hYmxlLWZsZXgge1xuICAgICAgICBmbGV4OiAxIDAgMDtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgICAgfVxuXG4gICAgICArIC5jYXJkIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgIGJvcmRlci1sZWZ0OiAwO1xuICAgICAgfVxuXG4gICAgICAvLyBIYW5kbGUgcm91bmRlZCBjb3JuZXJzXG4gICAgICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJpZ2h0LXJhZGl1cygwKTtcblxuICAgICAgICAgIC5jYXJkLWltZy10b3Age1xuICAgICAgICAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7XG4gICAgICAgICAgfVxuICAgICAgICAgIC5jYXJkLWltZy1ib3R0b20ge1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLWxlZnQtcmFkaXVzKDApO1xuXG4gICAgICAgICAgLmNhcmQtaW1nLXRvcCB7XG4gICAgICAgICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgICAuY2FyZC1pbWctYm90dG9tIHtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJjpub3QoOmZpcnN0LWNoaWxkKTpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuXG4gICAgICAgICAgLmNhcmQtaW1nLXRvcCxcbiAgICAgICAgICAuY2FyZC1pbWctYm90dG9tIHtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cblxuLy9cbi8vIENhcmRcbi8vXG5cbkBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoc20pIHtcbiAgLmNhcmQtY29sdW1ucyB7XG4gICAgY29sdW1uLWNvdW50OiAzO1xuICAgIGNvbHVtbi1nYXA6ICRjYXJkLWNvbHVtbnMtc20tdXAtY29sdW1uLWdhcDtcblxuICAgIC5jYXJkIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHdpZHRoOiAxMDAlOyAvLyBEb24ndCBsZXQgdGhlbSBleGNlZWQgdGhlIGNvbHVtbiB3aWR0aFxuICAgIH1cbiAgfVxufVxuIiwiLy8gQ2FyZHNcbi8vJGNhcmQtc3BhY2VyLXg6ICAgICAgICAgICAgMS4yNXJlbSAhZGVmYXVsdDtcbi8vJGNhcmQtc3BhY2VyLXk6ICAgICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuLy8kY2FyZC1ib3JkZXItd2lkdGg6ICAgICAgICAxcHggIWRlZmF1bHQ7XG4vLyRjYXJkLWJvcmRlci1yYWRpdXM6ICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJGNhcmQtYm9yZGVyLWNvbG9yOiAgICAgICAgJGdyYXktbGlnaHRlciAhZGVmYXVsdDsgLy8gI2U1ZTVlNVxuLy8kY2FyZC1ib3JkZXItcmFkaXVzLWlubmVyOiAkY2FyZC1ib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJGNhcmQtYmc6ICAgICAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbiRjYXJkLWNhcC1iZzogICAgICAgICAgICAgICRjYXJkLWJnICFkZWZhdWx0OyAvLyAjZjVmNWY1XG4vL1xuLy8kY2FyZC1saW5rLWhvdmVyLWNvbG9yOiAgICAjZmZmICFkZWZhdWx0O1xuLy9cbi8vJGNhcmQtZGVjay1tYXJnaW46ICAgICAgICAgLjYyNXJlbSAhZGVmYXVsdDtcbiIsIi8vIENhcmQgdmFyaWFudHNcblxuQG1peGluIGNhcmQtdmFyaWFudCgkYmFja2dyb3VuZCwgJGJvcmRlcikge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyO1xuXG4gIC5jYXJkLWhlYWRlcixcbiAgLmNhcmQtZm9vdGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgfVxufVxuXG5AbWl4aW4gY2FyZC1vdXRsaW5lLXZhcmlhbnQoJGNvbG9yKSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXItY29sb3I6ICRjb2xvcjtcbn1cblxuLy9cbi8vIEludmVyc2UgdGV4dCB3aXRoaW4gYSBjYXJkIGZvciB1c2Ugd2l0aCBkYXJrIGJhY2tncm91bmRzXG4vL1xuXG5AbWl4aW4gY2FyZC1pbnZlcnNlIHtcbiAgLmNhcmQtaGVhZGVyLFxuICAuY2FyZC1mb290ZXIge1xuICAgIGJvcmRlci1jb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwuMik7XG4gIH1cbiAgLmNhcmQtaGVhZGVyLFxuICAuY2FyZC1mb290ZXIsXG4gIC5jYXJkLXRpdGxlLFxuICAuY2FyZC1ibG9ja3F1b3RlIHtcbiAgICBjb2xvcjogI2ZmZjtcbiAgfVxuICAuY2FyZC1saW5rLFxuICAuY2FyZC10ZXh0LFxuICAuY2FyZC1zdWJ0aXRsZSxcbiAgLmNhcmQtYmxvY2txdW90ZSAuYmxvY2txdW90ZS1mb290ZXIge1xuICAgIGNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LC42NSk7XG4gIH1cbiAgLmNhcmQtbGluayB7XG4gICAgQGluY2x1ZGUgaG92ZXItZm9jdXMge1xuICAgICAgY29sb3I6ICRjYXJkLWxpbmstaG92ZXItY29sb3I7XG4gICAgfVxuICB9XG59XG4iLCIuYnJlYWRjcnVtYiB7XG4gIHBhZGRpbmc6ICRicmVhZGNydW1iLXBhZGRpbmcteSAkYnJlYWRjcnVtYi1wYWRkaW5nLXg7XG4gIG1hcmdpbi1ib3R0b206ICRzcGFjZXIteTtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJyZWFkY3J1bWItYmc7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGJvcmRlci1yYWRpdXMpO1xuICBAaW5jbHVkZSBjbGVhcmZpeDtcbn1cblxuLmJyZWFkY3J1bWItaXRlbSB7XG4gIGZsb2F0OiBsZWZ0O1xuXG4gIC8vIFRoZSBzZXBhcmF0b3IgYmV0d2VlbiBicmVhZGNydW1icyAoYnkgZGVmYXVsdCwgYSBmb3J3YXJkLXNsYXNoOiBcIi9cIilcbiAgKyAuYnJlYWRjcnVtYi1pdGVtOjpiZWZvcmUge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgLy8gU3VwcHJlc3MgdW5kZXJsaW5pbmcgb2YgdGhlIHNlcGFyYXRvciBpbiBtb2Rlcm4gYnJvd3NlcnNcbiAgICBwYWRkaW5nLXJpZ2h0OiAkYnJlYWRjcnVtYi1pdGVtLXBhZGRpbmc7XG4gICAgcGFkZGluZy1sZWZ0OiAkYnJlYWRjcnVtYi1pdGVtLXBhZGRpbmc7XG4gICAgY29sb3I6ICRicmVhZGNydW1iLWRpdmlkZXItY29sb3I7XG4gICAgY29udGVudDogXCIjeyRicmVhZGNydW1iLWRpdmlkZXJ9XCI7XG4gIH1cblxuICAvLyBJRTktMTEgaGFjayB0byBwcm9wZXJseSBoYW5kbGUgaHlwZXJsaW5rIHVuZGVybGluZXMgZm9yIGJyZWFkY3J1bWJzIGJ1aWx0XG4gIC8vIHdpdGhvdXQgYDx1bD5gcy4gVGhlIGA6OmJlZm9yZWAgcHNldWRvLWVsZW1lbnQgZ2VuZXJhdGVzIGFuIGVsZW1lbnRcbiAgLy8gKndpdGhpbiogdGhlIC5icmVhZGNydW1iLWl0ZW0gYW5kIHRoZXJlYnkgaW5oZXJpdHMgdGhlIGB0ZXh0LWRlY29yYXRpb25gLlxuICAvL1xuICAvLyBUbyB0cmljayBJRSBpbnRvIHN1cHByZXNzaW5nIHRoZSB1bmRlcmxpbmUsIHdlIGdpdmUgdGhlIHBzZXVkby1lbGVtZW50IGFuXG4gIC8vIHVuZGVybGluZSBhbmQgdGhlbiBpbW1lZGlhdGVseSByZW1vdmUgaXQuXG4gICsgLmJyZWFkY3J1bWItaXRlbTpob3Zlcjo6YmVmb3JlIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgfVxuICArIC5icmVhZGNydW1iLWl0ZW06aG92ZXI6OmJlZm9yZSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG5cbiAgJi5hY3RpdmUge1xuICAgIGNvbG9yOiAkYnJlYWRjcnVtYi1hY3RpdmUtY29sb3I7XG4gIH1cbn1cbiIsIi5wYWdpbmF0aW9uIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIG1hcmdpbi10b3A6ICRzcGFjZXIteTtcbiAgbWFyZ2luLWJvdHRvbTogJHNwYWNlci15O1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCk7XG59XG5cbi5wYWdlLWl0ZW0ge1xuICBkaXNwbGF5OiBpbmxpbmU7IC8vIFJlbW92ZSBsaXN0LXN0eWxlIGFuZCBibG9jay1sZXZlbCBkZWZhdWx0c1xuXG4gICY6Zmlyc3QtY2hpbGQge1xuICAgIC5wYWdlLWxpbmsge1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICBAaW5jbHVkZSBib3JkZXItbGVmdC1yYWRpdXMoJGJvcmRlci1yYWRpdXMpO1xuICAgIH1cbiAgfVxuICAmOmxhc3QtY2hpbGQge1xuICAgIC5wYWdlLWxpbmsge1xuICAgICAgQGluY2x1ZGUgYm9yZGVyLXJpZ2h0LXJhZGl1cygkYm9yZGVyLXJhZGl1cyk7XG4gICAgfVxuICB9XG5cbiAgJi5hY3RpdmUgLnBhZ2UtbGluayB7XG4gICAgQGluY2x1ZGUgcGxhaW4taG92ZXItZm9jdXMge1xuICAgICAgei1pbmRleDogMjtcbiAgICAgIGNvbG9yOiAkcGFnaW5hdGlvbi1hY3RpdmUtY29sb3I7XG4gICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcGFnaW5hdGlvbi1hY3RpdmUtYmc7XG4gICAgICBib3JkZXItY29sb3I6ICRwYWdpbmF0aW9uLWFjdGl2ZS1ib3JkZXI7XG4gICAgfVxuICB9XG5cbiAgJi5kaXNhYmxlZCAucGFnZS1saW5rIHtcbiAgICBAaW5jbHVkZSBwbGFpbi1ob3Zlci1mb2N1cyB7XG4gICAgICBjb2xvcjogJHBhZ2luYXRpb24tZGlzYWJsZWQtY29sb3I7XG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgIGN1cnNvcjogJGN1cnNvci1kaXNhYmxlZDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwYWdpbmF0aW9uLWRpc2FibGVkLWJnO1xuICAgICAgYm9yZGVyLWNvbG9yOiAkcGFnaW5hdGlvbi1kaXNhYmxlZC1ib3JkZXI7XG4gICAgfVxuICB9XG59XG5cbi5wYWdlLWxpbmsge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGZsb2F0OiBsZWZ0OyAvLyBDb2xsYXBzZSB3aGl0ZS1zcGFjZVxuICBwYWRkaW5nOiAkcGFnaW5hdGlvbi1wYWRkaW5nLXkgJHBhZ2luYXRpb24tcGFkZGluZy14O1xuICBtYXJnaW4tbGVmdDogLTFweDtcbiAgY29sb3I6ICRwYWdpbmF0aW9uLWNvbG9yO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6ICRwYWdpbmF0aW9uLWJnO1xuICBib3JkZXI6ICRwYWdpbmF0aW9uLWJvcmRlci13aWR0aCBzb2xpZCAkcGFnaW5hdGlvbi1ib3JkZXItY29sb3I7XG5cbiAgQGluY2x1ZGUgaG92ZXItZm9jdXMge1xuICAgIGNvbG9yOiAkcGFnaW5hdGlvbi1ob3Zlci1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcGFnaW5hdGlvbi1ob3Zlci1iZztcbiAgICBib3JkZXItY29sb3I6ICRwYWdpbmF0aW9uLWhvdmVyLWJvcmRlcjtcbiAgfVxufVxuXG5cbi8vXG4vLyBTaXppbmdcbi8vXG5cbi5wYWdpbmF0aW9uLWxnIHtcbiAgQGluY2x1ZGUgcGFnaW5hdGlvbi1zaXplKCRwYWdpbmF0aW9uLXBhZGRpbmcteS1sZywgJHBhZ2luYXRpb24tcGFkZGluZy14LWxnLCAkZm9udC1zaXplLWxnLCAkbGluZS1oZWlnaHQtbGcsICRib3JkZXItcmFkaXVzLWxnKTtcbn1cblxuLnBhZ2luYXRpb24tc20ge1xuICBAaW5jbHVkZSBwYWdpbmF0aW9uLXNpemUoJHBhZ2luYXRpb24tcGFkZGluZy15LXNtLCAkcGFnaW5hdGlvbi1wYWRkaW5nLXgtc20sICRmb250LXNpemUtc20sICRsaW5lLWhlaWdodC1zbSwgJGJvcmRlci1yYWRpdXMtc20pO1xufVxuIiwiJHBhZ2luYXRpb24tYm9yZGVyLXdpZHRoOiAwO1xuJHBhZ2luYXRpb24tYmc6IHRyYW5zcGFyZW50O1xuJHBhZ2luYXRpb24tZGlzYWJsZWQtYmc6IHRyYW5zcGFyZW50O1xuXG4kcGFnaW5hdGlvbi1wYWRkaW5nLXgtbGc6IDA7XG4kcGFnaW5hdGlvbi1wYWRkaW5nLXgtc206IDA7XG4iLCIvLyBQYWdpbmF0aW9uXG5cbkBtaXhpbiBwYWdpbmF0aW9uLXNpemUoJHBhZGRpbmcteSwgJHBhZGRpbmcteCwgJGZvbnQtc2l6ZSwgJGxpbmUtaGVpZ2h0LCAkYm9yZGVyLXJhZGl1cykge1xuICAucGFnZS1saW5rIHtcbiAgICBwYWRkaW5nOiAkcGFkZGluZy15ICRwYWRkaW5nLXg7XG4gICAgZm9udC1zaXplOiAkZm9udC1zaXplO1xuICB9XG5cbiAgLnBhZ2UtaXRlbSB7XG4gICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAucGFnZS1saW5rIHtcbiAgICAgICAgQGluY2x1ZGUgYm9yZGVyLWxlZnQtcmFkaXVzKCRib3JkZXItcmFkaXVzKTtcbiAgICAgIH1cbiAgICB9XG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIC5wYWdlLWxpbmsge1xuICAgICAgICBAaW5jbHVkZSBib3JkZXItcmlnaHQtcmFkaXVzKCRib3JkZXItcmFkaXVzKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEJhc2UgY2xhc3Ncbi8vXG4vLyBSZXF1aXJlcyBvbmUgb2YgdGhlIGNvbnRleHR1YWwsIGNvbG9yIG1vZGlmaWVyIGNsYXNzZXMgZm9yIGBjb2xvcmAgYW5kXG4vLyBgYmFja2dyb3VuZC1jb2xvcmAuXG5cbi50YWcge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmc6ICR0YWctcGFkZGluZy15ICR0YWctcGFkZGluZy14O1xuICBmb250LXNpemU6ICR0YWctZm9udC1zaXplO1xuICBmb250LXdlaWdodDogJHRhZy1mb250LXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGNvbG9yOiAkdGFnLWNvbG9yO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygpO1xuXG4gIC8vIEVtcHR5IHRhZ3MgY29sbGFwc2UgYXV0b21hdGljYWxseVxuICAmOmVtcHR5IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi8vIFF1aWNrIGZpeCBmb3IgdGFncyBpbiBidXR0b25zXG4uYnRuIC50YWcge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRvcDogLTFweDtcbn1cblxuLy8gc2Nzcy1saW50OmRpc2FibGUgUXVhbGlmeWluZ0VsZW1lbnRcbi8vIEFkZCBob3ZlciBlZmZlY3RzLCBidXQgb25seSBmb3IgbGlua3NcbmEudGFnIHtcbiAgQGluY2x1ZGUgaG92ZXItZm9jdXMge1xuICAgIGNvbG9yOiAkdGFnLWxpbmstaG92ZXItY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgfVxufVxuLy8gc2Nzcy1saW50OmVuYWJsZSBRdWFsaWZ5aW5nRWxlbWVudFxuXG4vLyBQaWxsIHRhZ3Ncbi8vXG4vLyBNYWtlIHRoZW0gZXh0cmEgcm91bmRlZCB3aXRoIGEgbW9kaWZpZXIgdG8gcmVwbGFjZSB2MydzIGJhZGdlcy5cblxuLnRhZy1waWxsIHtcbiAgcGFkZGluZy1yaWdodDogJHRhZy1waWxsLXBhZGRpbmcteDtcbiAgcGFkZGluZy1sZWZ0OiAkdGFnLXBpbGwtcGFkZGluZy14O1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCR0YWctcGlsbC1ib3JkZXItcmFkaXVzKTtcbn1cblxuLy8gQ29sb3JzXG4vL1xuLy8gQ29udGV4dHVhbCB2YXJpYXRpb25zIChsaW5rZWQgdGFncyBnZXQgZGFya2VyIG9uIDpob3ZlcikuXG5cbi50YWctZGVmYXVsdCB7XG4gIEBpbmNsdWRlIHRhZy12YXJpYW50KCR0YWctZGVmYXVsdC1iZyk7XG59XG5cbi50YWctcHJpbWFyeSB7XG4gIEBpbmNsdWRlIHRhZy12YXJpYW50KCR0YWctcHJpbWFyeS1iZyk7XG59XG5cbi50YWctc3VjY2VzcyB7XG4gIEBpbmNsdWRlIHRhZy12YXJpYW50KCR0YWctc3VjY2Vzcy1iZyk7XG59XG5cbi50YWctaW5mbyB7XG4gIEBpbmNsdWRlIHRhZy12YXJpYW50KCR0YWctaW5mby1iZyk7XG59XG5cbi50YWctd2FybmluZyB7XG4gIEBpbmNsdWRlIHRhZy12YXJpYW50KCR0YWctd2FybmluZy1iZyk7XG59XG5cbi50YWctZGFuZ2VyIHtcbiAgQGluY2x1ZGUgdGFnLXZhcmlhbnQoJHRhZy1kYW5nZXItYmcpO1xufVxuIiwiLy8gVGFnc1xuXG5AbWl4aW4gdGFnLXZhcmlhbnQoJGNvbG9yKSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcjtcblxuICAmW2hyZWZdIHtcbiAgICBAaW5jbHVkZSBob3Zlci1mb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oJGNvbG9yLCAxMCUpO1xuICAgIH1cbiAgfVxufVxuIiwiLmp1bWJvdHJvbiB7XG4gIHBhZGRpbmc6ICRqdW1ib3Ryb24tcGFkZGluZyAoJGp1bWJvdHJvbi1wYWRkaW5nIC8gMik7XG4gIG1hcmdpbi1ib3R0b206ICRqdW1ib3Ryb24tcGFkZGluZztcbiAgYmFja2dyb3VuZC1jb2xvcjogJGp1bWJvdHJvbi1iZztcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkYm9yZGVyLXJhZGl1cy1sZyk7XG5cbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChzbSkge1xuICAgIHBhZGRpbmc6ICgkanVtYm90cm9uLXBhZGRpbmcgKiAyKSAkanVtYm90cm9uLXBhZGRpbmc7XG4gIH1cbn1cblxuLmp1bWJvdHJvbi1ociB7XG4gIGJvcmRlci10b3AtY29sb3I6IGRhcmtlbigkanVtYm90cm9uLWJnLCAxMCUpO1xufVxuXG4uanVtYm90cm9uLWZsdWlkIHtcbiAgcGFkZGluZy1yaWdodDogMDtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDApO1xufVxuIiwiLy9cbi8vIEJhc2Ugc3R5bGVzXG4vL1xuXG4uYWxlcnQge1xuICBwYWRkaW5nOiAkYWxlcnQtcGFkZGluZztcbiAgbWFyZ2luLWJvdHRvbTogJHNwYWNlci15O1xuICBib3JkZXI6ICRhbGVydC1ib3JkZXItd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGFsZXJ0LWJvcmRlci1yYWRpdXMpO1xufVxuXG4vLyBIZWFkaW5ncyBmb3IgbGFyZ2VyIGFsZXJ0c1xuLmFsZXJ0LWhlYWRpbmcge1xuICAvLyBTcGVjaWZpZWQgdG8gcHJldmVudCBjb25mbGljdHMgb2YgY2hhbmdpbmcgJGhlYWRpbmdzLWNvbG9yXG4gIGNvbG9yOiBpbmhlcml0O1xufVxuXG4vLyBQcm92aWRlIGNsYXNzIGZvciBsaW5rcyB0aGF0IG1hdGNoIGFsZXJ0c1xuLmFsZXJ0LWxpbmsge1xuICBmb250LXdlaWdodDogJGFsZXJ0LWxpbmstZm9udC13ZWlnaHQ7XG59XG5cblxuLy8gRGlzbWlzc2libGUgYWxlcnRzXG4vL1xuLy8gRXhwYW5kIHRoZSByaWdodCBwYWRkaW5nIGFuZCBhY2NvdW50IGZvciB0aGUgY2xvc2UgYnV0dG9uJ3MgcG9zaXRpb25pbmcuXG5cbi5hbGVydC1kaXNtaXNzaWJsZSB7XG4gIHBhZGRpbmctcmlnaHQ6ICgkYWxlcnQtcGFkZGluZyArIDIwcHgpO1xuXG4gIC8vIEFkanVzdCBjbG9zZSBsaW5rIHBvc2l0aW9uXG4gIC5jbG9zZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogLTJweDtcbiAgICByaWdodDogLTIxcHg7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gIH1cbn1cblxuXG4vLyBBbHRlcm5hdGUgc3R5bGVzXG4vL1xuLy8gR2VuZXJhdGUgY29udGV4dHVhbCBtb2RpZmllciBjbGFzc2VzIGZvciBjb2xvcml6aW5nIHRoZSBhbGVydC5cblxuLmFsZXJ0LXN1Y2Nlc3Mge1xuICBAaW5jbHVkZSBhbGVydC12YXJpYW50KCRhbGVydC1zdWNjZXNzLWJnLCAkYWxlcnQtc3VjY2Vzcy1ib3JkZXIsICRhbGVydC1zdWNjZXNzLXRleHQpO1xufVxuLmFsZXJ0LWluZm8ge1xuICBAaW5jbHVkZSBhbGVydC12YXJpYW50KCRhbGVydC1pbmZvLWJnLCAkYWxlcnQtaW5mby1ib3JkZXIsICRhbGVydC1pbmZvLXRleHQpO1xufVxuLmFsZXJ0LXdhcm5pbmcge1xuICBAaW5jbHVkZSBhbGVydC12YXJpYW50KCRhbGVydC13YXJuaW5nLWJnLCAkYWxlcnQtd2FybmluZy1ib3JkZXIsICRhbGVydC13YXJuaW5nLXRleHQpO1xufVxuLmFsZXJ0LWRhbmdlciB7XG4gIEBpbmNsdWRlIGFsZXJ0LXZhcmlhbnQoJGFsZXJ0LWRhbmdlci1iZywgJGFsZXJ0LWRhbmdlci1ib3JkZXIsICRhbGVydC1kYW5nZXItdGV4dCk7XG59XG4iLCIvLyBBbGVydHNcblxuQG1peGluIGFsZXJ0LXZhcmlhbnQoJGJhY2tncm91bmQsICRib3JkZXIsICRib2R5LWNvbG9yKSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuICBib3JkZXItY29sb3I6ICRib3JkZXI7XG4gIGNvbG9yOiAkYm9keS1jb2xvcjtcblxuICBociB7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogZGFya2VuKCRib3JkZXIsIDUlKTtcbiAgfVxuICAuYWxlcnQtbGluayB7XG4gICAgY29sb3I6IGRhcmtlbigkYm9keS1jb2xvciwgMTAlKTtcbiAgfVxufVxuIiwiLy9cbi8vIFByb2dyZXNzIGFuaW1hdGlvbnNcbi8vXG5cbkBrZXlmcmFtZXMgcHJvZ3Jlc3MtYmFyLXN0cmlwZXMge1xuICBmcm9tIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogJHNwYWNlci15IDA7IH1cbiAgdG8geyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDA7IH1cbn1cblxuXG4vL1xuLy8gQmFzaWMgcHJvZ3Jlc3MgYmFyXG4vL1xuXG4ucHJvZ3Jlc3Mge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogJHNwYWNlci15OyAvLyB0b2RvOiBtYWtlIGEgbmV3IHZhciBmb3IgdGhpc1xuICBtYXJnaW4tYm90dG9tOiAkc3BhY2VyLXk7XG59XG4ucHJvZ3Jlc3NbdmFsdWVdIHtcbiAgLy8gU2V0IG92ZXJhbGwgYmFja2dyb3VuZFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJvZ3Jlc3MtYmc7XG4gIC8vIFJlbW92ZSBGaXJlZm94IGFuZCBPcGVyYSBib3JkZXJcbiAgYm9yZGVyOiAwO1xuICAvLyBSZXNldCB0aGUgZGVmYXVsdCBhcHBlYXJhbmNlXG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIC8vIFNldCBvdmVyYWxsIGJvcmRlciByYWRpdXNcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkcHJvZ3Jlc3MtYm9yZGVyLXJhZGl1cyk7XG59XG5cbi8vIEZpbGxlZC1pbiBwb3J0aW9uIG9mIHRoZSBiYXJcbi5wcm9ncmVzc1t2YWx1ZV06Oi1tcy1maWxsIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHByb2dyZXNzLWJhci1jb2xvcjtcbiAgLy8gUmVtb3ZlIHJpZ2h0LWhhbmQgYm9yZGVyIG9mIHZhbHVlIGJhciBmcm9tIElFMTArL0VkZ2VcbiAgYm9yZGVyOiAwO1xufVxuLnByb2dyZXNzW3ZhbHVlXTo6LW1vei1wcm9ncmVzcy1iYXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJvZ3Jlc3MtYmFyLWNvbG9yO1xuICBAaW5jbHVkZSBib3JkZXItbGVmdC1yYWRpdXMoJHByb2dyZXNzLWJvcmRlci1yYWRpdXMpO1xufVxuLnByb2dyZXNzW3ZhbHVlXTo6LXdlYmtpdC1wcm9ncmVzcy12YWx1ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRwcm9ncmVzcy1iYXItY29sb3I7XG4gIEBpbmNsdWRlIGJvcmRlci1sZWZ0LXJhZGl1cygkcHJvZ3Jlc3MtYm9yZGVyLXJhZGl1cyk7XG59XG4vLyBUd2Vha3MgZm9yIGZ1bGwgcHJvZ3Jlc3MgYmFyXG4ucHJvZ3Jlc3NbdmFsdWU9XCIxMDBcIl06Oi1tb3otcHJvZ3Jlc3MtYmFyIHtcbiAgQGluY2x1ZGUgYm9yZGVyLXJpZ2h0LXJhZGl1cygkcHJvZ3Jlc3MtYm9yZGVyLXJhZGl1cyk7XG59XG4ucHJvZ3Jlc3NbdmFsdWU9XCIxMDBcIl06Oi13ZWJraXQtcHJvZ3Jlc3MtdmFsdWUge1xuICBAaW5jbHVkZSBib3JkZXItcmlnaHQtcmFkaXVzKCRwcm9ncmVzcy1ib3JkZXItcmFkaXVzKTtcbn1cblxuLy8gVW5maWxsZWQgcG9ydGlvbiBvZiB0aGUgYmFyXG4ucHJvZ3Jlc3NbdmFsdWVdOjotd2Via2l0LXByb2dyZXNzLWJhciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRwcm9ncmVzcy1iZztcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkcHJvZ3Jlc3MtYm9yZGVyLXJhZGl1cyk7XG4gIEBpbmNsdWRlIGJveC1zaGFkb3coJHByb2dyZXNzLWJveC1zaGFkb3cpO1xufVxuYmFzZTo6LW1vei1wcm9ncmVzcy1iYXIsIC8vIEFic3VyZC1idXQtc3ludGFjdGljYWxseS12YWxpZCBzZWxlY3RvciB0byBtYWtlIHRoZXNlIHN0eWxlcyBGaXJlZm94LW9ubHlcbi5wcm9ncmVzc1t2YWx1ZV0ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJvZ3Jlc3MtYmc7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJHByb2dyZXNzLWJvcmRlci1yYWRpdXMpO1xuICBAaW5jbHVkZSBib3gtc2hhZG93KCRwcm9ncmVzcy1ib3gtc2hhZG93KTtcbn1cblxuLy8gSUU5IGhhY2tzIHRvIGFjY29tcGFueSBjdXN0b20gbWFya3VwLiBXZSBkb24ndCBuZWVkIHRvIHNjb3BlIHRoaXMgdmlhIG1lZGlhIHF1ZXJpZXMsIGJ1dCBJIGZlZWwgYmV0dGVyIGRvaW5nIGl0IGFueXdheS5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6MFxcMCkge1xuICAucHJvZ3Jlc3Mge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRwcm9ncmVzcy1iZztcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRwcm9ncmVzcy1ib3JkZXItcmFkaXVzKTtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRwcm9ncmVzcy1ib3gtc2hhZG93KTtcbiAgfVxuICAucHJvZ3Jlc3MtYmFyIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgaGVpZ2h0OiAkc3BhY2VyLXk7XG4gICAgdGV4dC1pbmRlbnQ6IC05OTlyZW07IC8vIFNpbXVsYXRlIGhpZGluZyBvZiB2YWx1ZSBhcyBpbiBuYXRpdmUgYDxwcm9ncmVzcz5gXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHByb2dyZXNzLWJhci1jb2xvcjtcbiAgICBAaW5jbHVkZSBib3JkZXItbGVmdC1yYWRpdXMoJHByb2dyZXNzLWJvcmRlci1yYWRpdXMpO1xuICB9XG4gIC5wcm9ncmVzc1t3aWR0aD1cIjEwMCVcIl0ge1xuICAgIEBpbmNsdWRlIGJvcmRlci1yaWdodC1yYWRpdXMoJHByb2dyZXNzLWJvcmRlci1yYWRpdXMpO1xuICB9XG59XG5cblxuLy9cbi8vIFN0cmlwZWRcbi8vXG5cbi5wcm9ncmVzcy1zdHJpcGVkW3ZhbHVlXTo6LXdlYmtpdC1wcm9ncmVzcy12YWx1ZSB7XG4gIEBpbmNsdWRlIGdyYWRpZW50LXN0cmlwZWQoKTtcbiAgYmFja2dyb3VuZC1zaXplOiAkc3BhY2VyLXkgJHNwYWNlci15O1xufVxuLnByb2dyZXNzLXN0cmlwZWRbdmFsdWVdOjotbW96LXByb2dyZXNzLWJhciB7XG4gIEBpbmNsdWRlIGdyYWRpZW50LXN0cmlwZWQoKTtcbiAgYmFja2dyb3VuZC1zaXplOiAkc3BhY2VyLXkgJHNwYWNlci15O1xufVxuLnByb2dyZXNzLXN0cmlwZWRbdmFsdWVdOjotbXMtZmlsbCB7XG4gIEBpbmNsdWRlIGdyYWRpZW50LXN0cmlwZWQoKTtcbiAgYmFja2dyb3VuZC1zaXplOiAkc3BhY2VyLXkgJHNwYWNlci15O1xufVxuLy8gSUU5XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOjBcXDApIHtcbiAgLnByb2dyZXNzLWJhci1zdHJpcGVkIHtcbiAgICBAaW5jbHVkZSBncmFkaWVudC1zdHJpcGVkKCk7XG4gICAgYmFja2dyb3VuZC1zaXplOiAkc3BhY2VyLXkgJHNwYWNlci15O1xuICB9XG59XG5cblxuLy9cbi8vIEFuaW1hdGVkXG4vL1xuXG4ucHJvZ3Jlc3MtYW5pbWF0ZWRbdmFsdWVdOjotd2Via2l0LXByb2dyZXNzLXZhbHVlIHtcbiAgYW5pbWF0aW9uOiBwcm9ncmVzcy1iYXItc3RyaXBlcyAycyBsaW5lYXIgaW5maW5pdGU7XG59XG4ucHJvZ3Jlc3MtYW5pbWF0ZWRbdmFsdWVdOjotbW96LXByb2dyZXNzLWJhciB7XG4gIGFuaW1hdGlvbjogcHJvZ3Jlc3MtYmFyLXN0cmlwZXMgMnMgbGluZWFyIGluZmluaXRlO1xufVxuLy8gSUU5XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOjBcXDApIHtcbiAgLnByb2dyZXNzLWFuaW1hdGVkIC5wcm9ncmVzcy1iYXItc3RyaXBlZCB7XG4gICAgYW5pbWF0aW9uOiBwcm9ncmVzcy1iYXItc3RyaXBlcyAycyBsaW5lYXIgaW5maW5pdGU7XG4gIH1cbn1cblxuXG4vL1xuLy8gVmFyaWF0aW9uc1xuLy9cblxuLnByb2dyZXNzLXN1Y2Nlc3Mge1xuICBAaW5jbHVkZSBwcm9ncmVzcy12YXJpYW50KCRwcm9ncmVzcy1iYXItc3VjY2Vzcy1iZyk7XG59XG4ucHJvZ3Jlc3MtaW5mbyB7XG4gIEBpbmNsdWRlIHByb2dyZXNzLXZhcmlhbnQoJHByb2dyZXNzLWJhci1pbmZvLWJnKTtcbn1cbi5wcm9ncmVzcy13YXJuaW5nIHtcbiAgQGluY2x1ZGUgcHJvZ3Jlc3MtdmFyaWFudCgkcHJvZ3Jlc3MtYmFyLXdhcm5pbmctYmcpO1xufVxuLnByb2dyZXNzLWRhbmdlciB7XG4gIEBpbmNsdWRlIHByb2dyZXNzLXZhcmlhbnQoJHByb2dyZXNzLWJhci1kYW5nZXItYmcpO1xufVxuIiwiLy8gR3JhZGllbnRzXG5cbi8vIEhvcml6b250YWwgZ3JhZGllbnQsIGZyb20gbGVmdCB0byByaWdodFxuLy9cbi8vIENyZWF0ZXMgdHdvIGNvbG9yIHN0b3BzLCBzdGFydCBhbmQgZW5kLCBieSBzcGVjaWZ5aW5nIGEgY29sb3IgYW5kIHBvc2l0aW9uIGZvciBlYWNoIGNvbG9yIHN0b3AuXG4vLyBDb2xvciBzdG9wcyBhcmUgbm90IGF2YWlsYWJsZSBpbiBJRTkuXG5AbWl4aW4gZ3JhZGllbnQteCgkc3RhcnQtY29sb3I6ICM1NTUsICRlbmQtY29sb3I6ICMzMzMsICRzdGFydC1wZXJjZW50OiAwJSwgJGVuZC1wZXJjZW50OiAxMDAlKSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgJHN0YXJ0LWNvbG9yICRzdGFydC1wZXJjZW50LCAkZW5kLWNvbG9yICRlbmQtcGVyY2VudCk7XG4gIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteDtcbiAgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoc3RhcnRDb2xvcnN0cj0nI3tpZS1oZXgtc3RyKCRzdGFydC1jb2xvcil9JywgZW5kQ29sb3JzdHI9JyN7aWUtaGV4LXN0cigkZW5kLWNvbG9yKX0nLCBHcmFkaWVudFR5cGU9MSk7IC8vIElFOVxufVxuXG4vLyBWZXJ0aWNhbCBncmFkaWVudCwgZnJvbSB0b3AgdG8gYm90dG9tXG4vL1xuLy8gQ3JlYXRlcyB0d28gY29sb3Igc3RvcHMsIHN0YXJ0IGFuZCBlbmQsIGJ5IHNwZWNpZnlpbmcgYSBjb2xvciBhbmQgcG9zaXRpb24gZm9yIGVhY2ggY29sb3Igc3RvcC5cbi8vIENvbG9yIHN0b3BzIGFyZSBub3QgYXZhaWxhYmxlIGluIElFOS5cbkBtaXhpbiBncmFkaWVudC15KCRzdGFydC1jb2xvcjogIzU1NSwgJGVuZC1jb2xvcjogIzMzMywgJHN0YXJ0LXBlcmNlbnQ6IDAlLCAkZW5kLXBlcmNlbnQ6IDEwMCUpIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgJHN0YXJ0LWNvbG9yICRzdGFydC1wZXJjZW50LCAkZW5kLWNvbG9yICRlbmQtcGVyY2VudCk7XG4gIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteDtcbiAgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoc3RhcnRDb2xvcnN0cj0nI3tpZS1oZXgtc3RyKCRzdGFydC1jb2xvcil9JywgZW5kQ29sb3JzdHI9JyN7aWUtaGV4LXN0cigkZW5kLWNvbG9yKX0nLCBHcmFkaWVudFR5cGU9MCk7IC8vIElFOVxufVxuXG5AbWl4aW4gZ3JhZGllbnQtZGlyZWN0aW9uYWwoJHN0YXJ0LWNvbG9yOiAjNTU1LCAkZW5kLWNvbG9yOiAjMzMzLCAkZGVnOiA0NWRlZykge1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgkZGVnLCAkc3RhcnQtY29sb3IsICRlbmQtY29sb3IpO1xufVxuQG1peGluIGdyYWRpZW50LXgtdGhyZWUtY29sb3JzKCRzdGFydC1jb2xvcjogIzAwYjNlZSwgJG1pZC1jb2xvcjogIzdhNDNiNiwgJGNvbG9yLXN0b3A6IDUwJSwgJGVuZC1jb2xvcjogI2MzMzI1Zikge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICRzdGFydC1jb2xvciwgJG1pZC1jb2xvciAkY29sb3Itc3RvcCwgJGVuZC1jb2xvcik7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KHN0YXJ0Q29sb3JzdHI9JyN7aWUtaGV4LXN0cigkc3RhcnQtY29sb3IpfScsIGVuZENvbG9yc3RyPScje2llLWhleC1zdHIoJGVuZC1jb2xvcil9JywgR3JhZGllbnRUeXBlPTEpOyAvLyBJRTkgZ2V0cyBubyBjb2xvci1zdG9wIGF0IGFsbCBmb3IgcHJvcGVyIGZhbGxiYWNrXG59XG5AbWl4aW4gZ3JhZGllbnQteS10aHJlZS1jb2xvcnMoJHN0YXJ0LWNvbG9yOiAjMDBiM2VlLCAkbWlkLWNvbG9yOiAjN2E0M2I2LCAkY29sb3Itc3RvcDogNTAlLCAkZW5kLWNvbG9yOiAjYzMzMjVmKSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgkc3RhcnQtY29sb3IsICRtaWQtY29sb3IgJGNvbG9yLXN0b3AsICRlbmQtY29sb3IpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudChzdGFydENvbG9yc3RyPScje2llLWhleC1zdHIoJHN0YXJ0LWNvbG9yKX0nLCBlbmRDb2xvcnN0cj0nI3tpZS1oZXgtc3RyKCRlbmQtY29sb3IpfScsIEdyYWRpZW50VHlwZT0wKTsgLy8gSUU5IGdldHMgbm8gY29sb3Itc3RvcCBhdCBhbGwgZm9yIHByb3BlciBmYWxsYmFja1xufVxuQG1peGluIGdyYWRpZW50LXJhZGlhbCgkaW5uZXItY29sb3I6ICM1NTUsICRvdXRlci1jb2xvcjogIzMzMykge1xuICBiYWNrZ3JvdW5kLWltYWdlOiByYWRpYWwtZ3JhZGllbnQoY2lyY2xlLCAkaW5uZXItY29sb3IsICRvdXRlci1jb2xvcik7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG59XG5AbWl4aW4gZ3JhZGllbnQtc3RyaXBlZCgkY29sb3I6IHJnYmEoMjU1LDI1NSwyNTUsLjE1KSwgJGFuZ2xlOiA0NWRlZykge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoJGFuZ2xlLCAkY29sb3IgMjUlLCB0cmFuc3BhcmVudCAyNSUsIHRyYW5zcGFyZW50IDUwJSwgJGNvbG9yIDUwJSwgJGNvbG9yIDc1JSwgdHJhbnNwYXJlbnQgNzUlLCB0cmFuc3BhcmVudCk7XG59IiwiLy8gUHJvZ3Jlc3MgYmFyc1xuXG5AbWl4aW4gcHJvZ3Jlc3MtdmFyaWFudCgkY29sb3IpIHtcbiAgJlt2YWx1ZV06Oi13ZWJraXQtcHJvZ3Jlc3MtdmFsdWUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcjtcbiAgfVxuXG4gICZbdmFsdWVdOjotbW96LXByb2dyZXNzLWJhciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yO1xuICB9XG5cbiAgLy8gSUUxMCssIE1pY3Jvc29mdCBFZGdlXG4gICZbdmFsdWVdOjotbXMtZmlsbCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yO1xuICB9XG5cbiAgLy8gSUU5XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6MFxcMCkge1xuICAgIC5wcm9ncmVzcy1iYXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yO1xuICAgIH1cbiAgfVxufVxuIiwiQGlmICRlbmFibGUtZmxleCB7XG4gIC5tZWRpYSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBtYXJnaW4tYm90dG9tOiAkc3BhY2VyO1xuICB9XG4gIC5tZWRpYS1ib2R5IHtcbiAgICBmbGV4OiAxO1xuICB9XG4gIC5tZWRpYS1taWRkbGUge1xuICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgfVxuICAubWVkaWEtYm90dG9tIHtcbiAgICBhbGlnbi1zZWxmOiBmbGV4LWVuZDtcbiAgfVxufSBAZWxzZSB7XG4gIC5tZWRpYSB7XG4gICAgbWFyZ2luLXRvcDogJG1lZGlhLW1hcmdpbi10b3A7XG5cbiAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgfVxuICB9XG4gIC5tZWRpYSxcbiAgLm1lZGlhLWJvZHkge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gIH1cbiAgLm1lZGlhLWJvZHkge1xuICAgIHdpZHRoOiAxMDAwMHB4O1xuICB9XG4gIC5tZWRpYS1sZWZ0LFxuICAubWVkaWEtcmlnaHQsXG4gIC5tZWRpYS1ib2R5IHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gIH1cbiAgLm1lZGlhLW1pZGRsZSB7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgfVxuICAubWVkaWEtYm90dG9tIHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tO1xuICB9XG59XG5cblxuLy9cbi8vIEltYWdlcy9lbGVtZW50cyBhcyB0aGUgbWVkaWEgYW5jaG9yXG4vL1xuXG4ubWVkaWEtb2JqZWN0IHtcbiAgZGlzcGxheTogYmxvY2s7XG5cbiAgLy8gRml4IGNvbGxhcHNlIGluIHdlYmtpdCBmcm9tIG1heC13aWR0aDogMTAwJSBhbmQgZGlzcGxheTogdGFibGUtY2VsbC5cbiAgJi5pbWctdGh1bWJuYWlsIHtcbiAgICBtYXgtd2lkdGg6IG5vbmU7XG4gIH1cbn1cblxuXG4vL1xuLy8gQWxpZ25tZW50XG4vL1xuXG4ubWVkaWEtcmlnaHQge1xuICBwYWRkaW5nLWxlZnQ6ICRtZWRpYS1hbGlnbm1lbnQtcGFkZGluZy14O1xufVxuXG4ubWVkaWEtbGVmdCB7XG4gIHBhZGRpbmctcmlnaHQ6ICRtZWRpYS1hbGlnbm1lbnQtcGFkZGluZy14O1xufVxuXG5cbi8vXG4vLyBIZWFkaW5nc1xuLy9cblxuLm1lZGlhLWhlYWRpbmcge1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAkbWVkaWEtaGVhZGluZy1tYXJnaW4tYm90dG9tO1xufVxuXG5cbi8vXG4vLyBNZWRpYSBsaXN0IHZhcmlhdGlvblxuLy9cblxuLm1lZGlhLWxpc3Qge1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG4iLCIvLyBCYXNlIGNsYXNzXG4vL1xuLy8gRWFzaWx5IHVzYWJsZSBvbiA8dWw+LCA8b2w+LCBvciA8ZGl2Pi5cblxuLmxpc3QtZ3JvdXAge1xuICAvLyBObyBuZWVkIHRvIHNldCBsaXN0LXN0eWxlOiBub25lOyBzaW5jZSAubGlzdC1ncm91cC1pdGVtIGlzIGJsb2NrIGxldmVsXG4gIHBhZGRpbmctbGVmdDogMDsgLy8gcmVzZXQgcGFkZGluZyBiZWNhdXNlIHVsIGFuZCBvbFxuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG5cbi8vIEluZGl2aWR1YWwgbGlzdCBpdGVtc1xuLy9cbi8vIFVzZSBvbiBgbGlgcyBvciBgZGl2YHMgd2l0aGluIHRoZSBgLmxpc3QtZ3JvdXBgIHBhcmVudC5cblxuLmxpc3QtZ3JvdXAtaXRlbSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6ICRsaXN0LWdyb3VwLWl0ZW0tcGFkZGluZy15ICRsaXN0LWdyb3VwLWl0ZW0tcGFkZGluZy14O1xuICAvLyBQbGFjZSB0aGUgYm9yZGVyIG9uIHRoZSBsaXN0IGl0ZW1zIGFuZCBuZWdhdGl2ZSBtYXJnaW4gdXAgZm9yIGJldHRlciBzdHlsaW5nXG4gIG1hcmdpbi1ib3R0b206IC0kbGlzdC1ncm91cC1ib3JkZXItd2lkdGg7XG4gIGJhY2tncm91bmQtY29sb3I6ICRsaXN0LWdyb3VwLWJnO1xuICBib3JkZXI6ICRsaXN0LWdyb3VwLWJvcmRlci13aWR0aCBzb2xpZCAkbGlzdC1ncm91cC1ib3JkZXItY29sb3I7XG5cbiAgJjpmaXJzdC1jaGlsZCB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXMoJGxpc3QtZ3JvdXAtYm9yZGVyLXJhZGl1cyk7XG4gIH1cblxuICAmOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgQGluY2x1ZGUgYm9yZGVyLWJvdHRvbS1yYWRpdXMoJGxpc3QtZ3JvdXAtYm9yZGVyLXJhZGl1cyk7XG4gIH1cblxuICAmLmRpc2FibGVkIHtcbiAgICBAaW5jbHVkZSBwbGFpbi1ob3Zlci1mb2N1cyB7XG4gICAgICBjb2xvcjogJGxpc3QtZ3JvdXAtZGlzYWJsZWQtY29sb3I7XG4gICAgICBjdXJzb3I6ICRjdXJzb3ItZGlzYWJsZWQ7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlzdC1ncm91cC1kaXNhYmxlZC1iZztcblxuICAgICAgLy8gRm9yY2UgY29sb3IgdG8gaW5oZXJpdCBmb3IgY3VzdG9tIGNvbnRlbnRcbiAgICAgIC5saXN0LWdyb3VwLWl0ZW0taGVhZGluZyB7XG4gICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgfVxuICAgICAgLmxpc3QtZ3JvdXAtaXRlbS10ZXh0IHtcbiAgICAgICAgY29sb3I6ICRsaXN0LWdyb3VwLWRpc2FibGVkLXRleHQtY29sb3I7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi5hY3RpdmUge1xuICAgIEBpbmNsdWRlIHBsYWluLWhvdmVyLWZvY3VzIHtcbiAgICAgIHotaW5kZXg6IDI7IC8vIFBsYWNlIGFjdGl2ZSBpdGVtcyBhYm92ZSB0aGVpciBzaWJsaW5ncyBmb3IgcHJvcGVyIGJvcmRlciBzdHlsaW5nXG4gICAgICBjb2xvcjogJGxpc3QtZ3JvdXAtYWN0aXZlLWNvbG9yO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyAvLyBSZXBlYXQgaGVyZSBiZWNhdXNlIGl0IGluaGVyaXRzIGdsb2JhbCBhOmhvdmVyIG90aGVyd2lzZVxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGxpc3QtZ3JvdXAtYWN0aXZlLWJnO1xuICAgICAgYm9yZGVyLWNvbG9yOiAkbGlzdC1ncm91cC1hY3RpdmUtYm9yZGVyO1xuXG4gICAgICAvLyBGb3JjZSBjb2xvciB0byBpbmhlcml0IGZvciBjdXN0b20gY29udGVudFxuICAgICAgLmxpc3QtZ3JvdXAtaXRlbS1oZWFkaW5nLFxuICAgICAgLmxpc3QtZ3JvdXAtaXRlbS1oZWFkaW5nID4gc21hbGwsXG4gICAgICAubGlzdC1ncm91cC1pdGVtLWhlYWRpbmcgPiAuc21hbGwge1xuICAgICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgIH1cbiAgICAgIC5saXN0LWdyb3VwLWl0ZW0tdGV4dCB7XG4gICAgICAgIGNvbG9yOiAkbGlzdC1ncm91cC1hY3RpdmUtdGV4dC1jb2xvcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLmxpc3QtZ3JvdXAtZmx1c2gge1xuICAubGlzdC1ncm91cC1pdGVtIHtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICB9XG59XG5cblxuLy8gSW50ZXJhY3RpdmUgbGlzdCBpdGVtc1xuLy9cbi8vIFVzZSBhbmNob3Igb3IgYnV0dG9uIGVsZW1lbnRzIGluc3RlYWQgb2YgYGxpYHMgb3IgYGRpdmBzIHRvIGNyZWF0ZSBpbnRlcmFjdGl2ZVxuLy8gbGlzdCBpdGVtcy4gSW5jbHVkZXMgYW4gZXh0cmEgYC5hY3RpdmVgIG1vZGlmaWVyIGNsYXNzIGZvciBzZWxlY3RlZCBpdGVtcy5cblxuLmxpc3QtZ3JvdXAtaXRlbS1hY3Rpb24ge1xuICB3aWR0aDogMTAwJTsgLy8gRm9yIGA8YnV0dG9uPmBzIChhbmNob3JzIGJlY29tZSAxMDAlIGJ5IGRlZmF1bHQgdGhvdWdoKVxuICBjb2xvcjogJGxpc3QtZ3JvdXAtbGluay1jb2xvcjtcbiAgdGV4dC1hbGlnbjogaW5oZXJpdDsgLy8gRm9yIGA8YnV0dG9uPmBzIChhbmNob3JzIGluaGVyaXQpXG5cbiAgLmxpc3QtZ3JvdXAtaXRlbS1oZWFkaW5nIHtcbiAgICBjb2xvcjogJGxpc3QtZ3JvdXAtbGluay1oZWFkaW5nLWNvbG9yO1xuICB9XG5cbiAgLy8gSG92ZXIgc3RhdGVcbiAgQGluY2x1ZGUgaG92ZXItZm9jdXMge1xuICAgIGNvbG9yOiAkbGlzdC1ncm91cC1saW5rLWhvdmVyLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlzdC1ncm91cC1ob3Zlci1iZztcbiAgfVxufVxuXG5cbi8vIENvbnRleHR1YWwgdmFyaWFudHNcbi8vXG4vLyBBZGQgbW9kaWZpZXIgY2xhc3NlcyB0byBjaGFuZ2UgdGV4dCBhbmQgYmFja2dyb3VuZCBjb2xvciBvbiBpbmRpdmlkdWFsIGl0ZW1zLlxuLy8gT3JnYW5pemF0aW9uYWxseSwgdGhpcyBtdXN0IGNvbWUgYWZ0ZXIgdGhlIGA6aG92ZXJgIHN0YXRlcy5cblxuQGluY2x1ZGUgbGlzdC1ncm91cC1pdGVtLXZhcmlhbnQoc3VjY2VzcywgJHN0YXRlLXN1Y2Nlc3MtYmcsICRzdGF0ZS1zdWNjZXNzLXRleHQpO1xuQGluY2x1ZGUgbGlzdC1ncm91cC1pdGVtLXZhcmlhbnQoaW5mbywgJHN0YXRlLWluZm8tYmcsICRzdGF0ZS1pbmZvLXRleHQpO1xuQGluY2x1ZGUgbGlzdC1ncm91cC1pdGVtLXZhcmlhbnQod2FybmluZywgJHN0YXRlLXdhcm5pbmctYmcsICRzdGF0ZS13YXJuaW5nLXRleHQpO1xuQGluY2x1ZGUgbGlzdC1ncm91cC1pdGVtLXZhcmlhbnQoZGFuZ2VyLCAkc3RhdGUtZGFuZ2VyLWJnLCAkc3RhdGUtZGFuZ2VyLXRleHQpO1xuXG5cbi8vIEN1c3RvbSBjb250ZW50IG9wdGlvbnNcbi8vXG4vLyBFeHRyYSBjbGFzc2VzIGZvciBjcmVhdGluZyB3ZWxsLWZvcm1hdHRlZCBjb250ZW50IHdpdGhpbiBgLmxpc3QtZ3JvdXAtaXRlbWBzLlxuXG4ubGlzdC1ncm91cC1pdGVtLWhlYWRpbmcge1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAkbGlzdC1ncm91cC1pdGVtLWhlYWRpbmctbWFyZ2luLWJvdHRvbTtcbn1cbi5saXN0LWdyb3VwLWl0ZW0tdGV4dCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjM7XG59XG4iLCIvLyBMaXN0IGdyb3VwXG5cbiRsaXN0LWdyb3VwLWJnOiAgICAgICAgICAgICAgICAgaW5oZXJpdCAhZGVmYXVsdDsgLy8gI2ZmZlxuLy8kbGlzdC1ncm91cC1ib3JkZXItY29sb3I6ICAgICAgICNkZGQgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1ib3JkZXItd2lkdGg6ICAgICAgIDAgIWRlZmF1bHQ7IC8vICRib3JkZXItd2lkdGhcbiRsaXN0LWdyb3VwLWJvcmRlci1yYWRpdXM6ICAgICAgMCAhZGVmYXVsdDsgLy8gJGJvcmRlci1yYWRpdXNcbi8vXG4vLyRsaXN0LWdyb3VwLWhvdmVyLWJnOiAgICAgICAgICAgI2Y1ZjVmNSAhZGVmYXVsdDtcbi8vJGxpc3QtZ3JvdXAtYWN0aXZlLWNvbG9yOiAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbi8vJGxpc3QtZ3JvdXAtYWN0aXZlLWJnOiAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1iZyAhZGVmYXVsdDtcbi8vJGxpc3QtZ3JvdXAtYWN0aXZlLWJvcmRlcjogICAgICAkbGlzdC1ncm91cC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG4vLyRsaXN0LWdyb3VwLWFjdGl2ZS10ZXh0LWNvbG9yOiAgbGlnaHRlbigkbGlzdC1ncm91cC1hY3RpdmUtYmcsIDQwJSkgIWRlZmF1bHQ7XG4vL1xuLy8kbGlzdC1ncm91cC1kaXNhYmxlZC1jb2xvcjogICAgICAkZ3JheS1saWdodCAhZGVmYXVsdDtcbi8vJGxpc3QtZ3JvdXAtZGlzYWJsZWQtYmc6ICAgICAgICAgJGdyYXktbGlnaHRlciAhZGVmYXVsdDtcbi8vJGxpc3QtZ3JvdXAtZGlzYWJsZWQtdGV4dC1jb2xvcjogJGxpc3QtZ3JvdXAtZGlzYWJsZWQtY29sb3IgIWRlZmF1bHQ7XG4vL1xuLy8kbGlzdC1ncm91cC1saW5rLWNvbG9yOiAgICAgICAgICM1NTUgIWRlZmF1bHQ7XG4vLyRsaXN0LWdyb3VwLWxpbmstaG92ZXItY29sb3I6ICAgJGxpc3QtZ3JvdXAtbGluay1jb2xvciAhZGVmYXVsdDtcbi8vJGxpc3QtZ3JvdXAtbGluay1oZWFkaW5nLWNvbG9yOiAjMzMzICFkZWZhdWx0O1xuXG4iLCIvLyBMaXN0IEdyb3Vwc1xuXG5AbWl4aW4gbGlzdC1ncm91cC1pdGVtLXZhcmlhbnQoJHN0YXRlLCAkYmFja2dyb3VuZCwgJGNvbG9yKSB7XG4gIC5saXN0LWdyb3VwLWl0ZW0tI3skc3RhdGV9IHtcbiAgICBjb2xvcjogJGNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuICB9XG5cbiAgYS5saXN0LWdyb3VwLWl0ZW0tI3skc3RhdGV9LFxuICBidXR0b24ubGlzdC1ncm91cC1pdGVtLSN7JHN0YXRlfSB7XG4gICAgY29sb3I6ICRjb2xvcjtcblxuICAgIC5saXN0LWdyb3VwLWl0ZW0taGVhZGluZyB7XG4gICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBob3Zlci1mb2N1cyB7XG4gICAgICBjb2xvcjogJGNvbG9yO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKCRiYWNrZ3JvdW5kLCA1JSk7XG4gICAgfVxuXG4gICAgJi5hY3RpdmUge1xuICAgICAgQGluY2x1ZGUgcGxhaW4taG92ZXItZm9jdXMge1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yO1xuICAgICAgICBib3JkZXItY29sb3I6ICRjb2xvcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIENyZWRpdDogTmljb2xhcyBHYWxsYWdoZXIgYW5kIFNVSVQgQ1NTLlxuXG4uZW1iZWQtcmVzcG9uc2l2ZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGhlaWdodDogMDtcbiAgcGFkZGluZzogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAuZW1iZWQtcmVzcG9uc2l2ZS1pdGVtLFxuICBpZnJhbWUsXG4gIGVtYmVkLFxuICBvYmplY3QsXG4gIHZpZGVvIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBib3JkZXI6IDA7XG4gIH1cbn1cblxuLmVtYmVkLXJlc3BvbnNpdmUtMjFieTkge1xuICBwYWRkaW5nLWJvdHRvbTogcGVyY2VudGFnZSg5IC8gMjEpO1xufVxuXG4uZW1iZWQtcmVzcG9uc2l2ZS0xNmJ5OSB7XG4gIHBhZGRpbmctYm90dG9tOiBwZXJjZW50YWdlKDkgLyAxNik7XG59XG5cbi5lbWJlZC1yZXNwb25zaXZlLTRieTMge1xuICBwYWRkaW5nLWJvdHRvbTogcGVyY2VudGFnZSgzIC8gNCk7XG59XG5cbi5lbWJlZC1yZXNwb25zaXZlLTFieTEge1xuICBwYWRkaW5nLWJvdHRvbTogcGVyY2VudGFnZSgxIC8gMSk7XG59XG4iLCIuY2xvc2Uge1xuICBmbG9hdDogcmlnaHQ7XG4gIGZvbnQtc2l6ZTogKCRmb250LXNpemUtYmFzZSAqIDEuNSk7XG4gIGZvbnQtd2VpZ2h0OiAkY2xvc2UtZm9udC13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBjb2xvcjogJGNsb3NlLWNvbG9yO1xuICB0ZXh0LXNoYWRvdzogJGNsb3NlLXRleHQtc2hhZG93O1xuICBvcGFjaXR5OiAuMjtcblxuICBAaW5jbHVkZSBob3Zlci1mb2N1cyB7XG4gICAgY29sb3I6ICRjbG9zZS1jb2xvcjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIG9wYWNpdHk6IC41O1xuICB9XG59XG5cbi8vIEFkZGl0aW9uYWwgcHJvcGVydGllcyBmb3IgYnV0dG9uIHZlcnNpb25cbi8vIGlPUyByZXF1aXJlcyB0aGUgYnV0dG9uIGVsZW1lbnQgaW5zdGVhZCBvZiBhbiBhbmNob3IgdGFnLlxuLy8gSWYgeW91IHdhbnQgdGhlIGFuY2hvciB2ZXJzaW9uLCBpdCByZXF1aXJlcyBgaHJlZj1cIiNcImAuXG4vLyBTZWUgaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvRXZlbnRzL2NsaWNrI1NhZmFyaV9Nb2JpbGVcblxuLy8gc2Nzcy1saW50OmRpc2FibGUgUXVhbGlmeWluZ0VsZW1lbnRcbmJ1dHRvbi5jbG9zZSB7XG4gIHBhZGRpbmc6IDA7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogMDtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xufVxuLy8gc2Nzcy1saW50OmVuYWJsZSBRdWFsaWZ5aW5nRWxlbWVudFxuIiwiLy8gLm1vZGFsLW9wZW4gICAgICAtIGJvZHkgY2xhc3MgZm9yIGtpbGxpbmcgdGhlIHNjcm9sbFxuLy8gLm1vZGFsICAgICAgICAgICAtIGNvbnRhaW5lciB0byBzY3JvbGwgd2l0aGluXG4vLyAubW9kYWwtZGlhbG9nICAgIC0gcG9zaXRpb25pbmcgc2hlbGwgZm9yIHRoZSBhY3R1YWwgbW9kYWxcbi8vIC5tb2RhbC1jb250ZW50ICAgLSBhY3R1YWwgbW9kYWwgdy8gYmcgYW5kIGNvcm5lcnMgYW5kIHNoaXRcblxuXG4vLyBLaWxsIHRoZSBzY3JvbGwgb24gdGhlIGJvZHlcbi5tb2RhbC1vcGVuIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLy8gQ29udGFpbmVyIHRoYXQgdGhlIG1vZGFsIHNjcm9sbHMgd2l0aGluXG4ubW9kYWwge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogJHppbmRleC1tb2RhbDtcbiAgZGlzcGxheTogbm9uZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgLy8gUHJldmVudCBDaHJvbWUgb24gV2luZG93cyBmcm9tIGFkZGluZyBhIGZvY3VzIG91dGxpbmUuIEZvciBkZXRhaWxzLCBzZWVcbiAgLy8gaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL3B1bGwvMTA5NTEuXG4gIG91dGxpbmU6IDA7XG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcblxuICAvLyBXaGVuIGZhZGluZyBpbiB0aGUgbW9kYWwsIGFuaW1hdGUgaXQgdG8gc2xpZGUgZG93blxuICAmLmZhZGUgLm1vZGFsLWRpYWxvZyB7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIC4zcyBlYXNlLW91dDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtMjUlKTtcbiAgfVxuICAmLmluIC5tb2RhbC1kaWFsb2cgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTsgfVxufVxuLm1vZGFsLW9wZW4gLm1vZGFsIHtcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICBvdmVyZmxvdy15OiBhdXRvO1xufVxuXG4vLyBTaGVsbCBkaXYgdG8gcG9zaXRpb24gdGhlIG1vZGFsIHdpdGggYm90dG9tIHBhZGRpbmdcbi5tb2RhbC1kaWFsb2cge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiBhdXRvO1xuICBtYXJnaW46ICRtb2RhbC1kaWFsb2ctbWFyZ2luO1xufVxuXG4vLyBBY3R1YWwgbW9kYWxcbi5tb2RhbC1jb250ZW50IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkbW9kYWwtY29udGVudC1iZztcbiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgYm9yZGVyOiAkbW9kYWwtY29udGVudC1ib3JkZXItd2lkdGggc29saWQgJG1vZGFsLWNvbnRlbnQtYm9yZGVyLWNvbG9yO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRib3JkZXItcmFkaXVzLWxnKTtcbiAgQGluY2x1ZGUgYm94LXNoYWRvdygkbW9kYWwtY29udGVudC14cy1ib3gtc2hhZG93KTtcbiAgLy8gUmVtb3ZlIGZvY3VzIG91dGxpbmUgZnJvbSBvcGVuZWQgbW9kYWxcbiAgb3V0bGluZTogMDtcbn1cblxuLy8gTW9kYWwgYmFja2dyb3VuZFxuLm1vZGFsLWJhY2tkcm9wIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6ICR6aW5kZXgtbW9kYWwtYmc7XG4gIGJhY2tncm91bmQtY29sb3I6ICRtb2RhbC1iYWNrZHJvcC1iZztcblxuICAvLyBGYWRlIGZvciBiYWNrZHJvcFxuICAmLmZhZGUgeyBvcGFjaXR5OiAwOyB9XG4gICYuaW4geyBvcGFjaXR5OiAkbW9kYWwtYmFja2Ryb3Atb3BhY2l0eTsgfVxufVxuXG4vLyBNb2RhbCBoZWFkZXJcbi8vIFRvcCBzZWN0aW9uIG9mIHRoZSBtb2RhbCB3LyB0aXRsZSBhbmQgZGlzbWlzc1xuLm1vZGFsLWhlYWRlciB7XG4gIHBhZGRpbmc6ICRtb2RhbC10aXRsZS1wYWRkaW5nO1xuICBib3JkZXItYm90dG9tOiAkbW9kYWwtaGVhZGVyLWJvcmRlci13aWR0aCBzb2xpZCAkbW9kYWwtaGVhZGVyLWJvcmRlci1jb2xvcjtcbiAgQGluY2x1ZGUgY2xlYXJmaXg7XG59XG4vLyBDbG9zZSBpY29uXG4ubW9kYWwtaGVhZGVyIC5jbG9zZSB7XG4gIG1hcmdpbi10b3A6IC0ycHg7XG59XG5cbi8vIFRpdGxlIHRleHQgd2l0aGluIGhlYWRlclxuLm1vZGFsLXRpdGxlIHtcbiAgbWFyZ2luOiAwO1xuICBsaW5lLWhlaWdodDogJG1vZGFsLXRpdGxlLWxpbmUtaGVpZ2h0O1xufVxuXG4vLyBNb2RhbCBib2R5XG4vLyBXaGVyZSBhbGwgbW9kYWwgY29udGVudCByZXNpZGVzIChzaWJsaW5nIG9mIC5tb2RhbC1oZWFkZXIgYW5kIC5tb2RhbC1mb290ZXIpXG4ubW9kYWwtYm9keSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZzogJG1vZGFsLWlubmVyLXBhZGRpbmc7XG59XG5cbi8vIEZvb3RlciAoZm9yIGFjdGlvbnMpXG4ubW9kYWwtZm9vdGVyIHtcbiAgcGFkZGluZzogJG1vZGFsLWlubmVyLXBhZGRpbmc7XG4gIHRleHQtYWxpZ246IHJpZ2h0OyAvLyByaWdodCBhbGlnbiBidXR0b25zXG4gIGJvcmRlci10b3A6ICRtb2RhbC1mb290ZXItYm9yZGVyLXdpZHRoIHNvbGlkICRtb2RhbC1mb290ZXItYm9yZGVyLWNvbG9yO1xuICBAaW5jbHVkZSBjbGVhcmZpeCgpOyAvLyBjbGVhciBpdCBpbiBjYXNlIGZvbGtzIHVzZSAucHVsbC0qIGNsYXNzZXMgb24gYnV0dG9uc1xufVxuXG4vLyBNZWFzdXJlIHNjcm9sbGJhciB3aWR0aCBmb3IgcGFkZGluZyBib2R5IGR1cmluZyBtb2RhbCBzaG93L2hpZGVcbi5tb2RhbC1zY3JvbGxiYXItbWVhc3VyZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAtOTk5OXB4O1xuICB3aWR0aDogNTBweDtcbiAgaGVpZ2h0OiA1MHB4O1xuICBvdmVyZmxvdzogc2Nyb2xsO1xufVxuXG4vLyBTY2FsZSB1cCB0aGUgbW9kYWxcbkBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoc20pIHtcbiAgLy8gQXV0b21hdGljYWxseSBzZXQgbW9kYWwncyB3aWR0aCBmb3IgbGFyZ2VyIHZpZXdwb3J0c1xuICAubW9kYWwtZGlhbG9nIHtcbiAgICBtYXgtd2lkdGg6ICRtb2RhbC1tZDtcbiAgICBtYXJnaW46ICRtb2RhbC1kaWFsb2ctc20tdXAtbWFyZ2luLXkgYXV0bztcbiAgfVxuXG4gIC5tb2RhbC1jb250ZW50IHtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRtb2RhbC1jb250ZW50LXNtLXVwLWJveC1zaGFkb3cpO1xuICB9XG5cbiAgLm1vZGFsLXNtIHsgbWF4LXdpZHRoOiAkbW9kYWwtc207IH1cbn1cblxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xuICAubW9kYWwtbGcgeyBtYXgtd2lkdGg6ICRtb2RhbC1sZzsgfVxufVxuIiwiLy8gTW9kYWxzXG4kbW9kYWwtY29udGVudC14cy1ib3gtc2hhZG93OiAkYm1kLXNoYWRvdy0yNGRwICFkZWZhdWx0O1xuXG4vLyBQYWRkaW5nIGFwcGxpZWQgdG8gdGhlIG1vZGFsIGJvZHlcbi8vJG1vZGFsLWlubmVyLXBhZGRpbmc6ICAgICAgICAgMTVweCAhZGVmYXVsdDtcbi8vXG4vLyRtb2RhbC10aXRsZS1wYWRkaW5nOiAgICAgICAgIDE1cHggIWRlZmF1bHQ7XG4vLyRtb2RhbC10aXRsZS1saW5lLWhlaWdodDogICAgICRsaW5lLWhlaWdodC1iYXNlICFkZWZhdWx0O1xuLy9cbi8vJG1vZGFsLWNvbnRlbnQtYmc6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuLy8kbW9kYWwtY29udGVudC1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICAgICAgIHJnYmEoMCwwLDAsLjIpICFkZWZhdWx0O1xuLy9cbi8vJG1vZGFsLWJhY2tkcm9wLWJnOiAgICAgICAgICAgIzAwMCAhZGVmYXVsdDtcbiRtb2RhbC1iYWNrZHJvcC1vcGFjaXR5OiAgICAgIC4yNiAhZGVmYXVsdDsgLy8gLjVcbi8vJG1vZGFsLWhlYWRlci1ib3JkZXItY29sb3I6ICAgI2U1ZTVlNSAhZGVmYXVsdDtcbi8vJG1vZGFsLWZvb3Rlci1ib3JkZXItY29sb3I6ICAgJG1vZGFsLWhlYWRlci1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4vL1xuLy8kbW9kYWwtbGc6ICAgICAgICAgICAgICAgICAgICA5MDBweCAhZGVmYXVsdDtcbi8vJG1vZGFsLW1kOiAgICAgICAgICAgICAgICAgICAgNjAwcHggIWRlZmF1bHQ7XG4vLyRtb2RhbC1zbTogICAgICAgICAgICAgICAgICAgIDMwMHB4ICFkZWZhdWx0O1xuIiwiLy8gQmFzZSBjbGFzc1xuLnRvb2x0aXAge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6ICR6aW5kZXgtdG9vbHRpcDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIC8vIE91ciBwYXJlbnQgZWxlbWVudCBjYW4gYmUgYXJiaXRyYXJ5IHNpbmNlIHRvb2x0aXBzIGFyZSBieSBkZWZhdWx0IGluc2VydGVkIGFzIGEgc2libGluZyBvZiB0aGVpciB0YXJnZXQgZWxlbWVudC5cbiAgLy8gU28gcmVzZXQgb3VyIGZvbnQgYW5kIHRleHQgcHJvcGVydGllcyB0byBhdm9pZCBpbmhlcml0aW5nIHdlaXJkIHZhbHVlcy5cbiAgQGluY2x1ZGUgcmVzZXQtdGV4dCgpO1xuICBmb250LXNpemU6ICRmb250LXNpemUtc207XG4gIC8vIEFsbG93IGJyZWFraW5nIHZlcnkgbG9uZyB3b3JkcyBzbyB0aGV5IGRvbid0IG92ZXJmbG93IHRoZSB0b29sdGlwJ3MgYm91bmRzXG4gIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbiAgb3BhY2l0eTogMDtcblxuICAmLmluIHsgb3BhY2l0eTogJHRvb2x0aXAtb3BhY2l0eTsgfVxuXG4gICYudG9vbHRpcC10b3AsXG4gICYuYnMtdGV0aGVyLWVsZW1lbnQtYXR0YWNoZWQtYm90dG9tIHtcbiAgICBwYWRkaW5nOiAkdG9vbHRpcC1hcnJvdy13aWR0aCAwO1xuICAgIG1hcmdpbi10b3A6IC0kdG9vbHRpcC1tYXJnaW47XG5cbiAgICAudG9vbHRpcC1hcnJvdyB7XG4gICAgICBib3R0b206IDA7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICBtYXJnaW4tbGVmdDogLSR0b29sdGlwLWFycm93LXdpZHRoO1xuICAgICAgYm9yZGVyLXdpZHRoOiAkdG9vbHRpcC1hcnJvdy13aWR0aCAkdG9vbHRpcC1hcnJvdy13aWR0aCAwO1xuICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJHRvb2x0aXAtYXJyb3ctY29sb3I7XG4gICAgfVxuICB9XG4gICYudG9vbHRpcC1yaWdodCxcbiAgJi5icy10ZXRoZXItZWxlbWVudC1hdHRhY2hlZC1sZWZ0IHtcbiAgICBwYWRkaW5nOiAwICR0b29sdGlwLWFycm93LXdpZHRoO1xuICAgIG1hcmdpbi1sZWZ0OiAkdG9vbHRpcC1tYXJnaW47XG5cbiAgICAudG9vbHRpcC1hcnJvdyB7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBtYXJnaW4tdG9wOiAtJHRvb2x0aXAtYXJyb3ctd2lkdGg7XG4gICAgICBib3JkZXItd2lkdGg6ICR0b29sdGlwLWFycm93LXdpZHRoICR0b29sdGlwLWFycm93LXdpZHRoICR0b29sdGlwLWFycm93LXdpZHRoIDA7XG4gICAgICBib3JkZXItcmlnaHQtY29sb3I6ICR0b29sdGlwLWFycm93LWNvbG9yO1xuICAgIH1cbiAgfVxuICAmLnRvb2x0aXAtYm90dG9tLFxuICAmLmJzLXRldGhlci1lbGVtZW50LWF0dGFjaGVkLXRvcCB7XG4gICAgcGFkZGluZzogJHRvb2x0aXAtYXJyb3ctd2lkdGggMDtcbiAgICBtYXJnaW4tdG9wOiAkdG9vbHRpcC1tYXJnaW47XG5cbiAgICAudG9vbHRpcC1hcnJvdyB7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICBtYXJnaW4tbGVmdDogLSR0b29sdGlwLWFycm93LXdpZHRoO1xuICAgICAgYm9yZGVyLXdpZHRoOiAwICR0b29sdGlwLWFycm93LXdpZHRoICR0b29sdGlwLWFycm93LXdpZHRoO1xuICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJHRvb2x0aXAtYXJyb3ctY29sb3I7XG4gICAgfVxuICB9XG4gICYudG9vbHRpcC1sZWZ0LFxuICAmLmJzLXRldGhlci1lbGVtZW50LWF0dGFjaGVkLXJpZ2h0IHtcbiAgICBwYWRkaW5nOiAwICR0b29sdGlwLWFycm93LXdpZHRoO1xuICAgIG1hcmdpbi1sZWZ0OiAtJHRvb2x0aXAtbWFyZ2luO1xuXG4gICAgLnRvb2x0aXAtYXJyb3cge1xuICAgICAgdG9wOiA1MCU7XG4gICAgICByaWdodDogMDtcbiAgICAgIG1hcmdpbi10b3A6IC0kdG9vbHRpcC1hcnJvdy13aWR0aDtcbiAgICAgIGJvcmRlci13aWR0aDogJHRvb2x0aXAtYXJyb3ctd2lkdGggMCAkdG9vbHRpcC1hcnJvdy13aWR0aCAkdG9vbHRpcC1hcnJvdy13aWR0aDtcbiAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAkdG9vbHRpcC1hcnJvdy1jb2xvcjtcbiAgICB9XG4gIH1cbn1cblxuLy8gV3JhcHBlciBmb3IgdGhlIHRvb2x0aXAgY29udGVudFxuLnRvb2x0aXAtaW5uZXIge1xuICBtYXgtd2lkdGg6ICR0b29sdGlwLW1heC13aWR0aDtcbiAgcGFkZGluZzogJHRvb2x0aXAtcGFkZGluZy15ICR0b29sdGlwLXBhZGRpbmcteDtcbiAgY29sb3I6ICR0b29sdGlwLWNvbG9yO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtY29sb3I6ICR0b29sdGlwLWJnO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRib3JkZXItcmFkaXVzKTtcbn1cblxuLy8gQXJyb3dzXG4udG9vbHRpcC1hcnJvdyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbn1cbiIsIkBtaXhpbiByZXNldC10ZXh0IHtcbiAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1iYXNlO1xuICAvLyBXZSBkZWxpYmVyYXRlbHkgZG8gTk9UIHJlc2V0IGZvbnQtc2l6ZSBvciB3b3JkLXdyYXAuXG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDtcbiAgbGluZS1icmVhazogYXV0bztcbiAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodC1iYXNlO1xuICB0ZXh0LWFsaWduOiBsZWZ0OyAvLyBGYWxsYmFjayBmb3Igd2hlcmUgYHN0YXJ0YCBpcyBub3Qgc3VwcG9ydGVkXG4gIHRleHQtYWxpZ246IHN0YXJ0O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRleHQtc2hhZG93OiBub25lO1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgd29yZC1icmVhazogbm9ybWFsO1xuICB3b3JkLXNwYWNpbmc6IG5vcm1hbDtcbn1cbiIsIi5wb3BvdmVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6ICR6aW5kZXgtcG9wb3ZlcjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1heC13aWR0aDogJHBvcG92ZXItbWF4LXdpZHRoO1xuICBwYWRkaW5nOiAkcG9wb3Zlci1pbm5lci1wYWRkaW5nO1xuICAvLyBPdXIgcGFyZW50IGVsZW1lbnQgY2FuIGJlIGFyYml0cmFyeSBzaW5jZSB0b29sdGlwcyBhcmUgYnkgZGVmYXVsdCBpbnNlcnRlZCBhcyBhIHNpYmxpbmcgb2YgdGhlaXIgdGFyZ2V0IGVsZW1lbnQuXG4gIC8vIFNvIHJlc2V0IG91ciBmb250IGFuZCB0ZXh0IHByb3BlcnRpZXMgdG8gYXZvaWQgaW5oZXJpdGluZyB3ZWlyZCB2YWx1ZXMuXG4gIEBpbmNsdWRlIHJlc2V0LXRleHQoKTtcbiAgZm9udC1zaXplOiAkZm9udC1zaXplLXNtO1xuICAvLyBBbGxvdyBicmVha2luZyB2ZXJ5IGxvbmcgd29yZHMgc28gdGhleSBkb24ndCBvdmVyZmxvdyB0aGUgcG9wb3ZlcidzIGJvdW5kc1xuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG4gIGJhY2tncm91bmQtY29sb3I6ICRwb3BvdmVyLWJnO1xuICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuICBib3JkZXI6ICRwb3BvdmVyLWJvcmRlci13aWR0aCBzb2xpZCAkcG9wb3Zlci1ib3JkZXItY29sb3I7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGJvcmRlci1yYWRpdXMtbGcpO1xuICBAaW5jbHVkZSBib3gtc2hhZG93KCRwb3BvdmVyLWJveC1zaGFkb3cpO1xuXG5cbiAgLy8gUG9wb3ZlciBkaXJlY3Rpb25zXG5cbiAgJi5wb3BvdmVyLXRvcCxcbiAgJi5icy10ZXRoZXItZWxlbWVudC1hdHRhY2hlZC1ib3R0b20ge1xuICAgIG1hcmdpbi10b3A6IC0kcG9wb3Zlci1hcnJvdy13aWR0aDtcblxuICAgIC5wb3BvdmVyLWFycm93IHtcbiAgICAgIGJvdHRvbTogLSRwb3BvdmVyLWFycm93LW91dGVyLXdpZHRoO1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgbWFyZ2luLWxlZnQ6IC0kcG9wb3Zlci1hcnJvdy1vdXRlci13aWR0aDtcbiAgICAgIGJvcmRlci10b3AtY29sb3I6ICRwb3BvdmVyLWFycm93LW91dGVyLWNvbG9yO1xuICAgICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgYm90dG9tOiAxcHg7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtJHBvcG92ZXItYXJyb3ctd2lkdGg7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIGJvcmRlci10b3AtY29sb3I6ICRwb3BvdmVyLWFycm93LWNvbG9yO1xuICAgICAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYucG9wb3Zlci1yaWdodCxcbiAgJi5icy10ZXRoZXItZWxlbWVudC1hdHRhY2hlZC1sZWZ0IHtcbiAgICBtYXJnaW4tbGVmdDogJHBvcG92ZXItYXJyb3ctd2lkdGg7XG5cbiAgICAucG9wb3Zlci1hcnJvdyB7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIGxlZnQ6IC0kcG9wb3Zlci1hcnJvdy1vdXRlci13aWR0aDtcbiAgICAgIG1hcmdpbi10b3A6IC0kcG9wb3Zlci1hcnJvdy1vdXRlci13aWR0aDtcbiAgICAgIGJvcmRlci1yaWdodC1jb2xvcjogJHBvcG92ZXItYXJyb3ctb3V0ZXItY29sb3I7XG4gICAgICBib3JkZXItbGVmdC13aWR0aDogMDtcbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgYm90dG9tOiAtJHBvcG92ZXItYXJyb3ctd2lkdGg7XG4gICAgICAgIGxlZnQ6IDFweDtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiAkcG9wb3Zlci1hcnJvdy1jb2xvcjtcbiAgICAgICAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi5wb3BvdmVyLWJvdHRvbSxcbiAgJi5icy10ZXRoZXItZWxlbWVudC1hdHRhY2hlZC10b3Age1xuICAgIG1hcmdpbi10b3A6ICRwb3BvdmVyLWFycm93LXdpZHRoO1xuXG4gICAgLnBvcG92ZXItYXJyb3cge1xuICAgICAgdG9wOiAtJHBvcG92ZXItYXJyb3ctb3V0ZXItd2lkdGg7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICBtYXJnaW4tbGVmdDogLSRwb3BvdmVyLWFycm93LW91dGVyLXdpZHRoO1xuICAgICAgYm9yZGVyLXRvcC13aWR0aDogMDtcbiAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICRwb3BvdmVyLWFycm93LW91dGVyLWNvbG9yO1xuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICB0b3A6IDFweDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0kcG9wb3Zlci1hcnJvdy13aWR0aDtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgYm9yZGVyLXRvcC13aWR0aDogMDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJHBvcG92ZXItYXJyb3ctY29sb3I7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi5wb3BvdmVyLWxlZnQsXG4gICYuYnMtdGV0aGVyLWVsZW1lbnQtYXR0YWNoZWQtcmlnaHQge1xuICAgIG1hcmdpbi1sZWZ0OiAtJHBvcG92ZXItYXJyb3ctd2lkdGg7XG5cbiAgICAucG9wb3Zlci1hcnJvdyB7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIHJpZ2h0OiAtJHBvcG92ZXItYXJyb3ctb3V0ZXItd2lkdGg7XG4gICAgICBtYXJnaW4tdG9wOiAtJHBvcG92ZXItYXJyb3ctb3V0ZXItd2lkdGg7XG4gICAgICBib3JkZXItcmlnaHQtd2lkdGg6IDA7XG4gICAgICBib3JkZXItbGVmdC1jb2xvcjogJHBvcG92ZXItYXJyb3ctb3V0ZXItY29sb3I7XG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIHJpZ2h0OiAxcHg7XG4gICAgICAgIGJvdHRvbTogLSRwb3BvdmVyLWFycm93LXdpZHRoO1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBib3JkZXItcmlnaHQtd2lkdGg6IDA7XG4gICAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAkcG9wb3Zlci1hcnJvdy1jb2xvcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuXG4vLyBPZmZzZXQgdGhlIHBvcG92ZXIgdG8gYWNjb3VudCBmb3IgdGhlIHBvcG92ZXIgYXJyb3dcbi5wb3BvdmVyLXRpdGxlIHtcbiAgcGFkZGluZzogJHBvcG92ZXItdGl0bGUtcGFkZGluZy15ICRwb3BvdmVyLXRpdGxlLXBhZGRpbmcteDtcbiAgbWFyZ2luOiAwOyAvLyByZXNldCBoZWFkaW5nIG1hcmdpblxuICBmb250LXNpemU6ICRmb250LXNpemUtYmFzZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHBvcG92ZXItdGl0bGUtYmc7XG4gIGJvcmRlci1ib3R0b206ICRwb3BvdmVyLWJvcmRlci13aWR0aCBzb2xpZCBkYXJrZW4oJHBvcG92ZXItdGl0bGUtYmcsIDUlKTtcbiAgJG9mZnNldC1ib3JkZXItd2lkdGg6ICgkYm9yZGVyLXdpZHRoIC8gJGZvbnQtc2l6ZS1yb290KTtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygoJGJvcmRlci1yYWRpdXMtbGcgLSAkb2Zmc2V0LWJvcmRlci13aWR0aCkgKCRib3JkZXItcmFkaXVzLWxnIC0gJG9mZnNldC1ib3JkZXItd2lkdGgpIDAgMCk7XG5cbiAgJjplbXB0eSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4ucG9wb3Zlci1jb250ZW50IHtcbiAgcGFkZGluZzogJHBvcG92ZXItY29udGVudC1wYWRkaW5nLXkgJHBvcG92ZXItY29udGVudC1wYWRkaW5nLXg7XG59XG5cblxuLy8gQXJyb3dzXG4vL1xuLy8gLnBvcG92ZXItYXJyb3cgaXMgb3V0ZXIsIC5wb3BvdmVyLWFycm93OjphZnRlciBpcyBpbm5lclxuXG4ucG9wb3Zlci1hcnJvdyB7XG4gICYsXG4gICY6OmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgfVxufVxuLnBvcG92ZXItYXJyb3cge1xuICBib3JkZXItd2lkdGg6ICRwb3BvdmVyLWFycm93LW91dGVyLXdpZHRoO1xufVxuLnBvcG92ZXItYXJyb3c6OmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgYm9yZGVyLXdpZHRoOiAkcG9wb3Zlci1hcnJvdy13aWR0aDtcbn1cbiIsIi8vIFdyYXBwZXIgZm9yIHRoZSBzbGlkZSBjb250YWluZXIgYW5kIGluZGljYXRvcnNcbi5jYXJvdXNlbCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmNhcm91c2VsLWlubmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICA+IC5jYXJvdXNlbC1pdGVtIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICB0cmFuc2l0aW9uOiAuNnMgZWFzZS1pbi1vdXQgbGVmdDtcblxuICAgIC8vIEFjY291bnQgZm9yIGphbmtpdHVkZSBvbiBpbWFnZXNcbiAgICA+IGltZyxcbiAgICA+IGEgPiBpbWcge1xuICAgICAgQGV4dGVuZCAuaW1nLWZsdWlkO1xuICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgfVxuXG4gICAgLy8gV2ViS2l0IENTUzMgdHJhbnNmb3JtcyBmb3Igc3VwcG9ydGVkIGRldmljZXNcbiAgICBAbWVkaWEgYWxsIGFuZCAodHJhbnNmb3JtLTNkKSwgKC13ZWJraXQtdHJhbnNmb3JtLTNkKSB7XG4gICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gLjZzIGVhc2UtaW4tb3V0O1xuICAgICAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgcGVyc3BlY3RpdmU6IDEwMDBweDtcblxuICAgICAgJi5uZXh0LFxuICAgICAgJi5hY3RpdmUucmlnaHQge1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xuICAgICAgfVxuICAgICAgJi5wcmV2LFxuICAgICAgJi5hY3RpdmUubGVmdCB7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xuICAgICAgfVxuICAgICAgJi5uZXh0LmxlZnQsXG4gICAgICAmLnByZXYucmlnaHQsXG4gICAgICAmLmFjdGl2ZSB7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgPiAuYWN0aXZlLFxuICA+IC5uZXh0LFxuICA+IC5wcmV2IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gID4gLmFjdGl2ZSB7XG4gICAgbGVmdDogMDtcbiAgfVxuXG4gID4gLm5leHQsXG4gID4gLnByZXYge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxuICA+IC5uZXh0IHtcbiAgICBsZWZ0OiAxMDAlO1xuICB9XG4gID4gLnByZXYge1xuICAgIGxlZnQ6IC0xMDAlO1xuICB9XG4gID4gLm5leHQubGVmdCxcbiAgPiAucHJldi5yaWdodCB7XG4gICAgbGVmdDogMDtcbiAgfVxuXG4gID4gLmFjdGl2ZS5sZWZ0IHtcbiAgICBsZWZ0OiAtMTAwJTtcbiAgfVxuICA+IC5hY3RpdmUucmlnaHQge1xuICAgIGxlZnQ6IDEwMCU7XG4gIH1cbn1cblxuXG4vL1xuLy8gTGVmdC9yaWdodCBjb250cm9scyBmb3IgbmF2XG4vL1xuXG4uY2Fyb3VzZWwtY29udHJvbCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAkY2Fyb3VzZWwtY29udHJvbC13aWR0aDtcbiAgZm9udC1zaXplOiAkY2Fyb3VzZWwtY29udHJvbC1mb250LXNpemU7XG4gIGNvbG9yOiAkY2Fyb3VzZWwtY29udHJvbC1jb2xvcjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB0ZXh0LXNoYWRvdzogJGNhcm91c2VsLXRleHQtc2hhZG93O1xuICBvcGFjaXR5OiAkY2Fyb3VzZWwtY29udHJvbC1vcGFjaXR5O1xuICAvLyBXZSBjYW4ndCBoYXZlIHRoaXMgdHJhbnNpdGlvbiBoZXJlIGJlY2F1c2UgV2ViS2l0IGNhbmNlbHMgdGhlIGNhcm91c2VsXG4gIC8vIGFuaW1hdGlvbiBpZiB5b3UgdHJpcCB0aGlzIHdoaWxlIGluIHRoZSBtaWRkbGUgb2YgYW5vdGhlciBhbmltYXRpb24uXG5cbiAgLy8gU2V0IGdyYWRpZW50cyBmb3IgYmFja2dyb3VuZHNcbiAgJi5sZWZ0IHtcbiAgICBAaW5jbHVkZSBncmFkaWVudC14KCRzdGFydC1jb2xvcjogcmdiYSgwLDAsMCwuNSksICRlbmQtY29sb3I6IHJnYmEoMCwwLDAsLjAwMDEpKTtcbiAgfVxuICAmLnJpZ2h0IHtcbiAgICByaWdodDogMDtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIEBpbmNsdWRlIGdyYWRpZW50LXgoJHN0YXJ0LWNvbG9yOiByZ2JhKDAsMCwwLC4wMDAxKSwgJGVuZC1jb2xvcjogcmdiYSgwLDAsMCwuNSkpO1xuICB9XG5cbiAgLy8gSG92ZXIvZm9jdXMgc3RhdGVcbiAgQGluY2x1ZGUgaG92ZXItZm9jdXMge1xuICAgIGNvbG9yOiAkY2Fyb3VzZWwtY29udHJvbC1jb2xvcjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgb3V0bGluZTogMDtcbiAgICBvcGFjaXR5OiAuOTtcbiAgfVxuXG4gIC8vIFRvZ2dsZXNcbiAgLmljb24tcHJldixcbiAgLmljb24tbmV4dCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIHotaW5kZXg6IDU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdpZHRoOiAkY2Fyb3VzZWwtaWNvbi13aWR0aDtcbiAgICBoZWlnaHQ6ICRjYXJvdXNlbC1pY29uLXdpZHRoO1xuICAgIG1hcmdpbi10b3A6IC0oJGNhcm91c2VsLWljb24td2lkdGggLyAyKTtcbiAgICBmb250LWZhbWlseTogc2VyaWY7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gIH1cbiAgLmljb24tcHJldiB7XG4gICAgbGVmdDogNTAlO1xuICAgIG1hcmdpbi1sZWZ0OiAtKCRjYXJvdXNlbC1pY29uLXdpZHRoIC8gMik7XG4gIH1cbiAgLmljb24tbmV4dCB7XG4gICAgcmlnaHQ6IDUwJTtcbiAgICBtYXJnaW4tcmlnaHQ6IC0oJGNhcm91c2VsLWljb24td2lkdGggLyAyKTtcbiAgfVxuXG4gIC5pY29uLXByZXYge1xuICAgICY6OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIlxcMjAzOVwiOy8vIFNJTkdMRSBMRUZULVBPSU5USU5HIEFOR0xFIFFVT1RBVElPTiBNQVJLIChVKzIwMzkpXG4gICAgfVxuICB9XG4gIC5pY29uLW5leHQge1xuICAgICY6OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIlxcMjAzYVwiOy8vIFNJTkdMRSBSSUdIVC1QT0lOVElORyBBTkdMRSBRVU9UQVRJT04gTUFSSyAoVSsyMDNBKVxuICAgIH1cbiAgfVxufVxuXG5cbi8vIE9wdGlvbmFsIGluZGljYXRvciBwaXBzXG4vL1xuLy8gQWRkIGFuIHVub3JkZXJlZCBsaXN0IHdpdGggdGhlIGZvbGxvd2luZyBjbGFzcyBhbmQgYWRkIGEgbGlzdCBpdGVtIGZvciBlYWNoXG4vLyBzbGlkZSB5b3VyIGNhcm91c2VsIGhvbGRzLlxuXG4uY2Fyb3VzZWwtaW5kaWNhdG9ycyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAxMHB4O1xuICBsZWZ0OiA1MCU7XG4gIHotaW5kZXg6IDE1O1xuICB3aWR0aDogJGNhcm91c2VsLWluZGljYXRvcnMtd2lkdGg7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgbWFyZ2luLWxlZnQ6IC0oJGNhcm91c2VsLWluZGljYXRvcnMtd2lkdGggLyAyKTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBsaXN0LXN0eWxlOiBub25lO1xuXG4gIGxpIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgd2lkdGg6ICRjYXJvdXNlbC1pbmRpY2F0b3Itc2l6ZTtcbiAgICBoZWlnaHQ6ICRjYXJvdXNlbC1pbmRpY2F0b3Itc2l6ZTtcbiAgICBtYXJnaW46IDFweDtcbiAgICB0ZXh0LWluZGVudDogLTk5OXB4O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAvLyBJRTkgaGFjayBmb3IgZXZlbnQgaGFuZGxpbmdcbiAgICAvL1xuICAgIC8vIEludGVybmV0IEV4cGxvcmVyIDkgZG9lcyBub3QgcHJvcGVybHkgaGFuZGxlIGNsaWNrcyBvbiBlbGVtZW50cyB3aXRoIGEgYGJhY2tncm91bmQtY29sb3JgIG9mIGB0cmFuc3BhcmVudGAsXG4gICAgLy8gc28gd2UgdXNlIGByZ2JhKDAsMCwwLDApYCBpbnN0ZWFkIHNpbmNlIGl0J3MgYSBub24tYnVnZ3kgZXF1aXZhbGVudC5cbiAgICAvLyBTZWUgaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvRXZlbnRzL2NsaWNrI0ludGVybmV0X0V4cGxvcmVyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLDAsMCwwKTsgLy8gSUU5XG4gICAgYm9yZGVyOiAxcHggc29saWQgJGNhcm91c2VsLWluZGljYXRvci1ib3JkZXItY29sb3I7XG4gICAgYm9yZGVyLXJhZGl1czogJGNhcm91c2VsLWluZGljYXRvci1zaXplO1xuICB9XG5cbiAgLmFjdGl2ZSB7XG4gICAgd2lkdGg6ICRjYXJvdXNlbC1pbmRpY2F0b3ItYWN0aXZlLXNpemU7XG4gICAgaGVpZ2h0OiAkY2Fyb3VzZWwtaW5kaWNhdG9yLWFjdGl2ZS1zaXplO1xuICAgIG1hcmdpbjogMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY2Fyb3VzZWwtaW5kaWNhdG9yLWFjdGl2ZS1iZztcbiAgfVxufVxuXG5cbi8vIE9wdGlvbmFsIGNhcHRpb25zXG4vL1xuLy8gSGlkZGVuIGJ5IGRlZmF1bHQgZm9yIHNtYWxsZXIgdmlld3BvcnRzLlxuXG4uY2Fyb3VzZWwtY2FwdGlvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6ICgoMTAwJSAtICRjYXJvdXNlbC1jYXB0aW9uLXdpZHRoKSAvIDIpO1xuICBib3R0b206IDIwcHg7XG4gIGxlZnQ6ICgoMTAwJSAtICRjYXJvdXNlbC1jYXB0aW9uLXdpZHRoKSAvIDIpO1xuICB6LWluZGV4OiAxMDtcbiAgcGFkZGluZy10b3A6IDIwcHg7XG4gIHBhZGRpbmctYm90dG9tOiAyMHB4O1xuICBjb2xvcjogJGNhcm91c2VsLWNhcHRpb24tY29sb3I7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdGV4dC1zaGFkb3c6ICRjYXJvdXNlbC10ZXh0LXNoYWRvdztcblxuICAuYnRuIHtcbiAgICB0ZXh0LXNoYWRvdzogbm9uZTsgLy8gTm8gc2hhZG93IGZvciBidXR0b24gZWxlbWVudHMgaW4gY2Fyb3VzZWwtY2FwdGlvblxuICB9XG59XG5cblxuLy9cbi8vIFJlc3BvbnNpdmUgdmFyaWF0aW9uc1xuLy9cblxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChzbSkge1xuICAvLyBTY2FsZSB1cCB0aGUgY29udHJvbHMgYSBzbWlkZ2VcbiAgLmNhcm91c2VsLWNvbnRyb2wge1xuICAgIC5pY29uLXByZXYsXG4gICAgLmljb24tbmV4dCB7XG4gICAgICB3aWR0aDogJGNhcm91c2VsLWNvbnRyb2wtc20tdXAtc2l6ZTtcbiAgICAgIGhlaWdodDogJGNhcm91c2VsLWNvbnRyb2wtc20tdXAtc2l6ZTtcbiAgICAgIG1hcmdpbi10b3A6IC0oJGNhcm91c2VsLWNvbnRyb2wtc20tdXAtc2l6ZSAvIDIpO1xuICAgICAgZm9udC1zaXplOiAkY2Fyb3VzZWwtY29udHJvbC1zbS11cC1zaXplO1xuICAgIH1cbiAgICAuaWNvbi1wcmV2IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtKCRjYXJvdXNlbC1jb250cm9sLXNtLXVwLXNpemUgLyAyKTtcbiAgICB9XG4gICAgLmljb24tbmV4dCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IC0oJGNhcm91c2VsLWNvbnRyb2wtc20tdXAtc2l6ZSAvIDIpO1xuICAgIH1cbiAgfVxuXG4gIC8vIFNob3cgYW5kIGxlZnQgYWxpZ24gdGhlIGNhcHRpb25zXG4gIC5jYXJvdXNlbC1jYXB0aW9uIHtcbiAgICByaWdodDogKCgxMDAlIC0gJGNhcm91c2VsLWNhcHRpb24tc20tdXAtd2lkdGgpIC8gMik7XG4gICAgbGVmdDogKCgxMDAlIC0gJGNhcm91c2VsLWNhcHRpb24tc20tdXAtd2lkdGgpIC8gMik7XG4gICAgcGFkZGluZy1ib3R0b206IDMwcHg7XG4gIH1cblxuICAvLyBNb3ZlIHVwIHRoZSBpbmRpY2F0b3JzXG4gIC5jYXJvdXNlbC1pbmRpY2F0b3JzIHtcbiAgICBib3R0b206IDIwcHg7XG4gIH1cbn1cbiIsIi8vXG4vLyBDb250ZXh0dWFsIGJhY2tncm91bmRzXG4vL1xuXG4uYmctZmFkZWQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JheS1saWdodGVzdDtcbn1cblxuQGluY2x1ZGUgYmctdmFyaWFudCgnLmJnLXByaW1hcnknLCAkYnJhbmQtcHJpbWFyeSk7XG5cbkBpbmNsdWRlIGJnLXZhcmlhbnQoJy5iZy1zdWNjZXNzJywgJGJyYW5kLXN1Y2Nlc3MpO1xuXG5AaW5jbHVkZSBiZy12YXJpYW50KCcuYmctaW5mbycsICRicmFuZC1pbmZvKTtcblxuQGluY2x1ZGUgYmctdmFyaWFudCgnLmJnLXdhcm5pbmcnLCAkYnJhbmQtd2FybmluZyk7XG5cbkBpbmNsdWRlIGJnLXZhcmlhbnQoJy5iZy1kYW5nZXInLCAkYnJhbmQtZGFuZ2VyKTtcblxuQGluY2x1ZGUgYmctdmFyaWFudCgnLmJnLWludmVyc2UnLCAkYnJhbmQtaW52ZXJzZSk7XG4iLCIvLyBDb250ZXh0dWFsIGJhY2tncm91bmRzXG5cbkBtaXhpbiBiZy12YXJpYW50KCRwYXJlbnQsICRjb2xvcikge1xuICAjeyRwYXJlbnR9IHtcbiAgICBjb2xvcjogI2ZmZiAhaW1wb3J0YW50O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvciAhaW1wb3J0YW50O1xuICB9XG4gIGEjeyRwYXJlbnR9IHtcbiAgICBAaW5jbHVkZSBob3Zlci1mb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oJGNvbG9yLCAxMCUpICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59XG4iLCIuY2xlYXJmaXgge1xuICBAaW5jbHVkZSBjbGVhcmZpeCgpO1xufVxuIiwiLy9cbi8vIERpc3BsYXkgdXRpbGl0aWVzXG4vL1xuXG4uZC1ibG9jayB7XG4gIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG59XG4uZC1pbmxpbmUtYmxvY2sge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2sgIWltcG9ydGFudDtcbn1cbi5kLWlubGluZSB7XG4gIGRpc3BsYXk6IGlubGluZSAhaW1wb3J0YW50O1xufVxuIiwiLy8gRmxleCB2YXJpYXRpb25cbi8vXG4vLyBDdXN0b20gc3R5bGVzIGZvciBhZGRpdGlvbmFsIGZsZXggYWxpZ25tZW50IG9wdGlvbnMuXG5cbkBpZiAkZW5hYmxlLWZsZXgge1xuICBAZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cygkZ3JpZC1icmVha3BvaW50cykge1xuICAgIC8vIEZsZXggY29sdW1uIHJlb3JkZXJpbmdcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50KSB7XG4gICAgICAuZmxleC0jeyRicmVha3BvaW50fS1maXJzdCB7IG9yZGVyOiAtMTsgfVxuICAgICAgLmZsZXgtI3skYnJlYWtwb2ludH0tbGFzdCB7IG9yZGVyOiAxOyB9XG4gICAgICAuZmxleC0jeyRicmVha3BvaW50fS11bm9yZGVyZWQgeyBvcmRlcjogMDsgfVxuICAgIH1cblxuICAgIC8vIEFsaWdubWVudCBmb3IgZXZlcnkgaXRlbVxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGJyZWFrcG9pbnQpIHtcbiAgICAgIC5mbGV4LWl0ZW1zLSN7JGJyZWFrcG9pbnR9LXRvcCB7IGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OyB9XG4gICAgICAuZmxleC1pdGVtcy0jeyRicmVha3BvaW50fS1taWRkbGUgeyBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gICAgICAuZmxleC1pdGVtcy0jeyRicmVha3BvaW50fS1ib3R0b20geyBhbGlnbi1pdGVtczogZmxleC1lbmQ7IH1cbiAgICB9XG5cbiAgICAvLyBBbGlnbm1lbnQgcGVyIGl0ZW1cbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50KSB7XG4gICAgICAuZmxleC0jeyRicmVha3BvaW50fS10b3AgICB7IGFsaWduLXNlbGY6IGZsZXgtc3RhcnQ7IH1cbiAgICAgIC5mbGV4LSN7JGJyZWFrcG9pbnR9LW1pZGRsZSB7IGFsaWduLXNlbGY6IGNlbnRlcjsgfVxuICAgICAgLmZsZXgtI3skYnJlYWtwb2ludH0tYm90dG9tIHsgYWxpZ24tc2VsZjogZmxleC1lbmQ7IH1cbiAgICB9XG5cbiAgICAvLyBIb3Jpem9udGFsIGFsaWdubWVudCBvZiBpdGVtXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCkge1xuICAgICAgLmZsZXgtaXRlbXMtI3skYnJlYWtwb2ludH0tbGVmdCB7IGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfVxuICAgICAgLmZsZXgtaXRlbXMtI3skYnJlYWtwb2ludH0tY2VudGVyIHsganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgICAgIC5mbGV4LWl0ZW1zLSN7JGJyZWFrcG9pbnR9LXJpZ2h0IHsganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsgfVxuICAgICAgLmZsZXgtaXRlbXMtI3skYnJlYWtwb2ludH0tYXJvdW5kIHsganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7IH1cbiAgICAgIC5mbGV4LWl0ZW1zLSN7JGJyZWFrcG9pbnR9LWJldHdlZW4geyBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH1cbiAgICB9XG4gIH1cbn1cbiIsIkBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRncmlkLWJyZWFrcG9pbnRzKSB7XG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGJyZWFrcG9pbnQpIHtcbiAgICAucHVsbC0jeyRicmVha3BvaW50fS1sZWZ0IHtcbiAgICAgIEBpbmNsdWRlIHB1bGwtbGVmdCgpO1xuICAgIH1cbiAgICAucHVsbC0jeyRicmVha3BvaW50fS1yaWdodCB7XG4gICAgICBAaW5jbHVkZSBwdWxsLXJpZ2h0KCk7XG4gICAgfVxuICAgIC5wdWxsLSN7JGJyZWFrcG9pbnR9LW5vbmUge1xuICAgICAgZmxvYXQ6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZJWE1FOiBvbmx5IG5lY2Vzc2FyeSBiZWNhdXNlIHRoZXJlIGlzbid0IGFuIHVuZGVyc2NvcmVkIGZpbGUgLSBzZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xODM1MFxuLy9AaW1wb3J0IFwiLi4vYm93ZXJfY29tcG9uZW50cy9ib290c3RyYXAvc2Nzcy9cbi8vQGltcG9ydCBcIi4uLy4uL2Jvb3RzdHJhcC9zY3NzL1xuXG4vLyBDb3JlIHZhcmlhYmxlcyBhbmQgbWl4aW5zXG5AaW1wb3J0IFwiYm9vdHN0cmFwL3Njc3MvY3VzdG9tXCI7XG5AaW1wb3J0IFwiYm9vdHN0cmFwL3Njc3MvdmFyaWFibGVzXCI7XG5AaW1wb3J0IFwiYm9vdHN0cmFwL3Njc3MvbWl4aW5zXCI7XG5cbi8vICM4NTMgc3RhcnQgLSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvcHVsbC8xODk3Ni9maWxlc1xuLy8gaGFja1xuQG1peGluIHB1bGwtbGVmdCB7XG4gIGZsb2F0OiBsZWZ0ICFpbXBvcnRhbnQ7XG4gIEBpZiAkZW5hYmxlLWZsZXgge1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgfVxufVxuQG1peGluIHB1bGwtcmlnaHQge1xuICBmbG9hdDogcmlnaHQgIWltcG9ydGFudDtcbiAgQGlmICRlbmFibGUtZmxleCB7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIH1cbn1cbi8vICM4NTMgZW5kIC0gaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL3B1bGwvMTg5NzYvZmlsZXNcblxuXG4vLyBSZXNldCBhbmQgZGVwZW5kZW5jaWVzXG5AaW1wb3J0IFwiYm9vdHN0cmFwL3Njc3Mvbm9ybWFsaXplXCI7XG5AaW1wb3J0IFwiYm9vdHN0cmFwL3Njc3MvcHJpbnRcIjtcblxuLy8gQ29yZSBDU1NcbkBpbXBvcnQgXCJib290c3RyYXAvc2Nzcy9yZWJvb3RcIjtcbkBpbXBvcnQgXCJib290c3RyYXAvc2Nzcy90eXBlXCI7XG5AaW1wb3J0IFwiYm9vdHN0cmFwL3Njc3MvaW1hZ2VzXCI7XG5AaW1wb3J0IFwiYm9vdHN0cmFwL3Njc3MvY29kZVwiO1xuQGltcG9ydCBcImJvb3RzdHJhcC9zY3NzL2dyaWRcIjtcbkBpbXBvcnQgXCJib290c3RyYXAvc2Nzcy90YWJsZXNcIjtcbkBpbXBvcnQgXCJib290c3RyYXAvc2Nzcy9mb3Jtc1wiO1xuQGltcG9ydCBcImJvb3RzdHJhcC9zY3NzL2J1dHRvbnNcIjtcblxuLy8gQ29tcG9uZW50c1xuQGltcG9ydCBcImJvb3RzdHJhcC9zY3NzL2FuaW1hdGlvblwiO1xuQGltcG9ydCBcImJvb3RzdHJhcC9zY3NzL2Ryb3Bkb3duXCI7XG5AaW1wb3J0IFwiYm9vdHN0cmFwL3Njc3MvYnV0dG9uLWdyb3VwXCI7XG5AaW1wb3J0IFwiYm9vdHN0cmFwL3Njc3MvaW5wdXQtZ3JvdXBcIjtcbkBpbXBvcnQgXCJib290c3RyYXAvc2Nzcy9jdXN0b20tZm9ybXNcIjtcbkBpbXBvcnQgXCJib290c3RyYXAvc2Nzcy9uYXZcIjtcbkBpbXBvcnQgXCJib290c3RyYXAvc2Nzcy9uYXZiYXJcIjtcbkBpbXBvcnQgXCJib290c3RyYXAvc2Nzcy9jYXJkXCI7XG5AaW1wb3J0IFwiYm9vdHN0cmFwL3Njc3MvYnJlYWRjcnVtYlwiO1xuQGltcG9ydCBcImJvb3RzdHJhcC9zY3NzL3BhZ2luYXRpb25cIjtcbkBpbXBvcnQgXCJib290c3RyYXAvc2Nzcy90YWdzXCI7XG5AaW1wb3J0IFwiYm9vdHN0cmFwL3Njc3MvanVtYm90cm9uXCI7XG5AaW1wb3J0IFwiYm9vdHN0cmFwL3Njc3MvYWxlcnRcIjtcbkBpbXBvcnQgXCJib290c3RyYXAvc2Nzcy9wcm9ncmVzc1wiO1xuQGltcG9ydCBcImJvb3RzdHJhcC9zY3NzL21lZGlhXCI7XG5AaW1wb3J0IFwiYm9vdHN0cmFwL3Njc3MvbGlzdC1ncm91cFwiO1xuQGltcG9ydCBcImJvb3RzdHJhcC9zY3NzL3Jlc3BvbnNpdmUtZW1iZWRcIjtcbkBpbXBvcnQgXCJib290c3RyYXAvc2Nzcy9jbG9zZVwiO1xuXG4vLyBDb21wb25lbnRzIHcvIEphdmFTY3JpcHRcbkBpbXBvcnQgXCJib290c3RyYXAvc2Nzcy9tb2RhbFwiO1xuQGltcG9ydCBcImJvb3RzdHJhcC9zY3NzL3Rvb2x0aXBcIjtcbkBpbXBvcnQgXCJib290c3RyYXAvc2Nzcy9wb3BvdmVyXCI7XG5AaW1wb3J0IFwiYm9vdHN0cmFwL3Njc3MvY2Fyb3VzZWxcIjtcblxuLy8gVXRpbGl0eSBjbGFzc2VzXG5AaW1wb3J0IFwiYm9vdHN0cmFwL3Njc3MvdXRpbGl0aWVzXCI7XG4iLCIvL1xuLy8gU2NyZWVucmVhZGVyc1xuLy9cblxuLnNyLW9ubHkge1xuICBAaW5jbHVkZSBzci1vbmx5KCk7XG59XG5cbi5zci1vbmx5LWZvY3VzYWJsZSB7XG4gIEBpbmNsdWRlIHNyLW9ubHktZm9jdXNhYmxlKCk7XG59XG4iLCIvLyBPbmx5IGRpc3BsYXkgY29udGVudCB0byBzY3JlZW4gcmVhZGVyc1xuLy9cbi8vIFNlZTogaHR0cDovL2ExMXlwcm9qZWN0LmNvbS9wb3N0cy9ob3ctdG8taGlkZS1jb250ZW50XG5cbkBtaXhpbiBzci1vbmx5IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMXB4O1xuICBoZWlnaHQ6IDFweDtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAtMXB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBjbGlwOiByZWN0KDAsMCwwLDApO1xuICBib3JkZXI6IDA7XG59XG5cbi8vIFVzZSBpbiBjb25qdW5jdGlvbiB3aXRoIC5zci1vbmx5IHRvIG9ubHkgZGlzcGxheSBjb250ZW50IHdoZW4gaXQncyBmb2N1c2VkLlxuLy9cbi8vIFVzZWZ1bCBmb3IgXCJTa2lwIHRvIG1haW4gY29udGVudFwiIGxpbmtzOyBzZWUgaHR0cDovL3d3dy53My5vcmcvVFIvMjAxMy9OT1RFLVdDQUcyMC1URUNIUy0yMDEzMDkwNS9HMVxuLy9cbi8vIENyZWRpdDogSFRNTDUgQm9pbGVycGxhdGVcblxuQG1peGluIHNyLW9ubHktZm9jdXNhYmxlIHtcbiAgJjphY3RpdmUsXG4gICY6Zm9jdXMge1xuICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbjogMDtcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICBjbGlwOiBhdXRvO1xuICB9XG59XG4iLCIvLyBXaWR0aFxuXG4udy0xMDAgeyB3aWR0aDogMTAwJSAhaW1wb3J0YW50OyB9XG5cbi8vIE1hcmdpbiBhbmQgUGFkZGluZ1xuXG4ubS14LWF1dG8ge1xuICBtYXJnaW4tcmlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgbWFyZ2luLWxlZnQ6ICBhdXRvICFpbXBvcnRhbnQ7XG59XG5cbkBlYWNoICRwcm9wLCAkYWJicmV2IGluIChtYXJnaW46IG0sIHBhZGRpbmc6IHApIHtcbiAgQGVhY2ggJHNpemUsICRsZW5ndGhzIGluICRzcGFjZXJzIHtcbiAgICAkbGVuZ3RoLXg6ICAgbWFwLWdldCgkbGVuZ3RocywgeCk7XG4gICAgJGxlbmd0aC15OiAgIG1hcC1nZXQoJGxlbmd0aHMsIHkpO1xuXG4gICAgLiN7JGFiYnJldn0tYS0jeyRzaXplfSB7ICN7JHByb3B9OiAgICAgICAgJGxlbmd0aC15ICRsZW5ndGgteCAhaW1wb3J0YW50OyB9IC8vIGEgPSBBbGwgc2lkZXNcbiAgICAuI3skYWJicmV2fS10LSN7JHNpemV9IHsgI3skcHJvcH0tdG9wOiAgICAkbGVuZ3RoLXkgIWltcG9ydGFudDsgfVxuICAgIC4jeyRhYmJyZXZ9LXItI3skc2l6ZX0geyAjeyRwcm9wfS1yaWdodDogICRsZW5ndGgteCAhaW1wb3J0YW50OyB9XG4gICAgLiN7JGFiYnJldn0tYi0jeyRzaXplfSB7ICN7JHByb3B9LWJvdHRvbTogJGxlbmd0aC15ICFpbXBvcnRhbnQ7IH1cbiAgICAuI3skYWJicmV2fS1sLSN7JHNpemV9IHsgI3skcHJvcH0tbGVmdDogICAkbGVuZ3RoLXggIWltcG9ydGFudDsgfVxuXG4gICAgLy8gQXhlc1xuICAgIC4jeyRhYmJyZXZ9LXgtI3skc2l6ZX0ge1xuICAgICAgI3skcHJvcH0tcmlnaHQ6ICAkbGVuZ3RoLXggIWltcG9ydGFudDtcbiAgICAgICN7JHByb3B9LWxlZnQ6ICAgJGxlbmd0aC14ICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIC4jeyRhYmJyZXZ9LXktI3skc2l6ZX0ge1xuICAgICAgI3skcHJvcH0tdG9wOiAgICAkbGVuZ3RoLXkgIWltcG9ydGFudDtcbiAgICAgICN7JHByb3B9LWJvdHRvbTogJGxlbmd0aC15ICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vIFBvc2l0aW9uaW5nXG5cbi5wb3MtZi10IHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAkemluZGV4LW5hdmJhci1maXhlZDtcbn1cbiIsIi8vXG4vLyBUZXh0XG4vL1xuXG4vLyBBbGlnbm1lbnRcblxuLnRleHQtanVzdGlmeSAgICAgICAgeyB0ZXh0LWFsaWduOiBqdXN0aWZ5ICFpbXBvcnRhbnQ7IH1cbi50ZXh0LW5vd3JhcCAgICAgICAgIHsgd2hpdGUtc3BhY2U6IG5vd3JhcCAhaW1wb3J0YW50OyB9XG4udGV4dC10cnVuY2F0ZSAgICAgICB7IEBpbmNsdWRlIHRleHQtdHJ1bmNhdGU7IH1cblxuLy8gUmVzcG9uc2l2ZSBhbGlnbm1lbnRcblxuQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLWtleXMoJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCkge1xuICAgIC50ZXh0LSN7JGJyZWFrcG9pbnR9LWxlZnQgICB7IHRleHQtYWxpZ246IGxlZnQgIWltcG9ydGFudDsgfVxuICAgIC50ZXh0LSN7JGJyZWFrcG9pbnR9LXJpZ2h0ICB7IHRleHQtYWxpZ246IHJpZ2h0ICFpbXBvcnRhbnQ7IH1cbiAgICAudGV4dC0jeyRicmVha3BvaW50fS1jZW50ZXIgeyB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDsgfVxuICB9XG59XG5cbi8vIFRyYW5zZm9ybWF0aW9uXG5cbi50ZXh0LWxvd2VyY2FzZSAgICAgIHsgdGV4dC10cmFuc2Zvcm06IGxvd2VyY2FzZSAhaW1wb3J0YW50OyB9XG4udGV4dC11cHBlcmNhc2UgICAgICB7IHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2UgIWltcG9ydGFudDsgfVxuLnRleHQtY2FwaXRhbGl6ZSAgICAgeyB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZSAhaW1wb3J0YW50OyB9XG5cbi8vIFdlaWdodCBhbmQgaXRhbGljc1xuXG4uZm9udC13ZWlnaHQtbm9ybWFsICB7IGZvbnQtd2VpZ2h0OiBub3JtYWw7IH1cbi5mb250LXdlaWdodC1ib2xkICAgIHsgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cbi5mb250LWl0YWxpYyAgICAgICAgIHsgZm9udC1zdHlsZTogaXRhbGljOyB9XG5cbi8vIENvbnRleHR1YWwgY29sb3JzXG5cbkBpbmNsdWRlIHRleHQtZW1waGFzaXMtdmFyaWFudCgnLnRleHQtbXV0ZWQnLCAkdGV4dC1tdXRlZCk7XG5cbkBpbmNsdWRlIHRleHQtZW1waGFzaXMtdmFyaWFudCgnLnRleHQtcHJpbWFyeScsICRicmFuZC1wcmltYXJ5KTtcblxuQGluY2x1ZGUgdGV4dC1lbXBoYXNpcy12YXJpYW50KCcudGV4dC1zdWNjZXNzJywgJGJyYW5kLXN1Y2Nlc3MpO1xuXG5AaW5jbHVkZSB0ZXh0LWVtcGhhc2lzLXZhcmlhbnQoJy50ZXh0LWluZm8nLCAkYnJhbmQtaW5mbyk7XG5cbkBpbmNsdWRlIHRleHQtZW1waGFzaXMtdmFyaWFudCgnLnRleHQtd2FybmluZycsICRicmFuZC13YXJuaW5nKTtcblxuQGluY2x1ZGUgdGV4dC1lbXBoYXNpcy12YXJpYW50KCcudGV4dC1kYW5nZXInLCAkYnJhbmQtZGFuZ2VyKTtcblxuLy8gTWlzY1xuXG4udGV4dC1oaWRlIHtcbiAgQGluY2x1ZGUgdGV4dC1oaWRlKCk7XG59XG4iLCIvLyBUZXh0IHRydW5jYXRlXG4vLyBSZXF1aXJlcyBpbmxpbmUtYmxvY2sgb3IgYmxvY2sgZm9yIHByb3BlciBzdHlsaW5nXG5cbkBtaXhpbiB0ZXh0LXRydW5jYXRlKCkge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn0iLCIvLyBUeXBvZ3JhcGh5XG5cbkBtaXhpbiB0ZXh0LWVtcGhhc2lzLXZhcmlhbnQoJHBhcmVudCwgJGNvbG9yKSB7XG4gICN7JHBhcmVudH0ge1xuICAgIGNvbG9yOiAkY29sb3IgIWltcG9ydGFudDtcbiAgfVxuICBhI3skcGFyZW50fSB7XG4gICAgQGluY2x1ZGUgaG92ZXItZm9jdXMge1xuICAgICAgY29sb3I6IGRhcmtlbigkY29sb3IsIDEwJSk7XG4gICAgfVxuICB9XG59XG4iLCIvLyBDU1MgaW1hZ2UgcmVwbGFjZW1lbnRcbkBtaXhpbiB0ZXh0LWhpZGUoKSB7XG4gIGZvbnQ6IDAvMCBhO1xuICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gIHRleHQtc2hhZG93OiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiAwO1xufVxuIiwiLy8gc2Nzcy1saW50OmRpc2FibGUgSW1wb3J0YW50UnVsZVxuXG4vL1xuLy8gVmlzaWJpbGl0eSB1dGlsaXRpZXNcbi8vXG5cbi5pbnZpc2libGUge1xuICB2aXNpYmlsaXR5OiBoaWRkZW4gIWltcG9ydGFudDtcbn1cblxuLy8gUmVzcG9uc2l2ZSB2aXNpYmlsaXR5IHV0aWxpdGllc1xuXG5AZWFjaCAkYnAgaW4gbWFwLWtleXMoJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgLmhpZGRlbi0jeyRicH0tdXAge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGJwKSB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG4gIC5oaWRkZW4tI3skYnB9LWRvd24ge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkYnApIHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbn1cblxuXG4vLyBQcmludCB1dGlsaXRpZXNcbi8vXG4vLyBNZWRpYSBxdWVyaWVzIGFyZSBwbGFjZWQgb24gdGhlIGluc2lkZSB0byBiZSBtaXhpbi1mcmllbmRseS5cblxuLnZpc2libGUtcHJpbnQtYmxvY2sge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG5cbiAgQG1lZGlhIHByaW50IHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICB9XG59XG4udmlzaWJsZS1wcmludC1pbmxpbmUge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG5cbiAgQG1lZGlhIHByaW50IHtcbiAgICBkaXNwbGF5OiBpbmxpbmUgIWltcG9ydGFudDtcbiAgfVxufVxuLnZpc2libGUtcHJpbnQtaW5saW5lLWJsb2NrIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuXG4gIEBtZWRpYSBwcmludCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLmhpZGRlbi1wcmludCB7XG4gIEBtZWRpYSBwcmludCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG4iLCJib2R5IHtcbiAgZm9udC13ZWlnaHQ6ICRibWQtZm9udC13ZWlnaHQtYmFzZTtcbn1cblxuYSB7XG4gICY6Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7IC8vIHJlbW92ZSB0aGUgdGVycmlibGUgQGluY2x1ZGUgdGFiLWZvY3VzKCk7XG4gIH1cbn1cblxuYnV0dG9uOmZvY3VzIHtcbiAgb3V0bGluZTogbm9uZTtcbiAgLy9vdXRsaW5lOiAxcHggZG90dGVkO1xuICAvL291dGxpbmU6IDVweCBhdXRvIC13ZWJraXQtZm9jdXMtcmluZy1jb2xvcjtcbn1cblxuXG4vLy8vIFByZXZlbnQgaGlnaGxpZ2h0IG9uIG1vYmlsZVxuLy8qIHtcbi8vICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHJnYmEoJHdoaXRlLCAwKTtcbi8vICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xuLy8gICY6Zm9jdXMge1xuLy8gICAgb3V0bGluZTogMDtcbi8vICB9XG4vL31cbiIsIi8vIEZJWE1FOiByZS1leGFtaW5lIG9yZ2FuaXphdGlvbiBvZiB2YXJpYWJsZXMsIGZpbGVzLCBvcmRlcmluZyBldGMuICBXaGlsZSB0aGUgb3JkZXJpbmcgd29ya3MsIHdlIG5lZWQgdG8gYmUgc3VyZSB0aGlzIGlzIG1vcmUgY29tcHJlaGVuc2libGUuXG5AaW1wb3J0IFwidmFyaWFibGVzL2NvbG9yc1wiO1xuQGltcG9ydCBcInZhcmlhYmxlcy9zaGFkb3dcIjtcblxuLy8gcmVkZWZpbmUgPyBUT0RPOiBkbyB3ZSBuZWVkIHRoaXMgYm1kIHZhcmlhbnQ/ICBUaGlzIGlzIHVzZWQgYXMgJGJvZHktY29sb3JcbiRncmF5LWxpZ2h0ZXI6IHJnYmEoJGJsYWNrLCAwLjEyKSAhZGVmYXVsdDtcbiRncmF5LWxpZ2h0OiByZ2JhKCRibGFjaywgMC4yNikgIWRlZmF1bHQ7XG4kZ3JheTogcmdiYSgkYmxhY2ssIC41NCkgIWRlZmF1bHQ7IC8vIHNwZWMgY29sb3JcbiRncmF5LWRhcms6IHJnYmEoJGJsYWNrLCAwLjg3KSAhZGVmYXVsdDsgICAvLyB1c2VkIGZvciB0ZXh0IGNvbG9yIC0gb3RoZXJzIHVzZSBncmV5LTYwMCB3aGljaCBpcyBjb25zaWRlcmFibHkgbGlnaHRlclxuXG4kYm1kLWZvbnQtd2VpZ2h0LWJhc2U6IDQwMDtcblxuLy8gd29uZGVyaW5nIGlmIGFueSBvZiB0aGVzZSBjb3VsZCBzdGlsbCBiZSByZWZhY3RvcmVkIG91dCwgYnV0IGFyZSBkZWZpbml0ZWx5IGluIHVzZS5cbiRibWQtaW52ZXJzZTogcmdiYSgkd2hpdGUsIDEpICFkZWZhdWx0O1xuJGJtZC1pbnZlcnNlLWxpZ2h0OiByZ2JhKCR3aGl0ZSwgMC44NCkgIWRlZmF1bHQ7XG4kYm1kLWludmVyc2UtbGlnaHRlcjogcmdiYSgkd2hpdGUsIDAuNTQpICFkZWZhdWx0O1xuXG4kYm1kLWxhYmVsLWNvbG9yOiAkZ3JheS1saWdodCAhZGVmYXVsdDtcbiRibWQtbGFiZWwtY29sb3ItaW5uZXItZm9jdXM6ICRncmF5ICFkZWZhdWx0OyAvLyBlLmcuIHJhZGlvIGxhYmVsIG9yIHRleHQtbXV0ZWQgbm90IGEgY29udHJvbC1sYWJlbCB3aGljaCBpcyBwcmltYXJ5XG5cbi8vIEN1c3RvbWl6ZWQgQlMgdmFyaWFibGVzXG5AaW1wb3J0IFwidmFyaWFibGVzL2Jvb3RzdHJhcC9jb21wb25lbnRzXCI7XG5AaW1wb3J0IFwidmFyaWFibGVzL2Jvb3RzdHJhcC9jdXN0b20tZm9ybXNcIjtcbkBpbXBvcnQgXCJ2YXJpYWJsZXMvYm9vdHN0cmFwL3NwYWNpbmdcIjtcbkBpbXBvcnQgXCJ2YXJpYWJsZXMvYm9vdHN0cmFwL2JvZHlcIjtcbkBpbXBvcnQgXCJ2YXJpYWJsZXMvYm9vdHN0cmFwL2JyYW5kXCI7XG5AaW1wb3J0IFwidmFyaWFibGVzL2Jvb3RzdHJhcC9idXR0b25zXCI7XG5AaW1wb3J0IFwidmFyaWFibGVzL2Jvb3RzdHJhcC9jYXJkXCI7XG5AaW1wb3J0IFwidmFyaWFibGVzL2Jvb3RzdHJhcC9jb2RlXCI7XG5AaW1wb3J0IFwidmFyaWFibGVzL2Jvb3RzdHJhcC9kcm9wZG93blwiO1xuQGltcG9ydCBcInZhcmlhYmxlcy9ib290c3RyYXAvZm9ybXNcIjtcbkBpbXBvcnQgXCJ2YXJpYWJsZXMvYm9vdHN0cmFwL2xpc3QtZ3JvdXBcIjtcbkBpbXBvcnQgXCJ2YXJpYWJsZXMvYm9vdHN0cmFwL25hdlwiO1xuQGltcG9ydCBcInZhcmlhYmxlcy9ib290c3RyYXAvcGFnaW5hdGlvblwiO1xuQGltcG9ydCBcInZhcmlhYmxlcy9ib290c3RyYXAvc3RhdGVcIjtcbkBpbXBvcnQgXCJ2YXJpYWJsZXMvYm9vdHN0cmFwL3R5cGVcIjtcbkBpbXBvcnQgXCJ2YXJpYWJsZXMvYm9vdHN0cmFwL21vZGFsc1wiO1xuXG4vLyBpbXBvcnQgdGhlaXIgdmFycyBhZnRlciBjdXN0b21pemF0aW9uIGZvciB1c2UgYmVsb3dcbiRlbmFibGUtZmxleDogdHJ1ZTsgICAgIC8vIGZ1bGx5IGFkb3B0IGZsZXhib3ggbGF5b3V0c1xuJGVuYWJsZS1zaGFkb3dzOiB0cnVlOyAgLy8gZW5hYmxlIHNoYWRvd3MsIHNldCB0byBmYWxzZSB0byB0dXJuIG9mZiBzaGFkb3dzXG5AaW1wb3J0IFwiYm9vdHN0cmFwL3Njc3MvdmFyaWFibGVzXCI7IC8vIGZyb20gYm9vdHN0cmFwIG5vZGVfbW9kdWxlXG5cblxuLy9cbkBpbXBvcnQgXCJ2YXJpYWJsZXMvbGF5b3V0XCI7XG5AaW1wb3J0IFwidmFyaWFibGVzL21lbnVcIjtcbkBpbXBvcnQgXCJ2YXJpYWJsZXMvZHJhd2VyXCI7XG5cbiRibWQtbGFiZWwtY29sb3ItZm9jdXM6ICAkYnJhbmQtcHJpbWFyeSAhZGVmYXVsdDtcbiRibWQtaW52YWxpZC11bmRlcmxpbmU6ICAkcmVkLWE3MDAgIWRlZmF1bHQ7XG4kYm1kLXJlYWRvbmx5LXVuZGVybGluZTogJGlucHV0LWJvcmRlci1jb2xvciAhZGVmYXVsdDtcblxuLy8tLS1cbi8vIHZlcmlmaWVkIGluIHVzZSB3aXRoIHJlZmFjdG9yaW5nIHRvIHY0XG5cbi8vLS0tXG4vLy0tIHVudmVyaWZpZWQgYmVsb3cgaGVyZVxuJGJtZC1icmFuZC1pbnZlcnNlOiAkaW5kaWdvICFkZWZhdWx0O1xuLy8gVHlwb2dyYXBoeSBlbGVtZW50cyBGSVhNRTogcmV2aWV3IHRvIHNlZSBpZiB3ZSBhY3R1YWxseSBuZWVkIHRoZXNlXG4kaWNvbi1jb2xvcjogcmdiYSgkYmxhY2ssIDAuNSkgIWRlZmF1bHQ7XG5cblxuLy8tLS1cbi8vIEZJWE1FOiBTaW1pbGFyIGJ1dCBub3QgcXVpdGUgdGhlIHNhbWUgYXMgQm9vdHN0cmFwIHZhcmlhYmxlc1xuLy8gRklYTUU6IHRoZXNlIG5lZWQgdG8gZWl0aGVyIGEpIGJlIGNvbnZlcnRlZCB0byAkYm1kLSBvciBiKSBjb252ZXJ0ZWQgdG8gYnMgdmFyaWFibGVzXG4vLy0tLVxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gaW5wdXRzXG4kYm1kLWJtZC1sYWJlbC1zdGF0aWMtc2l6ZS1yYXRpbzogNzUgLyAxMDAgIWRlZmF1bHQ7XG4kYm1kLWhlbHAtc2l6ZS1yYXRpbzogNzUgLyAxMDAgIWRlZmF1bHQ7XG5cbi8vJGJtZC1mb3JtLWNvbnRyb2wtYmctcmVwZWF0LXk6IHJlcGVhdC15ICFkZWZhdWx0OyAvLyBpdCBjb3VsZCB3b3JrIHdpdGggbm8tcmVwZWF0LCBidXQgb24gU2FmYXJpIGl0J3MgYnVnZ2VkIGFuZCByZXBlYXQteSBpcyBuZWVkZWQsIGJ1dCByZXBlYXQteSBpcyBidWdnZWQgb24gdGhlIHdhcm5pbmcgaWNvbi5cbiRibWQtZm9ybS1jb250cm9sLWJnLXJlcGVhdC15OiBuby1yZXBlYXQgIWRlZmF1bHQ7XG4kYm1kLWZvcm0tY29udHJvbC1iZy1wb3NpdGlvbjogY2VudGVyIGJvdHRvbSwgY2VudGVyIGNhbGMoMTAwJSAtIDFweCkgIWRlZmF1bHQ7XG4kYm1kLWZvcm0tY29udHJvbC1iZy1zaXplOiAwIDEwMCUsIDEwMCUgMTAwJSAhZGVmYXVsdDtcbiRibWQtZm9ybS1jb250cm9sLWJnLXNpemUtYWN0aXZlOiAxMDAlIDEwMCUsIDEwMCUgMTAwJSAhZGVmYXVsdDtcblxuLy8gZXhwYW5kYWJsZVxuJGlucHV0LXRleHQtYnV0dG9uLXNpemU6IDMycHggIWRlZmF1bHQ7XG5cbi8vIHNpemluZ1xuJGJtZC1mb3JtLWxpbmUtaGVpZ2h0OiAxICFkZWZhdWx0OyAvLyBzZXQgYXMgMXggZm9udC1zaXplIHNvIHRoYXQgcGFkZGluZyBpcyBlYXNpZXIgY2FsY3VsYXRlZCB0byBtYXRjaCB0aGUgc3BlYy5cbiRibWQtbGFiZWwtdG9wLW1hcmdpbi1iYXNlOiAxcmVtICFkZWZhdWx0O1xuXG4kYm1kLWZvcm0tbGluZS1oZWlnaHQtbGc6ICAxICFkZWZhdWx0OyAvLyBzZXQgYXMgMXggZm9udC1zaXplIHNvIHRoYXQgcGFkZGluZyBpcyBlYXNpZXIgY2FsY3VsYXRlZCB0byBtYXRjaCB0aGUgc3BlYy5cbiRibWQtbGFiZWwtdG9wLW1hcmdpbi1sZzogMXJlbSAhZGVmYXVsdDsgLy8gMTZweFxuXG4kYm1kLWZvcm0tbGluZS1oZWlnaHQtc206ICAxICFkZWZhdWx0OyAvLyBzZXQgYXMgMXggZm9udC1zaXplIHNvIHRoYXQgcGFkZGluZyBpcyBlYXNpZXIgY2FsY3VsYXRlZCB0byBtYXRjaCB0aGUgc3BlYy5cbiRibWQtbGFiZWwtdG9wLW1hcmdpbi1zbTogLjc1cmVtICFkZWZhdWx0OyAvLyAxMnB4XG5cbiR0ZXh0LWRpc2FibGVkOiAjYThhOGE4ICFkZWZhdWx0O1xuJGJhY2tncm91bmQtZGlzYWJsZWQ6ICNlYWVhZWEgIWRlZmF1bHQ7XG5cbi8vIENoZWNrYm94ZXNcbiRibWQtY2hlY2tib3gtc2l6ZTogMS4yNXJlbSAhZGVmYXVsdDtcbiRibWQtY2hlY2tib3gtYW5pbWF0aW9uLXJpcHBsZTogNTAwbXMgIWRlZmF1bHQ7XG4kYm1kLWNoZWNrYm94LWFuaW1hdGlvbi1jaGVjazogMC4zcyAhZGVmYXVsdDtcbiRibWQtY2hlY2tib3gtY2hlY2tlZC1jb2xvcjogJGJyYW5kLXByaW1hcnkgIWRlZmF1bHQ7XG4kYm1kLWNoZWNrYm94LWxhYmVsLXBhZGRpbmc6IC4zMTI1cmVtICFkZWZhdWx0OyAvLyA1cHhcblxuJGJtZC1jaGVja2JveC1ib3JkZXItc2l6ZTogLjEyNXJlbSAhZGVmYXVsdDtcbiRibWQtY2hlY2tib3gtYm9yZGVyLWNvbG9yOiAkYm1kLWxhYmVsLWNvbG9yLWlubmVyLWZvY3VzICFkZWZhdWx0O1xuJGJtZC1jaGVja2JveC1ib3JkZXItY29sb3ItZGlzYWJsZWQ6ICRncmF5LWxpZ2h0ICFkZWZhdWx0OyAvLyNiZGJkYmQgIWRlZmF1bHQ7XG5cbi8vIFN3aXRjaGVzXG4kYm1kLXN3aXRjaC1sYWJlbC1wYWRkaW5nOiAuMzEyNXJlbSAhZGVmYXVsdDsgLy8gNXB4XG4kYm1kLXN3aXRjaC13aWR0aDogMi4xMjVyZW0gIWRlZmF1bHQ7IC8vIDM0cHhcbiRibWQtc3dpdGNoLWhlaWdodDogLjg3NXJlbSAhZGVmYXVsdDsgLy8gMTRweFxuJGJtZC1zd2l0Y2gtaGFuZGxlLXNpemU6IDEuMjVyZW0gIWRlZmF1bHQ7IC8vIDIwcHggKHdhcyAxOHB4KVxuXG4kYm1kLXN3aXRjaC1oYW5kbGUtY2hlY2tlZC1iZzogJGJyYW5kLXByaW1hcnkgIWRlZmF1bHQ7XG4kYm1kLXN3aXRjaC1oYW5kbGUtdW5jaGVja2VkLWJnOiAjZjFmMWYxICFkZWZhdWx0O1xuJGJtZC1zd2l0Y2gtaGFuZGxlLWRpc2FibGVkLWJnOiAjYmRiZGJkICFkZWZhdWx0O1xuJGJtZC1zd2l0Y2gtdW5jaGVja2VkLWJnOiAkZ3JheS1saWdodCAhZGVmYXVsdDtcbiRibWQtc3dpdGNoLWNoZWNrZWQtYmc6IGRlc2F0dXJhdGUobGlnaHRlbigkYm1kLXN3aXRjaC1oYW5kbGUtY2hlY2tlZC1iZywgMjglKSwgMzIlKTsgLy8ga2luZCBvZiBtYWdpYyByZWNpcGVcbiRibWQtc3dpdGNoLWRpc2FibGVkLWJnOiAkZ3JheS1saWdodGVyICFkZWZhdWx0O1xuXG4vLyBQb3BvdmVycyBhbmQgUG9wdXBzXG4kYm1kLXBvcG92ZXItYmFja2dyb3VuZDogcmdiYSgxMDEsIDEwMSwgMTAxLCAwLjkpICFkZWZhdWx0O1xuJGJtZC1wb3BvdmVyLWNvbG9yOiAjZWNlY2VjICFkZWZhdWx0O1xuXG4vLyBSYWRpbzpcbiRibWQtcmFkaW8tYm9yZGVyOiAuMTI1cmVtICFkZWZhdWx0OyAvLyAycHhcbiRibWQtcmFkaW8tc2l6ZTogMS4yNXJlbSAhZGVmYXVsdDtcbiRibWQtcmFkaW8tcmlwcGxlLW9mZnNldDogMWVtICFkZWZhdWx0O1xuJGJtZC1yYWRpby1sYWJlbC1wYWRkaW5nOiAuMzEyNXJlbSAhZGVmYXVsdDsgLy8gNXB4XG5cbiRibWQtcmFkaW8tY29sb3Itb2ZmOiAkYm1kLWxhYmVsLWNvbG9yLWlubmVyLWZvY3VzICFkZWZhdWx0OyAgLy8gRklYTUUgc2VlbXMgaW5jb25zaXN0ZW50LCBjaGVjayBzcGVjXG4kYm1kLXJhZGlvLWNvbG9yLW9uOiAkYnJhbmQtcHJpbWFyeSAhZGVmYXVsdDtcbiRibWQtcmFkaW8tY29sb3ItZGlzYWJsZWQ6ICRncmF5LWxpZ2h0OyAvLyBsaWdodCB0aGVtZSBzcGVjOiBEaXNhYmxlZDogIzAwMDAwMCwgT3BhY2l0eSAgMjYlXG4kYm1kLXJhZGlvLWNvbG9yLWRpc2FibGVkLWludmVyc2U6ICByZ2JhKCR3aGl0ZSwgMC4zMCk7IC8vIGRhcmsgdGhlbWUgc3BlYzogRGlzYWJsZWQ6ICNGRkZGRkYsIE9wYWNpdHkgIDMwJVxuXG4vLyBBbmltYXRpb25zXG4kYm1kLWFuaW1hdGlvbi1jdXJ2ZS1mYXN0LW91dC1zbG93LWluOiBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjIsIDEpICFkZWZhdWx0O1xuJGJtZC1hbmltYXRpb24tY3VydmUtbGluZWFyLW91dC1zbG93LWluOiBjdWJpYy1iZXppZXIoMCwgMCwgMC4yLCAxKSAhZGVmYXVsdDtcbiRibWQtYW5pbWF0aW9uLWN1cnZlLWZhc3Qtb3V0LWxpbmVhci1pbjogY3ViaWMtYmV6aWVyKDAuNCwgMCwgMSwgMSkgIWRlZmF1bHQ7XG4kYm1kLWFuaW1hdGlvbi1jdXJ2ZS1kZWZhdWx0OiAkYm1kLWFuaW1hdGlvbi1jdXJ2ZS1mYXN0LW91dC1zbG93LWluICFkZWZhdWx0O1xuIiwiLy8gVGhpcyBpcyBhIHNldCBvZiBmbGV4LWJhc2VkIGxheW91dCBjb250YWluZXJzIG5lY2Vzc2FyeSBmb3IgY29tcG9uZW50cyBzdWNoIGFzIHRoZSBkcmF3ZXIuXG4vLyAgSXQgYWxsb3dzIGZvciBmbGV4IGJhc2VkIHBvc2l0aW9uaW5nIHN1Y2ggYXMgc3RpY2t5IGhlYWRlciBhbmQgZm9vdGVyIGluc2lkZSBhbiBibWQtbGF5b3V0LCB3aXRoIGFcbi8vICBibWQtbGF5b3V0LWNvbnRlbnQgdGhhdCBzY3JvbGxzLlxuXG4vLyBtb2JpbGUgd2Via2l0IHNtb290aCBzY3JvbGxpbmc6IGh0dHA6Ly9zdGFja292ZXJmbG93LmNvbS9hLzE1MTQ3NDk3LzIzNjM5MzVcblxuLy8gRmlyc3QgZWxlbWVudFxuLmJtZC1sYXlvdXQtY2FudmFzIHsgLy8gYWRkZWQgYnkganM/XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbn1cblxuLy8gUHJpbWFyeSBsYXlvdXQgY29udGFpbmVyLCBiZWxvbmdzIGluc2lkZSBhIGJtZC1sYXlvdXQtY2FudmFzLlxuLmJtZC1sYXlvdXQtY29udGFpbmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyAvLyBhbGxvd3MgZm9yIHN0aWNreSBoZWFkZXIgYW5kIGZvb3RlclxuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBvdmVyZmxvdy14OiBoaWRkZW47XG4gIG92ZXJmbG93LXk6IGF1dG87XG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDsgLy8gbW9iaWxlIHdlYmtpdCBzbW9vdGggc2Nyb2xsaW5nXG59XG5cbi8vIEhlYWRlciBsYXlvdXQgKGZpeGVkIHRvcCksIGJlbG9uZ3MgaW4gYSBibWQtbGF5b3V0LWNvbnRhaW5lclxuLmJtZC1sYXlvdXQtaGVhZGVyIHtcbiAgei1pbmRleDogMztcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgLy8gc2luY2UgdGhpcyBpcyBhIGNvbHVtbiwgaXQgaXMgbmVjZXNzYXJ5IHRoYXQgc29tZXRoaW5nIGxpa2UgYW4gYWN0dWFsIG5hdmJhciBpcyBhIGNoaWxkXG4gIGZsZXgtd3JhcDogbm93cmFwO1xuICBmbGV4LXNocmluazogMDtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LWhlaWdodDogMTAwMHB4O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7IC8vIG1vYmlsZSB3ZWJraXQgc21vb3RoIHNjcm9sbGluZ1xuICBAaW5jbHVkZSBtYXRlcmlhbC1hbmltYXRpb24tZGVmYXVsdCgpO1xufVxuXG4vLyBDb250ZW50IGxheW91dCwgYmVsb25ncyBpbiBhIGJtZC1sYXlvdXQtY29udGFpbmVyXG4uYm1kLWxheW91dC1jb250ZW50IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAxOyAvLyB1bmRlciBhIGhlYWRlclxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIC8vLW1zLWZsZXg6IDAgMSBhdXRvOyAvLyBGaXggSUUxMCBidWcuXG4gIGZsZXgtZ3JvdzogMTtcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICBvdmVyZmxvdy15OiBhdXRvOyAvLyBtb2JpbGUgd2Via2l0IHNtb290aCBzY3JvbGxpbmcgbWF5IG5lZWQgc2Nyb2xsLCBidXQgYXV0byBzZWVtcyB0byBiZSB3b3JraW5nIGFuZCBvbWl0cyB0aGUgc2Nyb2xsIGJvcmRlclxuICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7IC8vIG1vYmlsZSB3ZWJraXQgc21vb3RoIHNjcm9sbGluZ1xuICBAaW5jbHVkZSBtYXRlcmlhbC1hbmltYXRpb24tZGVmYXVsdCgpO1xufVxuXG4vLyBQdXNoZXMgZmxleC1iYXNlZCBjb250ZW50IHRvIHRoZSBvdGhlciBlbmQgKHggb3IgeSlcbi5ibWQtbGF5b3V0LXNwYWNlciB7XG4gIGZsZXgtZ3JvdzogMTtcbn1cblxuLy8gQmFja2Ryb3AgLSBnZW5lcmljIGJhY2tkcm9wIHRvIGJlIHVzZWQgYnkgb3RoZXIgY29tcG9uZW50cyBpLmUuIGRyYXdlciBpbiBvdmVybGF5IG1vZGVcbi5ibWQtbGF5b3V0LWJhY2tkcm9wIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IDQ7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IGJhY2tncm91bmQtY29sb3I7XG4gIEBpbmNsdWRlIG1hdGVyaWFsLWFuaW1hdGlvbi1kZWZhdWx0KCk7XG5cbiAgQHN1cHBvcnRzIChwb2ludGVyLWV2ZW50czogYXV0bykge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41KTtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHk7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgfVxuXG4gIC8vIE5PVEU6IHRoZSAmLmluIHN0eWxlIGlzIHJlc3BvbnNpdmUsIGdlbmVyYXRlZCBieSBAbWl4aW4gYm1kLWxheW91dC1iYWNrZHJvcC1pbigpIHdoZXJlIG5lZWRlZC5cbn1cbiIsIi8vIEFuaW1hdGlvbnMgKGZyb20gbWRsIGh0dHA6Ly93d3cuZ2V0bWRsLmlvLylcblxuQG1peGluIG1hdGVyaWFsLWFuaW1hdGlvbi1mYXN0LW91dC1zbG93LWluKCRkdXJhdGlvbjowLjJzKSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246ICRkdXJhdGlvbjtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246ICRibWQtYW5pbWF0aW9uLWN1cnZlLWZhc3Qtb3V0LXNsb3ctaW47XG59XG5cbkBtaXhpbiBtYXRlcmlhbC1hbmltYXRpb24tbGluZWFyLW91dC1zbG93LWluKCRkdXJhdGlvbjowLjJzKSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246ICRkdXJhdGlvbjtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246ICRibWQtYW5pbWF0aW9uLWN1cnZlLWxpbmVhci1vdXQtc2xvdy1pbjtcbn1cblxuQG1peGluIG1hdGVyaWFsLWFuaW1hdGlvbi1mYXN0LW91dC1saW5lYXItaW4oJGR1cmF0aW9uOjAuMnMpIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogJGR1cmF0aW9uO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogJGJtZC1hbmltYXRpb24tY3VydmUtZmFzdC1vdXQtbGluZWFyLWluO1xufVxuXG5AbWl4aW4gbWF0ZXJpYWwtYW5pbWF0aW9uLWRlZmF1bHQoJGR1cmF0aW9uOjAuMnMpIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogJGR1cmF0aW9uO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogJGJtZC1hbmltYXRpb24tY3VydmUtZGVmYXVsdDtcbn1cbiIsIi8vIHNwZWNpZmljYXRpb246IGh0dHBzOi8vd3d3Lmdvb2dsZS5jb20vZGVzaWduL3NwZWMvY29tcG9uZW50cy9idXR0b25zLmh0bWxcblxuLy8gYm1kIGRlZmF1bHQgYnV0dG9ucyBhcmUgZmxhdCBieSBkZWZhdWx0XG4uYnRuIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW4tYm90dG9tOiAkYm1kLWJ0bi1tYXJnaW4tYm90dG9tOyAvLyBqdXN0IGVub3VnaCByb29tIHNvIHRoYXQgZm9jdXMgc2hhZG93cyBhcmVuJ3QgY292ZXJlZCB1cFxuICBmb250LXNpemU6ICRibWQtYnRuLWZvbnQtc2l6ZTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBsZXR0ZXItc3BhY2luZzogMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiAwO1xuICBvdXRsaW5lOiAwO1xuICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuMnMgJGJtZC1hbmltYXRpb24tY3VydmUtZmFzdC1vdXQtbGluZWFyLWluLCBiYWNrZ3JvdW5kLWNvbG9yIDAuMnMgJGJtZC1hbmltYXRpb24tY3VydmUtZGVmYXVsdCwgY29sb3IgMC4ycyAkYm1kLWFuaW1hdGlvbi1jdXJ2ZS1kZWZhdWx0O1xuICB3aWxsLWNoYW5nZTogYm94LXNoYWRvdywgdHJhbnNmb3JtO1xuXG4gIEBpbmNsdWRlIHVuZG8tYnMtdGFiLWZvY3VzKCk7XG5cbiAgLy8tLVxuICAvLyBDb2xvcnNcblxuICAvLyBmbGF0IHJlbW92ZXMgYmcsIGFkZCBjb2xvciB2YXJpYXRpb25zIHRvIHRleHRcbiAgQGluY2x1ZGUgYm1kLWZsYXQtYnV0dG9uLWNvbG9yKCk7XG5cbiAgLy8gZmFiIGFuZCByYWlzZWRcbiAgLy8gIC0gY29sb3JlZCwgYWRkIHRoZWlyIHRleHQgYW5kIGJnXG4gIC8vICAtIGhvdmVyIGNvbG9yIGNvbnRyYXN0ZWRcbiAgLy8gIC0gc2hhcmVkIHNoYWRvdyBzdGF0ZSBvbiBob3Zlci9hY3RpdmUvZm9jdXNcbiAgJi5ibWQtYnRuLWZhYixcbiAgJi5idG4tcmFpc2VkLFxuICAuYnRuLWdyb3VwLXJhaXNlZCAmIHtcbiAgICBAaW5jbHVkZSBibWQtcmFpc2VkLWJ1dHRvbi1jb2xvcigpO1xuXG4gICAgLy8gZW5sYXJnZWQgc2hhZG93IG9uIGhvdmVyLCBmb2N1c1xuICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzKCkge1xuICAgICAgLy9ib3JkZXI6IDFweCBzb2xpZCAkYmx1ZTtcbiAgICAgIHotaW5kZXg6IDE7IC8vIGFkZCB0byB0aGUgei1pbmRleCBzbyB0aGF0IHRoZSBleHBhbmRlZCBzaGFkb3cgaXMgYWJvdmUgYW55dGhpbmcgYmVsb3cgaXQgaS5lLiBhbm90aGVyIGJ1dHRvblxuICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdygkYm1kLXNoYWRvdy00ZHApO1xuICAgIH1cblxuICAgIC8vIDphY3RpdmUgLSBtb21lbnRhcnkgcHJlc3M6IGJpZyBzaGFkb3csIHJlbGVhc2UgYW5kIGl0IGlzIGdvbmVcbiAgICAvLyAuYWN0aXZlIC0gcGVyc2lzdGVudCBiaWcgc2hhZG93XG4gICAgJi5hY3RpdmUsXG4gICAgJjphY3RpdmUge1xuICAgICAgei1pbmRleDogMTsgLy8gYWRkIHRvIHRoZSB6LWluZGV4IHNvIHRoYXQgdGhlIGV4cGFuZGVkIHNoYWRvdyBpcyBhYm92ZSBhbnl0aGluZyBiZWxvdyBpdCBpLmUuIGFub3RoZXIgYnV0dG9uXG4gICAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRibWQtc2hhZG93LWZvY3VzKTtcbiAgICAgIC8vYm9yZGVyOiAxcHggc29saWQgJGdyZWVuO1xuICAgIH1cbiAgfVxuXG4gIC8vLS0tXG4gIC8vIGJ0bi1yYWlzZWRcbiAgJi5idG4tcmFpc2VkLFxuICAuYnRuLWdyb3VwLXJhaXNlZCAmIHtcblxuICAgIC8vIGJhc2VsaW5lIHNoYWRvd1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGJtZC1zaGFkb3ctMmRwKTtcblxuICAgIC8vIHJldmVyc2UgYW55IG9mIHRoZSBhYm92ZSBmb3IgbGlua3NcbiAgICAmLmJ0bi1saW5rIHtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICBAaW5jbHVkZSBibWQtaG92ZXItZm9jdXMtYWN0aXZlKCkge1xuICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIGJtZC1kaXNhYmxlZCgpIHtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgLy8tLS1cbiAgLy8gYnRuLW91dGxpbmVcbiAgQGluY2x1ZGUgYm1kLW91dGxpbmUtYnV0dG9uLWNvbG9yKCk7XG5cbiAgLy8gaHR0cHM6Ly93d3cuZ29vZ2xlLmNvbS9kZXNpZ24vc3BlYy9jb21wb25lbnRzL2J1dHRvbnMtZmxvYXRpbmctYWN0aW9uLWJ1dHRvbi5odG1sXG4gICYuYm1kLWJ0bi1mYWIsXG4gICYuYm1kLWJ0bi1pY29uIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGZvbnQtc2l6ZTogJGJtZC1idG4tZmFiLWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogbm9ybWFsO1xuXG4gICAgLmJ0bi1ncm91cC1sZyAmLFxuICAgIC5idG4tZ3JvdXAtc20gJixcbiAgICAmIHtcbiAgICAgIHBhZGRpbmc6IDA7IC8vIG5lZWQgc3BlY2lmaWNpdHlcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICB9XG5cbiAgICAubWF0ZXJpYWwtaWNvbnMge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICB3aWR0aDogJGJtZC1idG4tZmFiLWZvbnQtc2l6ZTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAkYm1kLWJ0bi1mYWItZm9udC1zaXplO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLSgkYm1kLWJ0bi1mYWItZm9udC1zaXplIC8gMiksIC0oJGJtZC1idG4tZmFiLWZvbnQtc2l6ZSAvIDIpKTtcbiAgICB9XG4gIH1cblxuICAmLmJtZC1idG4tZmFiIHtcbiAgICAvLyBzZWUgYWJvdmUgZm9yIGNvbG9yIHZhcmlhdGlvbnNcbiAgICB3aWR0aDogJGJtZC1idG4tZmFiLXNpemU7XG4gICAgbWluLXdpZHRoOiAkYm1kLWJ0bi1mYWItc2l6ZTtcbiAgICBoZWlnaHQ6ICRibWQtYnRuLWZhYi1zaXplO1xuICAgIC8vbWFyZ2luOiBhdXRvO1xuICAgIC8vbWFyZ2luOiAycHg7IC8vIHVzZSB6LWluZGV4IGZvY3VzL2hvdmVyL2FjdGl2ZSBpbnN0ZWFkLiBUaGlzIGlzIG5vdCBjYWxsZWQgZm9yIGluIHRoZSBzcGVjLCBidXQgaXQgZW5zdXJlcyByb29tIGZvciB0aGUgYm94LXNoYWRvdywgd2hpY2ggaXMgbmljZSB0byBoYXZlLlxuICAgIGJveC1zaGFkb3c6IDAgMXB4IDEuNXB4IDAgJGdyYXktbGlnaHRlciwgMCAxcHggMXB4IDAgJGdyYXktbGlnaHQ7XG5cbiAgICAucmlwcGxlLWNvbnRhaW5lciB7XG4gICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgfVxuXG4gICAgJi5ibWQtYnRuLWZhYi1zbSxcbiAgICAuYnRuLWdyb3VwLXNtICYge1xuICAgICAgd2lkdGg6ICRibWQtYnRuLWZhYi1zaXplLXNtO1xuICAgICAgbWluLXdpZHRoOiAkYm1kLWJ0bi1mYWItc2l6ZS1zbTtcbiAgICAgIGhlaWdodDogJGJtZC1idG4tZmFiLXNpemUtc207XG4gICAgICAvL21hcmdpbjogMXB4OyAvLyB1c2Ugei1pbmRleCBmb2N1cy9ob3Zlci9hY3RpdmUgaW5zdGVhZC4gVGhpcyBpcyBub3QgY2FsbGVkIGZvciBpbiB0aGUgc3BlYywgYnV0IGl0IGVuc3VyZXMgcm9vbSBmb3IgdGhlIGJveC1zaGFkb3csIHdoaWNoIGlzIG5pY2UgdG8gaGF2ZS5cblxuICAgICAgLy8ubWF0ZXJpYWwtaWNvbnMge1xuICAgICAgLy8gIHRvcDogKCRibWQtYnRuLWljb24tc2l6ZS1zbSAtICRibWQtYnRuLWZhYi1mb250LXNpemUpIC8gMjtcbiAgICAgIC8vICBsZWZ0OiAoJGJtZC1idG4taWNvbi1zaXplLXNtIC0gJGJtZC1idG4tZmFiLWZvbnQtc2l6ZSkgLyAyO1xuICAgICAgLy99XG4gICAgfVxuICB9XG5cbiAgLy8gSWNvbiBidXR0b25zXG4gICYuYm1kLWJ0bi1pY29uIHtcbiAgICB3aWR0aDogJGJtZC1idG4taWNvbi1zaXplO1xuICAgIG1pbi13aWR0aDogJGJtZC1idG4taWNvbi1zaXplO1xuICAgIGhlaWdodDogJGJtZC1idG4taWNvbi1zaXplO1xuICAgIG1hcmdpbjogMDtcbiAgICBjb2xvcjogaW5oZXJpdDtcblxuICAgICYuYm1kLWJ0bi1pY29uLXNtLFxuICAgIC5idG4tZ3JvdXAtc20gJiB7XG4gICAgICB3aWR0aDogJGJtZC1idG4taWNvbi1zaXplLXNtO1xuICAgICAgbWluLXdpZHRoOiAkYm1kLWJ0bi1pY29uLXNpemUtc207XG4gICAgICBoZWlnaHQ6ICRibWQtYnRuLWljb24tc2l6ZS1zbTtcbiAgICAgIGZvbnQtc2l6ZTogJGJtZC1idG4taWNvbi1mb250LXNpemUtc207XG5cbiAgICAgIC5tYXRlcmlhbC1pY29ucyB7XG4gICAgICAgIC8vJHBvc2l0aW9uOiAoJGJtZC1idG4taWNvbi1zaXplLXNtIC0gJGJtZC1idG4taWNvbi1mb250LXNpemUtc20pIC8gMjtcbiAgICAgICAgLy90b3A6ICRwb3NpdGlvbjtcbiAgICAgICAgLy9sZWZ0OiAkcG9zaXRpb247XG4gICAgICAgIHdpZHRoOiAkYm1kLWJ0bi1pY29uLWZvbnQtc2l6ZS1zbTtcbiAgICAgICAgZm9udC1zaXplOiAkYm1kLWJ0bi1pY29uLWZvbnQtc2l6ZS1zbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC0oJGJtZC1idG4taWNvbi1mb250LXNpemUtc20gLyAyKSwgLSgkYm1kLWJ0bi1pY29uLWZvbnQtc2l6ZS1zbSAvIDIpKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBBbGlnbiBpY29ucyBpbnNpZGUgYnV0dG9ucyB3aXRoIHRleHRcbiAgLm1hdGVyaWFsLWljb25zIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAuMjVlbTtcbiAgICBtYXJnaW4tdG9wOiAtMWVtO1xuICAgIG1hcmdpbi1ib3R0b206IC0xZW07XG4gICAgZm9udC1zaXplOiAxLjVlbTtcbiAgfVxuXG4gIC8vIFNpemUgdmFyaWF0aW9uc1xuICAmLmJ0bi1sZyxcbiAgLmJ0bi1ncm91cC1sZyAmIHtcbiAgICBAaW5jbHVkZSBidXR0b24tc2l6ZSgkYnRuLXBhZGRpbmcteS1sZywgJGJ0bi1wYWRkaW5nLXgtbGcsICRibWQtYnRuLWZvbnQtc2l6ZS1sZywgJGJ0bi1ib3JkZXItcmFkaXVzLWxnKTtcbiAgfVxuICAmLmJ0bi1zbSxcbiAgLmJ0bi1ncm91cC1zbSAmIHtcbiAgICBAaW5jbHVkZSBidXR0b24tc2l6ZSgkYnRuLXBhZGRpbmcteS1zbSwgJGJ0bi1wYWRkaW5nLXgtc20sICRibWQtYnRuLWZvbnQtc2l6ZS1zbSwgJGJ0bi1ib3JkZXItcmFkaXVzLXNtKTtcbiAgICBmb250LXNpemU6ICRibWQtYnRuLWZvbnQtc2l6ZS1zbTtcbiAgfVxufVxuXG4vLyBEaXNhYmxlZCBidXR0b25zIGFuZCBidXR0b24gZ3JvdXBzXG4uYnRuLFxuLmlucHV0LWdyb3VwLWJ0biAuYnRuLFxuLmJ0bi1ncm91cCxcbi5idG4tZ3JvdXAtdmVydGljYWwge1xuICAvLyBoYXZlIHRvIHJhdGNoZXQgdXAgdGhlIHNwZWNpZmljaXR5IHRvIGtpbGwgZHJvcCBzaGFkb3dzIG9uIGRpc2FibGVkIHJhaXNlZCBidXR0b25zXG4gIEBpbmNsdWRlIGJtZC1kaXNhYmxlZCgpIHtcbiAgICBjb2xvcjogJGJtZC1idG4tZGlzYWJsZWQ7XG4gICAgLmJnLWludmVyc2UgJiB7XG4gICAgICBjb2xvcjogJGJtZC1pbnZlcnNlLWJ0bi1kaXNhYmxlZDtcbiAgICB9XG5cbiAgICAvLyBmbGF0IGJ1dHRvbnMgc2hvdWxkbid0IGxvc2UgdHJhbnNwYXJlbmN5IG9uIGRpc2FibGVkIGhvdmVyL2ZvY3VzXG4gICAgJixcbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vIGJ0bi1ncm91cCB2YXJpYXRpb25zXG4uYnRuLWdyb3VwLFxuLmJ0bi1ncm91cC12ZXJ0aWNhbCB7XG5cbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW46IDEwcHggMXB4O1xuXG4gIC8vIHNwZWM6IGh0dHBzOi8vd3d3Lmdvb2dsZS5jb20vZGVzaWduL3NwZWMvY29tcG9uZW50cy9idXR0b25zLmh0bWwjYnV0dG9ucy10b2dnbGUtYnV0dG9uc1xuICAvLyYub3BlbiB7XG4gIC8vICAuZHJvcGRvd24tdG9nZ2xlIHtcbiAgLy8gIH1cbiAgLy9cbiAgLy8gID4gLmRyb3Bkb3duLXRvZ2dsZS5idG4ge1xuICAvLyAgICBAaW5jbHVkZSBibWQtcmFpc2VkLWJ1dHRvbi1jb2xvci1iZygpO1xuICAvLyAgfVxuICAvL31cblxuICAuZHJvcGRvd24tbWVudSB7XG4gICAgYm9yZGVyLXJhZGl1czogMCAwICRib3JkZXItcmFkaXVzICRib3JkZXItcmFkaXVzO1xuICB9XG5cbiAgJi5idG4tZ3JvdXAtcmFpc2VkIHtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRibWQtc2hhZG93LTJkcCk7XG4gIH1cblxuICAuYnRuICsgLmJ0bixcbiAgLmJ0bixcbiAgLmJ0bjphY3RpdmUsXG4gIC5idG4tZ3JvdXAge1xuICAgIG1hcmdpbjogMDtcbiAgfVxuXG4gIC8vIHJlbW92ZSBtYXJnaW4gZnJvbSBuZXN0ZWQgYnRuLWdyb3VwKHMpIHRvIHByb3Blcmx5IGFsaWduIHRoZW0gd2l0aCB0aGUgb3V0ZXIgYnV0dG9uc1xuICA+IC5idG4tZ3JvdXAge1xuICAgIG1hcmdpbjogMDtcbiAgfVxufVxuIiwiLy8gZnJvbSBicyBtaXhpbnMvYnV0dG9ucyBidXR0b24tdmFyaWFudFxuQG1peGluIGJtZC1idXR0b24tdmFyaWFudCgkY29sb3IsICRiYWNrZ3JvdW5kLCAkZm9jdXMtYmFja2dyb3VuZCwgJGFjdGl2ZS1iYWNrZ3JvdW5kLCAkYm9yZGVyLCAkZm9jdXMtYm9yZGVyLCAkYWN0aXZlLWJvcmRlcikge1xuICBjb2xvcjogJGNvbG9yO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyO1xuXG4gIEBpbmNsdWRlIGhvdmVyIHtcbiAgICBjb2xvcjogJGNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRmb2N1cy1iYWNrZ3JvdW5kO1xuICAgIGJvcmRlci1jb2xvcjogJGZvY3VzLWJvcmRlcjtcbiAgfVxuXG4gICY6Zm9jdXMsXG4gICYuZm9jdXMge1xuICAgIGNvbG9yOiAkY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGZvY3VzLWJhY2tncm91bmQ7XG4gICAgYm9yZGVyLWNvbG9yOiAkZm9jdXMtYm9yZGVyO1xuICB9XG5cbiAgJjphY3RpdmUsXG4gICYuYWN0aXZlLFxuICAub3BlbiA+ICYuZHJvcGRvd24tdG9nZ2xlIHtcbiAgICBjb2xvcjogJGNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRmb2N1cy1iYWNrZ3JvdW5kO1xuICAgIGJvcmRlci1jb2xvcjogJGZvY3VzLWJvcmRlcjtcblxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyxcbiAgICAmLmZvY3VzIHtcbiAgICAgIGNvbG9yOiAkY29sb3I7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWN0aXZlLWJhY2tncm91bmQ7XG4gICAgICBib3JkZXItY29sb3I6ICRhY3RpdmUtYm9yZGVyO1xuICAgIH1cbiAgfVxuXG4gIC8vIHdoZW4gaXQgaXMgYW4gaWNvbiwga2lsbCB0aGUgYWN0aXZlIGJnIG9uIG9wZW4gZHJvcGRvd24sIGJ1dCBzdGFiaWxpemUgb24gaG92ZXJcbiAgLm9wZW4gPiAmLmRyb3Bkb3duLXRvZ2dsZS5ibWQtYnRuLWljb24ge1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuXG4gICAgLy8gbGVhdmUgaG92ZXIgb24gd2l0aCB0aGUgbGlnaHRlciBmb2N1cyBjb2xvclxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGZvY3VzLWJhY2tncm91bmQ7XG4gICAgfVxuICB9XG5cbiAgJi5kaXNhYmxlZCxcbiAgJjpkaXNhYmxlZCB7XG4gICAgJjpmb2N1cyxcbiAgICAmLmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuICAgICAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyO1xuICAgIH1cbiAgICBAaW5jbHVkZSBob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgICAgIGJvcmRlci1jb2xvcjogJGJvcmRlcjtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGJtZC1mbGF0LWJ1dHRvbi12YXJpYW50KFxuICAkY29sb3IsXG4gICRib3JkZXI6ICRibWQtYnRuLWJvcmRlcixcbiAgJGZvY3VzLWJvcmRlcjogJGJtZC1idG4tZm9jdXMtYmcsXG4gICRhY3RpdmUtYm9yZGVyOiAkYm1kLWJ0bi1hY3RpdmUtYmdcbikge1xuXG4gICRiYWNrZ3JvdW5kOiAkYm1kLWJ0bi1iZztcbiAgJGZvY3VzLWJhY2tncm91bmQ6ICRibWQtYnRuLWZvY3VzLWJnO1xuICAkYWN0aXZlLWJhY2tncm91bmQ6ICRibWQtYnRuLWFjdGl2ZS1iZztcblxuICBAaW5jbHVkZSBibWQtYnV0dG9uLXZhcmlhbnQoJGNvbG9yLFxuICAgICRiYWNrZ3JvdW5kLFxuICAgICRmb2N1cy1iYWNrZ3JvdW5kLFxuICAgICRhY3RpdmUtYmFja2dyb3VuZCxcbiAgICAkYm9yZGVyLFxuICAgICRmb2N1cy1ib3JkZXIsXG4gICAgJGFjdGl2ZS1ib3JkZXIpO1xuXG4gIC8vIGludmVyc2UgY29sb3Igc2NoZW1lXG4gIC5iZy1pbnZlcnNlICYge1xuICAgICRmb2N1cy1iYWNrZ3JvdW5kOiAkYm1kLWludmVyc2UtYnRuLWZvY3VzLWJnO1xuICAgICRmb2N1cy1ib3JkZXI6ICRibWQtaW52ZXJzZS1idG4tZm9jdXMtYmc7XG5cbiAgICAkYWN0aXZlLWJhY2tncm91bmQ6ICRibWQtaW52ZXJzZS1idG4tYWN0aXZlLWJnO1xuICAgICRhY3RpdmUtYm9yZGVyOiAkYm1kLWludmVyc2UtYnRuLWFjdGl2ZS1iZztcblxuICAgIEBpbmNsdWRlIGJtZC1idXR0b24tdmFyaWFudCgkY29sb3IsXG4gICAgICAkYmFja2dyb3VuZCxcbiAgICAgICRmb2N1cy1iYWNrZ3JvdW5kLFxuICAgICAgJGFjdGl2ZS1iYWNrZ3JvdW5kLFxuICAgICAgJGJvcmRlcixcbiAgICAgICRmb2N1cy1ib3JkZXIsXG4gICAgICAkYWN0aXZlLWJvcmRlcik7XG4gIH1cblxuICAvLyByZXZlcnNlIHRoZSBhYm92ZSBmb3IgbGlua3NcbiAgJi5idG4tbGluayB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIH1cbn1cblxuQG1peGluIGJtZC1mbGF0LWJ1dHRvbi1jb2xvcigpIHtcblxuICBAaW5jbHVkZSBibWQtZmxhdC1idXR0b24tdmFyaWFudCgkYm1kLWJ0bi1jb2xvcik7XG5cbiAgLy8gZmxhdCBiZyB3aXRoIHRleHQgY29sb3IgdmFyaWF0aW9uc1xuICAmLmJ0bi1wcmltYXJ5IHtcbiAgICBAaW5jbHVkZSBibWQtZmxhdC1idXR0b24tdmFyaWFudCgkYnRuLXByaW1hcnktYmcpO1xuICB9XG4gICYuYnRuLXNlY29uZGFyeSB7XG4gICAgQGluY2x1ZGUgYm1kLWZsYXQtYnV0dG9uLXZhcmlhbnQoJGJ0bi1zZWNvbmRhcnktY29sb3IpO1xuICB9XG4gICYuYnRuLWluZm8ge1xuICAgIEBpbmNsdWRlIGJtZC1mbGF0LWJ1dHRvbi12YXJpYW50KCRidG4taW5mby1iZyk7XG4gIH1cbiAgJi5idG4tc3VjY2VzcyB7XG4gICAgQGluY2x1ZGUgYm1kLWZsYXQtYnV0dG9uLXZhcmlhbnQoJGJ0bi1zdWNjZXNzLWJnKTtcbiAgfVxuICAmLmJ0bi13YXJuaW5nIHtcbiAgICBAaW5jbHVkZSBibWQtZmxhdC1idXR0b24tdmFyaWFudCgkYnRuLXdhcm5pbmctYmcpO1xuICB9XG4gICYuYnRuLWRhbmdlciB7XG4gICAgQGluY2x1ZGUgYm1kLWZsYXQtYnV0dG9uLXZhcmlhbnQoJGJ0bi1kYW5nZXItYmcpO1xuICB9XG59XG5cbkBtaXhpbiBibWQtb3V0bGluZS1idXR0b24tY29sb3IoKSB7XG4gICYuYnRuLW91dGxpbmUsXG4gICYuYnRuLW91dGxpbmUtcHJpbWFyeSxcbiAgJi5idG4tb3V0bGluZS1zZWNvbmRhcnksXG4gICYuYnRuLW91dGxpbmUtaW5mbyxcbiAgJi5idG4tb3V0bGluZS1zdWNjZXNzLFxuICAmLmJ0bi1vdXRsaW5lLXdhcm5pbmcsXG4gICYuYnRuLW91dGxpbmUtZGFuZ2VyIHtcbiAgICBib3JkZXItY29sb3I6IGN1cnJlbnRDb2xvcjtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci13aWR0aDogMXB4O1xuICB9XG5cbiAgLy8gZmxhdCBiZyB3aXRoIHRleHQgYW5kIGJvcmRlciBjb2xvciB2YXJpYXRpb25zXG4gICYuYnRuLW91dGxpbmUge1xuICAgIEBpbmNsdWRlIGJtZC1mbGF0LWJ1dHRvbi12YXJpYW50KCRibWQtYnRuLWNvbG9yLCAkYm1kLWJ0bi1jb2xvciwgJGJtZC1idG4tY29sb3IsICRibWQtYnRuLWNvbG9yKTtcbiAgfVxuICAmLmJ0bi1vdXRsaW5lLXByaW1hcnkge1xuICAgIEBpbmNsdWRlIGJtZC1mbGF0LWJ1dHRvbi12YXJpYW50KCRidG4tcHJpbWFyeS1iZywgJGJ0bi1wcmltYXJ5LWJnLCAkYnRuLXByaW1hcnktYmcsICRidG4tcHJpbWFyeS1iZyk7XG4gIH1cbiAgJi5idG4tb3V0bGluZS1zZWNvbmRhcnkge1xuICAgIEBpbmNsdWRlIGJtZC1mbGF0LWJ1dHRvbi12YXJpYW50KCRidG4tc2Vjb25kYXJ5LWNvbG9yLCAkYnRuLXNlY29uZGFyeS1jb2xvciwgJGJ0bi1zZWNvbmRhcnktY29sb3IsICRidG4tc2Vjb25kYXJ5LWNvbG9yKTtcbiAgfVxuICAmLmJ0bi1vdXRsaW5lLWluZm8ge1xuICAgIEBpbmNsdWRlIGJtZC1mbGF0LWJ1dHRvbi12YXJpYW50KCRidG4taW5mby1iZywgJGJ0bi1pbmZvLWJnLCAkYnRuLWluZm8tYmcsICRidG4taW5mby1iZyk7XG4gIH1cbiAgJi5idG4tb3V0bGluZS1zdWNjZXNzIHtcbiAgICBAaW5jbHVkZSBibWQtZmxhdC1idXR0b24tdmFyaWFudCgkYnRuLXN1Y2Nlc3MtYmcsICRidG4tc3VjY2Vzcy1iZywgJGJ0bi1zdWNjZXNzLWJnLCAkYnRuLXN1Y2Nlc3MtYmcpO1xuICB9XG4gICYuYnRuLW91dGxpbmUtd2FybmluZyB7XG4gICAgQGluY2x1ZGUgYm1kLWZsYXQtYnV0dG9uLXZhcmlhbnQoJGJ0bi13YXJuaW5nLWJnLCAkYnRuLXdhcm5pbmctYmcsICRidG4td2FybmluZy1iZywgJGJ0bi13YXJuaW5nLWJnKTtcbiAgfVxuICAmLmJ0bi1vdXRsaW5lLWRhbmdlciB7XG4gICAgQGluY2x1ZGUgYm1kLWZsYXQtYnV0dG9uLXZhcmlhbnQoJGJ0bi1kYW5nZXItYmcsICRidG4tZGFuZ2VyLWJnLCAkYnRuLWRhbmdlci1iZywgJGJ0bi1kYW5nZXItYmcpO1xuICB9XG59XG5cbkBtaXhpbiBibWQtcmFpc2VkLWJ1dHRvbi12YXJpYW50KCRjb2xvciwgJGJhY2tncm91bmQsICRib3JkZXIpIHtcblxuICAvLyBGSVhNRTogU1BFQyAtIHRoaXMgc2hvdWxkIGJlIHRoZSA2MDAgY29sb3IsIGhvdyBjYW4gd2UgZ2V0IHRoYXQgcHJvZ3JhbW1hdGljYWxseSBpZiBhdCBhbGw/IE9yIGFyZSB3ZSBsaW1pdGVkIHRvIHRoZSBjb2xvciBwYWxldHRlIG9ubHk/XG4gICRmb2N1cy1iYWNrZ3JvdW5kOiBjb250cmFzdC1jb2xvcigkYmFja2dyb3VuZCwgZGFya2VuKCRiYWNrZ3JvdW5kLCA0JSksIGxpZ2h0ZW4oJGJhY2tncm91bmQsIDQlKSk7XG4gIC8vJGZvY3VzLWJhY2tncm91bmQ6IGRhcmtlbigkYmFja2dyb3VuZCwgMTAlKTsgIC8vIGRlZmF1bHQgYm9vdHN0cmFwXG4gICRmb2N1cy1ib3JkZXI6IGRhcmtlbigkYm9yZGVyLCAxMiUpO1xuXG4gICRhY3RpdmUtYmFja2dyb3VuZDogJGZvY3VzLWJhY2tncm91bmQ7XG4gIC8vJGFjdGl2ZS1iYWNrZ3JvdW5kOiBkYXJrZW4oJGJhY2tncm91bmQsIDE3JSk7XG4gICRhY3RpdmUtYm9yZGVyOiBkYXJrZW4oJGJvcmRlciwgMjUlKTtcblxuICBAaW5jbHVkZSBibWQtYnV0dG9uLXZhcmlhbnQoJGNvbG9yLFxuICAgICRiYWNrZ3JvdW5kLFxuICAgICRmb2N1cy1iYWNrZ3JvdW5kLFxuICAgICRhY3RpdmUtYmFja2dyb3VuZCxcbiAgICAkYm9yZGVyLFxuICAgICRmb2N1cy1ib3JkZXIsXG4gICAgJGFjdGl2ZS1ib3JkZXIpO1xufVxuXG5AbWl4aW4gYm1kLXJhaXNlZC1idXR0b24tY29sb3IoKSB7XG5cbiAgJi5idG4tcHJpbWFyeSB7XG4gICAgQGluY2x1ZGUgYm1kLXJhaXNlZC1idXR0b24tdmFyaWFudCgkYnRuLXByaW1hcnktY29sb3IsICRidG4tcHJpbWFyeS1iZywgJGJ0bi1wcmltYXJ5LWJvcmRlcik7XG4gIH1cbiAgJi5idG4tc2Vjb25kYXJ5IHtcbiAgICBAaW5jbHVkZSBibWQtcmFpc2VkLWJ1dHRvbi12YXJpYW50KCRidG4tc2Vjb25kYXJ5LWNvbG9yLCAkYnRuLXNlY29uZGFyeS1iZywgJGJ0bi1zZWNvbmRhcnktYm9yZGVyKTtcbiAgfVxuICAmLmJ0bi1pbmZvIHtcbiAgICBAaW5jbHVkZSBibWQtcmFpc2VkLWJ1dHRvbi12YXJpYW50KCRidG4taW5mby1jb2xvciwgJGJ0bi1pbmZvLWJnLCAkYnRuLWluZm8tYm9yZGVyKTtcbiAgfVxuICAmLmJ0bi1zdWNjZXNzIHtcbiAgICBAaW5jbHVkZSBibWQtcmFpc2VkLWJ1dHRvbi12YXJpYW50KCRidG4tc3VjY2Vzcy1jb2xvciwgJGJ0bi1zdWNjZXNzLWJnLCAkYnRuLXN1Y2Nlc3MtYm9yZGVyKTtcbiAgfVxuICAmLmJ0bi13YXJuaW5nIHtcbiAgICBAaW5jbHVkZSBibWQtcmFpc2VkLWJ1dHRvbi12YXJpYW50KCRidG4td2FybmluZy1jb2xvciwgJGJ0bi13YXJuaW5nLWJnLCAkYnRuLXdhcm5pbmctYm9yZGVyKTtcbiAgfVxuICAmLmJ0bi1kYW5nZXIge1xuICAgIEBpbmNsdWRlIGJtZC1yYWlzZWQtYnV0dG9uLXZhcmlhbnQoJGJ0bi1kYW5nZXItY29sb3IsICRidG4tZGFuZ2VyLWJnLCAkYnRuLWRhbmdlci1ib3JkZXIpO1xuICB9XG59XG5cbkBtaXhpbiB1bmRvLWJzLXRhYi1mb2N1cygpIHtcbiAgLy8gY2xlYXIgb3V0IHRoZSB0YWItZm9jdXMoKSBmcm9tIEJTXG4gICYsXG4gICY6YWN0aXZlLFxuICAmLmFjdGl2ZSB7XG4gICAgJjpmb2N1cyxcbiAgICAmLmZvY3VzIHtcbiAgICAgIC8vQGluY2x1ZGUgdGFiLWZvY3VzKCk7XG4gICAgICBvdXRsaW5lOiAwO1xuICAgIH1cbiAgfVxufVxuIiwiQG1peGluIGJtZC1ob3Zlci1mb2N1cy1hY3RpdmUge1xuICAvLyBhZGQgdGhlIC5hY3RpdmUgdG8gdGhlIHdob2xlIG1peCBvZiBob3Zlci1mb2N1cy1hY3RpdmVcbiAgJi5hY3RpdmUge1xuICAgIEBjb250ZW50XG4gIH1cbiAgQGluY2x1ZGUgaG92ZXItZm9jdXMtYWN0aXZlKCkge1xuICAgIEBjb250ZW50O1xuICB9XG59XG4iLCJAbWl4aW4gYm1kLWRpc2FibGVkKCkge1xuICBmaWVsZHNldFtkaXNhYmxlZF1bZGlzYWJsZWRdICYsXG4gICYuZGlzYWJsZWQsXG4gICY6ZGlzYWJsZWQsXG4gICZbZGlzYWJsZWRdIHtcbiAgICBAY29udGVudFxuICB9XG59XG5cbkBtaXhpbiBibWQtc2VsZWN0aW9uLWNvbG9yKCkge1xuICAucmFkaW8gbGFiZWwsXG4gIC5yYWRpby1pbmxpbmUsXG4gIC5jaGVja2JveCBsYWJlbCxcbiAgLmNoZWNrYm94LWlubGluZSxcbiAgLnN3aXRjaCBsYWJlbCB7XG5cbiAgICAvLyBvdmVycmlkZSBib290c3RyYXAgZm9jdXMgYW5kIGtlZXAgYWxsIHRoZSBzdGFuZGFyZCBjb2xvciAoY291bGQgYmUgbXVsdGlwbGUgcmFkaW9zIGluIHRoZSBmb3JtIGdyb3VwKVxuICAgIC8vY29sb3I6ICRibWQtbGFiZWwtY29sb3I7XG5cbiAgICAmLFxuICAgIC5pcy1mb2N1c2VkICYge1xuICAgICAgLy8gZm9ybS1ncm91cCBmb2N1cyBjb3VsZCBjaGFuZ2UgbXVsdGlwbGUgY2hlY2tib3hlcy9yYWRpb3MsIGRpc2FibGUgdGhhdCBjaGFuZ2UgYnkgdXNpbmcgdGhlIHNhbWUgY29sb3IgYXMgbm9uLWZvcm0tZ3JvdXAgaXMtZm9jdXNlZFxuICAgICAgY29sb3I6ICRibWQtbGFiZWwtY29sb3I7XG5cbiAgICAgIC8vIG9uIGZvY3VzIGp1c3QgZGFya2VuIHRoZSBzcGVjaWZpYyBsYWJlbHMsIGRvIG5vdCB0dXJuIHRoZW0gdG8gdGhlIGJyYW5kLXByaW1hcnlcbiAgICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzLWFjdGl2ZSgpIHtcbiAgICAgICAgLy8mOmhvdmVyLFxuICAgICAgICAvLyY6Zm9jdXMge1xuICAgICAgICBjb2xvcjogJGJtZC1sYWJlbC1jb2xvci1pbm5lci1mb2N1cztcbiAgICAgIH1cblxuICAgICAgLy8gY29ycmVjdCB0aGUgYWJvdmUgZm9jdXMgY29sb3IgZm9yIGRpc2FibGVkIGl0ZW1zXG4gICAgICBsYWJlbDpoYXMoaW5wdXRbdHlwZT1yYWRpb11bZGlzYWJsZWRdKSwgLy8gY3NzIDQgd2hpY2ggaXMgdW5saWtlbHkgdG8gd29yayBmb3IgYSB3aGlsZSwgYnV0IG5vIG90aGVyIHB1cmUgY3NzIHdheS5cbiAgICAgIGxhYmVsOmhhcyhpbnB1dFt0eXBlPWNoZWNrYm94XVtkaXNhYmxlZF0pLCAvLyBjc3MgNFxuICAgICAgZmllbGRzZXRbZGlzYWJsZWRdICYge1xuICAgICAgICAmLFxuICAgICAgICAmOmhvdmVyLFxuICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICBjb2xvcjogJGJtZC1sYWJlbC1jb2xvcjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFN0eWxlIGZvciBkaXNhYmxlZCBpbnB1dHMgIE9MRCwgdXNlIGNvbG9yIGFwcHJvYWNoIHdpdGggb3BhY2l0eSBidWlsdCBpbiwgc2VlIHJhZGlvc1xuICAvL2ZpZWxkc2V0W2Rpc2FibGVkXSAmLFxuICAvL2ZpZWxkc2V0W2Rpc2FibGVkXSAmIGlucHV0W3R5cGU9Y2hlY2tib3hdLFxuICAvL2lucHV0W3R5cGU9Y2hlY2tib3hdW2Rpc2FibGVkXTpub3QoOmNoZWNrZWQpIH4gLmNoZWNrYm94LWRlY29yYXRvciAuY2hlY2s6OmJlZm9yZSxcbiAgLy9pbnB1dFt0eXBlPWNoZWNrYm94XVtkaXNhYmxlZF06bm90KDpjaGVja2VkKSB+IC5jaGVja2JveC1kZWNvcmF0b3IgLmNoZWNrLFxuICAvL2lucHV0W3R5cGU9Y2hlY2tib3hdW2Rpc2FibGVkXSArIC5ibWQtcmFkaW8tb3V0ZXItY2lyY2xlIHtcbiAgLy8gIG9wYWNpdHk6IDAuNTtcbiAgLy99XG59XG5cbkBtaXhpbiBibWQtcmFkaW8tY29sb3IoJGNvbG9yKSB7XG5cbiAgfiAuYm1kLXJhZGlvLWlubmVyLWNpcmNsZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yO1xuICB9XG5cbiAgfiAuYm1kLXJhZGlvLW91dGVyLWNpcmNsZSB7XG4gICAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XG4gIH1cbn1cblxuQG1peGluIGJtZC1mb3JtLWNvbG9yKCRsYWJlbC1jb2xvciwgJGxhYmVsLWNvbG9yLWZvY3VzLCAkYm9yZGVyLWNvbG9yKSB7XG5cbiAgW2NsYXNzXj0nYm1kLWxhYmVsJ10sXG4gIFtjbGFzcyo9JyBibWQtbGFiZWwnXSB7XG4gICAgY29sb3I6ICRsYWJlbC1jb2xvcjtcbiAgfVxuXG4gIC8vIG92ZXJyaWRlIEJTIGFuZCBrZWVwIHRoZSBib3JkZXItY29sb3Igbm9ybWFsL2dyZXkgc28gdGhhdCBvdmVybGFpZCBmb2N1cyBhbmltYXRpb24gZHJhd3MgYXR0ZW50aW9uXG4gIC5mb3JtLWNvbnRyb2wge1xuXG4gICAgLy8gdW5kZXJsaW5lIGFuaW1hdGlvbiBjb2xvciBvbiBmb2N1c1xuICAgICR1bmRlcmxpbmUtYmFja2dyb3VuZC1pbWFnZTogICAgICAgICAgbGluZWFyLWdyYWRpZW50KHRvIHRvcCwgJGxhYmVsLWNvbG9yLWZvY3VzIDJweCwgZmFkZS1vdXQoJGxhYmVsLWNvbG9yLWZvY3VzLCAxKSAycHgpLCBsaW5lYXItZ3JhZGllbnQodG8gdG9wLCAkaW5wdXQtYm9yZGVyLWNvbG9yIDFweCwgZmFkZS1vdXQoJGlucHV0LWJvcmRlci1jb2xvciwgMSkgMXB4KTtcbiAgICAkdW5kZXJsaW5lLWJhY2tncm91bmQtaW1hZ2UtaW52YWxpZDogIGxpbmVhci1ncmFkaWVudCh0byB0b3AsICRibWQtaW52YWxpZC11bmRlcmxpbmUgMnB4LCBmYWRlLW91dCgkYm1kLWludmFsaWQtdW5kZXJsaW5lLCAxKSAycHgpLCBsaW5lYXItZ3JhZGllbnQodG8gdG9wLCAkaW5wdXQtYm9yZGVyLWNvbG9yIDFweCwgZmFkZS1vdXQoJGlucHV0LWJvcmRlci1jb2xvciwgMSkgMXB4KTtcbiAgICAkdW5kZXJsaW5lLWJhY2tncm91bmQtaW1hZ2UtcmVhZG9ubHk6IGxpbmVhci1ncmFkaWVudCh0byB0b3AsICRibWQtcmVhZG9ubHktdW5kZXJsaW5lIDFweCwgZmFkZS1vdXQoJGJtZC1yZWFkb25seS11bmRlcmxpbmUsIDEpIDFweCksIGxpbmVhci1ncmFkaWVudCh0byB0b3AsICRpbnB1dC1ib3JkZXItY29sb3IgMXB4LCBmYWRlLW91dCgkaW5wdXQtYm9yZGVyLWNvbG9yLCAxKSAxcHgpO1xuICAgICR1bmRlcmxpbmUtYmFja2dyb3VuZC1pbWFnZS1kaXNhYmxlZDogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAkaW5wdXQtYm9yZGVyLWNvbG9yIDAlLCAkaW5wdXQtYm9yZGVyLWNvbG9yIDMwJSwgdHJhbnNwYXJlbnQgMzAlLCB0cmFuc3BhcmVudCAxMDAlKTtcblxuICAgIC8vIGJnIGltYWdlIGlzIGFsd2F5cyB0aGVyZSwgd2UganVzdCBuZWVkIHRvIHJldmVhbCBpdFxuICAgICYsXG4gICAgLmlzLWZvY3VzZWQgJiB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiAkdW5kZXJsaW5lLWJhY2tncm91bmQtaW1hZ2U7XG4gICAgfVxuXG4gICAgJjppbnZhbGlkIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6ICR1bmRlcmxpbmUtYmFja2dyb3VuZC1pbWFnZS1pbnZhbGlkO1xuICAgIH1cblxuICAgICY6cmVhZC1vbmx5IHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6ICR1bmRlcmxpbmUtYmFja2dyb3VuZC1pbWFnZS1yZWFkb25seTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBibWQtZGlzYWJsZWQoKSB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiAkdW5kZXJsaW5lLWJhY2tncm91bmQtaW1hZ2UtZGlzYWJsZWQ7XG4gICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDNweCAxcHg7XG4gICAgfVxuXG4gICAgLy8gYWxsb3cgdW5kZXJsaW5lIGZvY3VzIGltYWdlIGFuZCB2YWxpZGF0aW9uIGltYWdlcyB0byBjb2V4aXN0XG4gICAgJi5mb3JtLWNvbnRyb2wtc3VjY2VzcyB7XG4gICAgICAmLFxuICAgICAgLmlzLWZvY3VzZWQgJiB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6ICR1bmRlcmxpbmUtYmFja2dyb3VuZC1pbWFnZSwgJGZvcm0taWNvbi1zdWNjZXNzO1xuICAgICAgfVxuICAgIH1cbiAgICAmLmZvcm0tY29udHJvbC13YXJuaW5nIHtcbiAgICAgICYsXG4gICAgICAuaXMtZm9jdXNlZCAmIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogJHVuZGVybGluZS1iYWNrZ3JvdW5kLWltYWdlLCAkZm9ybS1pY29uLXdhcm5pbmc7XG4gICAgICB9XG4gICAgfVxuICAgICYuZm9ybS1jb250cm9sLWRhbmdlciB7XG4gICAgICAmLFxuICAgICAgLmlzLWZvY3VzZWQgJiB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6ICR1bmRlcmxpbmUtYmFja2dyb3VuZC1pbWFnZSwgJGZvcm0taWNvbi1kYW5nZXI7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmlzLWZvY3VzZWQsIC8vIG1heSBvciBtYXkgbm90IGJlIGEgZm9ybS1ncm91cCBvciBibWQtZm9ybS1ncm91cFxuICAmLmlzLWZvY3VzZWQge1xuICAgIC8vIG9uIGZvY3VzIHNldCBib3JkZXJzIGFuZCBsYWJlbHMgdG8gdGhlIHZhbGlkYXRpb24gY29sb3JcblxuICAgIC8vIFVzZSB0aGUgQlMgcHJvdmlkZWQgbWl4aW4gZm9yIHRoZSBidWxrIG9mIHRoZSBjb2xvclxuICAgIEBpbmNsdWRlIGZvcm0tY29udHJvbC12YWxpZGF0aW9uKCRsYWJlbC1jb2xvcik7XG5cbiAgICBbY2xhc3NePSdibWQtbGFiZWwnXSxcbiAgICBbY2xhc3MqPScgYm1kLWxhYmVsJ10ge1xuICAgICAgY29sb3I6ICRsYWJlbC1jb2xvci1mb2N1cztcbiAgICB9XG5cbiAgICAuYm1kLWxhYmVsLXBsYWNlaG9sZGVyIHtcbiAgICAgIGNvbG9yOiAkbGFiZWwtY29sb3I7IC8vIGtlZXAgdGhlIHBsYWNlaG9sZGVyIGNvbG9yXG4gICAgfVxuXG4gICAgLy8gU2V0IHRoZSBib3JkZXIgYW5kIGJveCBzaGFkb3cgb24gc3BlY2lmaWMgaW5wdXRzIHRvIG1hdGNoXG4gICAgLmZvcm0tY29udHJvbCB7XG4gICAgICBib3JkZXItY29sb3I6ICRib3JkZXItY29sb3I7XG4gICAgfVxuXG4gICAgLy8gU2V0IHZhbGlkYXRpb24gc3RhdGVzIGFsc28gZm9yIGFkZG9uc1xuICAgIC8vLmlucHV0LWdyb3VwLWFkZG9uIHtcbiAgICAvLyAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyLWNvbG9yO1xuICAgIC8vfVxuXG4gICAgLmJtZC1oZWxwIHtcbiAgICAgIGNvbG9yOiAkYm1kLWxhYmVsLWNvbG9yLWlubmVyLWZvY3VzO1xuICAgIH1cbiAgfVxufVxuXG4vLyBtdXN0IGJlIGJyb2tlbiBvdXQgZm9yIHJldXNlIC0gd2Via2l0IHNlbGVjdG9yIGJyZWFrcyBmaXJlZm94XG5AbWl4aW4gYm1kLWxhYmVsLXN0YXRpYygkbGFiZWwtdG9wLCAkc3RhdGljLWZvbnQtc2l6ZSkge1xuICB0b3A6ICRsYWJlbC10b3A7XG4gIGxlZnQ6IDA7XG4gIC8vIG11c3QgcmVwZWF0IGJlY2F1c2UgdGhlIHByZXZpb3VzIChtb3JlIGdlbmVyaWMpIHNlbGVjdG9yc1xuICBmb250LXNpemU6ICRzdGF0aWMtZm9udC1zaXplO1xufVxuXG5AbWl4aW4gYm1kLWZvcm0tc2l6ZS12YXJpYW50KCRmb250LXNpemUsICRsYWJlbC10b3AtbWFyZ2luLCAkdmFyaWFudC1wYWRkaW5nLXksICR2YXJpYW50LWxpbmUtaGVpZ2h0LCAkZm9ybS1ncm91cC1jb250ZXh0OiBudWxsKSB7XG5cbiAgJHZhcmlhbnQtaW5wdXQtaGVpZ2h0OiAoKCRmb250LXNpemUgKiAkdmFyaWFudC1saW5lLWhlaWdodCkgKyAoJHZhcmlhbnQtcGFkZGluZy15ICogMikpO1xuICAkc3RhdGljLWZvbnQtc2l6ZTogKCRibWQtYm1kLWxhYmVsLXN0YXRpYy1zaXplLXJhdGlvICogJGZvbnQtc2l6ZSk7XG4gICRoZWxwLWZvbnQtc2l6ZTogKCRibWQtaGVscC1zaXplLXJhdGlvICogJGZvbnQtc2l6ZSk7XG5cbiAgJGxhYmVsLXN0YXRpYy10b3A6ICRsYWJlbC10b3AtbWFyZ2luO1xuICAkbGFiZWwtcGxhY2Vob2xkZXItdG9wOiAkbGFiZWwtdG9wLW1hcmdpbiArICRzdGF0aWMtZm9udC1zaXplICsgJHZhcmlhbnQtcGFkZGluZy15O1xuXG4gIC8vQGRlYnVnIFwiZm9udC1zaXplOiAjeyRmb250LXNpemV9IHN0YXRpYy1mb250LXNpemU6ICN7JHN0YXRpYy1mb250LXNpemV9IGhlbHAtZm9udC1zaXplOiAjeyRoZWxwLWZvbnQtc2l6ZX0gZm9ybS1ncm91cC1jb250ZXh0OiAjeyRmb3JtLWdyb3VwLWNvbnRleHR9IFwiO1xuXG4gIC8vTGFiZWwgaGVpZ2h0OiA3MmRwXG4gIC8vUGFkZGluZyBhYm92ZSBsYWJlbCB0ZXh0OiAxNmRwXG4gIC8vUGFkZGluZyBiZXR3ZWVuIGxhYmVsIGFuZCBpbnB1dCB0ZXh0OiA4ZHBcbiAgLy9QYWRkaW5nIGJlbG93IGlucHV0IHRleHQgKGluY2x1ZGluZyBkaXZpZGVyKTogMTZkcFxuICAvL1BhZGRpbmcgYmVsb3cgdGV4dCBkaXZpZGVyOiA4ZHBcblxuICBAaWYgJGZvcm0tZ3JvdXAtY29udGV4dCB7XG4gICAgLy8gQ3JlYXRlIGEgc3BhY2UgYXQgdGhlIHRvcCBvZiB0aGUgYm1kLWZvcm0tZ3JvdXAgZm9yIHRoZSBsYWJlbC5cbiAgICAvLyAgVGhlIGxhYmVsIGlzIGFic29sdXRlbHkgcG9zaXRpb25lZCwgc28gd2UgdXNlIHRvcCBwYWRkaW5nIHRvIG1ha2Ugc3BhY2UuICBUaGlzIHBhZGRpbmcgZXh0ZW5kcyBvdmVyIHRoZSBsYWJlbCBkb3duIHRvIHRoZSB0b3Agb2YgdGhlIGlucHV0IChwYWRkaW5nKS5cbiAgICBwYWRkaW5nLXRvcDogKCRsYWJlbC10b3AtbWFyZ2luICsgJHN0YXRpYy1mb250LXNpemUpO1xuICAgIC8vIG5vdGU6IGJvdHRvbS1tYXJnaW4gb2YgdGhpcyBpcyBkZXRlcm1pbmVkIGJ5ICRzcGFjZXIuICBAc2VlIF9zcGFjZXIuc2Nzc1xuICAgIC8vbWFyZ2luLWJvdHRvbTogKDEuNSAqICRoZWxwLWZvbnQtc2l6ZSk7XG4gIH1cblxuICAvLyBUT0RPOiByZW1vdmUgdGhpcyB3aGVuIGtub3duIHN0YWJsZS4gIGh0dHBzOi8vZ2l0aHViLmNvbS9GZXpWcmFzdGEvYm9vdHN0cmFwLW1hdGVyaWFsLWRlc2lnbi9pc3N1ZXMvODQ5XG4gIC8vQGVsc2Uge1xuICAvL1xuICAvLyAgLy8gZm9yIHJhZGlvcyBhbmQgY2hlY2tib3hlcyB3aXRob3V0IGEgZm9ybS1ncm91cCwgYWRkIHNvbWUgZXh0cmEgdmVydGljYWwgc3BhY2luZyB0byBwYWQgZG93biBzbyB0aGF0XG4gIC8vICAvLyAgYW55IGhlbHAgdGV4dCBhYm92ZSBpcyBub3QgZW5jcm9hY2hlZCB1cG9uLCBvciBzbyB0aGF0IGl0IGFwcGVhcnMgbW9yZSBldmVubHkgc3BhY2VkIHZzIGZvcm0tZ3JvdXBzXG4gIC8vICAucmFkaW8sXG4gIC8vICBsYWJlbC5yYWRpby1pbmxpbmUsXG4gIC8vICAuY2hlY2tib3gsXG4gIC8vICBsYWJlbC5jaGVja2JveC1pbmxpbmUsXG4gIC8vICAuc3dpdGNoIHtcbiAgLy8gICAgcGFkZGluZy10b3A6ICRzcGFjZXIteTtcbiAgLy8gIH1cbiAgLy99XG5cbiAgLy8gU2V0IGFsbCBsaW5lLWhlaWdodHMgcHJlZmVyYWJseSB0byAxIHNvIHRoYXQgd2UgY2FuIHNwYWNlIG91dCBldmVyeXRoaW5nIG1hbnVhbGx5IHdpdGhvdXQgYWRkaXRpb25hbCBhZGRlZCBzcGFjZVxuICAvLyAgZnJvbSB0aGUgZGVmYXVsdCBsaW5lLWhlaWdodCBvZiAxLjVcbiAgLmZvcm0tY29udHJvbCxcbiAgbGFiZWwsXG4gIGlucHV0OjpwbGFjZWhvbGRlciB7XG4gICAgbGluZS1oZWlnaHQ6ICR2YXJpYW50LWxpbmUtaGVpZ2h0O1xuICB9XG5cbiAgLnJhZGlvIGxhYmVsLFxuICBsYWJlbC5yYWRpby1pbmxpbmUsXG4gIC5jaGVja2JveCBsYWJlbCxcbiAgbGFiZWwuY2hlY2tib3gtaW5saW5lLFxuICAuc3dpdGNoIGxhYmVsIHtcbiAgICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0LWJhc2U7IC8vIGtlZXAgdGhlIHNhbWUgbGluZSBoZWlnaHQgZm9yIHJhZGlvcyBhbmQgY2hlY2tib3hlc1xuICB9XG5cbiAgLy8gTm90ZTogdGhpcyBtYXkgYmUgaW5zaWRlIG9yIG91dHNpZGUgYSBmb3JtLWdyb3VwLCBtYXkgYmUgLmJtZC1mb3JtLWdyb3VwLmJtZC1mb3JtLWdyb3VwLXNtIG9yIC5ibWQtZm9ybS1ncm91cC5ibWQtZm9ybS1ncm91cC1sZ1xuICBpbnB1dDo6cGxhY2Vob2xkZXIge1xuICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZTtcbiAgfVxuXG4gIC8vIGdlbmVyaWMgbGFiZWxzIHVzZWQgYW55d2hlcmUgaW4gdGhlIGZvcm1cbiAgLmNoZWNrYm94IGxhYmVsLFxuICAucmFkaW8gbGFiZWwsXG4gIGxhYmVsIHtcbiAgICBmb250LXNpemU6ICRmb250LXNpemU7XG4gIH1cblxuICAvLyBmbG9hdGluZy9wbGFjZWhvbGRlciBkZWZhdWx0IChubyBmb2N1cylcbiAgLmJtZC1sYWJlbC1mbG9hdGluZyxcbiAgLmJtZC1sYWJlbC1wbGFjZWhvbGRlciB7XG4gICAgLy9AZGVidWcgXCJ0b3A6ICN7JGxhYmVsLWFzLXBsYWNlaG9sZGVyLXRvcH1cIjtcbiAgICB0b3A6ICRsYWJlbC1wbGFjZWhvbGRlci10b3A7IC8vIHBsYWNlIHRoZSBmbG9hdGluZyBsYWJlbCB0byBsb29rIGxpa2UgYSBwbGFjZWhvbGRlciB3aXRoIGlucHV0IHBhZGRpbmdcbiAgfVxuXG4gIC8vIGZsb2F0aW5nIGZvY3VzZWQvZmlsbGVkIHdpbGwgbG9vayBsaWtlIHN0YXRpY1xuICAmLmlzLWZvY3VzZWQsXG4gIC5pcy1mb2N1c2VkLFxuICAmLmlzLWZpbGxlZCxcbiAgLmlzLWZpbGxlZCB7XG4gICAgLmJtZC1sYWJlbC1mbG9hdGluZyB7XG4gICAgICBAaW5jbHVkZSBibWQtbGFiZWwtc3RhdGljKCRsYWJlbC1zdGF0aWMtdG9wLCAkc3RhdGljLWZvbnQtc2l6ZSk7XG4gICAgfVxuICB9XG5cbiAgLy8gc3RhdGljXG4gIC5ibWQtbGFiZWwtc3RhdGljIHtcbiAgICBAaW5jbHVkZSBibWQtbGFiZWwtc3RhdGljKCRsYWJlbC1zdGF0aWMtdG9wLCAkc3RhdGljLWZvbnQtc2l6ZSk7XG4gIH1cbiAgLy8gIzU1OSBGaXggZm9yIHdlYmtpdC9jaHJvbWUgYXV0b2ZpbGwgLSBydWxlIG11c3QgYmUgc2VwYXJhdGUgYmVjYXVzZSBpdCBicmVha3MgZmlyZWZveCBvdGhlcndpc2UgIzczMVxuICAvL2lucHV0Oi13ZWJraXQtYXV0b2ZpbGwgfiAuYm1kLWxhYmVsLWZsb2F0aW5nIHsgIEZJWE1FOiBjb25maXJtIHRoYXQgdGhlIGF1dG9maWxsIGpzIGdlbmVyYXRpb24gb2YgY2hhbmdlIGV2ZW50IG1ha2VzIHRoaXMgdW5uZWNlc3NhcnlcbiAgLy8gIEBpbmNsdWRlIGJtZC1sYWJlbC1zdGF0aWMoJGxhYmVsLXRvcCwgJHN0YXRpYy1mb250LXNpemUsICRzdGF0aWMtbGluZS1oZWlnaHQpO1xuICAvL31cblxuICAuYm1kLWhlbHAge1xuICAgIG1hcmdpbi10b3A6IDA7IC8vIGFsbG93IHRoZSBpbnB1dCBtYXJnaW4gdG8gc2V0LW9mZiB0aGUgdG9wIG9mIHRoZSBoZWxwLWJsb2NrXG4gICAgZm9udC1zaXplOiAkaGVscC1mb250LXNpemU7XG4gIH1cblxuICAvLyB2YWxpZGF0aW9uIGljb24gcGxhY2VtZW50XG4gIC5mb3JtLWNvbnRyb2wge1xuICAgICYuZm9ybS1jb250cm9sLXN1Y2Nlc3MsXG4gICAgJi5mb3JtLWNvbnRyb2wtd2FybmluZyxcbiAgICAmLmZvcm0tY29udHJvbC1kYW5nZXIge1xuICAgICAgJGljb24tYmctc2l6ZTogKCR2YXJpYW50LWlucHV0LWhlaWdodCAqIC41KSAoJHZhcmlhbnQtaW5wdXQtaGVpZ2h0ICogLjUpO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiAkYm1kLWZvcm0tY29udHJvbC1iZy1zaXplLCAkaWNvbi1iZy1zaXplO1xuXG4gICAgICAmLFxuICAgICAgJjpmb2N1cyxcbiAgICAgIC5ibWQtZm9ybS1ncm91cC5pcy1mb2N1c2VkICYge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAoJGlucHV0LXBhZGRpbmcteCAqIDMpO1xuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogJGJtZC1mb3JtLWNvbnRyb2wtYmctcmVwZWF0LXksIG5vLXJlcGVhdDtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogJGJtZC1mb3JtLWNvbnRyb2wtYmctcG9zaXRpb24sIGNlbnRlciByaWdodCAoJHZhcmlhbnQtaW5wdXQtaGVpZ2h0ICogLjI1KTtcbiAgICAgIH1cblxuICAgICAgJjpmb2N1cyxcbiAgICAgIC5ibWQtZm9ybS1ncm91cC5pcy1mb2N1c2VkICYge1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6ICRibWQtZm9ybS1jb250cm9sLWJnLXNpemUtYWN0aXZlLCAkaWNvbi1iZy1zaXplO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gaHR0cDovL3d3dy5nb29nbGUuY29tL2Rlc2lnbi9zcGVjL2NvbXBvbmVudHMvc2VsZWN0aW9uLWNvbnRyb2xzLmh0bWwjc2VsZWN0aW9uLWNvbnRyb2xzLWNoZWNrYm94XG4uY2hlY2tib3ggbGFiZWwsXG5sYWJlbC5jaGVja2JveC1pbmxpbmUge1xuICBwYWRkaW5nLWxlZnQ6ICRibWQtY2hlY2tib3gtc2l6ZSArICRibWQtY2hlY2tib3gtbGFiZWwtcGFkZGluZzsgLy8gYWJzb2x1dGVseSBwb3NpdGlvbmVkIHNvIGFkZCB0aGUgcmFkaW8gc2l6ZVxuICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgLmNoZWNrYm94LWRlY29yYXRvciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMC4xMjVyZW07XG4gICAgbGVmdDogMDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXG4gICAgJjo6YmVmb3JlIHsgLy8gRklYTUU6IGRvY3VtZW50IHdoeSB0aGlzIGlzIG5lY2Vzc2FyeSAoZG9lc24ndCBzZWVtIHRvIGJlIG9uIGNocm9tZSlcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB6LWluZGV4OiAxO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB3aWR0aDogJGJtZC1jaGVja2JveC1zaXplO1xuICAgICAgaGVpZ2h0OiAkYm1kLWNoZWNrYm94LXNpemU7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkYmxhY2ssIC44NCk7XG4gICAgICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCgyLjMsIDIuMywgMSk7XG4gICAgfVxuXG4gICAgLmNoZWNrIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHotaW5kZXg6IDE7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB3aWR0aDogJGJtZC1jaGVja2JveC1zaXplO1xuICAgICAgaGVpZ2h0OiAkYm1kLWNoZWNrYm94LXNpemU7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgYm9yZGVyOiAkYm1kLWNoZWNrYm94LWJvcmRlci1zaXplIHNvbGlkICRibWQtY2hlY2tib3gtYm9yZGVyLWNvbG9yO1xuICAgICAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXM7XG5cbiAgICAgIC8vIGNoZWNrYm94IG91dGxpbmVcbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiAwO1xuICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgIG1hcmdpbi10b3A6IC00cHg7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiA2cHg7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDAsXG4gICAgICAgIDAgMCAwIDAsXG4gICAgICAgIDAgMCAwIDAsXG4gICAgICAgIDAgMCAwIDAsXG4gICAgICAgIDAgMCAwIDAsXG4gICAgICAgIDAgMCAwIDAsXG4gICAgICAgIDAgMCAwIDAgaW5zZXQ7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgICAgICAgYW5pbWF0aW9uOiBjaGVja2JveC1vZmY7XG5cbiAgICAgICAgLmlzLWZvY3VzZWQgJiB7XG4gICAgICAgICAgLy8gUHJldmVudCBjaGVja2JveCBhbmltYXRpb24gYW5kIHJpcHBsZSBlZmZlY3Qgb24gcGFnZSBsb2FkXG4gICAgICAgICAgYW5pbWF0aW9uOiBjaGVja2JveC1vZmYgJGJtZC1jaGVja2JveC1hbmltYXRpb24tY2hlY2sgZm9yd2FyZHM7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBpbnB1dFt0eXBlPWNoZWNrYm94XSB7XG5cbiAgICAvLyBIaWRlIG5hdGl2ZSBjaGVja2JveFxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAwO1xuICAgIHotaW5kZXg6IC0xO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBtYXJnaW46IDA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICBvcGFjaXR5OiAwO1xuXG4gICAgJjpmb2N1cyArIC5jaGVja2JveC1kZWNvcmF0b3IgLmNoZWNrOjphZnRlciB7XG4gICAgICBvcGFjaXR5OiAwLjI7XG4gICAgfVxuXG4gICAgJjpjaGVja2VkIHtcblxuICAgICAgLy8gRklYTUU6IG9uY2Ugd29ya2luZyAtIGNvbWJpbmUgZnVydGhlciB0byByZWR1Y2UgY29kZVxuICAgICAgKyAuY2hlY2tib3gtZGVjb3JhdG9yIC5jaGVjayB7XG4gICAgICAgIGNvbG9yOiAkYm1kLWNoZWNrYm94LWNoZWNrZWQtY29sb3I7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJGJtZC1jaGVja2JveC1jaGVja2VkLWNvbG9yO1xuICAgICAgfVxuXG4gICAgICArIC5jaGVja2JveC1kZWNvcmF0b3IgLmNoZWNrOjpiZWZvcmUge1xuICAgICAgICBjb2xvcjogJGJtZC1jaGVja2JveC1jaGVja2VkLWNvbG9yO1xuICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAxMHB4LFxuICAgICAgICAxMHB4IC0xMHB4IDAgMTBweCxcbiAgICAgICAgMzJweCAwIDAgMjBweCxcbiAgICAgICAgMDMycHggMCAyMHB4LFxuICAgICAgICAtNXB4IDVweCAwIDEwcHgsXG4gICAgICAgIDIwcHggLTEycHggMCAxMXB4O1xuICAgICAgICBhbmltYXRpb246IGNoZWNrYm94LW9uICRibWQtY2hlY2tib3gtYW5pbWF0aW9uLWNoZWNrIGZvcndhcmRzO1xuICAgICAgfVxuXG4gICAgICArIC5jaGVja2JveC1kZWNvcmF0b3I6OmJlZm9yZSB7XG4gICAgICAgIGFuaW1hdGlvbjogcmlwcGxlT247XG4gICAgICAgIC5pcy1mb2N1c2VkICYge1xuICAgICAgICAgIC8vIFByZXZlbnQgY2hlY2tib3ggYW5pbWF0aW9uIGFuZCByaXBwbGUgZWZmZWN0IG9uIHBhZ2UgbG9hZFxuICAgICAgICAgIGFuaW1hdGlvbjogcmlwcGxlT24gJGJtZC1jaGVja2JveC1hbmltYXRpb24tcmlwcGxlO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICsgLmNoZWNrYm94LWRlY29yYXRvciAuY2hlY2s6OmFmdGVyIHtcbiAgICAgICAgLy9iYWNrZ3JvdW5kLWNvbG9yOiAkYnJhbmQtc3VjY2VzczsgLy8gRklYTUU6IHNlZW1zIGxpa2UgdGhvIHdyb25nIGNvbG9yLCB0ZXN0IGFuZCBtYWtlIHN1cmUgaXQgY2FuIGJlIHJlbW92ZWRcbiAgICAgICAgYW5pbWF0aW9uOiByaXBwbGVPbiAkYm1kLWNoZWNrYm94LWFuaW1hdGlvbi1yaXBwbGUgZm9yd2FyZHM7IC8vIFJpcHBsZSBlZmZlY3Qgb24gY2hlY2tcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOm5vdCg6Y2hlY2tlZCkge1xuICAgICAgKyAuY2hlY2tib3gtZGVjb3JhdG9yOjpiZWZvcmUge1xuICAgICAgICBhbmltYXRpb246IHJpcHBsZU9mZjtcbiAgICAgICAgLmlzLWZvY3VzZWQgJiB7XG4gICAgICAgICAgLy8gUHJldmVudCBjaGVja2JveCBhbmltYXRpb24gYW5kIHJpcHBsZSBlZmZlY3Qgb24gcGFnZSBsb2FkXG4gICAgICAgICAgYW5pbWF0aW9uOiByaXBwbGVPZmYgJGJtZC1jaGVja2JveC1hbmltYXRpb24tcmlwcGxlO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICsgLmNoZWNrYm94LWRlY29yYXRvciAuY2hlY2s6OmFmdGVyIHtcbiAgICAgICAgYW5pbWF0aW9uOiByaXBwbGVPZmYgJGJtZC1jaGVja2JveC1hbmltYXRpb24tcmlwcGxlIGZvcndhcmRzOyAvLyBSaXBwbGUgZWZmZWN0IG9uIHVuY2hlY2tcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmW2Rpc2FibGVkXSxcbiAgICBmaWVsZHNldFtkaXNhYmxlZF0gJiB7XG4gICAgICArIC5jaGVja2JveC1kZWNvcmF0b3IgLmNoZWNrOjphZnRlcixcbiAgICAgIC5jaGVjazo6YWZ0ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JheS1kYXJrO1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xuICAgICAgfVxuICAgICAgKyAuY2hlY2tib3gtZGVjb3JhdG9yIC5jaGVjayxcbiAgICAgIC5jaGVjayB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJGJtZC1jaGVja2JveC1ib3JkZXItY29sb3ItZGlzYWJsZWQ7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBrZXlmcmFtZXMgY2hlY2tib3gtb24ge1xuICAwJSB7XG4gICAgYm94LXNoYWRvdzogMCAwIDAgMTBweCxcbiAgICAxMHB4IC0xMHB4IDAgMTBweCxcbiAgICAzMnB4IDAgMCAyMHB4LFxuICAgIDAgMzJweCAwIDIwcHgsXG4gICAgLTVweCA1cHggMCAxMHB4LFxuICAgIDE1cHggMnB4IDAgMTFweDtcbiAgfVxuICA1MCUge1xuICAgIGJveC1zaGFkb3c6IDAgMCAwIDEwcHgsXG4gICAgMTBweCAtMTBweCAwIDEwcHgsXG4gICAgMzJweCAwIDAgMjBweCxcbiAgICAwIDMycHggMCAyMHB4LFxuICAgIC01cHggNXB4IDAgMTBweCxcbiAgICAyMHB4IDJweCAwIDExcHg7XG4gIH1cbiAgMTAwJSB7XG4gICAgYm94LXNoYWRvdzogMCAwIDAgMTBweCxcbiAgICAxMHB4IC0xMHB4IDAgMTBweCxcbiAgICAzMnB4IDAgMCAyMHB4LFxuICAgIDAgMzJweCAwIDIwcHgsXG4gICAgLTVweCA1cHggMCAxMHB4LFxuICAgIDIwcHggLTEycHggMCAxMXB4O1xuICB9XG59XG5cbkBrZXlmcmFtZXMgY2hlY2tib3gtb2ZmIHtcbiAgMCUge1xuICAgIGJveC1zaGFkb3c6IDAgMCAwIDEwcHgsXG4gICAgMTBweCAtMTBweCAwIDEwcHgsXG4gICAgMzJweCAwIDAgMjBweCxcbiAgICAwIDMycHggMCAyMHB4LFxuICAgIC01cHggNXB4IDAgMTBweCxcbiAgICAyMHB4IC0xMnB4IDAgMTFweCxcbiAgICAwIDAgMCAwIGluc2V0O1xuICB9XG4gIDI1JSB7XG4gICAgYm94LXNoYWRvdzogMCAwIDAgMTBweCxcbiAgICAxMHB4IC0xMHB4IDAgMTBweCxcbiAgICAzMnB4IDAgMCAyMHB4LFxuICAgIDAgMzJweCAwIDIwcHgsXG4gICAgLTVweCA1cHggMCAxMHB4LFxuICAgIDIwcHggLTEycHggMCAxMXB4LFxuICAgIDAgMCAwIDAgaW5zZXQ7XG4gIH1cbiAgNTAlIHtcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgbWFyZ2luLXRvcDogLTRweDtcbiAgICBtYXJnaW4tbGVmdDogNnB4O1xuICAgIGJveC1zaGFkb3c6IDAgMCAwIDEwcHgsXG4gICAgMTBweCAtMTBweCAwIDEwcHgsXG4gICAgMzJweCAwIDAgMjBweCxcbiAgICAwIDMycHggMCAyMHB4LFxuICAgIC01cHggNXB4IDAgMTBweCxcbiAgICAxNXB4IDJweCAwIDExcHgsXG4gICAgMCAwIDAgMCBpbnNldDtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gIH1cbiAgNTElIHtcbiAgICB3aWR0aDogMjBweDtcbiAgICBoZWlnaHQ6IDIwcHg7XG4gICAgbWFyZ2luLXRvcDogLTJweDtcbiAgICBtYXJnaW4tbGVmdDogLTJweDtcbiAgICBib3gtc2hhZG93OiAwIDAgMCAwLFxuICAgIDAgMCAwIDAsXG4gICAgMCAwIDAgMCxcbiAgICAwIDAgMCAwLFxuICAgIDAgMCAwIDAsXG4gICAgMCAwIDAgMCxcbiAgICAwIDAgMCAxMHB4IGluc2V0O1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICB9XG4gIDEwMCUge1xuICAgIHdpZHRoOiAyMHB4O1xuICAgIGhlaWdodDogMjBweDtcbiAgICBtYXJnaW4tdG9wOiAtMnB4O1xuICAgIG1hcmdpbi1sZWZ0OiAtMnB4O1xuICAgIGJveC1zaGFkb3c6IDAgMCAwIDAsXG4gICAgMCAwIDAgMCxcbiAgICAwIDAgMCAwLFxuICAgIDAgMCAwIDAsXG4gICAgMCAwIDAgMCxcbiAgICAwIDAgMCAwLFxuICAgIDAgMCAwIDAgaW5zZXQ7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyByaXBwbGVPbiB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG4gIDUwJSB7XG4gICAgb3BhY2l0eTogMC4yO1xuICB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cblxuQGtleWZyYW1lcyByaXBwbGVPZmYge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuICA1MCUge1xuICAgIG9wYWNpdHk6IDAuMjtcbiAgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG4iLCIuY3VzdG9tLWZpbGUtY29udHJvbCB7XG4gIEBleHRlbmQgLmZvcm0tY29udHJvbDtcbiAgQGluY2x1ZGUgYm1kLWZvcm0tY29sb3IoJGJtZC1sYWJlbC1jb2xvciwgJGJtZC1sYWJlbC1jb2xvci1mb2N1cywgJGlucHV0LWJvcmRlci1jb2xvcik7XG5cbiAgJjo6YmVmb3JlIHtcbiAgICBAZXh0ZW5kIC5idG47XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGhlaWdodDogY2FsYygxMDAlIC0gMXB4KTtcbiAgfVxufVxuIiwiLy8gaHR0cDovL2NvZGVwZW4uaW8vcm9zc2tldmluL3Blbi9FUFB3UlI/ZWRpdG9ycz0xMTBcbi5zd2l0Y2gge1xuICBsYWJlbCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmctbGVmdDogJGJtZC1zd2l0Y2gtd2lkdGggKyAkYm1kLXN3aXRjaC1sYWJlbC1wYWRkaW5nOyAvLyBhYnNvbHV0ZWx5IHBvc2l0aW9uZWQgc28gYWRkIHRoZSByYWRpbyBzaXplXG5cbiAgICAuYm1kLXN3aXRjaC10cmFjayB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IGNhbGMtdG9wKCRsaW5lLWhlaWdodC1iYXNlLCAkZm9udC1zaXplLWJhc2UsICRibWQtc3dpdGNoLWhlaWdodCk7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgd2lkdGg6ICRibWQtc3dpdGNoLXdpZHRoO1xuICAgICAgaGVpZ2h0OiAkYm1kLXN3aXRjaC1oZWlnaHQ7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoXG4gICAgICAgICAgdG8gcmlnaHQsXG4gICAgICAgICAgJGJtZC1zd2l0Y2gtdW5jaGVja2VkLWJnIDAlLFxuICAgICAgICAgICRibWQtc3dpdGNoLXVuY2hlY2tlZC1iZyA1MCUsXG4gICAgICAgICAgJGJtZC1zd2l0Y2gtY2hlY2tlZC1iZyA1MCUsXG4gICAgICAgICAgJGJtZC1zd2l0Y2gtY2hlY2tlZC1iZyAxMDAlXG4gICAgICApO1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCU7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6ICRibWQtc3dpdGNoLXdpZHRoICogMiAkYm1kLXN3aXRjaC1oZWlnaHQ7XG4gICAgICBib3JkZXItcmFkaXVzOiAkYm1kLXN3aXRjaC13aWR0aDtcbiAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtcG9zaXRpb24gMC4ycyBlYXNlLWluO1xuXG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gICAgICAgIHdpZHRoOiAkYm1kLXN3aXRjaC1oYW5kbGUtc2l6ZTtcbiAgICAgICAgaGVpZ2h0OiAkYm1kLXN3aXRjaC1oYW5kbGUtc2l6ZTtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgYmFja2dyb3VuZDogJGJtZC1zd2l0Y2gtaGFuZGxlLXVuY2hlY2tlZC1iZztcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgICAgICAgYm94LXNoYWRvdzogMCAxcHggM3B4IHJnYmEoMCwgMCwgMCwgMC41KTtcbiAgICAgICAgdHJhbnNpdGlvbjogbGVmdCAwLjJzIGVhc2UtaW4sIGJhY2tncm91bmQtY29sb3IgMC4ycyBlYXNlLWluLCB0cmFuc2Zvcm0gMC4zcyBlYXNlO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICB9XG5cbiAgICAgIC8vIEplbGx5IGVmZmVjdCBvbiBjbGlja1xuICAgICAgJjphY3RpdmU6OmFmdGVyIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpIHNjYWxlM2QoMS4xNSwgMC44NSwgMSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaW5wdXQge1xuICAgICAgLy8gSGlkZSBvcmlnaW5hbCBjaGVja2JveCwgYnV0IGRvbid0IHVzZSBgZGlzcGxheTogbm9uZWAgdG8gYWxsb3cgZm9jdXMgb24gaXQgdXNpbmcga2V5Ym9hcmRcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2lkdGg6IDA7XG4gICAgICBoZWlnaHQ6IDA7XG4gICAgICBvcGFjaXR5OiAwO1xuXG4gICAgICAmOmNoZWNrZWQge1xuICAgICAgICArIC5ibWQtc3dpdGNoLXRyYWNrIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTAwJTtcbiAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICBsZWZ0OiB1bnF1b3RlKFwiY2FsYygxMDAlIC0gI3skYm1kLXN3aXRjaC1oYW5kbGUtc2l6ZX0pXCIpOyAvL2NhbGMoMTAwJSAtICRibWQtc3dpdGNoLWhhbmRsZS1zaXplKTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRibWQtc3dpdGNoLWhhbmRsZS1jaGVja2VkLWJnO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmOmRpc2FibGVkIHtcbiAgICAgICAgLy8gTm8gamVsbHkgZWZmZWN0IG9uIGRpc2FibGVkIHN3aXRjaHNcbiAgICAgICAgKyAuYm1kLXN3aXRjaC10cmFjazphY3RpdmU6OmFmdGVyIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICAgIH1cblxuICAgICAgICArIC5ibWQtc3dpdGNoLXRyYWNrIHtcbiAgICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgICAgICAgYmFja2dyb3VuZDogJGJtZC1zd2l0Y2gtZGlzYWJsZWQtYmc7XG4gICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJGJtZC1zd2l0Y2gtaGFuZGxlLWRpc2FibGVkLWJnO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiQGZ1bmN0aW9uIGNhbGMtdG9wKCRsaW5lLWhlaWdodC1iYXNlLCAkZm9udC1zaXplLCAkY29tcG9uZW50LWhlaWdodCkge1xuICBAcmV0dXJuICgoJGxpbmUtaGVpZ2h0LWJhc2UgKiAkZm9udC1zaXplKSAtICRjb21wb25lbnQtaGVpZ2h0KSAvIDI7IC8vIHZlcnRpY2FsIGNlbnRlciBvZiBsaW5lLWhlaWdodFxufVxuXG5cblxuXG4vLyBFbXVsYXRlIHRoZSBsZXNzICNjb250cmFzdCBmdW5jdGlvblxuLy8gVE9ETzogdGhpcyBtYXkgYmUgdXNlZnVsIGZvciB0aGUgaW52ZXJzZSB0aGVtZSwgYnV0IGlmIG5vdCwgcmVtb3ZlIChpdCBpcyB1bnVzZWQgYWZ0ZXIgdGhlIHJlbW92YWwgb2YgZnVsbHBhbGV0dGUpXG4vLyBjb250cmFzdC1jb2xvciBhbmQgYnJpZ2h0bmVzcyBib3Jyb3dlZCBmcm9tIGNvbXBhc3Ncbi8vIENvcHlyaWdodCAoYykgMjAwOS0yMDE0IENocmlzdG9waGVyIE0uIEVwcHN0ZWluXG4vLyBDb21wbGllcyB3aXRoIGxpY2Vuc2U6IGh0dHBzOi8vZ2l0aHViLmNvbS9Db21wYXNzL2NvbXBhc3MvYmxvYi9zdGFibGUvTElDRU5TRS5tYXJrZG93blxuQGZ1bmN0aW9uIGNvbnRyYXN0LWNvbG9yKCRjb2xvciwgJGRhcms6ICRjb250cmFzdGVkLWRhcmstZGVmYXVsdCwgJGxpZ2h0OiAkY29udHJhc3RlZC1saWdodC1kZWZhdWx0LCAkdGhyZXNob2xkOiBudWxsKSB7XG4gIEBpZiAkdGhyZXNob2xkIHtcbiAgICAvLyBEZXByZWNhdGVkIGluIENvbXBhc3MgMC4xM1xuICAgIEB3YXJuIFwiVGhlICR0aHJlc2hvbGQgYXJnbWVudCB0byBjb250cmFzdC1jb2xvciBpcyBubyBsb25nZXIgbmVlZGVkIGFuZCB3aWxsIGJlIHJlbW92ZWQgaW4gdGhlIG5leHQgcmVsZWFzZS5cIjtcbiAgfVxuXG4gIEBpZiAkY29sb3IgPT0gbnVsbCB7XG4gICAgQHJldHVybiBudWxsO1xuICB9IEBlbHNlIHtcbiAgICAkY29sb3ItYnJpZ2h0bmVzczogYnJpZ2h0bmVzcygkY29sb3IpO1xuICAgICRkYXJrLXRleHQtYnJpZ2h0bmVzczogYnJpZ2h0bmVzcygkZGFyayk7XG4gICAgJGxpZ2h0LXRleHQtYnJpZ2h0bmVzczogYnJpZ2h0bmVzcygkbGlnaHQpO1xuICAgIEByZXR1cm4gaWYoYWJzKCRjb2xvci1icmlnaHRuZXNzIC0gJGxpZ2h0LXRleHQtYnJpZ2h0bmVzcykgPiBhYnMoJGNvbG9yLWJyaWdodG5lc3MgLSAkZGFyay10ZXh0LWJyaWdodG5lc3MpLCAkbGlnaHQsICRkYXJrKTtcbiAgfVxufVxuXG5AZnVuY3Rpb24gYnJpZ2h0bmVzcygkY29sb3IpIHtcbiAgQGlmIHR5cGUtb2YoJGNvbG9yKSA9PSBjb2xvciB7XG4gICAgQHJldHVybiAocmVkKCRjb2xvcikgKiAwLjI5OSArIGdyZWVuKCRjb2xvcikgKiAwLjU4NyArIGJsdWUoJGNvbG9yKSAqIDAuMTE0KSAvIDI1NSAqIDEwMCU7XG4gIH0gQGVsc2Uge1xuICAgIEByZXR1cm4gdW5xdW90ZShcImJyaWdodG5lc3MoI3skY29sb3J9KVwiKTtcbiAgfVxufVxuIiwiLnJhZGlvIGxhYmVsLFxubGFiZWwucmFkaW8taW5saW5lIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nLWxlZnQ6ICRibWQtcmFkaW8tc2l6ZSArICRibWQtcmFkaW8tbGFiZWwtcGFkZGluZzsgLy8gYWJzb2x1dGVseSBwb3NpdGlvbmVkIHNvIGFkZCB0aGUgcmFkaW8gc2l6ZVxuXG4gIC5ibWQtcmFkaW8tb3V0ZXItY2lyY2xlLCAvLyBkb24ndCB1c2UgZ2VuZXJpYyBzcGFuLCBpdCBtYXkgY29uZmxpY3Qgd2l0aCBzcGFuIGluIHVzZXIgbWFya3VwICM2OTNcbiAgLmJtZC1yYWRpby1pbm5lci1jaXJjbGUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IGNhbGMtdG9wKCRsaW5lLWhlaWdodC1iYXNlLCAkZm9udC1zaXplLWJhc2UsICRibWQtcmFkaW8tc2l6ZSk7IC8vIHZlcnRpY2FsIGNlbnRlciBvZiBsaW5lLWhlaWdodFxuICAgIGxlZnQ6IDA7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdpZHRoOiAkYm1kLXJhZGlvLXNpemU7XG4gICAgaGVpZ2h0OiAkYm1kLXJhZGlvLXNpemU7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDAuMnM7XG5cbiAgICAmLmJtZC1yYWRpby1vdXRlci1jaXJjbGUge1xuICAgICAgYm9yZGVyOiAkYm1kLXJhZGlvLWJvcmRlciBzb2xpZCAkYm1kLXJhZGlvLWNvbG9yLW9mZjtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciBlYXNlIC4yOHM7XG4gICAgfVxuICAgICYuYm1kLXJhZGlvLWlubmVyLWNpcmNsZSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYm1kLXJhZGlvLWNvbG9yLW9uO1xuICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIGVhc2UgLjI4cztcbiAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLCAwLCAwKTtcblxuICAgICAgLy8gZm9jdXMvcHJlc3MgcmlwcGxlXG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAtI3skYm1kLXJhZGlvLXJpcHBsZS1vZmZzZXR9O1xuICAgICAgICBsZWZ0OiAtI3skYm1kLXJhZGlvLXJpcHBsZS1vZmZzZXR9O1xuICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDUwcHg7XG4gICAgICAgIGhlaWdodDogNTBweDtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JheS1kYXJrO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS41LCAxLjUsIDEpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGlucHV0W3R5cGU9cmFkaW9dIHtcbiAgICAvLyBIaWRlIG5hdGl2ZSByYWRpb1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAwO1xuICAgIHotaW5kZXg6IC0xO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBtYXJnaW46IDA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICBvcGFjaXR5OiAwO1xuXG4gICAgJjpjaGVja2VkIHtcbiAgICAgIEBpbmNsdWRlIGJtZC1yYWRpby1jb2xvcigkYm1kLXJhZGlvLWNvbG9yLW9uKTtcblxuICAgICAgfiAuYm1kLXJhZGlvLWlubmVyLWNpcmNsZSB7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjU1LCAwLjU1LCAxKTtcbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIGFuaW1hdGlvbjogcmlwcGxlT247XG5cbiAgICAgICAgICAuaXMtZm9jdXNlZCAmIHtcbiAgICAgICAgICAgIC8vIFByZXZlbnQgcmlwcGxlIGVmZmVjdCBvbiBwYWdlIGxvYWRcbiAgICAgICAgICAgIGFuaW1hdGlvbjogcmlwcGxlT24gNTAwbXM7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjpub3QoOmNoZWNrZWQpIH4gLmJtZC1yYWRpby1pbm5lci1jaXJjbGU6OmFmdGVyIHtcbiAgICAgIGFuaW1hdGlvbjogcmlwcGxlT2ZmIDUwMG1zO1xuICAgIH1cblxuICAgICZbZGlzYWJsZWRdLFxuICAgICY6ZGlzYWJsZWQsXG4gICAgZmllbGRzZXRbZGlzYWJsZWRdICYge1xuXG4gICAgICArIC5ibWQtcmFkaW8tb3V0ZXItY2lyY2xlIHtcbiAgICAgICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBibWQtcmFkaW8tY29sb3IoJGJtZC1yYWRpby1jb2xvci1kaXNhYmxlZCk7XG5cbiAgICAgIC5iZy1pbnZlcnNlICYge1xuICAgICAgICBAaW5jbHVkZSBibWQtcmFkaW8tY29sb3IoJGJtZC1yYWRpby1jb2xvci1kaXNhYmxlZC1pbnZlcnNlKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQGtleWZyYW1lcyByaXBwbGVPbiB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG4gIDUwJSB7XG4gICAgb3BhY2l0eTogMC4yO1xuICB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cblxuQGtleWZyYW1lcyByaXBwbGVPZmYge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuICA1MCUge1xuICAgIG9wYWNpdHk6IDAuMjtcbiAgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG4iLCJmb3JtIHtcbiAgLy8gZW5zdXJlIGVub3VnaCByb29tIGF0IHRoZSBib3R0b20gb2YgYW55IGZvcm0gdG8gZGlzcGxheSBhIG9uZS1saW5lIGJtZC1oZWxwXG4gIG1hcmdpbi1ib3R0b206ICgkYm1kLWhlbHAtc2l6ZS1yYXRpbyAqICRmb250LXNpemUtYmFzZSkgKiAkbGluZS1oZWlnaHQtYmFzZTtcblxuICAvLyByZXZlcnNlIHRoZSBhYm92ZSBmb3IgbmF2YmFycyAobm8gaGVscCBleHBlY3RlZCBpbiBhIG5hdmJhciBmb3JtKVxuICAubmF2YmFyICYge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IC8vIG9ubHkgYWRqdXN0IGJvdHRvbSBzbyB0aGF0IHB1bGwteHMtcmlnaHQgZmxleGVkIG1hcmdpbi1sZWZ0OiBhdXRvIHdvcmtzXG5cbiAgICAuYm1kLWZvcm0tZ3JvdXAge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgfVxuXG4gICAgLmJ0biB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbiAgfVxufVxuXG4vLyAtLS0tLVxuLy8gSW5wdXRzXG4vL1xuLy8gUmVmZXJlbmNlIGh0dHA6Ly93d3cuZ29vZ2xlLmNvbS9kZXNpZ24vc3BlYy9jb21wb25lbnRzL3RleHQtZmllbGRzLmh0bWxcbi8vIE1ETCBpbXBsZW1lbnRhdGlvbjogaHR0cDovL3d3dy5nZXRtZGwuaW8vY29tcG9uZW50cy9pbmRleC5odG1sI3RleHRmaWVsZHMtc2VjdGlvblxuLmZvcm0tY29udHJvbCB7XG4gIGJhY2tncm91bmQ6ICRibWQtZm9ybS1jb250cm9sLWJnLXJlcGVhdC15ICRibWQtZm9ybS1jb250cm9sLWJnLXBvc2l0aW9uO1xuICBiYWNrZ3JvdW5kLXNpemU6ICRibWQtZm9ybS1jb250cm9sLWJnLXNpemU7XG4gIGJvcmRlcjogMDtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwcyBlYXNlLW91dDtcblxuICAvLyBUaGUgYm9yZGVyIGJvdHRvbSBzaG91bGQgYmUgc3RhdGljIGluIGFsbCBzdGF0ZXMsIHRoZSBkZWNvcmF0b3Igd2lsbCBiZSBhbmltYXRlZCBvdmVyIHRoaXMuXG4gICY6Zm9jdXMsXG4gIC5ibWQtZm9ybS1ncm91cC5pcy1mb2N1c2VkICYge1xuICAgIGJhY2tncm91bmQtc2l6ZTogJGJtZC1mb3JtLWNvbnRyb2wtYmctc2l6ZS1hY3RpdmU7XG4gICAgLy9ib3JkZXItYm90dG9tOiAkaW5wdXQtYnRuLWJvcmRlci13aWR0aCBzb2xpZCAkaW5wdXQtYm9yZGVyLWNvbG9yO1xuICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7XG4gIH1cbn1cblxuLy8gSGVscCBibG9ja3MgKG5vdCBpbiB2NClcbi8vICBwb3NpdGlvbjogYWJzb2x1dGUgYXBwcm9hY2ggLSB1c2VzIG5vIHZlcnRpY2FsIHNwYWNlIGFuZCB0aGVyZSBpcyBubyBmb3JtIGp1bXBpbmcsIGJ1dCB0ZXh0IHdyYXBwaW5nIC0gbm90IHNvIGdvb2QuXG4vLyAgRklYTUU6IHdpZHRoL3dyYXBwaW5nIGlzbid0IGF1dG9tYXRpYyBhbmQgb3ZlcmZsb3dzIG9jY3VyLiAgV2hhdCBhcmUgc29tZSBzb2x1dGlvbnM/XG4vL1xuLmJtZC1oZWxwIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBkaXNwbGF5OiBub25lO1xuICBmb250LXNpemU6IC44cmVtO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBAZXh0ZW5kIC50ZXh0LW11dGVkO1xuXG4gIC5ibWQtZm9ybS1ncm91cC5pcy1mb2N1c2VkICYge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG5cbiAgLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBNdWx0aXBsZSBoZWxwIGJsb2Nrc1xuICAvLyAtIGFic29sdXRlIHBvc2l0aW9uaW5nIGlzIHVzZWQgYWJvdmUgdG8gcHJldmVudCBib3VuY2luZ1xuICAvLyAtIHdoZW4gdGhlcmUgaXMgbW9yZSB0aGFuIG9uZSwgdGhpcyB3aWxsIGJvdW5jZSBidXQgd2lsbCBhdCBsZWFzdCBzaG93XG4gICY6bnRoLW9mLXR5cGUoMikge1xuICAgIHBhZGRpbmctdG9wOiAxcmVtOyAvLyB0aGUgZmlyc3Qgb25lIHJlcXVpcmVzIHRvcCBwYWRkaW5nIHRvIHB1c2ggaXQgYmVsb3cgdGhlIGZpcnN0IG9uZSB3aGljaCBpcyBhYnNvbHV0ZSBwb3NpdGlvbmVkXG4gIH1cblxuICArIC5ibWQtaGVscCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cblxuLy8gLS0tLS1cbi8vIFN0YXRlIGNvbG9yaW5nOiBkZWZhdWx0LCBzdWNjZXNzLCBpbmZvLCB3YXJuaW5nLCBkYW5nZXJcbi8vXG5AaW5jbHVkZSBibWQtc2VsZWN0aW9uLWNvbG9yKCk7XG5AaW5jbHVkZSBibWQtZm9ybS1jb2xvcigkYm1kLWxhYmVsLWNvbG9yLCAkYm1kLWxhYmVsLWNvbG9yLWZvY3VzLCAkaW5wdXQtYm9yZGVyLWNvbG9yKTtcblxuLmhhcy1zdWNjZXNzIHtcbiAgQGluY2x1ZGUgYm1kLWZvcm0tY29sb3IoJGJyYW5kLXN1Y2Nlc3MsICRicmFuZC1zdWNjZXNzLCAkYnJhbmQtc3VjY2Vzcyk7XG59XG5cbi5oYXMtaW5mbyB7XG4gIEBpbmNsdWRlIGJtZC1mb3JtLWNvbG9yKCRicmFuZC1pbmZvLCAkYnJhbmQtaW5mbywgJGJyYW5kLWluZm8pO1xufVxuXG4uaGFzLXdhcm5pbmcge1xuICBAaW5jbHVkZSBibWQtZm9ybS1jb2xvcigkYnJhbmQtd2FybmluZywgJGJyYW5kLXdhcm5pbmcsICRicmFuZC13YXJuaW5nKTtcbn1cblxuLmhhcy1kYW5nZXIge1xuICBAaW5jbHVkZSBibWQtZm9ybS1jb2xvcigkYnJhbmQtZGFuZ2VyLCAkYnJhbmQtZGFuZ2VyLCAkYnJhbmQtZGFuZ2VyKTtcbn1cblxuLy8gUmVmZXJlbmNlIGh0dHA6Ly93d3cuZ29vZ2xlLmNvbS9kZXNpZ24vc3BlYy9jb21wb25lbnRzL3RleHQtZmllbGRzLmh0bWxcbi8vIE1ETCBpbXBsZW1lbnRhdGlvbjogaHR0cDovL3d3dy5nZXRtZGwuaW8vY29tcG9uZW50cy9pbmRleC5odG1sI3RleHRmaWVsZHMtc2VjdGlvblxuLy8udmFyaWF0aW9ucyh1bnF1b3RlKFwiIGxhYmVsXCIpLCBjb2xvciwgJGJtZC1pbnB1dC1wbGFjZWhvbGRlci1jb2xvcik7ICAvLyBkZWZhdWx0IGxhYmVsIGNvbG9yIHZhcmlhdGlvbnNcblxuLy8gV2hlcmVhcyAuZm9ybS1ncm91cCBhZGRzIHN0cnVjdHVyZSwgYm1kLWZvcm0tZ3JvdXAganVzdCBuZWVkcyB0byBtYWtlIHN1cmUgd2UgaGF2ZSBlbm91Z2ggcGFkZGluZyBmb3Igb3VyIGxhYmVscyB0byB3b3JrLiAgVGhhdCdzIHRoZSBvbmx5IHB1cnBvc2UuXG4uYm1kLWZvcm0tZ3JvdXAge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgLy8gLS0tLS1cbiAgLy8gTGFiZWxzXG4gIC8vXG4gIC8vIFJlZmVyZW5jZSBodHRwOi8vd3d3Lmdvb2dsZS5jb20vZGVzaWduL3NwZWMvY29tcG9uZW50cy90ZXh0LWZpZWxkcy5odG1sXG4gIC8vIE1ETCBpbXBsZW1lbnRhdGlvbjogaHR0cDovL3d3dy5nZXRtZGwuaW8vY29tcG9uZW50cy9pbmRleC5odG1sI3RleHRmaWVsZHMtc2VjdGlvblxuICBbY2xhc3NePSdibWQtbGFiZWwnXSxcbiAgW2NsYXNzKj0nIGJtZC1sYWJlbCddIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgdHJhbnNpdGlvbjogMC4zcyBlYXNlIGFsbDtcblxuICAgIC8vIGhpbnQgdG8gYnJvd3NlciBmb3Igb3B0aW1pemF0aW9uXG4gICAgJi5ibWQtbGFiZWwtZmxvYXRpbmcge1xuICAgICAgd2lsbC1jaGFuZ2U6IGxlZnQsIHRvcCwgY29udGVudHM7IC8vIFRPRE86IGV2YWx1YXRlIGVmZmVjdGl2ZW5lc3MgLSBsb29raW5nIGZvciBjb21tdW5pdHkgZmVlZGJhY2tcbiAgICB9XG4gIH1cblxuICAvLyBoaWRlIGxhYmVsLXBsYWNlaG9sZGVycyB3aGVuIHRoZSBmaWVsZCBpcyBmaWxsZWRcbiAgJi5pcy1maWxsZWQgLmJtZC1sYWJlbC1wbGFjZWhvbGRlciB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIC8vIE9wdGlvbmFsIGNsYXNzIHRvIG1ha2UgdGhlIHRleHQgZmllbGQgaW5saW5lIGNvbGxhcHNpYmxlL2V4cGFuZGFibGUgKGNvbGxhcHNlZCBieSBkZWZhdWx0KVxuICAvLyAgICBUaGlzIHVzZXMgdGhlIEJTIGNvbGxhcHNlIGpzIHRvIG1ha2UgdGhlIHdpZHRoIGV4cGFuZC5cbiAgLy8gICAgYHdpZHRoYCBjbGFzcyBtdXN0IGFsc28gYmUgb24gdGhlIGVsZW1lbnQgRklYTUU6IGRvIHRoaXMgd2l0aCBKUywgaXQgaXMgYSBtYXJrZXIgY2xhc3MgYW5kIHNob3VsZCBiZSBpbXBsaWNpdCBiZWNhdXNlIGFmdGVyIGFsbCwgd2UgYXJlIGFuIGJtZC1jb2xsYXBzZS1pbmxpbmVcbiAgLy8gICAgRklYTUU6IGpzIG5lZWRzIHRvIGRvIHRoZSBmb2N1cyBvbiBzaG93bi5icy5jb2xsYXBzZSBldmVudCBodHRwOi8vdjQtYWxwaGEuZ2V0Ym9vdHN0cmFwLmNvbS9jb21wb25lbnRzL2NvbGxhcHNlLyNldmVudHNcbiAgJi5ibWQtY29sbGFwc2UtaW5saW5lIHtcbiAgICBwYWRkaW5nOiAwOyAvLyBnZXQgcmlkIG9mIGFueSBwYWRkaW5nIGFzIHRoaXMgaXMgYSB3aWR0aCB0cmFuc2l0aW9uXG5cbiAgICAvLyBFeHBhbmRhYmxlIEhvbGRlci5cbiAgICAuY29sbGFwc2Uge1xuICAgICAgJi5pbiB7XG4gICAgICAgIC8vIFRoaXMgaXMgYW4gdW5mb3J0dW5hdGUgaGFjay4gQW5pbWF0aW5nIGJldHdlZW4gd2lkdGhzIGluIHBlcmNlbnQgKCUpXG4gICAgICAgIC8vIGluIG1hbnkgYnJvd3NlcnMgKENocm9tZSwgRmlyZWZveCkgb25seSBhbmltYXRlcyB0aGUgaW5uZXIgdmlzdWFsIHN0eWxlXG4gICAgICAgIC8vIG9mIHRoZSBpbnB1dCAtIHRoZSBvdXRlciBib3VuZGluZyBib3ggc3RpbGwgJ2p1bXBzJy5cbiAgICAgICAgLy8gVGh1cyBhc3N1bWUgYSBzZW5zaWJsZSBtYXhpbXVtLCBhbmQgYW5pbWF0ZSB0by9mcm9tIHRoYXQgdmFsdWUuXG4gICAgICAgIG1heC13aWR0aDogNjAwcHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmNvbGxhcHNpbmcsXG4gICAgLndpZHRoOm5vdCguY29sbGFwc2UpLCAvLyBjb2xsYXBzaW5nIGlzIHJlbW92ZWQgYW5kIG1vbWVudGFyaWx5IG9ubHkgd2lkdGggaXMgcHJlc2VudFxuICAgIC5jb2xsYXBzZS5pbiB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgfVxuXG4gICAgLmNvbGxhcHNpbmcge1xuICAgICAgQGluY2x1ZGUgbWF0ZXJpYWwtYW5pbWF0aW9uLWRlZmF1bHQoKTtcbiAgICB9XG4gIH1cblxuICAvLyBkZWZhdWx0IGZsb2F0aW5nIHNpemUvbG9jYXRpb24gd2l0aCBhbiBibWQtZm9ybS1ncm91cFxuICBAaW5jbHVkZSBibWQtZm9ybS1zaXplLXZhcmlhbnQoJGZvbnQtc2l6ZS1iYXNlLCAkYm1kLWxhYmVsLXRvcC1tYXJnaW4tYmFzZSwgJGlucHV0LXBhZGRpbmcteSwgJGJtZC1mb3JtLWxpbmUtaGVpZ2h0LCBcImJtZC1mb3JtLWdyb3VwIGRlZmF1bHRcIik7XG5cbiAgLy8gc20gZmxvYXRpbmcgc2l6ZS9sb2NhdGlvblxuICAmLmJtZC1mb3JtLWdyb3VwLXNtIHtcbiAgICBAaW5jbHVkZSBibWQtZm9ybS1zaXplLXZhcmlhbnQoJGZvbnQtc2l6ZS1zbSwgJGJtZC1sYWJlbC10b3AtbWFyZ2luLXNtLCAkaW5wdXQtcGFkZGluZy15LXNtLCAkYm1kLWZvcm0tbGluZS1oZWlnaHQtc20sIFwiYm1kLWZvcm0tZ3JvdXAgc21cIik7XG4gIH1cblxuICAvLyBsZyBmbG9hdGluZyBzaXplL2xvY2F0aW9uXG4gICYuYm1kLWZvcm0tZ3JvdXAtbGcge1xuICAgIEBpbmNsdWRlIGJtZC1mb3JtLXNpemUtdmFyaWFudCgkZm9udC1zaXplLWxnLCAkYm1kLWxhYmVsLXRvcC1tYXJnaW4tbGcsICRpbnB1dC1wYWRkaW5nLXktbGcsICRibWQtZm9ybS1saW5lLWhlaWdodC1zbSwgXCJibWQtZm9ybS1ncm91cCBsZ1wiKTtcbiAgfVxufVxuXG4vLyBkZWZhdWx0IGZsb2F0aW5nIHNpemUvbG9jYXRpb24gd2l0aG91dCBhIGZvcm0tZ3JvdXAgKHdpbGwgc2tpcCBmb3JtLWdyb3VwIHN0eWxlcywgYW5kIGp1c3QgcmVuZGVyIGRlZmF1bHQgc2l6aW5nIHZhcmlhdGlvbikgLSBJTVBPUlRBTlQgZm9yIG5vbi1mb3JtLWdyb3VwIHNwYWNpbmcgc3VjaCBhcyByYWRpby9jaGVja2JveC9zd2l0Y2hcbkBpbmNsdWRlIGJtZC1mb3JtLXNpemUtdmFyaWFudCgkZm9udC1zaXplLWJhc2UsICRibWQtbGFiZWwtdG9wLW1hcmdpbi1iYXNlLCAkaW5wdXQtcGFkZGluZy15LCAkYm1kLWZvcm0tbGluZS1oZWlnaHQpO1xuXG5zZWxlY3Qge1xuICAmLFxuICAmLmZvcm0tY29udHJvbCB7XG4gICAgLy8gVXNlIHZlbmRvciBwcmVmaXhlcyBhcyBgYXBwZWFyYW5jZWAgaXNuJ3QgcGFydCBvZiB0aGUgQ1NTIHNwZWMuIE9TWCBkb2Vzbid0IG9iZXkgdGhlIGJvcmRlci1yYWRpdXM6IDAgd2l0aG91dCB0aGlzLlxuICAgIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIH1cbn1cblxuLy8gSW5wdXQgZmlsZXMgLSBoaWRlIGFjdHVhbCBpbnB1dCAtIHJlcXVpcmVzIHNwZWNpZmljIG1hcmt1cCBpbiB0aGUgc2FtcGxlLlxuLy8uYm1kLWZvcm0tZ3JvdXAgaW5wdXRbdHlwZT1maWxlXSB7XG4vLyAgb3BhY2l0eTogMDtcbi8vICBwb3NpdGlvbjogYWJzb2x1dGU7XG4vLyAgdG9wOiAwO1xuLy8gIHJpZ2h0OiAwO1xuLy8gIGJvdHRvbTogMDtcbi8vICBsZWZ0OiAwO1xuLy8gIHdpZHRoOiAxMDAlO1xuLy8gIGhlaWdodDogMTAwJTtcbi8vICB6LWluZGV4OiAxMDA7XG4vL31cblxuLy9cbi8vXG4vLy5mb3JtLWhvcml6b250YWwge1xuLy9cbi8vICAvLyBDb25zaXN0ZW50IHZlcnRpY2FsIGFsaWdubWVudCBvZiByYWRpb3MgYW5kIGNoZWNrYm94ZXNcbi8vICAucmFkaW8sXG4vLyAgLmNoZWNrYm94LFxuLy8gIC5yYWRpby1pbmxpbmUsXG4vLyAgLmNoZWNrYm94LWlubGluZSB7XG4vLyAgICBwYWRkaW5nLXRvcDogMDtcbi8vICB9XG4vL1xuLy8gIC5yYWRpbyB7XG4vLyAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuLy8gIH1cbi8vXG4vLyAgbGFiZWwge1xuLy8gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4vLyAgfVxuLy9cbi8vICBsYWJlbCB7XG4vLyAgICBtYXJnaW46IDA7XG4vLyAgfVxuLy99XG5cbi5mb3JtLWlubGluZSB7XG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoc20pIHtcbiAgICAuaW5wdXQtZ3JvdXAge1xuICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIGlucHV0LWdyb3VwIGFuZCBpbnB1dC1ncm91cC1hZGRvbiBzdHlsZXNcbi8vICBub3RlOiBmb3JtLWdyb3VwcyBhcmUgbm90IHJlcXVpcmVkXG4vL1xuQG1peGluIGlucHV0LWdyb3VwLWJ1dHRvbi12YXJpYXRpb24oJHZlcnRpY2FsLXBhZGRpbmcpIHtcbiAgLmlucHV0LWdyb3VwLWJ0biB7XG4gICAgLmJ0biB7XG4gICAgICAvL21hcmdpbjogMCAwICR2ZXJ0aWNhbC1wYWRkaW5nIDA7XG4gICAgfVxuICB9XG59XG5cbi8vIGRlZmF1bHQgbWFyZ2luIC0gbm8gZm9ybS1ncm91cCByZXF1aXJlZFxuQGluY2x1ZGUgaW5wdXQtZ3JvdXAtYnV0dG9uLXZhcmlhdGlvbihpbnB1dC1wYWRkaW5nLXkpO1xuXG4mLmJtZC1mb3JtLWdyb3VwLXNtIHtcbiAgQGluY2x1ZGUgaW5wdXQtZ3JvdXAtYnV0dG9uLXZhcmlhdGlvbigkaW5wdXQtcGFkZGluZy15LXNtKTtcbn1cblxuJi5ibWQtZm9ybS1ncm91cC1sZyB7XG4gIEBpbmNsdWRlIGlucHV0LWdyb3VwLWJ1dHRvbi12YXJpYXRpb24oJGlucHV0LXBhZGRpbmcteS1sZyk7XG59XG5cbi5pbnB1dC1ncm91cCB7IC8vIG1heSBiZSBpbiBvciBvdXRzaWRlIG9mIGZvcm0tZ3JvdXBcblxuICAuaW5wdXQtZ3JvdXAtYWRkb24ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIH1cblxuICAuaW5wdXQtZ3JvdXAtYWRkb24gKyBpbnB1dCxcbiAgaW5wdXQgKyAuaW5wdXQtZ3JvdXAtYWRkb24ge1xuICAgIG1hcmdpbi1sZWZ0OiAuNzVyZW07XG4gIH1cbn1cbiIsIi8vIGh0dHBzOi8vd3d3Lmdvb2dsZS5jb20vZGVzaWduL3NwZWMvY29tcG9uZW50cy9saXN0cy5odG1sI2xpc3RzLXNwZWNzXG5cbi8vIC0gc2luZ2xlIGxpbmUgNDhkcFxuLy8gLSBzaW5nbGUgbGluZSBhdmF0YXIgNTZkcFxuLy8gLSBkb3VibGUgbGluZSAod2l0aCBhbmQgdy9vIGF2YXRhcikgNzJkcFxuLy8gLSB0cmlwbGUgbGluZSA4OGRwXG5cbi5saXN0LWdyb3VwIHtcbiAgLy8gIzg1MyBzdGFydCAtLSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvcHVsbC8xODk4MS9maWxlc1xuICBAaWYgJGVuYWJsZS1mbGV4IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIH1cbiAgLy8gIzg1MyBlbmQgLS0gaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL3B1bGwvMTg5ODEvZmlsZXNcblxuICBmbGV4LWdyb3c6IDE7XG5cbiAgLy8gQWRkIDhkcCBvZiBwYWRkaW5nIGF0IHRoZSB0b3AgYW5kIGJvdHRvbSBvZiBhIGxpc3QuIE9uZSBleGNlcHRpb24gaXMgYXQgdGhlIHRvcCBvZiBhIGxpc3Qgd2l0aCBhIHN1YmhlYWRlciwgYmVjYXVzZSBzdWJoZWFkZXJzIGNvbnRhaW4gdGhlaXIgb3duIHBhZGRpbmcuXG4gIHBhZGRpbmc6IC41cmVtIDA7XG5cbiAgLy8gZGVuc2Ugc2l6ZSB2YXJpYXRpb25cbiAgJi5ibWQtbGlzdC1ncm91cC1zbSB7XG4gICAgcGFkZGluZzogLjI1cmVtIDA7XG5cbiAgICAubGlzdC1ncm91cC1pdGVtIHtcbiAgICAgIHBhZGRpbmc6IC41cmVtIDFyZW07XG4gICAgfVxuICB9XG59XG5cbi5ibWQtbGlzdC1ncm91cC1jb2wge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBtaW4td2lkdGg6IDA7XG4gIC8vZmxleC1zaHJpbms6IDA7XG59XG5cbi5saXN0LWdyb3VwLWl0ZW0ge1xuICAvLyAjODUzIHN0YXJ0IC0tIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9wdWxsLzE4OTgxL2ZpbGVzXG4gIEBpZiAkZW5hYmxlLWZsZXgge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB9IEBlbHNlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuICAvLyAjODUzIGVuZCAtLSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvcHVsbC8xODk4MS9maWxlc1xuICBwYWRkaW5nOiAxcmVtO1xuICBsaW5lLWhlaWdodDogMTtcblxuICAubGlzdC1ncm91cC1pdGVtLXRleHQgeyAvLyB3b3JkIHdyYXA/IGh0dHA6Ly9zdGFja292ZXJmbG93LmNvbS9hLzI2NTM1NDY5LzIzNjM5MzVcbiAgICAvL2ZsZXgtZmxvdzogcm93IHdyYXA7XG4gICAgbWluLXdpZHRoOiAwO1xuICAgIG1heC1oZWlnaHQ6IDIuMTg4cmVtOyAvLyA4OGRwIHRpbGUgdG90YWwgaGVpZ2h0XG4gICAgLy8gRklYTUU6IHRleHQgb3ZlcmZsb3cgd2l0aCBlbGxpcHNpcyBpcyBub3Qgd29ya2luZ1xuICAgIC8vZmxleDogMCAxIGF1dG87IC8vICAgIGh0dHA6Ly9zdGFja292ZXJmbG93LmNvbS9xdWVzdGlvbnMvMTIwMjIyODgvaG93LXRvLWtlZXAtYS1mbGV4LWl0ZW0tZnJvbS1vdmVyZmxvd2luZy1kdWUtdG8taXRzLXRleHRcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICB9XG5cbiAgLy8tLS0tLS1cbiAgLy8gTk9URTogdGhlcmUgYXJlIG1hbnkgdmFyaWF0aW9ucyBvZiBpY29ucy9sYWJlbHMgaW4gYSBsaXN0LCBlYWNoIG9uZSBvZiB0aGVzZSBydWxlcyBleGlzdCBmb3IgYSByZWFzb24uXG5cbiAgLy8gZmlyc3QgaWNvbi9sYWJlbCBvbiB0aGUgbGVmdFxuICA6Zmlyc3QtY2hpbGQge1xuICAgIG1hcmdpbi1yaWdodDogMnJlbTsgLy8gc2luZ2xlIGxpbmUgaWNvbiBpcyA3MmRwIHRvIHRleHQgKDE2IHBhZCArIDI0IGljb24gKyAzMiBtYXJnaW4pXG4gIH1cblxuICAvLyBzZWNvbmQgaWNvbi9sYWJlbCwgb3Igb25seSBpY29uL2xhYmVsIG1hcmtlZCBhcyAncHVsbC0qLXJpZ2h0Jywgb3IgYW55IGRpcmVjdCBjaGlsZCBlbGVtZW50IG1hcmtlZCBhcyByaWdodFxuICA+IC5wdWxsLXhzLXJpZ2h0LFxuICA+IC5wdWxsLXNtLXJpZ2h0LFxuICA+IC5wdWxsLW1kLXJpZ2h0LFxuICA+IC5wdWxsLWxnLXJpZ2h0LFxuICA+IC5wdWxsLXhsLXJpZ2h0LFxuICA+ICogfiAubGFiZWw6bGFzdC1jaGlsZCxcbiAgPiAqIH4gLm1hdGVyaWFsLWljb25zOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1yaWdodDogMDsgLy8gc29tZSB2YXJpYXRpb25zIGFjdHVhbGx5IG1hdGNoIHRoZSBmaXJzdC1jaGlsZFxuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICB9XG5cbiAgLy8gYWRkIHRoZSBwYWRkaW5nIHRvIGljb25zIChtYXJnaW4tbGVmdCBpcyB1c2VkIGZvciBhbGlnbm1lbnQpXG4gIC5tYXRlcmlhbC1pY29ucy5wdWxsLXhzLXJpZ2h0LCAvLyBuZWVkIHRoZSBzcGVjaWZpY2l0eVxuICAubWF0ZXJpYWwtaWNvbnMucHVsbC1zbS1yaWdodCxcbiAgLm1hdGVyaWFsLWljb25zLnB1bGwtbWQtcmlnaHQsXG4gIC5tYXRlcmlhbC1pY29ucy5wdWxsLWxnLXJpZ2h0LFxuICAubWF0ZXJpYWwtaWNvbnMucHVsbC14bC1yaWdodCxcbiAgLm1hdGVyaWFsLWljb25zIH4gLm1hdGVyaWFsLWljb25zOmxhc3QtY2hpbGQge1xuICAgIHBhZGRpbmctbGVmdDogMXJlbTsgLy8gZ3VhcmFudGVlIHNwYWNlIHBlciBzcGVjXG4gIH1cbiAgLy8tLS0tLS1cblxuICAubGlzdC1ncm91cC1pdGVtLWhlYWRpbmcge1xuICAgIC8vZm9udC1zaXplOiAxcmVtO1xuICB9XG5cbiAgLmxpc3QtZ3JvdXAtaXRlbS10ZXh0IHtcbiAgICBmb250LXNpemU6IC44NzVyZW07XG4gICAgY29sb3I6ICRncmF5O1xuICB9XG59XG4iLCIvLyBCUzQgaGFzIG5vdCB5ZXQgY29udmVydGVkIHRoZSBmb2xsb3dpbmcgdG8gdmFyaWFibGVzIC0ga2VlcCBhbiBleWUgb24gaXQgYW5kIG1vdmUgdG8gdmFyaWFibGVzIHdoZW4gcG9zc2libGUuXG4udGhlYWQtaW52ZXJzZSB7XG4gIHRoIHtcbiAgICAvL2NvbG9yOiAkYm1kLWludmVyc2U7IC8vICNmZmY7XG4gICAgLy9iYWNrZ3JvdW5kLWNvbG9yOiAkZ3JheS1kYXJrO1xuICB9XG59XG4udGhlYWQtZGVmYXVsdCB7XG4gIHRoIHtcbiAgICAvL2NvbG9yOiAkZ3JheTtcbiAgICAvL2JhY2tncm91bmQtY29sb3I6ICRibWQtaW52ZXJzZS1saWdodGVyOyAvLyRncmF5LWxpZ2h0ZXI7XG4gIH1cbn1cblxuLnRhYmxlLWludmVyc2Uge1xuICBjb2xvcjogJGJtZC1pbnZlcnNlLWxpZ2h0OyAvLyRncmF5LWxpZ2h0ZXI7XG4gIC8vYmFja2dyb3VuZC1jb2xvcjogJGdyYXktZGFyaztcblxuICAvL3RoLFxuICAvL3RkLFxuICAvL3RoZWFkIHRoIHtcbiAgLy8gIGJvcmRlci1jb2xvcjogJGdyYXk7XG4gIC8vfVxufVxuXG5cbiIsIi8vIGh0dHBzOi8vd3d3Lmdvb2dsZS5jb20vZGVzaWduL3NwZWMvY29tcG9uZW50cy90YWJzLmh0bWwjdGFicy1zcGVjc1xuXG4ubmF2LWxpbmsge1xuICAvL2xpbmUtaGVpZ2h0OiAkYm1kLW5hdi1saW5rLWxpbmUtaGVpZ2h0OyAvLyBzZXQgYmFzZWxpbmUgbGluZS1oZWlnaHQgYW5kIGZvbnQgc2l6ZXNcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cblxuLy8gbmF2YmFyc1xuLm5hdmJhci1uYXYge1xuICAubmF2LWxpbmsge1xuICAgIHBhZGRpbmc6ICRibWQtbmF2YmFyLWxpbmstcGFkZGluZztcbiAgICBmb250LXNpemU6ICRibWQtbmF2YmFyLWxpbmstZm9udC1zaXplO1xuICAgIGZvbnQtd2VpZ2h0OiAkYm1kLW5hdmJhci1saW5rLWZvbnQtd2VpZ2h0O1xuICB9XG59XG5cblxuLy8gcGlsbHMgYW5kIHRhYnNcbi5uYXYtdGFicyxcbi5uYXYtcGlsbHMge1xuICBib3JkZXI6IDA7XG5cbiAgLm5hdi1saW5rIHtcbiAgICBwYWRkaW5nOiAkYm1kLW5hdi10YWJzLXBpbGxzLWxpbmstcGFkZGluZztcbiAgICBmb250LXNpemU6ICRibWQtbmF2LXRhYnMtcGlsbHMtZm9udC1zaXplO1xuICAgIGZvbnQtd2VpZ2h0OiAkYm1kLW5hdi10YWJzLXBpbGxzLWZvbnQtd2VpZ2h0O1xuICAgIGJvcmRlcjogMDtcbiAgfVxufVxuXG4vLyB0YWJzIG9ubHlcbi5uYXYtdGFicyB7XG4gIC5uYXYtbGluayB7XG4gICAgYm9yZGVyLWJvdHRvbTogJGJtZC1uYXYtdGFicy1ib3JkZXItc2l6ZSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgfVxuXG4gIC8vIGNvbG9yc1xuICBAaW5jbHVkZSBibWQtdGFicy1jb2xvcigkYm1kLW5hdi10YWJzLWNvbG9yLCAkYm1kLW5hdi10YWJzLWFjdGl2ZS1jb2xvciwgJGJtZC1uYXYtdGFicy1hY3RpdmUtYm9yZGVyLWNvbG9yLCAkYm1kLW5hdi10YWJzLWRpc2FibGVkLWxpbmstY29sb3IsICRibWQtbmF2LXRhYnMtZGlzYWJsZWQtbGluay1jb2xvci1ob3Zlcik7XG5cbiAgJi5iZy1wcmltYXJ5IHtcbiAgICBAaW5jbHVkZSBibWQtdGFicy1jb2xvcigkYm1kLW5hdi10YWJzLXByaW1hcnktY29sb3IsICRibWQtbmF2LXRhYnMtcHJpbWFyeS1hY3RpdmUtY29sb3IsICRibWQtbmF2LXRhYnMtcHJpbWFyeS1hY3RpdmUtYm9yZGVyLWNvbG9yLCAkYm1kLW5hdi10YWJzLXByaW1hcnktZGlzYWJsZWQtbGluay1jb2xvciwgJGJtZC1uYXYtdGFicy1wcmltYXJ5LWRpc2FibGVkLWxpbmstY29sb3ItaG92ZXIpO1xuICB9XG5cbiAgJi5iZy1pbnZlcnNlIHtcbiAgICBAaW5jbHVkZSBibWQtdGFicy1jb2xvcigkYm1kLW5hdi10YWJzLWludmVyc2UtY29sb3IsICRibWQtbmF2LXRhYnMtaW52ZXJzZS1hY3RpdmUtY29sb3IsICRibWQtbmF2LXRhYnMtaW52ZXJzZS1hY3RpdmUtYm9yZGVyLWNvbG9yLCAkYm1kLW5hdi10YWJzLWludmVyc2UtZGlzYWJsZWQtbGluay1jb2xvciwgJGJtZC1uYXYtdGFicy1pbnZlcnNlLWRpc2FibGVkLWxpbmstY29sb3ItaG92ZXIpO1xuICB9XG59XG5cbi8vIHVzZWQgdG8gY29ycmVjdGx5IHNpemUgcmlwcGxlIGNvbnRhaW5lclxuLm5hdiB7XG4gIC5uYXYtaXRlbSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG59XG4iLCJAbWl4aW4gYm1kLXRhYnMtY29sb3IoJGNvbG9yLCAkYWN0aXZlLWNvbG9yLCAkYWN0aXZlLWJvcmRlciwgJGRpc2FibGVkLWxpbmstY29sb3IsICRkaXNhYmxlZC1saW5rLWhvdmVyLWNvbG9yKSB7XG4gIC5uYXYtbGluayB7XG5cbiAgICBjb2xvcjogJGNvbG9yO1xuXG4gICAgJi5hY3RpdmUge1xuICAgICAgY29sb3I6ICRhY3RpdmUtY29sb3I7XG4gICAgICBib3JkZXItY29sb3I6ICRhY3RpdmUtYm9yZGVyO1xuICAgICAgQGluY2x1ZGUgaG92ZXItZm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6ICRhY3RpdmUtYm9yZGVyO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIERpc2FibGVkIHN0YXRlIGxpZ2h0ZW5zIHRleHQgYW5kIHJlbW92ZXMgaG92ZXIvdGFiIGVmZmVjdHNcbiAgICAmLmRpc2FibGVkIHtcbiAgICAgIGNvbG9yOiAkZGlzYWJsZWQtbGluay1jb2xvcjtcblxuICAgICAgQGluY2x1ZGUgcGxhaW4taG92ZXItZm9jdXMge1xuICAgICAgICBjb2xvcjogJGRpc2FibGVkLWxpbmstaG92ZXItY29sb3I7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIubmF2YmFyIHtcbiAgei1pbmRleDogMTsgLy8gcmVxdWlyZWQgdG8gbWFrZSB0aGUgc2hhZG93IG92ZXJsYXAgdGhlIGJlbG93IGNvbnRlbnQgKG5lZWQgaXMgdmlzaWJsZSBpbiBtb2JpbGUgZHJhd2VyIG92ZXJsYXkpXG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgQGluY2x1ZGUgYm94LXNoYWRvdygkYm1kLXNoYWRvdy0yZHApO1xuXG4gIC8vIGdpdmUgY29ycmVjdCBzaXplIHRvIHJpcHBsZSBjb250YWluZXJcbiAgLm5hdmJhci1icmFuZCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG5cbiAgLy8gIzg1MyBzdGFydCAtIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9wdWxsLzE4OTc2L2ZpbGVzXG4gIEBpZiAkZW5hYmxlLWZsZXgge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgYWxpZ24tc2VsZjogc3RyZXRjaDtcblxuICAgID4gKiB7XG4gICAgICBmbGV4LXNocmluazogMDtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICB9XG4gIC8vICM4NTMgZW5kIC0gaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL3B1bGwvMTg5NzYvZmlsZXNcblxuICA+IC5jb250YWluZXIge1xuICAgIGZsZXg6IDE7XG4gIH1cbn1cbiIsIi5hbGVydCB7XG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXJhZGl1czogMDtcbn1cbiIsIlxuLnByb2dyZXNzIHtcbiAgaGVpZ2h0OiA0cHg7XG4gIGJhY2tncm91bmQ6ICNjOGM4Yzg7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIC5wcm9ncmVzcy1iYXIge1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgLy9AaW5jbHVkZSB2YXJpYXRpb25zKHVucXVvdGUoXCIucHJvZ3Jlc3MtYmFyXCIpLCB1bnF1b3RlKFwiXCIpLCBiYWNrZ3JvdW5kLWNvbG9yLCAkYnJhbmQtcHJpbWFyeSk7XG4gIH1cbn1cbiIsIi5wYWdlLWl0ZW0ge1xuICAmOmZpcnN0LWNoaWxkIC5wYWdlLWxpbmsge1xuICAgIEBpbmNsdWRlIGJvcmRlci1sZWZ0LXJhZGl1cyg0ZW0pO1xuICB9XG4gICY6bGFzdC1jaGlsZCAucGFnZS1saW5rIHtcbiAgICBAaW5jbHVkZSBib3JkZXItcmlnaHQtcmFkaXVzKDRlbSk7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICB9XG5cbiAgJjpmaXJzdC1jaGlsZCxcbiAgJjpsYXN0LWNoaWxkIHtcbiAgICAucGFnZS1saW5rIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICA+IC5tYXRlcmlhbC1pY29ucyB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS41ZW07XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5wYWdlLWxpbmsge1xuICBtaW4td2lkdGg6IDIuNmVtO1xuICBtYXJnaW4tcmlnaHQ6IDAuNWVtO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJvcmRlci1yYWRpdXM6IDRlbTtcblxuICBAaW5jbHVkZSBob3Zlci1mb2N1cyB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG59XG5cblxuLy9cbi8vIFNpemluZ1xuLy9cblxuLnBhZ2luYXRpb24tbGcge1xuICAucGFnZS1saW5rIHtcbiAgICBtaW4td2lkdGg6IDIuOGVtO1xuICB9XG4gIEBpbmNsdWRlIHBhZ2luYXRpb24tc2l6ZSgkcGFnaW5hdGlvbi1wYWRkaW5nLXktbGcsICRwYWdpbmF0aW9uLXBhZGRpbmcteC1sZywgJGZvbnQtc2l6ZS1sZywgJGxpbmUtaGVpZ2h0LWxnLCA0ZW0pO1xufVxuXG4ucGFnaW5hdGlvbi1zbSB7XG4gIC5wYWdlLWxpbmsge1xuICAgIG1pbi13aWR0aDogMi4yZW07XG4gIH1cbiAgQGluY2x1ZGUgcGFnaW5hdGlvbi1zaXplKCRwYWdpbmF0aW9uLXBhZGRpbmcteS1zbSwgJHBhZ2luYXRpb24tcGFkZGluZy14LXNtLCAkZm9udC1zaXplLXNtLCAkbGluZS1oZWlnaHQtc20sIDRlbSk7XG59XG4iLCIvLyBUaGlzIG5lZWRzIHJldmlldywgaW5jbHVkaW5nIGNvbG9yczogaHR0cHM6Ly93d3cuZ29vZ2xlLmNvbS9kZXNpZ24vc3BlYy9zdHlsZS90eXBvZ3JhcGh5Lmh0bWwjdHlwb2dyYXBoeS1zdHlsZXNcblxuLy8gYWRqdXN0IHVwIHRoZSBoNiB3ZWlnaHRcbmg2IHtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbn1cbiIsIi8vaHR0cHM6Ly93d3cuZ29vZ2xlLmNvbS9kZXNpZ24vc3BlYy9jb21wb25lbnRzL2NhcmRzLmh0bWwjY2FyZHMtY29udGVudC1ibG9ja3Ncbi8vIENhcmQgcmVzdGluZyBlbGV2YXRpb246IDJkcFxuLmNhcmQge1xuICBib3JkZXI6IDA7XG5cbiAgLy8gQ2FyZHMgaGF2ZSBhIGRlZmF1bHQgZWxldmF0aW9uIG9mIDJkcC5cbiAgQGluY2x1ZGUgYm94LXNoYWRvdygkYm1kLXNoYWRvdy0yZHApO1xuICBAZXh0ZW5kICVzdGQtZm9udDtcblxuICAvLyBzcGVjOiBzZWUgXCJBdmF0YXIsIFRpdGxlLCBhbmQgU3VidGl0bGUgYXJlYVwiXG4gIC8vIEhlaWdodDogNzJkcFxuICAvLyBQYWRkaW5nOiAxNmRwXG4gIC8vIFRvcCBhbmQgYm90dG9tIHBhZGRpbmc6IDE2ZHBcbiAgLmNhcmQtaGVhZGVyIHtcbiAgICBwYWRkaW5nOiAxcmVtO1xuICB9XG5cbiAgLmNhcmQtYmxvY2sge1xuICAgIHBhZGRpbmc6IDEuNXJlbSAxcmVtIDFyZW07XG4gICAgLy9AZXh0ZW5kICVzdGQtZm9udDtcbiAgfVxuXG4gIC8vIFByaW1hcnkgdGl0bGUvdGV4dFxuICAvLyAgLSBUaXRsZTogMjRzcCBvciAxNHNwXG4gIC8vICAtIFN1YnRpdGxlOiAxNHNwXG5cbiAgLy8gbm9uLWgqIGNhcmQtdGl0bGVzIHdpbGwgYmUgMTRzcFxuICAvLyYuY2FyZC10aXRsZSB7XG4gIC8vICBAZXh0ZW5kICVzdGQtZm9udDtcbiAgLy99XG5cbiAgLy8gYW55IGgqIHdpbGwgc2lnbmFsIHRoZSBsYXJnZXIgc2l6ZSBzaG91bGQgcmVuZGVyIGFzIDI0c3BcbiAgQGluY2x1ZGUgaGVhZGluZ3MoKSB7XG4gICAgJi5jYXJkLXRpdGxlIHtcbiAgICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICB9XG4gIH1cblxuICAuYm1kLWNhcmQtYWN0aW9ucywgLy8gbmVlZGVkPyAgaWYgeW91IGhhdmUgYWN0aW9ucyBpbiB0aGUgbWlkZGxlIG9mIHRoZSBjYXJkIChzZWUgc3BlYyksIGl0IG1heSBiZSBuZWNlc3NhcnlcbiAgLmNhcmQtZm9vdGVyIHsgLy8gYXNzdW1lIGZvb3RlciBpcyB0aGUgc2V0IG9mIGFjdGlvbnM/XG4gICAgcGFkZGluZzogLjVyZW07XG4gIH1cblxuICAmLmJtZC1jYXJkLXJhaXNlZCB7XG4gICAgLy8gQ2FyZCByYWlzZWQgZWxldmF0aW9uOiA4ZHBcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRibWQtc2hhZG93LThkcCk7XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XG4gICAgLy8gT24gZGVza3RvcCwgY2FyZHMgY2FuIGhhdmUgYSByZXN0aW5nIGVsZXZhdGlvbiBvZiAwZHAgYW5kIGdhaW4gYW4gZWxldmF0aW9uIG9mIDhkcCBvbiBob3Zlci5cbiAgICAmLmJtZC1jYXJkLWZsYXQge1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICB9XG4gIH1cbn1cblxuXG4iLCIvLyBNb2RhbHNcbi8vIGh0dHBzOi8vd3d3Lmdvb2dsZS5jb20vZGVzaWduL3NwZWMvY29tcG9uZW50cy9kaWFsb2dzLmh0bWwjZGlhbG9ncy1zcGVjc1xuXG4ubW9kYWwtY29udGVudCB7XG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXM7XG5cbiAgLm1vZGFsLWhlYWRlciB7XG4gICAgcGFkZGluZzogMjRweCAyNHB4IDA7XG4gICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgfVxuICAubW9kYWwtYm9keSB7XG4gICAgcGFkZGluZzogMjBweCAyNHB4IDI0cHg7XG4gIH1cbiAgLm1vZGFsLWZvb3RlciB7XG4gICAgcGFkZGluZzogOHB4IDhweCA4cHggMjRweDtcbiAgICBib3JkZXItdG9wOiAwO1xuICAgIC5idG4ge1xuICAgICAgbWFyZ2luOiAwO1xuICAgIH1cblxuICAgIC5idG4gKyAuYnRuIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiA4cHg7XG4gICAgfVxuICB9XG59XG4iLCIvLyBNZW51cyBodHRwczovL3d3dy5nb29nbGUuY29tL2Rlc2lnbi9zcGVjL2NvbXBvbmVudHMvbWVudXMuaHRtbCNtZW51cy1zcGVjc1xuLy8gRHJvcGRvd24gYnV0dG9ucyAobW9iaWxlIGFuZCBkZXNrdG9wKSBodHRwczovL3d3dy5nb29nbGUuY29tL2Rlc2lnbi9zcGVjL2NvbXBvbmVudHMvYnV0dG9ucy5odG1sI2J1dHRvbnMtZHJvcGRvd24tYnV0dG9uc1xuXG5AbWl4aW4gbWVudS1ib3R0b20tbGVmdCB7XG4gIHRvcDogMTAwJTtcbiAgbGVmdDogMDtcbiAgdHJhbnNmb3JtLW9yaWdpbjogMCAwO1xufVxuXG5AbWl4aW4gbWVudS1ib3R0b20tcmlnaHQge1xuICByaWdodDogMDtcbiAgbGVmdDogYXV0bztcbiAgdHJhbnNmb3JtLW9yaWdpbjogMTAwJSAwO1xufVxuXG4uZHJvcGRvd24tbWVudSB7XG4gIGRpc3BsYXk6IGJsb2NrOyAvLyB1dGlsaXplIHRyYW5zaXRpb24gdHJhbnNmb3JtIGluc3RlYWQgb2YgZmxpcHBpbmcgZGlzcGxheVxuICBwYWRkaW5nOiAuMjVyZW0gMDtcbiAgYm9yZGVyOiAwO1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gJGJtZC1tZW51LWV4cGFuZC1kdXJhdGlvbiAkYm1kLWFuaW1hdGlvbi1jdXJ2ZS1kZWZhdWx0LCBvcGFjaXR5ICRibWQtbWVudS1mYWRlLWR1cmF0aW9uICRibWQtYW5pbWF0aW9uLWN1cnZlLWRlZmF1bHQ7XG4gIHRyYW5zZm9ybTogc2NhbGUoMCk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IDAgMDtcbiAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybTtcblxuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XG4gICAgcGFkZGluZzogLjVyZW0gMDtcbiAgfVxuXG4gIC5vcGVuID4gJiB7XG4gICAgLy96LWluZGV4OiA5OTk7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICB9XG5cbiAgLy8gRGVmYXVsdCB0aGUgYWxpZ25tZW50IG9mIHRoZSBkcm9wZG93biB0byBvcmlnaW5hdGUgb24gdGhlIGJvdHRvbSByaWdodCBvZiB0aGUgYnV0dG9uXG4gIEBpbmNsdWRlIG1lbnUtYm90dG9tLXJpZ2h0KCk7XG4gIC8vIEZJWE1FOiBib290c3RyYXAgYWxpZ25tZW50IGlzc3VlIC0gaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xODg1MlxuXG4gICYuZHJvcGRvd24tbWVudS1sZWZ0IHtcbiAgICBAaW5jbHVkZSBtZW51LWJvdHRvbS1sZWZ0KCk7XG4gIH1cblxuICAmLmRyb3Bkb3duLW1lbnUtcmlnaHQge1xuICAgIEBpbmNsdWRlIG1lbnUtYm90dG9tLXJpZ2h0KCk7XG4gIH1cblxuICAvLyYuZHJvcGRvd24tbWVudS10b3AtbGVmdCB7XG4gIC8vICB0b3A6IGF1dG87XG4gIC8vICBib3R0b206IDA7ICAvLyBuZWVkcyB0byBiZSBvdmVycmlkZGVuIHdpdGggdGhlIHRvZ2dsZS1idXR0b24gaGVpZ2h0LCBzZWUgYm1kLWJ0bi1pY29uIGFib3ZlXG4gIC8vICB0cmFuc2Zvcm0tb3JpZ2luOiAwIDEwMCU7XG4gIC8vfVxuICAvL1xuICAvLyYuZHJvcGRvd24tbWVudS10b3AtcmlnaHQge1xuICAvLyAgdG9wOiBhdXRvO1xuICAvLyAgcmlnaHQ6IDA7XG4gIC8vICBib3R0b206IDA7ICAvLyBuZWVkcyB0byBiZSBvdmVycmlkZGVuIHdpdGggdGhlIHRvZ2dsZS1idXR0b24gaGVpZ2h0LCBzZWUgYm1kLWJ0bi1pY29uIGFib3ZlXG4gIC8vICBsZWZ0OiBhdXRvO1xuICAvLyAgdHJhbnNmb3JtLW9yaWdpbjogMTAwJSAxMDAlO1xuICAvL31cblxuICAvLyBodHRwczovL3d3dy5nb29nbGUuY29tL2Rlc2lnbi9zcGVjL2NvbXBvbmVudHMvbWVudXMuaHRtbCNtZW51cy1zcGVjc1xuICAuZHJvcGRvd24taXRlbSB7XG4gICAgLy8gdXNlZCB0byBwcm9wZXJseSBzaXplIHRoZSByaXBwbGUgY29udGFpbmVyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICBtaW4td2lkdGg6ICRibWQtbWVudS1pdGVtLW1pbi13aWR0aDtcbiAgICBtYXgtd2lkdGg6ICRibWQtbWVudS1pdGVtLW1heC13aWR0aDtcbiAgICBtaW4taGVpZ2h0OiAkYm1kLW1lbnUtaXRlbS1taW4taGVpZ2h0O1xuXG4gICAgcGFkZGluZzogJGJtZC1tZW51LWl0ZW0tcGFkZGluZy10b3AgJGJtZC1tZW51LWl0ZW0tcGFkZGluZy1yaWdodCAkYm1kLW1lbnUtaXRlbS1wYWRkaW5nLWJvdHRvbSAkYm1kLW1lbnUtaXRlbS1wYWRkaW5nLWxlZnQ7XG5cbiAgICAvLyBGSVhNRTogbXVsdGktbGluZSBtZW51IHdvcmQgd3JhcHBpbmcgZG9lc24ndCB3b3JrIC0gc2VlIHRoZSBtYXhpbXVtIHdpZHRoIGV4YW1wbGUgaW4gbWVudXMubWRcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGxpbmUtaGVpZ2h0OiAkYm1kLW1lbnUtbGluZS1oZWlnaHQ7XG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgd29yZC13cmFwOiBicmVhay13b3JkO1xuXG5cbiAgICAvLyBTaW1wbGUgbWVudXMgYWx3YXlzIG1haW50YWluIGEgMTZkcCBtYXJnaW4gKHBob25lKSBvciAyNGRwIG1hcmdpbiAodGFibGV0KSB0byB0aGUgbGVmdCBhbmQgcmlnaHQgZWRnZXMgb2YgdGhlIHNjcmVlbi5cbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAkYm1kLW1lbnUtaXRlbS1wYWRkaW5nLXJpZ2h0LW1kO1xuICAgICAgcGFkZGluZy1sZWZ0OiAkYm1kLW1lbnUtaXRlbS1wYWRkaW5nLWxlZnQtbWQ7XG4gICAgfVxuICB9XG59XG5cblxuLy8gdGhpcyBjb3VsZCBiZSBpbiBhIC5idG4tZ3JvdXAgb3IgLmRyb3Bkb3duXG4uZHJvcGRvd24tdG9nZ2xlIHtcblxuICAmLmJtZC1idG4taWNvbixcbiAgJi5ibWQtYnRuLWZhYiB7XG4gICAgLy8gcmVtb3ZlIHRoZSBkcm9wZG93biBpY29uXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICB+IC5kcm9wZG93bi1tZW51IHtcbiAgICAgICYuZHJvcGRvd24tbWVudS10b3AtbGVmdCxcbiAgICAgICYuZHJvcGRvd24tbWVudS10b3AtcmlnaHQge1xuICAgICAgICBib3R0b206ICRibWQtYnRuLWljb24tc2l6ZTsgLy8gcHVzaCB1cCB0aGUgYm90dG9tIG9mIHRoZSBtZW51IHRoZSBoZWlnaHQgb2YgdGhlIGJ1dHRvblxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYuYm1kLWJ0bi1mYWItc20ge1xuICAgIH4gLmRyb3Bkb3duLW1lbnUge1xuICAgICAgJi5kcm9wZG93bi1tZW51LXRvcC1sZWZ0LFxuICAgICAgJi5kcm9wZG93bi1tZW51LXRvcC1yaWdodCB7XG4gICAgICAgIGJvdHRvbTogJGJtZC1idG4tZmFiLXNpemUtc207IC8vIHB1c2ggdXAgdGhlIGJvdHRvbSBvZiB0aGUgbWVudSB0aGUgaGVpZ2h0IG9mIHRoZSBidXR0b25cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmLmJtZC1idG4taWNvbiB7XG4gICAgfiAuZHJvcGRvd24tbWVudSB7XG4gICAgICAvLyBjb2xsYXBzZSBzb21lIHNwYWNpbmdcbiAgICAgIG1hcmdpbjogMDtcbiAgICB9XG4gIH1cbn1cbiIsIiRibWQtbWVudS1saW5lLWhlaWdodDogMSAhZGVmYXVsdDsgLy8gbWFrZXMgaXQgZWFzaWVyIHRvIHVzZSBzaXplcyB0byBtYXRjaCBzcGVjXG5cbiRibWQtbWVudS1pdGVtLW1pbi13aWR0aDogN3JlbSAhZGVmYXVsdDsgLy8gTWluaW11bSB3aWR0aCBvbiBtb2JpbGUgPSAyICogNTZkcCA9IDExMmRwXG4kYm1kLW1lbnUtaXRlbS1tYXgtd2lkdGg6IDE3LjVyZW0gIWRlZmF1bHQ7IC8vIE1heGltdW0gd2lkdGggb24gbW9iaWxlIChpbiBib3RoIHBvcnRyYWl0IGFuZCBsYW5kc2NhcGUpID0gNSAqIDU2ZHAgPSAyODBkcFxuJGJtZC1tZW51LWl0ZW0tbWluLWhlaWdodDogM3JlbSAhZGVmYXVsdDsgLy8gNDhweFxuXG4kYm1kLW1lbnUtaXRlbS1wYWRkaW5nLXJpZ2h0OiAxcmVtICFkZWZhdWx0O1xuJGJtZC1tZW51LWl0ZW0tcGFkZGluZy1ib3R0b206IC44cmVtICFkZWZhdWx0O1xuJGJtZC1tZW51LWl0ZW0tcGFkZGluZy1sZWZ0OiAxcmVtICFkZWZhdWx0O1xuJGJtZC1tZW51LWl0ZW0tcGFkZGluZy10b3A6IC44cmVtICFkZWZhdWx0O1xuXG4vLyBtZCBhbmQgdXBcbiRibWQtbWVudS1pdGVtLXBhZGRpbmctcmlnaHQtbWQ6IDEuNXJlbSAhZGVmYXVsdDtcbiRibWQtbWVudS1pdGVtLXBhZGRpbmctbGVmdC1tZDogMS41cmVtICFkZWZhdWx0O1xuXG4vLyBNZW51XG4kYm1kLW1lbnUtZXhwYW5kLWR1cmF0aW9uOiAwLjNzICFkZWZhdWx0O1xuJGJtZC1tZW51LWZhZGUtZHVyYXRpb246IDAuMnMgIWRlZmF1bHQ7XG4iLCIvLyBJbXBsZW1lbnRhdGlvbiBzcGVjaWZpY2F0aW9uIGluIGh0dHBzOi8vZ2l0aHViLmNvbS9GZXpWcmFzdGEvYm9vdHN0cmFwLW1hdGVyaWFsLWRlc2lnbi9pc3N1ZXMvODIyXG5cbi8vIERyYXdlci5cbi5ibWQtbGF5b3V0LWRyYXdlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogNTsgLy8gb3ZlciBhIGhlYWRlciBhbmQgY29udGVudFxuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBkaXNwbGF5OiBmbGV4O1xuXG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGZsZXgtd3JhcDogbm93cmFwO1xuXG4gIG1heC1oZWlnaHQ6IDEwMCU7XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuICBvdmVyZmxvdy15OiBhdXRvO1xuICBmb250LXNpemU6IC44NzVyZW07XG4gIC8vY29sb3I6ICRibWQtbGF5b3V0LWRyYXdlci10ZXh0LWNvbG9yO1xuICAvL2JhY2tncm91bmQ6ICRibWQtbGF5b3V0LWRyYXdlci1iZy1jb2xvcjtcblxuICAvLyBUcmFuc2Zvcm0gb2Zmc2NyZWVuLlxuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm07XG4gIHdpbGwtY2hhbmdlOiB0cmFuc2Zvcm07XG4gIHRyYW5zZm9ybS1zdHlsZTogcHJlc2VydmUtM2Q7XG4gIEBpbmNsdWRlIGJveC1zaGFkb3coJGJtZC1zaGFkb3ctMmRwKTtcbiAgQGluY2x1ZGUgbWF0ZXJpYWwtYW5pbWF0aW9uLWRlZmF1bHQoKTtcblxuICA+ICoge1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuICB9XG5cbiAgLy8gUGxhY2VtZW50IG9mIGNvbW1vbiBjb21wb25lbnRzIHdpdGhpbiB0aGUgZHJhd2VyXG4gIC8vICBZb3UgbWlnaHQgc2F5IHRoaXMgaXMgb3BpbmlvbmF0ZWQgLSBmZWVkYmFjayB3ZWxjb21lLlxuICA+IGhlYWRlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgcGFkZGluZzogMXJlbTtcblxuICAgIC5uYXZiYXItYnJhbmQge1xuICAgICAgcGFkZGluZy1sZWZ0OiAxLjVyZW07XG4gICAgICBmb250LXNpemU6IDEuMjVyZW07XG4gICAgfVxuICB9XG5cbiAgPiAubGlzdC1ncm91cCB7XG4gICAgcGFkZGluZy10b3A6IDFyZW07XG5cbiAgICAubGlzdC1ncm91cC1pdGVtIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDIuNXJlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogMi41cmVtO1xuICAgICAgZm9udC1zaXplOiAuODEyNXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgfVxuICB9XG59XG5cbi8vLS0tLS0tLS0tLS0tLS0tLVxuLy8gU2l6aW5nIGFuZCBwb3NpdGlvbmluZyBiZWxvdyBoZXJlXG5cbi8vIGZvciBsZWZ0IG9yIHJpZ2h0IGRyYXdlcnMsIHNldHVwIHdpZHRocywgaGVpZ2h0cyBhbmQgcG9zaXRpb25zXG5AaW5jbHVkZSBibWQtZHJhd2VyLXgtb3V0KCRibWQtZHJhd2VyLXgtc2l6ZSk7XG5cbi8vIGZvciB0b3Agb3IgYm90dG9tIGRyYXdlcnMsIHNldHVwIHdpZHRocywgaGVpZ2h0cyBhbmQgcG9zaXRpb25zXG5AaW5jbHVkZSBibWQtZHJhd2VyLXktb3V0KCRibWQtZHJhd2VyLXktc2l6ZSk7XG5cbi8vIE1hcmtlciBjbGFzcyBmb3IgYm90aCB0cmlnZ2VyaW5nIHRoZSBvcGVuaW5nIG9mIHRoZSBkcmF3ZXIgKGkuZS4gamF2YXNjcmlwdCAjYWRkQ2xhc3MoJy5ibWQtZHJhd2VyLWluJykpLCBhcyB3ZWxsXG4vLyAgYXMgcmVzcG9uc2l2ZSBzaXplcyAoaS5lLiBibWQtZHJhd2VyLWluLW1kIHdpbGwgb3BlbiBvbmNlIHRoZSBicm93c2VyIGlzIHdpZGVyIHRoYW4gNzY4cHgpLlxuLy9cbi8vXG4vLyBibWQtZHJhd2VyLWluLCBibWQtZHJhd2VyLWluLXNtLCBibWQtZHJhd2VyLWluLW1kLCBibWQtZHJhd2VyLWluLWxnXG4vLyAgV2UgaXRlcmF0ZSBvdmVyIHRoZSBzdGFuZGFyZCBncmlkIGJyZWFrcG9pbnRzLCBidXQgd2UgYWxzbyBuZWVkIHN0eWxlcyBmb3IgdGhlIHNpbXBsZXIgYGJtZC1kcmF3ZXItaW5gXG4vLyAgd2l0aG91dCBhIHNpemUgKGZvciB0cmlnZ2VyZWQgb3BlbmluZ3MpLiAgU2luY2UgdGhlIHhzIHNpemUgaXMgMCwgaW5zdGVhZCBvZiB1c2luZyBgYm1kLWRyYXdlci1pbi14c2Bcbi8vICAod2hpY2ggaXMgbW9zdGx5IG1lYW5pbmdsZXNzKSwgd2UgY3JlYXRlIGBibWQtZHJhd2VyLWluYCBtZWFuaW5nIGFsd2F5cyBvcGVuLlxuLy9cbi8vICBOT1RFOiBibWQtZHJhd2VyLWluLSogdXNlcyBtZWRpYS1icmVha3BvaW50LXVwKClcbi8vXG4vLyBibWQtZHJhd2VyLW91dFxuLy8gIEEgbWFya2VyIGNsYXNzIHRoYXQgd2lsbCBfZm9yY2VfIHRoZSBkcmF3ZXIgY2xvc2VkIHJlZ2FyZGxlc3Mgb2YgdGhlIHJlc3BvbnNpdmUgY2xhc3MgcHJlc2VudC4gSWYgKGZvciBzb21lXG4vLyAgc3RyYW5nZSByZWFzb24pIGJvdGggYm1kLWRyYXdlci1vdXQgYW5kIGJtZC1kcmF3ZXItaW4gYXJlIHByZXNlbnQsIGl0IGFwcGVhcnMgdGhhdCB0aGUgY2xvc2VkIG9wdGlvbiB3aW5zLlxuLy9cbi8vIGJtZC1kcmF3ZXItb3ZlcmxheSwgYm1kLWRyYXdlci1vdmVybGF5LXNtLCBibWQtZHJhd2VyLW92ZXJsYXktbWQsIGJtZC1kcmF3ZXItb3ZlcmxheS1sZ1xuLy8gIFdlIGl0ZXJhdGUgb3ZlciB0aGUgc3RhbmRhcmQgZ3JpZCBicmVha3BvaW50cywgYnV0IHdlIGFsc28gbmVlZCBzdHlsZXMgZm9yIHRoZSBzaW1wbGVyIGBibWQtZHJhd2VyLW92ZXJsYXlgLlxuLy8gIFNpbmNlIHRoZSB4cyBzaXplIGlzIDAsIGluc3RlYWQgb2YgdXNpbmcgYGJtZC1kcmF3ZXItb3ZlcmxheS14c2AsIHdlIGNyZWF0ZSBgYm1kLWRyYXdlci1vdmVybGF5YCBtZWFuaW5nIGFsd2F5cyBvdmVybGF5LlxuLy9cbi8vICBOT1RFOiBibWQtZHJhd2VyLW92ZXJsYXktKiB1c2VzIG1lZGlhLWJyZWFrcG9pbnQtZG93bigpIC0gdGhpcyBpcyBiZWNhdXNlIHdlIHVzdWFsbHkgd2FudCBhIHJlc3BvbnNpdmUgb3ZlcmxheSB0byBiZSB1c2VkIGluIHNtYWxsIHNjcmVlbiBzY2VuYXJpb3MuXG4vL1xuXG4vL1xuLy8gRHJhd2VyIG9wZW4gcG9zaXRpb25pbmcsIGFuZCBzdHlsZSBvcHRpb25zIChwdXNoIGlzIGRlZmF1bHQsIG92ZXJsYXkgaXMgb3B0aW9uYWwpXG46bm90KC5ibWQtZHJhd2VyLW91dCkgeyAvLyBmaXJzdCBlbGltaW5hdGUgcG9zaXRpb25pbmcgb3Igc2l6aW5nIHJ1bGVzIGlmIHRoZSBkcmF3ZXIgaXMgYWxyZWFkeSBmb3JjZWQgY2xvc2VkXG4gIEBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRncmlkLWJyZWFrcG9pbnRzKSB7XG5cbiAgICBAaW5jbHVkZSBibWQtZHJhd2VyLXgtaW4tdXAoJGJtZC1kcmF3ZXIteC1zaXplLCAkYnJlYWtwb2ludCk7XG4gICAgQGluY2x1ZGUgYm1kLWRyYXdlci15LWluLXVwKCRibWQtZHJhd2VyLXktc2l6ZSwgJGJyZWFrcG9pbnQpO1xuXG4gICAgQGluY2x1ZGUgYm1kLWRyYXdlci14LW92ZXJsYXktZG93bigkYnJlYWtwb2ludCk7XG4gICAgQGluY2x1ZGUgYm1kLWRyYXdlci15LW92ZXJsYXktZG93bigkYnJlYWtwb2ludCk7XG4gIH1cbn1cblxuLy8vLy0tLS1cbi8vLy8gRXhhbXBsZSAxOiBjcmVhdGVzIGEgbWVkaWEgcmVzcG9uc2l2ZSBraXRjaGVuLXNpbmstZHJhd2VyIHRoYXQgcGFpcnMgd2l0aCBibWQtZHJhd2VyLWluLWxnIGFuZCBhbGxvd3MgZm9yIHRoZSBibWQtZHJhd2VyLWluIHRyaWdnZXJcbi8vLmtpdGNoZW4tc2luay1kcmF3ZXIge1xuLy8gICRjdXN0b20tc2l6ZTogNTAwcHg7XG4vLyAgQGluY2x1ZGUgYm1kLWRyYXdlci14LW91dCgkY3VzdG9tLXNpemUpO1xuLy8gICY6bm90KC5ibWQtZHJhd2VyLW91dCkge1xuLy8gICAgQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLWtleXMoJGdyaWQtYnJlYWtwb2ludHMpIHtcbi8vICAgICAgQGluY2x1ZGUgYm1kLWRyYXdlci14LWluLXVwKCRjdXN0b20tc2l6ZSwgJGJyZWFrcG9pbnQpO1xuLy8gICAgfVxuLy8gIH1cbi8vfVxuLy9cbi8vLy9cbi8vLy8tLS0tXG4vLy8vIEV4YW1wbGUgMjogY3JlYXRlcyBhIE5PTi1yZXNwb25zaXZlIGtpdGNoZW4tc2luay1kcmF3ZXIgYW5kIGFsbG93cyBmb3IgdGhlIGJtZC1kcmF3ZXItaW4gdHJpZ2dlclxuLy8ua2l0Y2hlbi1zaW5rLWRyYXdlci1zdGF0aWMge1xuLy8gICRjdXN0b20tc2l6ZTogNTAwcHg7XG4vLyAgQGluY2x1ZGUgYm1kLWRyYXdlci14LW91dCgkY3VzdG9tLXNpemUpOyAvLyBjbG9zZWQgYnkgZGVmYXVsdFxuLy8gIEBpbmNsdWRlIGJtZC1kcmF3ZXIteC1pbigkY3VzdG9tLXNpemUpOyAvLyB0cmlnZ2VyZWQgd2l0aCBibWQtZHJhd2VyLWluXG4vLyAgQGluY2x1ZGUgYm1kLWRyYXdlci14LW92ZXJsYXkoKTsgLy8gb3ZlcmxheSBieSBkZWZhdWx0LCBubyBvdGhlciBjbGFzc2VzIG5lY2Vzc2FyeVxuLy99XG5cbiIsIi8vIE1peGlucyB0byBhbGxvdyBjcmVhdGlvbiBvZiBhZGRpdGlvbmFsIGN1c3RvbSBkcmF3ZXIgc2l6ZXMgd2hlbiB1c2luZyB0aGUgZGVmYXVsdHMgYXQgdGhlIHNhbWUgdGltZVxuXG5AbWl4aW4gYm1kLWRyYXdlci14LW91dCgkc2l6ZSkge1xuICBAZWFjaCAkc2lkZSwgJGFiYnJldiBpbiAobGVmdDogbCwgcmlnaHQ6IHIpIHtcbiAgICAmLmJtZC1kcmF3ZXItZi0jeyRhYmJyZXZ9IHtcbiAgICAgID4gLmJtZC1sYXlvdXQtZHJhd2VyIHtcbiAgICAgICAgLy8gcG9zaXRpb25cbiAgICAgICAgdG9wOiAwO1xuICAgICAgICAjeyRzaWRlfTogMDtcblxuICAgICAgICB3aWR0aDogJHNpemU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcblxuICAgICAgICBAaWYgJHNpZGUgPT0gbGVmdCB7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0kc2l6ZSAtIDEwcHgpOyAvLyBpbml0aWFsIHBvc2l0aW9uIG9mIGRyYXdlciAoY2xvc2VkKSwgd2F5IG9mZiBzY3JlZW5cbiAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKCRzaXplICsgMTBweCk7IC8vIGluaXRpYWwgcG9zaXRpb24gb2YgZHJhd2VyIChjbG9zZWQpLCB3YXkgb2ZmIHNjcmVlblxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgID4gLmJtZC1sYXlvdXQtaGVhZGVyLFxuICAgICAgPiAuYm1kLWxheW91dC1jb250ZW50IHtcbiAgICAgICAgbWFyZ2luLSN7JHNpZGV9OiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gYm1kLWRyYXdlci15LW91dCgkc2l6ZSkge1xuICBAZWFjaCAkc2lkZSwgJGFiYnJldiBpbiAodG9wOiB0LCBib3R0b206IGIpIHtcbiAgICAmLmJtZC1kcmF3ZXItZi0jeyRhYmJyZXZ9IHtcbiAgICAgID4gLmJtZC1sYXlvdXQtZHJhd2VyIHtcbiAgICAgICAgLy8gcG9zaXRpb25cbiAgICAgICAgI3skc2lkZX06IDA7XG4gICAgICAgIGxlZnQ6IDA7XG5cbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogJHNpemU7XG5cbiAgICAgICAgQGlmICRzaWRlID09IHRvcCB7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0kc2l6ZSAtIDEwcHgpOyAvLyBpbml0aWFsIHBvc2l0aW9uIG9mIGRyYXdlciAoY2xvc2VkKSwgd2F5IG9mZiBzY3JlZW5cbiAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKCRzaXplICsgMTBweCk7IC8vIGluaXRpYWwgcG9zaXRpb24gb2YgZHJhd2VyIChjbG9zZWQpLCB3YXkgb2ZmIHNjcmVlblxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgID4gLmJtZC1sYXlvdXQtY29udGVudCB7XG4gICAgICAgIG1hcmdpbi0jeyRzaWRlfTogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQGZ1bmN0aW9uIGJtZC1kcmF3ZXItYnJlYWtwb2ludC1uYW1lKCRicmVha3BvaW50LCAkc3VmZml4OiBcIlwiKSB7XG4gIC8vIGUuZy4gJiwgJi1zbSwgJi1tZCwgJi1sZ1xuICAkbmFtZTogXCImLSN7JGJyZWFrcG9pbnR9I3skc3VmZml4fVwiO1xuICBAaWYgJGJyZWFrcG9pbnQgPT0geHMge1xuICAgICRuYW1lOiBcIiZcIjtcbiAgfVxuICBAcmV0dXJuICRuYW1lO1xufVxuXG5AbWl4aW4gYm1kLWRyYXdlci14LWluKCRzaXplKSB7XG4gIEBlYWNoICRzaWRlLCAkYWJicmV2IGluIChsZWZ0OiBsLCByaWdodDogcikge1xuICAgICYuYm1kLWRyYXdlci1mLSN7JGFiYnJldn0ge1xuICAgICAgLy8gUHVzaCAtIGRyYXdlciB3aWxsIHB1c2ggdGhlIGhlYWRlciBhbmQgY29udGVudCAoZGVmYXVsdCBiZWhhdmlvcilcbiAgICAgID4gLmJtZC1sYXlvdXQtaGVhZGVyIHtcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtICN7JHNpemV9KTtcbiAgICAgICAgbWFyZ2luLSN7JHNpZGV9OiAkc2l6ZTtcbiAgICAgIH1cblxuICAgICAgPiAuYm1kLWxheW91dC1kcmF3ZXIge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gICAgICB9XG5cbiAgICAgID4gLmJtZC1sYXlvdXQtY29udGVudCB7XG4gICAgICAgIG1hcmdpbi0jeyRzaWRlfTogJHNpemU7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBibWQtZHJhd2VyLXktaW4oJHNpemUpIHtcbiAgQGVhY2ggJHNpZGUsICRhYmJyZXYgaW4gKHRvcDogdCwgYm90dG9tOiBiKSB7XG4gICAgJi5ibWQtZHJhd2VyLWYtI3skYWJicmV2fSB7XG5cbiAgICAgIC8vIDEuIFB1c2ggLSBkcmF3ZXIgd2lsbCBwdXNoIHRoZSBoZWFkZXIgb3IgY29udGVudFxuICAgICAgPiAuYm1kLWxheW91dC1oZWFkZXIge1xuICAgICAgICBAaWYgJHNpZGUgPT0gdG9wIHsgLy8gb25seSBhZGQgbWFyZ2luLXRvcCBvbiBhIGhlYWRlciB3aGVuIHRoZSBkcmF3ZXIgaXMgYXQgdGhlIHRvcFxuICAgICAgICAgIG1hcmdpbi0jeyRzaWRlfTogJHNpemU7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgPiAuYm1kLWxheW91dC1kcmF3ZXIge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgICB9XG5cbiAgICAgID4gLmJtZC1sYXlvdXQtY29udGVudCB7XG4gICAgICAgIEBpZiAkc2lkZSA9PSBib3R0b20geyAvLyBvbmx5IGFkZCBtYXJnaW4tYm90dG9tIG9uIGNvbnRlbnQgd2hlbiB0aGUgZHJhd2VyIGlzIGF0IHRoZSBib3R0b21cbiAgICAgICAgICBtYXJnaW4tI3skc2lkZX06ICRzaXplO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIGJyZWFrcG9pbnQgYmFzZWQgb3BlbiB0byBhIHBhcnRpY3VsYXIgc2l6ZVxuQG1peGluIGJtZC1kcmF3ZXIteC1pbi11cCgkc2l6ZSwgJGJyZWFrcG9pbnQpIHtcbiAgLy8gZS5nLiAmLCAmLXNtLCAmLW1kLCAmLWxnXG4gICRuYW1lOiBibWQtZHJhd2VyLWJyZWFrcG9pbnQtbmFtZSgkYnJlYWtwb2ludCwgXCItdXBcIik7XG5cbiAgJi5ibWQtZHJhd2VyLWluIHtcbiAgICAje3VucXVvdGUoJG5hbWUpfSB7IC8vIGJtZC1kcmF3ZXItaW4sIGJtZC1kcmF3ZXItaW4tc20sIGJtZC1kcmF3ZXItaW4tbWQsIGJtZC1kcmF3ZXItaW4tbGdcblxuICAgICAgQGlmICRicmVha3BvaW50ID09IHhzIHtcbiAgICAgICAgLy8gYm1kLWRyYXdlci1pbiBtYXJrZXIgY2xhc3MgKG5vbi1yZXNwb25zaXZlKVxuICAgICAgICBAaW5jbHVkZSBibWQtZHJhd2VyLXgtaW4oJHNpemUpO1xuICAgICAgfSBAZWxzZSB7XG5cbiAgICAgICAgLy8gcmVzcG9uc2l2ZSBjbGFzc1xuICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50KSB7XG4gICAgICAgICAgLy8gYm1kLWRyYXdlci1mLShsZWZ0IGFuZCByaWdodCkgc3R5bGVzXG4gICAgICAgICAgQGluY2x1ZGUgYm1kLWRyYXdlci14LWluKCRzaXplKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBicmVha3BvaW50IGJhc2VkIG9wZW4gdG8gYSBwYXJ0aWN1bGFyIHNpemVcbkBtaXhpbiBibWQtZHJhd2VyLXktaW4tdXAoJHNpemUsICRicmVha3BvaW50KSB7XG4gIC8vIGUuZy4gJiwgJi1zbSwgJi1tZCwgJi1sZ1xuICAkbmFtZTogYm1kLWRyYXdlci1icmVha3BvaW50LW5hbWUoJGJyZWFrcG9pbnQsIFwiLXVwXCIpO1xuXG4gICYuYm1kLWRyYXdlci1pbiB7XG4gICAgI3t1bnF1b3RlKCRuYW1lKX0geyAvLyBibWQtZHJhd2VyLWluLCBibWQtZHJhd2VyLWluLXNtLCBibWQtZHJhd2VyLWluLW1kLCBibWQtZHJhd2VyLWluLWxnXG5cbiAgICAgIEBpZiAkYnJlYWtwb2ludCA9PSB4cyB7XG4gICAgICAgIC8vIGJtZC1kcmF3ZXItaW4gbWFya2VyIGNsYXNzIChub24tcmVzcG9uc2l2ZSlcbiAgICAgICAgQGluY2x1ZGUgYm1kLWRyYXdlci15LWluKCRzaXplKTtcbiAgICAgIH0gQGVsc2Uge1xuXG4gICAgICAgIC8vIHJlc3BvbnNpdmUgY2xhc3NcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCkge1xuICAgICAgICAgIC8vIGJtZC1kcmF3ZXItZi0obGVmdCBhbmQgcmlnaHQpIHN0eWxlc1xuICAgICAgICAgIEBpbmNsdWRlIGJtZC1kcmF3ZXIteS1pbigkc2l6ZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGJtZC1kcmF3ZXIteC1vdmVybGF5KCkge1xuICBAaW5jbHVkZSBibWQtbGF5b3V0LWJhY2tkcm9wLWluKCk7XG5cbiAgQGVhY2ggJHNpZGUsICRhYmJyZXYgaW4gKGxlZnQ6IGwsIHJpZ2h0OiByKSB7XG4gICAgJi5ibWQtZHJhd2VyLWYtI3skYWJicmV2fSB7XG4gICAgICA+IC5ibWQtbGF5b3V0LWhlYWRlcixcbiAgICAgID4gLmJtZC1sYXlvdXQtY29udGVudCB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXJnaW4tI3skc2lkZX06IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBibWQtZHJhd2VyLXktb3ZlcmxheSgpIHtcbiAgQGluY2x1ZGUgYm1kLWxheW91dC1iYWNrZHJvcC1pbigpO1xuXG4gIEBlYWNoICRzaWRlLCAkYWJicmV2IGluICh0b3A6IHQsIGJvdHRvbTogYikge1xuICAgICYuYm1kLWRyYXdlci1mLSN7JGFiYnJldn0ge1xuICAgICAgPiAuYm1kLWxheW91dC1oZWFkZXIge1xuICAgICAgICBAaWYgJHNpZGUgPT0gdG9wIHsgLy8gb25seSBhZGQgbWFyZ2luLXRvcCBvbiBhIGhlYWRlciB3aGVuIHRoZSBkcmF3ZXIgaXMgYXQgdGhlIHRvcFxuICAgICAgICAgIG1hcmdpbi0jeyRzaWRlfTogMDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICA+IC5ibWQtbGF5b3V0LWNvbnRlbnQge1xuICAgICAgICBAaWYgJHNpZGUgPT0gYm90dG9tIHsgLy8gb25seSBhZGQgbWFyZ2luLWJvdHRvbSBvbiBjb250ZW50IHdoZW4gdGhlIGRyYXdlciBpcyBhdCB0aGUgYm90dG9tXG4gICAgICAgICAgbWFyZ2luLSN7JHNpZGV9OiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIE92ZXJsYXkgLSBsZWZ0L3JpZ2h0IHJlc3BvbnNpdmUgb3ZlcmxheSBjbGFzc2VzIGFuZCBtYXJrZXIgY2xhc3NcbkBtaXhpbiBibWQtZHJhd2VyLXgtb3ZlcmxheS1kb3duKCRicmVha3BvaW50KSB7XG4gIC8vIGUuZy4gJiwgJi1zbSwgJi1tZCwgJi1sZ1xuICAkbmFtZTogYm1kLWRyYXdlci1icmVha3BvaW50LW5hbWUoJGJyZWFrcG9pbnQsIFwiLWRvd25cIik7XG5cbiAgJi5ibWQtZHJhd2VyLW92ZXJsYXkge1xuICAgICN7dW5xdW90ZSgkbmFtZSl9IHsgLy8gYm1kLWRyYXdlci1vdmVybGF5LCBibWQtZHJhd2VyLW92ZXJsYXktc20sIGJtZC1kcmF3ZXItb3ZlcmxheS1tZCwgYm1kLWRyYXdlci1vdmVybGF5LWxnXG5cbiAgICAgIC8vIHggLSBsZWZ0L3JpZ2h0XG5cbiAgICAgIEBpZiAkYnJlYWtwb2ludCA9PSB4cyB7IC8vIG92ZXJsYXkgbWFya2VyIGNsYXNzIChub24tcmVzcG9uc2l2ZSlcblxuICAgICAgICAvLyBNdXN0IGRvdWJsZSB1cCBvbiB0aGUgLmJtZC1kcmF3ZXItb3ZlcmxheSBjbGFzcyB0byBpbmNyZWFzZSBzcGVjaWZpY2l0eSBvdGhlcndpc2UgdGhlXG4gICAgICAgIC8vICByZXNwb25zaXZlIGJtZC1kcmF3ZXItaW4tKiBtZWRpYSBxdWVyaWVzIGFib3ZlIHdpbiAoYW5kIG92ZXJsYXkgaXMgaWdub3JlZClcbiAgICAgICAgJi5ibWQtZHJhd2VyLW92ZXJsYXkge1xuICAgICAgICAgIEBpbmNsdWRlIGJtZC1kcmF3ZXIteC1vdmVybGF5KCk7XG4gICAgICAgIH1cbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oJGJyZWFrcG9pbnQpIHsgLy8gb3ZlcmxheSByZXNwb25zaXZlIGNsYXNzXG4gICAgICAgICAgQGluY2x1ZGUgYm1kLWRyYXdlci14LW92ZXJsYXkoKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBPdmVybGF5IC0gdG9wL2JvdHRvbSByZXNwb25zaXZlIG92ZXJsYXkgY2xhc3NlcyBhbmQgbWFya2VyIGNsYXNzXG5AbWl4aW4gYm1kLWRyYXdlci15LW92ZXJsYXktZG93bigkYnJlYWtwb2ludCkge1xuICAvLyBlLmcuICYsICYtc20sICYtbWQsICYtbGdcbiAgJG5hbWU6IGJtZC1kcmF3ZXItYnJlYWtwb2ludC1uYW1lKCRicmVha3BvaW50LCBcIi1kb3duXCIpO1xuXG4gICYuYm1kLWRyYXdlci1vdmVybGF5IHtcbiAgICAje3VucXVvdGUoJG5hbWUpfSB7IC8vIGJtZC1kcmF3ZXItb3ZlcmxheSwgYm1kLWRyYXdlci1vdmVybGF5LXNtLCBibWQtZHJhd2VyLW92ZXJsYXktbWQsIGJtZC1kcmF3ZXItb3ZlcmxheS1sZ1xuICAgICAgLy8vLyB5IC0gdG9wL2JvdHRvbVxuXG4gICAgICBAaWYgJGJyZWFrcG9pbnQgPT0geHMgeyAvLyBvdmVybGF5IG1hcmtlciBjbGFzcyAobm9uLXJlc3BvbnNpdmUpXG5cbiAgICAgICAgLy8gTXVzdCBkb3VibGUgdXAgb24gdGhlIC5ibWQtZHJhd2VyLW92ZXJsYXkgY2xhc3MgdG8gaW5jcmVhc2Ugc3BlY2lmaWNpdHkgb3RoZXJ3aXNlIHRoZVxuICAgICAgICAvLyAgcmVzcG9uc2l2ZSBibWQtZHJhd2VyLWluLSogbWVkaWEgcXVlcmllcyBhYm92ZSB3aW4gKGFuZCBvdmVybGF5IGlzIGlnbm9yZWQpXG4gICAgICAgICYuYm1kLWRyYXdlci1vdmVybGF5IHtcbiAgICAgICAgICBAaW5jbHVkZSBibWQtZHJhd2VyLXktb3ZlcmxheSgpO1xuICAgICAgICB9XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKCRicmVha3BvaW50KSB7IC8vIG92ZXJsYXkgcmVzcG9uc2l2ZSBjbGFzc1xuICAgICAgICAgIEBpbmNsdWRlIGJtZC1kcmF3ZXIteS1vdmVybGF5KCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuIiwiLy8gRHJhd2VyXG5cbi8vIFNpemluZ1xuJGJtZC1kcmF3ZXIteC1zaXplOiAyNDBweCAhZGVmYXVsdDtcbiRibWQtZHJhd2VyLXktc2l6ZTogMTAwcHggIWRlZmF1bHQ7XG4iLCIvLyBHZW5lcmF0ZXMgdGhlIGAuaW5gIHN0eWxlIGZvciB0aGUgZ2VuZXJpYyBiYWNrZHJvcCB1c2VkIGNvbXBvbmVudHMgc3VjaCBhcyB0aGUgZHJhd2VyIGluIG92ZXJsYXkgbW9kZVxuQG1peGluIGJtZC1sYXlvdXQtYmFja2Ryb3AtaW4oKSB7XG5cbiAgPiAuYm1kLWxheW91dC1iYWNrZHJvcCB7XG4gICAgLmluIHtcbiAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNSk7XG4gICAgfVxuXG4gICAgQHN1cHBvcnRzIChwb2ludGVyLWV2ZW50czogYXV0bykge1xuICAgICAgJi5pbiB7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gbWFya2VyIGNsYXNzICh1c2VkIGFzIGEgc2VsZWN0b3IgZm9yIG9uZS1vZmYgZWxlbWVudHMgdG8gZGVjb3JhdGUpXG4ucmlwcGxlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4ucmlwcGxlLWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAxO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogaW5oZXJpdDtcblxuICAucmlwcGxlLWRlY29yYXRvciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAyMHB4O1xuICAgIGhlaWdodDogMjBweDtcbiAgICBtYXJnaW4tdG9wOiAtMTBweDtcbiAgICBtYXJnaW4tbGVmdDogLTEwcHg7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkYmxhY2ssIDAuMDUpO1xuICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IDUwJTtcblxuICAgICYucmlwcGxlLW9uIHtcbiAgICAgIG9wYWNpdHk6IDAuMTtcbiAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4xNXMgZWFzZS1pbiAwcywgdHJhbnNmb3JtIDAuNXMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yLCAxKSAwLjFzO1xuICAgIH1cblxuICAgICYucmlwcGxlLW91dCB7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjFzIGxpbmVhciAwcyAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufVxuIl19 */
diff --git a/templates/assets/bootstrap-material-design/dist/bootstrap-material-design.iife.js b/templates/assets/bootstrap-material-design/dist/bootstrap-material-design.iife.js
new file mode 100644
index 0000000..aa626d5
--- /dev/null
+++ b/templates/assets/bootstrap-material-design/dist/bootstrap-material-design.iife.js
@@ -0,0 +1,11743 @@
+/*!
+ * bootstrap-material-design v4.0.2 (https://github.com/FezVrasta/bootstrap-material-design)
+ * Copyright 2016 Federico Zivolo and contributors
+ * Licensed under MIT
+ */
+(function () {
+ 'use strict';
+
+ var commonjsGlobal = typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {}
+
+ function interopDefault(ex) {
+ return ex && typeof ex === 'object' && 'default' in ex ? ex['default'] : ex;
+ }
+
+ function createCommonjsModule(fn, module) {
+ return module = { exports: {} }, fn(module, module.exports), module.exports;
+ }
+
+ var _global = createCommonjsModule(function (module) {
+ // https://github.com/zloirock/core-js/issues/86#issuecomment-115759028
+ var global = module.exports = typeof window != 'undefined' && window.Math == Math ? window : typeof self != 'undefined' && self.Math == Math ? self : Function('return this')();
+ if (typeof __g == 'number') __g = global; // eslint-disable-line no-undef
+ });
+
+ var _global$1 = interopDefault(_global);
+
+var require$$3 = Object.freeze({
+ default: _global$1
+ });
+
+ var _has = createCommonjsModule(function (module) {
+ var hasOwnProperty = {}.hasOwnProperty;
+ module.exports = function (it, key) {
+ return hasOwnProperty.call(it, key);
+ };
+ });
+
+ var _has$1 = interopDefault(_has);
+
+var require$$4 = Object.freeze({
+ default: _has$1
+ });
+
+ var _fails = createCommonjsModule(function (module) {
+ module.exports = function (exec) {
+ try {
+ return !!exec();
+ } catch (e) {
+ return true;
+ }
+ };
+ });
+
+ var _fails$1 = interopDefault(_fails);
+
+var require$$1$1 = Object.freeze({
+ default: _fails$1
+ });
+
+ var _descriptors = createCommonjsModule(function (module) {
+ // Thank's IE8 for his funny defineProperty
+ module.exports = !interopDefault(require$$1$1)(function () {
+ return Object.defineProperty({}, 'a', { get: function get() {
+ return 7;
+ } }).a != 7;
+ });
+ });
+
+ var _descriptors$1 = interopDefault(_descriptors);
+
+var require$$1 = Object.freeze({
+ default: _descriptors$1
+ });
+
+ var _core = createCommonjsModule(function (module) {
+ var core = module.exports = { version: '2.4.0' };
+ if (typeof __e == 'number') __e = core; // eslint-disable-line no-undef
+ });
+
+ var _core$1 = interopDefault(_core);
+ var version = _core.version;
+
+var require$$0 = Object.freeze({
+ default: _core$1,
+ version: version
+ });
+
+ var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) {
+ return typeof obj;
+ } : function (obj) {
+ return obj && typeof Symbol === "function" && obj.constructor === Symbol ? "symbol" : typeof obj;
+ };
+
+ var classCallCheck = function (instance, Constructor) {
+ if (!(instance instanceof Constructor)) {
+ throw new TypeError("Cannot call a class as a function");
+ }
+ };
+
+ var createClass = function () {
+ function defineProperties(target, props) {
+ for (var i = 0; i < props.length; i++) {
+ var descriptor = props[i];
+ descriptor.enumerable = descriptor.enumerable || false;
+ descriptor.configurable = true;
+ if ("value" in descriptor) descriptor.writable = true;
+ Object.defineProperty(target, descriptor.key, descriptor);
+ }
+ }
+
+ return function (Constructor, protoProps, staticProps) {
+ if (protoProps) defineProperties(Constructor.prototype, protoProps);
+ if (staticProps) defineProperties(Constructor, staticProps);
+ return Constructor;
+ };
+ }();
+
+ var get = function get(object, property, receiver) {
+ if (object === null) object = Function.prototype;
+ var desc = Object.getOwnPropertyDescriptor(object, property);
+
+ if (desc === undefined) {
+ var parent = Object.getPrototypeOf(object);
+
+ if (parent === null) {
+ return undefined;
+ } else {
+ return get(parent, property, receiver);
+ }
+ } else if ("value" in desc) {
+ return desc.value;
+ } else {
+ var getter = desc.get;
+
+ if (getter === undefined) {
+ return undefined;
+ }
+
+ return getter.call(receiver);
+ }
+ };
+
+ var inherits = function (subClass, superClass) {
+ if (typeof superClass !== "function" && superClass !== null) {
+ throw new TypeError("Super expression must either be null or a function, not " + typeof superClass);
+ }
+
+ subClass.prototype = Object.create(superClass && superClass.prototype, {
+ constructor: {
+ value: subClass,
+ enumerable: false,
+ writable: true,
+ configurable: true
+ }
+ });
+ if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;
+ };
+
+ var possibleConstructorReturn = function (self, call) {
+ if (!self) {
+ throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
+ }
+
+ return call && (typeof call === "object" || typeof call === "function") ? call : self;
+ };
+
+ var _isObject = createCommonjsModule(function (module) {
+ module.exports = function (it) {
+ return (typeof it === 'undefined' ? 'undefined' : _typeof(it)) === 'object' ? it !== null : typeof it === 'function';
+ };
+ });
+
+ var _isObject$1 = interopDefault(_isObject);
+
+
+
+ var require$$0$1 = Object.freeze({
+ default: _isObject$1
+ });
+
+ var _anObject = createCommonjsModule(function (module) {
+ var isObject = interopDefault(require$$0$1);
+ module.exports = function (it) {
+ if (!isObject(it)) throw TypeError(it + ' is not an object!');
+ return it;
+ };
+ });
+
+ var _anObject$1 = interopDefault(_anObject);
+
+var require$$5 = Object.freeze({
+ default: _anObject$1
+ });
+
+ var _domCreate = createCommonjsModule(function (module) {
+ var isObject = interopDefault(require$$0$1),
+ document = interopDefault(require$$3).document
+ // in old IE typeof document.createElement is 'object'
+ ,
+ is = isObject(document) && isObject(document.createElement);
+ module.exports = function (it) {
+ return is ? document.createElement(it) : {};
+ };
+ });
+
+ var _domCreate$1 = interopDefault(_domCreate);
+
+var require$$2$2 = Object.freeze({
+ default: _domCreate$1
+ });
+
+ var _ie8DomDefine = createCommonjsModule(function (module) {
+ module.exports = !interopDefault(require$$1) && !interopDefault(require$$1$1)(function () {
+ return Object.defineProperty(interopDefault(require$$2$2)('div'), 'a', { get: function get() {
+ return 7;
+ } }).a != 7;
+ });
+ });
+
+ var _ie8DomDefine$1 = interopDefault(_ie8DomDefine);
+
+var require$$1$3 = Object.freeze({
+ default: _ie8DomDefine$1
+ });
+
+ var _toPrimitive = createCommonjsModule(function (module) {
+ // 7.1.1 ToPrimitive(input [, PreferredType])
+ var isObject = interopDefault(require$$0$1);
+ // instead of the ES6 spec version, we didn't implement @@toPrimitive case
+ // and the second argument - flag - preferred type is a string
+ module.exports = function (it, S) {
+ if (!isObject(it)) return it;
+ var fn, val;
+ if (S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;
+ if (typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it))) return val;
+ if (!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;
+ throw TypeError("Can't convert object to primitive value");
+ };
+ });
+
+ var _toPrimitive$1 = interopDefault(_toPrimitive);
+
+var require$$4$1 = Object.freeze({
+ default: _toPrimitive$1
+ });
+
+ var _objectDp = createCommonjsModule(function (module, exports) {
+ var anObject = interopDefault(require$$5),
+ IE8_DOM_DEFINE = interopDefault(require$$1$3),
+ toPrimitive = interopDefault(require$$4$1),
+ dP = Object.defineProperty;
+
+ exports.f = interopDefault(require$$1) ? Object.defineProperty : function defineProperty(O, P, Attributes) {
+ anObject(O);
+ P = toPrimitive(P, true);
+ anObject(Attributes);
+ if (IE8_DOM_DEFINE) try {
+ return dP(O, P, Attributes);
+ } catch (e) {/* empty */}
+ if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported!');
+ if ('value' in Attributes) O[P] = Attributes.value;
+ return O;
+ };
+ });
+
+ var _objectDp$1 = interopDefault(_objectDp);
+ var f = _objectDp.f;
+
+var require$$2$1 = Object.freeze({
+ default: _objectDp$1,
+ f: f
+ });
+
+ var _propertyDesc = createCommonjsModule(function (module) {
+ module.exports = function (bitmap, value) {
+ return {
+ enumerable: !(bitmap & 1),
+ configurable: !(bitmap & 2),
+ writable: !(bitmap & 4),
+ value: value
+ };
+ };
+ });
+
+ var _propertyDesc$1 = interopDefault(_propertyDesc);
+
+var require$$2$3 = Object.freeze({
+ default: _propertyDesc$1
+ });
+
+ var _hide = createCommonjsModule(function (module) {
+ var dP = interopDefault(require$$2$1),
+ createDesc = interopDefault(require$$2$3);
+ module.exports = interopDefault(require$$1) ? function (object, key, value) {
+ return dP.f(object, key, createDesc(1, value));
+ } : function (object, key, value) {
+ object[key] = value;
+ return object;
+ };
+ });
+
+ var _hide$1 = interopDefault(_hide);
+
+var require$$2 = Object.freeze({
+ default: _hide$1
+ });
+
+ var _uid = createCommonjsModule(function (module) {
+ var id = 0,
+ px = Math.random();
+ module.exports = function (key) {
+ return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36));
+ };
+ });
+
+ var _uid$1 = interopDefault(_uid);
+
+var require$$12 = Object.freeze({
+ default: _uid$1
+ });
+
+ var _redefine = createCommonjsModule(function (module) {
+ var global = interopDefault(require$$3),
+ hide = interopDefault(require$$2),
+ has = interopDefault(require$$4),
+ SRC = interopDefault(require$$12)('src'),
+ TO_STRING = 'toString',
+ $toString = Function[TO_STRING],
+ TPL = ('' + $toString).split(TO_STRING);
+
+ interopDefault(require$$0).inspectSource = function (it) {
+ return $toString.call(it);
+ };
+
+ (module.exports = function (O, key, val, safe) {
+ var isFunction = typeof val == 'function';
+ if (isFunction) has(val, 'name') || hide(val, 'name', key);
+ if (O[key] === val) return;
+ if (isFunction) has(val, SRC) || hide(val, SRC, O[key] ? '' + O[key] : TPL.join(String(key)));
+ if (O === global) {
+ O[key] = val;
+ } else {
+ if (!safe) {
+ delete O[key];
+ hide(O, key, val);
+ } else {
+ if (O[key]) O[key] = val;else hide(O, key, val);
+ }
+ }
+ // add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative
+ })(Function.prototype, TO_STRING, function toString() {
+ return typeof this == 'function' && this[SRC] || $toString.call(this);
+ });
+ });
+
+ var _redefine$1 = interopDefault(_redefine);
+
+var require$$4$2 = Object.freeze({
+ default: _redefine$1
+ });
+
+ var _aFunction = createCommonjsModule(function (module) {
+ module.exports = function (it) {
+ if (typeof it != 'function') throw TypeError(it + ' is not a function!');
+ return it;
+ };
+ });
+
+ var _aFunction$1 = interopDefault(_aFunction);
+
+var require$$0$2 = Object.freeze({
+ default: _aFunction$1
+ });
+
+ var _ctx = createCommonjsModule(function (module) {
+ // optional / simple context binding
+ var aFunction = interopDefault(require$$0$2);
+ module.exports = function (fn, that, length) {
+ aFunction(fn);
+ if (that === undefined) return fn;
+ switch (length) {
+ case 1:
+ return function (a) {
+ return fn.call(that, a);
+ };
+ case 2:
+ return function (a, b) {
+ return fn.call(that, a, b);
+ };
+ case 3:
+ return function (a, b, c) {
+ return fn.call(that, a, b, c);
+ };
+ }
+ return function () /* ...args */{
+ return fn.apply(that, arguments);
+ };
+ };
+ });
+
+ var _ctx$1 = interopDefault(_ctx);
+
+var require$$31 = Object.freeze({
+ default: _ctx$1
+ });
+
+ var _export = createCommonjsModule(function (module) {
+ var global = interopDefault(require$$3),
+ core = interopDefault(require$$0),
+ hide = interopDefault(require$$2),
+ redefine = interopDefault(require$$4$2),
+ ctx = interopDefault(require$$31),
+ PROTOTYPE = 'prototype';
+
+ var $export = function $export(type, name, source) {
+ var IS_FORCED = type & $export.F,
+ IS_GLOBAL = type & $export.G,
+ IS_STATIC = type & $export.S,
+ IS_PROTO = type & $export.P,
+ IS_BIND = type & $export.B,
+ target = IS_GLOBAL ? global : IS_STATIC ? global[name] || (global[name] = {}) : (global[name] || {})[PROTOTYPE],
+ exports = IS_GLOBAL ? core : core[name] || (core[name] = {}),
+ expProto = exports[PROTOTYPE] || (exports[PROTOTYPE] = {}),
+ key,
+ own,
+ out,
+ exp;
+ if (IS_GLOBAL) source = name;
+ for (key in source) {
+ // contains in native
+ own = !IS_FORCED && target && target[key] !== undefined;
+ // export native or passed
+ out = (own ? target : source)[key];
+ // bind timers to global for call from export context
+ exp = IS_BIND && own ? ctx(out, global) : IS_PROTO && typeof out == 'function' ? ctx(Function.call, out) : out;
+ // extend global
+ if (target) redefine(target, key, out, type & $export.U);
+ // export
+ if (exports[key] != out) hide(exports, key, exp);
+ if (IS_PROTO && expProto[key] != out) expProto[key] = out;
+ }
+ };
+ global.core = core;
+ // type bitmap
+ $export.F = 1; // forced
+ $export.G = 2; // global
+ $export.S = 4; // static
+ $export.P = 8; // proto
+ $export.B = 16; // bind
+ $export.W = 32; // wrap
+ $export.U = 64; // safe
+ $export.R = 128; // real proto method for `library`
+ module.exports = $export;
+ });
+
+ var _export$1 = interopDefault(_export);
+
+var require$$1$2 = Object.freeze({
+ default: _export$1
+ });
+
+ var _meta = createCommonjsModule(function (module) {
+ var META = interopDefault(require$$12)('meta'),
+ isObject = interopDefault(require$$0$1),
+ has = interopDefault(require$$4),
+ setDesc = interopDefault(require$$2$1).f,
+ id = 0;
+ var isExtensible = Object.isExtensible || function () {
+ return true;
+ };
+ var FREEZE = !interopDefault(require$$1$1)(function () {
+ return isExtensible(Object.preventExtensions({}));
+ });
+ var setMeta = function setMeta(it) {
+ setDesc(it, META, { value: {
+ i: 'O' + ++id, // object ID
+ w: {} // weak collections IDs
+ } });
+ };
+ var fastKey = function fastKey(it, create) {
+ // return primitive with prefix
+ if (!isObject(it)) return (typeof it === 'undefined' ? 'undefined' : _typeof(it)) == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;
+ if (!has(it, META)) {
+ // can't set metadata to uncaught frozen object
+ if (!isExtensible(it)) return 'F';
+ // not necessary to add metadata
+ if (!create) return 'E';
+ // add missing metadata
+ setMeta(it);
+ // return object ID
+ }return it[META].i;
+ };
+ var getWeak = function getWeak(it, create) {
+ if (!has(it, META)) {
+ // can't set metadata to uncaught frozen object
+ if (!isExtensible(it)) return true;
+ // not necessary to add metadata
+ if (!create) return false;
+ // add missing metadata
+ setMeta(it);
+ // return hash weak collections IDs
+ }return it[META].w;
+ };
+ // add metadata on freeze-family methods calling
+ var onFreeze = function onFreeze(it) {
+ if (FREEZE && meta.NEED && isExtensible(it) && !has(it, META)) setMeta(it);
+ return it;
+ };
+ var meta = module.exports = {
+ KEY: META,
+ NEED: false,
+ fastKey: fastKey,
+ getWeak: getWeak,
+ onFreeze: onFreeze
+ };
+ });
+
+ var _meta$1 = interopDefault(_meta);
+ var KEY = _meta.KEY;
+ var NEED = _meta.NEED;
+ var fastKey = _meta.fastKey;
+ var getWeak = _meta.getWeak;
+ var onFreeze = _meta.onFreeze;
+
+
+
+ var require$$6 = Object.freeze({
+ default: _meta$1,
+ KEY: KEY,
+ NEED: NEED,
+ fastKey: fastKey,
+ getWeak: getWeak,
+ onFreeze: onFreeze
+ });
+
+ var _shared = createCommonjsModule(function (module) {
+ var global = interopDefault(require$$3),
+ SHARED = '__core-js_shared__',
+ store = global[SHARED] || (global[SHARED] = {});
+ module.exports = function (key) {
+ return store[key] || (store[key] = {});
+ };
+ });
+
+ var _shared$1 = interopDefault(_shared);
+
+var require$$1$4 = Object.freeze({
+ default: _shared$1
+ });
+
+ var _wks = createCommonjsModule(function (module) {
+ var store = interopDefault(require$$1$4)('wks'),
+ uid = interopDefault(require$$12),
+ _Symbol = interopDefault(require$$3).Symbol,
+ USE_SYMBOL = typeof _Symbol == 'function';
+
+ var $exports = module.exports = function (name) {
+ return store[name] || (store[name] = USE_SYMBOL && _Symbol[name] || (USE_SYMBOL ? _Symbol : uid)('Symbol.' + name));
+ };
+
+ $exports.store = store;
+ });
+
+ var _wks$1 = interopDefault(_wks);
+
+var require$$0$4 = Object.freeze({
+ default: _wks$1
+ });
+
+ var _setToStringTag = createCommonjsModule(function (module) {
+ var def = interopDefault(require$$2$1).f,
+ has = interopDefault(require$$4),
+ TAG = interopDefault(require$$0$4)('toStringTag');
+
+ module.exports = function (it, tag, stat) {
+ if (it && !has(it = stat ? it : it.prototype, TAG)) def(it, TAG, { configurable: true, value: tag });
+ };
+ });
+
+ var _setToStringTag$1 = interopDefault(_setToStringTag);
+
+var require$$0$3 = Object.freeze({
+ default: _setToStringTag$1
+ });
+
+ var _wksExt = createCommonjsModule(function (module, exports) {
+ exports.f = interopDefault(require$$0$4);
+ });
+
+ var _wksExt$1 = interopDefault(_wksExt);
+ var f$1 = _wksExt.f;
+
+var require$$1$5 = Object.freeze({
+ default: _wksExt$1,
+ f: f$1
+ });
+
+ var _library = createCommonjsModule(function (module) {
+ module.exports = false;
+ });
+
+ var _library$1 = interopDefault(_library);
+
+var require$$2$4 = Object.freeze({
+ default: _library$1
+ });
+
+ var _wksDefine = createCommonjsModule(function (module) {
+ var global = interopDefault(require$$3),
+ core = interopDefault(require$$0),
+ LIBRARY = interopDefault(require$$2$4),
+ wksExt = interopDefault(require$$1$5),
+ defineProperty = interopDefault(require$$2$1).f;
+ module.exports = function (name) {
+ var $Symbol = core.Symbol || (core.Symbol = LIBRARY ? {} : global.Symbol || {});
+ if (name.charAt(0) != '_' && !(name in $Symbol)) defineProperty($Symbol, name, { value: wksExt.f(name) });
+ };
+ });
+
+ var _wksDefine$1 = interopDefault(_wksDefine);
+
+var require$$0$5 = Object.freeze({
+ default: _wksDefine$1
+ });
+
+ var _cof = createCommonjsModule(function (module) {
+ var toString = {}.toString;
+
+ module.exports = function (it) {
+ return toString.call(it).slice(8, -1);
+ };
+ });
+
+ var _cof$1 = interopDefault(_cof);
+
+var require$$0$6 = Object.freeze({
+ default: _cof$1
+ });
+
+ var _iobject = createCommonjsModule(function (module) {
+ // fallback for non-array-like ES3 and non-enumerable old V8 strings
+ var cof = interopDefault(require$$0$6);
+ module.exports = Object('z').propertyIsEnumerable(0) ? Object : function (it) {
+ return cof(it) == 'String' ? it.split('') : Object(it);
+ };
+ });
+
+ var _iobject$1 = interopDefault(_iobject);
+
+var require$$1$8 = Object.freeze({
+ default: _iobject$1
+ });
+
+ var _defined = createCommonjsModule(function (module) {
+ // 7.2.1 RequireObjectCoercible(argument)
+ module.exports = function (it) {
+ if (it == undefined) throw TypeError("Can't call method on " + it);
+ return it;
+ };
+ });
+
+ var _defined$1 = interopDefault(_defined);
+
+var require$$4$3 = Object.freeze({
+ default: _defined$1
+ });
+
+ var _toIobject = createCommonjsModule(function (module) {
+ // to indexed object, toObject with fallback for non-array-like ES3 strings
+ var IObject = interopDefault(require$$1$8),
+ defined = interopDefault(require$$4$3);
+ module.exports = function (it) {
+ return IObject(defined(it));
+ };
+ });
+
+ var _toIobject$1 = interopDefault(_toIobject);
+
+var require$$1$7 = Object.freeze({
+ default: _toIobject$1
+ });
+
+ var _toInteger = createCommonjsModule(function (module) {
+ // 7.1.4 ToInteger
+ var ceil = Math.ceil,
+ floor = Math.floor;
+ module.exports = function (it) {
+ return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it);
+ };
+ });
+
+ var _toInteger$1 = interopDefault(_toInteger);
+
+var require$$26 = Object.freeze({
+ default: _toInteger$1
+ });
+
+ var _toLength = createCommonjsModule(function (module) {
+ // 7.1.15 ToLength
+ var toInteger = interopDefault(require$$26),
+ min = Math.min;
+ module.exports = function (it) {
+ return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0; // pow(2, 53) - 1 == 9007199254740991
+ };
+ });
+
+ var _toLength$1 = interopDefault(_toLength);
+
+var require$$3$1 = Object.freeze({
+ default: _toLength$1
+ });
+
+ var _toIndex = createCommonjsModule(function (module) {
+ var toInteger = interopDefault(require$$26),
+ max = Math.max,
+ min = Math.min;
+ module.exports = function (index, length) {
+ index = toInteger(index);
+ return index < 0 ? max(index + length, 0) : min(index, length);
+ };
+ });
+
+ var _toIndex$1 = interopDefault(_toIndex);
+
+var require$$24 = Object.freeze({
+ default: _toIndex$1
+ });
+
+ var _arrayIncludes = createCommonjsModule(function (module) {
+ // false -> Array#indexOf
+ // true -> Array#includes
+ var toIObject = interopDefault(require$$1$7),
+ toLength = interopDefault(require$$3$1),
+ toIndex = interopDefault(require$$24);
+ module.exports = function (IS_INCLUDES) {
+ return function ($this, el, fromIndex) {
+ var O = toIObject($this),
+ length = toLength(O.length),
+ index = toIndex(fromIndex, length),
+ value;
+ // Array#includes uses SameValueZero equality algorithm
+ if (IS_INCLUDES && el != el) while (length > index) {
+ value = O[index++];
+ if (value != value) return true;
+ // Array#toIndex ignores holes, Array#includes - not
+ } else for (; length > index; index++) {
+ if (IS_INCLUDES || index in O) {
+ if (O[index] === el) return IS_INCLUDES || index || 0;
+ }
+ }return !IS_INCLUDES && -1;
+ };
+ };
+ });
+
+ var _arrayIncludes$1 = interopDefault(_arrayIncludes);
+
+var require$$1$9 = Object.freeze({
+ default: _arrayIncludes$1
+ });
+
+ var _sharedKey = createCommonjsModule(function (module) {
+ var shared = interopDefault(require$$1$4)('keys'),
+ uid = interopDefault(require$$12);
+ module.exports = function (key) {
+ return shared[key] || (shared[key] = uid(key));
+ };
+ });
+
+ var _sharedKey$1 = interopDefault(_sharedKey);
+
+var require$$0$7 = Object.freeze({
+ default: _sharedKey$1
+ });
+
+ var _objectKeysInternal = createCommonjsModule(function (module) {
+ var has = interopDefault(require$$4),
+ toIObject = interopDefault(require$$1$7),
+ arrayIndexOf = interopDefault(require$$1$9)(false),
+ IE_PROTO = interopDefault(require$$0$7)('IE_PROTO');
+
+ module.exports = function (object, names) {
+ var O = toIObject(object),
+ i = 0,
+ result = [],
+ key;
+ for (key in O) {
+ if (key != IE_PROTO) has(O, key) && result.push(key);
+ } // Don't enum bug & hidden keys
+ while (names.length > i) {
+ if (has(O, key = names[i++])) {
+ ~arrayIndexOf(result, key) || result.push(key);
+ }
+ }return result;
+ };
+ });
+
+ var _objectKeysInternal$1 = interopDefault(_objectKeysInternal);
+
+var require$$1$6 = Object.freeze({
+ default: _objectKeysInternal$1
+ });
+
+ var _enumBugKeys = createCommonjsModule(function (module) {
+ // IE 8- don't enum bug keys
+ module.exports = 'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf'.split(',');
+ });
+
+ var _enumBugKeys$1 = interopDefault(_enumBugKeys);
+
+var require$$0$8 = Object.freeze({
+ default: _enumBugKeys$1
+ });
+
+ var _objectKeys = createCommonjsModule(function (module) {
+ // 19.1.2.14 / 15.2.3.14 Object.keys(O)
+ var $keys = interopDefault(require$$1$6),
+ enumBugKeys = interopDefault(require$$0$8);
+
+ module.exports = Object.keys || function keys(O) {
+ return $keys(O, enumBugKeys);
+ };
+ });
+
+ var _objectKeys$1 = interopDefault(_objectKeys);
+
+var require$$2$5 = Object.freeze({
+ default: _objectKeys$1
+ });
+
+ var _keyof = createCommonjsModule(function (module) {
+ var getKeys = interopDefault(require$$2$5),
+ toIObject = interopDefault(require$$1$7);
+ module.exports = function (object, el) {
+ var O = toIObject(object),
+ keys = getKeys(O),
+ length = keys.length,
+ index = 0,
+ key;
+ while (length > index) {
+ if (O[key = keys[index++]] === el) return key;
+ }
+ };
+ });
+
+ var _keyof$1 = interopDefault(_keyof);
+
+var require$$16 = Object.freeze({
+ default: _keyof$1
+ });
+
+ var _objectGops = createCommonjsModule(function (module, exports) {
+ exports.f = Object.getOwnPropertySymbols;
+ });
+
+ var _objectGops$1 = interopDefault(_objectGops);
+ var f$2 = _objectGops.f;
+
+var require$$2$6 = Object.freeze({
+ default: _objectGops$1,
+ f: f$2
+ });
+
+ var _objectPie = createCommonjsModule(function (module, exports) {
+ exports.f = {}.propertyIsEnumerable;
+ });
+
+ var _objectPie$1 = interopDefault(_objectPie);
+ var f$3 = _objectPie.f;
+
+var require$$0$9 = Object.freeze({
+ default: _objectPie$1,
+ f: f$3
+ });
+
+ var _enumKeys = createCommonjsModule(function (module) {
+ // all enumerable object keys, includes symbols
+ var getKeys = interopDefault(require$$2$5),
+ gOPS = interopDefault(require$$2$6),
+ pIE = interopDefault(require$$0$9);
+ module.exports = function (it) {
+ var result = getKeys(it),
+ getSymbols = gOPS.f;
+ if (getSymbols) {
+ var symbols = getSymbols(it),
+ isEnum = pIE.f,
+ i = 0,
+ key;
+ while (symbols.length > i) {
+ if (isEnum.call(it, key = symbols[i++])) result.push(key);
+ }
+ }return result;
+ };
+ });
+
+ var _enumKeys$1 = interopDefault(_enumKeys);
+
+var require$$15 = Object.freeze({
+ default: _enumKeys$1
+ });
+
+ var _isArray = createCommonjsModule(function (module) {
+ // 7.2.2 IsArray(argument)
+ var cof = interopDefault(require$$0$6);
+ module.exports = Array.isArray || function isArray(arg) {
+ return cof(arg) == 'Array';
+ };
+ });
+
+ var _isArray$1 = interopDefault(_isArray);
+
+var require$$1$10 = Object.freeze({
+ default: _isArray$1
+ });
+
+ var _objectDps = createCommonjsModule(function (module) {
+ var dP = interopDefault(require$$2$1),
+ anObject = interopDefault(require$$5),
+ getKeys = interopDefault(require$$2$5);
+
+ module.exports = interopDefault(require$$1) ? Object.defineProperties : function defineProperties(O, Properties) {
+ anObject(O);
+ var keys = getKeys(Properties),
+ length = keys.length,
+ i = 0,
+ P;
+ while (length > i) {
+ dP.f(O, P = keys[i++], Properties[P]);
+ }return O;
+ };
+ });
+
+ var _objectDps$1 = interopDefault(_objectDps);
+
+var require$$0$10 = Object.freeze({
+ default: _objectDps$1
+ });
+
+ var _html = createCommonjsModule(function (module) {
+ module.exports = interopDefault(require$$3).document && document.documentElement;
+ });
+
+ var _html$1 = interopDefault(_html);
+
+var require$$3$2 = Object.freeze({
+ default: _html$1
+ });
+
+ var _objectCreate = createCommonjsModule(function (module) {
+ // 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])
+ var anObject = interopDefault(require$$5),
+ dPs = interopDefault(require$$0$10),
+ enumBugKeys = interopDefault(require$$0$8),
+ IE_PROTO = interopDefault(require$$0$7)('IE_PROTO'),
+ Empty = function Empty() {/* empty */},
+ PROTOTYPE = 'prototype';
+
+ // Create object with fake `null` prototype: use iframe Object with cleared prototype
+ var _createDict = function createDict() {
+ // Thrash, waste and sodomy: IE GC bug
+ var iframe = interopDefault(require$$2$2)('iframe'),
+ i = enumBugKeys.length,
+ lt = '<',
+ gt = '>',
+ iframeDocument;
+ iframe.style.display = 'none';
+ interopDefault(require$$3$2).appendChild(iframe);
+ iframe.src = 'javascript:'; // eslint-disable-line no-script-url
+ // createDict = iframe.contentWindow.Object;
+ // html.removeChild(iframe);
+ iframeDocument = iframe.contentWindow.document;
+ iframeDocument.open();
+ iframeDocument.write(lt + 'script' + gt + 'document.F=Object' + lt + '/script' + gt);
+ iframeDocument.close();
+ _createDict = iframeDocument.F;
+ while (i--) {
+ delete _createDict[PROTOTYPE][enumBugKeys[i]];
+ }return _createDict();
+ };
+
+ module.exports = Object.create || function create(O, Properties) {
+ var result;
+ if (O !== null) {
+ Empty[PROTOTYPE] = anObject(O);
+ result = new Empty();
+ Empty[PROTOTYPE] = null;
+ // add "__proto__" for Object.getPrototypeOf polyfill
+ result[IE_PROTO] = O;
+ } else result = _createDict();
+ return Properties === undefined ? result : dPs(result, Properties);
+ };
+ });
+
+ var _objectCreate$1 = interopDefault(_objectCreate);
+
+var require$$6$1 = Object.freeze({
+ default: _objectCreate$1
+ });
+
+ var _objectGopn = createCommonjsModule(function (module, exports) {
+ // 19.1.2.7 / 15.2.3.4 Object.getOwnPropertyNames(O)
+ var $keys = interopDefault(require$$1$6),
+ hiddenKeys = interopDefault(require$$0$8).concat('length', 'prototype');
+
+ exports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {
+ return $keys(O, hiddenKeys);
+ };
+ });
+
+ var _objectGopn$1 = interopDefault(_objectGopn);
+ var f$5 = _objectGopn.f;
+
+var require$$3$3 = Object.freeze({
+ default: _objectGopn$1,
+ f: f$5
+ });
+
+ var _objectGopnExt = createCommonjsModule(function (module) {
+ // fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window
+ var toIObject = interopDefault(require$$1$7),
+ gOPN = interopDefault(require$$3$3).f,
+ toString = {}.toString;
+
+ var windowNames = (typeof window === 'undefined' ? 'undefined' : _typeof(window)) == 'object' && window && Object.getOwnPropertyNames ? Object.getOwnPropertyNames(window) : [];
+
+ var getWindowNames = function getWindowNames(it) {
+ try {
+ return gOPN(it);
+ } catch (e) {
+ return windowNames.slice();
+ }
+ };
+
+ module.exports.f = function getOwnPropertyNames(it) {
+ return windowNames && toString.call(it) == '[object Window]' ? getWindowNames(it) : gOPN(toIObject(it));
+ };
+ });
+
+ var _objectGopnExt$1 = interopDefault(_objectGopnExt);
+ var f$4 = _objectGopnExt.f;
+
+
+
+ var require$$0$11 = Object.freeze({
+ default: _objectGopnExt$1,
+ f: f$4
+ });
+
+ var _objectGopd = createCommonjsModule(function (module, exports) {
+ var pIE = interopDefault(require$$0$9),
+ createDesc = interopDefault(require$$2$3),
+ toIObject = interopDefault(require$$1$7),
+ toPrimitive = interopDefault(require$$4$1),
+ has = interopDefault(require$$4),
+ IE8_DOM_DEFINE = interopDefault(require$$1$3),
+ gOPD = Object.getOwnPropertyDescriptor;
+
+ exports.f = interopDefault(require$$1) ? gOPD : function getOwnPropertyDescriptor(O, P) {
+ O = toIObject(O);
+ P = toPrimitive(P, true);
+ if (IE8_DOM_DEFINE) try {
+ return gOPD(O, P);
+ } catch (e) {/* empty */}
+ if (has(O, P)) return createDesc(!pIE.f.call(O, P), O[P]);
+ };
+ });
+
+ var _objectGopd$1 = interopDefault(_objectGopd);
+ var f$6 = _objectGopd.f;
+
+var require$$2$7 = Object.freeze({
+ default: _objectGopd$1,
+ f: f$6
+ });
+
+ var es6_symbol = createCommonjsModule(function (module) {
+ 'use strict';
+ // ECMAScript 6 symbols shim
+
+ var global = interopDefault(require$$3),
+ has = interopDefault(require$$4),
+ DESCRIPTORS = interopDefault(require$$1),
+ $export = interopDefault(require$$1$2),
+ redefine = interopDefault(require$$4$2),
+ META = interopDefault(require$$6).KEY,
+ $fails = interopDefault(require$$1$1),
+ shared = interopDefault(require$$1$4),
+ setToStringTag = interopDefault(require$$0$3),
+ uid = interopDefault(require$$12),
+ wks = interopDefault(require$$0$4),
+ wksExt = interopDefault(require$$1$5),
+ wksDefine = interopDefault(require$$0$5),
+ keyOf = interopDefault(require$$16),
+ enumKeys = interopDefault(require$$15),
+ isArray = interopDefault(require$$1$10),
+ anObject = interopDefault(require$$5),
+ toIObject = interopDefault(require$$1$7),
+ toPrimitive = interopDefault(require$$4$1),
+ createDesc = interopDefault(require$$2$3),
+ _create = interopDefault(require$$6$1),
+ gOPNExt = interopDefault(require$$0$11),
+ $GOPD = interopDefault(require$$2$7),
+ $DP = interopDefault(require$$2$1),
+ $keys = interopDefault(require$$2$5),
+ gOPD = $GOPD.f,
+ dP = $DP.f,
+ gOPN = gOPNExt.f,
+ $Symbol = global.Symbol,
+ $JSON = global.JSON,
+ _stringify = $JSON && $JSON.stringify,
+ PROTOTYPE = 'prototype',
+ HIDDEN = wks('_hidden'),
+ TO_PRIMITIVE = wks('toPrimitive'),
+ isEnum = {}.propertyIsEnumerable,
+ SymbolRegistry = shared('symbol-registry'),
+ AllSymbols = shared('symbols'),
+ OPSymbols = shared('op-symbols'),
+ ObjectProto = Object[PROTOTYPE],
+ USE_NATIVE = typeof $Symbol == 'function',
+ QObject = global.QObject;
+ // Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173
+ var setter = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild;
+
+ // fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687
+ var setSymbolDesc = DESCRIPTORS && $fails(function () {
+ return _create(dP({}, 'a', {
+ get: function get() {
+ return dP(this, 'a', { value: 7 }).a;
+ }
+ })).a != 7;
+ }) ? function (it, key, D) {
+ var protoDesc = gOPD(ObjectProto, key);
+ if (protoDesc) delete ObjectProto[key];
+ dP(it, key, D);
+ if (protoDesc && it !== ObjectProto) dP(ObjectProto, key, protoDesc);
+ } : dP;
+
+ var wrap = function wrap(tag) {
+ var sym = AllSymbols[tag] = _create($Symbol[PROTOTYPE]);
+ sym._k = tag;
+ return sym;
+ };
+
+ var isSymbol = USE_NATIVE && _typeof($Symbol.iterator) == 'symbol' ? function (it) {
+ return (typeof it === 'undefined' ? 'undefined' : _typeof(it)) == 'symbol';
+ } : function (it) {
+ return it instanceof $Symbol;
+ };
+
+ var $defineProperty = function defineProperty(it, key, D) {
+ if (it === ObjectProto) $defineProperty(OPSymbols, key, D);
+ anObject(it);
+ key = toPrimitive(key, true);
+ anObject(D);
+ if (has(AllSymbols, key)) {
+ if (!D.enumerable) {
+ if (!has(it, HIDDEN)) dP(it, HIDDEN, createDesc(1, {}));
+ it[HIDDEN][key] = true;
+ } else {
+ if (has(it, HIDDEN) && it[HIDDEN][key]) it[HIDDEN][key] = false;
+ D = _create(D, { enumerable: createDesc(0, false) });
+ }return setSymbolDesc(it, key, D);
+ }return dP(it, key, D);
+ };
+ var $defineProperties = function defineProperties(it, P) {
+ anObject(it);
+ var keys = enumKeys(P = toIObject(P)),
+ i = 0,
+ l = keys.length,
+ key;
+ while (l > i) {
+ $defineProperty(it, key = keys[i++], P[key]);
+ }return it;
+ };
+ var $create = function create(it, P) {
+ return P === undefined ? _create(it) : $defineProperties(_create(it), P);
+ };
+ var $propertyIsEnumerable = function propertyIsEnumerable(key) {
+ var E = isEnum.call(this, key = toPrimitive(key, true));
+ if (this === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return false;
+ return E || !has(this, key) || !has(AllSymbols, key) || has(this, HIDDEN) && this[HIDDEN][key] ? E : true;
+ };
+ var $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(it, key) {
+ it = toIObject(it);
+ key = toPrimitive(key, true);
+ if (it === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return;
+ var D = gOPD(it, key);
+ if (D && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key])) D.enumerable = true;
+ return D;
+ };
+ var $getOwnPropertyNames = function getOwnPropertyNames(it) {
+ var names = gOPN(toIObject(it)),
+ result = [],
+ i = 0,
+ key;
+ while (names.length > i) {
+ if (!has(AllSymbols, key = names[i++]) && key != HIDDEN && key != META) result.push(key);
+ }return result;
+ };
+ var $getOwnPropertySymbols = function getOwnPropertySymbols(it) {
+ var IS_OP = it === ObjectProto,
+ names = gOPN(IS_OP ? OPSymbols : toIObject(it)),
+ result = [],
+ i = 0,
+ key;
+ while (names.length > i) {
+ if (has(AllSymbols, key = names[i++]) && (IS_OP ? has(ObjectProto, key) : true)) result.push(AllSymbols[key]);
+ }return result;
+ };
+
+ // 19.4.1.1 Symbol([description])
+ if (!USE_NATIVE) {
+ $Symbol = function _Symbol() {
+ if (this instanceof $Symbol) throw TypeError('Symbol is not a constructor!');
+ var tag = uid(arguments.length > 0 ? arguments[0] : undefined);
+ var $set = function $set(value) {
+ if (this === ObjectProto) $set.call(OPSymbols, value);
+ if (has(this, HIDDEN) && has(this[HIDDEN], tag)) this[HIDDEN][tag] = false;
+ setSymbolDesc(this, tag, createDesc(1, value));
+ };
+ if (DESCRIPTORS && setter) setSymbolDesc(ObjectProto, tag, { configurable: true, set: $set });
+ return wrap(tag);
+ };
+ redefine($Symbol[PROTOTYPE], 'toString', function toString() {
+ return this._k;
+ });
+
+ $GOPD.f = $getOwnPropertyDescriptor;
+ $DP.f = $defineProperty;
+ interopDefault(require$$3$3).f = gOPNExt.f = $getOwnPropertyNames;
+ interopDefault(require$$0$9).f = $propertyIsEnumerable;
+ interopDefault(require$$2$6).f = $getOwnPropertySymbols;
+
+ if (DESCRIPTORS && !interopDefault(require$$2$4)) {
+ redefine(ObjectProto, 'propertyIsEnumerable', $propertyIsEnumerable, true);
+ }
+
+ wksExt.f = function (name) {
+ return wrap(wks(name));
+ };
+ }
+
+ $export($export.G + $export.W + $export.F * !USE_NATIVE, { Symbol: $Symbol });
+
+ for (var symbols =
+ // 19.4.2.2, 19.4.2.3, 19.4.2.4, 19.4.2.6, 19.4.2.8, 19.4.2.9, 19.4.2.10, 19.4.2.11, 19.4.2.12, 19.4.2.13, 19.4.2.14
+ 'hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables'.split(','), i = 0; symbols.length > i;) {
+ wks(symbols[i++]);
+ }for (var symbols = $keys(wks.store), i = 0; symbols.length > i;) {
+ wksDefine(symbols[i++]);
+ }$export($export.S + $export.F * !USE_NATIVE, 'Symbol', {
+ // 19.4.2.1 Symbol.for(key)
+ 'for': function _for(key) {
+ return has(SymbolRegistry, key += '') ? SymbolRegistry[key] : SymbolRegistry[key] = $Symbol(key);
+ },
+ // 19.4.2.5 Symbol.keyFor(sym)
+ keyFor: function keyFor(key) {
+ if (isSymbol(key)) return keyOf(SymbolRegistry, key);
+ throw TypeError(key + ' is not a symbol!');
+ },
+ useSetter: function useSetter() {
+ setter = true;
+ },
+ useSimple: function useSimple() {
+ setter = false;
+ }
+ });
+
+ $export($export.S + $export.F * !USE_NATIVE, 'Object', {
+ // 19.1.2.2 Object.create(O [, Properties])
+ create: $create,
+ // 19.1.2.4 Object.defineProperty(O, P, Attributes)
+ defineProperty: $defineProperty,
+ // 19.1.2.3 Object.defineProperties(O, Properties)
+ defineProperties: $defineProperties,
+ // 19.1.2.6 Object.getOwnPropertyDescriptor(O, P)
+ getOwnPropertyDescriptor: $getOwnPropertyDescriptor,
+ // 19.1.2.7 Object.getOwnPropertyNames(O)
+ getOwnPropertyNames: $getOwnPropertyNames,
+ // 19.1.2.8 Object.getOwnPropertySymbols(O)
+ getOwnPropertySymbols: $getOwnPropertySymbols
+ });
+
+ // 24.3.2 JSON.stringify(value [, replacer [, space]])
+ $JSON && $export($export.S + $export.F * (!USE_NATIVE || $fails(function () {
+ var S = $Symbol();
+ // MS Edge converts symbol values to JSON as {}
+ // WebKit converts symbol values to JSON as null
+ // V8 throws on boxed symbols
+ return _stringify([S]) != '[null]' || _stringify({ a: S }) != '{}' || _stringify(Object(S)) != '{}';
+ })), 'JSON', {
+ stringify: function stringify(it) {
+ if (it === undefined || isSymbol(it)) return; // IE8 returns string on undefined
+ var args = [it],
+ i = 1,
+ replacer,
+ $replacer;
+ while (arguments.length > i) {
+ args.push(arguments[i++]);
+ }replacer = args[1];
+ if (typeof replacer == 'function') $replacer = replacer;
+ if ($replacer || !isArray(replacer)) replacer = function replacer(key, value) {
+ if ($replacer) value = $replacer.call(this, key, value);
+ if (!isSymbol(value)) return value;
+ };
+ args[1] = replacer;
+ return _stringify.apply($JSON, args);
+ }
+ });
+
+ // 19.4.3.4 Symbol.prototype[@@toPrimitive](hint)
+ $Symbol[PROTOTYPE][TO_PRIMITIVE] || interopDefault(require$$2)($Symbol[PROTOTYPE], TO_PRIMITIVE, $Symbol[PROTOTYPE].valueOf);
+ // 19.4.3.5 Symbol.prototype[@@toStringTag]
+ setToStringTag($Symbol, 'Symbol');
+ // 20.2.1.9 Math[@@toStringTag]
+ setToStringTag(Math, 'Math', true);
+ // 24.3.3 JSON[@@toStringTag]
+ setToStringTag(global.JSON, 'JSON', true);
+ });
+
+ interopDefault(es6_symbol);
+
+ var es6_object_create = createCommonjsModule(function (module) {
+ var $export = interopDefault(require$$1$2);
+ // 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])
+ $export($export.S, 'Object', { create: interopDefault(require$$6$1) });
+ });
+
+ interopDefault(es6_object_create);
+
+ var es6_object_defineProperty = createCommonjsModule(function (module) {
+ var $export = interopDefault(require$$1$2);
+ // 19.1.2.4 / 15.2.3.6 Object.defineProperty(O, P, Attributes)
+ $export($export.S + $export.F * !interopDefault(require$$1), 'Object', { defineProperty: interopDefault(require$$2$1).f });
+ });
+
+ interopDefault(es6_object_defineProperty);
+
+ var es6_object_defineProperties = createCommonjsModule(function (module) {
+ var $export = interopDefault(require$$1$2);
+ // 19.1.2.3 / 15.2.3.7 Object.defineProperties(O, Properties)
+ $export($export.S + $export.F * !interopDefault(require$$1), 'Object', { defineProperties: interopDefault(require$$0$10) });
+ });
+
+ interopDefault(es6_object_defineProperties);
+
+ var _objectSap = createCommonjsModule(function (module) {
+ // most Object methods by ES6 should accept primitives
+ var $export = interopDefault(require$$1$2),
+ core = interopDefault(require$$0),
+ fails = interopDefault(require$$1$1);
+ module.exports = function (KEY, exec) {
+ var fn = (core.Object || {})[KEY] || Object[KEY],
+ exp = {};
+ exp[KEY] = exec(fn);
+ $export($export.S + $export.F * fails(function () {
+ fn(1);
+ }), 'Object', exp);
+ };
+ });
+
+ var _objectSap$1 = interopDefault(_objectSap);
+
+var require$$0$12 = Object.freeze({
+ default: _objectSap$1
+ });
+
+ var es6_object_getOwnPropertyDescriptor = createCommonjsModule(function (module) {
+ // 19.1.2.6 Object.getOwnPropertyDescriptor(O, P)
+ var toIObject = interopDefault(require$$1$7),
+ $getOwnPropertyDescriptor = interopDefault(require$$2$7).f;
+
+ interopDefault(require$$0$12)('getOwnPropertyDescriptor', function () {
+ return function getOwnPropertyDescriptor(it, key) {
+ return $getOwnPropertyDescriptor(toIObject(it), key);
+ };
+ });
+ });
+
+ interopDefault(es6_object_getOwnPropertyDescriptor);
+
+ var _toObject = createCommonjsModule(function (module) {
+ // 7.1.13 ToObject(argument)
+ var defined = interopDefault(require$$4$3);
+ module.exports = function (it) {
+ return Object(defined(it));
+ };
+ });
+
+ var _toObject$1 = interopDefault(_toObject);
+
+var require$$5$1 = Object.freeze({
+ default: _toObject$1
+ });
+
+ var _objectGpo = createCommonjsModule(function (module) {
+ // 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O)
+ var has = interopDefault(require$$4),
+ toObject = interopDefault(require$$5$1),
+ IE_PROTO = interopDefault(require$$0$7)('IE_PROTO'),
+ ObjectProto = Object.prototype;
+
+ module.exports = Object.getPrototypeOf || function (O) {
+ O = toObject(O);
+ if (has(O, IE_PROTO)) return O[IE_PROTO];
+ if (typeof O.constructor == 'function' && O instanceof O.constructor) {
+ return O.constructor.prototype;
+ }return O instanceof Object ? ObjectProto : null;
+ };
+ });
+
+ var _objectGpo$1 = interopDefault(_objectGpo);
+
+var require$$0$13 = Object.freeze({
+ default: _objectGpo$1
+ });
+
+ var es6_object_getPrototypeOf = createCommonjsModule(function (module) {
+ // 19.1.2.9 Object.getPrototypeOf(O)
+ var toObject = interopDefault(require$$5$1),
+ $getPrototypeOf = interopDefault(require$$0$13);
+
+ interopDefault(require$$0$12)('getPrototypeOf', function () {
+ return function getPrototypeOf(it) {
+ return $getPrototypeOf(toObject(it));
+ };
+ });
+ });
+
+ interopDefault(es6_object_getPrototypeOf);
+
+ var es6_object_keys = createCommonjsModule(function (module) {
+ // 19.1.2.14 Object.keys(O)
+ var toObject = interopDefault(require$$5$1),
+ $keys = interopDefault(require$$2$5);
+
+ interopDefault(require$$0$12)('keys', function () {
+ return function keys(it) {
+ return $keys(toObject(it));
+ };
+ });
+ });
+
+ interopDefault(es6_object_keys);
+
+ var es6_object_getOwnPropertyNames = createCommonjsModule(function (module) {
+ // 19.1.2.7 Object.getOwnPropertyNames(O)
+ interopDefault(require$$0$12)('getOwnPropertyNames', function () {
+ return interopDefault(require$$0$11).f;
+ });
+ });
+
+ interopDefault(es6_object_getOwnPropertyNames);
+
+ var es6_object_freeze = createCommonjsModule(function (module) {
+ // 19.1.2.5 Object.freeze(O)
+ var isObject = interopDefault(require$$0$1),
+ meta = interopDefault(require$$6).onFreeze;
+
+ interopDefault(require$$0$12)('freeze', function ($freeze) {
+ return function freeze(it) {
+ return $freeze && isObject(it) ? $freeze(meta(it)) : it;
+ };
+ });
+ });
+
+ interopDefault(es6_object_freeze);
+
+ var es6_object_seal = createCommonjsModule(function (module) {
+ // 19.1.2.17 Object.seal(O)
+ var isObject = interopDefault(require$$0$1),
+ meta = interopDefault(require$$6).onFreeze;
+
+ interopDefault(require$$0$12)('seal', function ($seal) {
+ return function seal(it) {
+ return $seal && isObject(it) ? $seal(meta(it)) : it;
+ };
+ });
+ });
+
+ interopDefault(es6_object_seal);
+
+ var es6_object_preventExtensions = createCommonjsModule(function (module) {
+ // 19.1.2.15 Object.preventExtensions(O)
+ var isObject = interopDefault(require$$0$1),
+ meta = interopDefault(require$$6).onFreeze;
+
+ interopDefault(require$$0$12)('preventExtensions', function ($preventExtensions) {
+ return function preventExtensions(it) {
+ return $preventExtensions && isObject(it) ? $preventExtensions(meta(it)) : it;
+ };
+ });
+ });
+
+ interopDefault(es6_object_preventExtensions);
+
+ var es6_object_isFrozen = createCommonjsModule(function (module) {
+ // 19.1.2.12 Object.isFrozen(O)
+ var isObject = interopDefault(require$$0$1);
+
+ interopDefault(require$$0$12)('isFrozen', function ($isFrozen) {
+ return function isFrozen(it) {
+ return isObject(it) ? $isFrozen ? $isFrozen(it) : false : true;
+ };
+ });
+ });
+
+ interopDefault(es6_object_isFrozen);
+
+ var es6_object_isSealed = createCommonjsModule(function (module) {
+ // 19.1.2.13 Object.isSealed(O)
+ var isObject = interopDefault(require$$0$1);
+
+ interopDefault(require$$0$12)('isSealed', function ($isSealed) {
+ return function isSealed(it) {
+ return isObject(it) ? $isSealed ? $isSealed(it) : false : true;
+ };
+ });
+ });
+
+ interopDefault(es6_object_isSealed);
+
+ var es6_object_isExtensible = createCommonjsModule(function (module) {
+ // 19.1.2.11 Object.isExtensible(O)
+ var isObject = interopDefault(require$$0$1);
+
+ interopDefault(require$$0$12)('isExtensible', function ($isExtensible) {
+ return function isExtensible(it) {
+ return isObject(it) ? $isExtensible ? $isExtensible(it) : true : false;
+ };
+ });
+ });
+
+ interopDefault(es6_object_isExtensible);
+
+ var _objectAssign = createCommonjsModule(function (module) {
+ 'use strict';
+ // 19.1.2.1 Object.assign(target, source, ...)
+
+ var getKeys = interopDefault(require$$2$5),
+ gOPS = interopDefault(require$$2$6),
+ pIE = interopDefault(require$$0$9),
+ toObject = interopDefault(require$$5$1),
+ IObject = interopDefault(require$$1$8),
+ $assign = Object.assign;
+
+ // should work with symbols and should have deterministic property order (V8 bug)
+ module.exports = !$assign || interopDefault(require$$1$1)(function () {
+ var A = {},
+ B = {},
+ S = Symbol(),
+ K = 'abcdefghijklmnopqrst';
+ A[S] = 7;
+ K.split('').forEach(function (k) {
+ B[k] = k;
+ });
+ return $assign({}, A)[S] != 7 || Object.keys($assign({}, B)).join('') != K;
+ }) ? function assign(target, source) {
+ // eslint-disable-line no-unused-vars
+ var T = toObject(target),
+ aLen = arguments.length,
+ index = 1,
+ getSymbols = gOPS.f,
+ isEnum = pIE.f;
+ while (aLen > index) {
+ var S = IObject(arguments[index++]),
+ keys = getSymbols ? getKeys(S).concat(getSymbols(S)) : getKeys(S),
+ length = keys.length,
+ j = 0,
+ key;
+ while (length > j) {
+ if (isEnum.call(S, key = keys[j++])) T[key] = S[key];
+ }
+ }return T;
+ } : $assign;
+ });
+
+ var _objectAssign$1 = interopDefault(_objectAssign);
+
+var require$$3$4 = Object.freeze({
+ default: _objectAssign$1
+ });
+
+ var es6_object_assign = createCommonjsModule(function (module) {
+ // 19.1.3.1 Object.assign(target, source)
+ var $export = interopDefault(require$$1$2);
+
+ $export($export.S + $export.F, 'Object', { assign: interopDefault(require$$3$4) });
+ });
+
+ interopDefault(es6_object_assign);
+
+ var _sameValue = createCommonjsModule(function (module) {
+ // 7.2.9 SameValue(x, y)
+ module.exports = Object.is || function is(x, y) {
+ return x === y ? x !== 0 || 1 / x === 1 / y : x != x && y != y;
+ };
+ });
+
+ var _sameValue$1 = interopDefault(_sameValue);
+
+var require$$21 = Object.freeze({
+ default: _sameValue$1
+ });
+
+ var es6_object_is = createCommonjsModule(function (module) {
+ // 19.1.3.10 Object.is(value1, value2)
+ var $export = interopDefault(require$$1$2);
+ $export($export.S, 'Object', { is: interopDefault(require$$21) });
+ });
+
+ interopDefault(es6_object_is);
+
+ var _setProto = createCommonjsModule(function (module) {
+ // Works with __proto__ only. Old v8 can't work with null proto objects.
+ /* eslint-disable no-proto */
+ var isObject = interopDefault(require$$0$1),
+ anObject = interopDefault(require$$5);
+ var check = function check(O, proto) {
+ anObject(O);
+ if (!isObject(proto) && proto !== null) throw TypeError(proto + ": can't set as prototype!");
+ };
+ module.exports = {
+ set: Object.setPrototypeOf || ('__proto__' in {} ? // eslint-disable-line
+ function (test, buggy, set) {
+ try {
+ set = interopDefault(require$$31)(Function.call, interopDefault(require$$2$7).f(Object.prototype, '__proto__').set, 2);
+ set(test, []);
+ buggy = !(test instanceof Array);
+ } catch (e) {
+ buggy = true;
+ }
+ return function setPrototypeOf(O, proto) {
+ check(O, proto);
+ if (buggy) O.__proto__ = proto;else set(O, proto);
+ return O;
+ };
+ }({}, false) : undefined),
+ check: check
+ };
+ });
+
+ var _setProto$1 = interopDefault(_setProto);
+ var set$1 = _setProto.set;
+ var check = _setProto.check;
+
+var require$$0$14 = Object.freeze({
+ default: _setProto$1,
+ set: set$1,
+ check: check
+ });
+
+ var es6_object_setPrototypeOf = createCommonjsModule(function (module) {
+ // 19.1.3.19 Object.setPrototypeOf(O, proto)
+ var $export = interopDefault(require$$1$2);
+ $export($export.S, 'Object', { setPrototypeOf: interopDefault(require$$0$14).set });
+ });
+
+ interopDefault(es6_object_setPrototypeOf);
+
+ var _classof = createCommonjsModule(function (module) {
+ // getting tag from 19.1.3.6 Object.prototype.toString()
+ var cof = interopDefault(require$$0$6),
+ TAG = interopDefault(require$$0$4)('toStringTag')
+ // ES3 wrong here
+ ,
+ ARG = cof(function () {
+ return arguments;
+ }()) == 'Arguments';
+
+ // fallback for IE11 Script Access Denied error
+ var tryGet = function tryGet(it, key) {
+ try {
+ return it[key];
+ } catch (e) {/* empty */}
+ };
+
+ module.exports = function (it) {
+ var O, T, B;
+ return it === undefined ? 'Undefined' : it === null ? 'Null'
+ // @@toStringTag case
+ : typeof (T = tryGet(O = Object(it), TAG)) == 'string' ? T
+ // builtinTag case
+ : ARG ? cof(O)
+ // ES3 arguments fallback
+ : (B = cof(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : B;
+ };
+ });
+
+ var _classof$1 = interopDefault(_classof);
+
+var require$$1$11 = Object.freeze({
+ default: _classof$1
+ });
+
+ var es6_object_toString = createCommonjsModule(function (module) {
+ 'use strict';
+ // 19.1.3.6 Object.prototype.toString()
+
+ var classof = interopDefault(require$$1$11),
+ test = {};
+ test[interopDefault(require$$0$4)('toStringTag')] = 'z';
+ if (test + '' != '[object z]') {
+ interopDefault(require$$4$2)(Object.prototype, 'toString', function toString() {
+ return '[object ' + classof(this) + ']';
+ }, true);
+ }
+ });
+
+ interopDefault(es6_object_toString);
+
+ var _invoke = createCommonjsModule(function (module) {
+ // fast apply, http://jsperf.lnkit.com/fast-apply/5
+ module.exports = function (fn, args, that) {
+ var un = that === undefined;
+ switch (args.length) {
+ case 0:
+ return un ? fn() : fn.call(that);
+ case 1:
+ return un ? fn(args[0]) : fn.call(that, args[0]);
+ case 2:
+ return un ? fn(args[0], args[1]) : fn.call(that, args[0], args[1]);
+ case 3:
+ return un ? fn(args[0], args[1], args[2]) : fn.call(that, args[0], args[1], args[2]);
+ case 4:
+ return un ? fn(args[0], args[1], args[2], args[3]) : fn.call(that, args[0], args[1], args[2], args[3]);
+ }return fn.apply(that, args);
+ };
+ });
+
+ var _invoke$1 = interopDefault(_invoke);
+
+var require$$1$13 = Object.freeze({
+ default: _invoke$1
+ });
+
+ var _bind = createCommonjsModule(function (module) {
+ 'use strict';
+
+ var aFunction = interopDefault(require$$0$2),
+ isObject = interopDefault(require$$0$1),
+ invoke = interopDefault(require$$1$13),
+ arraySlice = [].slice,
+ factories = {};
+
+ var construct = function construct(F, len, args) {
+ if (!(len in factories)) {
+ for (var n = [], i = 0; i < len; i++) {
+ n[i] = 'a[' + i + ']';
+ }factories[len] = Function('F,a', 'return new F(' + n.join(',') + ')');
+ }return factories[len](F, args);
+ };
+
+ module.exports = Function.bind || function bind(that /*, args... */) {
+ var fn = aFunction(this),
+ partArgs = arraySlice.call(arguments, 1);
+ var bound = function bound() /* args... */{
+ var args = partArgs.concat(arraySlice.call(arguments));
+ return this instanceof bound ? construct(fn, args.length, args) : invoke(fn, args, that);
+ };
+ if (isObject(fn.prototype)) bound.prototype = fn.prototype;
+ return bound;
+ };
+ });
+
+ var _bind$1 = interopDefault(_bind);
+
+var require$$1$12 = Object.freeze({
+ default: _bind$1
+ });
+
+ var es6_function_bind = createCommonjsModule(function (module) {
+ // 19.2.3.2 / 15.3.4.5 Function.prototype.bind(thisArg, args...)
+ var $export = interopDefault(require$$1$2);
+
+ $export($export.P, 'Function', { bind: interopDefault(require$$1$12) });
+ });
+
+ interopDefault(es6_function_bind);
+
+ var es6_function_name = createCommonjsModule(function (module) {
+ var dP = interopDefault(require$$2$1).f,
+ createDesc = interopDefault(require$$2$3),
+ has = interopDefault(require$$4),
+ FProto = Function.prototype,
+ nameRE = /^\s*function ([^ (]*)/,
+ NAME = 'name';
+
+ var isExtensible = Object.isExtensible || function () {
+ return true;
+ };
+
+ // 19.2.4.2 name
+ NAME in FProto || interopDefault(require$$1) && dP(FProto, NAME, {
+ configurable: true,
+ get: function get() {
+ try {
+ var that = this,
+ name = ('' + that).match(nameRE)[1];
+ has(that, NAME) || !isExtensible(that) || dP(that, NAME, createDesc(5, name));
+ return name;
+ } catch (e) {
+ return '';
+ }
+ }
+ });
+ });
+
+ interopDefault(es6_function_name);
+
+ var es6_function_hasInstance = createCommonjsModule(function (module) {
+ 'use strict';
+
+ var isObject = interopDefault(require$$0$1),
+ getPrototypeOf = interopDefault(require$$0$13),
+ HAS_INSTANCE = interopDefault(require$$0$4)('hasInstance'),
+ FunctionProto = Function.prototype;
+ // 19.2.3.6 Function.prototype[@@hasInstance](V)
+ if (!(HAS_INSTANCE in FunctionProto)) interopDefault(require$$2$1).f(FunctionProto, HAS_INSTANCE, { value: function value(O) {
+ if (typeof this != 'function' || !isObject(O)) return false;
+ if (!isObject(this.prototype)) return O instanceof this;
+ // for environment w/o native `@@hasInstance` logic enough `instanceof`, but add this:
+ while (O = getPrototypeOf(O)) {
+ if (this.prototype === O) return true;
+ }return false;
+ } });
+ });
+
+ interopDefault(es6_function_hasInstance);
+
+ var _stringWs = createCommonjsModule(function (module) {
+ module.exports = '\t\n\u000b\f\r   ᠎    ' + '          \u2028\u2029';
+ });
+
+ var _stringWs$1 = interopDefault(_stringWs);
+
+var require$$0$17 = Object.freeze({
+ default: _stringWs$1
+ });
+
+ var _stringTrim = createCommonjsModule(function (module) {
+ var $export = interopDefault(require$$1$2),
+ defined = interopDefault(require$$4$3),
+ fails = interopDefault(require$$1$1),
+ spaces = interopDefault(require$$0$17),
+ space = '[' + spaces + ']',
+ non = '​…',
+ ltrim = RegExp('^' + space + space + '*'),
+ rtrim = RegExp(space + space + '*$');
+
+ var exporter = function exporter(KEY, exec, ALIAS) {
+ var exp = {};
+ var FORCE = fails(function () {
+ return !!spaces[KEY]() || non[KEY]() != non;
+ });
+ var fn = exp[KEY] = FORCE ? exec(trim) : spaces[KEY];
+ if (ALIAS) exp[ALIAS] = fn;
+ $export($export.P + $export.F * FORCE, 'String', exp);
+ };
+
+ // 1 -> String#trimLeft
+ // 2 -> String#trimRight
+ // 3 -> String#trim
+ var trim = exporter.trim = function (string, TYPE) {
+ string = String(defined(string));
+ if (TYPE & 1) string = string.replace(ltrim, '');
+ if (TYPE & 2) string = string.replace(rtrim, '');
+ return string;
+ };
+
+ module.exports = exporter;
+ });
+
+ var _stringTrim$1 = interopDefault(_stringTrim);
+
+var require$$0$16 = Object.freeze({
+ default: _stringTrim$1
+ });
+
+ var _parseInt = createCommonjsModule(function (module) {
+ var $parseInt = interopDefault(require$$3).parseInt,
+ $trim = interopDefault(require$$0$16).trim,
+ ws = interopDefault(require$$0$17),
+ hex = /^[\-+]?0[xX]/;
+
+ module.exports = $parseInt(ws + '08') !== 8 || $parseInt(ws + '0x16') !== 22 ? function parseInt(str, radix) {
+ var string = $trim(String(str), 3);
+ return $parseInt(string, radix >>> 0 || (hex.test(string) ? 16 : 10));
+ } : $parseInt;
+ });
+
+ var _parseInt$1 = interopDefault(_parseInt);
+
+var require$$0$15 = Object.freeze({
+ default: _parseInt$1
+ });
+
+ var es6_parseInt = createCommonjsModule(function (module) {
+ var $export = interopDefault(require$$1$2),
+ $parseInt = interopDefault(require$$0$15);
+ // 18.2.5 parseInt(string, radix)
+ $export($export.G + $export.F * (parseInt != $parseInt), { parseInt: $parseInt });
+ });
+
+ interopDefault(es6_parseInt);
+
+ var _parseFloat = createCommonjsModule(function (module) {
+ var $parseFloat = interopDefault(require$$3).parseFloat,
+ $trim = interopDefault(require$$0$16).trim;
+
+ module.exports = 1 / $parseFloat(interopDefault(require$$0$17) + '-0') !== -Infinity ? function parseFloat(str) {
+ var string = $trim(String(str), 3),
+ result = $parseFloat(string);
+ return result === 0 && string.charAt(0) == '-' ? -0 : result;
+ } : $parseFloat;
+ });
+
+ var _parseFloat$1 = interopDefault(_parseFloat);
+
+var require$$0$18 = Object.freeze({
+ default: _parseFloat$1
+ });
+
+ var es6_parseFloat = createCommonjsModule(function (module) {
+ var $export = interopDefault(require$$1$2),
+ $parseFloat = interopDefault(require$$0$18);
+ // 18.2.4 parseFloat(string)
+ $export($export.G + $export.F * (parseFloat != $parseFloat), { parseFloat: $parseFloat });
+ });
+
+ interopDefault(es6_parseFloat);
+
+ var _inheritIfRequired = createCommonjsModule(function (module) {
+ var isObject = interopDefault(require$$0$1),
+ setPrototypeOf = interopDefault(require$$0$14).set;
+ module.exports = function (that, target, C) {
+ var P,
+ S = target.constructor;
+ if (S !== C && typeof S == 'function' && (P = S.prototype) !== C.prototype && isObject(P) && setPrototypeOf) {
+ setPrototypeOf(that, P);
+ }return that;
+ };
+ });
+
+ var _inheritIfRequired$1 = interopDefault(_inheritIfRequired);
+
+var require$$0$19 = Object.freeze({
+ default: _inheritIfRequired$1
+ });
+
+ var es6_number_constructor = createCommonjsModule(function (module) {
+ 'use strict';
+
+ var global = interopDefault(require$$3),
+ has = interopDefault(require$$4),
+ cof = interopDefault(require$$0$6),
+ inheritIfRequired = interopDefault(require$$0$19),
+ toPrimitive = interopDefault(require$$4$1),
+ fails = interopDefault(require$$1$1),
+ gOPN = interopDefault(require$$3$3).f,
+ gOPD = interopDefault(require$$2$7).f,
+ dP = interopDefault(require$$2$1).f,
+ $trim = interopDefault(require$$0$16).trim,
+ NUMBER = 'Number',
+ $Number = global[NUMBER],
+ Base = $Number,
+ proto = $Number.prototype
+ // Opera ~12 has broken Object#toString
+ ,
+ BROKEN_COF = cof(interopDefault(require$$6$1)(proto)) == NUMBER,
+ TRIM = 'trim' in String.prototype;
+
+ // 7.1.3 ToNumber(argument)
+ var toNumber = function toNumber(argument) {
+ var it = toPrimitive(argument, false);
+ if (typeof it == 'string' && it.length > 2) {
+ it = TRIM ? it.trim() : $trim(it, 3);
+ var first = it.charCodeAt(0),
+ third,
+ radix,
+ maxCode;
+ if (first === 43 || first === 45) {
+ third = it.charCodeAt(2);
+ if (third === 88 || third === 120) return NaN; // Number('+0x1') should be NaN, old V8 fix
+ } else if (first === 48) {
+ switch (it.charCodeAt(1)) {
+ case 66:case 98:
+ radix = 2;maxCode = 49;break; // fast equal /^0b[01]+$/i
+ case 79:case 111:
+ radix = 8;maxCode = 55;break; // fast equal /^0o[0-7]+$/i
+ default:
+ return +it;
+ }
+ for (var digits = it.slice(2), i = 0, l = digits.length, code; i < l; i++) {
+ code = digits.charCodeAt(i);
+ // parseInt parses a string to a first unavailable symbol
+ // but ToNumber should return NaN if a string contains unavailable symbols
+ if (code < 48 || code > maxCode) return NaN;
+ }return parseInt(digits, radix);
+ }
+ }return +it;
+ };
+
+ if (!$Number(' 0o1') || !$Number('0b1') || $Number('+0x1')) {
+ $Number = function Number(value) {
+ var it = arguments.length < 1 ? 0 : value,
+ that = this;
+ return that instanceof $Number
+ // check on 1..constructor(foo) case
+ && (BROKEN_COF ? fails(function () {
+ proto.valueOf.call(that);
+ }) : cof(that) != NUMBER) ? inheritIfRequired(new Base(toNumber(it)), that, $Number) : toNumber(it);
+ };
+ for (var keys = interopDefault(require$$1) ? gOPN(Base) : (
+ // ES3:
+ 'MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,' +
+ // ES6 (in case, if modules with ES6 Number statics required before):
+ 'EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,' + 'MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger').split(','), j = 0, key; keys.length > j; j++) {
+ if (has(Base, key = keys[j]) && !has($Number, key)) {
+ dP($Number, key, gOPD(Base, key));
+ }
+ }
+ $Number.prototype = proto;
+ proto.constructor = $Number;
+ interopDefault(require$$4$2)(global, NUMBER, $Number);
+ }
+ });
+
+ interopDefault(es6_number_constructor);
+
+ var _aNumberValue = createCommonjsModule(function (module) {
+ var cof = interopDefault(require$$0$6);
+ module.exports = function (it, msg) {
+ if (typeof it != 'number' && cof(it) != 'Number') throw TypeError(msg);
+ return +it;
+ };
+ });
+
+ var _aNumberValue$1 = interopDefault(_aNumberValue);
+
+var require$$0$20 = Object.freeze({
+ default: _aNumberValue$1
+ });
+
+ var _stringRepeat = createCommonjsModule(function (module) {
+ 'use strict';
+
+ var toInteger = interopDefault(require$$26),
+ defined = interopDefault(require$$4$3);
+
+ module.exports = function repeat(count) {
+ var str = String(defined(this)),
+ res = '',
+ n = toInteger(count);
+ if (n < 0 || n == Infinity) throw RangeError("Count can't be negative");
+ for (; n > 0; (n >>>= 1) && (str += str)) {
+ if (n & 1) res += str;
+ }return res;
+ };
+ });
+
+ var _stringRepeat$1 = interopDefault(_stringRepeat);
+
+var require$$1$14 = Object.freeze({
+ default: _stringRepeat$1
+ });
+
+ var es6_number_toFixed = createCommonjsModule(function (module) {
+ 'use strict';
+
+ var $export = interopDefault(require$$1$2),
+ toInteger = interopDefault(require$$26),
+ aNumberValue = interopDefault(require$$0$20),
+ repeat = interopDefault(require$$1$14),
+ $toFixed = 1..toFixed,
+ floor = Math.floor,
+ data = [0, 0, 0, 0, 0, 0],
+ ERROR = 'Number.toFixed: incorrect invocation!',
+ ZERO = '0';
+
+ var multiply = function multiply(n, c) {
+ var i = -1,
+ c2 = c;
+ while (++i < 6) {
+ c2 += n * data[i];
+ data[i] = c2 % 1e7;
+ c2 = floor(c2 / 1e7);
+ }
+ };
+ var divide = function divide(n) {
+ var i = 6,
+ c = 0;
+ while (--i >= 0) {
+ c += data[i];
+ data[i] = floor(c / n);
+ c = c % n * 1e7;
+ }
+ };
+ var numToString = function numToString() {
+ var i = 6,
+ s = '';
+ while (--i >= 0) {
+ if (s !== '' || i === 0 || data[i] !== 0) {
+ var t = String(data[i]);
+ s = s === '' ? t : s + repeat.call(ZERO, 7 - t.length) + t;
+ }
+ }return s;
+ };
+ var pow = function pow(x, n, acc) {
+ return n === 0 ? acc : n % 2 === 1 ? pow(x, n - 1, acc * x) : pow(x * x, n / 2, acc);
+ };
+ var log = function log(x) {
+ var n = 0,
+ x2 = x;
+ while (x2 >= 4096) {
+ n += 12;
+ x2 /= 4096;
+ }
+ while (x2 >= 2) {
+ n += 1;
+ x2 /= 2;
+ }return n;
+ };
+
+ $export($export.P + $export.F * (!!$toFixed && (0.00008.toFixed(3) !== '0.000' || 0.9.toFixed(0) !== '1' || 1.255.toFixed(2) !== '1.25' || 1000000000000000128..toFixed(0) !== '1000000000000000128') || !interopDefault(require$$1$1)(function () {
+ // V8 ~ Android 4.3-
+ $toFixed.call({});
+ })), 'Number', {
+ toFixed: function toFixed(fractionDigits) {
+ var x = aNumberValue(this, ERROR),
+ f = toInteger(fractionDigits),
+ s = '',
+ m = ZERO,
+ e,
+ z,
+ j,
+ k;
+ if (f < 0 || f > 20) throw RangeError(ERROR);
+ if (x != x) return 'NaN';
+ if (x <= -1e21 || x >= 1e21) return String(x);
+ if (x < 0) {
+ s = '-';
+ x = -x;
+ }
+ if (x > 1e-21) {
+ e = log(x * pow(2, 69, 1)) - 69;
+ z = e < 0 ? x * pow(2, -e, 1) : x / pow(2, e, 1);
+ z *= 0x10000000000000;
+ e = 52 - e;
+ if (e > 0) {
+ multiply(0, z);
+ j = f;
+ while (j >= 7) {
+ multiply(1e7, 0);
+ j -= 7;
+ }
+ multiply(pow(10, j, 1), 0);
+ j = e - 1;
+ while (j >= 23) {
+ divide(1 << 23);
+ j -= 23;
+ }
+ divide(1 << j);
+ multiply(1, 1);
+ divide(2);
+ m = numToString();
+ } else {
+ multiply(0, z);
+ multiply(1 << -e, 0);
+ m = numToString() + repeat.call(ZERO, f);
+ }
+ }
+ if (f > 0) {
+ k = m.length;
+ m = s + (k <= f ? '0.' + repeat.call(ZERO, f - k) + m : m.slice(0, k - f) + '.' + m.slice(k - f));
+ } else {
+ m = s + m;
+ }return m;
+ }
+ });
+ });
+
+ interopDefault(es6_number_toFixed);
+
+ var es6_number_toPrecision = createCommonjsModule(function (module) {
+ 'use strict';
+
+ var $export = interopDefault(require$$1$2),
+ $fails = interopDefault(require$$1$1),
+ aNumberValue = interopDefault(require$$0$20),
+ $toPrecision = 1..toPrecision;
+
+ $export($export.P + $export.F * ($fails(function () {
+ // IE7-
+ return $toPrecision.call(1, undefined) !== '1';
+ }) || !$fails(function () {
+ // V8 ~ Android 4.3-
+ $toPrecision.call({});
+ })), 'Number', {
+ toPrecision: function toPrecision(precision) {
+ var that = aNumberValue(this, 'Number#toPrecision: incorrect invocation!');
+ return precision === undefined ? $toPrecision.call(that) : $toPrecision.call(that, precision);
+ }
+ });
+ });
+
+ interopDefault(es6_number_toPrecision);
+
+ var es6_number_epsilon = createCommonjsModule(function (module) {
+ // 20.1.2.1 Number.EPSILON
+ var $export = interopDefault(require$$1$2);
+
+ $export($export.S, 'Number', { EPSILON: Math.pow(2, -52) });
+ });
+
+ interopDefault(es6_number_epsilon);
+
+ var es6_number_isFinite = createCommonjsModule(function (module) {
+ // 20.1.2.2 Number.isFinite(number)
+ var $export = interopDefault(require$$1$2),
+ _isFinite = interopDefault(require$$3).isFinite;
+
+ $export($export.S, 'Number', {
+ isFinite: function isFinite(it) {
+ return typeof it == 'number' && _isFinite(it);
+ }
+ });
+ });
+
+ interopDefault(es6_number_isFinite);
+
+ var _isInteger = createCommonjsModule(function (module) {
+ // 20.1.2.3 Number.isInteger(number)
+ var isObject = interopDefault(require$$0$1),
+ floor = Math.floor;
+ module.exports = function isInteger(it) {
+ return !isObject(it) && isFinite(it) && floor(it) === it;
+ };
+ });
+
+ var _isInteger$1 = interopDefault(_isInteger);
+
+var require$$0$21 = Object.freeze({
+ default: _isInteger$1
+ });
+
+ var es6_number_isInteger = createCommonjsModule(function (module) {
+ // 20.1.2.3 Number.isInteger(number)
+ var $export = interopDefault(require$$1$2);
+
+ $export($export.S, 'Number', { isInteger: interopDefault(require$$0$21) });
+ });
+
+ interopDefault(es6_number_isInteger);
+
+ var es6_number_isNan = createCommonjsModule(function (module) {
+ // 20.1.2.4 Number.isNaN(number)
+ var $export = interopDefault(require$$1$2);
+
+ $export($export.S, 'Number', {
+ isNaN: function isNaN(number) {
+ return number != number;
+ }
+ });
+ });
+
+ interopDefault(es6_number_isNan);
+
+ var es6_number_isSafeInteger = createCommonjsModule(function (module) {
+ // 20.1.2.5 Number.isSafeInteger(number)
+ var $export = interopDefault(require$$1$2),
+ isInteger = interopDefault(require$$0$21),
+ abs = Math.abs;
+
+ $export($export.S, 'Number', {
+ isSafeInteger: function isSafeInteger(number) {
+ return isInteger(number) && abs(number) <= 0x1fffffffffffff;
+ }
+ });
+ });
+
+ interopDefault(es6_number_isSafeInteger);
+
+ var es6_number_maxSafeInteger = createCommonjsModule(function (module) {
+ // 20.1.2.6 Number.MAX_SAFE_INTEGER
+ var $export = interopDefault(require$$1$2);
+
+ $export($export.S, 'Number', { MAX_SAFE_INTEGER: 0x1fffffffffffff });
+ });
+
+ interopDefault(es6_number_maxSafeInteger);
+
+ var es6_number_minSafeInteger = createCommonjsModule(function (module) {
+ // 20.1.2.10 Number.MIN_SAFE_INTEGER
+ var $export = interopDefault(require$$1$2);
+
+ $export($export.S, 'Number', { MIN_SAFE_INTEGER: -0x1fffffffffffff });
+ });
+
+ interopDefault(es6_number_minSafeInteger);
+
+ var es6_number_parseFloat = createCommonjsModule(function (module) {
+ var $export = interopDefault(require$$1$2),
+ $parseFloat = interopDefault(require$$0$18);
+ // 20.1.2.12 Number.parseFloat(string)
+ $export($export.S + $export.F * (Number.parseFloat != $parseFloat), 'Number', { parseFloat: $parseFloat });
+ });
+
+ interopDefault(es6_number_parseFloat);
+
+ var es6_number_parseInt = createCommonjsModule(function (module) {
+ var $export = interopDefault(require$$1$2),
+ $parseInt = interopDefault(require$$0$15);
+ // 20.1.2.13 Number.parseInt(string, radix)
+ $export($export.S + $export.F * (Number.parseInt != $parseInt), 'Number', { parseInt: $parseInt });
+ });
+
+ interopDefault(es6_number_parseInt);
+
+ var _mathLog1p = createCommonjsModule(function (module) {
+ // 20.2.2.20 Math.log1p(x)
+ module.exports = Math.log1p || function log1p(x) {
+ return (x = +x) > -1e-8 && x < 1e-8 ? x - x * x / 2 : Math.log(1 + x);
+ };
+ });
+
+ var _mathLog1p$1 = interopDefault(_mathLog1p);
+
+var require$$0$22 = Object.freeze({
+ default: _mathLog1p$1
+ });
+
+ var es6_math_acosh = createCommonjsModule(function (module) {
+ // 20.2.2.3 Math.acosh(x)
+ var $export = interopDefault(require$$1$2),
+ log1p = interopDefault(require$$0$22),
+ sqrt = Math.sqrt,
+ $acosh = Math.acosh;
+
+ $export($export.S + $export.F * !($acosh
+ // V8 bug: https://code.google.com/p/v8/issues/detail?id=3509
+ && Math.floor($acosh(Number.MAX_VALUE)) == 710
+ // Tor Browser bug: Math.acosh(Infinity) -> NaN
+ && $acosh(Infinity) == Infinity), 'Math', {
+ acosh: function acosh(x) {
+ return (x = +x) < 1 ? NaN : x > 94906265.62425156 ? Math.log(x) + Math.LN2 : log1p(x - 1 + sqrt(x - 1) * sqrt(x + 1));
+ }
+ });
+ });
+
+ interopDefault(es6_math_acosh);
+
+ var es6_math_asinh = createCommonjsModule(function (module) {
+ // 20.2.2.5 Math.asinh(x)
+ var $export = interopDefault(require$$1$2),
+ $asinh = Math.asinh;
+
+ function asinh(x) {
+ return !isFinite(x = +x) || x == 0 ? x : x < 0 ? -asinh(-x) : Math.log(x + Math.sqrt(x * x + 1));
+ }
+
+ // Tor Browser bug: Math.asinh(0) -> -0
+ $export($export.S + $export.F * !($asinh && 1 / $asinh(0) > 0), 'Math', { asinh: asinh });
+ });
+
+ interopDefault(es6_math_asinh);
+
+ var es6_math_atanh = createCommonjsModule(function (module) {
+ // 20.2.2.7 Math.atanh(x)
+ var $export = interopDefault(require$$1$2),
+ $atanh = Math.atanh;
+
+ // Tor Browser bug: Math.atanh(-0) -> 0
+ $export($export.S + $export.F * !($atanh && 1 / $atanh(-0) < 0), 'Math', {
+ atanh: function atanh(x) {
+ return (x = +x) == 0 ? x : Math.log((1 + x) / (1 - x)) / 2;
+ }
+ });
+ });
+
+ interopDefault(es6_math_atanh);
+
+ var _mathSign = createCommonjsModule(function (module) {
+ // 20.2.2.28 Math.sign(x)
+ module.exports = Math.sign || function sign(x) {
+ return (x = +x) == 0 || x != x ? x : x < 0 ? -1 : 1;
+ };
+ });
+
+ var _mathSign$1 = interopDefault(_mathSign);
+
+var require$$0$23 = Object.freeze({
+ default: _mathSign$1
+ });
+
+ var es6_math_cbrt = createCommonjsModule(function (module) {
+ // 20.2.2.9 Math.cbrt(x)
+ var $export = interopDefault(require$$1$2),
+ sign = interopDefault(require$$0$23);
+
+ $export($export.S, 'Math', {
+ cbrt: function cbrt(x) {
+ return sign(x = +x) * Math.pow(Math.abs(x), 1 / 3);
+ }
+ });
+ });
+
+ interopDefault(es6_math_cbrt);
+
+ var es6_math_clz32 = createCommonjsModule(function (module) {
+ // 20.2.2.11 Math.clz32(x)
+ var $export = interopDefault(require$$1$2);
+
+ $export($export.S, 'Math', {
+ clz32: function clz32(x) {
+ return (x >>>= 0) ? 31 - Math.floor(Math.log(x + 0.5) * Math.LOG2E) : 32;
+ }
+ });
+ });
+
+ interopDefault(es6_math_clz32);
+
+ var es6_math_cosh = createCommonjsModule(function (module) {
+ // 20.2.2.12 Math.cosh(x)
+ var $export = interopDefault(require$$1$2),
+ exp = Math.exp;
+
+ $export($export.S, 'Math', {
+ cosh: function cosh(x) {
+ return (exp(x = +x) + exp(-x)) / 2;
+ }
+ });
+ });
+
+ interopDefault(es6_math_cosh);
+
+ var _mathExpm1 = createCommonjsModule(function (module) {
+ // 20.2.2.14 Math.expm1(x)
+ var $expm1 = Math.expm1;
+ module.exports = !$expm1
+ // Old FF bug
+ || $expm1(10) > 22025.465794806719 || $expm1(10) < 22025.4657948067165168
+ // Tor Browser bug
+ || $expm1(-2e-17) != -2e-17 ? function expm1(x) {
+ return (x = +x) == 0 ? x : x > -1e-6 && x < 1e-6 ? x + x * x / 2 : Math.exp(x) - 1;
+ } : $expm1;
+ });
+
+ var _mathExpm1$1 = interopDefault(_mathExpm1);
+
+var require$$0$24 = Object.freeze({
+ default: _mathExpm1$1
+ });
+
+ var es6_math_expm1 = createCommonjsModule(function (module) {
+ // 20.2.2.14 Math.expm1(x)
+ var $export = interopDefault(require$$1$2),
+ $expm1 = interopDefault(require$$0$24);
+
+ $export($export.S + $export.F * ($expm1 != Math.expm1), 'Math', { expm1: $expm1 });
+ });
+
+ interopDefault(es6_math_expm1);
+
+ var es6_math_fround = createCommonjsModule(function (module) {
+ // 20.2.2.16 Math.fround(x)
+ var $export = interopDefault(require$$1$2),
+ sign = interopDefault(require$$0$23),
+ pow = Math.pow,
+ EPSILON = pow(2, -52),
+ EPSILON32 = pow(2, -23),
+ MAX32 = pow(2, 127) * (2 - EPSILON32),
+ MIN32 = pow(2, -126);
+
+ var roundTiesToEven = function roundTiesToEven(n) {
+ return n + 1 / EPSILON - 1 / EPSILON;
+ };
+
+ $export($export.S, 'Math', {
+ fround: function fround(x) {
+ var $abs = Math.abs(x),
+ $sign = sign(x),
+ a,
+ result;
+ if ($abs < MIN32) return $sign * roundTiesToEven($abs / MIN32 / EPSILON32) * MIN32 * EPSILON32;
+ a = (1 + EPSILON32 / EPSILON) * $abs;
+ result = a - (a - $abs);
+ if (result > MAX32 || result != result) return $sign * Infinity;
+ return $sign * result;
+ }
+ });
+ });
+
+ interopDefault(es6_math_fround);
+
+ var es6_math_hypot = createCommonjsModule(function (module) {
+ // 20.2.2.17 Math.hypot([value1[, value2[, … ]]])
+ var $export = interopDefault(require$$1$2),
+ abs = Math.abs;
+
+ $export($export.S, 'Math', {
+ hypot: function hypot(value1, value2) {
+ // eslint-disable-line no-unused-vars
+ var sum = 0,
+ i = 0,
+ aLen = arguments.length,
+ larg = 0,
+ arg,
+ div;
+ while (i < aLen) {
+ arg = abs(arguments[i++]);
+ if (larg < arg) {
+ div = larg / arg;
+ sum = sum * div * div + 1;
+ larg = arg;
+ } else if (arg > 0) {
+ div = arg / larg;
+ sum += div * div;
+ } else sum += arg;
+ }
+ return larg === Infinity ? Infinity : larg * Math.sqrt(sum);
+ }
+ });
+ });
+
+ interopDefault(es6_math_hypot);
+
+ var es6_math_imul = createCommonjsModule(function (module) {
+ // 20.2.2.18 Math.imul(x, y)
+ var $export = interopDefault(require$$1$2),
+ $imul = Math.imul;
+
+ // some WebKit versions fails with big numbers, some has wrong arity
+ $export($export.S + $export.F * interopDefault(require$$1$1)(function () {
+ return $imul(0xffffffff, 5) != -5 || $imul.length != 2;
+ }), 'Math', {
+ imul: function imul(x, y) {
+ var UINT16 = 0xffff,
+ xn = +x,
+ yn = +y,
+ xl = UINT16 & xn,
+ yl = UINT16 & yn;
+ return 0 | xl * yl + ((UINT16 & xn >>> 16) * yl + xl * (UINT16 & yn >>> 16) << 16 >>> 0);
+ }
+ });
+ });
+
+ interopDefault(es6_math_imul);
+
+ var es6_math_log10 = createCommonjsModule(function (module) {
+ // 20.2.2.21 Math.log10(x)
+ var $export = interopDefault(require$$1$2);
+
+ $export($export.S, 'Math', {
+ log10: function log10(x) {
+ return Math.log(x) / Math.LN10;
+ }
+ });
+ });
+
+ interopDefault(es6_math_log10);
+
+ var es6_math_log1p = createCommonjsModule(function (module) {
+ // 20.2.2.20 Math.log1p(x)
+ var $export = interopDefault(require$$1$2);
+
+ $export($export.S, 'Math', { log1p: interopDefault(require$$0$22) });
+ });
+
+ interopDefault(es6_math_log1p);
+
+ var es6_math_log2 = createCommonjsModule(function (module) {
+ // 20.2.2.22 Math.log2(x)
+ var $export = interopDefault(require$$1$2);
+
+ $export($export.S, 'Math', {
+ log2: function log2(x) {
+ return Math.log(x) / Math.LN2;
+ }
+ });
+ });
+
+ interopDefault(es6_math_log2);
+
+ var es6_math_sign = createCommonjsModule(function (module) {
+ // 20.2.2.28 Math.sign(x)
+ var $export = interopDefault(require$$1$2);
+
+ $export($export.S, 'Math', { sign: interopDefault(require$$0$23) });
+ });
+
+ interopDefault(es6_math_sign);
+
+ var es6_math_sinh = createCommonjsModule(function (module) {
+ // 20.2.2.30 Math.sinh(x)
+ var $export = interopDefault(require$$1$2),
+ expm1 = interopDefault(require$$0$24),
+ exp = Math.exp;
+
+ // V8 near Chromium 38 has a problem with very small numbers
+ $export($export.S + $export.F * interopDefault(require$$1$1)(function () {
+ return !Math.sinh(-2e-17) != -2e-17;
+ }), 'Math', {
+ sinh: function sinh(x) {
+ return Math.abs(x = +x) < 1 ? (expm1(x) - expm1(-x)) / 2 : (exp(x - 1) - exp(-x - 1)) * (Math.E / 2);
+ }
+ });
+ });
+
+ interopDefault(es6_math_sinh);
+
+ var es6_math_tanh = createCommonjsModule(function (module) {
+ // 20.2.2.33 Math.tanh(x)
+ var $export = interopDefault(require$$1$2),
+ expm1 = interopDefault(require$$0$24),
+ exp = Math.exp;
+
+ $export($export.S, 'Math', {
+ tanh: function tanh(x) {
+ var a = expm1(x = +x),
+ b = expm1(-x);
+ return a == Infinity ? 1 : b == Infinity ? -1 : (a - b) / (exp(x) + exp(-x));
+ }
+ });
+ });
+
+ interopDefault(es6_math_tanh);
+
+ var es6_math_trunc = createCommonjsModule(function (module) {
+ // 20.2.2.34 Math.trunc(x)
+ var $export = interopDefault(require$$1$2);
+
+ $export($export.S, 'Math', {
+ trunc: function trunc(it) {
+ return (it > 0 ? Math.floor : Math.ceil)(it);
+ }
+ });
+ });
+
+ interopDefault(es6_math_trunc);
+
+ var es6_string_fromCodePoint = createCommonjsModule(function (module) {
+ var $export = interopDefault(require$$1$2),
+ toIndex = interopDefault(require$$24),
+ fromCharCode = String.fromCharCode,
+ $fromCodePoint = String.fromCodePoint;
+
+ // length should be 1, old FF problem
+ $export($export.S + $export.F * (!!$fromCodePoint && $fromCodePoint.length != 1), 'String', {
+ // 21.1.2.2 String.fromCodePoint(...codePoints)
+ fromCodePoint: function fromCodePoint(x) {
+ // eslint-disable-line no-unused-vars
+ var res = [],
+ aLen = arguments.length,
+ i = 0,
+ code;
+ while (aLen > i) {
+ code = +arguments[i++];
+ if (toIndex(code, 0x10ffff) !== code) throw RangeError(code + ' is not a valid code point');
+ res.push(code < 0x10000 ? fromCharCode(code) : fromCharCode(((code -= 0x10000) >> 10) + 0xd800, code % 0x400 + 0xdc00));
+ }return res.join('');
+ }
+ });
+ });
+
+ interopDefault(es6_string_fromCodePoint);
+
+ var es6_string_raw = createCommonjsModule(function (module) {
+ var $export = interopDefault(require$$1$2),
+ toIObject = interopDefault(require$$1$7),
+ toLength = interopDefault(require$$3$1);
+
+ $export($export.S, 'String', {
+ // 21.1.2.4 String.raw(callSite, ...substitutions)
+ raw: function raw(callSite) {
+ var tpl = toIObject(callSite.raw),
+ len = toLength(tpl.length),
+ aLen = arguments.length,
+ res = [],
+ i = 0;
+ while (len > i) {
+ res.push(String(tpl[i++]));
+ if (i < aLen) res.push(String(arguments[i]));
+ }return res.join('');
+ }
+ });
+ });
+
+ interopDefault(es6_string_raw);
+
+ var es6_string_trim = createCommonjsModule(function (module) {
+ 'use strict';
+ // 21.1.3.25 String.prototype.trim()
+
+ interopDefault(require$$0$16)('trim', function ($trim) {
+ return function trim() {
+ return $trim(this, 3);
+ };
+ });
+ });
+
+ interopDefault(es6_string_trim);
+
+ var _stringAt = createCommonjsModule(function (module) {
+ var toInteger = interopDefault(require$$26),
+ defined = interopDefault(require$$4$3);
+ // true -> String#at
+ // false -> String#codePointAt
+ module.exports = function (TO_STRING) {
+ return function (that, pos) {
+ var s = String(defined(that)),
+ i = toInteger(pos),
+ l = s.length,
+ a,
+ b;
+ if (i < 0 || i >= l) return TO_STRING ? '' : undefined;
+ a = s.charCodeAt(i);
+ return a < 0xd800 || a > 0xdbff || i + 1 === l || (b = s.charCodeAt(i + 1)) < 0xdc00 || b > 0xdfff ? TO_STRING ? s.charAt(i) : a : TO_STRING ? s.slice(i, i + 2) : (a - 0xd800 << 10) + (b - 0xdc00) + 0x10000;
+ };
+ };
+ });
+
+ var _stringAt$1 = interopDefault(_stringAt);
+
+var require$$0$25 = Object.freeze({
+ default: _stringAt$1
+ });
+
+ var _iterators = createCommonjsModule(function (module) {
+ module.exports = {};
+ });
+
+ var _iterators$1 = interopDefault(_iterators);
+
+var require$$1$15 = Object.freeze({
+ default: _iterators$1
+ });
+
+ var _iterCreate = createCommonjsModule(function (module) {
+ 'use strict';
+
+ var create = interopDefault(require$$6$1),
+ descriptor = interopDefault(require$$2$3),
+ setToStringTag = interopDefault(require$$0$3),
+ IteratorPrototype = {};
+
+ // 25.1.2.1.1 %IteratorPrototype%[@@iterator]()
+ interopDefault(require$$2)(IteratorPrototype, interopDefault(require$$0$4)('iterator'), function () {
+ return this;
+ });
+
+ module.exports = function (Constructor, NAME, next) {
+ Constructor.prototype = create(IteratorPrototype, { next: descriptor(1, next) });
+ setToStringTag(Constructor, NAME + ' Iterator');
+ };
+ });
+
+ var _iterCreate$1 = interopDefault(_iterCreate);
+
+var require$$0$26 = Object.freeze({
+ default: _iterCreate$1
+ });
+
+ var _iterDefine = createCommonjsModule(function (module) {
+ 'use strict';
+
+ var LIBRARY = interopDefault(require$$2$4),
+ $export = interopDefault(require$$1$2),
+ redefine = interopDefault(require$$4$2),
+ hide = interopDefault(require$$2),
+ has = interopDefault(require$$4),
+ Iterators = interopDefault(require$$1$15),
+ $iterCreate = interopDefault(require$$0$26),
+ setToStringTag = interopDefault(require$$0$3),
+ getPrototypeOf = interopDefault(require$$0$13),
+ ITERATOR = interopDefault(require$$0$4)('iterator'),
+ BUGGY = !([].keys && 'next' in [].keys()) // Safari has buggy iterators w/o `next`
+ ,
+ FF_ITERATOR = '@@iterator',
+ KEYS = 'keys',
+ VALUES = 'values';
+
+ var returnThis = function returnThis() {
+ return this;
+ };
+
+ module.exports = function (Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCED) {
+ $iterCreate(Constructor, NAME, next);
+ var getMethod = function getMethod(kind) {
+ if (!BUGGY && kind in proto) return proto[kind];
+ switch (kind) {
+ case KEYS:
+ return function keys() {
+ return new Constructor(this, kind);
+ };
+ case VALUES:
+ return function values() {
+ return new Constructor(this, kind);
+ };
+ }return function entries() {
+ return new Constructor(this, kind);
+ };
+ };
+ var TAG = NAME + ' Iterator',
+ DEF_VALUES = DEFAULT == VALUES,
+ VALUES_BUG = false,
+ proto = Base.prototype,
+ $native = proto[ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT],
+ $default = $native || getMethod(DEFAULT),
+ $entries = DEFAULT ? !DEF_VALUES ? $default : getMethod('entries') : undefined,
+ $anyNative = NAME == 'Array' ? proto.entries || $native : $native,
+ methods,
+ key,
+ IteratorPrototype;
+ // Fix native
+ if ($anyNative) {
+ IteratorPrototype = getPrototypeOf($anyNative.call(new Base()));
+ if (IteratorPrototype !== Object.prototype) {
+ // Set @@toStringTag to native iterators
+ setToStringTag(IteratorPrototype, TAG, true);
+ // fix for some old engines
+ if (!LIBRARY && !has(IteratorPrototype, ITERATOR)) hide(IteratorPrototype, ITERATOR, returnThis);
+ }
+ }
+ // fix Array#{values, @@iterator}.name in V8 / FF
+ if (DEF_VALUES && $native && $native.name !== VALUES) {
+ VALUES_BUG = true;
+ $default = function values() {
+ return $native.call(this);
+ };
+ }
+ // Define iterator
+ if ((!LIBRARY || FORCED) && (BUGGY || VALUES_BUG || !proto[ITERATOR])) {
+ hide(proto, ITERATOR, $default);
+ }
+ // Plug for library
+ Iterators[NAME] = $default;
+ Iterators[TAG] = returnThis;
+ if (DEFAULT) {
+ methods = {
+ values: DEF_VALUES ? $default : getMethod(VALUES),
+ keys: IS_SET ? $default : getMethod(KEYS),
+ entries: $entries
+ };
+ if (FORCED) for (key in methods) {
+ if (!(key in proto)) redefine(proto, key, methods[key]);
+ } else $export($export.P + $export.F * (BUGGY || VALUES_BUG), NAME, methods);
+ }
+ return methods;
+ };
+ });
+
+ var _iterDefine$1 = interopDefault(_iterDefine);
+
+var require$$4$4 = Object.freeze({
+ default: _iterDefine$1
+ });
+
+ var es6_string_iterator = createCommonjsModule(function (module) {
+ 'use strict';
+
+ var $at = interopDefault(require$$0$25)(true);
+
+ // 21.1.3.27 String.prototype[@@iterator]()
+ interopDefault(require$$4$4)(String, 'String', function (iterated) {
+ this._t = String(iterated); // target
+ this._i = 0; // next index
+ // 21.1.5.2.1 %StringIteratorPrototype%.next()
+ }, function () {
+ var O = this._t,
+ index = this._i,
+ point;
+ if (index >= O.length) return { value: undefined, done: true };
+ point = $at(O, index);
+ this._i += point.length;
+ return { value: point, done: false };
+ });
+ });
+
+ interopDefault(es6_string_iterator);
+
+ var es6_string_codePointAt = createCommonjsModule(function (module) {
+ 'use strict';
+
+ var $export = interopDefault(require$$1$2),
+ $at = interopDefault(require$$0$25)(false);
+ $export($export.P, 'String', {
+ // 21.1.3.3 String.prototype.codePointAt(pos)
+ codePointAt: function codePointAt(pos) {
+ return $at(this, pos);
+ }
+ });
+ });
+
+ interopDefault(es6_string_codePointAt);
+
+ var _isRegexp = createCommonjsModule(function (module) {
+ // 7.2.8 IsRegExp(argument)
+ var isObject = interopDefault(require$$0$1),
+ cof = interopDefault(require$$0$6),
+ MATCH = interopDefault(require$$0$4)('match');
+ module.exports = function (it) {
+ var isRegExp;
+ return isObject(it) && ((isRegExp = it[MATCH]) !== undefined ? !!isRegExp : cof(it) == 'RegExp');
+ };
+ });
+
+ var _isRegexp$1 = interopDefault(_isRegexp);
+
+var require$$2$8 = Object.freeze({
+ default: _isRegexp$1
+ });
+
+ var _stringContext = createCommonjsModule(function (module) {
+ // helper for String#{startsWith, endsWith, includes}
+ var isRegExp = interopDefault(require$$2$8),
+ defined = interopDefault(require$$4$3);
+
+ module.exports = function (that, searchString, NAME) {
+ if (isRegExp(searchString)) throw TypeError('String#' + NAME + " doesn't accept regex!");
+ return String(defined(that));
+ };
+ });
+
+ var _stringContext$1 = interopDefault(_stringContext);
+
+var require$$1$16 = Object.freeze({
+ default: _stringContext$1
+ });
+
+ var _failsIsRegexp = createCommonjsModule(function (module) {
+ var MATCH = interopDefault(require$$0$4)('match');
+ module.exports = function (KEY) {
+ var re = /./;
+ try {
+ '/./'[KEY](re);
+ } catch (e) {
+ try {
+ re[MATCH] = false;
+ return !'/./'[KEY](re);
+ } catch (f) {/* empty */}
+ }return true;
+ };
+ });
+
+ var _failsIsRegexp$1 = interopDefault(_failsIsRegexp);
+
+var require$$0$27 = Object.freeze({
+ default: _failsIsRegexp$1
+ });
+
+ var es6_string_endsWith = createCommonjsModule(function (module) {
+ // 21.1.3.6 String.prototype.endsWith(searchString [, endPosition])
+ 'use strict';
+
+ var $export = interopDefault(require$$1$2),
+ toLength = interopDefault(require$$3$1),
+ context = interopDefault(require$$1$16),
+ ENDS_WITH = 'endsWith',
+ $endsWith = ''[ENDS_WITH];
+
+ $export($export.P + $export.F * interopDefault(require$$0$27)(ENDS_WITH), 'String', {
+ endsWith: function endsWith(searchString /*, endPosition = @length */) {
+ var that = context(this, searchString, ENDS_WITH),
+ endPosition = arguments.length > 1 ? arguments[1] : undefined,
+ len = toLength(that.length),
+ end = endPosition === undefined ? len : Math.min(toLength(endPosition), len),
+ search = String(searchString);
+ return $endsWith ? $endsWith.call(that, search, end) : that.slice(end - search.length, end) === search;
+ }
+ });
+ });
+
+ interopDefault(es6_string_endsWith);
+
+ var es6_string_includes = createCommonjsModule(function (module) {
+ // 21.1.3.7 String.prototype.includes(searchString, position = 0)
+ 'use strict';
+
+ var $export = interopDefault(require$$1$2),
+ context = interopDefault(require$$1$16),
+ INCLUDES = 'includes';
+
+ $export($export.P + $export.F * interopDefault(require$$0$27)(INCLUDES), 'String', {
+ includes: function includes(searchString /*, position = 0 */) {
+ return !!~context(this, searchString, INCLUDES).indexOf(searchString, arguments.length > 1 ? arguments[1] : undefined);
+ }
+ });
+ });
+
+ interopDefault(es6_string_includes);
+
+ var es6_string_repeat = createCommonjsModule(function (module) {
+ var $export = interopDefault(require$$1$2);
+
+ $export($export.P, 'String', {
+ // 21.1.3.13 String.prototype.repeat(count)
+ repeat: interopDefault(require$$1$14)
+ });
+ });
+
+ interopDefault(es6_string_repeat);
+
+ var es6_string_startsWith = createCommonjsModule(function (module) {
+ // 21.1.3.18 String.prototype.startsWith(searchString [, position ])
+ 'use strict';
+
+ var $export = interopDefault(require$$1$2),
+ toLength = interopDefault(require$$3$1),
+ context = interopDefault(require$$1$16),
+ STARTS_WITH = 'startsWith',
+ $startsWith = ''[STARTS_WITH];
+
+ $export($export.P + $export.F * interopDefault(require$$0$27)(STARTS_WITH), 'String', {
+ startsWith: function startsWith(searchString /*, position = 0 */) {
+ var that = context(this, searchString, STARTS_WITH),
+ index = toLength(Math.min(arguments.length > 1 ? arguments[1] : undefined, that.length)),
+ search = String(searchString);
+ return $startsWith ? $startsWith.call(that, search, index) : that.slice(index, index + search.length) === search;
+ }
+ });
+ });
+
+ interopDefault(es6_string_startsWith);
+
+ var _stringHtml = createCommonjsModule(function (module) {
+ var $export = interopDefault(require$$1$2),
+ fails = interopDefault(require$$1$1),
+ defined = interopDefault(require$$4$3),
+ quot = /"/g;
+ // B.2.3.2.1 CreateHTML(string, tag, attribute, value)
+ var createHTML = function createHTML(string, tag, attribute, value) {
+ var S = String(defined(string)),
+ p1 = '<' + tag;
+ if (attribute !== '') p1 += ' ' + attribute + '="' + String(value).replace(quot, '&quot;') + '"';
+ return p1 + '>' + S + '</' + tag + '>';
+ };
+ module.exports = function (NAME, exec) {
+ var O = {};
+ O[NAME] = exec(createHTML);
+ $export($export.P + $export.F * fails(function () {
+ var test = ''[NAME]('"');
+ return test !== test.toLowerCase() || test.split('"').length > 3;
+ }), 'String', O);
+ };
+ });
+
+ var _stringHtml$1 = interopDefault(_stringHtml);
+
+var require$$0$28 = Object.freeze({
+ default: _stringHtml$1
+ });
+
+ var es6_string_anchor = createCommonjsModule(function (module) {
+ 'use strict';
+ // B.2.3.2 String.prototype.anchor(name)
+
+ interopDefault(require$$0$28)('anchor', function (createHTML) {
+ return function anchor(name) {
+ return createHTML(this, 'a', 'name', name);
+ };
+ });
+ });
+
+ interopDefault(es6_string_anchor);
+
+ var es6_string_big = createCommonjsModule(function (module) {
+ 'use strict';
+ // B.2.3.3 String.prototype.big()
+
+ interopDefault(require$$0$28)('big', function (createHTML) {
+ return function big() {
+ return createHTML(this, 'big', '', '');
+ };
+ });
+ });
+
+ interopDefault(es6_string_big);
+
+ var es6_string_blink = createCommonjsModule(function (module) {
+ 'use strict';
+ // B.2.3.4 String.prototype.blink()
+
+ interopDefault(require$$0$28)('blink', function (createHTML) {
+ return function blink() {
+ return createHTML(this, 'blink', '', '');
+ };
+ });
+ });
+
+ interopDefault(es6_string_blink);
+
+ var es6_string_bold = createCommonjsModule(function (module) {
+ 'use strict';
+ // B.2.3.5 String.prototype.bold()
+
+ interopDefault(require$$0$28)('bold', function (createHTML) {
+ return function bold() {
+ return createHTML(this, 'b', '', '');
+ };
+ });
+ });
+
+ interopDefault(es6_string_bold);
+
+ var es6_string_fixed = createCommonjsModule(function (module) {
+ 'use strict';
+ // B.2.3.6 String.prototype.fixed()
+
+ interopDefault(require$$0$28)('fixed', function (createHTML) {
+ return function fixed() {
+ return createHTML(this, 'tt', '', '');
+ };
+ });
+ });
+
+ interopDefault(es6_string_fixed);
+
+ var es6_string_fontcolor = createCommonjsModule(function (module) {
+ 'use strict';
+ // B.2.3.7 String.prototype.fontcolor(color)
+
+ interopDefault(require$$0$28)('fontcolor', function (createHTML) {
+ return function fontcolor(color) {
+ return createHTML(this, 'font', 'color', color);
+ };
+ });
+ });
+
+ interopDefault(es6_string_fontcolor);
+
+ var es6_string_fontsize = createCommonjsModule(function (module) {
+ 'use strict';
+ // B.2.3.8 String.prototype.fontsize(size)
+
+ interopDefault(require$$0$28)('fontsize', function (createHTML) {
+ return function fontsize(size) {
+ return createHTML(this, 'font', 'size', size);
+ };
+ });
+ });
+
+ interopDefault(es6_string_fontsize);
+
+ var es6_string_italics = createCommonjsModule(function (module) {
+ 'use strict';
+ // B.2.3.9 String.prototype.italics()
+
+ interopDefault(require$$0$28)('italics', function (createHTML) {
+ return function italics() {
+ return createHTML(this, 'i', '', '');
+ };
+ });
+ });
+
+ interopDefault(es6_string_italics);
+
+ var es6_string_link = createCommonjsModule(function (module) {
+ 'use strict';
+ // B.2.3.10 String.prototype.link(url)
+
+ interopDefault(require$$0$28)('link', function (createHTML) {
+ return function link(url) {
+ return createHTML(this, 'a', 'href', url);
+ };
+ });
+ });
+
+ interopDefault(es6_string_link);
+
+ var es6_string_small = createCommonjsModule(function (module) {
+ 'use strict';
+ // B.2.3.11 String.prototype.small()
+
+ interopDefault(require$$0$28)('small', function (createHTML) {
+ return function small() {
+ return createHTML(this, 'small', '', '');
+ };
+ });
+ });
+
+ interopDefault(es6_string_small);
+
+ var es6_string_strike = createCommonjsModule(function (module) {
+ 'use strict';
+ // B.2.3.12 String.prototype.strike()
+
+ interopDefault(require$$0$28)('strike', function (createHTML) {
+ return function strike() {
+ return createHTML(this, 'strike', '', '');
+ };
+ });
+ });
+
+ interopDefault(es6_string_strike);
+
+ var es6_string_sub = createCommonjsModule(function (module) {
+ 'use strict';
+ // B.2.3.13 String.prototype.sub()
+
+ interopDefault(require$$0$28)('sub', function (createHTML) {
+ return function sub() {
+ return createHTML(this, 'sub', '', '');
+ };
+ });
+ });
+
+ interopDefault(es6_string_sub);
+
+ var es6_string_sup = createCommonjsModule(function (module) {
+ 'use strict';
+ // B.2.3.14 String.prototype.sup()
+
+ interopDefault(require$$0$28)('sup', function (createHTML) {
+ return function sup() {
+ return createHTML(this, 'sup', '', '');
+ };
+ });
+ });
+
+ interopDefault(es6_string_sup);
+
+ var es6_date_now = createCommonjsModule(function (module) {
+ // 20.3.3.1 / 15.9.4.4 Date.now()
+ var $export = interopDefault(require$$1$2);
+
+ $export($export.S, 'Date', { now: function now() {
+ return new Date().getTime();
+ } });
+ });
+
+ interopDefault(es6_date_now);
+
+ var es6_date_toJson = createCommonjsModule(function (module) {
+ 'use strict';
+
+ var $export = interopDefault(require$$1$2),
+ toObject = interopDefault(require$$5$1),
+ toPrimitive = interopDefault(require$$4$1);
+
+ $export($export.P + $export.F * interopDefault(require$$1$1)(function () {
+ return new Date(NaN).toJSON() !== null || Date.prototype.toJSON.call({ toISOString: function toISOString() {
+ return 1;
+ } }) !== 1;
+ }), 'Date', {
+ toJSON: function toJSON(key) {
+ var O = toObject(this),
+ pv = toPrimitive(O);
+ return typeof pv == 'number' && !isFinite(pv) ? null : O.toISOString();
+ }
+ });
+ });
+
+ interopDefault(es6_date_toJson);
+
+ var es6_date_toIsoString = createCommonjsModule(function (module) {
+ 'use strict';
+ // 20.3.4.36 / 15.9.5.43 Date.prototype.toISOString()
+
+ var $export = interopDefault(require$$1$2),
+ fails = interopDefault(require$$1$1),
+ getTime = Date.prototype.getTime;
+
+ var lz = function lz(num) {
+ return num > 9 ? num : '0' + num;
+ };
+
+ // PhantomJS / old WebKit has a broken implementations
+ $export($export.P + $export.F * (fails(function () {
+ return new Date(-5e13 - 1).toISOString() != '0385-07-25T07:06:39.999Z';
+ }) || !fails(function () {
+ new Date(NaN).toISOString();
+ })), 'Date', {
+ toISOString: function toISOString() {
+ if (!isFinite(getTime.call(this))) throw RangeError('Invalid time value');
+ var d = this,
+ y = d.getUTCFullYear(),
+ m = d.getUTCMilliseconds(),
+ s = y < 0 ? '-' : y > 9999 ? '+' : '';
+ return s + ('00000' + Math.abs(y)).slice(s ? -6 : -4) + '-' + lz(d.getUTCMonth() + 1) + '-' + lz(d.getUTCDate()) + 'T' + lz(d.getUTCHours()) + ':' + lz(d.getUTCMinutes()) + ':' + lz(d.getUTCSeconds()) + '.' + (m > 99 ? m : '0' + lz(m)) + 'Z';
+ }
+ });
+ });
+
+ interopDefault(es6_date_toIsoString);
+
+ var es6_date_toString = createCommonjsModule(function (module) {
+ var DateProto = Date.prototype,
+ INVALID_DATE = 'Invalid Date',
+ TO_STRING = 'toString',
+ $toString = DateProto[TO_STRING],
+ getTime = DateProto.getTime;
+ if (new Date(NaN) + '' != INVALID_DATE) {
+ interopDefault(require$$4$2)(DateProto, TO_STRING, function toString() {
+ var value = getTime.call(this);
+ return value === value ? $toString.call(this) : INVALID_DATE;
+ });
+ }
+ });
+
+ interopDefault(es6_date_toString);
+
+ var _dateToPrimitive = createCommonjsModule(function (module) {
+ 'use strict';
+
+ var anObject = interopDefault(require$$5),
+ toPrimitive = interopDefault(require$$4$1),
+ NUMBER = 'number';
+
+ module.exports = function (hint) {
+ if (hint !== 'string' && hint !== NUMBER && hint !== 'default') throw TypeError('Incorrect hint');
+ return toPrimitive(anObject(this), hint != NUMBER);
+ };
+ });
+
+ var _dateToPrimitive$1 = interopDefault(_dateToPrimitive);
+
+var require$$0$29 = Object.freeze({
+ default: _dateToPrimitive$1
+ });
+
+ var es6_date_toPrimitive = createCommonjsModule(function (module) {
+ var TO_PRIMITIVE = interopDefault(require$$0$4)('toPrimitive'),
+ proto = Date.prototype;
+
+ if (!(TO_PRIMITIVE in proto)) interopDefault(require$$2)(proto, TO_PRIMITIVE, interopDefault(require$$0$29));
+ });
+
+ interopDefault(es6_date_toPrimitive);
+
+ var es6_array_isArray = createCommonjsModule(function (module) {
+ // 22.1.2.2 / 15.4.3.2 Array.isArray(arg)
+ var $export = interopDefault(require$$1$2);
+
+ $export($export.S, 'Array', { isArray: interopDefault(require$$1$10) });
+ });
+
+ interopDefault(es6_array_isArray);
+
+ var _iterCall = createCommonjsModule(function (module) {
+ // call something on iterator step with safe closing on error
+ var anObject = interopDefault(require$$5);
+ module.exports = function (iterator, fn, value, entries) {
+ try {
+ return entries ? fn(anObject(value)[0], value[1]) : fn(value);
+ // 7.4.6 IteratorClose(iterator, completion)
+ } catch (e) {
+ var ret = iterator['return'];
+ if (ret !== undefined) anObject(ret.call(iterator));
+ throw e;
+ }
+ };
+ });
+
+ var _iterCall$1 = interopDefault(_iterCall);
+
+var require$$4$5 = Object.freeze({
+ default: _iterCall$1
+ });
+
+ var _isArrayIter = createCommonjsModule(function (module) {
+ // check on default Array iterator
+ var Iterators = interopDefault(require$$1$15),
+ ITERATOR = interopDefault(require$$0$4)('iterator'),
+ ArrayProto = Array.prototype;
+
+ module.exports = function (it) {
+ return it !== undefined && (Iterators.Array === it || ArrayProto[ITERATOR] === it);
+ };
+ });
+
+ var _isArrayIter$1 = interopDefault(_isArrayIter);
+
+var require$$17 = Object.freeze({
+ default: _isArrayIter$1
+ });
+
+ var _createProperty = createCommonjsModule(function (module) {
+ 'use strict';
+
+ var $defineProperty = interopDefault(require$$2$1),
+ createDesc = interopDefault(require$$2$3);
+
+ module.exports = function (object, index, value) {
+ if (index in object) $defineProperty.f(object, index, createDesc(0, value));else object[index] = value;
+ };
+ });
+
+ var _createProperty$1 = interopDefault(_createProperty);
+
+var require$$0$30 = Object.freeze({
+ default: _createProperty$1
+ });
+
+ var core_getIteratorMethod = createCommonjsModule(function (module) {
+ var classof = interopDefault(require$$1$11),
+ ITERATOR = interopDefault(require$$0$4)('iterator'),
+ Iterators = interopDefault(require$$1$15);
+ module.exports = interopDefault(require$$0).getIteratorMethod = function (it) {
+ if (it != undefined) return it[ITERATOR] || it['@@iterator'] || Iterators[classof(it)];
+ };
+ });
+
+ var core_getIteratorMethod$1 = interopDefault(core_getIteratorMethod);
+
+var require$$13 = Object.freeze({
+ default: core_getIteratorMethod$1
+ });
+
+ var _iterDetect = createCommonjsModule(function (module) {
+ var ITERATOR = interopDefault(require$$0$4)('iterator'),
+ SAFE_CLOSING = false;
+
+ try {
+ var riter = [7][ITERATOR]();
+ riter['return'] = function () {
+ SAFE_CLOSING = true;
+ };
+ Array.from(riter, function () {
+ throw 2;
+ });
+ } catch (e) {/* empty */}
+
+ module.exports = function (exec, skipClosing) {
+ if (!skipClosing && !SAFE_CLOSING) return false;
+ var safe = false;
+ try {
+ var arr = [7],
+ iter = arr[ITERATOR]();
+ iter.next = function () {
+ return { done: safe = true };
+ };
+ arr[ITERATOR] = function () {
+ return iter;
+ };
+ exec(arr);
+ } catch (e) {/* empty */}
+ return safe;
+ };
+ });
+
+ var _iterDetect$1 = interopDefault(_iterDetect);
+
+var require$$5$2 = Object.freeze({
+ default: _iterDetect$1
+ });
+
+ var es6_array_from = createCommonjsModule(function (module) {
+ 'use strict';
+
+ var ctx = interopDefault(require$$31),
+ $export = interopDefault(require$$1$2),
+ toObject = interopDefault(require$$5$1),
+ call = interopDefault(require$$4$5),
+ isArrayIter = interopDefault(require$$17),
+ toLength = interopDefault(require$$3$1),
+ createProperty = interopDefault(require$$0$30),
+ getIterFn = interopDefault(require$$13);
+
+ $export($export.S + $export.F * !interopDefault(require$$5$2)(function (iter) {
+ Array.from(iter);
+ }), 'Array', {
+ // 22.1.2.1 Array.from(arrayLike, mapfn = undefined, thisArg = undefined)
+ from: function from(arrayLike /*, mapfn = undefined, thisArg = undefined*/) {
+ var O = toObject(arrayLike),
+ C = typeof this == 'function' ? this : Array,
+ aLen = arguments.length,
+ mapfn = aLen > 1 ? arguments[1] : undefined,
+ mapping = mapfn !== undefined,
+ index = 0,
+ iterFn = getIterFn(O),
+ length,
+ result,
+ step,
+ iterator;
+ if (mapping) mapfn = ctx(mapfn, aLen > 2 ? arguments[2] : undefined, 2);
+ // if object isn't iterable or it's array with default iterator - use simple case
+ if (iterFn != undefined && !(C == Array && isArrayIter(iterFn))) {
+ for (iterator = iterFn.call(O), result = new C(); !(step = iterator.next()).done; index++) {
+ createProperty(result, index, mapping ? call(iterator, mapfn, [step.value, index], true) : step.value);
+ }
+ } else {
+ length = toLength(O.length);
+ for (result = new C(length); length > index; index++) {
+ createProperty(result, index, mapping ? mapfn(O[index], index) : O[index]);
+ }
+ }
+ result.length = index;
+ return result;
+ }
+ });
+ });
+
+ interopDefault(es6_array_from);
+
+ var es6_array_of = createCommonjsModule(function (module) {
+ 'use strict';
+
+ var $export = interopDefault(require$$1$2),
+ createProperty = interopDefault(require$$0$30);
+
+ // WebKit Array.of isn't generic
+ $export($export.S + $export.F * interopDefault(require$$1$1)(function () {
+ function F() {}
+ return !(Array.of.call(F) instanceof F);
+ }), 'Array', {
+ // 22.1.2.3 Array.of( ...items)
+ of: function of() /* ...args */{
+ var index = 0,
+ aLen = arguments.length,
+ result = new (typeof this == 'function' ? this : Array)(aLen);
+ while (aLen > index) {
+ createProperty(result, index, arguments[index++]);
+ }result.length = aLen;
+ return result;
+ }
+ });
+ });
+
+ interopDefault(es6_array_of);
+
+ var _strictMethod = createCommonjsModule(function (module) {
+ var fails = interopDefault(require$$1$1);
+
+ module.exports = function (method, arg) {
+ return !!method && fails(function () {
+ arg ? method.call(null, function () {}, 1) : method.call(null);
+ });
+ };
+ });
+
+ var _strictMethod$1 = interopDefault(_strictMethod);
+
+var require$$0$31 = Object.freeze({
+ default: _strictMethod$1
+ });
+
+ var es6_array_join = createCommonjsModule(function (module) {
+ 'use strict';
+ // 22.1.3.13 Array.prototype.join(separator)
+
+ var $export = interopDefault(require$$1$2),
+ toIObject = interopDefault(require$$1$7),
+ arrayJoin = [].join;
+
+ // fallback for not array-like strings
+ $export($export.P + $export.F * (interopDefault(require$$1$8) != Object || !interopDefault(require$$0$31)(arrayJoin)), 'Array', {
+ join: function join(separator) {
+ return arrayJoin.call(toIObject(this), separator === undefined ? ',' : separator);
+ }
+ });
+ });
+
+ interopDefault(es6_array_join);
+
+ var es6_array_slice = createCommonjsModule(function (module) {
+ 'use strict';
+
+ var $export = interopDefault(require$$1$2),
+ html = interopDefault(require$$3$2),
+ cof = interopDefault(require$$0$6),
+ toIndex = interopDefault(require$$24),
+ toLength = interopDefault(require$$3$1),
+ arraySlice = [].slice;
+
+ // fallback for not array-like ES3 strings and DOM objects
+ $export($export.P + $export.F * interopDefault(require$$1$1)(function () {
+ if (html) arraySlice.call(html);
+ }), 'Array', {
+ slice: function slice(begin, end) {
+ var len = toLength(this.length),
+ klass = cof(this);
+ end = end === undefined ? len : end;
+ if (klass == 'Array') return arraySlice.call(this, begin, end);
+ var start = toIndex(begin, len),
+ upTo = toIndex(end, len),
+ size = toLength(upTo - start),
+ cloned = Array(size),
+ i = 0;
+ for (; i < size; i++) {
+ cloned[i] = klass == 'String' ? this.charAt(start + i) : this[start + i];
+ }return cloned;
+ }
+ });
+ });
+
+ interopDefault(es6_array_slice);
+
+ var es6_array_sort = createCommonjsModule(function (module) {
+ 'use strict';
+
+ var $export = interopDefault(require$$1$2),
+ aFunction = interopDefault(require$$0$2),
+ toObject = interopDefault(require$$5$1),
+ fails = interopDefault(require$$1$1),
+ $sort = [].sort,
+ test = [1, 2, 3];
+
+ $export($export.P + $export.F * (fails(function () {
+ // IE8-
+ test.sort(undefined);
+ }) || !fails(function () {
+ // V8 bug
+ test.sort(null);
+ // Old WebKit
+ }) || !interopDefault(require$$0$31)($sort)), 'Array', {
+ // 22.1.3.25 Array.prototype.sort(comparefn)
+ sort: function sort(comparefn) {
+ return comparefn === undefined ? $sort.call(toObject(this)) : $sort.call(toObject(this), aFunction(comparefn));
+ }
+ });
+ });
+
+ interopDefault(es6_array_sort);
+
+ var _arraySpeciesConstructor = createCommonjsModule(function (module) {
+ var isObject = interopDefault(require$$0$1),
+ isArray = interopDefault(require$$1$10),
+ SPECIES = interopDefault(require$$0$4)('species');
+
+ module.exports = function (original) {
+ var C;
+ if (isArray(original)) {
+ C = original.constructor;
+ // cross-realm fallback
+ if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined;
+ if (isObject(C)) {
+ C = C[SPECIES];
+ if (C === null) C = undefined;
+ }
+ }return C === undefined ? Array : C;
+ };
+ });
+
+ var _arraySpeciesConstructor$1 = interopDefault(_arraySpeciesConstructor);
+
+var require$$0$33 = Object.freeze({
+ default: _arraySpeciesConstructor$1
+ });
+
+ var _arraySpeciesCreate = createCommonjsModule(function (module) {
+ // 9.4.2.3 ArraySpeciesCreate(originalArray, length)
+ var speciesConstructor = interopDefault(require$$0$33);
+
+ module.exports = function (original, length) {
+ return new (speciesConstructor(original))(length);
+ };
+ });
+
+ var _arraySpeciesCreate$1 = interopDefault(_arraySpeciesCreate);
+
+var require$$0$32 = Object.freeze({
+ default: _arraySpeciesCreate$1
+ });
+
+ var _arrayMethods = createCommonjsModule(function (module) {
+ // 0 -> Array#forEach
+ // 1 -> Array#map
+ // 2 -> Array#filter
+ // 3 -> Array#some
+ // 4 -> Array#every
+ // 5 -> Array#find
+ // 6 -> Array#findIndex
+ var ctx = interopDefault(require$$31),
+ IObject = interopDefault(require$$1$8),
+ toObject = interopDefault(require$$5$1),
+ toLength = interopDefault(require$$3$1),
+ asc = interopDefault(require$$0$32);
+ module.exports = function (TYPE, $create) {
+ var IS_MAP = TYPE == 1,
+ IS_FILTER = TYPE == 2,
+ IS_SOME = TYPE == 3,
+ IS_EVERY = TYPE == 4,
+ IS_FIND_INDEX = TYPE == 6,
+ NO_HOLES = TYPE == 5 || IS_FIND_INDEX,
+ create = $create || asc;
+ return function ($this, callbackfn, that) {
+ var O = toObject($this),
+ self = IObject(O),
+ f = ctx(callbackfn, that, 3),
+ length = toLength(self.length),
+ index = 0,
+ result = IS_MAP ? create($this, length) : IS_FILTER ? create($this, 0) : undefined,
+ val,
+ res;
+ for (; length > index; index++) {
+ if (NO_HOLES || index in self) {
+ val = self[index];
+ res = f(val, index, O);
+ if (TYPE) {
+ if (IS_MAP) result[index] = res; // map
+ else if (res) switch (TYPE) {
+ case 3:
+ return true; // some
+ case 5:
+ return val; // find
+ case 6:
+ return index; // findIndex
+ case 2:
+ result.push(val); // filter
+ } else if (IS_EVERY) return false; // every
+ }
+ }
+ }return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : result;
+ };
+ };
+ });
+
+ var _arrayMethods$1 = interopDefault(_arrayMethods);
+
+var require$$10 = Object.freeze({
+ default: _arrayMethods$1
+ });
+
+ var es6_array_forEach = createCommonjsModule(function (module) {
+ 'use strict';
+
+ var $export = interopDefault(require$$1$2),
+ $forEach = interopDefault(require$$10)(0),
+ STRICT = interopDefault(require$$0$31)([].forEach, true);
+
+ $export($export.P + $export.F * !STRICT, 'Array', {
+ // 22.1.3.10 / 15.4.4.18 Array.prototype.forEach(callbackfn [, thisArg])
+ forEach: function forEach(callbackfn /* , thisArg */) {
+ return $forEach(this, callbackfn, arguments[1]);
+ }
+ });
+ });
+
+ interopDefault(es6_array_forEach);
+
+ var es6_array_map = createCommonjsModule(function (module) {
+ 'use strict';
+
+ var $export = interopDefault(require$$1$2),
+ $map = interopDefault(require$$10)(1);
+
+ $export($export.P + $export.F * !interopDefault(require$$0$31)([].map, true), 'Array', {
+ // 22.1.3.15 / 15.4.4.19 Array.prototype.map(callbackfn [, thisArg])
+ map: function map(callbackfn /* , thisArg */) {
+ return $map(this, callbackfn, arguments[1]);
+ }
+ });
+ });
+
+ interopDefault(es6_array_map);
+
+ var es6_array_filter = createCommonjsModule(function (module) {
+ 'use strict';
+
+ var $export = interopDefault(require$$1$2),
+ $filter = interopDefault(require$$10)(2);
+
+ $export($export.P + $export.F * !interopDefault(require$$0$31)([].filter, true), 'Array', {
+ // 22.1.3.7 / 15.4.4.20 Array.prototype.filter(callbackfn [, thisArg])
+ filter: function filter(callbackfn /* , thisArg */) {
+ return $filter(this, callbackfn, arguments[1]);
+ }
+ });
+ });
+
+ interopDefault(es6_array_filter);
+
+ var es6_array_some = createCommonjsModule(function (module) {
+ 'use strict';
+
+ var $export = interopDefault(require$$1$2),
+ $some = interopDefault(require$$10)(3);
+
+ $export($export.P + $export.F * !interopDefault(require$$0$31)([].some, true), 'Array', {
+ // 22.1.3.23 / 15.4.4.17 Array.prototype.some(callbackfn [, thisArg])
+ some: function some(callbackfn /* , thisArg */) {
+ return $some(this, callbackfn, arguments[1]);
+ }
+ });
+ });
+
+ interopDefault(es6_array_some);
+
+ var es6_array_every = createCommonjsModule(function (module) {
+ 'use strict';
+
+ var $export = interopDefault(require$$1$2),
+ $every = interopDefault(require$$10)(4);
+
+ $export($export.P + $export.F * !interopDefault(require$$0$31)([].every, true), 'Array', {
+ // 22.1.3.5 / 15.4.4.16 Array.prototype.every(callbackfn [, thisArg])
+ every: function every(callbackfn /* , thisArg */) {
+ return $every(this, callbackfn, arguments[1]);
+ }
+ });
+ });
+
+ interopDefault(es6_array_every);
+
+ var _arrayReduce = createCommonjsModule(function (module) {
+ var aFunction = interopDefault(require$$0$2),
+ toObject = interopDefault(require$$5$1),
+ IObject = interopDefault(require$$1$8),
+ toLength = interopDefault(require$$3$1);
+
+ module.exports = function (that, callbackfn, aLen, memo, isRight) {
+ aFunction(callbackfn);
+ var O = toObject(that),
+ self = IObject(O),
+ length = toLength(O.length),
+ index = isRight ? length - 1 : 0,
+ i = isRight ? -1 : 1;
+ if (aLen < 2) for (;;) {
+ if (index in self) {
+ memo = self[index];
+ index += i;
+ break;
+ }
+ index += i;
+ if (isRight ? index < 0 : length <= index) {
+ throw TypeError('Reduce of empty array with no initial value');
+ }
+ }
+ for (; isRight ? index >= 0 : length > index; index += i) {
+ if (index in self) {
+ memo = callbackfn(memo, self[index], index, O);
+ }
+ }return memo;
+ };
+ });
+
+ var _arrayReduce$1 = interopDefault(_arrayReduce);
+
+var require$$1$17 = Object.freeze({
+ default: _arrayReduce$1
+ });
+
+ var es6_array_reduce = createCommonjsModule(function (module) {
+ 'use strict';
+
+ var $export = interopDefault(require$$1$2),
+ $reduce = interopDefault(require$$1$17);
+
+ $export($export.P + $export.F * !interopDefault(require$$0$31)([].reduce, true), 'Array', {
+ // 22.1.3.18 / 15.4.4.21 Array.prototype.reduce(callbackfn [, initialValue])
+ reduce: function reduce(callbackfn /* , initialValue */) {
+ return $reduce(this, callbackfn, arguments.length, arguments[1], false);
+ }
+ });
+ });
+
+ interopDefault(es6_array_reduce);
+
+ var es6_array_reduceRight = createCommonjsModule(function (module) {
+ 'use strict';
+
+ var $export = interopDefault(require$$1$2),
+ $reduce = interopDefault(require$$1$17);
+
+ $export($export.P + $export.F * !interopDefault(require$$0$31)([].reduceRight, true), 'Array', {
+ // 22.1.3.19 / 15.4.4.22 Array.prototype.reduceRight(callbackfn [, initialValue])
+ reduceRight: function reduceRight(callbackfn /* , initialValue */) {
+ return $reduce(this, callbackfn, arguments.length, arguments[1], true);
+ }
+ });
+ });
+
+ interopDefault(es6_array_reduceRight);
+
+ var es6_array_indexOf = createCommonjsModule(function (module) {
+ 'use strict';
+
+ var $export = interopDefault(require$$1$2),
+ $indexOf = interopDefault(require$$1$9)(false),
+ $native = [].indexOf,
+ NEGATIVE_ZERO = !!$native && 1 / [1].indexOf(1, -0) < 0;
+
+ $export($export.P + $export.F * (NEGATIVE_ZERO || !interopDefault(require$$0$31)($native)), 'Array', {
+ // 22.1.3.11 / 15.4.4.14 Array.prototype.indexOf(searchElement [, fromIndex])
+ indexOf: function indexOf(searchElement /*, fromIndex = 0 */) {
+ return NEGATIVE_ZERO
+ // convert -0 to +0
+ ? $native.apply(this, arguments) || 0 : $indexOf(this, searchElement, arguments[1]);
+ }
+ });
+ });
+
+ interopDefault(es6_array_indexOf);
+
+ var es6_array_lastIndexOf = createCommonjsModule(function (module) {
+ 'use strict';
+
+ var $export = interopDefault(require$$1$2),
+ toIObject = interopDefault(require$$1$7),
+ toInteger = interopDefault(require$$26),
+ toLength = interopDefault(require$$3$1),
+ $native = [].lastIndexOf,
+ NEGATIVE_ZERO = !!$native && 1 / [1].lastIndexOf(1, -0) < 0;
+
+ $export($export.P + $export.F * (NEGATIVE_ZERO || !interopDefault(require$$0$31)($native)), 'Array', {
+ // 22.1.3.14 / 15.4.4.15 Array.prototype.lastIndexOf(searchElement [, fromIndex])
+ lastIndexOf: function lastIndexOf(searchElement /*, fromIndex = @[*-1] */) {
+ // convert -0 to +0
+ if (NEGATIVE_ZERO) return $native.apply(this, arguments) || 0;
+ var O = toIObject(this),
+ length = toLength(O.length),
+ index = length - 1;
+ if (arguments.length > 1) index = Math.min(index, toInteger(arguments[1]));
+ if (index < 0) index = length + index;
+ for (; index >= 0; index--) {
+ if (index in O) if (O[index] === searchElement) return index || 0;
+ }return -1;
+ }
+ });
+ });
+
+ interopDefault(es6_array_lastIndexOf);
+
+ var _arrayCopyWithin = createCommonjsModule(function (module) {
+ // 22.1.3.3 Array.prototype.copyWithin(target, start, end = this.length)
+ 'use strict';
+
+ var toObject = interopDefault(require$$5$1),
+ toIndex = interopDefault(require$$24),
+ toLength = interopDefault(require$$3$1);
+
+ module.exports = [].copyWithin || function copyWithin(target /*= 0*/, start /*= 0, end = @length*/) {
+ var O = toObject(this),
+ len = toLength(O.length),
+ to = toIndex(target, len),
+ from = toIndex(start, len),
+ end = arguments.length > 2 ? arguments[2] : undefined,
+ count = Math.min((end === undefined ? len : toIndex(end, len)) - from, len - to),
+ inc = 1;
+ if (from < to && to < from + count) {
+ inc = -1;
+ from += count - 1;
+ to += count - 1;
+ }
+ while (count-- > 0) {
+ if (from in O) O[to] = O[from];else delete O[to];
+ to += inc;
+ from += inc;
+ }return O;
+ };
+ });
+
+ var _arrayCopyWithin$1 = interopDefault(_arrayCopyWithin);
+
+var require$$2$9 = Object.freeze({
+ default: _arrayCopyWithin$1
+ });
+
+ var _addToUnscopables = createCommonjsModule(function (module) {
+ // 22.1.3.31 Array.prototype[@@unscopables]
+ var UNSCOPABLES = interopDefault(require$$0$4)('unscopables'),
+ ArrayProto = Array.prototype;
+ if (ArrayProto[UNSCOPABLES] == undefined) interopDefault(require$$2)(ArrayProto, UNSCOPABLES, {});
+ module.exports = function (key) {
+ ArrayProto[UNSCOPABLES][key] = true;
+ };
+ });
+
+ var _addToUnscopables$1 = interopDefault(_addToUnscopables);
+
+var require$$0$34 = Object.freeze({
+ default: _addToUnscopables$1
+ });
+
+ var es6_array_copyWithin = createCommonjsModule(function (module) {
+ // 22.1.3.3 Array.prototype.copyWithin(target, start, end = this.length)
+ var $export = interopDefault(require$$1$2);
+
+ $export($export.P, 'Array', { copyWithin: interopDefault(require$$2$9) });
+
+ interopDefault(require$$0$34)('copyWithin');
+ });
+
+ interopDefault(es6_array_copyWithin);
+
+ var _arrayFill = createCommonjsModule(function (module) {
+ // 22.1.3.6 Array.prototype.fill(value, start = 0, end = this.length)
+ 'use strict';
+
+ var toObject = interopDefault(require$$5$1),
+ toIndex = interopDefault(require$$24),
+ toLength = interopDefault(require$$3$1);
+ module.exports = function fill(value /*, start = 0, end = @length */) {
+ var O = toObject(this),
+ length = toLength(O.length),
+ aLen = arguments.length,
+ index = toIndex(aLen > 1 ? arguments[1] : undefined, length),
+ end = aLen > 2 ? arguments[2] : undefined,
+ endPos = end === undefined ? length : toIndex(end, length);
+ while (endPos > index) {
+ O[index++] = value;
+ }return O;
+ };
+ });
+
+ var _arrayFill$1 = interopDefault(_arrayFill);
+
+var require$$3$5 = Object.freeze({
+ default: _arrayFill$1
+ });
+
+ var es6_array_fill = createCommonjsModule(function (module) {
+ // 22.1.3.6 Array.prototype.fill(value, start = 0, end = this.length)
+ var $export = interopDefault(require$$1$2);
+
+ $export($export.P, 'Array', { fill: interopDefault(require$$3$5) });
+
+ interopDefault(require$$0$34)('fill');
+ });
+
+ interopDefault(es6_array_fill);
+
+ var es6_array_find = createCommonjsModule(function (module) {
+ 'use strict';
+ // 22.1.3.8 Array.prototype.find(predicate, thisArg = undefined)
+
+ var $export = interopDefault(require$$1$2),
+ $find = interopDefault(require$$10)(5),
+ KEY = 'find',
+ forced = true;
+ // Shouldn't skip holes
+ if (KEY in []) Array(1)[KEY](function () {
+ forced = false;
+ });
+ $export($export.P + $export.F * forced, 'Array', {
+ find: function find(callbackfn /*, that = undefined */) {
+ return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);
+ }
+ });
+ interopDefault(require$$0$34)(KEY);
+ });
+
+ interopDefault(es6_array_find);
+
+ var es6_array_findIndex = createCommonjsModule(function (module) {
+ 'use strict';
+ // 22.1.3.9 Array.prototype.findIndex(predicate, thisArg = undefined)
+
+ var $export = interopDefault(require$$1$2),
+ $find = interopDefault(require$$10)(6),
+ KEY = 'findIndex',
+ forced = true;
+ // Shouldn't skip holes
+ if (KEY in []) Array(1)[KEY](function () {
+ forced = false;
+ });
+ $export($export.P + $export.F * forced, 'Array', {
+ findIndex: function findIndex(callbackfn /*, that = undefined */) {
+ return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);
+ }
+ });
+ interopDefault(require$$0$34)(KEY);
+ });
+
+ interopDefault(es6_array_findIndex);
+
+ var _setSpecies = createCommonjsModule(function (module) {
+ 'use strict';
+
+ var global = interopDefault(require$$3),
+ dP = interopDefault(require$$2$1),
+ DESCRIPTORS = interopDefault(require$$1),
+ SPECIES = interopDefault(require$$0$4)('species');
+
+ module.exports = function (KEY) {
+ var C = global[KEY];
+ if (DESCRIPTORS && C && !C[SPECIES]) dP.f(C, SPECIES, {
+ configurable: true,
+ get: function get() {
+ return this;
+ }
+ });
+ };
+ });
+
+ var _setSpecies$1 = interopDefault(_setSpecies);
+
+var require$$0$35 = Object.freeze({
+ default: _setSpecies$1
+ });
+
+ var es6_array_species = createCommonjsModule(function (module) {
+ interopDefault(require$$0$35)('Array');
+ });
+
+ interopDefault(es6_array_species);
+
+ var _iterStep = createCommonjsModule(function (module) {
+ module.exports = function (done, value) {
+ return { value: value, done: !!done };
+ };
+ });
+
+ var _iterStep$1 = interopDefault(_iterStep);
+
+var require$$3$6 = Object.freeze({
+ default: _iterStep$1
+ });
+
+ var es6_array_iterator = createCommonjsModule(function (module) {
+ 'use strict';
+
+ var addToUnscopables = interopDefault(require$$0$34),
+ step = interopDefault(require$$3$6),
+ Iterators = interopDefault(require$$1$15),
+ toIObject = interopDefault(require$$1$7);
+
+ // 22.1.3.4 Array.prototype.entries()
+ // 22.1.3.13 Array.prototype.keys()
+ // 22.1.3.29 Array.prototype.values()
+ // 22.1.3.30 Array.prototype[@@iterator]()
+ module.exports = interopDefault(require$$4$4)(Array, 'Array', function (iterated, kind) {
+ this._t = toIObject(iterated); // target
+ this._i = 0; // next index
+ this._k = kind; // kind
+ // 22.1.5.2.1 %ArrayIteratorPrototype%.next()
+ }, function () {
+ var O = this._t,
+ kind = this._k,
+ index = this._i++;
+ if (!O || index >= O.length) {
+ this._t = undefined;
+ return step(1);
+ }
+ if (kind == 'keys') return step(0, index);
+ if (kind == 'values') return step(0, O[index]);
+ return step(0, [index, O[index]]);
+ }, 'values');
+
+ // argumentsList[@@iterator] is %ArrayProto_values% (9.4.4.6, 9.4.4.7)
+ Iterators.Arguments = Iterators.Array;
+
+ addToUnscopables('keys');
+ addToUnscopables('values');
+ addToUnscopables('entries');
+ });
+
+ var es6_array_iterator$1 = interopDefault(es6_array_iterator);
+
+var require$$5$3 = Object.freeze({
+ default: es6_array_iterator$1
+ });
+
+ var _flags = createCommonjsModule(function (module) {
+ 'use strict';
+ // 21.2.5.3 get RegExp.prototype.flags
+
+ var anObject = interopDefault(require$$5);
+ module.exports = function () {
+ var that = anObject(this),
+ result = '';
+ if (that.global) result += 'g';
+ if (that.ignoreCase) result += 'i';
+ if (that.multiline) result += 'm';
+ if (that.unicode) result += 'u';
+ if (that.sticky) result += 'y';
+ return result;
+ };
+ });
+
+ var _flags$1 = interopDefault(_flags);
+
+var require$$1$18 = Object.freeze({
+ default: _flags$1
+ });
+
+ var es6_regexp_constructor = createCommonjsModule(function (module) {
+ var global = interopDefault(require$$3),
+ inheritIfRequired = interopDefault(require$$0$19),
+ dP = interopDefault(require$$2$1).f,
+ gOPN = interopDefault(require$$3$3).f,
+ isRegExp = interopDefault(require$$2$8),
+ $flags = interopDefault(require$$1$18),
+ $RegExp = global.RegExp,
+ Base = $RegExp,
+ proto = $RegExp.prototype,
+ re1 = /a/g,
+ re2 = /a/g
+ // "new" creates a new object, old webkit buggy here
+ ,
+ CORRECT_NEW = new $RegExp(re1) !== re1;
+
+ if (interopDefault(require$$1) && (!CORRECT_NEW || interopDefault(require$$1$1)(function () {
+ re2[interopDefault(require$$0$4)('match')] = false;
+ // RegExp constructor can alter flags and IsRegExp works correct with @@match
+ return $RegExp(re1) != re1 || $RegExp(re2) == re2 || $RegExp(re1, 'i') != '/a/i';
+ }))) {
+ $RegExp = function RegExp(p, f) {
+ var tiRE = this instanceof $RegExp,
+ piRE = isRegExp(p),
+ fiU = f === undefined;
+ return !tiRE && piRE && p.constructor === $RegExp && fiU ? p : inheritIfRequired(CORRECT_NEW ? new Base(piRE && !fiU ? p.source : p, f) : Base((piRE = p instanceof $RegExp) ? p.source : p, piRE && fiU ? $flags.call(p) : f), tiRE ? this : proto, $RegExp);
+ };
+ var proxy = function proxy(key) {
+ key in $RegExp || dP($RegExp, key, {
+ configurable: true,
+ get: function get() {
+ return Base[key];
+ },
+ set: function set(it) {
+ Base[key] = it;
+ }
+ });
+ };
+ for (var keys = gOPN(Base), i = 0; keys.length > i;) {
+ proxy(keys[i++]);
+ }proto.constructor = $RegExp;
+ $RegExp.prototype = proto;
+ interopDefault(require$$4$2)(global, 'RegExp', $RegExp);
+ }
+
+ interopDefault(require$$0$35)('RegExp');
+ });
+
+ interopDefault(es6_regexp_constructor);
+
+ var es6_regexp_flags = createCommonjsModule(function (module) {
+ // 21.2.5.3 get RegExp.prototype.flags()
+ if (interopDefault(require$$1) && /./g.flags != 'g') interopDefault(require$$2$1).f(RegExp.prototype, 'flags', {
+ configurable: true,
+ get: interopDefault(require$$1$18)
+ });
+ });
+
+ interopDefault(es6_regexp_flags);
+
+ var es6_regexp_toString = createCommonjsModule(function (module) {
+ 'use strict';
+
+ var anObject = interopDefault(require$$5),
+ $flags = interopDefault(require$$1$18),
+ DESCRIPTORS = interopDefault(require$$1),
+ TO_STRING = 'toString',
+ $toString = /./[TO_STRING];
+
+ var define = function define(fn) {
+ interopDefault(require$$4$2)(RegExp.prototype, TO_STRING, fn, true);
+ };
+
+ // 21.2.5.14 RegExp.prototype.toString()
+ if (interopDefault(require$$1$1)(function () {
+ return $toString.call({ source: 'a', flags: 'b' }) != '/a/b';
+ })) {
+ define(function toString() {
+ var R = anObject(this);
+ return '/'.concat(R.source, '/', 'flags' in R ? R.flags : !DESCRIPTORS && R instanceof RegExp ? $flags.call(R) : undefined);
+ });
+ // FF44- RegExp#toString has a wrong name
+ } else if ($toString.name != TO_STRING) {
+ define(function toString() {
+ return $toString.call(this);
+ });
+ }
+ });
+
+ interopDefault(es6_regexp_toString);
+
+ var _fixReWks = createCommonjsModule(function (module) {
+ 'use strict';
+
+ var hide = interopDefault(require$$2),
+ redefine = interopDefault(require$$4$2),
+ fails = interopDefault(require$$1$1),
+ defined = interopDefault(require$$4$3),
+ wks = interopDefault(require$$0$4);
+
+ module.exports = function (KEY, length, exec) {
+ var SYMBOL = wks(KEY),
+ fns = exec(defined, SYMBOL, ''[KEY]),
+ strfn = fns[0],
+ rxfn = fns[1];
+ if (fails(function () {
+ var O = {};
+ O[SYMBOL] = function () {
+ return 7;
+ };
+ return ''[KEY](O) != 7;
+ })) {
+ redefine(String.prototype, KEY, strfn);
+ hide(RegExp.prototype, SYMBOL, length == 2
+ // 21.2.5.8 RegExp.prototype[@@replace](string, replaceValue)
+ // 21.2.5.11 RegExp.prototype[@@split](string, limit)
+ ? function (string, arg) {
+ return rxfn.call(string, this, arg);
+ }
+ // 21.2.5.6 RegExp.prototype[@@match](string)
+ // 21.2.5.9 RegExp.prototype[@@search](string)
+ : function (string) {
+ return rxfn.call(string, this);
+ });
+ }
+ };
+ });
+
+ var _fixReWks$1 = interopDefault(_fixReWks);
+
+var require$$1$19 = Object.freeze({
+ default: _fixReWks$1
+ });
+
+ var es6_regexp_match = createCommonjsModule(function (module) {
+ // @@match logic
+ interopDefault(require$$1$19)('match', 1, function (defined, MATCH, $match) {
+ // 21.1.3.11 String.prototype.match(regexp)
+ return [function match(regexp) {
+ 'use strict';
+
+ var O = defined(this),
+ fn = regexp == undefined ? undefined : regexp[MATCH];
+ return fn !== undefined ? fn.call(regexp, O) : new RegExp(regexp)[MATCH](String(O));
+ }, $match];
+ });
+ });
+
+ interopDefault(es6_regexp_match);
+
+ var es6_regexp_replace = createCommonjsModule(function (module) {
+ // @@replace logic
+ interopDefault(require$$1$19)('replace', 2, function (defined, REPLACE, $replace) {
+ // 21.1.3.14 String.prototype.replace(searchValue, replaceValue)
+ return [function replace(searchValue, replaceValue) {
+ 'use strict';
+
+ var O = defined(this),
+ fn = searchValue == undefined ? undefined : searchValue[REPLACE];
+ return fn !== undefined ? fn.call(searchValue, O, replaceValue) : $replace.call(String(O), searchValue, replaceValue);
+ }, $replace];
+ });
+ });
+
+ interopDefault(es6_regexp_replace);
+
+ var es6_regexp_search = createCommonjsModule(function (module) {
+ // @@search logic
+ interopDefault(require$$1$19)('search', 1, function (defined, SEARCH, $search) {
+ // 21.1.3.15 String.prototype.search(regexp)
+ return [function search(regexp) {
+ 'use strict';
+
+ var O = defined(this),
+ fn = regexp == undefined ? undefined : regexp[SEARCH];
+ return fn !== undefined ? fn.call(regexp, O) : new RegExp(regexp)[SEARCH](String(O));
+ }, $search];
+ });
+ });
+
+ interopDefault(es6_regexp_search);
+
+ var es6_regexp_split = createCommonjsModule(function (module) {
+ // @@split logic
+ interopDefault(require$$1$19)('split', 2, function (defined, SPLIT, $split) {
+ 'use strict';
+
+ var isRegExp = interopDefault(require$$2$8),
+ _split = $split,
+ $push = [].push,
+ $SPLIT = 'split',
+ LENGTH = 'length',
+ LAST_INDEX = 'lastIndex';
+ if ('abbc'[$SPLIT](/(b)*/)[1] == 'c' || 'test'[$SPLIT](/(?:)/, -1)[LENGTH] != 4 || 'ab'[$SPLIT](/(?:ab)*/)[LENGTH] != 2 || '.'[$SPLIT](/(.?)(.?)/)[LENGTH] != 4 || '.'[$SPLIT](/()()/)[LENGTH] > 1 || ''[$SPLIT](/.?/)[LENGTH]) {
+ var NPCG = /()??/.exec('')[1] === undefined; // nonparticipating capturing group
+ // based on es5-shim implementation, need to rework it
+ $split = function $split(separator, limit) {
+ var string = String(this);
+ if (separator === undefined && limit === 0) return [];
+ // If `separator` is not a regex, use native split
+ if (!isRegExp(separator)) return _split.call(string, separator, limit);
+ var output = [];
+ var flags = (separator.ignoreCase ? 'i' : '') + (separator.multiline ? 'm' : '') + (separator.unicode ? 'u' : '') + (separator.sticky ? 'y' : '');
+ var lastLastIndex = 0;
+ var splitLimit = limit === undefined ? 4294967295 : limit >>> 0;
+ // Make `global` and avoid `lastIndex` issues by working with a copy
+ var separatorCopy = new RegExp(separator.source, flags + 'g');
+ var separator2, match, lastIndex, lastLength, i;
+ // Doesn't need flags gy, but they don't hurt
+ if (!NPCG) separator2 = new RegExp('^' + separatorCopy.source + '$(?!\\s)', flags);
+ while (match = separatorCopy.exec(string)) {
+ // `separatorCopy.lastIndex` is not reliable cross-browser
+ lastIndex = match.index + match[0][LENGTH];
+ if (lastIndex > lastLastIndex) {
+ output.push(string.slice(lastLastIndex, match.index));
+ // Fix browsers whose `exec` methods don't consistently return `undefined` for NPCG
+ if (!NPCG && match[LENGTH] > 1) match[0].replace(separator2, function () {
+ for (i = 1; i < arguments[LENGTH] - 2; i++) {
+ if (arguments[i] === undefined) match[i] = undefined;
+ }
+ });
+ if (match[LENGTH] > 1 && match.index < string[LENGTH]) $push.apply(output, match.slice(1));
+ lastLength = match[0][LENGTH];
+ lastLastIndex = lastIndex;
+ if (output[LENGTH] >= splitLimit) break;
+ }
+ if (separatorCopy[LAST_INDEX] === match.index) separatorCopy[LAST_INDEX]++; // Avoid an infinite loop
+ }
+ if (lastLastIndex === string[LENGTH]) {
+ if (lastLength || !separatorCopy.test('')) output.push('');
+ } else output.push(string.slice(lastLastIndex));
+ return output[LENGTH] > splitLimit ? output.slice(0, splitLimit) : output;
+ };
+ // Chakra, V8
+ } else if ('0'[$SPLIT](undefined, 0)[LENGTH]) {
+ $split = function $split(separator, limit) {
+ return separator === undefined && limit === 0 ? [] : _split.call(this, separator, limit);
+ };
+ }
+ // 21.1.3.17 String.prototype.split(separator, limit)
+ return [function split(separator, limit) {
+ var O = defined(this),
+ fn = separator == undefined ? undefined : separator[SPLIT];
+ return fn !== undefined ? fn.call(separator, O, limit) : $split.call(String(O), separator, limit);
+ }, $split];
+ });
+ });
+
+ interopDefault(es6_regexp_split);
+
+ var _anInstance = createCommonjsModule(function (module) {
+ module.exports = function (it, Constructor, name, forbiddenField) {
+ if (!(it instanceof Constructor) || forbiddenField !== undefined && forbiddenField in it) {
+ throw TypeError(name + ': incorrect invocation!');
+ }return it;
+ };
+ });
+
+ var _anInstance$1 = interopDefault(_anInstance);
+
+var require$$4$6 = Object.freeze({
+ default: _anInstance$1
+ });
+
+ var _forOf = createCommonjsModule(function (module) {
+ var ctx = interopDefault(require$$31),
+ call = interopDefault(require$$4$5),
+ isArrayIter = interopDefault(require$$17),
+ anObject = interopDefault(require$$5),
+ toLength = interopDefault(require$$3$1),
+ getIterFn = interopDefault(require$$13),
+ BREAK = {},
+ RETURN = {};
+ var exports = module.exports = function (iterable, entries, fn, that, ITERATOR) {
+ var iterFn = ITERATOR ? function () {
+ return iterable;
+ } : getIterFn(iterable),
+ f = ctx(fn, that, entries ? 2 : 1),
+ index = 0,
+ length,
+ step,
+ iterator,
+ result;
+ if (typeof iterFn != 'function') throw TypeError(iterable + ' is not iterable!');
+ // fast case for arrays with default iterator
+ if (isArrayIter(iterFn)) for (length = toLength(iterable.length); length > index; index++) {
+ result = entries ? f(anObject(step = iterable[index])[0], step[1]) : f(iterable[index]);
+ if (result === BREAK || result === RETURN) return result;
+ } else for (iterator = iterFn.call(iterable); !(step = iterator.next()).done;) {
+ result = call(iterator, f, step.value, entries);
+ if (result === BREAK || result === RETURN) return result;
+ }
+ };
+ exports.BREAK = BREAK;
+ exports.RETURN = RETURN;
+ });
+
+ var _forOf$1 = interopDefault(_forOf);
+
+var require$$1$20 = Object.freeze({
+ default: _forOf$1
+ });
+
+ var _speciesConstructor = createCommonjsModule(function (module) {
+ // 7.3.20 SpeciesConstructor(O, defaultConstructor)
+ var anObject = interopDefault(require$$5),
+ aFunction = interopDefault(require$$0$2),
+ SPECIES = interopDefault(require$$0$4)('species');
+ module.exports = function (O, D) {
+ var C = anObject(O).constructor,
+ S;
+ return C === undefined || (S = anObject(C)[SPECIES]) == undefined ? D : aFunction(S);
+ };
+ });
+
+ var _speciesConstructor$1 = interopDefault(_speciesConstructor);
+
+var require$$8 = Object.freeze({
+ default: _speciesConstructor$1
+ });
+
+ var _task = createCommonjsModule(function (module) {
+ var ctx = interopDefault(require$$31),
+ invoke = interopDefault(require$$1$13),
+ html = interopDefault(require$$3$2),
+ cel = interopDefault(require$$2$2),
+ global = interopDefault(require$$3),
+ process = global.process,
+ setTask = global.setImmediate,
+ clearTask = global.clearImmediate,
+ MessageChannel = global.MessageChannel,
+ counter = 0,
+ queue = {},
+ ONREADYSTATECHANGE = 'onreadystatechange',
+ defer,
+ channel,
+ port;
+ var run = function run() {
+ var id = +this;
+ if (queue.hasOwnProperty(id)) {
+ var fn = queue[id];
+ delete queue[id];
+ fn();
+ }
+ };
+ var listener = function listener(event) {
+ run.call(event.data);
+ };
+ // Node.js 0.9+ & IE10+ has setImmediate, otherwise:
+ if (!setTask || !clearTask) {
+ setTask = function setImmediate(fn) {
+ var args = [],
+ i = 1;
+ while (arguments.length > i) {
+ args.push(arguments[i++]);
+ }queue[++counter] = function () {
+ invoke(typeof fn == 'function' ? fn : Function(fn), args);
+ };
+ defer(counter);
+ return counter;
+ };
+ clearTask = function clearImmediate(id) {
+ delete queue[id];
+ };
+ // Node.js 0.8-
+ if (interopDefault(require$$0$6)(process) == 'process') {
+ defer = function defer(id) {
+ process.nextTick(ctx(run, id, 1));
+ };
+ // Browsers with MessageChannel, includes WebWorkers
+ } else if (MessageChannel) {
+ channel = new MessageChannel();
+ port = channel.port2;
+ channel.port1.onmessage = listener;
+ defer = ctx(port.postMessage, port, 1);
+ // Browsers with postMessage, skip WebWorkers
+ // IE8 has postMessage, but it's sync & typeof its postMessage is 'object'
+ } else if (global.addEventListener && typeof postMessage == 'function' && !global.importScripts) {
+ defer = function defer(id) {
+ global.postMessage(id + '', '*');
+ };
+ global.addEventListener('message', listener, false);
+ // IE8-
+ } else if (ONREADYSTATECHANGE in cel('script')) {
+ defer = function defer(id) {
+ html.appendChild(cel('script'))[ONREADYSTATECHANGE] = function () {
+ html.removeChild(this);
+ run.call(id);
+ };
+ };
+ // Rest old browsers
+ } else {
+ defer = function defer(id) {
+ setTimeout(ctx(run, id, 1), 0);
+ };
+ }
+ }
+ module.exports = {
+ set: setTask,
+ clear: clearTask
+ };
+ });
+
+ var _task$1 = interopDefault(_task);
+ var set$2 = _task.set;
+ var clear = _task.clear;
+
+var require$$0$36 = Object.freeze({
+ default: _task$1,
+ set: set$2,
+ clear: clear
+ });
+
+ var _microtask = createCommonjsModule(function (module) {
+ var global = interopDefault(require$$3),
+ macrotask = interopDefault(require$$0$36).set,
+ Observer = global.MutationObserver || global.WebKitMutationObserver,
+ process = global.process,
+ Promise = global.Promise,
+ isNode = interopDefault(require$$0$6)(process) == 'process';
+
+ module.exports = function () {
+ var head, last, notify;
+
+ var flush = function flush() {
+ var parent, fn;
+ if (isNode && (parent = process.domain)) parent.exit();
+ while (head) {
+ fn = head.fn;
+ head = head.next;
+ try {
+ fn();
+ } catch (e) {
+ if (head) notify();else last = undefined;
+ throw e;
+ }
+ }last = undefined;
+ if (parent) parent.enter();
+ };
+
+ // Node.js
+ if (isNode) {
+ notify = function notify() {
+ process.nextTick(flush);
+ };
+ // browsers with MutationObserver
+ } else if (Observer) {
+ var toggle = true,
+ node = document.createTextNode('');
+ new Observer(flush).observe(node, { characterData: true }); // eslint-disable-line no-new
+ notify = function notify() {
+ node.data = toggle = !toggle;
+ };
+ // environments with maybe non-completely correct, but existent Promise
+ } else if (Promise && Promise.resolve) {
+ var promise = Promise.resolve();
+ notify = function notify() {
+ promise.then(flush);
+ };
+ // for other environments - macrotask based on:
+ // - setImmediate
+ // - MessageChannel
+ // - window.postMessag
+ // - onreadystatechange
+ // - setTimeout
+ } else {
+ notify = function notify() {
+ // strange IE + webpack dev server bug - use .call(global)
+ macrotask.call(global, flush);
+ };
+ }
+
+ return function (fn) {
+ var task = { fn: fn, next: undefined };
+ if (last) last.next = task;
+ if (!head) {
+ head = task;
+ notify();
+ }last = task;
+ };
+ };
+ });
+
+ var _microtask$1 = interopDefault(_microtask);
+
+var require$$8$1 = Object.freeze({
+ default: _microtask$1
+ });
+
+ var _redefineAll = createCommonjsModule(function (module) {
+ var redefine = interopDefault(require$$4$2);
+ module.exports = function (target, src, safe) {
+ for (var key in src) {
+ redefine(target, key, src[key], safe);
+ }return target;
+ };
+ });
+
+ var _redefineAll$1 = interopDefault(_redefineAll);
+
+var require$$3$7 = Object.freeze({
+ default: _redefineAll$1
+ });
+
+ var es6_promise = createCommonjsModule(function (module) {
+ 'use strict';
+
+ var LIBRARY = interopDefault(require$$2$4),
+ global = interopDefault(require$$3),
+ ctx = interopDefault(require$$31),
+ classof = interopDefault(require$$1$11),
+ $export = interopDefault(require$$1$2),
+ isObject = interopDefault(require$$0$1),
+ aFunction = interopDefault(require$$0$2),
+ anInstance = interopDefault(require$$4$6),
+ forOf = interopDefault(require$$1$20),
+ speciesConstructor = interopDefault(require$$8),
+ task = interopDefault(require$$0$36).set,
+ microtask = interopDefault(require$$8$1)(),
+ PROMISE = 'Promise',
+ TypeError = global.TypeError,
+ process = global.process,
+ $Promise = global[PROMISE],
+ process = global.process,
+ isNode = classof(process) == 'process',
+ empty = function empty() {/* empty */},
+ Internal,
+ GenericPromiseCapability,
+ Wrapper;
+
+ var USE_NATIVE = !!function () {
+ try {
+ // correct subclassing with @@species support
+ var promise = $Promise.resolve(1),
+ FakePromise = (promise.constructor = {})[interopDefault(require$$0$4)('species')] = function (exec) {
+ exec(empty, empty);
+ };
+ // unhandled rejections tracking support, NodeJS Promise without it fails @@species test
+ return (isNode || typeof PromiseRejectionEvent == 'function') && promise.then(empty) instanceof FakePromise;
+ } catch (e) {/* empty */}
+ }();
+
+ // helpers
+ var sameConstructor = function sameConstructor(a, b) {
+ // with library wrapper special case
+ return a === b || a === $Promise && b === Wrapper;
+ };
+ var isThenable = function isThenable(it) {
+ var then;
+ return isObject(it) && typeof (then = it.then) == 'function' ? then : false;
+ };
+ var newPromiseCapability = function newPromiseCapability(C) {
+ return sameConstructor($Promise, C) ? new PromiseCapability(C) : new GenericPromiseCapability(C);
+ };
+ var PromiseCapability = GenericPromiseCapability = function GenericPromiseCapability(C) {
+ var resolve, reject;
+ this.promise = new C(function ($$resolve, $$reject) {
+ if (resolve !== undefined || reject !== undefined) throw TypeError('Bad Promise constructor');
+ resolve = $$resolve;
+ reject = $$reject;
+ });
+ this.resolve = aFunction(resolve);
+ this.reject = aFunction(reject);
+ };
+ var perform = function perform(exec) {
+ try {
+ exec();
+ } catch (e) {
+ return { error: e };
+ }
+ };
+ var notify = function notify(promise, isReject) {
+ if (promise._n) return;
+ promise._n = true;
+ var chain = promise._c;
+ microtask(function () {
+ var value = promise._v,
+ ok = promise._s == 1,
+ i = 0;
+ var run = function run(reaction) {
+ var handler = ok ? reaction.ok : reaction.fail,
+ resolve = reaction.resolve,
+ reject = reaction.reject,
+ domain = reaction.domain,
+ result,
+ then;
+ try {
+ if (handler) {
+ if (!ok) {
+ if (promise._h == 2) onHandleUnhandled(promise);
+ promise._h = 1;
+ }
+ if (handler === true) result = value;else {
+ if (domain) domain.enter();
+ result = handler(value);
+ if (domain) domain.exit();
+ }
+ if (result === reaction.promise) {
+ reject(TypeError('Promise-chain cycle'));
+ } else if (then = isThenable(result)) {
+ then.call(result, resolve, reject);
+ } else resolve(result);
+ } else reject(value);
+ } catch (e) {
+ reject(e);
+ }
+ };
+ while (chain.length > i) {
+ run(chain[i++]);
+ } // variable length - can't use forEach
+ promise._c = [];
+ promise._n = false;
+ if (isReject && !promise._h) onUnhandled(promise);
+ });
+ };
+ var onUnhandled = function onUnhandled(promise) {
+ task.call(global, function () {
+ var value = promise._v,
+ abrupt,
+ handler,
+ console;
+ if (isUnhandled(promise)) {
+ abrupt = perform(function () {
+ if (isNode) {
+ process.emit('unhandledRejection', value, promise);
+ } else if (handler = global.onunhandledrejection) {
+ handler({ promise: promise, reason: value });
+ } else if ((console = global.console) && console.error) {
+ console.error('Unhandled promise rejection', value);
+ }
+ });
+ // Browsers should not trigger `rejectionHandled` event if it was handled here, NodeJS - should
+ promise._h = isNode || isUnhandled(promise) ? 2 : 1;
+ }promise._a = undefined;
+ if (abrupt) throw abrupt.error;
+ });
+ };
+ var isUnhandled = function isUnhandled(promise) {
+ if (promise._h == 1) return false;
+ var chain = promise._a || promise._c,
+ i = 0,
+ reaction;
+ while (chain.length > i) {
+ reaction = chain[i++];
+ if (reaction.fail || !isUnhandled(reaction.promise)) return false;
+ }return true;
+ };
+ var onHandleUnhandled = function onHandleUnhandled(promise) {
+ task.call(global, function () {
+ var handler;
+ if (isNode) {
+ process.emit('rejectionHandled', promise);
+ } else if (handler = global.onrejectionhandled) {
+ handler({ promise: promise, reason: promise._v });
+ }
+ });
+ };
+ var $reject = function $reject(value) {
+ var promise = this;
+ if (promise._d) return;
+ promise._d = true;
+ promise = promise._w || promise; // unwrap
+ promise._v = value;
+ promise._s = 2;
+ if (!promise._a) promise._a = promise._c.slice();
+ notify(promise, true);
+ };
+ var $resolve = function $resolve(value) {
+ var promise = this,
+ then;
+ if (promise._d) return;
+ promise._d = true;
+ promise = promise._w || promise; // unwrap
+ try {
+ if (promise === value) throw TypeError("Promise can't be resolved itself");
+ if (then = isThenable(value)) {
+ microtask(function () {
+ var wrapper = { _w: promise, _d: false }; // wrap
+ try {
+ then.call(value, ctx($resolve, wrapper, 1), ctx($reject, wrapper, 1));
+ } catch (e) {
+ $reject.call(wrapper, e);
+ }
+ });
+ } else {
+ promise._v = value;
+ promise._s = 1;
+ notify(promise, false);
+ }
+ } catch (e) {
+ $reject.call({ _w: promise, _d: false }, e); // wrap
+ }
+ };
+
+ // constructor polyfill
+ if (!USE_NATIVE) {
+ // 25.4.3.1 Promise(executor)
+ $Promise = function Promise(executor) {
+ anInstance(this, $Promise, PROMISE, '_h');
+ aFunction(executor);
+ Internal.call(this);
+ try {
+ executor(ctx($resolve, this, 1), ctx($reject, this, 1));
+ } catch (err) {
+ $reject.call(this, err);
+ }
+ };
+ Internal = function Promise(executor) {
+ this._c = []; // <- awaiting reactions
+ this._a = undefined; // <- checked in isUnhandled reactions
+ this._s = 0; // <- state
+ this._d = false; // <- done
+ this._v = undefined; // <- value
+ this._h = 0; // <- rejection state, 0 - default, 1 - handled, 2 - unhandled
+ this._n = false; // <- notify
+ };
+ Internal.prototype = interopDefault(require$$3$7)($Promise.prototype, {
+ // 25.4.5.3 Promise.prototype.then(onFulfilled, onRejected)
+ then: function then(onFulfilled, onRejected) {
+ var reaction = newPromiseCapability(speciesConstructor(this, $Promise));
+ reaction.ok = typeof onFulfilled == 'function' ? onFulfilled : true;
+ reaction.fail = typeof onRejected == 'function' && onRejected;
+ reaction.domain = isNode ? process.domain : undefined;
+ this._c.push(reaction);
+ if (this._a) this._a.push(reaction);
+ if (this._s) notify(this, false);
+ return reaction.promise;
+ },
+ // 25.4.5.1 Promise.prototype.catch(onRejected)
+ 'catch': function _catch(onRejected) {
+ return this.then(undefined, onRejected);
+ }
+ });
+ PromiseCapability = function PromiseCapability() {
+ var promise = new Internal();
+ this.promise = promise;
+ this.resolve = ctx($resolve, promise, 1);
+ this.reject = ctx($reject, promise, 1);
+ };
+ }
+
+ $export($export.G + $export.W + $export.F * !USE_NATIVE, { Promise: $Promise });
+ interopDefault(require$$0$3)($Promise, PROMISE);
+ interopDefault(require$$0$35)(PROMISE);
+ Wrapper = interopDefault(require$$0)[PROMISE];
+
+ // statics
+ $export($export.S + $export.F * !USE_NATIVE, PROMISE, {
+ // 25.4.4.5 Promise.reject(r)
+ reject: function reject(r) {
+ var capability = newPromiseCapability(this),
+ $$reject = capability.reject;
+ $$reject(r);
+ return capability.promise;
+ }
+ });
+ $export($export.S + $export.F * (LIBRARY || !USE_NATIVE), PROMISE, {
+ // 25.4.4.6 Promise.resolve(x)
+ resolve: function resolve(x) {
+ // instanceof instead of internal slot check because we should fix it without replacement native Promise core
+ if (x instanceof $Promise && sameConstructor(x.constructor, this)) return x;
+ var capability = newPromiseCapability(this),
+ $$resolve = capability.resolve;
+ $$resolve(x);
+ return capability.promise;
+ }
+ });
+ $export($export.S + $export.F * !(USE_NATIVE && interopDefault(require$$5$2)(function (iter) {
+ $Promise.all(iter)['catch'](empty);
+ })), PROMISE, {
+ // 25.4.4.1 Promise.all(iterable)
+ all: function all(iterable) {
+ var C = this,
+ capability = newPromiseCapability(C),
+ resolve = capability.resolve,
+ reject = capability.reject;
+ var abrupt = perform(function () {
+ var values = [],
+ index = 0,
+ remaining = 1;
+ forOf(iterable, false, function (promise) {
+ var $index = index++,
+ alreadyCalled = false;
+ values.push(undefined);
+ remaining++;
+ C.resolve(promise).then(function (value) {
+ if (alreadyCalled) return;
+ alreadyCalled = true;
+ values[$index] = value;
+ --remaining || resolve(values);
+ }, reject);
+ });
+ --remaining || resolve(values);
+ });
+ if (abrupt) reject(abrupt.error);
+ return capability.promise;
+ },
+ // 25.4.4.4 Promise.race(iterable)
+ race: function race(iterable) {
+ var C = this,
+ capability = newPromiseCapability(C),
+ reject = capability.reject;
+ var abrupt = perform(function () {
+ forOf(iterable, false, function (promise) {
+ C.resolve(promise).then(capability.resolve, reject);
+ });
+ });
+ if (abrupt) reject(abrupt.error);
+ return capability.promise;
+ }
+ });
+ });
+
+ interopDefault(es6_promise);
+
+ var _collectionStrong = createCommonjsModule(function (module) {
+ 'use strict';
+
+ var dP = interopDefault(require$$2$1).f,
+ create = interopDefault(require$$6$1),
+ redefineAll = interopDefault(require$$3$7),
+ ctx = interopDefault(require$$31),
+ anInstance = interopDefault(require$$4$6),
+ defined = interopDefault(require$$4$3),
+ forOf = interopDefault(require$$1$20),
+ $iterDefine = interopDefault(require$$4$4),
+ step = interopDefault(require$$3$6),
+ setSpecies = interopDefault(require$$0$35),
+ DESCRIPTORS = interopDefault(require$$1),
+ fastKey = interopDefault(require$$6).fastKey,
+ SIZE = DESCRIPTORS ? '_s' : 'size';
+
+ var getEntry = function getEntry(that, key) {
+ // fast case
+ var index = fastKey(key),
+ entry;
+ if (index !== 'F') return that._i[index];
+ // frozen object case
+ for (entry = that._f; entry; entry = entry.n) {
+ if (entry.k == key) return entry;
+ }
+ };
+
+ module.exports = {
+ getConstructor: function getConstructor(wrapper, NAME, IS_MAP, ADDER) {
+ var C = wrapper(function (that, iterable) {
+ anInstance(that, C, NAME, '_i');
+ that._i = create(null); // index
+ that._f = undefined; // first entry
+ that._l = undefined; // last entry
+ that[SIZE] = 0; // size
+ if (iterable != undefined) forOf(iterable, IS_MAP, that[ADDER], that);
+ });
+ redefineAll(C.prototype, {
+ // 23.1.3.1 Map.prototype.clear()
+ // 23.2.3.2 Set.prototype.clear()
+ clear: function clear() {
+ for (var that = this, data = that._i, entry = that._f; entry; entry = entry.n) {
+ entry.r = true;
+ if (entry.p) entry.p = entry.p.n = undefined;
+ delete data[entry.i];
+ }
+ that._f = that._l = undefined;
+ that[SIZE] = 0;
+ },
+ // 23.1.3.3 Map.prototype.delete(key)
+ // 23.2.3.4 Set.prototype.delete(value)
+ 'delete': function _delete(key) {
+ var that = this,
+ entry = getEntry(that, key);
+ if (entry) {
+ var next = entry.n,
+ prev = entry.p;
+ delete that._i[entry.i];
+ entry.r = true;
+ if (prev) prev.n = next;
+ if (next) next.p = prev;
+ if (that._f == entry) that._f = next;
+ if (that._l == entry) that._l = prev;
+ that[SIZE]--;
+ }return !!entry;
+ },
+ // 23.2.3.6 Set.prototype.forEach(callbackfn, thisArg = undefined)
+ // 23.1.3.5 Map.prototype.forEach(callbackfn, thisArg = undefined)
+ forEach: function forEach(callbackfn /*, that = undefined */) {
+ anInstance(this, C, 'forEach');
+ var f = ctx(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3),
+ entry;
+ while (entry = entry ? entry.n : this._f) {
+ f(entry.v, entry.k, this);
+ // revert to the last existing entry
+ while (entry && entry.r) {
+ entry = entry.p;
+ }
+ }
+ },
+ // 23.1.3.7 Map.prototype.has(key)
+ // 23.2.3.7 Set.prototype.has(value)
+ has: function has(key) {
+ return !!getEntry(this, key);
+ }
+ });
+ if (DESCRIPTORS) dP(C.prototype, 'size', {
+ get: function get() {
+ return defined(this[SIZE]);
+ }
+ });
+ return C;
+ },
+ def: function def(that, key, value) {
+ var entry = getEntry(that, key),
+ prev,
+ index;
+ // change existing entry
+ if (entry) {
+ entry.v = value;
+ // create new entry
+ } else {
+ that._l = entry = {
+ i: index = fastKey(key, true), // <- index
+ k: key, // <- key
+ v: value, // <- value
+ p: prev = that._l, // <- previous entry
+ n: undefined, // <- next entry
+ r: false // <- removed
+ };
+ if (!that._f) that._f = entry;
+ if (prev) prev.n = entry;
+ that[SIZE]++;
+ // add to index
+ if (index !== 'F') that._i[index] = entry;
+ }return that;
+ },
+ getEntry: getEntry,
+ setStrong: function setStrong(C, NAME, IS_MAP) {
+ // add .keys, .values, .entries, [@@iterator]
+ // 23.1.3.4, 23.1.3.8, 23.1.3.11, 23.1.3.12, 23.2.3.5, 23.2.3.8, 23.2.3.10, 23.2.3.11
+ $iterDefine(C, NAME, function (iterated, kind) {
+ this._t = iterated; // target
+ this._k = kind; // kind
+ this._l = undefined; // previous
+ }, function () {
+ var that = this,
+ kind = that._k,
+ entry = that._l;
+ // revert to the last existing entry
+ while (entry && entry.r) {
+ entry = entry.p;
+ } // get next entry
+ if (!that._t || !(that._l = entry = entry ? entry.n : that._t._f)) {
+ // or finish the iteration
+ that._t = undefined;
+ return step(1);
+ }
+ // return step by kind
+ if (kind == 'keys') return step(0, entry.k);
+ if (kind == 'values') return step(0, entry.v);
+ return step(0, [entry.k, entry.v]);
+ }, IS_MAP ? 'entries' : 'values', !IS_MAP, true);
+
+ // add [@@species], 23.1.2.2, 23.2.2.2
+ setSpecies(NAME);
+ }
+ };
+ });
+
+ var _collectionStrong$1 = interopDefault(_collectionStrong);
+ var getConstructor = _collectionStrong.getConstructor;
+ var def = _collectionStrong.def;
+ var getEntry = _collectionStrong.getEntry;
+ var setStrong = _collectionStrong.setStrong;
+
+var require$$1$21 = Object.freeze({
+ default: _collectionStrong$1,
+ getConstructor: getConstructor,
+ def: def,
+ getEntry: getEntry,
+ setStrong: setStrong
+ });
+
+ var _collection = createCommonjsModule(function (module) {
+ 'use strict';
+
+ var global = interopDefault(require$$3),
+ $export = interopDefault(require$$1$2),
+ redefine = interopDefault(require$$4$2),
+ redefineAll = interopDefault(require$$3$7),
+ meta = interopDefault(require$$6),
+ forOf = interopDefault(require$$1$20),
+ anInstance = interopDefault(require$$4$6),
+ isObject = interopDefault(require$$0$1),
+ fails = interopDefault(require$$1$1),
+ $iterDetect = interopDefault(require$$5$2),
+ setToStringTag = interopDefault(require$$0$3),
+ inheritIfRequired = interopDefault(require$$0$19);
+
+ module.exports = function (NAME, wrapper, methods, common, IS_MAP, IS_WEAK) {
+ var Base = global[NAME],
+ C = Base,
+ ADDER = IS_MAP ? 'set' : 'add',
+ proto = C && C.prototype,
+ O = {};
+ var fixMethod = function fixMethod(KEY) {
+ var fn = proto[KEY];
+ redefine(proto, KEY, KEY == 'delete' ? function (a) {
+ return IS_WEAK && !isObject(a) ? false : fn.call(this, a === 0 ? 0 : a);
+ } : KEY == 'has' ? function has(a) {
+ return IS_WEAK && !isObject(a) ? false : fn.call(this, a === 0 ? 0 : a);
+ } : KEY == 'get' ? function get(a) {
+ return IS_WEAK && !isObject(a) ? undefined : fn.call(this, a === 0 ? 0 : a);
+ } : KEY == 'add' ? function add(a) {
+ fn.call(this, a === 0 ? 0 : a);return this;
+ } : function set(a, b) {
+ fn.call(this, a === 0 ? 0 : a, b);return this;
+ });
+ };
+ if (typeof C != 'function' || !(IS_WEAK || proto.forEach && !fails(function () {
+ new C().entries().next();
+ }))) {
+ // create collection constructor
+ C = common.getConstructor(wrapper, NAME, IS_MAP, ADDER);
+ redefineAll(C.prototype, methods);
+ meta.NEED = true;
+ } else {
+ var instance = new C()
+ // early implementations not supports chaining
+ ,
+ HASNT_CHAINING = instance[ADDER](IS_WEAK ? {} : -0, 1) != instance
+ // V8 ~ Chromium 40- weak-collections throws on primitives, but should return false
+ ,
+ THROWS_ON_PRIMITIVES = fails(function () {
+ instance.has(1);
+ })
+ // most early implementations doesn't supports iterables, most modern - not close it correctly
+ ,
+ ACCEPT_ITERABLES = $iterDetect(function (iter) {
+ new C(iter);
+ }) // eslint-disable-line no-new
+ // for early implementations -0 and +0 not the same
+ ,
+ BUGGY_ZERO = !IS_WEAK && fails(function () {
+ // V8 ~ Chromium 42- fails only with 5+ elements
+ var $instance = new C(),
+ index = 5;
+ while (index--) {
+ $instance[ADDER](index, index);
+ }return !$instance.has(-0);
+ });
+ if (!ACCEPT_ITERABLES) {
+ C = wrapper(function (target, iterable) {
+ anInstance(target, C, NAME);
+ var that = inheritIfRequired(new Base(), target, C);
+ if (iterable != undefined) forOf(iterable, IS_MAP, that[ADDER], that);
+ return that;
+ });
+ C.prototype = proto;
+ proto.constructor = C;
+ }
+ if (THROWS_ON_PRIMITIVES || BUGGY_ZERO) {
+ fixMethod('delete');
+ fixMethod('has');
+ IS_MAP && fixMethod('get');
+ }
+ if (BUGGY_ZERO || HASNT_CHAINING) fixMethod(ADDER);
+ // weak collections should not contains .clear method
+ if (IS_WEAK && proto.clear) delete proto.clear;
+ }
+
+ setToStringTag(C, NAME);
+
+ O[NAME] = C;
+ $export($export.G + $export.W + $export.F * (C != Base), O);
+
+ if (!IS_WEAK) common.setStrong(C, NAME, IS_MAP);
+
+ return C;
+ };
+ });
+
+ var _collection$1 = interopDefault(_collection);
+
+var require$$0$37 = Object.freeze({
+ default: _collection$1
+ });
+
+ var es6_map = createCommonjsModule(function (module) {
+ 'use strict';
+
+ var strong = interopDefault(require$$1$21);
+
+ // 23.1 Map Objects
+ module.exports = interopDefault(require$$0$37)('Map', function (get) {
+ return function Map() {
+ return get(this, arguments.length > 0 ? arguments[0] : undefined);
+ };
+ }, {
+ // 23.1.3.6 Map.prototype.get(key)
+ get: function get(key) {
+ var entry = strong.getEntry(this, key);
+ return entry && entry.v;
+ },
+ // 23.1.3.9 Map.prototype.set(key, value)
+ set: function set(key, value) {
+ return strong.def(this, key === 0 ? 0 : key, value);
+ }
+ }, strong, true);
+ });
+
+ var es6_map$1 = interopDefault(es6_map);
+
+var require$$3$8 = Object.freeze({
+ default: es6_map$1
+ });
+
+ var es6_set = createCommonjsModule(function (module) {
+ 'use strict';
+
+ var strong = interopDefault(require$$1$21);
+
+ // 23.2 Set Objects
+ module.exports = interopDefault(require$$0$37)('Set', function (get) {
+ return function Set() {
+ return get(this, arguments.length > 0 ? arguments[0] : undefined);
+ };
+ }, {
+ // 23.2.3.1 Set.prototype.add(value)
+ add: function add(value) {
+ return strong.def(this, value = value === 0 ? 0 : value, value);
+ }
+ }, strong);
+ });
+
+ var es6_set$1 = interopDefault(es6_set);
+
+var require$$4$7 = Object.freeze({
+ default: es6_set$1
+ });
+
+ var _collectionWeak = createCommonjsModule(function (module) {
+ 'use strict';
+
+ var redefineAll = interopDefault(require$$3$7),
+ getWeak = interopDefault(require$$6).getWeak,
+ anObject = interopDefault(require$$5),
+ isObject = interopDefault(require$$0$1),
+ anInstance = interopDefault(require$$4$6),
+ forOf = interopDefault(require$$1$20),
+ createArrayMethod = interopDefault(require$$10),
+ $has = interopDefault(require$$4),
+ arrayFind = createArrayMethod(5),
+ arrayFindIndex = createArrayMethod(6),
+ id = 0;
+
+ // fallback for uncaught frozen keys
+ var uncaughtFrozenStore = function uncaughtFrozenStore(that) {
+ return that._l || (that._l = new UncaughtFrozenStore());
+ };
+ var UncaughtFrozenStore = function UncaughtFrozenStore() {
+ this.a = [];
+ };
+ var findUncaughtFrozen = function findUncaughtFrozen(store, key) {
+ return arrayFind(store.a, function (it) {
+ return it[0] === key;
+ });
+ };
+ UncaughtFrozenStore.prototype = {
+ get: function get(key) {
+ var entry = findUncaughtFrozen(this, key);
+ if (entry) return entry[1];
+ },
+ has: function has(key) {
+ return !!findUncaughtFrozen(this, key);
+ },
+ set: function set(key, value) {
+ var entry = findUncaughtFrozen(this, key);
+ if (entry) entry[1] = value;else this.a.push([key, value]);
+ },
+ 'delete': function _delete(key) {
+ var index = arrayFindIndex(this.a, function (it) {
+ return it[0] === key;
+ });
+ if (~index) this.a.splice(index, 1);
+ return !!~index;
+ }
+ };
+
+ module.exports = {
+ getConstructor: function getConstructor(wrapper, NAME, IS_MAP, ADDER) {
+ var C = wrapper(function (that, iterable) {
+ anInstance(that, C, NAME, '_i');
+ that._i = id++; // collection id
+ that._l = undefined; // leak store for uncaught frozen objects
+ if (iterable != undefined) forOf(iterable, IS_MAP, that[ADDER], that);
+ });
+ redefineAll(C.prototype, {
+ // 23.3.3.2 WeakMap.prototype.delete(key)
+ // 23.4.3.3 WeakSet.prototype.delete(value)
+ 'delete': function _delete(key) {
+ if (!isObject(key)) return false;
+ var data = getWeak(key);
+ if (data === true) return uncaughtFrozenStore(this)['delete'](key);
+ return data && $has(data, this._i) && delete data[this._i];
+ },
+ // 23.3.3.4 WeakMap.prototype.has(key)
+ // 23.4.3.4 WeakSet.prototype.has(value)
+ has: function has(key) {
+ if (!isObject(key)) return false;
+ var data = getWeak(key);
+ if (data === true) return uncaughtFrozenStore(this).has(key);
+ return data && $has(data, this._i);
+ }
+ });
+ return C;
+ },
+ def: function def(that, key, value) {
+ var data = getWeak(anObject(key), true);
+ if (data === true) uncaughtFrozenStore(that).set(key, value);else data[that._i] = value;
+ return that;
+ },
+ ufstore: uncaughtFrozenStore
+ };
+ });
+
+ var _collectionWeak$1 = interopDefault(_collectionWeak);
+ var getConstructor$1 = _collectionWeak.getConstructor;
+ var def$1 = _collectionWeak.def;
+ var ufstore = _collectionWeak.ufstore;
+
+var require$$1$22 = Object.freeze({
+ default: _collectionWeak$1,
+ getConstructor: getConstructor$1,
+ def: def$1,
+ ufstore: ufstore
+ });
+
+ var es6_weakMap = createCommonjsModule(function (module) {
+ 'use strict';
+
+ var each = interopDefault(require$$10)(0),
+ redefine = interopDefault(require$$4$2),
+ meta = interopDefault(require$$6),
+ assign = interopDefault(require$$3$4),
+ weak = interopDefault(require$$1$22),
+ isObject = interopDefault(require$$0$1),
+ getWeak = meta.getWeak,
+ isExtensible = Object.isExtensible,
+ uncaughtFrozenStore = weak.ufstore,
+ tmp = {},
+ InternalMap;
+
+ var wrapper = function wrapper(get) {
+ return function WeakMap() {
+ return get(this, arguments.length > 0 ? arguments[0] : undefined);
+ };
+ };
+
+ var methods = {
+ // 23.3.3.3 WeakMap.prototype.get(key)
+ get: function get(key) {
+ if (isObject(key)) {
+ var data = getWeak(key);
+ if (data === true) return uncaughtFrozenStore(this).get(key);
+ return data ? data[this._i] : undefined;
+ }
+ },
+ // 23.3.3.5 WeakMap.prototype.set(key, value)
+ set: function set(key, value) {
+ return weak.def(this, key, value);
+ }
+ };
+
+ // 23.3 WeakMap Objects
+ var $WeakMap = module.exports = interopDefault(require$$0$37)('WeakMap', wrapper, methods, weak, true, true);
+
+ // IE11 WeakMap frozen keys fix
+ if (new $WeakMap().set((Object.freeze || Object)(tmp), 7).get(tmp) != 7) {
+ InternalMap = weak.getConstructor(wrapper);
+ assign(InternalMap.prototype, methods);
+ meta.NEED = true;
+ each(['delete', 'has', 'get', 'set'], function (key) {
+ var proto = $WeakMap.prototype,
+ method = proto[key];
+ redefine(proto, key, function (a, b) {
+ // store frozen objects on internal weakmap shim
+ if (isObject(a) && !isExtensible(a)) {
+ if (!this._f) this._f = new InternalMap();
+ var result = this._f[key](a, b);
+ return key == 'set' ? this : result;
+ // store all the rest on native weakmap
+ }return method.call(this, a, b);
+ });
+ });
+ }
+ });
+
+ var es6_weakMap$1 = interopDefault(es6_weakMap);
+
+var require$$0$38 = Object.freeze({
+ default: es6_weakMap$1
+ });
+
+ var es6_weakSet = createCommonjsModule(function (module) {
+ 'use strict';
+
+ var weak = interopDefault(require$$1$22);
+
+ // 23.4 WeakSet Objects
+ interopDefault(require$$0$37)('WeakSet', function (get) {
+ return function WeakSet() {
+ return get(this, arguments.length > 0 ? arguments[0] : undefined);
+ };
+ }, {
+ // 23.4.3.1 WeakSet.prototype.add(value)
+ add: function add(value) {
+ return weak.def(this, value, true);
+ }
+ }, weak, false, true);
+ });
+
+ interopDefault(es6_weakSet);
+
+ var _typed = createCommonjsModule(function (module) {
+ var global = interopDefault(require$$3),
+ hide = interopDefault(require$$2),
+ uid = interopDefault(require$$12),
+ TYPED = uid('typed_array'),
+ VIEW = uid('view'),
+ ABV = !!(global.ArrayBuffer && global.DataView),
+ CONSTR = ABV,
+ i = 0,
+ l = 9,
+ Typed;
+
+ var TypedArrayConstructors = 'Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array'.split(',');
+
+ while (i < l) {
+ if (Typed = global[TypedArrayConstructors[i++]]) {
+ hide(Typed.prototype, TYPED, true);
+ hide(Typed.prototype, VIEW, true);
+ } else CONSTR = false;
+ }
+
+ module.exports = {
+ ABV: ABV,
+ CONSTR: CONSTR,
+ TYPED: TYPED,
+ VIEW: VIEW
+ };
+ });
+
+ var _typed$1 = interopDefault(_typed);
+ var ABV = _typed.ABV;
+ var CONSTR = _typed.CONSTR;
+ var TYPED = _typed.TYPED;
+ var VIEW = _typed.VIEW;
+
+var require$$33 = Object.freeze({
+ default: _typed$1,
+ ABV: ABV,
+ CONSTR: CONSTR,
+ TYPED: TYPED,
+ VIEW: VIEW
+ });
+
+ var _typedBuffer = createCommonjsModule(function (module, exports) {
+ 'use strict';
+
+ var global = interopDefault(require$$3),
+ DESCRIPTORS = interopDefault(require$$1),
+ LIBRARY = interopDefault(require$$2$4),
+ $typed = interopDefault(require$$33),
+ hide = interopDefault(require$$2),
+ redefineAll = interopDefault(require$$3$7),
+ fails = interopDefault(require$$1$1),
+ anInstance = interopDefault(require$$4$6),
+ toInteger = interopDefault(require$$26),
+ toLength = interopDefault(require$$3$1),
+ gOPN = interopDefault(require$$3$3).f,
+ dP = interopDefault(require$$2$1).f,
+ arrayFill = interopDefault(require$$3$5),
+ setToStringTag = interopDefault(require$$0$3),
+ ARRAY_BUFFER = 'ArrayBuffer',
+ DATA_VIEW = 'DataView',
+ PROTOTYPE = 'prototype',
+ WRONG_LENGTH = 'Wrong length!',
+ WRONG_INDEX = 'Wrong index!',
+ $ArrayBuffer = global[ARRAY_BUFFER],
+ $DataView = global[DATA_VIEW],
+ Math = global.Math,
+ RangeError = global.RangeError,
+ Infinity = global.Infinity,
+ BaseBuffer = $ArrayBuffer,
+ abs = Math.abs,
+ pow = Math.pow,
+ floor = Math.floor,
+ log = Math.log,
+ LN2 = Math.LN2,
+ BUFFER = 'buffer',
+ BYTE_LENGTH = 'byteLength',
+ BYTE_OFFSET = 'byteOffset',
+ $BUFFER = DESCRIPTORS ? '_b' : BUFFER,
+ $LENGTH = DESCRIPTORS ? '_l' : BYTE_LENGTH,
+ $OFFSET = DESCRIPTORS ? '_o' : BYTE_OFFSET;
+
+ // IEEE754 conversions based on https://github.com/feross/ieee754
+ var packIEEE754 = function packIEEE754(value, mLen, nBytes) {
+ var buffer = Array(nBytes),
+ eLen = nBytes * 8 - mLen - 1,
+ eMax = (1 << eLen) - 1,
+ eBias = eMax >> 1,
+ rt = mLen === 23 ? pow(2, -24) - pow(2, -77) : 0,
+ i = 0,
+ s = value < 0 || value === 0 && 1 / value < 0 ? 1 : 0,
+ e,
+ m,
+ c;
+ value = abs(value);
+ if (value != value || value === Infinity) {
+ m = value != value ? 1 : 0;
+ e = eMax;
+ } else {
+ e = floor(log(value) / LN2);
+ if (value * (c = pow(2, -e)) < 1) {
+ e--;
+ c *= 2;
+ }
+ if (e + eBias >= 1) {
+ value += rt / c;
+ } else {
+ value += rt * pow(2, 1 - eBias);
+ }
+ if (value * c >= 2) {
+ e++;
+ c /= 2;
+ }
+ if (e + eBias >= eMax) {
+ m = 0;
+ e = eMax;
+ } else if (e + eBias >= 1) {
+ m = (value * c - 1) * pow(2, mLen);
+ e = e + eBias;
+ } else {
+ m = value * pow(2, eBias - 1) * pow(2, mLen);
+ e = 0;
+ }
+ }
+ for (; mLen >= 8; buffer[i++] = m & 255, m /= 256, mLen -= 8) {}
+ e = e << mLen | m;
+ eLen += mLen;
+ for (; eLen > 0; buffer[i++] = e & 255, e /= 256, eLen -= 8) {}
+ buffer[--i] |= s * 128;
+ return buffer;
+ };
+ var unpackIEEE754 = function unpackIEEE754(buffer, mLen, nBytes) {
+ var eLen = nBytes * 8 - mLen - 1,
+ eMax = (1 << eLen) - 1,
+ eBias = eMax >> 1,
+ nBits = eLen - 7,
+ i = nBytes - 1,
+ s = buffer[i--],
+ e = s & 127,
+ m;
+ s >>= 7;
+ for (; nBits > 0; e = e * 256 + buffer[i], i--, nBits -= 8) {}
+ m = e & (1 << -nBits) - 1;
+ e >>= -nBits;
+ nBits += mLen;
+ for (; nBits > 0; m = m * 256 + buffer[i], i--, nBits -= 8) {}
+ if (e === 0) {
+ e = 1 - eBias;
+ } else if (e === eMax) {
+ return m ? NaN : s ? -Infinity : Infinity;
+ } else {
+ m = m + pow(2, mLen);
+ e = e - eBias;
+ }return (s ? -1 : 1) * m * pow(2, e - mLen);
+ };
+
+ var unpackI32 = function unpackI32(bytes) {
+ return bytes[3] << 24 | bytes[2] << 16 | bytes[1] << 8 | bytes[0];
+ };
+ var packI8 = function packI8(it) {
+ return [it & 0xff];
+ };
+ var packI16 = function packI16(it) {
+ return [it & 0xff, it >> 8 & 0xff];
+ };
+ var packI32 = function packI32(it) {
+ return [it & 0xff, it >> 8 & 0xff, it >> 16 & 0xff, it >> 24 & 0xff];
+ };
+ var packF64 = function packF64(it) {
+ return packIEEE754(it, 52, 8);
+ };
+ var packF32 = function packF32(it) {
+ return packIEEE754(it, 23, 4);
+ };
+
+ var addGetter = function addGetter(C, key, internal) {
+ dP(C[PROTOTYPE], key, { get: function get() {
+ return this[internal];
+ } });
+ };
+
+ var get = function get(view, bytes, index, isLittleEndian) {
+ var numIndex = +index,
+ intIndex = toInteger(numIndex);
+ if (numIndex != intIndex || intIndex < 0 || intIndex + bytes > view[$LENGTH]) throw RangeError(WRONG_INDEX);
+ var store = view[$BUFFER]._b,
+ start = intIndex + view[$OFFSET],
+ pack = store.slice(start, start + bytes);
+ return isLittleEndian ? pack : pack.reverse();
+ };
+ var set = function set(view, bytes, index, conversion, value, isLittleEndian) {
+ var numIndex = +index,
+ intIndex = toInteger(numIndex);
+ if (numIndex != intIndex || intIndex < 0 || intIndex + bytes > view[$LENGTH]) throw RangeError(WRONG_INDEX);
+ var store = view[$BUFFER]._b,
+ start = intIndex + view[$OFFSET],
+ pack = conversion(+value);
+ for (var i = 0; i < bytes; i++) {
+ store[start + i] = pack[isLittleEndian ? i : bytes - i - 1];
+ }
+ };
+
+ var validateArrayBufferArguments = function validateArrayBufferArguments(that, length) {
+ anInstance(that, $ArrayBuffer, ARRAY_BUFFER);
+ var numberLength = +length,
+ byteLength = toLength(numberLength);
+ if (numberLength != byteLength) throw RangeError(WRONG_LENGTH);
+ return byteLength;
+ };
+
+ if (!$typed.ABV) {
+ $ArrayBuffer = function ArrayBuffer(length) {
+ var byteLength = validateArrayBufferArguments(this, length);
+ this._b = arrayFill.call(Array(byteLength), 0);
+ this[$LENGTH] = byteLength;
+ };
+
+ $DataView = function DataView(buffer, byteOffset, byteLength) {
+ anInstance(this, $DataView, DATA_VIEW);
+ anInstance(buffer, $ArrayBuffer, DATA_VIEW);
+ var bufferLength = buffer[$LENGTH],
+ offset = toInteger(byteOffset);
+ if (offset < 0 || offset > bufferLength) throw RangeError('Wrong offset!');
+ byteLength = byteLength === undefined ? bufferLength - offset : toLength(byteLength);
+ if (offset + byteLength > bufferLength) throw RangeError(WRONG_LENGTH);
+ this[$BUFFER] = buffer;
+ this[$OFFSET] = offset;
+ this[$LENGTH] = byteLength;
+ };
+
+ if (DESCRIPTORS) {
+ addGetter($ArrayBuffer, BYTE_LENGTH, '_l');
+ addGetter($DataView, BUFFER, '_b');
+ addGetter($DataView, BYTE_LENGTH, '_l');
+ addGetter($DataView, BYTE_OFFSET, '_o');
+ }
+
+ redefineAll($DataView[PROTOTYPE], {
+ getInt8: function getInt8(byteOffset) {
+ return get(this, 1, byteOffset)[0] << 24 >> 24;
+ },
+ getUint8: function getUint8(byteOffset) {
+ return get(this, 1, byteOffset)[0];
+ },
+ getInt16: function getInt16(byteOffset /*, littleEndian */) {
+ var bytes = get(this, 2, byteOffset, arguments[1]);
+ return (bytes[1] << 8 | bytes[0]) << 16 >> 16;
+ },
+ getUint16: function getUint16(byteOffset /*, littleEndian */) {
+ var bytes = get(this, 2, byteOffset, arguments[1]);
+ return bytes[1] << 8 | bytes[0];
+ },
+ getInt32: function getInt32(byteOffset /*, littleEndian */) {
+ return unpackI32(get(this, 4, byteOffset, arguments[1]));
+ },
+ getUint32: function getUint32(byteOffset /*, littleEndian */) {
+ return unpackI32(get(this, 4, byteOffset, arguments[1])) >>> 0;
+ },
+ getFloat32: function getFloat32(byteOffset /*, littleEndian */) {
+ return unpackIEEE754(get(this, 4, byteOffset, arguments[1]), 23, 4);
+ },
+ getFloat64: function getFloat64(byteOffset /*, littleEndian */) {
+ return unpackIEEE754(get(this, 8, byteOffset, arguments[1]), 52, 8);
+ },
+ setInt8: function setInt8(byteOffset, value) {
+ set(this, 1, byteOffset, packI8, value);
+ },
+ setUint8: function setUint8(byteOffset, value) {
+ set(this, 1, byteOffset, packI8, value);
+ },
+ setInt16: function setInt16(byteOffset, value /*, littleEndian */) {
+ set(this, 2, byteOffset, packI16, value, arguments[2]);
+ },
+ setUint16: function setUint16(byteOffset, value /*, littleEndian */) {
+ set(this, 2, byteOffset, packI16, value, arguments[2]);
+ },
+ setInt32: function setInt32(byteOffset, value /*, littleEndian */) {
+ set(this, 4, byteOffset, packI32, value, arguments[2]);
+ },
+ setUint32: function setUint32(byteOffset, value /*, littleEndian */) {
+ set(this, 4, byteOffset, packI32, value, arguments[2]);
+ },
+ setFloat32: function setFloat32(byteOffset, value /*, littleEndian */) {
+ set(this, 4, byteOffset, packF32, value, arguments[2]);
+ },
+ setFloat64: function setFloat64(byteOffset, value /*, littleEndian */) {
+ set(this, 8, byteOffset, packF64, value, arguments[2]);
+ }
+ });
+ } else {
+ if (!fails(function () {
+ new $ArrayBuffer(); // eslint-disable-line no-new
+ }) || !fails(function () {
+ new $ArrayBuffer(.5); // eslint-disable-line no-new
+ })) {
+ $ArrayBuffer = function ArrayBuffer(length) {
+ return new BaseBuffer(validateArrayBufferArguments(this, length));
+ };
+ var ArrayBufferProto = $ArrayBuffer[PROTOTYPE] = BaseBuffer[PROTOTYPE];
+ for (var keys = gOPN(BaseBuffer), j = 0, key; keys.length > j;) {
+ if (!((key = keys[j++]) in $ArrayBuffer)) hide($ArrayBuffer, key, BaseBuffer[key]);
+ };
+ if (!LIBRARY) ArrayBufferProto.constructor = $ArrayBuffer;
+ }
+ // iOS Safari 7.x bug
+ var view = new $DataView(new $ArrayBuffer(2)),
+ $setInt8 = $DataView[PROTOTYPE].setInt8;
+ view.setInt8(0, 2147483648);
+ view.setInt8(1, 2147483649);
+ if (view.getInt8(0) || !view.getInt8(1)) redefineAll($DataView[PROTOTYPE], {
+ setInt8: function setInt8(byteOffset, value) {
+ $setInt8.call(this, byteOffset, value << 24 >> 24);
+ },
+ setUint8: function setUint8(byteOffset, value) {
+ $setInt8.call(this, byteOffset, value << 24 >> 24);
+ }
+ }, true);
+ }
+ setToStringTag($ArrayBuffer, ARRAY_BUFFER);
+ setToStringTag($DataView, DATA_VIEW);
+ hide($DataView[PROTOTYPE], $typed.VIEW, true);
+ exports[ARRAY_BUFFER] = $ArrayBuffer;
+ exports[DATA_VIEW] = $DataView;
+ });
+
+ var _typedBuffer$1 = interopDefault(_typedBuffer);
+
+var require$$32 = Object.freeze({
+ default: _typedBuffer$1
+ });
+
+ var es6_typed_arrayBuffer = createCommonjsModule(function (module) {
+ 'use strict';
+
+ var $export = interopDefault(require$$1$2),
+ $typed = interopDefault(require$$33),
+ buffer = interopDefault(require$$32),
+ anObject = interopDefault(require$$5),
+ toIndex = interopDefault(require$$24),
+ toLength = interopDefault(require$$3$1),
+ isObject = interopDefault(require$$0$1),
+ ArrayBuffer = interopDefault(require$$3).ArrayBuffer,
+ speciesConstructor = interopDefault(require$$8),
+ $ArrayBuffer = buffer.ArrayBuffer,
+ $DataView = buffer.DataView,
+ $isView = $typed.ABV && ArrayBuffer.isView,
+ $slice = $ArrayBuffer.prototype.slice,
+ VIEW = $typed.VIEW,
+ ARRAY_BUFFER = 'ArrayBuffer';
+
+ $export($export.G + $export.W + $export.F * (ArrayBuffer !== $ArrayBuffer), { ArrayBuffer: $ArrayBuffer });
+
+ $export($export.S + $export.F * !$typed.CONSTR, ARRAY_BUFFER, {
+ // 24.1.3.1 ArrayBuffer.isView(arg)
+ isView: function isView(it) {
+ return $isView && $isView(it) || isObject(it) && VIEW in it;
+ }
+ });
+
+ $export($export.P + $export.U + $export.F * interopDefault(require$$1$1)(function () {
+ return !new $ArrayBuffer(2).slice(1, undefined).byteLength;
+ }), ARRAY_BUFFER, {
+ // 24.1.4.3 ArrayBuffer.prototype.slice(start, end)
+ slice: function slice(start, end) {
+ if ($slice !== undefined && end === undefined) return $slice.call(anObject(this), start); // FF fix
+ var len = anObject(this).byteLength,
+ first = toIndex(start, len),
+ final = toIndex(end === undefined ? len : end, len),
+ result = new (speciesConstructor(this, $ArrayBuffer))(toLength(final - first)),
+ viewS = new $DataView(this),
+ viewT = new $DataView(result),
+ index = 0;
+ while (first < final) {
+ viewT.setUint8(index++, viewS.getUint8(first++));
+ }return result;
+ }
+ });
+
+ interopDefault(require$$0$35)(ARRAY_BUFFER);
+ });
+
+ interopDefault(es6_typed_arrayBuffer);
+
+ var es6_typed_dataView = createCommonjsModule(function (module) {
+ var $export = interopDefault(require$$1$2);
+ $export($export.G + $export.W + $export.F * !interopDefault(require$$33).ABV, {
+ DataView: interopDefault(require$$32).DataView
+ });
+ });
+
+ interopDefault(es6_typed_dataView);
+
+ var _typedArray = createCommonjsModule(function (module) {
+ 'use strict';
+
+ if (interopDefault(require$$1)) {
+ var LIBRARY = interopDefault(require$$2$4),
+ global = interopDefault(require$$3),
+ fails = interopDefault(require$$1$1),
+ $export = interopDefault(require$$1$2),
+ $typed = interopDefault(require$$33),
+ $buffer = interopDefault(require$$32),
+ ctx = interopDefault(require$$31),
+ anInstance = interopDefault(require$$4$6),
+ propertyDesc = interopDefault(require$$2$3),
+ hide = interopDefault(require$$2),
+ redefineAll = interopDefault(require$$3$7),
+ toInteger = interopDefault(require$$26),
+ toLength = interopDefault(require$$3$1),
+ toIndex = interopDefault(require$$24),
+ toPrimitive = interopDefault(require$$4$1),
+ has = interopDefault(require$$4),
+ same = interopDefault(require$$21),
+ classof = interopDefault(require$$1$11),
+ isObject = interopDefault(require$$0$1),
+ toObject = interopDefault(require$$5$1),
+ isArrayIter = interopDefault(require$$17),
+ create = interopDefault(require$$6$1),
+ getPrototypeOf = interopDefault(require$$0$13),
+ gOPN = interopDefault(require$$3$3).f,
+ getIterFn = interopDefault(require$$13),
+ uid = interopDefault(require$$12),
+ wks = interopDefault(require$$0$4),
+ createArrayMethod = interopDefault(require$$10),
+ createArrayIncludes = interopDefault(require$$1$9),
+ speciesConstructor = interopDefault(require$$8),
+ ArrayIterators = interopDefault(require$$5$3),
+ Iterators = interopDefault(require$$1$15),
+ $iterDetect = interopDefault(require$$5$2),
+ setSpecies = interopDefault(require$$0$35),
+ arrayFill = interopDefault(require$$3$5),
+ arrayCopyWithin = interopDefault(require$$2$9),
+ $DP = interopDefault(require$$2$1),
+ $GOPD = interopDefault(require$$2$7),
+ dP = $DP.f,
+ gOPD = $GOPD.f,
+ RangeError = global.RangeError,
+ TypeError = global.TypeError,
+ Uint8Array = global.Uint8Array,
+ ARRAY_BUFFER = 'ArrayBuffer',
+ SHARED_BUFFER = 'Shared' + ARRAY_BUFFER,
+ BYTES_PER_ELEMENT = 'BYTES_PER_ELEMENT',
+ PROTOTYPE = 'prototype',
+ ArrayProto = Array[PROTOTYPE],
+ $ArrayBuffer = $buffer.ArrayBuffer,
+ $DataView = $buffer.DataView,
+ arrayForEach = createArrayMethod(0),
+ arrayFilter = createArrayMethod(2),
+ arraySome = createArrayMethod(3),
+ arrayEvery = createArrayMethod(4),
+ arrayFind = createArrayMethod(5),
+ arrayFindIndex = createArrayMethod(6),
+ arrayIncludes = createArrayIncludes(true),
+ arrayIndexOf = createArrayIncludes(false),
+ arrayValues = ArrayIterators.values,
+ arrayKeys = ArrayIterators.keys,
+ arrayEntries = ArrayIterators.entries,
+ arrayLastIndexOf = ArrayProto.lastIndexOf,
+ arrayReduce = ArrayProto.reduce,
+ arrayReduceRight = ArrayProto.reduceRight,
+ arrayJoin = ArrayProto.join,
+ arraySort = ArrayProto.sort,
+ arraySlice = ArrayProto.slice,
+ arrayToString = ArrayProto.toString,
+ arrayToLocaleString = ArrayProto.toLocaleString,
+ ITERATOR = wks('iterator'),
+ TAG = wks('toStringTag'),
+ TYPED_CONSTRUCTOR = uid('typed_constructor'),
+ DEF_CONSTRUCTOR = uid('def_constructor'),
+ ALL_CONSTRUCTORS = $typed.CONSTR,
+ TYPED_ARRAY = $typed.TYPED,
+ VIEW = $typed.VIEW,
+ WRONG_LENGTH = 'Wrong length!';
+
+ var $map = createArrayMethod(1, function (O, length) {
+ return allocate(speciesConstructor(O, O[DEF_CONSTRUCTOR]), length);
+ });
+
+ var LITTLE_ENDIAN = fails(function () {
+ return new Uint8Array(new Uint16Array([1]).buffer)[0] === 1;
+ });
+
+ var FORCED_SET = !!Uint8Array && !!Uint8Array[PROTOTYPE].set && fails(function () {
+ new Uint8Array(1).set({});
+ });
+
+ var strictToLength = function strictToLength(it, SAME) {
+ if (it === undefined) throw TypeError(WRONG_LENGTH);
+ var number = +it,
+ length = toLength(it);
+ if (SAME && !same(number, length)) throw RangeError(WRONG_LENGTH);
+ return length;
+ };
+
+ var toOffset = function toOffset(it, BYTES) {
+ var offset = toInteger(it);
+ if (offset < 0 || offset % BYTES) throw RangeError('Wrong offset!');
+ return offset;
+ };
+
+ var validate = function validate(it) {
+ if (isObject(it) && TYPED_ARRAY in it) return it;
+ throw TypeError(it + ' is not a typed array!');
+ };
+
+ var allocate = function allocate(C, length) {
+ if (!(isObject(C) && TYPED_CONSTRUCTOR in C)) {
+ throw TypeError('It is not a typed array constructor!');
+ }return new C(length);
+ };
+
+ var speciesFromList = function speciesFromList(O, list) {
+ return fromList(speciesConstructor(O, O[DEF_CONSTRUCTOR]), list);
+ };
+
+ var fromList = function fromList(C, list) {
+ var index = 0,
+ length = list.length,
+ result = allocate(C, length);
+ while (length > index) {
+ result[index] = list[index++];
+ }return result;
+ };
+
+ var addGetter = function addGetter(it, key, internal) {
+ dP(it, key, { get: function get() {
+ return this._d[internal];
+ } });
+ };
+
+ var $from = function from(source /*, mapfn, thisArg */) {
+ var O = toObject(source),
+ aLen = arguments.length,
+ mapfn = aLen > 1 ? arguments[1] : undefined,
+ mapping = mapfn !== undefined,
+ iterFn = getIterFn(O),
+ i,
+ length,
+ values,
+ result,
+ step,
+ iterator;
+ if (iterFn != undefined && !isArrayIter(iterFn)) {
+ for (iterator = iterFn.call(O), values = [], i = 0; !(step = iterator.next()).done; i++) {
+ values.push(step.value);
+ }O = values;
+ }
+ if (mapping && aLen > 2) mapfn = ctx(mapfn, arguments[2], 2);
+ for (i = 0, length = toLength(O.length), result = allocate(this, length); length > i; i++) {
+ result[i] = mapping ? mapfn(O[i], i) : O[i];
+ }
+ return result;
+ };
+
+ var $of = function of() /*...items*/{
+ var index = 0,
+ length = arguments.length,
+ result = allocate(this, length);
+ while (length > index) {
+ result[index] = arguments[index++];
+ }return result;
+ };
+
+ // iOS Safari 6.x fails here
+ var TO_LOCALE_BUG = !!Uint8Array && fails(function () {
+ arrayToLocaleString.call(new Uint8Array(1));
+ });
+
+ var $toLocaleString = function toLocaleString() {
+ return arrayToLocaleString.apply(TO_LOCALE_BUG ? arraySlice.call(validate(this)) : validate(this), arguments);
+ };
+
+ var proto = {
+ copyWithin: function copyWithin(target, start /*, end */) {
+ return arrayCopyWithin.call(validate(this), target, start, arguments.length > 2 ? arguments[2] : undefined);
+ },
+ every: function every(callbackfn /*, thisArg */) {
+ return arrayEvery(validate(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);
+ },
+ fill: function fill(value /*, start, end */) {
+ // eslint-disable-line no-unused-vars
+ return arrayFill.apply(validate(this), arguments);
+ },
+ filter: function filter(callbackfn /*, thisArg */) {
+ return speciesFromList(this, arrayFilter(validate(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined));
+ },
+ find: function find(predicate /*, thisArg */) {
+ return arrayFind(validate(this), predicate, arguments.length > 1 ? arguments[1] : undefined);
+ },
+ findIndex: function findIndex(predicate /*, thisArg */) {
+ return arrayFindIndex(validate(this), predicate, arguments.length > 1 ? arguments[1] : undefined);
+ },
+ forEach: function forEach(callbackfn /*, thisArg */) {
+ arrayForEach(validate(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);
+ },
+ indexOf: function indexOf(searchElement /*, fromIndex */) {
+ return arrayIndexOf(validate(this), searchElement, arguments.length > 1 ? arguments[1] : undefined);
+ },
+ includes: function includes(searchElement /*, fromIndex */) {
+ return arrayIncludes(validate(this), searchElement, arguments.length > 1 ? arguments[1] : undefined);
+ },
+ join: function join(separator) {
+ // eslint-disable-line no-unused-vars
+ return arrayJoin.apply(validate(this), arguments);
+ },
+ lastIndexOf: function lastIndexOf(searchElement /*, fromIndex */) {
+ // eslint-disable-line no-unused-vars
+ return arrayLastIndexOf.apply(validate(this), arguments);
+ },
+ map: function map(mapfn /*, thisArg */) {
+ return $map(validate(this), mapfn, arguments.length > 1 ? arguments[1] : undefined);
+ },
+ reduce: function reduce(callbackfn /*, initialValue */) {
+ // eslint-disable-line no-unused-vars
+ return arrayReduce.apply(validate(this), arguments);
+ },
+ reduceRight: function reduceRight(callbackfn /*, initialValue */) {
+ // eslint-disable-line no-unused-vars
+ return arrayReduceRight.apply(validate(this), arguments);
+ },
+ reverse: function reverse() {
+ var that = this,
+ length = validate(that).length,
+ middle = Math.floor(length / 2),
+ index = 0,
+ value;
+ while (index < middle) {
+ value = that[index];
+ that[index++] = that[--length];
+ that[length] = value;
+ }return that;
+ },
+ some: function some(callbackfn /*, thisArg */) {
+ return arraySome(validate(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);
+ },
+ sort: function sort(comparefn) {
+ return arraySort.call(validate(this), comparefn);
+ },
+ subarray: function subarray(begin, end) {
+ var O = validate(this),
+ length = O.length,
+ $begin = toIndex(begin, length);
+ return new (speciesConstructor(O, O[DEF_CONSTRUCTOR]))(O.buffer, O.byteOffset + $begin * O.BYTES_PER_ELEMENT, toLength((end === undefined ? length : toIndex(end, length)) - $begin));
+ }
+ };
+
+ var $slice = function slice(start, end) {
+ return speciesFromList(this, arraySlice.call(validate(this), start, end));
+ };
+
+ var $set = function set(arrayLike /*, offset */) {
+ validate(this);
+ var offset = toOffset(arguments[1], 1),
+ length = this.length,
+ src = toObject(arrayLike),
+ len = toLength(src.length),
+ index = 0;
+ if (len + offset > length) throw RangeError(WRONG_LENGTH);
+ while (index < len) {
+ this[offset + index] = src[index++];
+ }
+ };
+
+ var $iterators = {
+ entries: function entries() {
+ return arrayEntries.call(validate(this));
+ },
+ keys: function keys() {
+ return arrayKeys.call(validate(this));
+ },
+ values: function values() {
+ return arrayValues.call(validate(this));
+ }
+ };
+
+ var isTAIndex = function isTAIndex(target, key) {
+ return isObject(target) && target[TYPED_ARRAY] && (typeof key === 'undefined' ? 'undefined' : _typeof(key)) != 'symbol' && key in target && String(+key) == String(key);
+ };
+ var $getDesc = function getOwnPropertyDescriptor(target, key) {
+ return isTAIndex(target, key = toPrimitive(key, true)) ? propertyDesc(2, target[key]) : gOPD(target, key);
+ };
+ var $setDesc = function defineProperty(target, key, desc) {
+ if (isTAIndex(target, key = toPrimitive(key, true)) && isObject(desc) && has(desc, 'value') && !has(desc, 'get') && !has(desc, 'set')
+ // TODO: add validation descriptor w/o calling accessors
+ && !desc.configurable && (!has(desc, 'writable') || desc.writable) && (!has(desc, 'enumerable') || desc.enumerable)) {
+ target[key] = desc.value;
+ return target;
+ } else return dP(target, key, desc);
+ };
+
+ if (!ALL_CONSTRUCTORS) {
+ $GOPD.f = $getDesc;
+ $DP.f = $setDesc;
+ }
+
+ $export($export.S + $export.F * !ALL_CONSTRUCTORS, 'Object', {
+ getOwnPropertyDescriptor: $getDesc,
+ defineProperty: $setDesc
+ });
+
+ if (fails(function () {
+ arrayToString.call({});
+ })) {
+ arrayToString = arrayToLocaleString = function toString() {
+ return arrayJoin.call(this);
+ };
+ }
+
+ var $TypedArrayPrototype$ = redefineAll({}, proto);
+ redefineAll($TypedArrayPrototype$, $iterators);
+ hide($TypedArrayPrototype$, ITERATOR, $iterators.values);
+ redefineAll($TypedArrayPrototype$, {
+ slice: $slice,
+ set: $set,
+ constructor: function constructor() {/* noop */},
+ toString: arrayToString,
+ toLocaleString: $toLocaleString
+ });
+ addGetter($TypedArrayPrototype$, 'buffer', 'b');
+ addGetter($TypedArrayPrototype$, 'byteOffset', 'o');
+ addGetter($TypedArrayPrototype$, 'byteLength', 'l');
+ addGetter($TypedArrayPrototype$, 'length', 'e');
+ dP($TypedArrayPrototype$, TAG, {
+ get: function get() {
+ return this[TYPED_ARRAY];
+ }
+ });
+
+ module.exports = function (KEY, BYTES, wrapper, CLAMPED) {
+ CLAMPED = !!CLAMPED;
+ var NAME = KEY + (CLAMPED ? 'Clamped' : '') + 'Array',
+ ISNT_UINT8 = NAME != 'Uint8Array',
+ GETTER = 'get' + KEY,
+ SETTER = 'set' + KEY,
+ TypedArray = global[NAME],
+ Base = TypedArray || {},
+ TAC = TypedArray && getPrototypeOf(TypedArray),
+ FORCED = !TypedArray || !$typed.ABV,
+ O = {},
+ TypedArrayPrototype = TypedArray && TypedArray[PROTOTYPE];
+ var getter = function getter(that, index) {
+ var data = that._d;
+ return data.v[GETTER](index * BYTES + data.o, LITTLE_ENDIAN);
+ };
+ var setter = function setter(that, index, value) {
+ var data = that._d;
+ if (CLAMPED) value = (value = Math.round(value)) < 0 ? 0 : value > 0xff ? 0xff : value & 0xff;
+ data.v[SETTER](index * BYTES + data.o, value, LITTLE_ENDIAN);
+ };
+ var addElement = function addElement(that, index) {
+ dP(that, index, {
+ get: function get() {
+ return getter(this, index);
+ },
+ set: function set(value) {
+ return setter(this, index, value);
+ },
+ enumerable: true
+ });
+ };
+ if (FORCED) {
+ TypedArray = wrapper(function (that, data, $offset, $length) {
+ anInstance(that, TypedArray, NAME, '_d');
+ var index = 0,
+ offset = 0,
+ buffer,
+ byteLength,
+ length,
+ klass;
+ if (!isObject(data)) {
+ length = strictToLength(data, true);
+ byteLength = length * BYTES;
+ buffer = new $ArrayBuffer(byteLength);
+ } else if (data instanceof $ArrayBuffer || (klass = classof(data)) == ARRAY_BUFFER || klass == SHARED_BUFFER) {
+ buffer = data;
+ offset = toOffset($offset, BYTES);
+ var $len = data.byteLength;
+ if ($length === undefined) {
+ if ($len % BYTES) throw RangeError(WRONG_LENGTH);
+ byteLength = $len - offset;
+ if (byteLength < 0) throw RangeError(WRONG_LENGTH);
+ } else {
+ byteLength = toLength($length) * BYTES;
+ if (byteLength + offset > $len) throw RangeError(WRONG_LENGTH);
+ }
+ length = byteLength / BYTES;
+ } else if (TYPED_ARRAY in data) {
+ return fromList(TypedArray, data);
+ } else {
+ return $from.call(TypedArray, data);
+ }
+ hide(that, '_d', {
+ b: buffer,
+ o: offset,
+ l: byteLength,
+ e: length,
+ v: new $DataView(buffer)
+ });
+ while (index < length) {
+ addElement(that, index++);
+ }
+ });
+ TypedArrayPrototype = TypedArray[PROTOTYPE] = create($TypedArrayPrototype$);
+ hide(TypedArrayPrototype, 'constructor', TypedArray);
+ } else if (!$iterDetect(function (iter) {
+ // V8 works with iterators, but fails in many other cases
+ // https://code.google.com/p/v8/issues/detail?id=4552
+ new TypedArray(null); // eslint-disable-line no-new
+ new TypedArray(iter); // eslint-disable-line no-new
+ }, true)) {
+ TypedArray = wrapper(function (that, data, $offset, $length) {
+ anInstance(that, TypedArray, NAME);
+ var klass;
+ // `ws` module bug, temporarily remove validation length for Uint8Array
+ // https://github.com/websockets/ws/pull/645
+ if (!isObject(data)) return new Base(strictToLength(data, ISNT_UINT8));
+ if (data instanceof $ArrayBuffer || (klass = classof(data)) == ARRAY_BUFFER || klass == SHARED_BUFFER) {
+ return $length !== undefined ? new Base(data, toOffset($offset, BYTES), $length) : $offset !== undefined ? new Base(data, toOffset($offset, BYTES)) : new Base(data);
+ }
+ if (TYPED_ARRAY in data) return fromList(TypedArray, data);
+ return $from.call(TypedArray, data);
+ });
+ arrayForEach(TAC !== Function.prototype ? gOPN(Base).concat(gOPN(TAC)) : gOPN(Base), function (key) {
+ if (!(key in TypedArray)) hide(TypedArray, key, Base[key]);
+ });
+ TypedArray[PROTOTYPE] = TypedArrayPrototype;
+ if (!LIBRARY) TypedArrayPrototype.constructor = TypedArray;
+ }
+ var $nativeIterator = TypedArrayPrototype[ITERATOR],
+ CORRECT_ITER_NAME = !!$nativeIterator && ($nativeIterator.name == 'values' || $nativeIterator.name == undefined),
+ $iterator = $iterators.values;
+ hide(TypedArray, TYPED_CONSTRUCTOR, true);
+ hide(TypedArrayPrototype, TYPED_ARRAY, NAME);
+ hide(TypedArrayPrototype, VIEW, true);
+ hide(TypedArrayPrototype, DEF_CONSTRUCTOR, TypedArray);
+
+ if (CLAMPED ? new TypedArray(1)[TAG] != NAME : !(TAG in TypedArrayPrototype)) {
+ dP(TypedArrayPrototype, TAG, {
+ get: function get() {
+ return NAME;
+ }
+ });
+ }
+
+ O[NAME] = TypedArray;
+
+ $export($export.G + $export.W + $export.F * (TypedArray != Base), O);
+
+ $export($export.S, NAME, {
+ BYTES_PER_ELEMENT: BYTES,
+ from: $from,
+ of: $of
+ });
+
+ if (!(BYTES_PER_ELEMENT in TypedArrayPrototype)) hide(TypedArrayPrototype, BYTES_PER_ELEMENT, BYTES);
+
+ $export($export.P, NAME, proto);
+
+ setSpecies(NAME);
+
+ $export($export.P + $export.F * FORCED_SET, NAME, { set: $set });
+
+ $export($export.P + $export.F * !CORRECT_ITER_NAME, NAME, $iterators);
+
+ $export($export.P + $export.F * (TypedArrayPrototype.toString != arrayToString), NAME, { toString: arrayToString });
+
+ $export($export.P + $export.F * fails(function () {
+ new TypedArray(1).slice();
+ }), NAME, { slice: $slice });
+
+ $export($export.P + $export.F * (fails(function () {
+ return [1, 2].toLocaleString() != new TypedArray([1, 2]).toLocaleString();
+ }) || !fails(function () {
+ TypedArrayPrototype.toLocaleString.call([1, 2]);
+ })), NAME, { toLocaleString: $toLocaleString });
+
+ Iterators[NAME] = CORRECT_ITER_NAME ? $nativeIterator : $iterator;
+ if (!LIBRARY && !CORRECT_ITER_NAME) hide(TypedArrayPrototype, ITERATOR, $iterator);
+ };
+ } else module.exports = function () {/* empty */};
+ });
+
+ var _typedArray$1 = interopDefault(_typedArray);
+
+
+
+ var require$$0$39 = Object.freeze({
+ default: _typedArray$1
+ });
+
+ var es6_typed_int8Array = createCommonjsModule(function (module) {
+ interopDefault(require$$0$39)('Int8', 1, function (init) {
+ return function Int8Array(data, byteOffset, length) {
+ return init(this, data, byteOffset, length);
+ };
+ });
+ });
+
+ interopDefault(es6_typed_int8Array);
+
+ var es6_typed_uint8Array = createCommonjsModule(function (module) {
+ interopDefault(require$$0$39)('Uint8', 1, function (init) {
+ return function Uint8Array(data, byteOffset, length) {
+ return init(this, data, byteOffset, length);
+ };
+ });
+ });
+
+ interopDefault(es6_typed_uint8Array);
+
+ var es6_typed_uint8ClampedArray = createCommonjsModule(function (module) {
+ interopDefault(require$$0$39)('Uint8', 1, function (init) {
+ return function Uint8ClampedArray(data, byteOffset, length) {
+ return init(this, data, byteOffset, length);
+ };
+ }, true);
+ });
+
+ interopDefault(es6_typed_uint8ClampedArray);
+
+ var es6_typed_int16Array = createCommonjsModule(function (module) {
+ interopDefault(require$$0$39)('Int16', 2, function (init) {
+ return function Int16Array(data, byteOffset, length) {
+ return init(this, data, byteOffset, length);
+ };
+ });
+ });
+
+ interopDefault(es6_typed_int16Array);
+
+ var es6_typed_uint16Array = createCommonjsModule(function (module) {
+ interopDefault(require$$0$39)('Uint16', 2, function (init) {
+ return function Uint16Array(data, byteOffset, length) {
+ return init(this, data, byteOffset, length);
+ };
+ });
+ });
+
+ interopDefault(es6_typed_uint16Array);
+
+ var es6_typed_int32Array = createCommonjsModule(function (module) {
+ interopDefault(require$$0$39)('Int32', 4, function (init) {
+ return function Int32Array(data, byteOffset, length) {
+ return init(this, data, byteOffset, length);
+ };
+ });
+ });
+
+ interopDefault(es6_typed_int32Array);
+
+ var es6_typed_uint32Array = createCommonjsModule(function (module) {
+ interopDefault(require$$0$39)('Uint32', 4, function (init) {
+ return function Uint32Array(data, byteOffset, length) {
+ return init(this, data, byteOffset, length);
+ };
+ });
+ });
+
+ interopDefault(es6_typed_uint32Array);
+
+ var es6_typed_float32Array = createCommonjsModule(function (module) {
+ interopDefault(require$$0$39)('Float32', 4, function (init) {
+ return function Float32Array(data, byteOffset, length) {
+ return init(this, data, byteOffset, length);
+ };
+ });
+ });
+
+ interopDefault(es6_typed_float32Array);
+
+ var es6_typed_float64Array = createCommonjsModule(function (module) {
+ interopDefault(require$$0$39)('Float64', 8, function (init) {
+ return function Float64Array(data, byteOffset, length) {
+ return init(this, data, byteOffset, length);
+ };
+ });
+ });
+
+ interopDefault(es6_typed_float64Array);
+
+ var es6_reflect_apply = createCommonjsModule(function (module) {
+ // 26.1.1 Reflect.apply(target, thisArgument, argumentsList)
+ var $export = interopDefault(require$$1$2),
+ aFunction = interopDefault(require$$0$2),
+ anObject = interopDefault(require$$5),
+ rApply = (interopDefault(require$$3).Reflect || {}).apply,
+ fApply = Function.apply;
+ // MS Edge argumentsList argument is optional
+ $export($export.S + $export.F * !interopDefault(require$$1$1)(function () {
+ rApply(function () {});
+ }), 'Reflect', {
+ apply: function apply(target, thisArgument, argumentsList) {
+ var T = aFunction(target),
+ L = anObject(argumentsList);
+ return rApply ? rApply(T, thisArgument, L) : fApply.call(T, thisArgument, L);
+ }
+ });
+ });
+
+ interopDefault(es6_reflect_apply);
+
+ var es6_reflect_construct = createCommonjsModule(function (module) {
+ // 26.1.2 Reflect.construct(target, argumentsList [, newTarget])
+ var $export = interopDefault(require$$1$2),
+ create = interopDefault(require$$6$1),
+ aFunction = interopDefault(require$$0$2),
+ anObject = interopDefault(require$$5),
+ isObject = interopDefault(require$$0$1),
+ fails = interopDefault(require$$1$1),
+ bind = interopDefault(require$$1$12),
+ rConstruct = (interopDefault(require$$3).Reflect || {}).construct;
+
+ // MS Edge supports only 2 arguments and argumentsList argument is optional
+ // FF Nightly sets third argument as `new.target`, but does not create `this` from it
+ var NEW_TARGET_BUG = fails(function () {
+ function F() {}
+ return !(rConstruct(function () {}, [], F) instanceof F);
+ });
+ var ARGS_BUG = !fails(function () {
+ rConstruct(function () {});
+ });
+
+ $export($export.S + $export.F * (NEW_TARGET_BUG || ARGS_BUG), 'Reflect', {
+ construct: function construct(Target, args /*, newTarget*/) {
+ aFunction(Target);
+ anObject(args);
+ var newTarget = arguments.length < 3 ? Target : aFunction(arguments[2]);
+ if (ARGS_BUG && !NEW_TARGET_BUG) return rConstruct(Target, args, newTarget);
+ if (Target == newTarget) {
+ // w/o altered newTarget, optimization for 0-4 arguments
+ switch (args.length) {
+ case 0:
+ return new Target();
+ case 1:
+ return new Target(args[0]);
+ case 2:
+ return new Target(args[0], args[1]);
+ case 3:
+ return new Target(args[0], args[1], args[2]);
+ case 4:
+ return new Target(args[0], args[1], args[2], args[3]);
+ }
+ // w/o altered newTarget, lot of arguments case
+ var $args = [null];
+ $args.push.apply($args, args);
+ return new (bind.apply(Target, $args))();
+ }
+ // with altered newTarget, not support built-in constructors
+ var proto = newTarget.prototype,
+ instance = create(isObject(proto) ? proto : Object.prototype),
+ result = Function.apply.call(Target, instance, args);
+ return isObject(result) ? result : instance;
+ }
+ });
+ });
+
+ interopDefault(es6_reflect_construct);
+
+ var es6_reflect_defineProperty = createCommonjsModule(function (module) {
+ // 26.1.3 Reflect.defineProperty(target, propertyKey, attributes)
+ var dP = interopDefault(require$$2$1),
+ $export = interopDefault(require$$1$2),
+ anObject = interopDefault(require$$5),
+ toPrimitive = interopDefault(require$$4$1);
+
+ // MS Edge has broken Reflect.defineProperty - throwing instead of returning false
+ $export($export.S + $export.F * interopDefault(require$$1$1)(function () {
+ Reflect.defineProperty(dP.f({}, 1, { value: 1 }), 1, { value: 2 });
+ }), 'Reflect', {
+ defineProperty: function defineProperty(target, propertyKey, attributes) {
+ anObject(target);
+ propertyKey = toPrimitive(propertyKey, true);
+ anObject(attributes);
+ try {
+ dP.f(target, propertyKey, attributes);
+ return true;
+ } catch (e) {
+ return false;
+ }
+ }
+ });
+ });
+
+ interopDefault(es6_reflect_defineProperty);
+
+ var es6_reflect_deleteProperty = createCommonjsModule(function (module) {
+ // 26.1.4 Reflect.deleteProperty(target, propertyKey)
+ var $export = interopDefault(require$$1$2),
+ gOPD = interopDefault(require$$2$7).f,
+ anObject = interopDefault(require$$5);
+
+ $export($export.S, 'Reflect', {
+ deleteProperty: function deleteProperty(target, propertyKey) {
+ var desc = gOPD(anObject(target), propertyKey);
+ return desc && !desc.configurable ? false : delete target[propertyKey];
+ }
+ });
+ });
+
+ interopDefault(es6_reflect_deleteProperty);
+
+ var es6_reflect_enumerate = createCommonjsModule(function (module) {
+ 'use strict';
+ // 26.1.5 Reflect.enumerate(target)
+
+ var $export = interopDefault(require$$1$2),
+ anObject = interopDefault(require$$5);
+ var Enumerate = function Enumerate(iterated) {
+ this._t = anObject(iterated); // target
+ this._i = 0; // next index
+ var keys = this._k = [] // keys
+ ,
+ key;
+ for (key in iterated) {
+ keys.push(key);
+ }
+ };
+ interopDefault(require$$0$26)(Enumerate, 'Object', function () {
+ var that = this,
+ keys = that._k,
+ key;
+ do {
+ if (that._i >= keys.length) return { value: undefined, done: true };
+ } while (!((key = keys[that._i++]) in that._t));
+ return { value: key, done: false };
+ });
+
+ $export($export.S, 'Reflect', {
+ enumerate: function enumerate(target) {
+ return new Enumerate(target);
+ }
+ });
+ });
+
+ interopDefault(es6_reflect_enumerate);
+
+ var es6_reflect_get = createCommonjsModule(function (module) {
+ // 26.1.6 Reflect.get(target, propertyKey [, receiver])
+ var gOPD = interopDefault(require$$2$7),
+ getPrototypeOf = interopDefault(require$$0$13),
+ has = interopDefault(require$$4),
+ $export = interopDefault(require$$1$2),
+ isObject = interopDefault(require$$0$1),
+ anObject = interopDefault(require$$5);
+
+ function get(target, propertyKey /*, receiver*/) {
+ var receiver = arguments.length < 3 ? target : arguments[2],
+ desc,
+ proto;
+ if (anObject(target) === receiver) return target[propertyKey];
+ if (desc = gOPD.f(target, propertyKey)) return has(desc, 'value') ? desc.value : desc.get !== undefined ? desc.get.call(receiver) : undefined;
+ if (isObject(proto = getPrototypeOf(target))) return get(proto, propertyKey, receiver);
+ }
+
+ $export($export.S, 'Reflect', { get: get });
+ });
+
+ interopDefault(es6_reflect_get);
+
+ var es6_reflect_getOwnPropertyDescriptor = createCommonjsModule(function (module) {
+ // 26.1.7 Reflect.getOwnPropertyDescriptor(target, propertyKey)
+ var gOPD = interopDefault(require$$2$7),
+ $export = interopDefault(require$$1$2),
+ anObject = interopDefault(require$$5);
+
+ $export($export.S, 'Reflect', {
+ getOwnPropertyDescriptor: function getOwnPropertyDescriptor(target, propertyKey) {
+ return gOPD.f(anObject(target), propertyKey);
+ }
+ });
+ });
+
+ interopDefault(es6_reflect_getOwnPropertyDescriptor);
+
+ var es6_reflect_getPrototypeOf = createCommonjsModule(function (module) {
+ // 26.1.8 Reflect.getPrototypeOf(target)
+ var $export = interopDefault(require$$1$2),
+ getProto = interopDefault(require$$0$13),
+ anObject = interopDefault(require$$5);
+
+ $export($export.S, 'Reflect', {
+ getPrototypeOf: function getPrototypeOf(target) {
+ return getProto(anObject(target));
+ }
+ });
+ });
+
+ interopDefault(es6_reflect_getPrototypeOf);
+
+ var es6_reflect_has = createCommonjsModule(function (module) {
+ // 26.1.9 Reflect.has(target, propertyKey)
+ var $export = interopDefault(require$$1$2);
+
+ $export($export.S, 'Reflect', {
+ has: function has(target, propertyKey) {
+ return propertyKey in target;
+ }
+ });
+ });
+
+ interopDefault(es6_reflect_has);
+
+ var es6_reflect_isExtensible = createCommonjsModule(function (module) {
+ // 26.1.10 Reflect.isExtensible(target)
+ var $export = interopDefault(require$$1$2),
+ anObject = interopDefault(require$$5),
+ $isExtensible = Object.isExtensible;
+
+ $export($export.S, 'Reflect', {
+ isExtensible: function isExtensible(target) {
+ anObject(target);
+ return $isExtensible ? $isExtensible(target) : true;
+ }
+ });
+ });
+
+ interopDefault(es6_reflect_isExtensible);
+
+ var _ownKeys = createCommonjsModule(function (module) {
+ // all object keys, includes non-enumerable and symbols
+ var gOPN = interopDefault(require$$3$3),
+ gOPS = interopDefault(require$$2$6),
+ anObject = interopDefault(require$$5),
+ Reflect = interopDefault(require$$3).Reflect;
+ module.exports = Reflect && Reflect.ownKeys || function ownKeys(it) {
+ var keys = gOPN.f(anObject(it)),
+ getSymbols = gOPS.f;
+ return getSymbols ? keys.concat(getSymbols(it)) : keys;
+ };
+ });
+
+ var _ownKeys$1 = interopDefault(_ownKeys);
+
+var require$$3$9 = Object.freeze({
+ default: _ownKeys$1
+ });
+
+ var es6_reflect_ownKeys = createCommonjsModule(function (module) {
+ // 26.1.11 Reflect.ownKeys(target)
+ var $export = interopDefault(require$$1$2);
+
+ $export($export.S, 'Reflect', { ownKeys: interopDefault(require$$3$9) });
+ });
+
+ interopDefault(es6_reflect_ownKeys);
+
+ var es6_reflect_preventExtensions = createCommonjsModule(function (module) {
+ // 26.1.12 Reflect.preventExtensions(target)
+ var $export = interopDefault(require$$1$2),
+ anObject = interopDefault(require$$5),
+ $preventExtensions = Object.preventExtensions;
+
+ $export($export.S, 'Reflect', {
+ preventExtensions: function preventExtensions(target) {
+ anObject(target);
+ try {
+ if ($preventExtensions) $preventExtensions(target);
+ return true;
+ } catch (e) {
+ return false;
+ }
+ }
+ });
+ });
+
+ interopDefault(es6_reflect_preventExtensions);
+
+ var es6_reflect_set = createCommonjsModule(function (module) {
+ // 26.1.13 Reflect.set(target, propertyKey, V [, receiver])
+ var dP = interopDefault(require$$2$1),
+ gOPD = interopDefault(require$$2$7),
+ getPrototypeOf = interopDefault(require$$0$13),
+ has = interopDefault(require$$4),
+ $export = interopDefault(require$$1$2),
+ createDesc = interopDefault(require$$2$3),
+ anObject = interopDefault(require$$5),
+ isObject = interopDefault(require$$0$1);
+
+ function set(target, propertyKey, V /*, receiver*/) {
+ var receiver = arguments.length < 4 ? target : arguments[3],
+ ownDesc = gOPD.f(anObject(target), propertyKey),
+ existingDescriptor,
+ proto;
+ if (!ownDesc) {
+ if (isObject(proto = getPrototypeOf(target))) {
+ return set(proto, propertyKey, V, receiver);
+ }
+ ownDesc = createDesc(0);
+ }
+ if (has(ownDesc, 'value')) {
+ if (ownDesc.writable === false || !isObject(receiver)) return false;
+ existingDescriptor = gOPD.f(receiver, propertyKey) || createDesc(0);
+ existingDescriptor.value = V;
+ dP.f(receiver, propertyKey, existingDescriptor);
+ return true;
+ }
+ return ownDesc.set === undefined ? false : (ownDesc.set.call(receiver, V), true);
+ }
+
+ $export($export.S, 'Reflect', { set: set });
+ });
+
+ interopDefault(es6_reflect_set);
+
+ var es6_reflect_setPrototypeOf = createCommonjsModule(function (module) {
+ // 26.1.14 Reflect.setPrototypeOf(target, proto)
+ var $export = interopDefault(require$$1$2),
+ setProto = interopDefault(require$$0$14);
+
+ if (setProto) $export($export.S, 'Reflect', {
+ setPrototypeOf: function setPrototypeOf(target, proto) {
+ setProto.check(target, proto);
+ try {
+ setProto.set(target, proto);
+ return true;
+ } catch (e) {
+ return false;
+ }
+ }
+ });
+ });
+
+ interopDefault(es6_reflect_setPrototypeOf);
+
+ var es7_array_includes = createCommonjsModule(function (module) {
+ 'use strict';
+ // https://github.com/tc39/Array.prototype.includes
+
+ var $export = interopDefault(require$$1$2),
+ $includes = interopDefault(require$$1$9)(true);
+
+ $export($export.P, 'Array', {
+ includes: function includes(el /*, fromIndex = 0 */) {
+ return $includes(this, el, arguments.length > 1 ? arguments[1] : undefined);
+ }
+ });
+
+ interopDefault(require$$0$34)('includes');
+ });
+
+ interopDefault(es7_array_includes);
+
+ var es7_string_at = createCommonjsModule(function (module) {
+ 'use strict';
+ // https://github.com/mathiasbynens/String.prototype.at
+
+ var $export = interopDefault(require$$1$2),
+ $at = interopDefault(require$$0$25)(true);
+
+ $export($export.P, 'String', {
+ at: function at(pos) {
+ return $at(this, pos);
+ }
+ });
+ });
+
+ interopDefault(es7_string_at);
+
+ var _stringPad = createCommonjsModule(function (module) {
+ // https://github.com/tc39/proposal-string-pad-start-end
+ var toLength = interopDefault(require$$3$1),
+ repeat = interopDefault(require$$1$14),
+ defined = interopDefault(require$$4$3);
+
+ module.exports = function (that, maxLength, fillString, left) {
+ var S = String(defined(that)),
+ stringLength = S.length,
+ fillStr = fillString === undefined ? ' ' : String(fillString),
+ intMaxLength = toLength(maxLength);
+ if (intMaxLength <= stringLength || fillStr == '') return S;
+ var fillLen = intMaxLength - stringLength,
+ stringFiller = repeat.call(fillStr, Math.ceil(fillLen / fillStr.length));
+ if (stringFiller.length > fillLen) stringFiller = stringFiller.slice(0, fillLen);
+ return left ? stringFiller + S : S + stringFiller;
+ };
+ });
+
+ var _stringPad$1 = interopDefault(_stringPad);
+
+var require$$0$40 = Object.freeze({
+ default: _stringPad$1
+ });
+
+ var es7_string_padStart = createCommonjsModule(function (module) {
+ 'use strict';
+ // https://github.com/tc39/proposal-string-pad-start-end
+
+ var $export = interopDefault(require$$1$2),
+ $pad = interopDefault(require$$0$40);
+
+ $export($export.P, 'String', {
+ padStart: function padStart(maxLength /*, fillString = ' ' */) {
+ return $pad(this, maxLength, arguments.length > 1 ? arguments[1] : undefined, true);
+ }
+ });
+ });
+
+ interopDefault(es7_string_padStart);
+
+ var es7_string_padEnd = createCommonjsModule(function (module) {
+ 'use strict';
+ // https://github.com/tc39/proposal-string-pad-start-end
+
+ var $export = interopDefault(require$$1$2),
+ $pad = interopDefault(require$$0$40);
+
+ $export($export.P, 'String', {
+ padEnd: function padEnd(maxLength /*, fillString = ' ' */) {
+ return $pad(this, maxLength, arguments.length > 1 ? arguments[1] : undefined, false);
+ }
+ });
+ });
+
+ interopDefault(es7_string_padEnd);
+
+ var es7_string_trimLeft = createCommonjsModule(function (module) {
+ 'use strict';
+ // https://github.com/sebmarkbage/ecmascript-string-left-right-trim
+
+ interopDefault(require$$0$16)('trimLeft', function ($trim) {
+ return function trimLeft() {
+ return $trim(this, 1);
+ };
+ }, 'trimStart');
+ });
+
+ interopDefault(es7_string_trimLeft);
+
+ var es7_string_trimRight = createCommonjsModule(function (module) {
+ 'use strict';
+ // https://github.com/sebmarkbage/ecmascript-string-left-right-trim
+
+ interopDefault(require$$0$16)('trimRight', function ($trim) {
+ return function trimRight() {
+ return $trim(this, 2);
+ };
+ }, 'trimEnd');
+ });
+
+ interopDefault(es7_string_trimRight);
+
+ var es7_string_matchAll = createCommonjsModule(function (module) {
+ 'use strict';
+ // https://tc39.github.io/String.prototype.matchAll/
+
+ var $export = interopDefault(require$$1$2),
+ defined = interopDefault(require$$4$3),
+ toLength = interopDefault(require$$3$1),
+ isRegExp = interopDefault(require$$2$8),
+ getFlags = interopDefault(require$$1$18),
+ RegExpProto = RegExp.prototype;
+
+ var $RegExpStringIterator = function $RegExpStringIterator(regexp, string) {
+ this._r = regexp;
+ this._s = string;
+ };
+
+ interopDefault(require$$0$26)($RegExpStringIterator, 'RegExp String', function next() {
+ var match = this._r.exec(this._s);
+ return { value: match, done: match === null };
+ });
+
+ $export($export.P, 'String', {
+ matchAll: function matchAll(regexp) {
+ defined(this);
+ if (!isRegExp(regexp)) throw TypeError(regexp + ' is not a regexp!');
+ var S = String(this),
+ flags = 'flags' in RegExpProto ? String(regexp.flags) : getFlags.call(regexp),
+ rx = new RegExp(regexp.source, ~flags.indexOf('g') ? flags : 'g' + flags);
+ rx.lastIndex = toLength(regexp.lastIndex);
+ return new $RegExpStringIterator(rx, S);
+ }
+ });
+ });
+
+ interopDefault(es7_string_matchAll);
+
+ var es7_symbol_asyncIterator = createCommonjsModule(function (module) {
+ interopDefault(require$$0$5)('asyncIterator');
+ });
+
+ interopDefault(es7_symbol_asyncIterator);
+
+ var es7_symbol_observable = createCommonjsModule(function (module) {
+ interopDefault(require$$0$5)('observable');
+ });
+
+ interopDefault(es7_symbol_observable);
+
+ var es7_object_getOwnPropertyDescriptors = createCommonjsModule(function (module) {
+ // https://github.com/tc39/proposal-object-getownpropertydescriptors
+ var $export = interopDefault(require$$1$2),
+ ownKeys = interopDefault(require$$3$9),
+ toIObject = interopDefault(require$$1$7),
+ gOPD = interopDefault(require$$2$7),
+ createProperty = interopDefault(require$$0$30);
+
+ $export($export.S, 'Object', {
+ getOwnPropertyDescriptors: function getOwnPropertyDescriptors(object) {
+ var O = toIObject(object),
+ getDesc = gOPD.f,
+ keys = ownKeys(O),
+ result = {},
+ i = 0,
+ key;
+ while (keys.length > i) {
+ createProperty(result, key = keys[i++], getDesc(O, key));
+ }return result;
+ }
+ });
+ });
+
+ interopDefault(es7_object_getOwnPropertyDescriptors);
+
+ var _objectToArray = createCommonjsModule(function (module) {
+ var getKeys = interopDefault(require$$2$5),
+ toIObject = interopDefault(require$$1$7),
+ isEnum = interopDefault(require$$0$9).f;
+ module.exports = function (isEntries) {
+ return function (it) {
+ var O = toIObject(it),
+ keys = getKeys(O),
+ length = keys.length,
+ i = 0,
+ result = [],
+ key;
+ while (length > i) {
+ if (isEnum.call(O, key = keys[i++])) {
+ result.push(isEntries ? [key, O[key]] : O[key]);
+ }
+ }return result;
+ };
+ };
+ });
+
+ var _objectToArray$1 = interopDefault(_objectToArray);
+
+var require$$0$41 = Object.freeze({
+ default: _objectToArray$1
+ });
+
+ var es7_object_values = createCommonjsModule(function (module) {
+ // https://github.com/tc39/proposal-object-values-entries
+ var $export = interopDefault(require$$1$2),
+ $values = interopDefault(require$$0$41)(false);
+
+ $export($export.S, 'Object', {
+ values: function values(it) {
+ return $values(it);
+ }
+ });
+ });
+
+ interopDefault(es7_object_values);
+
+ var es7_object_entries = createCommonjsModule(function (module) {
+ // https://github.com/tc39/proposal-object-values-entries
+ var $export = interopDefault(require$$1$2),
+ $entries = interopDefault(require$$0$41)(true);
+
+ $export($export.S, 'Object', {
+ entries: function entries(it) {
+ return $entries(it);
+ }
+ });
+ });
+
+ interopDefault(es7_object_entries);
+
+ var _objectForcedPam = createCommonjsModule(function (module) {
+ // Forced replacement prototype accessors methods
+ module.exports = interopDefault(require$$2$4) || !interopDefault(require$$1$1)(function () {
+ var K = Math.random();
+ // In FF throws only define methods
+ __defineSetter__.call(null, K, function () {/* empty */});
+ delete interopDefault(require$$3)[K];
+ });
+ });
+
+ var _objectForcedPam$1 = interopDefault(_objectForcedPam);
+
+var require$$0$42 = Object.freeze({
+ default: _objectForcedPam$1
+ });
+
+ var es7_object_defineGetter = createCommonjsModule(function (module) {
+ 'use strict';
+
+ var $export = interopDefault(require$$1$2),
+ toObject = interopDefault(require$$5$1),
+ aFunction = interopDefault(require$$0$2),
+ $defineProperty = interopDefault(require$$2$1);
+
+ // B.2.2.2 Object.prototype.__defineGetter__(P, getter)
+ interopDefault(require$$1) && $export($export.P + interopDefault(require$$0$42), 'Object', {
+ __defineGetter__: function __defineGetter__(P, getter) {
+ $defineProperty.f(toObject(this), P, { get: aFunction(getter), enumerable: true, configurable: true });
+ }
+ });
+ });
+
+ interopDefault(es7_object_defineGetter);
+
+ var es7_object_defineSetter = createCommonjsModule(function (module) {
+ 'use strict';
+
+ var $export = interopDefault(require$$1$2),
+ toObject = interopDefault(require$$5$1),
+ aFunction = interopDefault(require$$0$2),
+ $defineProperty = interopDefault(require$$2$1);
+
+ // B.2.2.3 Object.prototype.__defineSetter__(P, setter)
+ interopDefault(require$$1) && $export($export.P + interopDefault(require$$0$42), 'Object', {
+ __defineSetter__: function __defineSetter__(P, setter) {
+ $defineProperty.f(toObject(this), P, { set: aFunction(setter), enumerable: true, configurable: true });
+ }
+ });
+ });
+
+ interopDefault(es7_object_defineSetter);
+
+ var es7_object_lookupGetter = createCommonjsModule(function (module) {
+ 'use strict';
+
+ var $export = interopDefault(require$$1$2),
+ toObject = interopDefault(require$$5$1),
+ toPrimitive = interopDefault(require$$4$1),
+ getPrototypeOf = interopDefault(require$$0$13),
+ getOwnPropertyDescriptor = interopDefault(require$$2$7).f;
+
+ // B.2.2.4 Object.prototype.__lookupGetter__(P)
+ interopDefault(require$$1) && $export($export.P + interopDefault(require$$0$42), 'Object', {
+ __lookupGetter__: function __lookupGetter__(P) {
+ var O = toObject(this),
+ K = toPrimitive(P, true),
+ D;
+ do {
+ if (D = getOwnPropertyDescriptor(O, K)) return D.get;
+ } while (O = getPrototypeOf(O));
+ }
+ });
+ });
+
+ interopDefault(es7_object_lookupGetter);
+
+ var es7_object_lookupSetter = createCommonjsModule(function (module) {
+ 'use strict';
+
+ var $export = interopDefault(require$$1$2),
+ toObject = interopDefault(require$$5$1),
+ toPrimitive = interopDefault(require$$4$1),
+ getPrototypeOf = interopDefault(require$$0$13),
+ getOwnPropertyDescriptor = interopDefault(require$$2$7).f;
+
+ // B.2.2.5 Object.prototype.__lookupSetter__(P)
+ interopDefault(require$$1) && $export($export.P + interopDefault(require$$0$42), 'Object', {
+ __lookupSetter__: function __lookupSetter__(P) {
+ var O = toObject(this),
+ K = toPrimitive(P, true),
+ D;
+ do {
+ if (D = getOwnPropertyDescriptor(O, K)) return D.set;
+ } while (O = getPrototypeOf(O));
+ }
+ });
+ });
+
+ interopDefault(es7_object_lookupSetter);
+
+ var _arrayFromIterable = createCommonjsModule(function (module) {
+ var forOf = interopDefault(require$$1$20);
+
+ module.exports = function (iter, ITERATOR) {
+ var result = [];
+ forOf(iter, false, result.push, result, ITERATOR);
+ return result;
+ };
+ });
+
+ var _arrayFromIterable$1 = interopDefault(_arrayFromIterable);
+
+var require$$3$10 = Object.freeze({
+ default: _arrayFromIterable$1
+ });
+
+ var _collectionToJson = createCommonjsModule(function (module) {
+ // https://github.com/DavidBruant/Map-Set.prototype.toJSON
+ var classof = interopDefault(require$$1$11),
+ from = interopDefault(require$$3$10);
+ module.exports = function (NAME) {
+ return function toJSON() {
+ if (classof(this) != NAME) throw TypeError(NAME + "#toJSON isn't generic");
+ return from(this);
+ };
+ };
+ });
+
+ var _collectionToJson$1 = interopDefault(_collectionToJson);
+
+var require$$0$43 = Object.freeze({
+ default: _collectionToJson$1
+ });
+
+ var es7_map_toJson = createCommonjsModule(function (module) {
+ // https://github.com/DavidBruant/Map-Set.prototype.toJSON
+ var $export = interopDefault(require$$1$2);
+
+ $export($export.P + $export.R, 'Map', { toJSON: interopDefault(require$$0$43)('Map') });
+ });
+
+ interopDefault(es7_map_toJson);
+
+ var es7_set_toJson = createCommonjsModule(function (module) {
+ // https://github.com/DavidBruant/Map-Set.prototype.toJSON
+ var $export = interopDefault(require$$1$2);
+
+ $export($export.P + $export.R, 'Set', { toJSON: interopDefault(require$$0$43)('Set') });
+ });
+
+ interopDefault(es7_set_toJson);
+
+ var es7_system_global = createCommonjsModule(function (module) {
+ // https://github.com/ljharb/proposal-global
+ var $export = interopDefault(require$$1$2);
+
+ $export($export.S, 'System', { global: interopDefault(require$$3) });
+ });
+
+ interopDefault(es7_system_global);
+
+ var es7_error_isError = createCommonjsModule(function (module) {
+ // https://github.com/ljharb/proposal-is-error
+ var $export = interopDefault(require$$1$2),
+ cof = interopDefault(require$$0$6);
+
+ $export($export.S, 'Error', {
+ isError: function isError(it) {
+ return cof(it) === 'Error';
+ }
+ });
+ });
+
+ interopDefault(es7_error_isError);
+
+ var es7_math_iaddh = createCommonjsModule(function (module) {
+ // https://gist.github.com/BrendanEich/4294d5c212a6d2254703
+ var $export = interopDefault(require$$1$2);
+
+ $export($export.S, 'Math', {
+ iaddh: function iaddh(x0, x1, y0, y1) {
+ var $x0 = x0 >>> 0,
+ $x1 = x1 >>> 0,
+ $y0 = y0 >>> 0;
+ return $x1 + (y1 >>> 0) + (($x0 & $y0 | ($x0 | $y0) & ~($x0 + $y0 >>> 0)) >>> 31) | 0;
+ }
+ });
+ });
+
+ interopDefault(es7_math_iaddh);
+
+ var es7_math_isubh = createCommonjsModule(function (module) {
+ // https://gist.github.com/BrendanEich/4294d5c212a6d2254703
+ var $export = interopDefault(require$$1$2);
+
+ $export($export.S, 'Math', {
+ isubh: function isubh(x0, x1, y0, y1) {
+ var $x0 = x0 >>> 0,
+ $x1 = x1 >>> 0,
+ $y0 = y0 >>> 0;
+ return $x1 - (y1 >>> 0) - ((~$x0 & $y0 | ~($x0 ^ $y0) & $x0 - $y0 >>> 0) >>> 31) | 0;
+ }
+ });
+ });
+
+ interopDefault(es7_math_isubh);
+
+ var es7_math_imulh = createCommonjsModule(function (module) {
+ // https://gist.github.com/BrendanEich/4294d5c212a6d2254703
+ var $export = interopDefault(require$$1$2);
+
+ $export($export.S, 'Math', {
+ imulh: function imulh(u, v) {
+ var UINT16 = 0xffff,
+ $u = +u,
+ $v = +v,
+ u0 = $u & UINT16,
+ v0 = $v & UINT16,
+ u1 = $u >> 16,
+ v1 = $v >> 16,
+ t = (u1 * v0 >>> 0) + (u0 * v0 >>> 16);
+ return u1 * v1 + (t >> 16) + ((u0 * v1 >>> 0) + (t & UINT16) >> 16);
+ }
+ });
+ });
+
+ interopDefault(es7_math_imulh);
+
+ var es7_math_umulh = createCommonjsModule(function (module) {
+ // https://gist.github.com/BrendanEich/4294d5c212a6d2254703
+ var $export = interopDefault(require$$1$2);
+
+ $export($export.S, 'Math', {
+ umulh: function umulh(u, v) {
+ var UINT16 = 0xffff,
+ $u = +u,
+ $v = +v,
+ u0 = $u & UINT16,
+ v0 = $v & UINT16,
+ u1 = $u >>> 16,
+ v1 = $v >>> 16,
+ t = (u1 * v0 >>> 0) + (u0 * v0 >>> 16);
+ return u1 * v1 + (t >>> 16) + ((u0 * v1 >>> 0) + (t & UINT16) >>> 16);
+ }
+ });
+ });
+
+ interopDefault(es7_math_umulh);
+
+ var _metadata = createCommonjsModule(function (module) {
+ var Map = interopDefault(require$$3$8),
+ $export = interopDefault(require$$1$2),
+ shared = interopDefault(require$$1$4)('metadata'),
+ store = shared.store || (shared.store = new (interopDefault(require$$0$38))());
+
+ var getOrCreateMetadataMap = function getOrCreateMetadataMap(target, targetKey, create) {
+ var targetMetadata = store.get(target);
+ if (!targetMetadata) {
+ if (!create) return undefined;
+ store.set(target, targetMetadata = new Map());
+ }
+ var keyMetadata = targetMetadata.get(targetKey);
+ if (!keyMetadata) {
+ if (!create) return undefined;
+ targetMetadata.set(targetKey, keyMetadata = new Map());
+ }return keyMetadata;
+ };
+ var ordinaryHasOwnMetadata = function ordinaryHasOwnMetadata(MetadataKey, O, P) {
+ var metadataMap = getOrCreateMetadataMap(O, P, false);
+ return metadataMap === undefined ? false : metadataMap.has(MetadataKey);
+ };
+ var ordinaryGetOwnMetadata = function ordinaryGetOwnMetadata(MetadataKey, O, P) {
+ var metadataMap = getOrCreateMetadataMap(O, P, false);
+ return metadataMap === undefined ? undefined : metadataMap.get(MetadataKey);
+ };
+ var ordinaryDefineOwnMetadata = function ordinaryDefineOwnMetadata(MetadataKey, MetadataValue, O, P) {
+ getOrCreateMetadataMap(O, P, true).set(MetadataKey, MetadataValue);
+ };
+ var ordinaryOwnMetadataKeys = function ordinaryOwnMetadataKeys(target, targetKey) {
+ var metadataMap = getOrCreateMetadataMap(target, targetKey, false),
+ keys = [];
+ if (metadataMap) metadataMap.forEach(function (_, key) {
+ keys.push(key);
+ });
+ return keys;
+ };
+ var toMetaKey = function toMetaKey(it) {
+ return it === undefined || (typeof it === 'undefined' ? 'undefined' : _typeof(it)) == 'symbol' ? it : String(it);
+ };
+ var exp = function exp(O) {
+ $export($export.S, 'Reflect', O);
+ };
+
+ module.exports = {
+ store: store,
+ map: getOrCreateMetadataMap,
+ has: ordinaryHasOwnMetadata,
+ get: ordinaryGetOwnMetadata,
+ set: ordinaryDefineOwnMetadata,
+ keys: ordinaryOwnMetadataKeys,
+ key: toMetaKey,
+ exp: exp
+ };
+ });
+
+ var _metadata$1 = interopDefault(_metadata);
+ var store = _metadata.store;
+ var map = _metadata.map;
+ var has = _metadata.has;
+ var get$1 = _metadata.get;
+ var set$3 = _metadata.set;
+ var keys = _metadata.keys;
+ var key = _metadata.key;
+ var exp = _metadata.exp;
+
+
+
+ var require$$2$10 = Object.freeze({
+ default: _metadata$1,
+ store: store,
+ map: map,
+ has: has,
+ get: get$1,
+ set: set$3,
+ keys: keys,
+ key: key,
+ exp: exp
+ });
+
+ var es7_reflect_defineMetadata = createCommonjsModule(function (module) {
+ var metadata = interopDefault(require$$2$10),
+ anObject = interopDefault(require$$5),
+ toMetaKey = metadata.key,
+ ordinaryDefineOwnMetadata = metadata.set;
+
+ metadata.exp({ defineMetadata: function defineMetadata(metadataKey, metadataValue, target, targetKey) {
+ ordinaryDefineOwnMetadata(metadataKey, metadataValue, anObject(target), toMetaKey(targetKey));
+ } });
+ });
+
+ interopDefault(es7_reflect_defineMetadata);
+
+ var es7_reflect_deleteMetadata = createCommonjsModule(function (module) {
+ var metadata = interopDefault(require$$2$10),
+ anObject = interopDefault(require$$5),
+ toMetaKey = metadata.key,
+ getOrCreateMetadataMap = metadata.map,
+ store = metadata.store;
+
+ metadata.exp({ deleteMetadata: function deleteMetadata(metadataKey, target /*, targetKey */) {
+ var targetKey = arguments.length < 3 ? undefined : toMetaKey(arguments[2]),
+ metadataMap = getOrCreateMetadataMap(anObject(target), targetKey, false);
+ if (metadataMap === undefined || !metadataMap['delete'](metadataKey)) return false;
+ if (metadataMap.size) return true;
+ var targetMetadata = store.get(target);
+ targetMetadata['delete'](targetKey);
+ return !!targetMetadata.size || store['delete'](target);
+ } });
+ });
+
+ interopDefault(es7_reflect_deleteMetadata);
+
+ var es7_reflect_getMetadata = createCommonjsModule(function (module) {
+ var metadata = interopDefault(require$$2$10),
+ anObject = interopDefault(require$$5),
+ getPrototypeOf = interopDefault(require$$0$13),
+ ordinaryHasOwnMetadata = metadata.has,
+ ordinaryGetOwnMetadata = metadata.get,
+ toMetaKey = metadata.key;
+
+ var ordinaryGetMetadata = function ordinaryGetMetadata(MetadataKey, O, P) {
+ var hasOwn = ordinaryHasOwnMetadata(MetadataKey, O, P);
+ if (hasOwn) return ordinaryGetOwnMetadata(MetadataKey, O, P);
+ var parent = getPrototypeOf(O);
+ return parent !== null ? ordinaryGetMetadata(MetadataKey, parent, P) : undefined;
+ };
+
+ metadata.exp({ getMetadata: function getMetadata(metadataKey, target /*, targetKey */) {
+ return ordinaryGetMetadata(metadataKey, anObject(target), arguments.length < 3 ? undefined : toMetaKey(arguments[2]));
+ } });
+ });
+
+ interopDefault(es7_reflect_getMetadata);
+
+ var es7_reflect_getMetadataKeys = createCommonjsModule(function (module) {
+ var Set = interopDefault(require$$4$7),
+ from = interopDefault(require$$3$10),
+ metadata = interopDefault(require$$2$10),
+ anObject = interopDefault(require$$5),
+ getPrototypeOf = interopDefault(require$$0$13),
+ ordinaryOwnMetadataKeys = metadata.keys,
+ toMetaKey = metadata.key;
+
+ var ordinaryMetadataKeys = function ordinaryMetadataKeys(O, P) {
+ var oKeys = ordinaryOwnMetadataKeys(O, P),
+ parent = getPrototypeOf(O);
+ if (parent === null) return oKeys;
+ var pKeys = ordinaryMetadataKeys(parent, P);
+ return pKeys.length ? oKeys.length ? from(new Set(oKeys.concat(pKeys))) : pKeys : oKeys;
+ };
+
+ metadata.exp({ getMetadataKeys: function getMetadataKeys(target /*, targetKey */) {
+ return ordinaryMetadataKeys(anObject(target), arguments.length < 2 ? undefined : toMetaKey(arguments[1]));
+ } });
+ });
+
+ interopDefault(es7_reflect_getMetadataKeys);
+
+ var es7_reflect_getOwnMetadata = createCommonjsModule(function (module) {
+ var metadata = interopDefault(require$$2$10),
+ anObject = interopDefault(require$$5),
+ ordinaryGetOwnMetadata = metadata.get,
+ toMetaKey = metadata.key;
+
+ metadata.exp({ getOwnMetadata: function getOwnMetadata(metadataKey, target /*, targetKey */) {
+ return ordinaryGetOwnMetadata(metadataKey, anObject(target), arguments.length < 3 ? undefined : toMetaKey(arguments[2]));
+ } });
+ });
+
+ interopDefault(es7_reflect_getOwnMetadata);
+
+ var es7_reflect_getOwnMetadataKeys = createCommonjsModule(function (module) {
+ var metadata = interopDefault(require$$2$10),
+ anObject = interopDefault(require$$5),
+ ordinaryOwnMetadataKeys = metadata.keys,
+ toMetaKey = metadata.key;
+
+ metadata.exp({ getOwnMetadataKeys: function getOwnMetadataKeys(target /*, targetKey */) {
+ return ordinaryOwnMetadataKeys(anObject(target), arguments.length < 2 ? undefined : toMetaKey(arguments[1]));
+ } });
+ });
+
+ interopDefault(es7_reflect_getOwnMetadataKeys);
+
+ var es7_reflect_hasMetadata = createCommonjsModule(function (module) {
+ var metadata = interopDefault(require$$2$10),
+ anObject = interopDefault(require$$5),
+ getPrototypeOf = interopDefault(require$$0$13),
+ ordinaryHasOwnMetadata = metadata.has,
+ toMetaKey = metadata.key;
+
+ var ordinaryHasMetadata = function ordinaryHasMetadata(MetadataKey, O, P) {
+ var hasOwn = ordinaryHasOwnMetadata(MetadataKey, O, P);
+ if (hasOwn) return true;
+ var parent = getPrototypeOf(O);
+ return parent !== null ? ordinaryHasMetadata(MetadataKey, parent, P) : false;
+ };
+
+ metadata.exp({ hasMetadata: function hasMetadata(metadataKey, target /*, targetKey */) {
+ return ordinaryHasMetadata(metadataKey, anObject(target), arguments.length < 3 ? undefined : toMetaKey(arguments[2]));
+ } });
+ });
+
+ interopDefault(es7_reflect_hasMetadata);
+
+ var es7_reflect_hasOwnMetadata = createCommonjsModule(function (module) {
+ var metadata = interopDefault(require$$2$10),
+ anObject = interopDefault(require$$5),
+ ordinaryHasOwnMetadata = metadata.has,
+ toMetaKey = metadata.key;
+
+ metadata.exp({ hasOwnMetadata: function hasOwnMetadata(metadataKey, target /*, targetKey */) {
+ return ordinaryHasOwnMetadata(metadataKey, anObject(target), arguments.length < 3 ? undefined : toMetaKey(arguments[2]));
+ } });
+ });
+
+ interopDefault(es7_reflect_hasOwnMetadata);
+
+ var es7_reflect_metadata = createCommonjsModule(function (module) {
+ var metadata = interopDefault(require$$2$10),
+ anObject = interopDefault(require$$5),
+ aFunction = interopDefault(require$$0$2),
+ toMetaKey = metadata.key,
+ ordinaryDefineOwnMetadata = metadata.set;
+
+ metadata.exp({ metadata: function metadata(metadataKey, metadataValue) {
+ return function decorator(target, targetKey) {
+ ordinaryDefineOwnMetadata(metadataKey, metadataValue, (targetKey !== undefined ? anObject : aFunction)(target), toMetaKey(targetKey));
+ };
+ } });
+ });
+
+ interopDefault(es7_reflect_metadata);
+
+ var es7_asap = createCommonjsModule(function (module) {
+ // https://github.com/rwaldron/tc39-notes/blob/master/es6/2014-09/sept-25.md#510-globalasap-for-enqueuing-a-microtask
+ var $export = interopDefault(require$$1$2),
+ microtask = interopDefault(require$$8$1)(),
+ process = interopDefault(require$$3).process,
+ isNode = interopDefault(require$$0$6)(process) == 'process';
+
+ $export($export.G, {
+ asap: function asap(fn) {
+ var domain = isNode && process.domain;
+ microtask(domain ? domain.bind(fn) : fn);
+ }
+ });
+ });
+
+ interopDefault(es7_asap);
+
+ var es7_observable = createCommonjsModule(function (module) {
+ 'use strict';
+ // https://github.com/zenparsing/es-observable
+
+ var $export = interopDefault(require$$1$2),
+ global = interopDefault(require$$3),
+ core = interopDefault(require$$0),
+ microtask = interopDefault(require$$8$1)(),
+ OBSERVABLE = interopDefault(require$$0$4)('observable'),
+ aFunction = interopDefault(require$$0$2),
+ anObject = interopDefault(require$$5),
+ anInstance = interopDefault(require$$4$6),
+ redefineAll = interopDefault(require$$3$7),
+ hide = interopDefault(require$$2),
+ forOf = interopDefault(require$$1$20),
+ RETURN = forOf.RETURN;
+
+ var getMethod = function getMethod(fn) {
+ return fn == null ? undefined : aFunction(fn);
+ };
+
+ var cleanupSubscription = function cleanupSubscription(subscription) {
+ var cleanup = subscription._c;
+ if (cleanup) {
+ subscription._c = undefined;
+ cleanup();
+ }
+ };
+
+ var subscriptionClosed = function subscriptionClosed(subscription) {
+ return subscription._o === undefined;
+ };
+
+ var closeSubscription = function closeSubscription(subscription) {
+ if (!subscriptionClosed(subscription)) {
+ subscription._o = undefined;
+ cleanupSubscription(subscription);
+ }
+ };
+
+ var Subscription = function Subscription(observer, subscriber) {
+ anObject(observer);
+ this._c = undefined;
+ this._o = observer;
+ observer = new SubscriptionObserver(this);
+ try {
+ var cleanup = subscriber(observer),
+ subscription = cleanup;
+ if (cleanup != null) {
+ if (typeof cleanup.unsubscribe === 'function') cleanup = function cleanup() {
+ subscription.unsubscribe();
+ };else aFunction(cleanup);
+ this._c = cleanup;
+ }
+ } catch (e) {
+ observer.error(e);
+ return;
+ }if (subscriptionClosed(this)) cleanupSubscription(this);
+ };
+
+ Subscription.prototype = redefineAll({}, {
+ unsubscribe: function unsubscribe() {
+ closeSubscription(this);
+ }
+ });
+
+ var SubscriptionObserver = function SubscriptionObserver(subscription) {
+ this._s = subscription;
+ };
+
+ SubscriptionObserver.prototype = redefineAll({}, {
+ next: function next(value) {
+ var subscription = this._s;
+ if (!subscriptionClosed(subscription)) {
+ var observer = subscription._o;
+ try {
+ var m = getMethod(observer.next);
+ if (m) return m.call(observer, value);
+ } catch (e) {
+ try {
+ closeSubscription(subscription);
+ } finally {
+ throw e;
+ }
+ }
+ }
+ },
+ error: function error(value) {
+ var subscription = this._s;
+ if (subscriptionClosed(subscription)) throw value;
+ var observer = subscription._o;
+ subscription._o = undefined;
+ try {
+ var m = getMethod(observer.error);
+ if (!m) throw value;
+ value = m.call(observer, value);
+ } catch (e) {
+ try {
+ cleanupSubscription(subscription);
+ } finally {
+ throw e;
+ }
+ }cleanupSubscription(subscription);
+ return value;
+ },
+ complete: function complete(value) {
+ var subscription = this._s;
+ if (!subscriptionClosed(subscription)) {
+ var observer = subscription._o;
+ subscription._o = undefined;
+ try {
+ var m = getMethod(observer.complete);
+ value = m ? m.call(observer, value) : undefined;
+ } catch (e) {
+ try {
+ cleanupSubscription(subscription);
+ } finally {
+ throw e;
+ }
+ }cleanupSubscription(subscription);
+ return value;
+ }
+ }
+ });
+
+ var $Observable = function Observable(subscriber) {
+ anInstance(this, $Observable, 'Observable', '_f')._f = aFunction(subscriber);
+ };
+
+ redefineAll($Observable.prototype, {
+ subscribe: function subscribe(observer) {
+ return new Subscription(observer, this._f);
+ },
+ forEach: function forEach(fn) {
+ var that = this;
+ return new (core.Promise || global.Promise)(function (resolve, reject) {
+ aFunction(fn);
+ var subscription = that.subscribe({
+ next: function next(value) {
+ try {
+ return fn(value);
+ } catch (e) {
+ reject(e);
+ subscription.unsubscribe();
+ }
+ },
+ error: reject,
+ complete: resolve
+ });
+ });
+ }
+ });
+
+ redefineAll($Observable, {
+ from: function from(x) {
+ var C = typeof this === 'function' ? this : $Observable;
+ var method = getMethod(anObject(x)[OBSERVABLE]);
+ if (method) {
+ var observable = anObject(method.call(x));
+ return observable.constructor === C ? observable : new C(function (observer) {
+ return observable.subscribe(observer);
+ });
+ }
+ return new C(function (observer) {
+ var done = false;
+ microtask(function () {
+ if (!done) {
+ try {
+ if (forOf(x, false, function (it) {
+ observer.next(it);
+ if (done) return RETURN;
+ }) === RETURN) return;
+ } catch (e) {
+ if (done) throw e;
+ observer.error(e);
+ return;
+ }observer.complete();
+ }
+ });
+ return function () {
+ done = true;
+ };
+ });
+ },
+ of: function of() {
+ for (var i = 0, l = arguments.length, items = Array(l); i < l;) {
+ items[i] = arguments[i++];
+ }return new (typeof this === 'function' ? this : $Observable)(function (observer) {
+ var done = false;
+ microtask(function () {
+ if (!done) {
+ for (var i = 0; i < items.length; ++i) {
+ observer.next(items[i]);
+ if (done) return;
+ }observer.complete();
+ }
+ });
+ return function () {
+ done = true;
+ };
+ });
+ }
+ });
+
+ hide($Observable.prototype, OBSERVABLE, function () {
+ return this;
+ });
+
+ $export($export.G, { Observable: $Observable });
+
+ interopDefault(require$$0$35)('Observable');
+ });
+
+ interopDefault(es7_observable);
+
+ var _path = createCommonjsModule(function (module) {
+ module.exports = interopDefault(require$$3);
+ });
+
+ var _path$1 = interopDefault(_path);
+
+var require$$2$11 = Object.freeze({
+ default: _path$1
+ });
+
+ var _partial = createCommonjsModule(function (module) {
+ 'use strict';
+
+ var path = interopDefault(require$$2$11),
+ invoke = interopDefault(require$$1$13),
+ aFunction = interopDefault(require$$0$2);
+ module.exports = function () /* ...pargs */{
+ var fn = aFunction(this),
+ length = arguments.length,
+ pargs = Array(length),
+ i = 0,
+ _ = path._,
+ holder = false;
+ while (length > i) {
+ if ((pargs[i] = arguments[i++]) === _) holder = true;
+ }return function () /* ...args */{
+ var that = this,
+ aLen = arguments.length,
+ j = 0,
+ k = 0,
+ args;
+ if (!holder && !aLen) return invoke(fn, pargs, that);
+ args = pargs.slice();
+ if (holder) for (; length > j; j++) {
+ if (args[j] === _) args[j] = arguments[k++];
+ }while (aLen > k) {
+ args.push(arguments[k++]);
+ }return invoke(fn, args, that);
+ };
+ };
+ });
+
+ var _partial$1 = interopDefault(_partial);
+
+var require$$0$44 = Object.freeze({
+ default: _partial$1
+ });
+
+ var web_timers = createCommonjsModule(function (module) {
+ // ie9- setTimeout & setInterval additional parameters fix
+ var global = interopDefault(require$$3),
+ $export = interopDefault(require$$1$2),
+ invoke = interopDefault(require$$1$13),
+ partial = interopDefault(require$$0$44),
+ navigator = global.navigator,
+ MSIE = !!navigator && /MSIE .\./.test(navigator.userAgent); // <- dirty ie9- check
+ var wrap = function wrap(set) {
+ return MSIE ? function (fn, time /*, ...args */) {
+ return set(invoke(partial, [].slice.call(arguments, 2), typeof fn == 'function' ? fn : Function(fn)), time);
+ } : set;
+ };
+ $export($export.G + $export.B + $export.F * MSIE, {
+ setTimeout: wrap(global.setTimeout),
+ setInterval: wrap(global.setInterval)
+ });
+ });
+
+ interopDefault(web_timers);
+
+ var web_immediate = createCommonjsModule(function (module) {
+ var $export = interopDefault(require$$1$2),
+ $task = interopDefault(require$$0$36);
+ $export($export.G + $export.B, {
+ setImmediate: $task.set,
+ clearImmediate: $task.clear
+ });
+ });
+
+ interopDefault(web_immediate);
+
+ var web_dom_iterable = createCommonjsModule(function (module) {
+ var $iterators = interopDefault(require$$5$3),
+ redefine = interopDefault(require$$4$2),
+ global = interopDefault(require$$3),
+ hide = interopDefault(require$$2),
+ Iterators = interopDefault(require$$1$15),
+ wks = interopDefault(require$$0$4),
+ ITERATOR = wks('iterator'),
+ TO_STRING_TAG = wks('toStringTag'),
+ ArrayValues = Iterators.Array;
+
+ for (var collections = ['NodeList', 'DOMTokenList', 'MediaList', 'StyleSheetList', 'CSSRuleList'], i = 0; i < 5; i++) {
+ var NAME = collections[i],
+ Collection = global[NAME],
+ proto = Collection && Collection.prototype,
+ key;
+ if (proto) {
+ if (!proto[ITERATOR]) hide(proto, ITERATOR, ArrayValues);
+ if (!proto[TO_STRING_TAG]) hide(proto, TO_STRING_TAG, NAME);
+ Iterators[NAME] = ArrayValues;
+ for (key in $iterators) {
+ if (!proto[key]) redefine(proto, key, $iterators[key], true);
+ }
+ }
+ }
+ });
+
+ interopDefault(web_dom_iterable);
+
+ var shim = createCommonjsModule(function (module) {
+ module.exports = interopDefault(require$$0);
+ });
+
+ interopDefault(shim);
+
+ var runtime = createCommonjsModule(function (module) {
+ /**
+ * Copyright (c) 2014, Facebook, Inc.
+ * All rights reserved.
+ *
+ * This source code is licensed under the BSD-style license found in the
+ * https://raw.github.com/facebook/regenerator/master/LICENSE file. An
+ * additional grant of patent rights can be found in the PATENTS file in
+ * the same directory.
+ */
+
+ !function (global) {
+ "use strict";
+
+ var hasOwn = Object.prototype.hasOwnProperty;
+ var undefined; // More compressible than void 0.
+ var $Symbol = typeof Symbol === "function" ? Symbol : {};
+ var iteratorSymbol = $Symbol.iterator || "@@iterator";
+ var toStringTagSymbol = $Symbol.toStringTag || "@@toStringTag";
+
+ var inModule = (typeof module === "undefined" ? "undefined" : _typeof(module)) === "object";
+ var runtime = global.regeneratorRuntime;
+ if (runtime) {
+ if (inModule) {
+ // If regeneratorRuntime is defined globally and we're in a module,
+ // make the exports object identical to regeneratorRuntime.
+ module.exports = runtime;
+ }
+ // Don't bother evaluating the rest of this file if the runtime was
+ // already defined globally.
+ return;
+ }
+
+ // Define the runtime globally (as expected by generated code) as either
+ // module.exports (if we're in a module) or a new, empty object.
+ runtime = global.regeneratorRuntime = inModule ? module.exports : {};
+
+ function wrap(innerFn, outerFn, self, tryLocsList) {
+ // If outerFn provided, then outerFn.prototype instanceof Generator.
+ var generator = Object.create((outerFn || Generator).prototype);
+ var context = new Context(tryLocsList || []);
+
+ // The ._invoke method unifies the implementations of the .next,
+ // .throw, and .return methods.
+ generator._invoke = makeInvokeMethod(innerFn, self, context);
+
+ return generator;
+ }
+ runtime.wrap = wrap;
+
+ // Try/catch helper to minimize deoptimizations. Returns a completion
+ // record like context.tryEntries[i].completion. This interface could
+ // have been (and was previously) designed to take a closure to be
+ // invoked without arguments, but in all the cases we care about we
+ // already have an existing method we want to call, so there's no need
+ // to create a new function object. We can even get away with assuming
+ // the method takes exactly one argument, since that happens to be true
+ // in every case, so we don't have to touch the arguments object. The
+ // only additional allocation required is the completion record, which
+ // has a stable shape and so hopefully should be cheap to allocate.
+ function tryCatch(fn, obj, arg) {
+ try {
+ return { type: "normal", arg: fn.call(obj, arg) };
+ } catch (err) {
+ return { type: "throw", arg: err };
+ }
+ }
+
+ var GenStateSuspendedStart = "suspendedStart";
+ var GenStateSuspendedYield = "suspendedYield";
+ var GenStateExecuting = "executing";
+ var GenStateCompleted = "completed";
+
+ // Returning this object from the innerFn has the same effect as
+ // breaking out of the dispatch switch statement.
+ var ContinueSentinel = {};
+
+ // Dummy constructor functions that we use as the .constructor and
+ // .constructor.prototype properties for functions that return Generator
+ // objects. For full spec compliance, you may wish to configure your
+ // minifier not to mangle the names of these two functions.
+ function Generator() {}
+ function GeneratorFunction() {}
+ function GeneratorFunctionPrototype() {}
+
+ var Gp = GeneratorFunctionPrototype.prototype = Generator.prototype;
+ GeneratorFunction.prototype = Gp.constructor = GeneratorFunctionPrototype;
+ GeneratorFunctionPrototype.constructor = GeneratorFunction;
+ GeneratorFunctionPrototype[toStringTagSymbol] = GeneratorFunction.displayName = "GeneratorFunction";
+
+ // Helper for defining the .next, .throw, and .return methods of the
+ // Iterator interface in terms of a single ._invoke method.
+ function defineIteratorMethods(prototype) {
+ ["next", "throw", "return"].forEach(function (method) {
+ prototype[method] = function (arg) {
+ return this._invoke(method, arg);
+ };
+ });
+ }
+
+ runtime.isGeneratorFunction = function (genFun) {
+ var ctor = typeof genFun === "function" && genFun.constructor;
+ return ctor ? ctor === GeneratorFunction ||
+ // For the native GeneratorFunction constructor, the best we can
+ // do is to check its .name property.
+ (ctor.displayName || ctor.name) === "GeneratorFunction" : false;
+ };
+
+ runtime.mark = function (genFun) {
+ if (Object.setPrototypeOf) {
+ Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);
+ } else {
+ genFun.__proto__ = GeneratorFunctionPrototype;
+ if (!(toStringTagSymbol in genFun)) {
+ genFun[toStringTagSymbol] = "GeneratorFunction";
+ }
+ }
+ genFun.prototype = Object.create(Gp);
+ return genFun;
+ };
+
+ // Within the body of any async function, `await x` is transformed to
+ // `yield regeneratorRuntime.awrap(x)`, so that the runtime can test
+ // `value instanceof AwaitArgument` to determine if the yielded value is
+ // meant to be awaited. Some may consider the name of this method too
+ // cutesy, but they are curmudgeons.
+ runtime.awrap = function (arg) {
+ return new AwaitArgument(arg);
+ };
+
+ function AwaitArgument(arg) {
+ this.arg = arg;
+ }
+
+ function AsyncIterator(generator) {
+ function invoke(method, arg, resolve, reject) {
+ var record = tryCatch(generator[method], generator, arg);
+ if (record.type === "throw") {
+ reject(record.arg);
+ } else {
+ var result = record.arg;
+ var value = result.value;
+ if (value instanceof AwaitArgument) {
+ return Promise.resolve(value.arg).then(function (value) {
+ invoke("next", value, resolve, reject);
+ }, function (err) {
+ invoke("throw", err, resolve, reject);
+ });
+ }
+
+ return Promise.resolve(value).then(function (unwrapped) {
+ // When a yielded Promise is resolved, its final value becomes
+ // the .value of the Promise<{value,done}> result for the
+ // current iteration. If the Promise is rejected, however, the
+ // result for this iteration will be rejected with the same
+ // reason. Note that rejections of yielded Promises are not
+ // thrown back into the generator function, as is the case
+ // when an awaited Promise is rejected. This difference in
+ // behavior between yield and await is important, because it
+ // allows the consumer to decide what to do with the yielded
+ // rejection (swallow it and continue, manually .throw it back
+ // into the generator, abandon iteration, whatever). With
+ // await, by contrast, there is no opportunity to examine the
+ // rejection reason outside the generator function, so the
+ // only option is to throw it from the await expression, and
+ // let the generator function handle the exception.
+ result.value = unwrapped;
+ resolve(result);
+ }, reject);
+ }
+ }
+
+ if ((typeof process === "undefined" ? "undefined" : _typeof(process)) === "object" && process.domain) {
+ invoke = process.domain.bind(invoke);
+ }
+
+ var previousPromise;
+
+ function enqueue(method, arg) {
+ function callInvokeWithMethodAndArg() {
+ return new Promise(function (resolve, reject) {
+ invoke(method, arg, resolve, reject);
+ });
+ }
+
+ return previousPromise =
+ // If enqueue has been called before, then we want to wait until
+ // all previous Promises have been resolved before calling invoke,
+ // so that results are always delivered in the correct order. If
+ // enqueue has not been called before, then it is important to
+ // call invoke immediately, without waiting on a callback to fire,
+ // so that the async generator function has the opportunity to do
+ // any necessary setup in a predictable way. This predictability
+ // is why the Promise constructor synchronously invokes its
+ // executor callback, and why async functions synchronously
+ // execute code before the first await. Since we implement simple
+ // async functions in terms of async generators, it is especially
+ // important to get this right, even though it requires care.
+ previousPromise ? previousPromise.then(callInvokeWithMethodAndArg,
+ // Avoid propagating failures to Promises returned by later
+ // invocations of the iterator.
+ callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg();
+ }
+
+ // Define the unified helper method that is used to implement .next,
+ // .throw, and .return (see defineIteratorMethods).
+ this._invoke = enqueue;
+ }
+
+ defineIteratorMethods(AsyncIterator.prototype);
+
+ // Note that simple async functions are implemented on top of
+ // AsyncIterator objects; they just return a Promise for the value of
+ // the final result produced by the iterator.
+ runtime.async = function (innerFn, outerFn, self, tryLocsList) {
+ var iter = new AsyncIterator(wrap(innerFn, outerFn, self, tryLocsList));
+
+ return runtime.isGeneratorFunction(outerFn) ? iter // If outerFn is a generator, return the full iterator.
+ : iter.next().then(function (result) {
+ return result.done ? result.value : iter.next();
+ });
+ };
+
+ function makeInvokeMethod(innerFn, self, context) {
+ var state = GenStateSuspendedStart;
+
+ return function invoke(method, arg) {
+ if (state === GenStateExecuting) {
+ throw new Error("Generator is already running");
+ }
+
+ if (state === GenStateCompleted) {
+ if (method === "throw") {
+ throw arg;
+ }
+
+ // Be forgiving, per 25.3.3.3.3 of the spec:
+ // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generatorresume
+ return doneResult();
+ }
+
+ while (true) {
+ var delegate = context.delegate;
+ if (delegate) {
+ if (method === "return" || method === "throw" && delegate.iterator[method] === undefined) {
+ // A return or throw (when the delegate iterator has no throw
+ // method) always terminates the yield* loop.
+ context.delegate = null;
+
+ // If the delegate iterator has a return method, give it a
+ // chance to clean up.
+ var returnMethod = delegate.iterator["return"];
+ if (returnMethod) {
+ var record = tryCatch(returnMethod, delegate.iterator, arg);
+ if (record.type === "throw") {
+ // If the return method threw an exception, let that
+ // exception prevail over the original return or throw.
+ method = "throw";
+ arg = record.arg;
+ continue;
+ }
+ }
+
+ if (method === "return") {
+ // Continue with the outer return, now that the delegate
+ // iterator has been terminated.
+ continue;
+ }
+ }
+
+ var record = tryCatch(delegate.iterator[method], delegate.iterator, arg);
+
+ if (record.type === "throw") {
+ context.delegate = null;
+
+ // Like returning generator.throw(uncaught), but without the
+ // overhead of an extra function call.
+ method = "throw";
+ arg = record.arg;
+ continue;
+ }
+
+ // Delegate generator ran and handled its own exceptions so
+ // regardless of what the method was, we continue as if it is
+ // "next" with an undefined arg.
+ method = "next";
+ arg = undefined;
+
+ var info = record.arg;
+ if (info.done) {
+ context[delegate.resultName] = info.value;
+ context.next = delegate.nextLoc;
+ } else {
+ state = GenStateSuspendedYield;
+ return info;
+ }
+
+ context.delegate = null;
+ }
+
+ if (method === "next") {
+ // Setting context._sent for legacy support of Babel's
+ // function.sent implementation.
+ context.sent = context._sent = arg;
+ } else if (method === "throw") {
+ if (state === GenStateSuspendedStart) {
+ state = GenStateCompleted;
+ throw arg;
+ }
+
+ if (context.dispatchException(arg)) {
+ // If the dispatched exception was caught by a catch block,
+ // then let that catch block handle the exception normally.
+ method = "next";
+ arg = undefined;
+ }
+ } else if (method === "return") {
+ context.abrupt("return", arg);
+ }
+
+ state = GenStateExecuting;
+
+ var record = tryCatch(innerFn, self, context);
+ if (record.type === "normal") {
+ // If an exception is thrown from innerFn, we leave state ===
+ // GenStateExecuting and loop back for another invocation.
+ state = context.done ? GenStateCompleted : GenStateSuspendedYield;
+
+ var info = {
+ value: record.arg,
+ done: context.done
+ };
+
+ if (record.arg === ContinueSentinel) {
+ if (context.delegate && method === "next") {
+ // Deliberately forget the last sent value so that we don't
+ // accidentally pass it on to the delegate.
+ arg = undefined;
+ }
+ } else {
+ return info;
+ }
+ } else if (record.type === "throw") {
+ state = GenStateCompleted;
+ // Dispatch the exception by looping back around to the
+ // context.dispatchException(arg) call above.
+ method = "throw";
+ arg = record.arg;
+ }
+ }
+ };
+ }
+
+ // Define Generator.prototype.{next,throw,return} in terms of the
+ // unified ._invoke helper method.
+ defineIteratorMethods(Gp);
+
+ Gp[iteratorSymbol] = function () {
+ return this;
+ };
+
+ Gp[toStringTagSymbol] = "Generator";
+
+ Gp.toString = function () {
+ return "[object Generator]";
+ };
+
+ function pushTryEntry(locs) {
+ var entry = { tryLoc: locs[0] };
+
+ if (1 in locs) {
+ entry.catchLoc = locs[1];
+ }
+
+ if (2 in locs) {
+ entry.finallyLoc = locs[2];
+ entry.afterLoc = locs[3];
+ }
+
+ this.tryEntries.push(entry);
+ }
+
+ function resetTryEntry(entry) {
+ var record = entry.completion || {};
+ record.type = "normal";
+ delete record.arg;
+ entry.completion = record;
+ }
+
+ function Context(tryLocsList) {
+ // The root entry object (effectively a try statement without a catch
+ // or a finally block) gives us a place to store values thrown from
+ // locations where there is no enclosing try statement.
+ this.tryEntries = [{ tryLoc: "root" }];
+ tryLocsList.forEach(pushTryEntry, this);
+ this.reset(true);
+ }
+
+ runtime.keys = function (object) {
+ var keys = [];
+ for (var key in object) {
+ keys.push(key);
+ }
+ keys.reverse();
+
+ // Rather than returning an object with a next method, we keep
+ // things simple and return the next function itself.
+ return function next() {
+ while (keys.length) {
+ var key = keys.pop();
+ if (key in object) {
+ next.value = key;
+ next.done = false;
+ return next;
+ }
+ }
+
+ // To avoid creating an additional object, we just hang the .value
+ // and .done properties off the next function object itself. This
+ // also ensures that the minifier will not anonymize the function.
+ next.done = true;
+ return next;
+ };
+ };
+
+ function values(iterable) {
+ if (iterable) {
+ var iteratorMethod = iterable[iteratorSymbol];
+ if (iteratorMethod) {
+ return iteratorMethod.call(iterable);
+ }
+
+ if (typeof iterable.next === "function") {
+ return iterable;
+ }
+
+ if (!isNaN(iterable.length)) {
+ var i = -1,
+ next = function next() {
+ while (++i < iterable.length) {
+ if (hasOwn.call(iterable, i)) {
+ next.value = iterable[i];
+ next.done = false;
+ return next;
+ }
+ }
+
+ next.value = undefined;
+ next.done = true;
+
+ return next;
+ };
+
+ return next.next = next;
+ }
+ }
+
+ // Return an iterator with no values.
+ return { next: doneResult };
+ }
+ runtime.values = values;
+
+ function doneResult() {
+ return { value: undefined, done: true };
+ }
+
+ Context.prototype = {
+ constructor: Context,
+
+ reset: function reset(skipTempReset) {
+ this.prev = 0;
+ this.next = 0;
+ // Resetting context._sent for legacy support of Babel's
+ // function.sent implementation.
+ this.sent = this._sent = undefined;
+ this.done = false;
+ this.delegate = null;
+
+ this.tryEntries.forEach(resetTryEntry);
+
+ if (!skipTempReset) {
+ for (var name in this) {
+ // Not sure about the optimal order of these conditions:
+ if (name.charAt(0) === "t" && hasOwn.call(this, name) && !isNaN(+name.slice(1))) {
+ this[name] = undefined;
+ }
+ }
+ }
+ },
+
+ stop: function stop() {
+ this.done = true;
+
+ var rootEntry = this.tryEntries[0];
+ var rootRecord = rootEntry.completion;
+ if (rootRecord.type === "throw") {
+ throw rootRecord.arg;
+ }
+
+ return this.rval;
+ },
+
+ dispatchException: function dispatchException(exception) {
+ if (this.done) {
+ throw exception;
+ }
+
+ var context = this;
+ function handle(loc, caught) {
+ record.type = "throw";
+ record.arg = exception;
+ context.next = loc;
+ return !!caught;
+ }
+
+ for (var i = this.tryEntries.length - 1; i >= 0; --i) {
+ var entry = this.tryEntries[i];
+ var record = entry.completion;
+
+ if (entry.tryLoc === "root") {
+ // Exception thrown outside of any try block that could handle
+ // it, so set the completion value of the entire function to
+ // throw the exception.
+ return handle("end");
+ }
+
+ if (entry.tryLoc <= this.prev) {
+ var hasCatch = hasOwn.call(entry, "catchLoc");
+ var hasFinally = hasOwn.call(entry, "finallyLoc");
+
+ if (hasCatch && hasFinally) {
+ if (this.prev < entry.catchLoc) {
+ return handle(entry.catchLoc, true);
+ } else if (this.prev < entry.finallyLoc) {
+ return handle(entry.finallyLoc);
+ }
+ } else if (hasCatch) {
+ if (this.prev < entry.catchLoc) {
+ return handle(entry.catchLoc, true);
+ }
+ } else if (hasFinally) {
+ if (this.prev < entry.finallyLoc) {
+ return handle(entry.finallyLoc);
+ }
+ } else {
+ throw new Error("try statement without catch or finally");
+ }
+ }
+ }
+ },
+
+ abrupt: function abrupt(type, arg) {
+ for (var i = this.tryEntries.length - 1; i >= 0; --i) {
+ var entry = this.tryEntries[i];
+ if (entry.tryLoc <= this.prev && hasOwn.call(entry, "finallyLoc") && this.prev < entry.finallyLoc) {
+ var finallyEntry = entry;
+ break;
+ }
+ }
+
+ if (finallyEntry && (type === "break" || type === "continue") && finallyEntry.tryLoc <= arg && arg <= finallyEntry.finallyLoc) {
+ // Ignore the finally entry if control is not jumping to a
+ // location outside the try/catch block.
+ finallyEntry = null;
+ }
+
+ var record = finallyEntry ? finallyEntry.completion : {};
+ record.type = type;
+ record.arg = arg;
+
+ if (finallyEntry) {
+ this.next = finallyEntry.finallyLoc;
+ } else {
+ this.complete(record);
+ }
+
+ return ContinueSentinel;
+ },
+
+ complete: function complete(record, afterLoc) {
+ if (record.type === "throw") {
+ throw record.arg;
+ }
+
+ if (record.type === "break" || record.type === "continue") {
+ this.next = record.arg;
+ } else if (record.type === "return") {
+ this.rval = record.arg;
+ this.next = "end";
+ } else if (record.type === "normal" && afterLoc) {
+ this.next = afterLoc;
+ }
+ },
+
+ finish: function finish(finallyLoc) {
+ for (var i = this.tryEntries.length - 1; i >= 0; --i) {
+ var entry = this.tryEntries[i];
+ if (entry.finallyLoc === finallyLoc) {
+ this.complete(entry.completion, entry.afterLoc);
+ resetTryEntry(entry);
+ return ContinueSentinel;
+ }
+ }
+ },
+
+ "catch": function _catch(tryLoc) {
+ for (var i = this.tryEntries.length - 1; i >= 0; --i) {
+ var entry = this.tryEntries[i];
+ if (entry.tryLoc === tryLoc) {
+ var record = entry.completion;
+ if (record.type === "throw") {
+ var thrown = record.arg;
+ resetTryEntry(entry);
+ }
+ return thrown;
+ }
+ }
+
+ // The context.catch method must only be called with a location
+ // argument that corresponds to a known catch block.
+ throw new Error("illegal catch attempt");
+ },
+
+ delegateYield: function delegateYield(iterable, resultName, nextLoc) {
+ this.delegate = {
+ iterator: values(iterable),
+ resultName: resultName,
+ nextLoc: nextLoc
+ };
+
+ return ContinueSentinel;
+ }
+ };
+ }(
+ // Among the various tricks for obtaining a reference to the global
+ // object, this seems to be the most reliable technique that does not
+ // use indirect eval (which violates Content Security Policy).
+ _typeof(commonjsGlobal) === "object" ? commonjsGlobal : (typeof window === "undefined" ? "undefined" : _typeof(window)) === "object" ? window : (typeof self === "undefined" ? "undefined" : _typeof(self)) === "object" ? self : commonjsGlobal);
+ });
+
+ interopDefault(runtime);
+
+ var _replacer = createCommonjsModule(function (module) {
+ module.exports = function (regExp, replace) {
+ var replacer = replace === Object(replace) ? function (part) {
+ return replace[part];
+ } : replace;
+ return function (it) {
+ return String(it).replace(regExp, replacer);
+ };
+ };
+ });
+
+ var _replacer$1 = interopDefault(_replacer);
+
+var require$$0$45 = Object.freeze({
+ default: _replacer$1
+ });
+
+ var core_regexp_escape = createCommonjsModule(function (module) {
+ // https://github.com/benjamingr/RexExp.escape
+ var $export = interopDefault(require$$1$2),
+ $re = interopDefault(require$$0$45)(/[\\^$*+?.()|[\]{}]/g, '\\$&');
+
+ $export($export.S, 'RegExp', { escape: function escape(it) {
+ return $re(it);
+ } });
+ });
+
+ interopDefault(core_regexp_escape);
+
+ var _escape = createCommonjsModule(function (module) {
+ module.exports = interopDefault(require$$0).RegExp.escape;
+ });
+
+ interopDefault(_escape);
+
+ var index = createCommonjsModule(function (module) {
+ "use strict";
+
+ /* eslint max-len: 0 */
+
+ if (commonjsGlobal._babelPolyfill) {
+ throw new Error("only one instance of babel-polyfill is allowed");
+ }
+ commonjsGlobal._babelPolyfill = true;
+
+ // Should be removed in the next major release:
+
+ var DEFINE_PROPERTY = "defineProperty";
+ function define(O, key, value) {
+ O[key] || Object[DEFINE_PROPERTY](O, key, {
+ writable: true,
+ configurable: true,
+ value: value
+ });
+ }
+
+ define(String.prototype, "padLeft", "".padStart);
+ define(String.prototype, "padRight", "".padEnd);
+
+ "pop,reverse,shift,keys,values,entries,indexOf,every,some,forEach,map,filter,find,findIndex,includes,join,slice,concat,push,splice,unshift,sort,lastIndexOf,reduce,reduceRight,copyWithin,fill".split(",").forEach(function (key) {
+ [][key] && define(Array, key, Function.call.bind([][key]));
+ });
+ });
+
+ interopDefault(index);
+
+ /*!
+ * Bootstrap v4.0.0-alpha.3 (http://getbootstrap.com)
+ * Copyright 2011-2016 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ */if(typeof jQuery==='undefined'){throw new Error('Bootstrap\'s JavaScript requires jQuery');}+function($){var version=$.fn.jquery.split(' ')[0].split('.');if(version[0]<2&&version[1]<9||version[0]==1&&version[1]==9&&version[2]<1||version[0]>=4){throw new Error('Bootstrap\'s JavaScript requires at least jQuery v1.9.1 but less than v4.0.0');}}(jQuery);+function($){/**
+ * --------------------------------------------------------------------------
+ * Bootstrap (v4.0.0-alpha.3): util.js
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ * --------------------------------------------------------------------------
+ */'use strict';var _get=function get(_x,_x2,_x3){var _again=true;_function:while(_again){var object=_x,property=_x2,receiver=_x3;_again=false;if(object===null)object=Function.prototype;var desc=Object.getOwnPropertyDescriptor(object,property);if(desc===undefined){var parent=Object.getPrototypeOf(object);if(parent===null){return undefined;}else{_x=parent;_x2=property;_x3=receiver;_again=true;desc=parent=undefined;continue _function;}}else if('value'in desc){return desc.value;}else{var getter=desc.get;if(getter===undefined){return undefined;}return getter.call(receiver);}}};var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if('value'in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor);}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties(Constructor.prototype,protoProps);if(staticProps)defineProperties(Constructor,staticProps);return Constructor;};}();function _inherits(subClass,superClass){if(typeof superClass!=='function'&&superClass!==null){throw new TypeError('Super expression must either be null or a function, not '+(typeof superClass==='undefined'?'undefined':_typeof(superClass)));}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:false,writable:true,configurable:true}});if(superClass)Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass;}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError('Cannot call a class as a function');}}var Util=function($){/**
+ * ------------------------------------------------------------------------
+ * Private TransitionEnd Helpers
+ * ------------------------------------------------------------------------
+ */var transition=false;var MAX_UID=1000000;var TransitionEndEvent={WebkitTransition:'webkitTransitionEnd',MozTransition:'transitionend',OTransition:'oTransitionEnd otransitionend',transition:'transitionend'};// shoutout AngusCroll (https://goo.gl/pxwQGp)
+ function toType(obj){return{}.toString.call(obj).match(/\s([a-zA-Z]+)/)[1].toLowerCase();}function isElement(obj){return(obj[0]||obj).nodeType;}function getSpecialTransitionEndEvent(){return{bindType:transition.end,delegateType:transition.end,handle:function handle(event){if($(event.target).is(this)){return event.handleObj.handler.apply(this,arguments);// eslint-disable-line prefer-rest-params
+ }return undefined;}};}function transitionEndTest(){if(window.QUnit){return false;}var el=document.createElement('bootstrap');for(var _name in TransitionEndEvent){if(el.style[_name]!==undefined){return{end:TransitionEndEvent[_name]};}}return false;}function transitionEndEmulator(duration){var _this=this;var called=false;$(this).one(Util.TRANSITION_END,function(){called=true;});setTimeout(function(){if(!called){Util.triggerTransitionEnd(_this);}},duration);return this;}function setTransitionEndSupport(){transition=transitionEndTest();$.fn.emulateTransitionEnd=transitionEndEmulator;if(Util.supportsTransitionEnd()){$.event.special[Util.TRANSITION_END]=getSpecialTransitionEndEvent();}}/**
+ * --------------------------------------------------------------------------
+ * Public Util Api
+ * --------------------------------------------------------------------------
+ */var Util={TRANSITION_END:'bsTransitionEnd',getUID:function getUID(prefix){do{/* eslint-disable no-bitwise */prefix+=~~(Math.random()*MAX_UID);// "~~" acts like a faster Math.floor() here
+ /* eslint-enable no-bitwise */}while(document.getElementById(prefix));return prefix;},getSelectorFromElement:function getSelectorFromElement(element){var selector=element.getAttribute('data-target');if(!selector){selector=element.getAttribute('href')||'';selector=/^#[a-z]/i.test(selector)?selector:null;}return selector;},reflow:function reflow(element){new Function('bs','return bs')(element.offsetHeight);},triggerTransitionEnd:function triggerTransitionEnd(element){$(element).trigger(transition.end);},supportsTransitionEnd:function supportsTransitionEnd(){return Boolean(transition);},typeCheckConfig:function typeCheckConfig(componentName,config,configTypes){for(var property in configTypes){if(configTypes.hasOwnProperty(property)){var expectedTypes=configTypes[property];var value=config[property];var valueType=undefined;if(value&&isElement(value)){valueType='element';}else{valueType=toType(value);}if(!new RegExp(expectedTypes).test(valueType)){throw new Error(componentName.toUpperCase()+': '+('Option "'+property+'" provided type "'+valueType+'" ')+('but expected type "'+expectedTypes+'".'));}}}}};setTransitionEndSupport();return Util;}(jQuery);/**
+ * --------------------------------------------------------------------------
+ * Bootstrap (v4.0.0-alpha.3): alert.js
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ * --------------------------------------------------------------------------
+ */var Alert=function($){/**
+ * ------------------------------------------------------------------------
+ * Constants
+ * ------------------------------------------------------------------------
+ */var NAME='alert';var VERSION='4.0.0-alpha.3';var DATA_KEY='bs.alert';var EVENT_KEY='.'+DATA_KEY;var DATA_API_KEY='.data-api';var JQUERY_NO_CONFLICT=$.fn[NAME];var TRANSITION_DURATION=150;var Selector={DISMISS:'[data-dismiss="alert"]'};var Event={CLOSE:'close'+EVENT_KEY,CLOSED:'closed'+EVENT_KEY,CLICK_DATA_API:'click'+EVENT_KEY+DATA_API_KEY};var ClassName={ALERT:'alert',FADE:'fade',IN:'in'};/**
+ * ------------------------------------------------------------------------
+ * Class Definition
+ * ------------------------------------------------------------------------
+ */var Alert=function(){function Alert(element){_classCallCheck(this,Alert);this._element=element;}/**
+ * ------------------------------------------------------------------------
+ * Data Api implementation
+ * ------------------------------------------------------------------------
+ */// getters
+ _createClass(Alert,[{key:'close',// public
+ value:function close(element){element=element||this._element;var rootElement=this._getRootElement(element);var customEvent=this._triggerCloseEvent(rootElement);if(customEvent.isDefaultPrevented()){return;}this._removeElement(rootElement);}},{key:'dispose',value:function dispose(){$.removeData(this._element,DATA_KEY);this._element=null;}// private
+ },{key:'_getRootElement',value:function _getRootElement(element){var selector=Util.getSelectorFromElement(element);var parent=false;if(selector){parent=$(selector)[0];}if(!parent){parent=$(element).closest('.'+ClassName.ALERT)[0];}return parent;}},{key:'_triggerCloseEvent',value:function _triggerCloseEvent(element){var closeEvent=$.Event(Event.CLOSE);$(element).trigger(closeEvent);return closeEvent;}},{key:'_removeElement',value:function _removeElement(element){$(element).removeClass(ClassName.IN);if(!Util.supportsTransitionEnd()||!$(element).hasClass(ClassName.FADE)){this._destroyElement(element);return;}$(element).one(Util.TRANSITION_END,$.proxy(this._destroyElement,this,element)).emulateTransitionEnd(TRANSITION_DURATION);}},{key:'_destroyElement',value:function _destroyElement(element){$(element).detach().trigger(Event.CLOSED).remove();}// static
+ }],[{key:'_jQueryInterface',value:function _jQueryInterface(config){return this.each(function(){var $element=$(this);var data=$element.data(DATA_KEY);if(!data){data=new Alert(this);$element.data(DATA_KEY,data);}if(config==='close'){data[config](this);}});}},{key:'_handleDismiss',value:function _handleDismiss(alertInstance){return function(event){if(event){event.preventDefault();}alertInstance.close(this);};}},{key:'VERSION',get:function get(){return VERSION;}}]);return Alert;}();$(document).on(Event.CLICK_DATA_API,Selector.DISMISS,Alert._handleDismiss(new Alert()));/**
+ * ------------------------------------------------------------------------
+ * jQuery
+ * ------------------------------------------------------------------------
+ */$.fn[NAME]=Alert._jQueryInterface;$.fn[NAME].Constructor=Alert;$.fn[NAME].noConflict=function(){$.fn[NAME]=JQUERY_NO_CONFLICT;return Alert._jQueryInterface;};return Alert;}(jQuery);/**
+ * --------------------------------------------------------------------------
+ * Bootstrap (v4.0.0-alpha.3): button.js
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ * --------------------------------------------------------------------------
+ */var Button=function($){/**
+ * ------------------------------------------------------------------------
+ * Constants
+ * ------------------------------------------------------------------------
+ */var NAME='button';var VERSION='4.0.0-alpha.3';var DATA_KEY='bs.button';var EVENT_KEY='.'+DATA_KEY;var DATA_API_KEY='.data-api';var JQUERY_NO_CONFLICT=$.fn[NAME];var ClassName={ACTIVE:'active',BUTTON:'btn',FOCUS:'focus'};var Selector={DATA_TOGGLE_CARROT:'[data-toggle^="button"]',DATA_TOGGLE:'[data-toggle="buttons"]',INPUT:'input',ACTIVE:'.active',BUTTON:'.btn'};var Event={CLICK_DATA_API:'click'+EVENT_KEY+DATA_API_KEY,FOCUS_BLUR_DATA_API:'focus'+EVENT_KEY+DATA_API_KEY+' '+('blur'+EVENT_KEY+DATA_API_KEY)};/**
+ * ------------------------------------------------------------------------
+ * Class Definition
+ * ------------------------------------------------------------------------
+ */var Button=function(){function Button(element){_classCallCheck(this,Button);this._element=element;}/**
+ * ------------------------------------------------------------------------
+ * Data Api implementation
+ * ------------------------------------------------------------------------
+ */// getters
+ _createClass(Button,[{key:'toggle',// public
+ value:function toggle(){var triggerChangeEvent=true;var rootElement=$(this._element).closest(Selector.DATA_TOGGLE)[0];if(rootElement){var input=$(this._element).find(Selector.INPUT)[0];if(input){if(input.type==='radio'){if(input.checked&&$(this._element).hasClass(ClassName.ACTIVE)){triggerChangeEvent=false;}else{var activeElement=$(rootElement).find(Selector.ACTIVE)[0];if(activeElement){$(activeElement).removeClass(ClassName.ACTIVE);}}}if(triggerChangeEvent){input.checked=!$(this._element).hasClass(ClassName.ACTIVE);$(this._element).trigger('change');}input.focus();}}else{this._element.setAttribute('aria-pressed',!$(this._element).hasClass(ClassName.ACTIVE));}if(triggerChangeEvent){$(this._element).toggleClass(ClassName.ACTIVE);}}},{key:'dispose',value:function dispose(){$.removeData(this._element,DATA_KEY);this._element=null;}// static
+ }],[{key:'_jQueryInterface',value:function _jQueryInterface(config){return this.each(function(){var data=$(this).data(DATA_KEY);if(!data){data=new Button(this);$(this).data(DATA_KEY,data);}if(config==='toggle'){data[config]();}});}},{key:'VERSION',get:function get(){return VERSION;}}]);return Button;}();$(document).on(Event.CLICK_DATA_API,Selector.DATA_TOGGLE_CARROT,function(event){event.preventDefault();var button=event.target;if(!$(button).hasClass(ClassName.BUTTON)){button=$(button).closest(Selector.BUTTON);}Button._jQueryInterface.call($(button),'toggle');}).on(Event.FOCUS_BLUR_DATA_API,Selector.DATA_TOGGLE_CARROT,function(event){var button=$(event.target).closest(Selector.BUTTON)[0];$(button).toggleClass(ClassName.FOCUS,/^focus(in)?$/.test(event.type));});/**
+ * ------------------------------------------------------------------------
+ * jQuery
+ * ------------------------------------------------------------------------
+ */$.fn[NAME]=Button._jQueryInterface;$.fn[NAME].Constructor=Button;$.fn[NAME].noConflict=function(){$.fn[NAME]=JQUERY_NO_CONFLICT;return Button._jQueryInterface;};return Button;}(jQuery);/**
+ * --------------------------------------------------------------------------
+ * Bootstrap (v4.0.0-alpha.3): carousel.js
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ * --------------------------------------------------------------------------
+ */var Carousel=function($){/**
+ * ------------------------------------------------------------------------
+ * Constants
+ * ------------------------------------------------------------------------
+ */var NAME='carousel';var VERSION='4.0.0-alpha.3';var DATA_KEY='bs.carousel';var EVENT_KEY='.'+DATA_KEY;var DATA_API_KEY='.data-api';var JQUERY_NO_CONFLICT=$.fn[NAME];var TRANSITION_DURATION=600;var ARROW_LEFT_KEYCODE=37;// KeyboardEvent.which value for left arrow key
+ var ARROW_RIGHT_KEYCODE=39;// KeyboardEvent.which value for right arrow key
+ var Default={interval:5000,keyboard:true,slide:false,pause:'hover',wrap:true};var DefaultType={interval:'(number|boolean)',keyboard:'boolean',slide:'(boolean|string)',pause:'(string|boolean)',wrap:'boolean'};var Direction={NEXT:'next',PREVIOUS:'prev'};var Event={SLIDE:'slide'+EVENT_KEY,SLID:'slid'+EVENT_KEY,KEYDOWN:'keydown'+EVENT_KEY,MOUSEENTER:'mouseenter'+EVENT_KEY,MOUSELEAVE:'mouseleave'+EVENT_KEY,LOAD_DATA_API:'load'+EVENT_KEY+DATA_API_KEY,CLICK_DATA_API:'click'+EVENT_KEY+DATA_API_KEY};var ClassName={CAROUSEL:'carousel',ACTIVE:'active',SLIDE:'slide',RIGHT:'right',LEFT:'left',ITEM:'carousel-item'};var Selector={ACTIVE:'.active',ACTIVE_ITEM:'.active.carousel-item',ITEM:'.carousel-item',NEXT_PREV:'.next, .prev',INDICATORS:'.carousel-indicators',DATA_SLIDE:'[data-slide], [data-slide-to]',DATA_RIDE:'[data-ride="carousel"]'};/**
+ * ------------------------------------------------------------------------
+ * Class Definition
+ * ------------------------------------------------------------------------
+ */var Carousel=function(){function Carousel(element,config){_classCallCheck(this,Carousel);this._items=null;this._interval=null;this._activeElement=null;this._isPaused=false;this._isSliding=false;this._config=this._getConfig(config);this._element=$(element)[0];this._indicatorsElement=$(this._element).find(Selector.INDICATORS)[0];this._addEventListeners();}/**
+ * ------------------------------------------------------------------------
+ * Data Api implementation
+ * ------------------------------------------------------------------------
+ */// getters
+ _createClass(Carousel,[{key:'next',// public
+ value:function next(){if(!this._isSliding){this._slide(Direction.NEXT);}}},{key:'nextWhenVisible',value:function nextWhenVisible(){// Don't call next when the page isn't visible
+ if(!document.hidden){this.next();}}},{key:'prev',value:function prev(){if(!this._isSliding){this._slide(Direction.PREVIOUS);}}},{key:'pause',value:function pause(event){if(!event){this._isPaused=true;}if($(this._element).find(Selector.NEXT_PREV)[0]&&Util.supportsTransitionEnd()){Util.triggerTransitionEnd(this._element);this.cycle(true);}clearInterval(this._interval);this._interval=null;}},{key:'cycle',value:function cycle(event){if(!event){this._isPaused=false;}if(this._interval){clearInterval(this._interval);this._interval=null;}if(this._config.interval&&!this._isPaused){this._interval=setInterval($.proxy(document.visibilityState?this.nextWhenVisible:this.next,this),this._config.interval);}}},{key:'to',value:function to(index){var _this2=this;this._activeElement=$(this._element).find(Selector.ACTIVE_ITEM)[0];var activeIndex=this._getItemIndex(this._activeElement);if(index>this._items.length-1||index<0){return;}if(this._isSliding){$(this._element).one(Event.SLID,function(){return _this2.to(index);});return;}if(activeIndex===index){this.pause();this.cycle();return;}var direction=index>activeIndex?Direction.NEXT:Direction.PREVIOUS;this._slide(direction,this._items[index]);}},{key:'dispose',value:function dispose(){$(this._element).off(EVENT_KEY);$.removeData(this._element,DATA_KEY);this._items=null;this._config=null;this._element=null;this._interval=null;this._isPaused=null;this._isSliding=null;this._activeElement=null;this._indicatorsElement=null;}// private
+ },{key:'_getConfig',value:function _getConfig(config){config=$.extend({},Default,config);Util.typeCheckConfig(NAME,config,DefaultType);return config;}},{key:'_addEventListeners',value:function _addEventListeners(){if(this._config.keyboard){$(this._element).on(Event.KEYDOWN,$.proxy(this._keydown,this));}if(this._config.pause==='hover'&&!('ontouchstart'in document.documentElement)){$(this._element).on(Event.MOUSEENTER,$.proxy(this.pause,this)).on(Event.MOUSELEAVE,$.proxy(this.cycle,this));}}},{key:'_keydown',value:function _keydown(event){event.preventDefault();if(/input|textarea/i.test(event.target.tagName)){return;}switch(event.which){case ARROW_LEFT_KEYCODE:this.prev();break;case ARROW_RIGHT_KEYCODE:this.next();break;default:return;}}},{key:'_getItemIndex',value:function _getItemIndex(element){this._items=$.makeArray($(element).parent().find(Selector.ITEM));return this._items.indexOf(element);}},{key:'_getItemByDirection',value:function _getItemByDirection(direction,activeElement){var isNextDirection=direction===Direction.NEXT;var isPrevDirection=direction===Direction.PREVIOUS;var activeIndex=this._getItemIndex(activeElement);var lastItemIndex=this._items.length-1;var isGoingToWrap=isPrevDirection&&activeIndex===0||isNextDirection&&activeIndex===lastItemIndex;if(isGoingToWrap&&!this._config.wrap){return activeElement;}var delta=direction===Direction.PREVIOUS?-1:1;var itemIndex=(activeIndex+delta)%this._items.length;return itemIndex===-1?this._items[this._items.length-1]:this._items[itemIndex];}},{key:'_triggerSlideEvent',value:function _triggerSlideEvent(relatedTarget,directionalClassname){var slideEvent=$.Event(Event.SLIDE,{relatedTarget:relatedTarget,direction:directionalClassname});$(this._element).trigger(slideEvent);return slideEvent;}},{key:'_setActiveIndicatorElement',value:function _setActiveIndicatorElement(element){if(this._indicatorsElement){$(this._indicatorsElement).find(Selector.ACTIVE).removeClass(ClassName.ACTIVE);var nextIndicator=this._indicatorsElement.children[this._getItemIndex(element)];if(nextIndicator){$(nextIndicator).addClass(ClassName.ACTIVE);}}}},{key:'_slide',value:function _slide(direction,element){var _this3=this;var activeElement=$(this._element).find(Selector.ACTIVE_ITEM)[0];var nextElement=element||activeElement&&this._getItemByDirection(direction,activeElement);var isCycling=Boolean(this._interval);var directionalClassName=direction===Direction.NEXT?ClassName.LEFT:ClassName.RIGHT;if(nextElement&&$(nextElement).hasClass(ClassName.ACTIVE)){this._isSliding=false;return;}var slideEvent=this._triggerSlideEvent(nextElement,directionalClassName);if(slideEvent.isDefaultPrevented()){return;}if(!activeElement||!nextElement){// some weirdness is happening, so we bail
+ return;}this._isSliding=true;if(isCycling){this.pause();}this._setActiveIndicatorElement(nextElement);var slidEvent=$.Event(Event.SLID,{relatedTarget:nextElement,direction:directionalClassName});if(Util.supportsTransitionEnd()&&$(this._element).hasClass(ClassName.SLIDE)){$(nextElement).addClass(direction);Util.reflow(nextElement);$(activeElement).addClass(directionalClassName);$(nextElement).addClass(directionalClassName);$(activeElement).one(Util.TRANSITION_END,function(){$(nextElement).removeClass(directionalClassName).removeClass(direction);$(nextElement).addClass(ClassName.ACTIVE);$(activeElement).removeClass(ClassName.ACTIVE).removeClass(direction).removeClass(directionalClassName);_this3._isSliding=false;setTimeout(function(){return $(_this3._element).trigger(slidEvent);},0);}).emulateTransitionEnd(TRANSITION_DURATION);}else{$(activeElement).removeClass(ClassName.ACTIVE);$(nextElement).addClass(ClassName.ACTIVE);this._isSliding=false;$(this._element).trigger(slidEvent);}if(isCycling){this.cycle();}}// static
+ }],[{key:'_jQueryInterface',value:function _jQueryInterface(config){return this.each(function(){var data=$(this).data(DATA_KEY);var _config=$.extend({},Default,$(this).data());if((typeof config==='undefined'?'undefined':_typeof(config))==='object'){$.extend(_config,config);}var action=typeof config==='string'?config:_config.slide;if(!data){data=new Carousel(this,_config);$(this).data(DATA_KEY,data);}if(typeof config==='number'){data.to(config);}else if(typeof action==='string'){if(data[action]===undefined){throw new Error('No method named "'+action+'"');}data[action]();}else if(_config.interval){data.pause();data.cycle();}});}},{key:'_dataApiClickHandler',value:function _dataApiClickHandler(event){var selector=Util.getSelectorFromElement(this);if(!selector){return;}var target=$(selector)[0];if(!target||!$(target).hasClass(ClassName.CAROUSEL)){return;}var config=$.extend({},$(target).data(),$(this).data());var slideIndex=this.getAttribute('data-slide-to');if(slideIndex){config.interval=false;}Carousel._jQueryInterface.call($(target),config);if(slideIndex){$(target).data(DATA_KEY).to(slideIndex);}event.preventDefault();}},{key:'VERSION',get:function get(){return VERSION;}},{key:'Default',get:function get(){return Default;}}]);return Carousel;}();$(document).on(Event.CLICK_DATA_API,Selector.DATA_SLIDE,Carousel._dataApiClickHandler);$(window).on(Event.LOAD_DATA_API,function(){$(Selector.DATA_RIDE).each(function(){var $carousel=$(this);Carousel._jQueryInterface.call($carousel,$carousel.data());});});/**
+ * ------------------------------------------------------------------------
+ * jQuery
+ * ------------------------------------------------------------------------
+ */$.fn[NAME]=Carousel._jQueryInterface;$.fn[NAME].Constructor=Carousel;$.fn[NAME].noConflict=function(){$.fn[NAME]=JQUERY_NO_CONFLICT;return Carousel._jQueryInterface;};return Carousel;}(jQuery);/**
+ * --------------------------------------------------------------------------
+ * Bootstrap (v4.0.0-alpha.3): collapse.js
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ * --------------------------------------------------------------------------
+ */var Collapse=function($){/**
+ * ------------------------------------------------------------------------
+ * Constants
+ * ------------------------------------------------------------------------
+ */var NAME='collapse';var VERSION='4.0.0-alpha.3';var DATA_KEY='bs.collapse';var EVENT_KEY='.'+DATA_KEY;var DATA_API_KEY='.data-api';var JQUERY_NO_CONFLICT=$.fn[NAME];var TRANSITION_DURATION=600;var Default={toggle:true,parent:''};var DefaultType={toggle:'boolean',parent:'string'};var Event={SHOW:'show'+EVENT_KEY,SHOWN:'shown'+EVENT_KEY,HIDE:'hide'+EVENT_KEY,HIDDEN:'hidden'+EVENT_KEY,CLICK_DATA_API:'click'+EVENT_KEY+DATA_API_KEY};var ClassName={IN:'in',COLLAPSE:'collapse',COLLAPSING:'collapsing',COLLAPSED:'collapsed'};var Dimension={WIDTH:'width',HEIGHT:'height'};var Selector={ACTIVES:'.panel > .in, .panel > .collapsing',DATA_TOGGLE:'[data-toggle="collapse"]'};/**
+ * ------------------------------------------------------------------------
+ * Class Definition
+ * ------------------------------------------------------------------------
+ */var Collapse=function(){function Collapse(element,config){_classCallCheck(this,Collapse);this._isTransitioning=false;this._element=element;this._config=this._getConfig(config);this._triggerArray=$.makeArray($('[data-toggle="collapse"][href="#'+element.id+'"],'+('[data-toggle="collapse"][data-target="#'+element.id+'"]')));this._parent=this._config.parent?this._getParent():null;if(!this._config.parent){this._addAriaAndCollapsedClass(this._element,this._triggerArray);}if(this._config.toggle){this.toggle();}}/**
+ * ------------------------------------------------------------------------
+ * Data Api implementation
+ * ------------------------------------------------------------------------
+ */// getters
+ _createClass(Collapse,[{key:'toggle',// public
+ value:function toggle(){if($(this._element).hasClass(ClassName.IN)){this.hide();}else{this.show();}}},{key:'show',value:function show(){var _this4=this;if(this._isTransitioning||$(this._element).hasClass(ClassName.IN)){return;}var actives=undefined;var activesData=undefined;if(this._parent){actives=$.makeArray($(Selector.ACTIVES));if(!actives.length){actives=null;}}if(actives){activesData=$(actives).data(DATA_KEY);if(activesData&&activesData._isTransitioning){return;}}var startEvent=$.Event(Event.SHOW);$(this._element).trigger(startEvent);if(startEvent.isDefaultPrevented()){return;}if(actives){Collapse._jQueryInterface.call($(actives),'hide');if(!activesData){$(actives).data(DATA_KEY,null);}}var dimension=this._getDimension();$(this._element).removeClass(ClassName.COLLAPSE).addClass(ClassName.COLLAPSING);this._element.style[dimension]=0;this._element.setAttribute('aria-expanded',true);if(this._triggerArray.length){$(this._triggerArray).removeClass(ClassName.COLLAPSED).attr('aria-expanded',true);}this.setTransitioning(true);var complete=function complete(){$(_this4._element).removeClass(ClassName.COLLAPSING).addClass(ClassName.COLLAPSE).addClass(ClassName.IN);_this4._element.style[dimension]='';_this4.setTransitioning(false);$(_this4._element).trigger(Event.SHOWN);};if(!Util.supportsTransitionEnd()){complete();return;}var capitalizedDimension=dimension[0].toUpperCase()+dimension.slice(1);var scrollSize='scroll'+capitalizedDimension;$(this._element).one(Util.TRANSITION_END,complete).emulateTransitionEnd(TRANSITION_DURATION);this._element.style[dimension]=this._element[scrollSize]+'px';}},{key:'hide',value:function hide(){var _this5=this;if(this._isTransitioning||!$(this._element).hasClass(ClassName.IN)){return;}var startEvent=$.Event(Event.HIDE);$(this._element).trigger(startEvent);if(startEvent.isDefaultPrevented()){return;}var dimension=this._getDimension();var offsetDimension=dimension===Dimension.WIDTH?'offsetWidth':'offsetHeight';this._element.style[dimension]=this._element[offsetDimension]+'px';Util.reflow(this._element);$(this._element).addClass(ClassName.COLLAPSING).removeClass(ClassName.COLLAPSE).removeClass(ClassName.IN);this._element.setAttribute('aria-expanded',false);if(this._triggerArray.length){$(this._triggerArray).addClass(ClassName.COLLAPSED).attr('aria-expanded',false);}this.setTransitioning(true);var complete=function complete(){_this5.setTransitioning(false);$(_this5._element).removeClass(ClassName.COLLAPSING).addClass(ClassName.COLLAPSE).trigger(Event.HIDDEN);};this._element.style[dimension]=0;if(!Util.supportsTransitionEnd()){complete();return;}$(this._element).one(Util.TRANSITION_END,complete).emulateTransitionEnd(TRANSITION_DURATION);}},{key:'setTransitioning',value:function setTransitioning(isTransitioning){this._isTransitioning=isTransitioning;}},{key:'dispose',value:function dispose(){$.removeData(this._element,DATA_KEY);this._config=null;this._parent=null;this._element=null;this._triggerArray=null;this._isTransitioning=null;}// private
+ },{key:'_getConfig',value:function _getConfig(config){config=$.extend({},Default,config);config.toggle=Boolean(config.toggle);// coerce string values
+ Util.typeCheckConfig(NAME,config,DefaultType);return config;}},{key:'_getDimension',value:function _getDimension(){var hasWidth=$(this._element).hasClass(Dimension.WIDTH);return hasWidth?Dimension.WIDTH:Dimension.HEIGHT;}},{key:'_getParent',value:function _getParent(){var _this6=this;var parent=$(this._config.parent)[0];var selector='[data-toggle="collapse"][data-parent="'+this._config.parent+'"]';$(parent).find(selector).each(function(i,element){_this6._addAriaAndCollapsedClass(Collapse._getTargetFromElement(element),[element]);});return parent;}},{key:'_addAriaAndCollapsedClass',value:function _addAriaAndCollapsedClass(element,triggerArray){if(element){var isOpen=$(element).hasClass(ClassName.IN);element.setAttribute('aria-expanded',isOpen);if(triggerArray.length){$(triggerArray).toggleClass(ClassName.COLLAPSED,!isOpen).attr('aria-expanded',isOpen);}}}// static
+ }],[{key:'_getTargetFromElement',value:function _getTargetFromElement(element){var selector=Util.getSelectorFromElement(element);return selector?$(selector)[0]:null;}},{key:'_jQueryInterface',value:function _jQueryInterface(config){return this.each(function(){var $this=$(this);var data=$this.data(DATA_KEY);var _config=$.extend({},Default,$this.data(),(typeof config==='undefined'?'undefined':_typeof(config))==='object'&&config);if(!data&&_config.toggle&&/show|hide/.test(config)){_config.toggle=false;}if(!data){data=new Collapse(this,_config);$this.data(DATA_KEY,data);}if(typeof config==='string'){if(data[config]===undefined){throw new Error('No method named "'+config+'"');}data[config]();}});}},{key:'VERSION',get:function get(){return VERSION;}},{key:'Default',get:function get(){return Default;}}]);return Collapse;}();$(document).on(Event.CLICK_DATA_API,Selector.DATA_TOGGLE,function(event){event.preventDefault();var target=Collapse._getTargetFromElement(this);var data=$(target).data(DATA_KEY);var config=data?'toggle':$(this).data();Collapse._jQueryInterface.call($(target),config);});/**
+ * ------------------------------------------------------------------------
+ * jQuery
+ * ------------------------------------------------------------------------
+ */$.fn[NAME]=Collapse._jQueryInterface;$.fn[NAME].Constructor=Collapse;$.fn[NAME].noConflict=function(){$.fn[NAME]=JQUERY_NO_CONFLICT;return Collapse._jQueryInterface;};return Collapse;}(jQuery);/**
+ * --------------------------------------------------------------------------
+ * Bootstrap (v4.0.0-alpha.3): dropdown.js
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ * --------------------------------------------------------------------------
+ */var Dropdown=function($){/**
+ * ------------------------------------------------------------------------
+ * Constants
+ * ------------------------------------------------------------------------
+ */var NAME='dropdown';var VERSION='4.0.0-alpha.3';var DATA_KEY='bs.dropdown';var EVENT_KEY='.'+DATA_KEY;var DATA_API_KEY='.data-api';var JQUERY_NO_CONFLICT=$.fn[NAME];var ESCAPE_KEYCODE=27;// KeyboardEvent.which value for Escape (Esc) key
+ var ARROW_UP_KEYCODE=38;// KeyboardEvent.which value for up arrow key
+ 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 Event={HIDE:'hide'+EVENT_KEY,HIDDEN:'hidden'+EVENT_KEY,SHOW:'show'+EVENT_KEY,SHOWN:'shown'+EVENT_KEY,CLICK:'click'+EVENT_KEY,CLICK_DATA_API:'click'+EVENT_KEY+DATA_API_KEY,KEYDOWN_DATA_API:'keydown'+EVENT_KEY+DATA_API_KEY};var ClassName={BACKDROP:'dropdown-backdrop',DISABLED:'disabled',OPEN:'open'};var Selector={BACKDROP:'.dropdown-backdrop',DATA_TOGGLE:'[data-toggle="dropdown"]',FORM_CHILD:'.dropdown form',ROLE_MENU:'[role="menu"]',ROLE_LISTBOX:'[role="listbox"]',NAVBAR_NAV:'.navbar-nav',VISIBLE_ITEMS:'[role="menu"] li:not(.disabled) a, '+'[role="listbox"] li:not(.disabled) a'};/**
+ * ------------------------------------------------------------------------
+ * Class Definition
+ * ------------------------------------------------------------------------
+ */var Dropdown=function(){function Dropdown(element){_classCallCheck(this,Dropdown);this._element=element;this._addEventListeners();}/**
+ * ------------------------------------------------------------------------
+ * Data Api implementation
+ * ------------------------------------------------------------------------
+ */// getters
+ _createClass(Dropdown,[{key:'toggle',// public
+ value:function toggle(){if(this.disabled||$(this).hasClass(ClassName.DISABLED)){return false;}var parent=Dropdown._getParentFromElement(this);var isActive=$(parent).hasClass(ClassName.OPEN);Dropdown._clearMenus();if(isActive){return false;}if('ontouchstart'in document.documentElement&&!$(parent).closest(Selector.NAVBAR_NAV).length){// if mobile we use a backdrop because click events don't delegate
+ var dropdown=document.createElement('div');dropdown.className=ClassName.BACKDROP;$(dropdown).insertBefore(this);$(dropdown).on('click',Dropdown._clearMenus);}var relatedTarget={relatedTarget:this};var showEvent=$.Event(Event.SHOW,relatedTarget);$(parent).trigger(showEvent);if(showEvent.isDefaultPrevented()){return false;}this.focus();this.setAttribute('aria-expanded','true');$(parent).toggleClass(ClassName.OPEN);$(parent).trigger($.Event(Event.SHOWN,relatedTarget));return false;}},{key:'dispose',value:function dispose(){$.removeData(this._element,DATA_KEY);$(this._element).off(EVENT_KEY);this._element=null;}// private
+ },{key:'_addEventListeners',value:function _addEventListeners(){$(this._element).on(Event.CLICK,this.toggle);}// static
+ }],[{key:'_jQueryInterface',value:function _jQueryInterface(config){return this.each(function(){var data=$(this).data(DATA_KEY);if(!data){$(this).data(DATA_KEY,data=new Dropdown(this));}if(typeof config==='string'){if(data[config]===undefined){throw new Error('No method named "'+config+'"');}data[config].call(this);}});}},{key:'_clearMenus',value:function _clearMenus(event){if(event&&event.which===RIGHT_MOUSE_BUTTON_WHICH){return;}var backdrop=$(Selector.BACKDROP)[0];if(backdrop){backdrop.parentNode.removeChild(backdrop);}var toggles=$.makeArray($(Selector.DATA_TOGGLE));for(var i=0;i<toggles.length;i++){var _parent=Dropdown._getParentFromElement(toggles[i]);var relatedTarget={relatedTarget:toggles[i]};if(!$(_parent).hasClass(ClassName.OPEN)){continue;}if(event&&event.type==='click'&&/input|textarea/i.test(event.target.tagName)&&$.contains(_parent,event.target)){continue;}var hideEvent=$.Event(Event.HIDE,relatedTarget);$(_parent).trigger(hideEvent);if(hideEvent.isDefaultPrevented()){continue;}toggles[i].setAttribute('aria-expanded','false');$(_parent).removeClass(ClassName.OPEN).trigger($.Event(Event.HIDDEN,relatedTarget));}}},{key:'_getParentFromElement',value:function _getParentFromElement(element){var parent=undefined;var selector=Util.getSelectorFromElement(element);if(selector){parent=$(selector)[0];}return parent||element.parentNode;}},{key:'_dataApiKeydownHandler',value:function _dataApiKeydownHandler(event){if(!/(38|40|27|32)/.test(event.which)||/input|textarea/i.test(event.target.tagName)){return;}event.preventDefault();event.stopPropagation();if(this.disabled||$(this).hasClass(ClassName.DISABLED)){return;}var parent=Dropdown._getParentFromElement(this);var isActive=$(parent).hasClass(ClassName.OPEN);if(!isActive&&event.which!==ESCAPE_KEYCODE||isActive&&event.which===ESCAPE_KEYCODE){if(event.which===ESCAPE_KEYCODE){var toggle=$(parent).find(Selector.DATA_TOGGLE)[0];$(toggle).trigger('focus');}$(this).trigger('click');return;}var items=$.makeArray($(Selector.VISIBLE_ITEMS));items=items.filter(function(item){return item.offsetWidth||item.offsetHeight;});if(!items.length){return;}var index=items.indexOf(event.target);if(event.which===ARROW_UP_KEYCODE&&index>0){// up
+ index--;}if(event.which===ARROW_DOWN_KEYCODE&&index<items.length-1){// down
+ index++;}if(index<0){index=0;}items[index].focus();}},{key:'VERSION',get:function get(){return VERSION;}}]);return Dropdown;}();$(document).on(Event.KEYDOWN_DATA_API,Selector.DATA_TOGGLE,Dropdown._dataApiKeydownHandler).on(Event.KEYDOWN_DATA_API,Selector.ROLE_MENU,Dropdown._dataApiKeydownHandler).on(Event.KEYDOWN_DATA_API,Selector.ROLE_LISTBOX,Dropdown._dataApiKeydownHandler).on(Event.CLICK_DATA_API,Dropdown._clearMenus).on(Event.CLICK_DATA_API,Selector.DATA_TOGGLE,Dropdown.prototype.toggle).on(Event.CLICK_DATA_API,Selector.FORM_CHILD,function(e){e.stopPropagation();});/**
+ * ------------------------------------------------------------------------
+ * jQuery
+ * ------------------------------------------------------------------------
+ */$.fn[NAME]=Dropdown._jQueryInterface;$.fn[NAME].Constructor=Dropdown;$.fn[NAME].noConflict=function(){$.fn[NAME]=JQUERY_NO_CONFLICT;return Dropdown._jQueryInterface;};return Dropdown;}(jQuery);/**
+ * --------------------------------------------------------------------------
+ * Bootstrap (v4.0.0-alpha.3): modal.js
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ * --------------------------------------------------------------------------
+ */var Modal=function($){/**
+ * ------------------------------------------------------------------------
+ * Constants
+ * ------------------------------------------------------------------------
+ */var NAME='modal';var VERSION='4.0.0-alpha.3';var DATA_KEY='bs.modal';var EVENT_KEY='.'+DATA_KEY;var DATA_API_KEY='.data-api';var JQUERY_NO_CONFLICT=$.fn[NAME];var TRANSITION_DURATION=300;var BACKDROP_TRANSITION_DURATION=150;var ESCAPE_KEYCODE=27;// KeyboardEvent.which value for Escape (Esc) key
+ var Default={backdrop:true,keyboard:true,focus:true,show:true};var DefaultType={backdrop:'(boolean|string)',keyboard:'boolean',focus:'boolean',show:'boolean'};var Event={HIDE:'hide'+EVENT_KEY,HIDDEN:'hidden'+EVENT_KEY,SHOW:'show'+EVENT_KEY,SHOWN:'shown'+EVENT_KEY,FOCUSIN:'focusin'+EVENT_KEY,RESIZE:'resize'+EVENT_KEY,CLICK_DISMISS:'click.dismiss'+EVENT_KEY,KEYDOWN_DISMISS:'keydown.dismiss'+EVENT_KEY,MOUSEUP_DISMISS:'mouseup.dismiss'+EVENT_KEY,MOUSEDOWN_DISMISS:'mousedown.dismiss'+EVENT_KEY,CLICK_DATA_API:'click'+EVENT_KEY+DATA_API_KEY};var ClassName={SCROLLBAR_MEASURER:'modal-scrollbar-measure',BACKDROP:'modal-backdrop',OPEN:'modal-open',FADE:'fade',IN:'in'};var Selector={DIALOG:'.modal-dialog',DATA_TOGGLE:'[data-toggle="modal"]',DATA_DISMISS:'[data-dismiss="modal"]',FIXED_CONTENT:'.navbar-fixed-top, .navbar-fixed-bottom, .is-fixed'};/**
+ * ------------------------------------------------------------------------
+ * Class Definition
+ * ------------------------------------------------------------------------
+ */var Modal=function(){function Modal(element,config){_classCallCheck(this,Modal);this._config=this._getConfig(config);this._element=element;this._dialog=$(element).find(Selector.DIALOG)[0];this._backdrop=null;this._isShown=false;this._isBodyOverflowing=false;this._ignoreBackdropClick=false;this._originalBodyPadding=0;this._scrollbarWidth=0;}/**
+ * ------------------------------------------------------------------------
+ * Data Api implementation
+ * ------------------------------------------------------------------------
+ */// getters
+ _createClass(Modal,[{key:'toggle',// public
+ value:function toggle(relatedTarget){return this._isShown?this.hide():this.show(relatedTarget);}},{key:'show',value:function show(relatedTarget){var _this7=this;var showEvent=$.Event(Event.SHOW,{relatedTarget:relatedTarget});$(this._element).trigger(showEvent);if(this._isShown||showEvent.isDefaultPrevented()){return;}this._isShown=true;this._checkScrollbar();this._setScrollbar();$(document.body).addClass(ClassName.OPEN);this._setEscapeEvent();this._setResizeEvent();$(this._element).on(Event.CLICK_DISMISS,Selector.DATA_DISMISS,$.proxy(this.hide,this));$(this._dialog).on(Event.MOUSEDOWN_DISMISS,function(){$(_this7._element).one(Event.MOUSEUP_DISMISS,function(event){if($(event.target).is(_this7._element)){_this7._ignoreBackdropClick=true;}});});this._showBackdrop($.proxy(this._showElement,this,relatedTarget));}},{key:'hide',value:function hide(event){if(event){event.preventDefault();}var hideEvent=$.Event(Event.HIDE);$(this._element).trigger(hideEvent);if(!this._isShown||hideEvent.isDefaultPrevented()){return;}this._isShown=false;this._setEscapeEvent();this._setResizeEvent();$(document).off(Event.FOCUSIN);$(this._element).removeClass(ClassName.IN);$(this._element).off(Event.CLICK_DISMISS);$(this._dialog).off(Event.MOUSEDOWN_DISMISS);if(Util.supportsTransitionEnd()&&$(this._element).hasClass(ClassName.FADE)){$(this._element).one(Util.TRANSITION_END,$.proxy(this._hideModal,this)).emulateTransitionEnd(TRANSITION_DURATION);}else{this._hideModal();}}},{key:'dispose',value:function dispose(){$.removeData(this._element,DATA_KEY);$(window).off(EVENT_KEY);$(document).off(EVENT_KEY);$(this._element).off(EVENT_KEY);$(this._backdrop).off(EVENT_KEY);this._config=null;this._element=null;this._dialog=null;this._backdrop=null;this._isShown=null;this._isBodyOverflowing=null;this._ignoreBackdropClick=null;this._originalBodyPadding=null;this._scrollbarWidth=null;}// private
+ },{key:'_getConfig',value:function _getConfig(config){config=$.extend({},Default,config);Util.typeCheckConfig(NAME,config,DefaultType);return config;}},{key:'_showElement',value:function _showElement(relatedTarget){var _this8=this;var transition=Util.supportsTransitionEnd()&&$(this._element).hasClass(ClassName.FADE);if(!this._element.parentNode||this._element.parentNode.nodeType!==Node.ELEMENT_NODE){// don't move modals dom position
+ document.body.appendChild(this._element);}this._element.style.display='block';this._element.removeAttribute('aria-hidden');this._element.scrollTop=0;if(transition){Util.reflow(this._element);}$(this._element).addClass(ClassName.IN);if(this._config.focus){this._enforceFocus();}var shownEvent=$.Event(Event.SHOWN,{relatedTarget:relatedTarget});var transitionComplete=function transitionComplete(){if(_this8._config.focus){_this8._element.focus();}$(_this8._element).trigger(shownEvent);};if(transition){$(this._dialog).one(Util.TRANSITION_END,transitionComplete).emulateTransitionEnd(TRANSITION_DURATION);}else{transitionComplete();}}},{key:'_enforceFocus',value:function _enforceFocus(){var _this9=this;$(document).off(Event.FOCUSIN)// guard against infinite focus loop
+ .on(Event.FOCUSIN,function(event){if(document!==event.target&&_this9._element!==event.target&&!$(_this9._element).has(event.target).length){_this9._element.focus();}});}},{key:'_setEscapeEvent',value:function _setEscapeEvent(){var _this10=this;if(this._isShown&&this._config.keyboard){$(this._element).on(Event.KEYDOWN_DISMISS,function(event){if(event.which===ESCAPE_KEYCODE){_this10.hide();}});}else if(!this._isShown){$(this._element).off(Event.KEYDOWN_DISMISS);}}},{key:'_setResizeEvent',value:function _setResizeEvent(){if(this._isShown){$(window).on(Event.RESIZE,$.proxy(this._handleUpdate,this));}else{$(window).off(Event.RESIZE);}}},{key:'_hideModal',value:function _hideModal(){var _this11=this;this._element.style.display='none';this._element.setAttribute('aria-hidden','true');this._showBackdrop(function(){$(document.body).removeClass(ClassName.OPEN);_this11._resetAdjustments();_this11._resetScrollbar();$(_this11._element).trigger(Event.HIDDEN);});}},{key:'_removeBackdrop',value:function _removeBackdrop(){if(this._backdrop){$(this._backdrop).remove();this._backdrop=null;}}},{key:'_showBackdrop',value:function _showBackdrop(callback){var _this12=this;var animate=$(this._element).hasClass(ClassName.FADE)?ClassName.FADE:'';if(this._isShown&&this._config.backdrop){var doAnimate=Util.supportsTransitionEnd()&&animate;this._backdrop=document.createElement('div');this._backdrop.className=ClassName.BACKDROP;if(animate){$(this._backdrop).addClass(animate);}$(this._backdrop).appendTo(document.body);$(this._element).on(Event.CLICK_DISMISS,function(event){if(_this12._ignoreBackdropClick){_this12._ignoreBackdropClick=false;return;}if(event.target!==event.currentTarget){return;}if(_this12._config.backdrop==='static'){_this12._element.focus();}else{_this12.hide();}});if(doAnimate){Util.reflow(this._backdrop);}$(this._backdrop).addClass(ClassName.IN);if(!callback){return;}if(!doAnimate){callback();return;}$(this._backdrop).one(Util.TRANSITION_END,callback).emulateTransitionEnd(BACKDROP_TRANSITION_DURATION);}else if(!this._isShown&&this._backdrop){$(this._backdrop).removeClass(ClassName.IN);var callbackRemove=function callbackRemove(){_this12._removeBackdrop();if(callback){callback();}};if(Util.supportsTransitionEnd()&&$(this._element).hasClass(ClassName.FADE)){$(this._backdrop).one(Util.TRANSITION_END,callbackRemove).emulateTransitionEnd(BACKDROP_TRANSITION_DURATION);}else{callbackRemove();}}else if(callback){callback();}}// ----------------------------------------------------------------------
+ // the following methods are used to handle overflowing modals
+ // todo (fat): these should probably be refactored out of modal.js
+ // ----------------------------------------------------------------------
+ },{key:'_handleUpdate',value:function _handleUpdate(){this._adjustDialog();}},{key:'_adjustDialog',value:function _adjustDialog(){var isModalOverflowing=this._element.scrollHeight>document.documentElement.clientHeight;if(!this._isBodyOverflowing&&isModalOverflowing){this._element.style.paddingLeft=this._scrollbarWidth+'px';}if(this._isBodyOverflowing&&!isModalOverflowing){this._element.style.paddingRight=this._scrollbarWidth+'px';}}},{key:'_resetAdjustments',value:function _resetAdjustments(){this._element.style.paddingLeft='';this._element.style.paddingRight='';}},{key:'_checkScrollbar',value:function _checkScrollbar(){this._isBodyOverflowing=document.body.clientWidth<window.innerWidth;this._scrollbarWidth=this._getScrollbarWidth();}},{key:'_setScrollbar',value:function _setScrollbar(){var bodyPadding=parseInt($(Selector.FIXED_CONTENT).css('padding-right')||0,10);this._originalBodyPadding=document.body.style.paddingRight||'';if(this._isBodyOverflowing){document.body.style.paddingRight=bodyPadding+this._scrollbarWidth+'px';}}},{key:'_resetScrollbar',value:function _resetScrollbar(){document.body.style.paddingRight=this._originalBodyPadding;}},{key:'_getScrollbarWidth',value:function _getScrollbarWidth(){// thx d.walsh
+ var scrollDiv=document.createElement('div');scrollDiv.className=ClassName.SCROLLBAR_MEASURER;document.body.appendChild(scrollDiv);var scrollbarWidth=scrollDiv.offsetWidth-scrollDiv.clientWidth;document.body.removeChild(scrollDiv);return scrollbarWidth;}// static
+ }],[{key:'_jQueryInterface',value:function _jQueryInterface(config,relatedTarget){return this.each(function(){var data=$(this).data(DATA_KEY);var _config=$.extend({},Modal.Default,$(this).data(),(typeof config==='undefined'?'undefined':_typeof(config))==='object'&&config);if(!data){data=new Modal(this,_config);$(this).data(DATA_KEY,data);}if(typeof config==='string'){if(data[config]===undefined){throw new Error('No method named "'+config+'"');}data[config](relatedTarget);}else if(_config.show){data.show(relatedTarget);}});}},{key:'VERSION',get:function get(){return VERSION;}},{key:'Default',get:function get(){return Default;}}]);return Modal;}();$(document).on(Event.CLICK_DATA_API,Selector.DATA_TOGGLE,function(event){var _this13=this;var target=undefined;var selector=Util.getSelectorFromElement(this);if(selector){target=$(selector)[0];}var config=$(target).data(DATA_KEY)?'toggle':$.extend({},$(target).data(),$(this).data());if(this.tagName==='A'){event.preventDefault();}var $target=$(target).one(Event.SHOW,function(showEvent){if(showEvent.isDefaultPrevented()){// only register focus restorer if modal will actually get shown
+ return;}$target.one(Event.HIDDEN,function(){if($(_this13).is(':visible')){_this13.focus();}});});Modal._jQueryInterface.call($(target),config,this);});/**
+ * ------------------------------------------------------------------------
+ * jQuery
+ * ------------------------------------------------------------------------
+ */$.fn[NAME]=Modal._jQueryInterface;$.fn[NAME].Constructor=Modal;$.fn[NAME].noConflict=function(){$.fn[NAME]=JQUERY_NO_CONFLICT;return Modal._jQueryInterface;};return Modal;}(jQuery);/**
+ * --------------------------------------------------------------------------
+ * Bootstrap (v4.0.0-alpha.3): scrollspy.js
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ * --------------------------------------------------------------------------
+ */var ScrollSpy=function($){/**
+ * ------------------------------------------------------------------------
+ * Constants
+ * ------------------------------------------------------------------------
+ */var NAME='scrollspy';var VERSION='4.0.0-alpha.3';var DATA_KEY='bs.scrollspy';var EVENT_KEY='.'+DATA_KEY;var DATA_API_KEY='.data-api';var JQUERY_NO_CONFLICT=$.fn[NAME];var Default={offset:10,method:'auto',target:''};var DefaultType={offset:'number',method:'string',target:'(string|element)'};var Event={ACTIVATE:'activate'+EVENT_KEY,SCROLL:'scroll'+EVENT_KEY,LOAD_DATA_API:'load'+EVENT_KEY+DATA_API_KEY};var ClassName={DROPDOWN_ITEM:'dropdown-item',DROPDOWN_MENU:'dropdown-menu',NAV_LINK:'nav-link',NAV:'nav',ACTIVE:'active'};var Selector={DATA_SPY:'[data-spy="scroll"]',ACTIVE:'.active',LIST_ITEM:'.list-item',LI:'li',LI_DROPDOWN:'li.dropdown',NAV_LINKS:'.nav-link',DROPDOWN:'.dropdown',DROPDOWN_ITEMS:'.dropdown-item',DROPDOWN_TOGGLE:'.dropdown-toggle'};var OffsetMethod={OFFSET:'offset',POSITION:'position'};/**
+ * ------------------------------------------------------------------------
+ * Class Definition
+ * ------------------------------------------------------------------------
+ */var ScrollSpy=function(){function ScrollSpy(element,config){_classCallCheck(this,ScrollSpy);this._element=element;this._scrollElement=element.tagName==='BODY'?window:element;this._config=this._getConfig(config);this._selector=this._config.target+' '+Selector.NAV_LINKS+','+(this._config.target+' '+Selector.DROPDOWN_ITEMS);this._offsets=[];this._targets=[];this._activeTarget=null;this._scrollHeight=0;$(this._scrollElement).on(Event.SCROLL,$.proxy(this._process,this));this.refresh();this._process();}/**
+ * ------------------------------------------------------------------------
+ * Data Api implementation
+ * ------------------------------------------------------------------------
+ */// getters
+ _createClass(ScrollSpy,[{key:'refresh',// public
+ value:function refresh(){var _this14=this;var autoMethod=this._scrollElement!==this._scrollElement.window?OffsetMethod.POSITION:OffsetMethod.OFFSET;var offsetMethod=this._config.method==='auto'?autoMethod:this._config.method;var offsetBase=offsetMethod===OffsetMethod.POSITION?this._getScrollTop():0;this._offsets=[];this._targets=[];this._scrollHeight=this._getScrollHeight();var targets=$.makeArray($(this._selector));targets.map(function(element){var target=undefined;var targetSelector=Util.getSelectorFromElement(element);if(targetSelector){target=$(targetSelector)[0];}if(target&&(target.offsetWidth||target.offsetHeight)){// todo (fat): remove sketch reliance on jQuery position/offset
+ return[$(target)[offsetMethod]().top+offsetBase,targetSelector];}return null;}).filter(function(item){return item;}).sort(function(a,b){return a[0]-b[0];}).forEach(function(item){_this14._offsets.push(item[0]);_this14._targets.push(item[1]);});}},{key:'dispose',value:function dispose(){$.removeData(this._element,DATA_KEY);$(this._scrollElement).off(EVENT_KEY);this._element=null;this._scrollElement=null;this._config=null;this._selector=null;this._offsets=null;this._targets=null;this._activeTarget=null;this._scrollHeight=null;}// private
+ },{key:'_getConfig',value:function _getConfig(config){config=$.extend({},Default,config);if(typeof config.target!=='string'){var id=$(config.target).attr('id');if(!id){id=Util.getUID(NAME);$(config.target).attr('id',id);}config.target='#'+id;}Util.typeCheckConfig(NAME,config,DefaultType);return config;}},{key:'_getScrollTop',value:function _getScrollTop(){return this._scrollElement===window?this._scrollElement.scrollY:this._scrollElement.scrollTop;}},{key:'_getScrollHeight',value:function _getScrollHeight(){return this._scrollElement.scrollHeight||Math.max(document.body.scrollHeight,document.documentElement.scrollHeight);}},{key:'_process',value:function _process(){var scrollTop=this._getScrollTop()+this._config.offset;var scrollHeight=this._getScrollHeight();var maxScroll=this._config.offset+scrollHeight-this._scrollElement.offsetHeight;if(this._scrollHeight!==scrollHeight){this.refresh();}if(scrollTop>=maxScroll){var target=this._targets[this._targets.length-1];if(this._activeTarget!==target){this._activate(target);}}if(this._activeTarget&&scrollTop<this._offsets[0]){this._activeTarget=null;this._clear();return;}for(var i=this._offsets.length;i--;){var isActiveTarget=this._activeTarget!==this._targets[i]&&scrollTop>=this._offsets[i]&&(this._offsets[i+1]===undefined||scrollTop<this._offsets[i+1]);if(isActiveTarget){this._activate(this._targets[i]);}}}},{key:'_activate',value:function _activate(target){this._activeTarget=target;this._clear();var queries=this._selector.split(',');queries=queries.map(function(selector){return selector+'[data-target="'+target+'"],'+(selector+'[href="'+target+'"]');});var $link=$(queries.join(','));if($link.hasClass(ClassName.DROPDOWN_ITEM)){$link.closest(Selector.DROPDOWN).find(Selector.DROPDOWN_TOGGLE).addClass(ClassName.ACTIVE);$link.addClass(ClassName.ACTIVE);}else{// todo (fat) this is kinda sus...
+ // recursively add actives to tested nav-links
+ $link.parents(Selector.LI).find(Selector.NAV_LINKS).addClass(ClassName.ACTIVE);}$(this._scrollElement).trigger(Event.ACTIVATE,{relatedTarget:target});}},{key:'_clear',value:function _clear(){$(this._selector).filter(Selector.ACTIVE).removeClass(ClassName.ACTIVE);}// static
+ }],[{key:'_jQueryInterface',value:function _jQueryInterface(config){return this.each(function(){var data=$(this).data(DATA_KEY);var _config=(typeof config==='undefined'?'undefined':_typeof(config))==='object'&&config||null;if(!data){data=new ScrollSpy(this,_config);$(this).data(DATA_KEY,data);}if(typeof config==='string'){if(data[config]===undefined){throw new Error('No method named "'+config+'"');}data[config]();}});}},{key:'VERSION',get:function get(){return VERSION;}},{key:'Default',get:function get(){return Default;}}]);return ScrollSpy;}();$(window).on(Event.LOAD_DATA_API,function(){var scrollSpys=$.makeArray($(Selector.DATA_SPY));for(var i=scrollSpys.length;i--;){var $spy=$(scrollSpys[i]);ScrollSpy._jQueryInterface.call($spy,$spy.data());}});/**
+ * ------------------------------------------------------------------------
+ * jQuery
+ * ------------------------------------------------------------------------
+ */$.fn[NAME]=ScrollSpy._jQueryInterface;$.fn[NAME].Constructor=ScrollSpy;$.fn[NAME].noConflict=function(){$.fn[NAME]=JQUERY_NO_CONFLICT;return ScrollSpy._jQueryInterface;};return ScrollSpy;}(jQuery);/**
+ * --------------------------------------------------------------------------
+ * Bootstrap (v4.0.0-alpha.3): tab.js
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ * --------------------------------------------------------------------------
+ */var Tab=function($){/**
+ * ------------------------------------------------------------------------
+ * Constants
+ * ------------------------------------------------------------------------
+ */var NAME='tab';var VERSION='4.0.0-alpha.3';var DATA_KEY='bs.tab';var EVENT_KEY='.'+DATA_KEY;var DATA_API_KEY='.data-api';var JQUERY_NO_CONFLICT=$.fn[NAME];var TRANSITION_DURATION=150;var Event={HIDE:'hide'+EVENT_KEY,HIDDEN:'hidden'+EVENT_KEY,SHOW:'show'+EVENT_KEY,SHOWN:'shown'+EVENT_KEY,CLICK_DATA_API:'click'+EVENT_KEY+DATA_API_KEY};var ClassName={DROPDOWN_MENU:'dropdown-menu',ACTIVE:'active',FADE:'fade',IN:'in'};var Selector={A:'a',LI:'li',DROPDOWN:'.dropdown',UL:'ul:not(.dropdown-menu)',FADE_CHILD:'> .nav-item .fade, > .fade',ACTIVE:'.active',ACTIVE_CHILD:'> .nav-item > .active, > .active',DATA_TOGGLE:'[data-toggle="tab"], [data-toggle="pill"]',DROPDOWN_TOGGLE:'.dropdown-toggle',DROPDOWN_ACTIVE_CHILD:'> .dropdown-menu .active'};/**
+ * ------------------------------------------------------------------------
+ * Class Definition
+ * ------------------------------------------------------------------------
+ */var Tab=function(){function Tab(element){_classCallCheck(this,Tab);this._element=element;}/**
+ * ------------------------------------------------------------------------
+ * Data Api implementation
+ * ------------------------------------------------------------------------
+ */// getters
+ _createClass(Tab,[{key:'show',// public
+ value:function show(){var _this15=this;if(this._element.parentNode&&this._element.parentNode.nodeType===Node.ELEMENT_NODE&&$(this._element).hasClass(ClassName.ACTIVE)){return;}var target=undefined;var previous=undefined;var ulElement=$(this._element).closest(Selector.UL)[0];var selector=Util.getSelectorFromElement(this._element);if(ulElement){previous=$.makeArray($(ulElement).find(Selector.ACTIVE));previous=previous[previous.length-1];}var hideEvent=$.Event(Event.HIDE,{relatedTarget:this._element});var showEvent=$.Event(Event.SHOW,{relatedTarget:previous});if(previous){$(previous).trigger(hideEvent);}$(this._element).trigger(showEvent);if(showEvent.isDefaultPrevented()||hideEvent.isDefaultPrevented()){return;}if(selector){target=$(selector)[0];}this._activate(this._element,ulElement);var complete=function complete(){var hiddenEvent=$.Event(Event.HIDDEN,{relatedTarget:_this15._element});var shownEvent=$.Event(Event.SHOWN,{relatedTarget:previous});$(previous).trigger(hiddenEvent);$(_this15._element).trigger(shownEvent);};if(target){this._activate(target,target.parentNode,complete);}else{complete();}}},{key:'dispose',value:function dispose(){$.removeClass(this._element,DATA_KEY);this._element=null;}// private
+ },{key:'_activate',value:function _activate(element,container,callback){var active=$(container).find(Selector.ACTIVE_CHILD)[0];var isTransitioning=callback&&Util.supportsTransitionEnd()&&(active&&$(active).hasClass(ClassName.FADE)||Boolean($(container).find(Selector.FADE_CHILD)[0]));var complete=$.proxy(this._transitionComplete,this,element,active,isTransitioning,callback);if(active&&isTransitioning){$(active).one(Util.TRANSITION_END,complete).emulateTransitionEnd(TRANSITION_DURATION);}else{complete();}if(active){$(active).removeClass(ClassName.IN);}}},{key:'_transitionComplete',value:function _transitionComplete(element,active,isTransitioning,callback){if(active){$(active).removeClass(ClassName.ACTIVE);var dropdownChild=$(active).find(Selector.DROPDOWN_ACTIVE_CHILD)[0];if(dropdownChild){$(dropdownChild).removeClass(ClassName.ACTIVE);}active.setAttribute('aria-expanded',false);}$(element).addClass(ClassName.ACTIVE);element.setAttribute('aria-expanded',true);if(isTransitioning){Util.reflow(element);$(element).addClass(ClassName.IN);}else{$(element).removeClass(ClassName.FADE);}if(element.parentNode&&$(element.parentNode).hasClass(ClassName.DROPDOWN_MENU)){var dropdownElement=$(element).closest(Selector.DROPDOWN)[0];if(dropdownElement){$(dropdownElement).find(Selector.DROPDOWN_TOGGLE).addClass(ClassName.ACTIVE);}element.setAttribute('aria-expanded',true);}if(callback){callback();}}// static
+ }],[{key:'_jQueryInterface',value:function _jQueryInterface(config){return this.each(function(){var $this=$(this);var data=$this.data(DATA_KEY);if(!data){data=data=new Tab(this);$this.data(DATA_KEY,data);}if(typeof config==='string'){if(data[config]===undefined){throw new Error('No method named "'+config+'"');}data[config]();}});}},{key:'VERSION',get:function get(){return VERSION;}}]);return Tab;}();$(document).on(Event.CLICK_DATA_API,Selector.DATA_TOGGLE,function(event){event.preventDefault();Tab._jQueryInterface.call($(this),'show');});/**
+ * ------------------------------------------------------------------------
+ * jQuery
+ * ------------------------------------------------------------------------
+ */$.fn[NAME]=Tab._jQueryInterface;$.fn[NAME].Constructor=Tab;$.fn[NAME].noConflict=function(){$.fn[NAME]=JQUERY_NO_CONFLICT;return Tab._jQueryInterface;};return Tab;}(jQuery);/* global Tether *//**
+ * --------------------------------------------------------------------------
+ * Bootstrap (v4.0.0-alpha.3): tooltip.js
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ * --------------------------------------------------------------------------
+ */var Tooltip=function($){/**
+ * Check for Tether dependency
+ * Tether - http://github.hubspot.com/tether/
+ */if(window.Tether===undefined){throw new Error('Bootstrap tooltips require Tether (http://github.hubspot.com/tether/)');}/**
+ * ------------------------------------------------------------------------
+ * Constants
+ * ------------------------------------------------------------------------
+ */var NAME='tooltip';var VERSION='4.0.0-alpha.3';var DATA_KEY='bs.tooltip';var EVENT_KEY='.'+DATA_KEY;var JQUERY_NO_CONFLICT=$.fn[NAME];var TRANSITION_DURATION=150;var CLASS_PREFIX='bs-tether';var Default={animation:true,template:'<div class="tooltip" role="tooltip">'+'<div class="tooltip-arrow"></div>'+'<div class="tooltip-inner"></div></div>',trigger:'hover focus',title:'',delay:0,html:false,selector:false,placement:'top',offset:'0 0',constraints:[]};var DefaultType={animation:'boolean',template:'string',title:'(string|element|function)',trigger:'string',delay:'(number|object)',html:'boolean',selector:'(string|boolean)',placement:'(string|function)',offset:'string',constraints:'array'};var AttachmentMap={TOP:'bottom center',RIGHT:'middle left',BOTTOM:'top center',LEFT:'middle right'};var HoverState={IN:'in',OUT:'out'};var Event={HIDE:'hide'+EVENT_KEY,HIDDEN:'hidden'+EVENT_KEY,SHOW:'show'+EVENT_KEY,SHOWN:'shown'+EVENT_KEY,INSERTED:'inserted'+EVENT_KEY,CLICK:'click'+EVENT_KEY,FOCUSIN:'focusin'+EVENT_KEY,FOCUSOUT:'focusout'+EVENT_KEY,MOUSEENTER:'mouseenter'+EVENT_KEY,MOUSELEAVE:'mouseleave'+EVENT_KEY};var ClassName={FADE:'fade',IN:'in'};var Selector={TOOLTIP:'.tooltip',TOOLTIP_INNER:'.tooltip-inner'};var TetherClass={element:false,enabled:false};var Trigger={HOVER:'hover',FOCUS:'focus',CLICK:'click',MANUAL:'manual'};/**
+ * ------------------------------------------------------------------------
+ * Class Definition
+ * ------------------------------------------------------------------------
+ */var Tooltip=function(){function Tooltip(element,config){_classCallCheck(this,Tooltip);// private
+ this._isEnabled=true;this._timeout=0;this._hoverState='';this._activeTrigger={};this._tether=null;// protected
+ this.element=element;this.config=this._getConfig(config);this.tip=null;this._setListeners();}/**
+ * ------------------------------------------------------------------------
+ * jQuery
+ * ------------------------------------------------------------------------
+ */// getters
+ _createClass(Tooltip,[{key:'enable',// public
+ value:function enable(){this._isEnabled=true;}},{key:'disable',value:function disable(){this._isEnabled=false;}},{key:'toggleEnabled',value:function toggleEnabled(){this._isEnabled=!this._isEnabled;}},{key:'toggle',value:function toggle(event){if(event){var dataKey=this.constructor.DATA_KEY;var context=$(event.currentTarget).data(dataKey);if(!context){context=new this.constructor(event.currentTarget,this._getDelegateConfig());$(event.currentTarget).data(dataKey,context);}context._activeTrigger.click=!context._activeTrigger.click;if(context._isWithActiveTrigger()){context._enter(null,context);}else{context._leave(null,context);}}else{if($(this.getTipElement()).hasClass(ClassName.IN)){this._leave(null,this);return;}this._enter(null,this);}}},{key:'dispose',value:function dispose(){clearTimeout(this._timeout);this.cleanupTether();$.removeData(this.element,this.constructor.DATA_KEY);$(this.element).off(this.constructor.EVENT_KEY);if(this.tip){$(this.tip).remove();}this._isEnabled=null;this._timeout=null;this._hoverState=null;this._activeTrigger=null;this._tether=null;this.element=null;this.config=null;this.tip=null;}},{key:'show',value:function show(){var _this16=this;var showEvent=$.Event(this.constructor.Event.SHOW);if(this.isWithContent()&&this._isEnabled){$(this.element).trigger(showEvent);var isInTheDom=$.contains(this.element.ownerDocument.documentElement,this.element);if(showEvent.isDefaultPrevented()||!isInTheDom){return;}var tip=this.getTipElement();var tipId=Util.getUID(this.constructor.NAME);tip.setAttribute('id',tipId);this.element.setAttribute('aria-describedby',tipId);this.setContent();if(this.config.animation){$(tip).addClass(ClassName.FADE);}var placement=typeof this.config.placement==='function'?this.config.placement.call(this,tip,this.element):this.config.placement;var attachment=this._getAttachment(placement);$(tip).data(this.constructor.DATA_KEY,this).appendTo(document.body);$(this.element).trigger(this.constructor.Event.INSERTED);this._tether=new Tether({attachment:attachment,element:tip,target:this.element,classes:TetherClass,classPrefix:CLASS_PREFIX,offset:this.config.offset,constraints:this.config.constraints,addTargetClasses:false});Util.reflow(tip);this._tether.position();$(tip).addClass(ClassName.IN);var complete=function complete(){var prevHoverState=_this16._hoverState;_this16._hoverState=null;$(_this16.element).trigger(_this16.constructor.Event.SHOWN);if(prevHoverState===HoverState.OUT){_this16._leave(null,_this16);}};if(Util.supportsTransitionEnd()&&$(this.tip).hasClass(ClassName.FADE)){$(this.tip).one(Util.TRANSITION_END,complete).emulateTransitionEnd(Tooltip._TRANSITION_DURATION);return;}complete();}}},{key:'hide',value:function hide(callback){var _this17=this;var tip=this.getTipElement();var hideEvent=$.Event(this.constructor.Event.HIDE);var complete=function complete(){if(_this17._hoverState!==HoverState.IN&&tip.parentNode){tip.parentNode.removeChild(tip);}_this17.element.removeAttribute('aria-describedby');$(_this17.element).trigger(_this17.constructor.Event.HIDDEN);_this17.cleanupTether();if(callback){callback();}};$(this.element).trigger(hideEvent);if(hideEvent.isDefaultPrevented()){return;}$(tip).removeClass(ClassName.IN);if(Util.supportsTransitionEnd()&&$(this.tip).hasClass(ClassName.FADE)){$(tip).one(Util.TRANSITION_END,complete).emulateTransitionEnd(TRANSITION_DURATION);}else{complete();}this._hoverState='';}// protected
+ },{key:'isWithContent',value:function isWithContent(){return Boolean(this.getTitle());}},{key:'getTipElement',value:function getTipElement(){return this.tip=this.tip||$(this.config.template)[0];}},{key:'setContent',value:function setContent(){var $tip=$(this.getTipElement());this.setElementContent($tip.find(Selector.TOOLTIP_INNER),this.getTitle());$tip.removeClass(ClassName.FADE).removeClass(ClassName.IN);this.cleanupTether();}},{key:'setElementContent',value:function setElementContent($element,content){var html=this.config.html;if((typeof content==='undefined'?'undefined':_typeof(content))==='object'&&(content.nodeType||content.jquery)){// content is a DOM node or a jQuery
+ if(html){if(!$(content).parent().is($element)){$element.empty().append(content);}}else{$element.text($(content).text());}}else{$element[html?'html':'text'](content);}}},{key:'getTitle',value:function getTitle(){var title=this.element.getAttribute('data-original-title');if(!title){title=typeof this.config.title==='function'?this.config.title.call(this.element):this.config.title;}return title;}},{key:'cleanupTether',value:function cleanupTether(){if(this._tether){this._tether.destroy();}}// private
+ },{key:'_getAttachment',value:function _getAttachment(placement){return AttachmentMap[placement.toUpperCase()];}},{key:'_setListeners',value:function _setListeners(){var _this18=this;var triggers=this.config.trigger.split(' ');triggers.forEach(function(trigger){if(trigger==='click'){$(_this18.element).on(_this18.constructor.Event.CLICK,_this18.config.selector,$.proxy(_this18.toggle,_this18));}else if(trigger!==Trigger.MANUAL){var eventIn=trigger===Trigger.HOVER?_this18.constructor.Event.MOUSEENTER:_this18.constructor.Event.FOCUSIN;var eventOut=trigger===Trigger.HOVER?_this18.constructor.Event.MOUSELEAVE:_this18.constructor.Event.FOCUSOUT;$(_this18.element).on(eventIn,_this18.config.selector,$.proxy(_this18._enter,_this18)).on(eventOut,_this18.config.selector,$.proxy(_this18._leave,_this18));}});if(this.config.selector){this.config=$.extend({},this.config,{trigger:'manual',selector:''});}else{this._fixTitle();}}},{key:'_fixTitle',value:function _fixTitle(){var titleType=_typeof(this.element.getAttribute('data-original-title'));if(this.element.getAttribute('title')||titleType!=='string'){this.element.setAttribute('data-original-title',this.element.getAttribute('title')||'');this.element.setAttribute('title','');}}},{key:'_enter',value:function _enter(event,context){var dataKey=this.constructor.DATA_KEY;context=context||$(event.currentTarget).data(dataKey);if(!context){context=new this.constructor(event.currentTarget,this._getDelegateConfig());$(event.currentTarget).data(dataKey,context);}if(event){context._activeTrigger[event.type==='focusin'?Trigger.FOCUS:Trigger.HOVER]=true;}if($(context.getTipElement()).hasClass(ClassName.IN)||context._hoverState===HoverState.IN){context._hoverState=HoverState.IN;return;}clearTimeout(context._timeout);context._hoverState=HoverState.IN;if(!context.config.delay||!context.config.delay.show){context.show();return;}context._timeout=setTimeout(function(){if(context._hoverState===HoverState.IN){context.show();}},context.config.delay.show);}},{key:'_leave',value:function _leave(event,context){var dataKey=this.constructor.DATA_KEY;context=context||$(event.currentTarget).data(dataKey);if(!context){context=new this.constructor(event.currentTarget,this._getDelegateConfig());$(event.currentTarget).data(dataKey,context);}if(event){context._activeTrigger[event.type==='focusout'?Trigger.FOCUS:Trigger.HOVER]=false;}if(context._isWithActiveTrigger()){return;}clearTimeout(context._timeout);context._hoverState=HoverState.OUT;if(!context.config.delay||!context.config.delay.hide){context.hide();return;}context._timeout=setTimeout(function(){if(context._hoverState===HoverState.OUT){context.hide();}},context.config.delay.hide);}},{key:'_isWithActiveTrigger',value:function _isWithActiveTrigger(){for(var trigger in this._activeTrigger){if(this._activeTrigger[trigger]){return true;}}return false;}},{key:'_getConfig',value:function _getConfig(config){config=$.extend({},this.constructor.Default,$(this.element).data(),config);if(config.delay&&typeof config.delay==='number'){config.delay={show:config.delay,hide:config.delay};}Util.typeCheckConfig(NAME,config,this.constructor.DefaultType);return config;}},{key:'_getDelegateConfig',value:function _getDelegateConfig(){var config={};if(this.config){for(var key in this.config){if(this.constructor.Default[key]!==this.config[key]){config[key]=this.config[key];}}}return config;}// static
+ }],[{key:'_jQueryInterface',value:function _jQueryInterface(config){return this.each(function(){var data=$(this).data(DATA_KEY);var _config=(typeof config==='undefined'?'undefined':_typeof(config))==='object'?config:null;if(!data&&/destroy|hide/.test(config)){return;}if(!data){data=new Tooltip(this,_config);$(this).data(DATA_KEY,data);}if(typeof config==='string'){if(data[config]===undefined){throw new Error('No method named "'+config+'"');}data[config]();}});}},{key:'VERSION',get:function get(){return VERSION;}},{key:'Default',get:function get(){return Default;}},{key:'NAME',get:function get(){return NAME;}},{key:'DATA_KEY',get:function get(){return DATA_KEY;}},{key:'Event',get:function get(){return Event;}},{key:'EVENT_KEY',get:function get(){return EVENT_KEY;}},{key:'DefaultType',get:function get(){return DefaultType;}}]);return Tooltip;}();$.fn[NAME]=Tooltip._jQueryInterface;$.fn[NAME].Constructor=Tooltip;$.fn[NAME].noConflict=function(){$.fn[NAME]=JQUERY_NO_CONFLICT;return Tooltip._jQueryInterface;};return Tooltip;}(jQuery);/**
+ * --------------------------------------------------------------------------
+ * Bootstrap (v4.0.0-alpha.3): popover.js
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ * --------------------------------------------------------------------------
+ */var Popover=function($){/**
+ * ------------------------------------------------------------------------
+ * Constants
+ * ------------------------------------------------------------------------
+ */var NAME='popover';var VERSION='4.0.0-alpha.3';var DATA_KEY='bs.popover';var EVENT_KEY='.'+DATA_KEY;var JQUERY_NO_CONFLICT=$.fn[NAME];var Default=$.extend({},Tooltip.Default,{placement:'right',trigger:'click',content:'',template:'<div class="popover" role="tooltip">'+'<div class="popover-arrow"></div>'+'<h3 class="popover-title"></h3>'+'<div class="popover-content"></div></div>'});var DefaultType=$.extend({},Tooltip.DefaultType,{content:'(string|element|function)'});var ClassName={FADE:'fade',IN:'in'};var Selector={TITLE:'.popover-title',CONTENT:'.popover-content',ARROW:'.popover-arrow'};var Event={HIDE:'hide'+EVENT_KEY,HIDDEN:'hidden'+EVENT_KEY,SHOW:'show'+EVENT_KEY,SHOWN:'shown'+EVENT_KEY,INSERTED:'inserted'+EVENT_KEY,CLICK:'click'+EVENT_KEY,FOCUSIN:'focusin'+EVENT_KEY,FOCUSOUT:'focusout'+EVENT_KEY,MOUSEENTER:'mouseenter'+EVENT_KEY,MOUSELEAVE:'mouseleave'+EVENT_KEY};/**
+ * ------------------------------------------------------------------------
+ * Class Definition
+ * ------------------------------------------------------------------------
+ */var Popover=function(_Tooltip){_inherits(Popover,_Tooltip);function Popover(){_classCallCheck(this,Popover);_get(Object.getPrototypeOf(Popover.prototype),'constructor',this).apply(this,arguments);}/**
+ * ------------------------------------------------------------------------
+ * jQuery
+ * ------------------------------------------------------------------------
+ */_createClass(Popover,[{key:'isWithContent',// overrides
+ value:function isWithContent(){return this.getTitle()||this._getContent();}},{key:'getTipElement',value:function getTipElement(){return this.tip=this.tip||$(this.config.template)[0];}},{key:'setContent',value:function setContent(){var $tip=$(this.getTipElement());// we use append for html objects to maintain js events
+ this.setElementContent($tip.find(Selector.TITLE),this.getTitle());this.setElementContent($tip.find(Selector.CONTENT),this._getContent());$tip.removeClass(ClassName.FADE).removeClass(ClassName.IN);this.cleanupTether();}// private
+ },{key:'_getContent',value:function _getContent(){return this.element.getAttribute('data-content')||(typeof this.config.content==='function'?this.config.content.call(this.element):this.config.content);}// static
+ }],[{key:'_jQueryInterface',value:function _jQueryInterface(config){return this.each(function(){var data=$(this).data(DATA_KEY);var _config=(typeof config==='undefined'?'undefined':_typeof(config))==='object'?config:null;if(!data&&/destroy|hide/.test(config)){return;}if(!data){data=new Popover(this,_config);$(this).data(DATA_KEY,data);}if(typeof config==='string'){if(data[config]===undefined){throw new Error('No method named "'+config+'"');}data[config]();}});}},{key:'VERSION',// getters
+ get:function get(){return VERSION;}},{key:'Default',get:function get(){return Default;}},{key:'NAME',get:function get(){return NAME;}},{key:'DATA_KEY',get:function get(){return DATA_KEY;}},{key:'Event',get:function get(){return Event;}},{key:'EVENT_KEY',get:function get(){return EVENT_KEY;}},{key:'DefaultType',get:function get(){return DefaultType;}}]);return Popover;}(Tooltip);$.fn[NAME]=Popover._jQueryInterface;$.fn[NAME].Constructor=Popover;$.fn[NAME].noConflict=function(){$.fn[NAME]=JQUERY_NO_CONFLICT;return Popover._jQueryInterface;};return Popover;}(jQuery);}(jQuery);
+
+ var Util = function () {
+
+ /**
+ * ------------------------------------------------------------------------
+ * Private TransitionEnd Helpers
+ * ------------------------------------------------------------------------
+ */
+
+ var transitionEnd = false;
+ var _transitionEndSelector = '';
+
+ var TransitionEndEvent = {
+ WebkitTransition: 'webkitTransitionEnd',
+ MozTransition: 'transitionend',
+ OTransition: 'oTransitionEnd otransitionend',
+ transition: 'transitionend'
+ };
+
+ function transitionEndTest() {
+ if (window.QUnit) {
+ return false;
+ }
+
+ var el = document.createElement('bmd');
+
+ for (var name in TransitionEndEvent) {
+ if (el.style[name] !== undefined) {
+ return TransitionEndEvent[name]; // { end: TransitionEndEvent[name] }
+ }
+ }
+
+ return false;
+ }
+
+ function setTransitionEndSupport() {
+ transitionEnd = transitionEndTest();
+
+ // generate a concatenated transition end event selector
+ for (var name in TransitionEndEvent) {
+ _transitionEndSelector += ' ' + TransitionEndEvent[name];
+ }
+ }
+
+ /**
+ * --------------------------------------------------------------------------
+ * Public Util Api
+ * --------------------------------------------------------------------------
+ */
+
+ var Util = {
+ transitionEndSupported: function transitionEndSupported() {
+ return transitionEnd;
+ },
+ transitionEndSelector: function transitionEndSelector() {
+ return _transitionEndSelector;
+ },
+ isChar: function isChar(event) {
+ if (typeof event.which === 'undefined') {
+ return true;
+ } else if (typeof event.which === 'number' && event.which > 0) {
+ return !event.ctrlKey && !event.metaKey && !event.altKey && event.which !== 8 // backspace
+ && event.which !== 9 // tab
+ && event.which !== 13 // enter
+ && event.which !== 16 // shift
+ && event.which !== 17 // ctrl
+ && event.which !== 20 // caps lock
+ && event.which !== 27 // escape
+ ;
+ }
+ return false;
+ },
+ assert: function assert($element, invalidTest, message) {
+ if (invalidTest) {
+ if (!$element === undefined) {
+ $element.css('border', '1px solid red');
+ }
+ console.error(message, $element); // eslint-disable-line no-console
+ throw message;
+ }
+ },
+ describe: function describe($element) {
+ if ($element === undefined) {
+ return 'undefined';
+ } else if ($element.length === 0) {
+ return '(no matching elements)';
+ }
+ return $element[0].outerHTML.split('>')[0] + '>';
+ }
+ };
+
+ setTransitionEndSupport();
+ return Util;
+ }(jQuery);
+
+ var Base = function ($) {
+
+ var ClassName = {
+ BMD_FORM_GROUP: 'bmd-form-group',
+ IS_FILLED: 'is-filled',
+ IS_FOCUSED: 'is-focused'
+ };
+
+ var Selector = {
+ BMD_FORM_GROUP: '.' + ClassName.BMD_FORM_GROUP
+ };
+
+ var Default = {};
+
+ /**
+ * ------------------------------------------------------------------------
+ * Class Definition
+ * ------------------------------------------------------------------------
+ */
+
+ var Base = function () {
+
+ /**
+ *
+ * @param element
+ * @param config
+ * @param properties - anything that needs to be set as this[key] = value. Works around the need to call `super` before using `this`
+ */
+ function Base($element, config) {
+ var properties = arguments.length <= 2 || arguments[2] === undefined ? {} : arguments[2];
+ classCallCheck(this, Base);
+
+ this.$element = $element;
+ this.config = $.extend(true, {}, Default, config);
+
+ // set properties for use in the constructor initialization
+ for (var key in properties) {
+ this[key] = properties[key];
+ }
+ }
+
+ createClass(Base, [{
+ key: 'dispose',
+ value: function dispose(dataKey) {
+ this.$element.data(dataKey, null);
+ this.$element = null;
+ this.config = null;
+ }
+
+ // ------------------------------------------------------------------------
+ // protected
+
+ }, {
+ key: 'addFormGroupFocus',
+ value: function addFormGroupFocus() {
+ if (!this.$element.prop('disabled')) {
+ this.$bmdFormGroup.addClass(ClassName.IS_FOCUSED);
+ }
+ }
+ }, {
+ key: 'removeFormGroupFocus',
+ value: function removeFormGroupFocus() {
+ this.$bmdFormGroup.removeClass(ClassName.IS_FOCUSED);
+ }
+ }, {
+ key: 'removeIsFilled',
+ value: function removeIsFilled() {
+ this.$bmdFormGroup.removeClass(ClassName.IS_FILLED);
+ }
+ }, {
+ key: 'addIsFilled',
+ value: function addIsFilled() {
+ this.$bmdFormGroup.addClass(ClassName.IS_FILLED);
+ }
+
+ // Find bmd-form-group
+
+ }, {
+ key: 'findMdbFormGroup',
+ value: function findMdbFormGroup() {
+ var raiseError = arguments.length <= 0 || arguments[0] === undefined ? true : arguments[0];
+
+ var mfg = this.$element.closest(Selector.BMD_FORM_GROUP);
+ if (mfg.length === 0 && raiseError) {
+ $.error('Failed to find ' + Selector.BMD_FORM_GROUP + ' for ' + Util.describe(this.$element));
+ }
+ return mfg;
+ }
+
+ // ------------------------------------------------------------------------
+ // private
+
+ // ------------------------------------------------------------------------
+ // static
+
+ }]);
+ return Base;
+ }();
+
+ return Base;
+ }(jQuery);
+
+ var BaseInput = function ($) {
+
+ var ClassName = {
+ FORM_GROUP: 'form-group',
+ BMD_FORM_GROUP: 'bmd-form-group',
+ BMD_LABEL: 'bmd-label',
+ BMD_LABEL_STATIC: 'bmd-label-static',
+ BMD_LABEL_PLACEHOLDER: 'bmd-label-placeholder',
+ BMD_LABEL_FLOATING: 'bmd-label-floating',
+ HAS_DANGER: 'has-danger',
+ IS_FILLED: 'is-filled',
+ IS_FOCUSED: 'is-focused',
+ INPUT_GROUP: 'input-group'
+ };
+
+ var Selector = {
+ FORM_GROUP: '.' + ClassName.FORM_GROUP,
+ BMD_FORM_GROUP: '.' + ClassName.BMD_FORM_GROUP,
+ BMD_LABEL_WILDCARD: 'label[class^=\'' + ClassName.BMD_LABEL + '\'], label[class*=\' ' + ClassName.BMD_LABEL + '\']' // match any label variant if specified
+ };
+
+ var Default = {
+ validate: false,
+ formGroup: {
+ required: false
+ },
+ bmdFormGroup: {
+ template: '<span class=\'' + ClassName.BMD_FORM_GROUP + '\'></span>',
+ create: true, // create a wrapper if form-group not found
+ required: true // not recommended to turn this off, only used for inline components
+ },
+ label: {
+ required: false,
+
+ // Prioritized find order for resolving the label to be used as an bmd-label if not specified in the markup
+ // - a function(thisComponent); or
+ // - a string selector used like $bmdFormGroup.find(selector)
+ //
+ // Note this only runs if $bmdFormGroup.find(Selector.BMD_LABEL_WILDCARD) fails to find a label (as authored in the markup)
+ //
+ selectors: ['.form-control-label', // in the case of horizontal or inline forms, this will be marked
+ '> label' // usual case for text inputs, first child. Deeper would find toggle labels so don't do that.
+ ],
+ className: ClassName.BMD_LABEL_STATIC
+ },
+ requiredClasses: [],
+ invalidComponentMatches: [],
+ convertInputSizeVariations: true
+ };
+
+ var FormControlSizeMarkers = {
+ 'form-control-lg': 'bmd-form-group-lg',
+ 'form-control-sm': 'bmd-form-group-sm'
+ };
+
+ /**
+ * ------------------------------------------------------------------------
+ * Class Definition
+ * ------------------------------------------------------------------------
+ */
+
+ var BaseInput = function (_Base) {
+ inherits(BaseInput, _Base);
+
+ /**
+ *
+ * @param element
+ * @param config
+ * @param properties - anything that needs to be set as this[key] = value. Works around the need to call `super` before using `this`
+ */
+ function BaseInput($element, config) {
+ var properties = arguments.length <= 2 || arguments[2] === undefined ? {} : arguments[2];
+ classCallCheck(this, BaseInput);
+
+ // Enforce no overlap between components to prevent side effects
+ var _this = possibleConstructorReturn(this, Object.getPrototypeOf(BaseInput).call(this, $element, $.extend(true, {}, Default, config), properties));
+
+ _this._rejectInvalidComponentMatches();
+
+ // Enforce expected structure (if any)
+ _this.rejectWithoutRequiredStructure();
+
+ // Enforce required classes for a consistent rendering
+ _this._rejectWithoutRequiredClasses();
+
+ // Resolve the form-group first, it will be used for bmd-form-group if possible
+ // note: different components have different rules
+ _this.$formGroup = _this.findFormGroup(_this.config.formGroup.required);
+
+ // Will add bmd-form-group to form-group or create an bmd-form-group
+ // Performance Note: for those forms that are really performance driven, create the markup with the .bmd-form-group to avoid
+ // rendering changes once added.
+ _this.$bmdFormGroup = _this.resolveMdbFormGroup();
+
+ // Resolve and mark the bmdLabel if necessary as defined by the config
+ _this.$bmdLabel = _this.resolveMdbLabel();
+
+ // Signal to the bmd-form-group that a form-control-* variation is being used
+ _this.resolveMdbFormGroupSizing();
+
+ _this.addFocusListener();
+ _this.addChangeListener();
+
+ if (_this.$element.val() != '') {
+ _this.addIsFilled();
+ }
+ return _this;
+ }
+
+ createClass(BaseInput, [{
+ key: 'dispose',
+ value: function dispose(dataKey) {
+ get(Object.getPrototypeOf(BaseInput.prototype), 'dispose', this).call(this, dataKey);
+ this.$bmdFormGroup = null;
+ this.$formGroup = null;
+ }
+
+ // ------------------------------------------------------------------------
+ // protected
+
+ }, {
+ key: 'rejectWithoutRequiredStructure',
+ value: function rejectWithoutRequiredStructure() {
+ // implement
+ }
+ }, {
+ key: 'addFocusListener',
+ value: function addFocusListener() {
+ var _this2 = this;
+
+ this.$element.on('focus', function () {
+ _this2.addFormGroupFocus();
+ }).on('blur', function () {
+ _this2.removeFormGroupFocus();
+ });
+ }
+ }, {
+ key: 'addChangeListener',
+ value: function addChangeListener() {
+ var _this3 = this;
+
+ this.$element.on('keydown paste', function (event) {
+ if (Util.isChar(event)) {
+ _this3.addIsFilled();
+ }
+ }).on('keyup change', function () {
+
+ // make sure empty is added back when there is a programmatic value change.
+ // NOTE: programmatic changing of value using $.val() must trigger the change event i.e. $.val('x').trigger('change')
+ if (_this3.isEmpty()) {
+ _this3.removeIsFilled();
+ } else {
+ _this3.addIsFilled();
+ }
+
+ if (_this3.config.validate) {
+ // Validation events do not bubble, so they must be attached directly to the text: http://jsfiddle.net/PEpRM/1/
+ // Further, even the bind method is being caught, but since we are already calling #checkValidity here, just alter
+ // the form-group on change.
+ //
+ // NOTE: I'm not sure we should be intervening regarding validation, this seems better as a README and snippet of code.
+ // BUT, I've left it here for backwards compatibility.
+ var isValid = typeof _this3.$element[0].checkValidity === 'undefined' || _this3.$element[0].checkValidity();
+ if (isValid) {
+ _this3.removeHasDanger();
+ } else {
+ _this3.addHasDanger();
+ }
+ }
+ });
+ }
+ }, {
+ key: 'addHasDanger',
+ value: function addHasDanger() {
+ this.$bmdFormGroup.addClass(ClassName.HAS_DANGER);
+ }
+ }, {
+ key: 'removeHasDanger',
+ value: function removeHasDanger() {
+ this.$bmdFormGroup.removeClass(ClassName.HAS_DANGER);
+ }
+ }, {
+ key: 'isEmpty',
+ value: function isEmpty() {
+ return this.$element.val() === null || this.$element.val() === undefined || this.$element.val() === '';
+ }
+
+ // Will add bmd-form-group to form-group or create a bmd-form-group if necessary
+
+ }, {
+ key: 'resolveMdbFormGroup',
+ value: function resolveMdbFormGroup() {
+ var mfg = this.findMdbFormGroup(false);
+ if (mfg === undefined || mfg.length === 0) {
+ if (this.config.bmdFormGroup.create && (this.$formGroup === undefined || this.$formGroup.length === 0)) {
+ // If a form-group doesn't exist (not recommended), take a guess and wrap the element (assuming no label).
+ // note: it's possible to make this smarter, but I need to see valid cases before adding any complexity.
+
+ // this may be an input-group, wrap that instead
+ if (this.outerElement().parent().hasClass(ClassName.INPUT_GROUP)) {
+ this.outerElement().parent().wrap(this.config.bmdFormGroup.template);
+ } else {
+ this.outerElement().wrap(this.config.bmdFormGroup.template);
+ }
+ } else {
+ // a form-group does exist, add our marker class to it
+ this.$formGroup.addClass(ClassName.BMD_FORM_GROUP);
+
+ // OLD: may want to implement this after all, see how the styling turns out, but using an existing form-group is less manipulation of the dom and therefore preferable
+ // A form-group does exist, so add an bmd-form-group wrapping it's internal contents
+ //fg.wrapInner(this.config.bmdFormGroup.template)
+ }
+
+ mfg = this.findMdbFormGroup(this.config.bmdFormGroup.required);
+ }
+
+ return mfg;
+ }
+
+ // Demarcation element (e.g. first child of a form-group)
+ // Subclasses such as file inputs may have different structures
+
+ }, {
+ key: 'outerElement',
+ value: function outerElement() {
+ return this.$element;
+ }
+
+ // Will add bmd-label to bmd-form-group if not already specified
+
+ }, {
+ key: 'resolveMdbLabel',
+ value: function resolveMdbLabel() {
+
+ var label = this.$bmdFormGroup.find(Selector.BMD_LABEL_WILDCARD);
+ if (label === undefined || label.length === 0) {
+ // we need to find it based on the configured selectors
+ label = this.findMdbLabel(this.config.label.required);
+
+ if (label === undefined || label.length === 0) {
+ // no label found, and finder did not require one
+ } else {
+ // a candidate label was found, add the configured default class name
+ label.addClass(this.config.label.className);
+ }
+ }
+
+ return label;
+ }
+
+ // Find bmd-label variant based on the config selectors
+
+ }, {
+ key: 'findMdbLabel',
+ value: function findMdbLabel() {
+ var raiseError = arguments.length <= 0 || arguments[0] === undefined ? true : arguments[0];
+
+ var label = null;
+
+ // use the specified selector order
+ var _iteratorNormalCompletion = true;
+ var _didIteratorError = false;
+ var _iteratorError = undefined;
+
+ try {
+ for (var _iterator = this.config.label.selectors[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
+ var selector = _step.value;
+
+ if ($.isFunction(selector)) {
+ label = selector(this);
+ } else {
+ label = this.$bmdFormGroup.find(selector);
+ }
+
+ if (label !== undefined && label.length > 0) {
+ break;
+ }
+ }
+ } catch (err) {
+ _didIteratorError = true;
+ _iteratorError = err;
+ } finally {
+ try {
+ if (!_iteratorNormalCompletion && _iterator.return) {
+ _iterator.return();
+ }
+ } finally {
+ if (_didIteratorError) {
+ throw _iteratorError;
+ }
+ }
+ }
+
+ if (label.length === 0 && raiseError) {
+ $.error('Failed to find ' + Selector.BMD_LABEL_WILDCARD + ' within form-group for ' + Util.describe(this.$element));
+ }
+ return label;
+ }
+
+ // Find bmd-form-group
+
+ }, {
+ key: 'findFormGroup',
+ value: function findFormGroup() {
+ var raiseError = arguments.length <= 0 || arguments[0] === undefined ? true : arguments[0];
+
+ var fg = this.$element.closest(Selector.FORM_GROUP);
+ if (fg.length === 0 && raiseError) {
+ $.error('Failed to find ' + Selector.FORM_GROUP + ' for ' + Util.describe(this.$element));
+ }
+ return fg;
+ }
+
+ // Due to the interconnected nature of labels/inputs/help-blocks, signal the bmd-form-group-* size variation based on
+ // a found form-control-* size
+
+ }, {
+ key: 'resolveMdbFormGroupSizing',
+ value: function resolveMdbFormGroupSizing() {
+ if (!this.config.convertInputSizeVariations) {
+ return;
+ }
+
+ // Modification - Change text-sm/lg to form-group-sm/lg instead (preferred standard and simpler css/less variants)
+ for (var inputSize in FormControlSizeMarkers) {
+ if (this.$element.hasClass(inputSize)) {
+ //this.$element.removeClass(inputSize)
+ this.$bmdFormGroup.addClass(FormControlSizeMarkers[inputSize]);
+ }
+ }
+ }
+
+ // ------------------------------------------------------------------------
+ // private
+
+ }, {
+ key: '_rejectInvalidComponentMatches',
+ value: function _rejectInvalidComponentMatches() {
+ var _iteratorNormalCompletion2 = true;
+ var _didIteratorError2 = false;
+ var _iteratorError2 = undefined;
+
+ try {
+ for (var _iterator2 = this.config.invalidComponentMatches[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {
+ var otherComponent = _step2.value;
+
+ otherComponent.rejectMatch(this.constructor.name, this.$element);
+ }
+ } catch (err) {
+ _didIteratorError2 = true;
+ _iteratorError2 = err;
+ } finally {
+ try {
+ if (!_iteratorNormalCompletion2 && _iterator2.return) {
+ _iterator2.return();
+ }
+ } finally {
+ if (_didIteratorError2) {
+ throw _iteratorError2;
+ }
+ }
+ }
+ }
+ }, {
+ key: '_rejectWithoutRequiredClasses',
+ value: function _rejectWithoutRequiredClasses() {
+ var _iteratorNormalCompletion3 = true;
+ var _didIteratorError3 = false;
+ var _iteratorError3 = undefined;
+
+ try {
+ for (var _iterator3 = this.config.requiredClasses[Symbol.iterator](), _step3; !(_iteratorNormalCompletion3 = (_step3 = _iterator3.next()).done); _iteratorNormalCompletion3 = true) {
+ var requiredClass = _step3.value;
+
+
+ var found = false;
+ // allow one of several classes to be passed in x||y
+ if (requiredClass.indexOf('||') !== -1) {
+ var oneOf = requiredClass.split('||');
+ var _iteratorNormalCompletion4 = true;
+ var _didIteratorError4 = false;
+ var _iteratorError4 = undefined;
+
+ try {
+ for (var _iterator4 = oneOf[Symbol.iterator](), _step4; !(_iteratorNormalCompletion4 = (_step4 = _iterator4.next()).done); _iteratorNormalCompletion4 = true) {
+ var _requiredClass = _step4.value;
+
+ if (this.$element.hasClass(_requiredClass)) {
+ found = true;
+ break;
+ }
+ }
+ } catch (err) {
+ _didIteratorError4 = true;
+ _iteratorError4 = err;
+ } finally {
+ try {
+ if (!_iteratorNormalCompletion4 && _iterator4.return) {
+ _iterator4.return();
+ }
+ } finally {
+ if (_didIteratorError4) {
+ throw _iteratorError4;
+ }
+ }
+ }
+ } else if (this.$element.hasClass(requiredClass)) {
+ found = true;
+ }
+
+ // error if not found
+ if (!found) {
+ $.error(this.constructor.name + ' element: ' + Util.describe(this.$element) + ' requires class: ' + requiredClass);
+ }
+ }
+ } catch (err) {
+ _didIteratorError3 = true;
+ _iteratorError3 = err;
+ } finally {
+ try {
+ if (!_iteratorNormalCompletion3 && _iterator3.return) {
+ _iterator3.return();
+ }
+ } finally {
+ if (_didIteratorError3) {
+ throw _iteratorError3;
+ }
+ }
+ }
+ }
+
+ // ------------------------------------------------------------------------
+ // static
+
+ }]);
+ return BaseInput;
+ }(Base);
+
+ return BaseInput;
+ }(jQuery);
+
+ var BaseSelection = function ($) {
+
+ /**
+ * ------------------------------------------------------------------------
+ * Constants
+ * ------------------------------------------------------------------------
+ */
+ var Default = {
+ label: {
+ required: false
+
+ // Prioritized find order for resolving the label to be used as an bmd-label if not specified in the markup
+ // - a function(thisComponent); or
+ // - a string selector used like $bmdFormGroup.find(selector)
+ //
+ // Note this only runs if $bmdFormGroup.find(Selector.BMD_LABEL_WILDCARD) fails to find a label (as authored in the markup)
+ //
+ //selectors: [
+ // `.form-control-label`, // in the case of horizontal or inline forms, this will be marked
+ // `> label` // usual case for text inputs
+ //]
+ }
+ };
+
+ var Selector = {
+ LABEL: 'label'
+ };
+
+ /**
+ * ------------------------------------------------------------------------
+ * Class Definition
+ * ------------------------------------------------------------------------
+ */
+
+ var BaseSelection = function (_BaseInput) {
+ inherits(BaseSelection, _BaseInput);
+
+ function BaseSelection($element, config, properties) {
+ classCallCheck(this, BaseSelection);
+
+ var _this = possibleConstructorReturn(this, Object.getPrototypeOf(BaseSelection).call(this, $element, $.extend(true, {}, Default, config), properties));
+ // properties = {inputType: checkbox, outerClass: checkbox-inline}
+ // '.checkbox|switch|radio > label > input[type=checkbox|radio]'
+ // '.${this.outerClass} > label > input[type=${this.inputType}]'
+
+ _this.decorateMarkup();
+ return _this;
+ }
+
+ // ------------------------------------------------------------------------
+ // protected
+
+ createClass(BaseSelection, [{
+ key: 'decorateMarkup',
+ value: function decorateMarkup() {
+ this.$element.after(this.config.template);
+ }
+
+ // Demarcation element (e.g. first child of a form-group)
+
+ }, {
+ key: 'outerElement',
+ value: function outerElement() {
+ // .checkbox|switch|radio > label > input[type=checkbox|radio]
+ // label.checkbox-inline > input[type=checkbox|radio]
+ // .${this.outerClass} > label > input[type=${this.inputType}]
+ return this.$element.parent().closest('.' + this.outerClass);
+ }
+ }, {
+ key: 'rejectWithoutRequiredStructure',
+ value: function rejectWithoutRequiredStructure() {
+ // '.checkbox|switch|radio > label > input[type=checkbox|radio]'
+ // '.${this.outerClass} > label > input[type=${this.inputType}]'
+ Util.assert(this.$element, !this.$element.parent().prop('tagName') === 'label', this.constructor.name + '\'s ' + Util.describe(this.$element) + ' parent element should be <label>.');
+ Util.assert(this.$element, !this.outerElement().hasClass(this.outerClass), this.constructor.name + '\'s ' + Util.describe(this.$element) + ' outer element should have class ' + this.outerClass + '.');
+ }
+ }, {
+ key: 'addFocusListener',
+ value: function addFocusListener() {
+ var _this2 = this;
+
+ // checkboxes didn't appear to bubble to the document, so we'll bind these directly
+ this.$element.closest(Selector.LABEL).hover(function () {
+ _this2.addFormGroupFocus();
+ }, function () {
+ _this2.removeFormGroupFocus();
+ });
+ }
+ }, {
+ key: 'addChangeListener',
+ value: function addChangeListener() {
+ var _this3 = this;
+
+ this.$element.change(function () {
+ _this3.$element.blur();
+ });
+ }
+
+ // ------------------------------------------------------------------------
+ // private
+
+ }]);
+ return BaseSelection;
+ }(BaseInput);
+
+ return BaseSelection;
+ }(jQuery);
+
+ var Checkbox = function ($) {
+
+ /**
+ * ------------------------------------------------------------------------
+ * Constants
+ * ------------------------------------------------------------------------
+ */
+ var NAME = 'checkbox';
+ var DATA_KEY = 'bmd.' + NAME;
+ var JQUERY_NAME = 'bmd' + (NAME.charAt(0).toUpperCase() + NAME.slice(1));
+ var JQUERY_NO_CONFLICT = $.fn[JQUERY_NAME];
+
+ var Default = {
+ template: '<span class=\'checkbox-decorator\'><span class=\'check\'></span></span>'
+ };
+
+ /**
+ * ------------------------------------------------------------------------
+ * Class Definition
+ * ------------------------------------------------------------------------
+ */
+
+ var Checkbox = function (_BaseSelection) {
+ inherits(Checkbox, _BaseSelection);
+
+ function Checkbox($element, config) {
+ var properties = arguments.length <= 2 || arguments[2] === undefined ? { inputType: NAME, outerClass: NAME } : arguments[2];
+ classCallCheck(this, Checkbox);
+ return possibleConstructorReturn(this, Object.getPrototypeOf(Checkbox).call(this, $element, $.extend(true,
+ //{invalidComponentMatches: [File, Radio, Text, Textarea, Select]},
+ Default, config), properties));
+ }
+
+ createClass(Checkbox, [{
+ key: 'dispose',
+ value: function dispose() {
+ var dataKey = arguments.length <= 0 || arguments[0] === undefined ? DATA_KEY : arguments[0];
+
+ get(Object.getPrototypeOf(Checkbox.prototype), 'dispose', this).call(this, dataKey);
+ }
+ }], [{
+ key: 'matches',
+ value: function matches($element) {
+ // '.checkbox > label > input[type=checkbox]'
+ if ($element.attr('type') === 'checkbox') {
+ return true;
+ }
+ return false;
+ }
+ }, {
+ key: 'rejectMatch',
+ value: function rejectMatch(component, $element) {
+ Util.assert(this.$element, this.matches($element), component + ' component element ' + Util.describe($element) + ' is invalid for type=\'checkbox\'.');
+ }
+
+ // ------------------------------------------------------------------------
+ // protected
+
+ // ------------------------------------------------------------------------
+ // protected
+
+ // ------------------------------------------------------------------------
+ // private
+
+ // ------------------------------------------------------------------------
+ // static
+
+ }, {
+ key: '_jQueryInterface',
+ value: function _jQueryInterface(config) {
+ return this.each(function () {
+ var $element = $(this);
+ var data = $element.data(DATA_KEY);
+
+ if (!data) {
+ data = new Checkbox($element, config);
+ $element.data(DATA_KEY, data);
+ }
+ });
+ }
+ }]);
+ return Checkbox;
+ }(BaseSelection);
+
+ /**
+ * ------------------------------------------------------------------------
+ * jQuery
+ * ------------------------------------------------------------------------
+ */
+
+
+ $.fn[JQUERY_NAME] = Checkbox._jQueryInterface;
+ $.fn[JQUERY_NAME].Constructor = Checkbox;
+ $.fn[JQUERY_NAME].noConflict = function () {
+ $.fn[JQUERY_NAME] = JQUERY_NO_CONFLICT;
+ return Checkbox._jQueryInterface;
+ };
+
+ return Checkbox;
+ }(jQuery);
+
+ var CheckboxInline = function ($) {
+
+ /**
+ * ------------------------------------------------------------------------
+ * Constants
+ * ------------------------------------------------------------------------
+ */
+ var NAME = 'checkboxInline';
+ var DATA_KEY = 'bmd.' + NAME;
+ var JQUERY_NAME = 'bmd' + (NAME.charAt(0).toUpperCase() + NAME.slice(1));
+ var JQUERY_NO_CONFLICT = $.fn[JQUERY_NAME];
+
+ var Default = {
+ bmdFormGroup: {
+ create: false, // no bmd-form-group creation if form-group not present. It messes with the layout.
+ required: false
+ }
+ };
+
+ /**
+ * ------------------------------------------------------------------------
+ * Class Definition
+ * ------------------------------------------------------------------------
+ */
+
+ var CheckboxInline = function (_Checkbox) {
+ inherits(CheckboxInline, _Checkbox);
+
+ function CheckboxInline($element, config) {
+ var properties = arguments.length <= 2 || arguments[2] === undefined ? { inputType: 'checkbox', outerClass: 'checkbox-inline' } : arguments[2];
+ classCallCheck(this, CheckboxInline);
+ return possibleConstructorReturn(this, Object.getPrototypeOf(CheckboxInline).call(this, $element, $.extend(true, {}, Default, config), properties));
+ }
+
+ createClass(CheckboxInline, [{
+ key: 'dispose',
+ value: function dispose() {
+ get(Object.getPrototypeOf(CheckboxInline.prototype), 'dispose', this).call(this, DATA_KEY);
+ }
+
+ //static matches($element) {
+ // // '.checkbox-inline > input[type=checkbox]'
+ // if ($element.attr('type') === 'checkbox') {
+ // return true
+ // }
+ // return false
+ //}
+ //
+ //static rejectMatch(component, $element) {
+ // Util.assert(this.$element, this.matches($element), `${component} component element ${Util.describe($element)} is invalid for type='checkbox'.`)
+ //}
+
+ // ------------------------------------------------------------------------
+ // protected
+
+ // ------------------------------------------------------------------------
+ // protected
+
+ // ------------------------------------------------------------------------
+ // private
+
+ // ------------------------------------------------------------------------
+ // static
+
+ }], [{
+ key: '_jQueryInterface',
+ value: function _jQueryInterface(config) {
+ return this.each(function () {
+ var $element = $(this);
+ var data = $element.data(DATA_KEY);
+
+ if (!data) {
+ data = new CheckboxInline($element, config);
+ $element.data(DATA_KEY, data);
+ }
+ });
+ }
+ }]);
+ return CheckboxInline;
+ }(Checkbox);
+
+ /**
+ * ------------------------------------------------------------------------
+ * jQuery
+ * ------------------------------------------------------------------------
+ */
+
+
+ $.fn[JQUERY_NAME] = CheckboxInline._jQueryInterface;
+ $.fn[JQUERY_NAME].Constructor = CheckboxInline;
+ $.fn[JQUERY_NAME].noConflict = function () {
+ $.fn[JQUERY_NAME] = JQUERY_NO_CONFLICT;
+ return CheckboxInline._jQueryInterface;
+ };
+
+ return CheckboxInline;
+ }(jQuery);
+
+ var CollapseInline = function ($) {
+
+ /**
+ * ------------------------------------------------------------------------
+ * Constants
+ * ------------------------------------------------------------------------
+ */
+ var NAME = 'collapseInline';
+ var DATA_KEY = 'bmd.' + NAME;
+ var JQUERY_NAME = 'bmd' + (NAME.charAt(0).toUpperCase() + NAME.slice(1));
+ var JQUERY_NO_CONFLICT = $.fn[JQUERY_NAME];
+
+ var Selector = {
+ ANY_INPUT: 'input, select, textarea'
+ };
+
+ var ClassName = {
+ IN: 'in',
+ COLLAPSE: 'collapse',
+ COLLAPSING: 'collapsing',
+ COLLAPSED: 'collapsed',
+ WIDTH: 'width'
+ };
+ var Default = {};
+
+ /**
+ * ------------------------------------------------------------------------
+ * Class Definition
+ * ------------------------------------------------------------------------
+ */
+
+ var CollapseInline = function (_Base) {
+ inherits(CollapseInline, _Base);
+
+ // $element is expected to be the trigger
+ // i.e. <button class="btn bmd-btn-icon" for="search" data-toggle="collapse" data-target="#search-field" aria-expanded="false" aria-controls="search-field">
+ function CollapseInline($element, config) {
+ classCallCheck(this, CollapseInline);
+
+ var _this = possibleConstructorReturn(this, Object.getPrototypeOf(CollapseInline).call(this, $element, $.extend(true, {}, Default, config)));
+
+ _this.$bmdFormGroup = _this.findMdbFormGroup(true);
+
+ var collapseSelector = $element.data('target');
+ _this.$collapse = $(collapseSelector);
+
+ Util.assert($element, _this.$collapse.length === 0, 'Cannot find collapse target for ' + Util.describe($element));
+ Util.assert(_this.$collapse, !_this.$collapse.hasClass(ClassName.COLLAPSE), Util.describe(_this.$collapse) + ' is expected to have the \'' + ClassName.COLLAPSE + '\' class. It is being targeted by ' + Util.describe($element));
+
+ // find the first input for focusing
+ var $inputs = _this.$bmdFormGroup.find(Selector.ANY_INPUT);
+ if ($inputs.length > 0) {
+ _this.$input = $inputs.first();
+ }
+
+ // automatically add the marker class to collapse width instead of height - nice convenience because it is easily forgotten
+ if (!_this.$collapse.hasClass(ClassName.WIDTH)) {
+ _this.$collapse.addClass(ClassName.WIDTH);
+ }
+
+ if (_this.$input) {
+ // add a listener to set focus
+ _this.$collapse.on('shown.bs.collapse', function () {
+ _this.$input.focus();
+ });
+
+ // add a listener to collapse field
+ _this.$input.blur(function () {
+ _this.$collapse.collapse('hide');
+ });
+ }
+ return _this;
+ }
+
+ createClass(CollapseInline, [{
+ key: 'dispose',
+ value: function dispose() {
+ get(Object.getPrototypeOf(CollapseInline.prototype), 'dispose', this).call(this, DATA_KEY);
+ this.$bmdFormGroup = null;
+ this.$collapse = null;
+ this.$input = null;
+ }
+
+ // ------------------------------------------------------------------------
+ // private
+
+ // ------------------------------------------------------------------------
+ // static
+
+ }], [{
+ key: '_jQueryInterface',
+ value: function _jQueryInterface(config) {
+ return this.each(function () {
+ var $element = $(this);
+ var data = $element.data(DATA_KEY);
+
+ if (!data) {
+ data = new CollapseInline($element, config);
+ $element.data(DATA_KEY, data);
+ }
+ });
+ }
+ }]);
+ return CollapseInline;
+ }(Base);
+
+ /**
+ * ------------------------------------------------------------------------
+ * jQuery
+ * ------------------------------------------------------------------------
+ */
+
+
+ $.fn[JQUERY_NAME] = CollapseInline._jQueryInterface;
+ $.fn[JQUERY_NAME].Constructor = CollapseInline;
+ $.fn[JQUERY_NAME].noConflict = function () {
+ $.fn[JQUERY_NAME] = JQUERY_NO_CONFLICT;
+ return CollapseInline._jQueryInterface;
+ };
+
+ return CollapseInline;
+ }(jQuery);
+
+ var File = function ($) {
+
+ /**
+ * ------------------------------------------------------------------------
+ * Constants
+ * ------------------------------------------------------------------------
+ */
+ var NAME = 'file';
+ var DATA_KEY = 'bmd.' + NAME;
+ var JQUERY_NAME = 'bmd' + (NAME.charAt(0).toUpperCase() + NAME.slice(1));
+ var JQUERY_NO_CONFLICT = $.fn[JQUERY_NAME];
+
+ var Default = {};
+
+ var ClassName = {
+ FILE: NAME,
+ IS_FILE: 'is-file'
+ };
+
+ var Selector = {
+ FILENAMES: 'input.form-control[readonly]'
+ };
+
+ /**
+ * ------------------------------------------------------------------------
+ * Class Definition
+ * ------------------------------------------------------------------------
+ */
+
+ var File = function (_BaseInput) {
+ inherits(File, _BaseInput);
+
+ function File($element, config) {
+ classCallCheck(this, File);
+
+ var _this = possibleConstructorReturn(this, Object.getPrototypeOf(File).call(this, $element, $.extend(true,
+ //{invalidComponentMatches: [Checkbox, Radio, Text, Textarea, Select, Switch]},
+ Default, config)));
+
+ _this.$bmdFormGroup.addClass(ClassName.IS_FILE);
+ return _this;
+ }
+
+ createClass(File, [{
+ key: 'dispose',
+ value: function dispose() {
+ get(Object.getPrototypeOf(File.prototype), 'dispose', this).call(this, DATA_KEY);
+ }
+ }, {
+ key: 'outerElement',
+
+
+ // ------------------------------------------------------------------------
+ // protected
+
+ // Demarcation element (e.g. first child of a form-group)
+ value: function outerElement() {
+ // label.file > input[type=file]
+ return this.$element.parent().closest('.' + ClassName.FILE);
+ }
+ }, {
+ key: 'rejectWithoutRequiredStructure',
+ value: function rejectWithoutRequiredStructure() {
+ // label.file > input[type=file]
+ Util.assert(this.$element, !this.outerElement().prop('tagName') === 'label', this.constructor.name + '\'s ' + Util.describe(this.$element) + ' parent element ' + Util.describe(this.outerElement()) + ' should be <label>.');
+ Util.assert(this.$element, !this.outerElement().hasClass(ClassName.FILE), this.constructor.name + '\'s ' + Util.describe(this.$element) + ' parent element ' + Util.describe(this.outerElement()) + ' should have class .' + ClassName.FILE + '.');
+ }
+ }, {
+ key: 'addFocusListener',
+ value: function addFocusListener() {
+ var _this2 = this;
+
+ this.$bmdFormGroup.on('focus', function () {
+ _this2.addFormGroupFocus();
+ }).on('blur', function () {
+ _this2.removeFormGroupFocus();
+ });
+ }
+ }, {
+ key: 'addChangeListener',
+ value: function addChangeListener() {
+ var _this3 = this;
+
+ // set the fileinput readonly field with the name of the file
+ this.$element.on('change', function () {
+ var value = '';
+ $.each(_this3.$element.files, function (i, file) {
+ value += file.name + ' , ';
+ });
+ value = value.substring(0, value.length - 2);
+ if (value) {
+ _this3.addIsFilled();
+ } else {
+ _this3.removeIsFilled();
+ }
+ _this3.$bmdFormGroup.find(Selector.FILENAMES).val(value);
+ });
+ }
+
+ // ------------------------------------------------------------------------
+ // private
+
+ // ------------------------------------------------------------------------
+ // static
+
+ }], [{
+ key: 'matches',
+ value: function matches($element) {
+ if ($element.attr('type') === 'file') {
+ return true;
+ }
+ return false;
+ }
+ }, {
+ key: 'rejectMatch',
+ value: function rejectMatch(component, $element) {
+ Util.assert(this.$element, this.matches($element), component + ' component element ' + Util.describe($element) + ' is invalid for type=\'file\'.');
+ }
+ }, {
+ key: '_jQueryInterface',
+ value: function _jQueryInterface(config) {
+ return this.each(function () {
+ var $element = $(this);
+ var data = $element.data(DATA_KEY);
+
+ if (!data) {
+ data = new File($element, config);
+ $element.data(DATA_KEY, data);
+ }
+ });
+ }
+ }]);
+ return File;
+ }(BaseInput);
+
+ /**
+ * ------------------------------------------------------------------------
+ * jQuery
+ * ------------------------------------------------------------------------
+ */
+
+
+ $.fn[JQUERY_NAME] = File._jQueryInterface;
+ $.fn[JQUERY_NAME].Constructor = File;
+ $.fn[JQUERY_NAME].noConflict = function () {
+ $.fn[JQUERY_NAME] = JQUERY_NO_CONFLICT;
+ return File._jQueryInterface;
+ };
+
+ return File;
+ }(jQuery);
+
+ var Radio = function ($) {
+
+ /**
+ * ------------------------------------------------------------------------
+ * Constants
+ * ------------------------------------------------------------------------
+ */
+ var NAME = 'radio';
+ var DATA_KEY = 'bmd.' + NAME;
+ var JQUERY_NAME = 'bmd' + (NAME.charAt(0).toUpperCase() + NAME.slice(1));
+ var JQUERY_NO_CONFLICT = $.fn[JQUERY_NAME];
+
+ var Default = {
+ template: '<span class=\'bmd-radio-outer-circle\'></span><span class=\'bmd-radio-inner-circle\'></span>'
+ };
+
+ /**
+ * ------------------------------------------------------------------------
+ * Class Definition
+ * ------------------------------------------------------------------------
+ */
+
+ var Radio = function (_BaseSelection) {
+ inherits(Radio, _BaseSelection);
+
+ function Radio($element, config) {
+ var properties = arguments.length <= 2 || arguments[2] === undefined ? { inputType: NAME, outerClass: NAME } : arguments[2];
+ classCallCheck(this, Radio);
+ return possibleConstructorReturn(this, Object.getPrototypeOf(Radio).call(this, $element, $.extend(true,
+ //{invalidComponentMatches: [Checkbox, File, Switch, Text]},
+ Default, config), properties));
+ }
+
+ createClass(Radio, [{
+ key: 'dispose',
+ value: function dispose() {
+ var dataKey = arguments.length <= 0 || arguments[0] === undefined ? DATA_KEY : arguments[0];
+
+ get(Object.getPrototypeOf(Radio.prototype), 'dispose', this).call(this, dataKey);
+ }
+ }], [{
+ key: 'matches',
+ value: function matches($element) {
+ // '.radio > label > input[type=radio]'
+ if ($element.attr('type') === 'radio') {
+ return true;
+ }
+ return false;
+ }
+ }, {
+ key: 'rejectMatch',
+ value: function rejectMatch(component, $element) {
+ Util.assert(this.$element, this.matches($element), component + ' component element ' + Util.describe($element) + ' is invalid for type=\'radio\'.');
+ }
+
+ // ------------------------------------------------------------------------
+ // protected
+
+ //decorateMarkup() {
+ // this.$element.after(this.config.template)
+ //}
+
+
+ // ------------------------------------------------------------------------
+ // private
+
+ // ------------------------------------------------------------------------
+ // static
+
+ }, {
+ key: '_jQueryInterface',
+ value: function _jQueryInterface(config) {
+ return this.each(function () {
+ var $element = $(this);
+ var data = $element.data(DATA_KEY);
+
+ if (!data) {
+ data = new Radio($element, config);
+ $element.data(DATA_KEY, data);
+ }
+ });
+ }
+ }]);
+ return Radio;
+ }(BaseSelection);
+
+ /**
+ * ------------------------------------------------------------------------
+ * jQuery
+ * ------------------------------------------------------------------------
+ */
+
+
+ $.fn[JQUERY_NAME] = Radio._jQueryInterface;
+ $.fn[JQUERY_NAME].Constructor = Radio;
+ $.fn[JQUERY_NAME].noConflict = function () {
+ $.fn[JQUERY_NAME] = JQUERY_NO_CONFLICT;
+ return Radio._jQueryInterface;
+ };
+
+ return Radio;
+ }(jQuery);
+
+ var RadioInline = function ($) {
+
+ /**
+ * ------------------------------------------------------------------------
+ * Constants
+ * ------------------------------------------------------------------------
+ */
+ var NAME = 'radioInline';
+ var DATA_KEY = 'bmd.' + NAME;
+ var JQUERY_NAME = 'bmd' + (NAME.charAt(0).toUpperCase() + NAME.slice(1));
+ var JQUERY_NO_CONFLICT = $.fn[JQUERY_NAME];
+
+ var Default = {
+ bmdFormGroup: {
+ create: false, // no bmd-form-group creation if form-group not present. It messes with the layout.
+ required: false
+ }
+ };
+
+ /**
+ * ------------------------------------------------------------------------
+ * Class Definition
+ * ------------------------------------------------------------------------
+ */
+
+ var RadioInline = function (_Radio) {
+ inherits(RadioInline, _Radio);
+
+ function RadioInline($element, config) {
+ var properties = arguments.length <= 2 || arguments[2] === undefined ? { inputType: 'radio', outerClass: 'radio-inline' } : arguments[2];
+ classCallCheck(this, RadioInline);
+ return possibleConstructorReturn(this, Object.getPrototypeOf(RadioInline).call(this, $element, $.extend(true, {}, Default, config), properties));
+ }
+
+ createClass(RadioInline, [{
+ key: 'dispose',
+ value: function dispose() {
+ get(Object.getPrototypeOf(RadioInline.prototype), 'dispose', this).call(this, DATA_KEY);
+ }
+
+ // ------------------------------------------------------------------------
+ // protected
+
+ // ------------------------------------------------------------------------
+ // protected
+
+ // ------------------------------------------------------------------------
+ // private
+
+ // ------------------------------------------------------------------------
+ // static
+
+ }], [{
+ key: '_jQueryInterface',
+ value: function _jQueryInterface(config) {
+ return this.each(function () {
+ var $element = $(this);
+ var data = $element.data(DATA_KEY);
+
+ if (!data) {
+ data = new RadioInline($element, config);
+ $element.data(DATA_KEY, data);
+ }
+ });
+ }
+ }]);
+ return RadioInline;
+ }(Radio);
+
+ /**
+ * ------------------------------------------------------------------------
+ * jQuery
+ * ------------------------------------------------------------------------
+ */
+
+
+ $.fn[JQUERY_NAME] = RadioInline._jQueryInterface;
+ $.fn[JQUERY_NAME].Constructor = RadioInline;
+ $.fn[JQUERY_NAME].noConflict = function () {
+ $.fn[JQUERY_NAME] = JQUERY_NO_CONFLICT;
+ return RadioInline._jQueryInterface;
+ };
+
+ return RadioInline;
+ }(jQuery);
+
+ var BaseFormControl = function ($) {
+
+ /**
+ * ------------------------------------------------------------------------
+ * Constants
+ * ------------------------------------------------------------------------
+ */
+ var Default = {
+ requiredClasses: ['form-control']
+ };
+
+ /**
+ * ------------------------------------------------------------------------
+ * Class Definition
+ * ------------------------------------------------------------------------
+ */
+
+ var BaseFormControl = function (_BaseInput) {
+ inherits(BaseFormControl, _BaseInput);
+
+ function BaseFormControl($element, config) {
+ classCallCheck(this, BaseFormControl);
+
+ // Initially mark as empty
+ var _this = possibleConstructorReturn(this, Object.getPrototypeOf(BaseFormControl).call(this, $element, $.extend(true, Default, config)));
+
+ if (_this.isEmpty()) {
+ _this.removeIsFilled();
+ }
+ return _this;
+ }
+
+ return BaseFormControl;
+ }(BaseInput);
+
+ return BaseFormControl;
+ }(jQuery);
+
+ var Select = function ($) {
+
+ /**
+ * ------------------------------------------------------------------------
+ * Constants
+ * ------------------------------------------------------------------------
+ */
+ var NAME = 'select';
+ var DATA_KEY = 'bmd.' + NAME;
+ var JQUERY_NAME = 'bmd' + (NAME.charAt(0).toUpperCase() + NAME.slice(1));
+ var JQUERY_NO_CONFLICT = $.fn[JQUERY_NAME];
+
+ var Default = {
+ requiredClasses: ['form-control||custom-select']
+ };
+
+ /**
+ * ------------------------------------------------------------------------
+ * Class Definition
+ * ------------------------------------------------------------------------
+ */
+
+ var Select = function (_BaseFormControl) {
+ inherits(Select, _BaseFormControl);
+
+ function Select($element, config) {
+ classCallCheck(this, Select);
+
+ // floating labels will cover the options, so trigger them to be above (if used)
+ var _this = possibleConstructorReturn(this, Object.getPrototypeOf(Select).call(this, $element, $.extend(true,
+ //{invalidComponentMatches: [Checkbox, File, Radio, Switch, Text, Textarea]},
+ Default, config)));
+
+ _this.addIsFilled();
+ return _this;
+ }
+
+ createClass(Select, [{
+ key: 'dispose',
+ value: function dispose() {
+ get(Object.getPrototypeOf(Select.prototype), 'dispose', this).call(this, DATA_KEY);
+ }
+ }], [{
+ key: 'matches',
+ value: function matches($element) {
+ if ($element.prop('tagName') === 'select') {
+ return true;
+ }
+ return false;
+ }
+ }, {
+ key: 'rejectMatch',
+ value: function rejectMatch(component, $element) {
+ Util.assert(this.$element, this.matches($element), component + ' component element ' + Util.describe($element) + ' is invalid for <select>.');
+ }
+
+ // ------------------------------------------------------------------------
+ // protected
+
+ // ------------------------------------------------------------------------
+ // private
+
+ // ------------------------------------------------------------------------
+ // static
+
+ }, {
+ key: '_jQueryInterface',
+ value: function _jQueryInterface(config) {
+ return this.each(function () {
+ var $element = $(this);
+ var data = $element.data(DATA_KEY);
+
+ if (!data) {
+ data = new Select($element, config);
+ $element.data(DATA_KEY, data);
+ }
+ });
+ }
+ }]);
+ return Select;
+ }(BaseFormControl);
+
+ /**
+ * ------------------------------------------------------------------------
+ * jQuery
+ * ------------------------------------------------------------------------
+ */
+
+
+ $.fn[JQUERY_NAME] = Select._jQueryInterface;
+ $.fn[JQUERY_NAME].Constructor = Select;
+ $.fn[JQUERY_NAME].noConflict = function () {
+ $.fn[JQUERY_NAME] = JQUERY_NO_CONFLICT;
+ return Select._jQueryInterface;
+ };
+
+ return Select;
+ }(jQuery);
+
+ var Switch = function ($) {
+
+ /**
+ * ------------------------------------------------------------------------
+ * Constants
+ * ------------------------------------------------------------------------
+ */
+ var NAME = 'switch';
+ var DATA_KEY = 'bmd.' + NAME;
+ var JQUERY_NAME = 'bmd' + (NAME.charAt(0).toUpperCase() + NAME.slice(1));
+ var JQUERY_NO_CONFLICT = $.fn[JQUERY_NAME];
+
+ var Default = {
+ template: '<span class=\'bmd-switch-track\'></span>'
+ };
+
+ /**
+ * ------------------------------------------------------------------------
+ * Class Definition
+ * ------------------------------------------------------------------------
+ */
+
+ var Switch = function (_Checkbox) {
+ inherits(Switch, _Checkbox);
+
+ function Switch($element, config) {
+ var properties = arguments.length <= 2 || arguments[2] === undefined ? { inputType: 'checkbox', outerClass: 'switch' } : arguments[2];
+ classCallCheck(this, Switch);
+ return possibleConstructorReturn(this, Object.getPrototypeOf(Switch).call(this, $element, $.extend(true, {}, Default, config), properties));
+ // selector: '.switch > label > input[type=checkbox]'
+ }
+
+ createClass(Switch, [{
+ key: 'dispose',
+ value: function dispose() {
+ get(Object.getPrototypeOf(Switch.prototype), 'dispose', this).call(this, DATA_KEY);
+ }
+
+ // ------------------------------------------------------------------------
+ // protected
+
+ // ------------------------------------------------------------------------
+ // private
+
+ // ------------------------------------------------------------------------
+ // static
+
+ }], [{
+ key: '_jQueryInterface',
+ value: function _jQueryInterface(config) {
+ return this.each(function () {
+ var $element = $(this);
+ var data = $element.data(DATA_KEY);
+
+ if (!data) {
+ data = new Switch($element, config);
+ $element.data(DATA_KEY, data);
+ }
+ });
+ }
+ }]);
+ return Switch;
+ }(Checkbox);
+
+ /**
+ * ------------------------------------------------------------------------
+ * jQuery
+ * ------------------------------------------------------------------------
+ */
+
+
+ $.fn[JQUERY_NAME] = Switch._jQueryInterface;
+ $.fn[JQUERY_NAME].Constructor = Switch;
+ $.fn[JQUERY_NAME].noConflict = function () {
+ $.fn[JQUERY_NAME] = JQUERY_NO_CONFLICT;
+ return Switch._jQueryInterface;
+ };
+
+ return Switch;
+ }(jQuery);
+
+ var Text = function ($) {
+
+ /**
+ * ------------------------------------------------------------------------
+ * Constants
+ * ------------------------------------------------------------------------
+ */
+ var NAME = 'text';
+ var DATA_KEY = 'bmd.' + NAME;
+ var JQUERY_NAME = 'bmd' + (NAME.charAt(0).toUpperCase() + NAME.slice(1));
+ var JQUERY_NO_CONFLICT = $.fn[JQUERY_NAME];
+
+ var Default = {};
+
+ /**
+ * ------------------------------------------------------------------------
+ * Class Definition
+ * ------------------------------------------------------------------------
+ */
+
+ var Text = function (_BaseFormControl) {
+ inherits(Text, _BaseFormControl);
+
+ function Text($element, config) {
+ classCallCheck(this, Text);
+ return possibleConstructorReturn(this, Object.getPrototypeOf(Text).call(this, $element, $.extend(true,
+ //{invalidComponentMatches: [Checkbox, File, Radio, Switch, Select, Textarea]},
+ Default, config)));
+ }
+
+ createClass(Text, [{
+ key: 'dispose',
+ value: function dispose() {
+ var dataKey = arguments.length <= 0 || arguments[0] === undefined ? DATA_KEY : arguments[0];
+
+ get(Object.getPrototypeOf(Text.prototype), 'dispose', this).call(this, dataKey);
+ }
+ }], [{
+ key: 'matches',
+ value: function matches($element) {
+ if ($element.attr('type') === 'text') {
+ return true;
+ }
+ return false;
+ }
+ }, {
+ key: 'rejectMatch',
+ value: function rejectMatch(component, $element) {
+ Util.assert(this.$element, this.matches($element), component + ' component element ' + Util.describe($element) + ' is invalid for type=\'text\'.');
+ }
+
+ // ------------------------------------------------------------------------
+ // protected
+
+ // ------------------------------------------------------------------------
+ // private
+
+ // ------------------------------------------------------------------------
+ // static
+
+ }, {
+ key: '_jQueryInterface',
+ value: function _jQueryInterface(config) {
+ return this.each(function () {
+ var $element = $(this);
+ var data = $element.data(DATA_KEY);
+
+ if (!data) {
+ data = new Text($element, config);
+ $element.data(DATA_KEY, data);
+ }
+ });
+ }
+ }]);
+ return Text;
+ }(BaseFormControl);
+
+ /**
+ * ------------------------------------------------------------------------
+ * jQuery
+ * ------------------------------------------------------------------------
+ */
+
+
+ $.fn[JQUERY_NAME] = Text._jQueryInterface;
+ $.fn[JQUERY_NAME].Constructor = Text;
+ $.fn[JQUERY_NAME].noConflict = function () {
+ $.fn[JQUERY_NAME] = JQUERY_NO_CONFLICT;
+ return Text._jQueryInterface;
+ };
+
+ return Text;
+ }(jQuery);
+
+ var Textarea = function ($) {
+
+ /**
+ * ------------------------------------------------------------------------
+ * Constants
+ * ------------------------------------------------------------------------
+ */
+ var NAME = 'textarea';
+ var DATA_KEY = 'bmd.' + NAME;
+ var JQUERY_NAME = 'bmd' + (NAME.charAt(0).toUpperCase() + NAME.slice(1));
+ var JQUERY_NO_CONFLICT = $.fn[JQUERY_NAME];
+
+ var Default = {};
+
+ /**
+ * ------------------------------------------------------------------------
+ * Class Definition
+ * ------------------------------------------------------------------------
+ */
+
+ var Textarea = function (_BaseFormControl) {
+ inherits(Textarea, _BaseFormControl);
+
+ function Textarea($element, config) {
+ classCallCheck(this, Textarea);
+ return possibleConstructorReturn(this, Object.getPrototypeOf(Textarea).call(this, $element, $.extend(true,
+ //{invalidComponentMatches: [Checkbox, File, Radio, Text, Select, Switch]},
+ Default, config)));
+ }
+
+ createClass(Textarea, [{
+ key: 'dispose',
+ value: function dispose() {
+ get(Object.getPrototypeOf(Textarea.prototype), 'dispose', this).call(this, DATA_KEY);
+ }
+ }], [{
+ key: 'matches',
+ value: function matches($element) {
+ if ($element.prop('tagName') === 'textarea') {
+ return true;
+ }
+ return false;
+ }
+ }, {
+ key: 'rejectMatch',
+ value: function rejectMatch(component, $element) {
+ Util.assert(this.$element, this.matches($element), component + ' component element ' + Util.describe($element) + ' is invalid for <textarea>.');
+ }
+
+ // ------------------------------------------------------------------------
+ // protected
+
+ // ------------------------------------------------------------------------
+ // private
+
+ // ------------------------------------------------------------------------
+ // static
+
+ }, {
+ key: '_jQueryInterface',
+ value: function _jQueryInterface(config) {
+ return this.each(function () {
+ var $element = $(this);
+ var data = $element.data(DATA_KEY);
+
+ if (!data) {
+ data = new Textarea($element, config);
+ $element.data(DATA_KEY, data);
+ }
+ });
+ }
+ }]);
+ return Textarea;
+ }(BaseFormControl);
+
+ /**
+ * ------------------------------------------------------------------------
+ * jQuery
+ * ------------------------------------------------------------------------
+ */
+
+
+ $.fn[JQUERY_NAME] = Textarea._jQueryInterface;
+ $.fn[JQUERY_NAME].Constructor = Textarea;
+ $.fn[JQUERY_NAME].noConflict = function () {
+ $.fn[JQUERY_NAME] = JQUERY_NO_CONFLICT;
+ return Textarea._jQueryInterface;
+ };
+
+ return Textarea;
+ }(jQuery);
+
+ var BaseLayout = function ($) {
+
+ var ClassName = {
+ CANVAS: 'bmd-layout-canvas',
+ CONTAINER: 'bmd-layout-container',
+ BACKDROP: 'bmd-layout-backdrop'
+ };
+
+ var Selector = {
+ CANVAS: '.' + ClassName.CANVAS,
+ CONTAINER: '.' + ClassName.CONTAINER,
+ BACKDROP: '.' + ClassName.BACKDROP
+ };
+
+ var Default = {
+ canvas: {
+ create: true,
+ required: true,
+ template: '<div class="' + ClassName.CANVAS + '"></div>'
+ },
+ backdrop: {
+ create: true,
+ required: true,
+ template: '<div class="' + ClassName.BACKDROP + '"></div>'
+ }
+ };
+
+ /**
+ * ------------------------------------------------------------------------
+ * Class Definition
+ * ------------------------------------------------------------------------
+ */
+
+ var BaseLayout = function (_Base) {
+ inherits(BaseLayout, _Base);
+
+ function BaseLayout($element, config) {
+ var properties = arguments.length <= 2 || arguments[2] === undefined ? {} : arguments[2];
+ classCallCheck(this, BaseLayout);
+
+ var _this = possibleConstructorReturn(this, Object.getPrototypeOf(BaseLayout).call(this, $element, $.extend(true, {}, Default, config), properties));
+
+ _this.$container = _this.findContainer(true);
+ _this.$backdrop = _this.resolveBackdrop();
+ _this.resolveCanvas();
+ return _this;
+ }
+
+ createClass(BaseLayout, [{
+ key: 'dispose',
+ value: function dispose(dataKey) {
+ get(Object.getPrototypeOf(BaseLayout.prototype), 'dispose', this).call(this, dataKey);
+ this.$container = null;
+ this.$backdrop = null;
+ }
+
+ // ------------------------------------------------------------------------
+ // protected
+
+ // Will wrap container in bmd-layout-canvas if necessary
+
+ }, {
+ key: 'resolveCanvas',
+ value: function resolveCanvas() {
+ var bd = this.findCanvas(false);
+ if (bd === undefined || bd.length === 0) {
+ if (this.config.canvas.create) {
+ this.$container.wrap(this.config.canvas.template);
+ }
+
+ bd = this.findCanvas(this.config.canvas.required);
+ }
+
+ return bd;
+ }
+
+ // Find closest bmd-layout-container based on the given context
+
+ }, {
+ key: 'findCanvas',
+ value: function findCanvas() {
+ var raiseError = arguments.length <= 0 || arguments[0] === undefined ? true : arguments[0];
+ var context = arguments.length <= 1 || arguments[1] === undefined ? this.$container : arguments[1];
+
+ var canvas = context.closest(Selector.CANVAS);
+ if (canvas.length === 0 && raiseError) {
+ $.error('Failed to find ' + Selector.CANVAS + ' for ' + Util.describe(context));
+ }
+ return canvas;
+ }
+
+ // Will add bmd-layout-backdrop to bmd-layout-container if necessary
+
+ }, {
+ key: 'resolveBackdrop',
+ value: function resolveBackdrop() {
+ var bd = this.findBackdrop(false);
+ if (bd === undefined || bd.length === 0) {
+ if (this.config.backdrop.create) {
+ this.$container.append(this.config.backdrop.template);
+ }
+
+ bd = this.findBackdrop(this.config.backdrop.required);
+ }
+
+ return bd;
+ }
+
+ // Find closest bmd-layout-container based on the given context
+
+ }, {
+ key: 'findBackdrop',
+ value: function findBackdrop() {
+ var raiseError = arguments.length <= 0 || arguments[0] === undefined ? true : arguments[0];
+ var context = arguments.length <= 1 || arguments[1] === undefined ? this.$container : arguments[1];
+
+ var backdrop = context.find('> ' + Selector.BACKDROP);
+ if (backdrop.length === 0 && raiseError) {
+ $.error('Failed to find ' + Selector.BACKDROP + ' for ' + Util.describe(context));
+ }
+ return backdrop;
+ }
+
+ // Find closest bmd-layout-container based on the given context
+
+ }, {
+ key: 'findContainer',
+ value: function findContainer() {
+ var raiseError = arguments.length <= 0 || arguments[0] === undefined ? true : arguments[0];
+ var context = arguments.length <= 1 || arguments[1] === undefined ? this.$element : arguments[1];
+
+ var container = context.closest(Selector.CONTAINER);
+ if (container.length === 0 && raiseError) {
+ $.error('Failed to find ' + Selector.CONTAINER + ' for ' + Util.describe(context));
+ }
+ return container;
+ }
+
+ // ------------------------------------------------------------------------
+ // private
+
+ // ------------------------------------------------------------------------
+ // static
+
+ }]);
+ return BaseLayout;
+ }(Base);
+
+ return BaseLayout;
+ }(jQuery);
+
+ var Drawer = function ($) {
+
+ /**
+ * ------------------------------------------------------------------------
+ * Constants
+ * ------------------------------------------------------------------------
+ */
+ var NAME = 'drawer';
+ var DATA_KEY = 'bmd.' + NAME;
+ var JQUERY_NAME = 'bmd' + (NAME.charAt(0).toUpperCase() + NAME.slice(1));
+ var JQUERY_NO_CONFLICT = $.fn[JQUERY_NAME];
+
+ var Keycodes = {
+ ESCAPE: 27
+ //ENTER: 13,
+ //SPACE: 32
+ };
+
+ var ClassName = {
+ IN: 'in',
+ DRAWER_IN: 'bmd-drawer-in',
+ DRAWER_OUT: 'bmd-drawer-out',
+ DRAWER: 'bmd-layout-drawer',
+ CONTAINER: 'bmd-layout-container'
+ };
+
+ var Default = {
+ focusSelector: 'a, button, input'
+ };
+
+ /**
+ * ------------------------------------------------------------------------
+ * Class Definition
+ * ------------------------------------------------------------------------
+ */
+
+ var Drawer = function (_BaseLayout) {
+ inherits(Drawer, _BaseLayout);
+
+ // $element is expected to be the trigger
+ // i.e. <button class="btn bmd-btn-icon" for="search" data-toggle="drawer" data-target="#my-side-nav-drawer" aria-expanded="false" aria-controls="my-side-nav-drawer">
+ function Drawer($element, config) {
+ classCallCheck(this, Drawer);
+
+ var _this = possibleConstructorReturn(this, Object.getPrototypeOf(Drawer).call(this, $element, $.extend(true, {}, Default, config)));
+
+ _this.$toggles = $('[data-toggle="drawer"][href="#' + _this.$element[0].id + '"], [data-toggle="drawer"][data-target="#' + _this.$element[0].id + '"]');
+
+ _this._addAria();
+
+ // click or escape on the backdrop closes the drawer
+ _this.$backdrop.keydown(function (ev) {
+ if (ev.which === Keycodes.ESCAPE) {
+ _this.hide();
+ }
+ }).click(function () {
+ _this.hide();
+ });
+
+ // escape on the drawer closes it
+ _this.$element.keydown(function (ev) {
+ if (ev.which === Keycodes.ESCAPE) {
+ _this.hide();
+ }
+ });
+
+ // any toggle button clicks
+ _this.$toggles.click(function () {
+ _this.toggle();
+ });
+ return _this;
+ }
+
+ createClass(Drawer, [{
+ key: 'dispose',
+ value: function dispose() {
+ get(Object.getPrototypeOf(Drawer.prototype), 'dispose', this).call(this, DATA_KEY);
+ this.$toggles = null;
+ }
+ }, {
+ key: 'toggle',
+ value: function toggle() {
+ if (this._isOpen()) {
+ this.hide();
+ } else {
+ this.show();
+ }
+ }
+ }, {
+ key: 'show',
+ value: function show() {
+ if (this._isForcedClosed() || this._isOpen()) {
+ return;
+ }
+
+ this.$toggles.attr('aria-expanded', true);
+ this.$element.attr('aria-expanded', true);
+ this.$element.attr('aria-hidden', false);
+
+ // focus on the first focusable item
+ var $focusOn = this.$element.find(this.config.focusSelector);
+ if ($focusOn.length > 0) {
+ $focusOn.first().focus();
+ }
+
+ this.$container.addClass(ClassName.DRAWER_IN);
+ // backdrop is responsively styled based on bmd-drawer-overlay, therefore style is none of our concern, simply add the marker class and let the scss determine if it should be displayed or not.
+ this.$backdrop.addClass(ClassName.IN);
+ }
+ }, {
+ key: 'hide',
+ value: function hide() {
+ if (!this._isOpen()) {
+ return;
+ }
+
+ this.$toggles.attr('aria-expanded', false);
+ this.$element.attr('aria-expanded', false);
+ this.$element.attr('aria-hidden', true);
+
+ this.$container.removeClass(ClassName.DRAWER_IN);
+ this.$backdrop.removeClass(ClassName.IN);
+ }
+
+ // ------------------------------------------------------------------------
+ // private
+
+ }, {
+ key: '_isOpen',
+ value: function _isOpen() {
+ return this.$container.hasClass(ClassName.DRAWER_IN);
+ }
+ }, {
+ key: '_isForcedClosed',
+ value: function _isForcedClosed() {
+ return this.$container.hasClass(ClassName.DRAWER_OUT);
+ }
+ }, {
+ key: '_addAria',
+ value: function _addAria() {
+ var isOpen = this._isOpen();
+ this.$element.attr('aria-expanded', isOpen);
+ this.$element.attr('aria-hidden', isOpen);
+
+ if (this.$toggles.length) {
+ this.$toggles.attr('aria-expanded', isOpen);
+ }
+ }
+
+ // ------------------------------------------------------------------------
+ // static
+
+ }], [{
+ key: '_jQueryInterface',
+ value: function _jQueryInterface(config) {
+ return this.each(function () {
+ var $element = $(this);
+ var data = $element.data(DATA_KEY);
+
+ if (!data) {
+ data = new Drawer($element, config);
+ $element.data(DATA_KEY, data);
+ }
+ });
+ }
+ }]);
+ return Drawer;
+ }(BaseLayout);
+
+ /**
+ * ------------------------------------------------------------------------
+ * jQuery
+ * ------------------------------------------------------------------------
+ */
+
+
+ $.fn[JQUERY_NAME] = Drawer._jQueryInterface;
+ $.fn[JQUERY_NAME].Constructor = Drawer;
+ $.fn[JQUERY_NAME].noConflict = function () {
+ $.fn[JQUERY_NAME] = JQUERY_NO_CONFLICT;
+ return Drawer._jQueryInterface;
+ };
+
+ return Drawer;
+ }(jQuery);
+
+ var Ripples = function ($) {
+
+ /**
+ * ------------------------------------------------------------------------
+ * Constants
+ * ------------------------------------------------------------------------
+ */
+ var NAME = 'ripples';
+ var DATA_KEY = 'bmd.' + NAME;
+ var JQUERY_NAME = 'bmd' + (NAME.charAt(0).toUpperCase() + NAME.slice(1));
+ var JQUERY_NO_CONFLICT = $.fn[JQUERY_NAME];
+
+ var ClassName = {
+ CONTAINER: 'ripple-container',
+ DECORATOR: 'ripple-decorator'
+ };
+
+ var Selector = {
+ CONTAINER: '.' + ClassName.CONTAINER,
+ DECORATOR: '.' + ClassName.DECORATOR //,
+ };
+
+ var Default = {
+ container: {
+ template: '<div class=\'' + ClassName.CONTAINER + '\'></div>'
+ },
+ decorator: {
+ template: '<div class=\'' + ClassName.DECORATOR + '\'></div>'
+ },
+ trigger: {
+ start: 'mousedown touchstart',
+ end: 'mouseup mouseleave touchend'
+ },
+ touchUserAgentRegex: /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i,
+ duration: 500
+ };
+
+ /**
+ * ------------------------------------------------------------------------
+ * Class Definition
+ * ------------------------------------------------------------------------
+ */
+
+ var Ripples = function () {
+ function Ripples($element, config) {
+ var _this = this;
+
+ classCallCheck(this, Ripples);
+
+ this.$element = $element;
+
+ //console.log(`Adding ripples to ${Util.describe(this.$element)}`) // eslint-disable-line no-console
+ this.config = $.extend(true, {}, Default, config);
+
+ // attach initial listener
+ this.$element.on(this.config.trigger.start, function (event) {
+ _this._onStartRipple(event);
+ });
+ }
+
+ createClass(Ripples, [{
+ key: 'dispose',
+ value: function dispose() {
+ this.$element.data(DATA_KEY, null);
+ this.$element = null;
+ this.$container = null;
+ this.$decorator = null;
+ this.config = null;
+ }
+
+ // ------------------------------------------------------------------------
+ // private
+
+ }, {
+ key: '_onStartRipple',
+ value: function _onStartRipple(event) {
+ var _this2 = this;
+
+ // Verify if the user is just touching on a device and return if so
+ if (this._isTouch() && event.type === 'mousedown') {
+ return;
+ }
+
+ // Find or create the ripple container element
+ this._findOrCreateContainer();
+
+ // Get relY and relX positions of the container element
+ var relY = this._getRelY(event);
+ var relX = this._getRelX(event);
+
+ // If relY and/or relX are false, return the event
+ if (!relY && !relX) {
+ return;
+ }
+
+ // set the location and color each time (even if element is cached)
+ this.$decorator.css({
+ left: relX,
+ top: relY,
+ 'background-color': this._getRipplesColor()
+ });
+
+ // Make sure the ripple has the styles applied (ugly hack but it works)
+ this._forceStyleApplication();
+
+ // Turn on the ripple animation
+ this.rippleOn();
+
+ // Call the rippleEnd function when the transition 'on' ends
+ setTimeout(function () {
+ _this2.rippleEnd();
+ }, this.config.duration);
+
+ // Detect when the user leaves the element to cleanup if not already done?
+ this.$element.on(this.config.trigger.end, function () {
+ if (_this2.$decorator) {
+ // guard against race condition/mouse attack
+ _this2.$decorator.data('mousedown', 'off');
+
+ if (_this2.$decorator.data('animating') === 'off') {
+ _this2.rippleOut();
+ }
+ }
+ });
+ }
+ }, {
+ key: '_findOrCreateContainer',
+ value: function _findOrCreateContainer() {
+ if (!this.$container || !this.$container.length > 0) {
+ this.$element.append(this.config.container.template);
+ this.$container = this.$element.find(Selector.CONTAINER);
+ }
+
+ // always add the rippleElement, it is always removed
+ this.$container.append(this.config.decorator.template);
+ this.$decorator = this.$container.find(Selector.DECORATOR);
+ }
+
+ // Make sure the ripple has the styles applied (ugly hack but it works)
+
+ }, {
+ key: '_forceStyleApplication',
+ value: function _forceStyleApplication() {
+ return window.getComputedStyle(this.$decorator[0]).opacity;
+ }
+
+ /**
+ * Get the relX
+ */
+
+ }, {
+ key: '_getRelX',
+ value: function _getRelX(event) {
+ var wrapperOffset = this.$container.offset();
+
+ var result = null;
+ if (!this._isTouch()) {
+ // Get the mouse position relative to the ripple wrapper
+ result = event.pageX - wrapperOffset.left;
+ } else {
+ // Make sure the user is using only one finger and then get the touch
+ // position relative to the ripple wrapper
+ event = event.originalEvent;
+
+ if (event.touches.length === 1) {
+ result = event.touches[0].pageX - wrapperOffset.left;
+ } else {
+ result = false;
+ }
+ }
+
+ return result;
+ }
+
+ /**
+ * Get the relY
+ */
+
+ }, {
+ key: '_getRelY',
+ value: function _getRelY(event) {
+ var containerOffset = this.$container.offset();
+ var result = null;
+
+ if (!this._isTouch()) {
+ /**
+ * Get the mouse position relative to the ripple wrapper
+ */
+ result = event.pageY - containerOffset.top;
+ } else {
+ /**
+ * Make sure the user is using only one finger and then get the touch
+ * position relative to the ripple wrapper
+ */
+ event = event.originalEvent;
+
+ if (event.touches.length === 1) {
+ result = event.touches[0].pageY - containerOffset.top;
+ } else {
+ result = false;
+ }
+ }
+
+ return result;
+ }
+
+ /**
+ * Get the ripple color
+ */
+
+ }, {
+ key: '_getRipplesColor',
+ value: function _getRipplesColor() {
+ var color = this.$element.data('ripple-color') ? this.$element.data('ripple-color') : window.getComputedStyle(this.$element[0]).color;
+ return color;
+ }
+
+ /**
+ * Verify if the client is using a mobile device
+ */
+
+ }, {
+ key: '_isTouch',
+ value: function _isTouch() {
+ return this.config.touchUserAgentRegex.test(navigator.userAgent);
+ }
+
+ /**
+ * End the animation of the ripple
+ */
+
+ }, {
+ key: 'rippleEnd',
+ value: function rippleEnd() {
+ if (this.$decorator) {
+ // guard against race condition/mouse attack
+ this.$decorator.data('animating', 'off');
+
+ if (this.$decorator.data('mousedown') === 'off') {
+ this.rippleOut(this.$decorator);
+ }
+ }
+ }
+
+ /**
+ * Turn off the ripple effect
+ */
+
+ }, {
+ key: 'rippleOut',
+ value: function rippleOut() {
+ var _this3 = this;
+
+ this.$decorator.off();
+
+ if (Util.transitionEndSupported()) {
+ this.$decorator.addClass('ripple-out');
+ } else {
+ this.$decorator.animate({ opacity: 0 }, 100, function () {
+ _this3.$decorator.trigger('transitionend');
+ });
+ }
+
+ this.$decorator.on(Util.transitionEndSelector(), function () {
+ if (_this3.$decorator) {
+ _this3.$decorator.remove();
+ _this3.$decorator = null;
+ }
+ });
+ }
+
+ /**
+ * Turn on the ripple effect
+ */
+
+ }, {
+ key: 'rippleOn',
+ value: function rippleOn() {
+ var _this4 = this;
+
+ var size = this._getNewSize();
+
+ if (Util.transitionEndSupported()) {
+ this.$decorator.css({
+ '-ms-transform': 'scale(' + size + ')',
+ '-moz-transform': 'scale(' + size + ')',
+ '-webkit-transform': 'scale(' + size + ')',
+ transform: 'scale(' + size + ')'
+ }).addClass('ripple-on').data('animating', 'on').data('mousedown', 'on');
+ } else {
+ this.$decorator.animate({
+ width: Math.max(this.$element.outerWidth(), this.$element.outerHeight()) * 2,
+ height: Math.max(this.$element.outerWidth(), this.$element.outerHeight()) * 2,
+ 'margin-left': Math.max(this.$element.outerWidth(), this.$element.outerHeight()) * -1,
+ 'margin-top': Math.max(this.$element.outerWidth(), this.$element.outerHeight()) * -1,
+ opacity: 0.2
+ }, this.config.duration, function () {
+ _this4.$decorator.trigger('transitionend');
+ });
+ }
+ }
+
+ /**
+ * Get the new size based on the element height/width and the ripple width
+ */
+
+ }, {
+ key: '_getNewSize',
+ value: function _getNewSize() {
+ return Math.max(this.$element.outerWidth(), this.$element.outerHeight()) / this.$decorator.outerWidth() * 2.5;
+ }
+
+ // ------------------------------------------------------------------------
+ // static
+
+ }], [{
+ key: '_jQueryInterface',
+ value: function _jQueryInterface(config) {
+ return this.each(function () {
+ var $element = $(this);
+ var data = $element.data(DATA_KEY);
+
+ if (!data) {
+ data = new Ripples($element, config);
+ $element.data(DATA_KEY, data);
+ }
+ });
+ }
+ }]);
+ return Ripples;
+ }();
+
+ /**
+ * ------------------------------------------------------------------------
+ * jQuery
+ * ------------------------------------------------------------------------
+ */
+
+
+ $.fn[JQUERY_NAME] = Ripples._jQueryInterface;
+ $.fn[JQUERY_NAME].Constructor = Ripples;
+ $.fn[JQUERY_NAME].noConflict = function () {
+ $.fn[JQUERY_NAME] = JQUERY_NO_CONFLICT;
+ return Ripples._jQueryInterface;
+ };
+
+ return Ripples;
+ }(jQuery);
+
+ var Autofill = function ($) {
+
+ /**
+ * ------------------------------------------------------------------------
+ * Constants
+ * ------------------------------------------------------------------------
+ */
+ var NAME = 'autofill';
+ var DATA_KEY = 'bmd.' + NAME;
+ var JQUERY_NAME = 'bmd' + (NAME.charAt(0).toUpperCase() + NAME.slice(1));
+ var JQUERY_NO_CONFLICT = $.fn[JQUERY_NAME];
+
+ var Default = {};
+
+ /**
+ * ------------------------------------------------------------------------
+ * Class Definition
+ * ------------------------------------------------------------------------
+ */
+
+ var Autofill = function (_Base) {
+ inherits(Autofill, _Base);
+
+ function Autofill($element, config) {
+ classCallCheck(this, Autofill);
+
+ var _this = possibleConstructorReturn(this, Object.getPrototypeOf(Autofill).call(this, $element, $.extend(true, {}, Default, config)));
+
+ _this._watchLoading();
+ _this._attachEventHandlers();
+ return _this;
+ }
+
+ createClass(Autofill, [{
+ key: 'dispose',
+ value: function dispose() {
+ get(Object.getPrototypeOf(Autofill.prototype), 'dispose', this).call(this, DATA_KEY);
+ }
+
+ // ------------------------------------------------------------------------
+ // private
+
+ }, {
+ key: '_watchLoading',
+ value: function _watchLoading() {
+ var _this2 = this;
+
+ // After 10 seconds we are quite sure all the needed inputs are autofilled then we can stop checking them
+ setTimeout(function () {
+ clearInterval(_this2._onLoading);
+ }, 10000);
+ }
+
+ // This part of code will detect autofill when the page is loading (username and password inputs for example)
+
+ }, {
+ key: '_onLoading',
+ value: function _onLoading() {
+ setInterval(function () {
+ $('input[type!=checkbox]').each(function (index, element) {
+ var $element = $(element);
+ if ($element.val() && $element.val() !== $element.attr('value')) {
+ $element.trigger('change');
+ }
+ });
+ }, 100);
+ }
+ }, {
+ key: '_attachEventHandlers',
+ value: function _attachEventHandlers() {
+ // Listen on inputs of the focused form
+ // (because user can select from the autofill dropdown only when the input has focus)
+ var focused = null;
+ $(document).on('focus', 'input', function (event) {
+ var $inputs = $(event.currentTarget).closest('form').find('input').not('[type=file]');
+ focused = setInterval(function () {
+ $inputs.each(function (index, element) {
+ var $element = $(element);
+ if ($element.val() !== $element.attr('value')) {
+ $element.trigger('change');
+ }
+ });
+ }, 100);
+ }).on('blur', '.form-group input', function () {
+ clearInterval(focused);
+ });
+ }
+
+ // ------------------------------------------------------------------------
+ // static
+
+ }], [{
+ key: '_jQueryInterface',
+ value: function _jQueryInterface(config) {
+ return this.each(function () {
+ var $element = $(this);
+ var data = $element.data(DATA_KEY);
+
+ if (!data) {
+ data = new Autofill($element, config);
+ $element.data(DATA_KEY, data);
+ }
+ });
+ }
+ }]);
+ return Autofill;
+ }(Base);
+
+ /**
+ * ------------------------------------------------------------------------
+ * jQuery
+ * ------------------------------------------------------------------------
+ */
+
+
+ $.fn[JQUERY_NAME] = Autofill._jQueryInterface;
+ $.fn[JQUERY_NAME].Constructor = Autofill;
+ $.fn[JQUERY_NAME].noConflict = function () {
+ $.fn[JQUERY_NAME] = JQUERY_NO_CONFLICT;
+ return Autofill._jQueryInterface;
+ };
+
+ return Autofill;
+ }(jQuery);
+
+ /**
+ * $.bootstrapMaterialDesign(config) is a macro class to configure the components generally
+ * used in Bootstrap Material Design. You may pass overrides to the configurations
+ * which will be passed into each component, or you may omit use of this class and
+ * configure each component separately.
+ */
+ var BootstrapMaterialDesign = function ($) {
+
+ /**
+ * ------------------------------------------------------------------------
+ * Constants
+ * ------------------------------------------------------------------------
+ */
+ var NAME = 'bootstrapMaterialDesign';
+ var DATA_KEY = 'bmd.' + NAME;
+ var JQUERY_NAME = NAME; // retain this full name since it is long enough not to conflict
+ var JQUERY_NO_CONFLICT = $.fn[JQUERY_NAME];
+
+ /**
+ * Global configuration:
+ * The global configuration hash will be mixed in to each components' config.
+ * e.g. calling $.bootstrapMaterialDesign({global: { validate: true } }) would pass `validate:true` to every component
+ *
+ *
+ * Component configuration:
+ * - selector: may be a string or an array. Any array will be joined with a comma to generate the selector
+ * - disable any component by defining it as false with an override. e.g. $.bootstrapMaterialDesign({ autofill: false })
+ *
+ * @see each individual component for more configuration settings.
+ */
+ var Default = {
+ global: {
+ validate: false,
+ label: {
+ className: 'bmd-label-static' // default style of label to be used if not specified in the html markup
+ }
+ },
+ autofill: {
+ selector: 'body'
+ },
+ checkbox: {
+ selector: '.checkbox > label > input[type=checkbox]'
+ },
+ checkboxInline: {
+ selector: 'label.checkbox-inline > input[type=checkbox]'
+ },
+ collapseInline: {
+ selector: '.bmd-collapse-inline [data-toggle="collapse"]'
+ },
+ drawer: {
+ selector: '.bmd-layout-drawer'
+ },
+ file: {
+ selector: 'input[type=file]'
+ },
+ radio: {
+ selector: '.radio > label > input[type=radio]'
+ },
+ radioInline: {
+ selector: 'label.radio-inline > input[type=radio]'
+ },
+ ripples: {
+ //selector: ['.btn:not(.btn-link):not(.ripple-none)'] // testing only
+ selector: ['.btn:not(.btn-link):not(.ripple-none)', '.card-image:not(.ripple-none)', '.navbar a:not(.ripple-none)', '.dropdown-menu a:not(.ripple-none)', '.nav-tabs a:not(.ripple-none)', '.pagination li:not(.active):not(.disabled) a:not(.ripple-none)', '.ripple' // generic marker class to add ripple to elements
+ ]
+ },
+ select: {
+ selector: ['select']
+ },
+ switch: {
+ selector: '.switch > label > input[type=checkbox]'
+ },
+ text: {
+ // omit inputs we have specialized components to handle - we need to match text, email, etc. The easiest way to do this appears to be just omit the ones we don't want to match and let the rest fall through to this.
+ selector: ['input:not([type=hidden]):not([type=checkbox]):not([type=radio]):not([type=file]):not([type=button]):not([type=submit]):not([type=reset])']
+ },
+ textarea: {
+ selector: ['textarea']
+ },
+ arrive: true,
+ // create an ordered component list for instantiation
+ instantiation: ['ripples', 'checkbox', 'checkboxInline', 'collapseInline', 'drawer',
+ //'file',
+ 'radio', 'radioInline', 'switch', 'text', 'textarea', 'select', 'autofill']
+ };
+
+ /**
+ * ------------------------------------------------------------------------
+ * Class Definition
+ * ------------------------------------------------------------------------
+ */
+
+ var BootstrapMaterialDesign = function () {
+ function BootstrapMaterialDesign($element, config) {
+ var _this = this;
+
+ classCallCheck(this, BootstrapMaterialDesign);
+
+ this.$element = $element;
+ this.config = $.extend(true, {}, Default, config);
+ var $document = $(document);
+
+ var _iteratorNormalCompletion = true;
+ var _didIteratorError = false;
+ var _iteratorError = undefined;
+
+ try {
+ var _loop = function _loop() {
+ var component = _step.value;
+
+
+ // the component's config fragment is passed in directly, allowing users to override
+ var componentConfig = _this.config[component];
+
+ // check to make sure component config is enabled (not `false`)
+ if (componentConfig) {
+ (function () {
+
+ // assemble the selector as it may be an array
+ var selector = _this._resolveSelector(componentConfig);
+
+ // mix in global options
+ componentConfig = $.extend(true, {}, _this.config.global, componentConfig);
+
+ // create the jquery fn name e.g. 'bmdText' for 'text'
+ var componentName = '' + (component.charAt(0).toUpperCase() + component.slice(1));
+ var jqueryFn = 'bmd' + componentName;
+
+ try {
+ // safely instantiate component on selector elements with config, report errors and move on.
+ // console.debug(`instantiating: $('${selector}')[${jqueryFn}](${componentConfig})`) // eslint-disable-line no-console
+ $(selector)[jqueryFn](componentConfig);
+
+ // add to arrive if present and enabled
+ if (document.arrive && _this.config.arrive) {
+ $document.arrive(selector, function () {
+ // eslint-disable-line no-loop-func
+ $(this)[jqueryFn](componentConfig);
+ });
+ }
+ } catch (e) {
+ var message = 'Failed to instantiate component: $(\'' + selector + '\')[' + jqueryFn + '](' + componentConfig + ')';
+ console.error(message, e, '\nSelected elements: ', $(selector)); // eslint-disable-line no-console
+ throw e;
+ }
+ })();
+ }
+ };
+
+ for (var _iterator = this.config.instantiation[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
+ _loop();
+ }
+ } catch (err) {
+ _didIteratorError = true;
+ _iteratorError = err;
+ } finally {
+ try {
+ if (!_iteratorNormalCompletion && _iterator.return) {
+ _iterator.return();
+ }
+ } finally {
+ if (_didIteratorError) {
+ throw _iteratorError;
+ }
+ }
+ }
+ }
+
+ createClass(BootstrapMaterialDesign, [{
+ key: 'dispose',
+ value: function dispose() {
+ this.$element.data(DATA_KEY, null);
+ this.$element = null;
+ this.config = null;
+ }
+
+ // ------------------------------------------------------------------------
+ // private
+
+ }, {
+ key: '_resolveSelector',
+ value: function _resolveSelector(componentConfig) {
+ var selector = componentConfig.selector;
+ if (Array.isArray(selector)) {
+ selector = selector.join(', ');
+ }
+
+ return selector;
+ }
+
+ // ------------------------------------------------------------------------
+ // static
+
+ }], [{
+ key: '_jQueryInterface',
+ value: function _jQueryInterface(config) {
+ return this.each(function () {
+ var $element = $(this);
+ var data = $element.data(DATA_KEY);
+
+ if (!data) {
+ data = new BootstrapMaterialDesign($element, config);
+ $element.data(DATA_KEY, data);
+ }
+ });
+ }
+ }]);
+ return BootstrapMaterialDesign;
+ }();
+
+ /**
+ * ------------------------------------------------------------------------
+ * jQuery
+ * ------------------------------------------------------------------------
+ */
+
+
+ $.fn[JQUERY_NAME] = BootstrapMaterialDesign._jQueryInterface;
+ $.fn[JQUERY_NAME].Constructor = BootstrapMaterialDesign;
+ $.fn[JQUERY_NAME].noConflict = function () {
+ $.fn[JQUERY_NAME] = JQUERY_NO_CONFLICT;
+ return BootstrapMaterialDesign._jQueryInterface;
+ };
+
+ return BootstrapMaterialDesign;
+ }(jQuery);
+
+}());
+//# sourceMappingURL=bootstrap-material-design.iife.js.map
diff --git a/templates/assets/bootstrap-material-design/dist/bootstrap-material-design.iife.js.map b/templates/assets/bootstrap-material-design/dist/bootstrap-material-design.iife.js.map
new file mode 100644
index 0000000..161fcb6
--- /dev/null
+++ b/templates/assets/bootstrap-material-design/dist/bootstrap-material-design.iife.js.map
@@ -0,0 +1 @@
+{"version":3,"file":null,"sources":["../node_modules/core-js/modules/_global.js","../node_modules/core-js/modules/_has.js","../node_modules/core-js/modules/_fails.js","../node_modules/core-js/modules/_descriptors.js","../node_modules/core-js/modules/_core.js","../node_modules/core-js/modules/_is-object.js","../node_modules/core-js/modules/_an-object.js","../node_modules/core-js/modules/_dom-create.js","../node_modules/core-js/modules/_ie8-dom-define.js","../node_modules/core-js/modules/_to-primitive.js","../node_modules/core-js/modules/_object-dp.js","../node_modules/core-js/modules/_property-desc.js","../node_modules/core-js/modules/_hide.js","../node_modules/core-js/modules/_uid.js","../node_modules/core-js/modules/_redefine.js","../node_modules/core-js/modules/_a-function.js","../node_modules/core-js/modules/_ctx.js","../node_modules/core-js/modules/_export.js","../node_modules/core-js/modules/_meta.js","../node_modules/core-js/modules/_shared.js","../node_modules/core-js/modules/_wks.js","../node_modules/core-js/modules/_set-to-string-tag.js","../node_modules/core-js/modules/_wks-ext.js","../node_modules/core-js/modules/_library.js","../node_modules/core-js/modules/_wks-define.js","../node_modules/core-js/modules/_cof.js","../node_modules/core-js/modules/_iobject.js","../node_modules/core-js/modules/_defined.js","../node_modules/core-js/modules/_to-iobject.js","../node_modules/core-js/modules/_to-integer.js","../node_modules/core-js/modules/_to-length.js","../node_modules/core-js/modules/_to-index.js","../node_modules/core-js/modules/_array-includes.js","../node_modules/core-js/modules/_shared-key.js","../node_modules/core-js/modules/_object-keys-internal.js","../node_modules/core-js/modules/_enum-bug-keys.js","../node_modules/core-js/modules/_object-keys.js","../node_modules/core-js/modules/_keyof.js","../node_modules/core-js/modules/_object-gops.js","../node_modules/core-js/modules/_object-pie.js","../node_modules/core-js/modules/_enum-keys.js","../node_modules/core-js/modules/_is-array.js","../node_modules/core-js/modules/_object-dps.js","../node_modules/core-js/modules/_html.js","../node_modules/core-js/modules/_object-create.js","../node_modules/core-js/modules/_object-gopn.js","../node_modules/core-js/modules/_object-gopn-ext.js","../node_modules/core-js/modules/_object-gopd.js","../node_modules/core-js/modules/es6.symbol.js","../node_modules/core-js/modules/es6.object.create.js","../node_modules/core-js/modules/es6.object.define-property.js","../node_modules/core-js/modules/es6.object.define-properties.js","../node_modules/core-js/modules/_object-sap.js","../node_modules/core-js/modules/es6.object.get-own-property-descriptor.js","../node_modules/core-js/modules/_to-object.js","../node_modules/core-js/modules/_object-gpo.js","../node_modules/core-js/modules/es6.object.get-prototype-of.js","../node_modules/core-js/modules/es6.object.keys.js","../node_modules/core-js/modules/es6.object.get-own-property-names.js","../node_modules/core-js/modules/es6.object.freeze.js","../node_modules/core-js/modules/es6.object.seal.js","../node_modules/core-js/modules/es6.object.prevent-extensions.js","../node_modules/core-js/modules/es6.object.is-frozen.js","../node_modules/core-js/modules/es6.object.is-sealed.js","../node_modules/core-js/modules/es6.object.is-extensible.js","../node_modules/core-js/modules/_object-assign.js","../node_modules/core-js/modules/es6.object.assign.js","../node_modules/core-js/modules/_same-value.js","../node_modules/core-js/modules/es6.object.is.js","../node_modules/core-js/modules/_set-proto.js","../node_modules/core-js/modules/es6.object.set-prototype-of.js","../node_modules/core-js/modules/_classof.js","../node_modules/core-js/modules/es6.object.to-string.js","../node_modules/core-js/modules/_invoke.js","../node_modules/core-js/modules/_bind.js","../node_modules/core-js/modules/es6.function.bind.js","../node_modules/core-js/modules/es6.function.name.js","../node_modules/core-js/modules/es6.function.has-instance.js","../node_modules/core-js/modules/_string-ws.js","../node_modules/core-js/modules/_string-trim.js","../node_modules/core-js/modules/_parse-int.js","../node_modules/core-js/modules/es6.parse-int.js","../node_modules/core-js/modules/_parse-float.js","../node_modules/core-js/modules/es6.parse-float.js","../node_modules/core-js/modules/_inherit-if-required.js","../node_modules/core-js/modules/es6.number.constructor.js","../node_modules/core-js/modules/_a-number-value.js","../node_modules/core-js/modules/_string-repeat.js","../node_modules/core-js/modules/es6.number.to-fixed.js","../node_modules/core-js/modules/es6.number.to-precision.js","../node_modules/core-js/modules/es6.number.epsilon.js","../node_modules/core-js/modules/es6.number.is-finite.js","../node_modules/core-js/modules/_is-integer.js","../node_modules/core-js/modules/es6.number.is-integer.js","../node_modules/core-js/modules/es6.number.is-nan.js","../node_modules/core-js/modules/es6.number.is-safe-integer.js","../node_modules/core-js/modules/es6.number.max-safe-integer.js","../node_modules/core-js/modules/es6.number.min-safe-integer.js","../node_modules/core-js/modules/es6.number.parse-float.js","../node_modules/core-js/modules/es6.number.parse-int.js","../node_modules/core-js/modules/_math-log1p.js","../node_modules/core-js/modules/es6.math.acosh.js","../node_modules/core-js/modules/es6.math.asinh.js","../node_modules/core-js/modules/es6.math.atanh.js","../node_modules/core-js/modules/_math-sign.js","../node_modules/core-js/modules/es6.math.cbrt.js","../node_modules/core-js/modules/es6.math.clz32.js","../node_modules/core-js/modules/es6.math.cosh.js","../node_modules/core-js/modules/_math-expm1.js","../node_modules/core-js/modules/es6.math.expm1.js","../node_modules/core-js/modules/es6.math.fround.js","../node_modules/core-js/modules/es6.math.hypot.js","../node_modules/core-js/modules/es6.math.imul.js","../node_modules/core-js/modules/es6.math.log10.js","../node_modules/core-js/modules/es6.math.log1p.js","../node_modules/core-js/modules/es6.math.log2.js","../node_modules/core-js/modules/es6.math.sign.js","../node_modules/core-js/modules/es6.math.sinh.js","../node_modules/core-js/modules/es6.math.tanh.js","../node_modules/core-js/modules/es6.math.trunc.js","../node_modules/core-js/modules/es6.string.from-code-point.js","../node_modules/core-js/modules/es6.string.raw.js","../node_modules/core-js/modules/es6.string.trim.js","../node_modules/core-js/modules/_string-at.js","../node_modules/core-js/modules/_iterators.js","../node_modules/core-js/modules/_iter-create.js","../node_modules/core-js/modules/_iter-define.js","../node_modules/core-js/modules/es6.string.iterator.js","../node_modules/core-js/modules/es6.string.code-point-at.js","../node_modules/core-js/modules/_is-regexp.js","../node_modules/core-js/modules/_string-context.js","../node_modules/core-js/modules/_fails-is-regexp.js","../node_modules/core-js/modules/es6.string.ends-with.js","../node_modules/core-js/modules/es6.string.includes.js","../node_modules/core-js/modules/es6.string.repeat.js","../node_modules/core-js/modules/es6.string.starts-with.js","../node_modules/core-js/modules/_string-html.js","../node_modules/core-js/modules/es6.string.anchor.js","../node_modules/core-js/modules/es6.string.big.js","../node_modules/core-js/modules/es6.string.blink.js","../node_modules/core-js/modules/es6.string.bold.js","../node_modules/core-js/modules/es6.string.fixed.js","../node_modules/core-js/modules/es6.string.fontcolor.js","../node_modules/core-js/modules/es6.string.fontsize.js","../node_modules/core-js/modules/es6.string.italics.js","../node_modules/core-js/modules/es6.string.link.js","../node_modules/core-js/modules/es6.string.small.js","../node_modules/core-js/modules/es6.string.strike.js","../node_modules/core-js/modules/es6.string.sub.js","../node_modules/core-js/modules/es6.string.sup.js","../node_modules/core-js/modules/es6.date.now.js","../node_modules/core-js/modules/es6.date.to-json.js","../node_modules/core-js/modules/es6.date.to-iso-string.js","../node_modules/core-js/modules/es6.date.to-string.js","../node_modules/core-js/modules/_date-to-primitive.js","../node_modules/core-js/modules/es6.date.to-primitive.js","../node_modules/core-js/modules/es6.array.is-array.js","../node_modules/core-js/modules/_iter-call.js","../node_modules/core-js/modules/_is-array-iter.js","../node_modules/core-js/modules/_create-property.js","../node_modules/core-js/modules/core.get-iterator-method.js","../node_modules/core-js/modules/_iter-detect.js","../node_modules/core-js/modules/es6.array.from.js","../node_modules/core-js/modules/es6.array.of.js","../node_modules/core-js/modules/_strict-method.js","../node_modules/core-js/modules/es6.array.join.js","../node_modules/core-js/modules/es6.array.slice.js","../node_modules/core-js/modules/es6.array.sort.js","../node_modules/core-js/modules/_array-species-constructor.js","../node_modules/core-js/modules/_array-species-create.js","../node_modules/core-js/modules/_array-methods.js","../node_modules/core-js/modules/es6.array.for-each.js","../node_modules/core-js/modules/es6.array.map.js","../node_modules/core-js/modules/es6.array.filter.js","../node_modules/core-js/modules/es6.array.some.js","../node_modules/core-js/modules/es6.array.every.js","../node_modules/core-js/modules/_array-reduce.js","../node_modules/core-js/modules/es6.array.reduce.js","../node_modules/core-js/modules/es6.array.reduce-right.js","../node_modules/core-js/modules/es6.array.index-of.js","../node_modules/core-js/modules/es6.array.last-index-of.js","../node_modules/core-js/modules/_array-copy-within.js","../node_modules/core-js/modules/_add-to-unscopables.js","../node_modules/core-js/modules/es6.array.copy-within.js","../node_modules/core-js/modules/_array-fill.js","../node_modules/core-js/modules/es6.array.fill.js","../node_modules/core-js/modules/es6.array.find.js","../node_modules/core-js/modules/es6.array.find-index.js","../node_modules/core-js/modules/_set-species.js","../node_modules/core-js/modules/es6.array.species.js","../node_modules/core-js/modules/_iter-step.js","../node_modules/core-js/modules/es6.array.iterator.js","../node_modules/core-js/modules/_flags.js","../node_modules/core-js/modules/es6.regexp.constructor.js","../node_modules/core-js/modules/es6.regexp.flags.js","../node_modules/core-js/modules/es6.regexp.to-string.js","../node_modules/core-js/modules/_fix-re-wks.js","../node_modules/core-js/modules/es6.regexp.match.js","../node_modules/core-js/modules/es6.regexp.replace.js","../node_modules/core-js/modules/es6.regexp.search.js","../node_modules/core-js/modules/es6.regexp.split.js","../node_modules/core-js/modules/_an-instance.js","../node_modules/core-js/modules/_for-of.js","../node_modules/core-js/modules/_species-constructor.js","../node_modules/core-js/modules/_task.js","../node_modules/core-js/modules/_microtask.js","../node_modules/core-js/modules/_redefine-all.js","../node_modules/core-js/modules/es6.promise.js","../node_modules/core-js/modules/_collection-strong.js","../node_modules/core-js/modules/_collection.js","../node_modules/core-js/modules/es6.map.js","../node_modules/core-js/modules/es6.set.js","../node_modules/core-js/modules/_collection-weak.js","../node_modules/core-js/modules/es6.weak-map.js","../node_modules/core-js/modules/es6.weak-set.js","../node_modules/core-js/modules/_typed.js","../node_modules/core-js/modules/_typed-buffer.js","../node_modules/core-js/modules/es6.typed.array-buffer.js","../node_modules/core-js/modules/es6.typed.data-view.js","../node_modules/core-js/modules/_typed-array.js","../node_modules/core-js/modules/es6.typed.int8-array.js","../node_modules/core-js/modules/es6.typed.uint8-array.js","../node_modules/core-js/modules/es6.typed.uint8-clamped-array.js","../node_modules/core-js/modules/es6.typed.int16-array.js","../node_modules/core-js/modules/es6.typed.uint16-array.js","../node_modules/core-js/modules/es6.typed.int32-array.js","../node_modules/core-js/modules/es6.typed.uint32-array.js","../node_modules/core-js/modules/es6.typed.float32-array.js","../node_modules/core-js/modules/es6.typed.float64-array.js","../node_modules/core-js/modules/es6.reflect.apply.js","../node_modules/core-js/modules/es6.reflect.construct.js","../node_modules/core-js/modules/es6.reflect.define-property.js","../node_modules/core-js/modules/es6.reflect.delete-property.js","../node_modules/core-js/modules/es6.reflect.enumerate.js","../node_modules/core-js/modules/es6.reflect.get.js","../node_modules/core-js/modules/es6.reflect.get-own-property-descriptor.js","../node_modules/core-js/modules/es6.reflect.get-prototype-of.js","../node_modules/core-js/modules/es6.reflect.has.js","../node_modules/core-js/modules/es6.reflect.is-extensible.js","../node_modules/core-js/modules/_own-keys.js","../node_modules/core-js/modules/es6.reflect.own-keys.js","../node_modules/core-js/modules/es6.reflect.prevent-extensions.js","../node_modules/core-js/modules/es6.reflect.set.js","../node_modules/core-js/modules/es6.reflect.set-prototype-of.js","../node_modules/core-js/modules/es7.array.includes.js","../node_modules/core-js/modules/es7.string.at.js","../node_modules/core-js/modules/_string-pad.js","../node_modules/core-js/modules/es7.string.pad-start.js","../node_modules/core-js/modules/es7.string.pad-end.js","../node_modules/core-js/modules/es7.string.trim-left.js","../node_modules/core-js/modules/es7.string.trim-right.js","../node_modules/core-js/modules/es7.string.match-all.js","../node_modules/core-js/modules/es7.symbol.async-iterator.js","../node_modules/core-js/modules/es7.symbol.observable.js","../node_modules/core-js/modules/es7.object.get-own-property-descriptors.js","../node_modules/core-js/modules/_object-to-array.js","../node_modules/core-js/modules/es7.object.values.js","../node_modules/core-js/modules/es7.object.entries.js","../node_modules/core-js/modules/_object-forced-pam.js","../node_modules/core-js/modules/es7.object.define-getter.js","../node_modules/core-js/modules/es7.object.define-setter.js","../node_modules/core-js/modules/es7.object.lookup-getter.js","../node_modules/core-js/modules/es7.object.lookup-setter.js","../node_modules/core-js/modules/_array-from-iterable.js","../node_modules/core-js/modules/_collection-to-json.js","../node_modules/core-js/modules/es7.map.to-json.js","../node_modules/core-js/modules/es7.set.to-json.js","../node_modules/core-js/modules/es7.system.global.js","../node_modules/core-js/modules/es7.error.is-error.js","../node_modules/core-js/modules/es7.math.iaddh.js","../node_modules/core-js/modules/es7.math.isubh.js","../node_modules/core-js/modules/es7.math.imulh.js","../node_modules/core-js/modules/es7.math.umulh.js","../node_modules/core-js/modules/_metadata.js","../node_modules/core-js/modules/es7.reflect.define-metadata.js","../node_modules/core-js/modules/es7.reflect.delete-metadata.js","../node_modules/core-js/modules/es7.reflect.get-metadata.js","../node_modules/core-js/modules/es7.reflect.get-metadata-keys.js","../node_modules/core-js/modules/es7.reflect.get-own-metadata.js","../node_modules/core-js/modules/es7.reflect.get-own-metadata-keys.js","../node_modules/core-js/modules/es7.reflect.has-metadata.js","../node_modules/core-js/modules/es7.reflect.has-own-metadata.js","../node_modules/core-js/modules/es7.reflect.metadata.js","../node_modules/core-js/modules/es7.asap.js","../node_modules/core-js/modules/es7.observable.js","../node_modules/core-js/modules/_path.js","../node_modules/core-js/modules/_partial.js","../node_modules/core-js/modules/web.timers.js","../node_modules/core-js/modules/web.immediate.js","../node_modules/core-js/modules/web.dom.iterable.js","../node_modules/core-js/shim.js","../node_modules/regenerator-runtime/runtime.js","../node_modules/core-js/modules/_replacer.js","../node_modules/core-js/modules/core.regexp.escape.js","../node_modules/core-js/fn/regexp/escape.js","../node_modules/babel-polyfill/lib/index.js","../node_modules/bootstrap/dist/js/bootstrap.js","../js/util.js","../js/base.js","../js/baseInput.js","../js/baseSelection.js","../js/checkbox.js","../js/checkboxInline.js","../js/collapseInline.js","../js/file.js","../js/radio.js","../js/radioInline.js","../js/baseFormControl.js","../js/select.js","../js/switch.js","../js/text.js","../js/textarea.js","../js/baseLayout.js","../js/drawer.js","../js/ripples.js","../js/autofill.js","../js/bootstrapMaterialDesign.js"],"sourcesContent":["// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nvar global = module.exports = typeof window != 'undefined' && window.Math == Math\n ? window : typeof self != 'undefined' && self.Math == Math ? self : Function('return this')();\nif(typeof __g == 'number')__g = global; // eslint-disable-line no-undef","var hasOwnProperty = {}.hasOwnProperty;\nmodule.exports = function(it, key){\n return hasOwnProperty.call(it, key);\n};","module.exports = function(exec){\n try {\n return !!exec();\n } catch(e){\n return true;\n }\n};","// Thank's IE8 for his funny defineProperty\nmodule.exports = !require('./_fails')(function(){\n return Object.defineProperty({}, 'a', {get: function(){ return 7; }}).a != 7;\n});","var core = module.exports = {version: '2.4.0'};\nif(typeof __e == 'number')__e = core; // eslint-disable-line no-undef","module.exports = function(it){\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n};","var isObject = require('./_is-object');\nmodule.exports = function(it){\n if(!isObject(it))throw TypeError(it + ' is not an object!');\n return it;\n};","var isObject = require('./_is-object')\n , document = require('./_global').document\n // in old IE typeof document.createElement is 'object'\n , is = isObject(document) && isObject(document.createElement);\nmodule.exports = function(it){\n return is ? document.createElement(it) : {};\n};","module.exports = !require('./_descriptors') && !require('./_fails')(function(){\n return Object.defineProperty(require('./_dom-create')('div'), 'a', {get: function(){ return 7; }}).a != 7;\n});","// 7.1.1 ToPrimitive(input [, PreferredType])\nvar isObject = require('./_is-object');\n// instead of the ES6 spec version, we didn't implement @@toPrimitive case\n// and the second argument - flag - preferred type is a string\nmodule.exports = function(it, S){\n if(!isObject(it))return it;\n var fn, val;\n if(S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it)))return val;\n if(typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it)))return val;\n if(!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it)))return val;\n throw TypeError(\"Can't convert object to primitive value\");\n};","var anObject = require('./_an-object')\n , IE8_DOM_DEFINE = require('./_ie8-dom-define')\n , toPrimitive = require('./_to-primitive')\n , dP = Object.defineProperty;\n\nexports.f = require('./_descriptors') ? Object.defineProperty : function defineProperty(O, P, Attributes){\n anObject(O);\n P = toPrimitive(P, true);\n anObject(Attributes);\n if(IE8_DOM_DEFINE)try {\n return dP(O, P, Attributes);\n } catch(e){ /* empty */ }\n if('get' in Attributes || 'set' in Attributes)throw TypeError('Accessors not supported!');\n if('value' in Attributes)O[P] = Attributes.value;\n return O;\n};","module.exports = function(bitmap, value){\n return {\n enumerable : !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable : !(bitmap & 4),\n value : value\n };\n};","var dP = require('./_object-dp')\n , createDesc = require('./_property-desc');\nmodule.exports = require('./_descriptors') ? function(object, key, value){\n return dP.f(object, key, createDesc(1, value));\n} : function(object, key, value){\n object[key] = value;\n return object;\n};","var id = 0\n , px = Math.random();\nmodule.exports = function(key){\n return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36));\n};","var global = require('./_global')\n , hide = require('./_hide')\n , has = require('./_has')\n , SRC = require('./_uid')('src')\n , TO_STRING = 'toString'\n , $toString = Function[TO_STRING]\n , TPL = ('' + $toString).split(TO_STRING);\n\nrequire('./_core').inspectSource = function(it){\n return $toString.call(it);\n};\n\n(module.exports = function(O, key, val, safe){\n var isFunction = typeof val == 'function';\n if(isFunction)has(val, 'name') || hide(val, 'name', key);\n if(O[key] === val)return;\n if(isFunction)has(val, SRC) || hide(val, SRC, O[key] ? '' + O[key] : TPL.join(String(key)));\n if(O === global){\n O[key] = val;\n } else {\n if(!safe){\n delete O[key];\n hide(O, key, val);\n } else {\n if(O[key])O[key] = val;\n else hide(O, key, val);\n }\n }\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n})(Function.prototype, TO_STRING, function toString(){\n return typeof this == 'function' && this[SRC] || $toString.call(this);\n});","module.exports = function(it){\n if(typeof it != 'function')throw TypeError(it + ' is not a function!');\n return it;\n};","// optional / simple context binding\nvar aFunction = require('./_a-function');\nmodule.exports = function(fn, that, length){\n aFunction(fn);\n if(that === undefined)return fn;\n switch(length){\n case 1: return function(a){\n return fn.call(that, a);\n };\n case 2: return function(a, b){\n return fn.call(that, a, b);\n };\n case 3: return function(a, b, c){\n return fn.call(that, a, b, c);\n };\n }\n return function(/* ...args */){\n return fn.apply(that, arguments);\n };\n};","var global = require('./_global')\n , core = require('./_core')\n , hide = require('./_hide')\n , redefine = require('./_redefine')\n , ctx = require('./_ctx')\n , PROTOTYPE = 'prototype';\n\nvar $export = function(type, name, source){\n var IS_FORCED = type & $export.F\n , IS_GLOBAL = type & $export.G\n , IS_STATIC = type & $export.S\n , IS_PROTO = type & $export.P\n , IS_BIND = type & $export.B\n , target = IS_GLOBAL ? global : IS_STATIC ? global[name] || (global[name] = {}) : (global[name] || {})[PROTOTYPE]\n , exports = IS_GLOBAL ? core : core[name] || (core[name] = {})\n , expProto = exports[PROTOTYPE] || (exports[PROTOTYPE] = {})\n , key, own, out, exp;\n if(IS_GLOBAL)source = name;\n for(key in source){\n // contains in native\n own = !IS_FORCED && target && target[key] !== undefined;\n // export native or passed\n out = (own ? target : source)[key];\n // bind timers to global for call from export context\n exp = IS_BIND && own ? ctx(out, global) : IS_PROTO && typeof out == 'function' ? ctx(Function.call, out) : out;\n // extend global\n if(target)redefine(target, key, out, type & $export.U);\n // export\n if(exports[key] != out)hide(exports, key, exp);\n if(IS_PROTO && expProto[key] != out)expProto[key] = out;\n }\n};\nglobal.core = core;\n// type bitmap\n$export.F = 1; // forced\n$export.G = 2; // global\n$export.S = 4; // static\n$export.P = 8; // proto\n$export.B = 16; // bind\n$export.W = 32; // wrap\n$export.U = 64; // safe\n$export.R = 128; // real proto method for `library` \nmodule.exports = $export;","var META = require('./_uid')('meta')\n , isObject = require('./_is-object')\n , has = require('./_has')\n , setDesc = require('./_object-dp').f\n , id = 0;\nvar isExtensible = Object.isExtensible || function(){\n return true;\n};\nvar FREEZE = !require('./_fails')(function(){\n return isExtensible(Object.preventExtensions({}));\n});\nvar setMeta = function(it){\n setDesc(it, META, {value: {\n i: 'O' + ++id, // object ID\n w: {} // weak collections IDs\n }});\n};\nvar fastKey = function(it, create){\n // return primitive with prefix\n if(!isObject(it))return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;\n if(!has(it, META)){\n // can't set metadata to uncaught frozen object\n if(!isExtensible(it))return 'F';\n // not necessary to add metadata\n if(!create)return 'E';\n // add missing metadata\n setMeta(it);\n // return object ID\n } return it[META].i;\n};\nvar getWeak = function(it, create){\n if(!has(it, META)){\n // can't set metadata to uncaught frozen object\n if(!isExtensible(it))return true;\n // not necessary to add metadata\n if(!create)return false;\n // add missing metadata\n setMeta(it);\n // return hash weak collections IDs\n } return it[META].w;\n};\n// add metadata on freeze-family methods calling\nvar onFreeze = function(it){\n if(FREEZE && meta.NEED && isExtensible(it) && !has(it, META))setMeta(it);\n return it;\n};\nvar meta = module.exports = {\n KEY: META,\n NEED: false,\n fastKey: fastKey,\n getWeak: getWeak,\n onFreeze: onFreeze\n};","var global = require('./_global')\n , SHARED = '__core-js_shared__'\n , store = global[SHARED] || (global[SHARED] = {});\nmodule.exports = function(key){\n return store[key] || (store[key] = {});\n};","var store = require('./_shared')('wks')\n , uid = require('./_uid')\n , Symbol = require('./_global').Symbol\n , USE_SYMBOL = typeof Symbol == 'function';\n\nvar $exports = module.exports = function(name){\n return store[name] || (store[name] =\n USE_SYMBOL && Symbol[name] || (USE_SYMBOL ? Symbol : uid)('Symbol.' + name));\n};\n\n$exports.store = store;","var def = require('./_object-dp').f\n , has = require('./_has')\n , TAG = require('./_wks')('toStringTag');\n\nmodule.exports = function(it, tag, stat){\n if(it && !has(it = stat ? it : it.prototype, TAG))def(it, TAG, {configurable: true, value: tag});\n};","exports.f = require('./_wks');","module.exports = false;","var global = require('./_global')\n , core = require('./_core')\n , LIBRARY = require('./_library')\n , wksExt = require('./_wks-ext')\n , defineProperty = require('./_object-dp').f;\nmodule.exports = function(name){\n var $Symbol = core.Symbol || (core.Symbol = LIBRARY ? {} : global.Symbol || {});\n if(name.charAt(0) != '_' && !(name in $Symbol))defineProperty($Symbol, name, {value: wksExt.f(name)});\n};","var toString = {}.toString;\n\nmodule.exports = function(it){\n return toString.call(it).slice(8, -1);\n};","// fallback for non-array-like ES3 and non-enumerable old V8 strings\nvar cof = require('./_cof');\nmodule.exports = Object('z').propertyIsEnumerable(0) ? Object : function(it){\n return cof(it) == 'String' ? it.split('') : Object(it);\n};","// 7.2.1 RequireObjectCoercible(argument)\nmodule.exports = function(it){\n if(it == undefined)throw TypeError(\"Can't call method on \" + it);\n return it;\n};","// to indexed object, toObject with fallback for non-array-like ES3 strings\nvar IObject = require('./_iobject')\n , defined = require('./_defined');\nmodule.exports = function(it){\n return IObject(defined(it));\n};","// 7.1.4 ToInteger\nvar ceil = Math.ceil\n , floor = Math.floor;\nmodule.exports = function(it){\n return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it);\n};","// 7.1.15 ToLength\nvar toInteger = require('./_to-integer')\n , min = Math.min;\nmodule.exports = function(it){\n return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0; // pow(2, 53) - 1 == 9007199254740991\n};","var toInteger = require('./_to-integer')\n , max = Math.max\n , min = Math.min;\nmodule.exports = function(index, length){\n index = toInteger(index);\n return index < 0 ? max(index + length, 0) : min(index, length);\n};","// false -> Array#indexOf\n// true -> Array#includes\nvar toIObject = require('./_to-iobject')\n , toLength = require('./_to-length')\n , toIndex = require('./_to-index');\nmodule.exports = function(IS_INCLUDES){\n return function($this, el, fromIndex){\n var O = toIObject($this)\n , length = toLength(O.length)\n , index = toIndex(fromIndex, length)\n , value;\n // Array#includes uses SameValueZero equality algorithm\n if(IS_INCLUDES && el != el)while(length > index){\n value = O[index++];\n if(value != value)return true;\n // Array#toIndex ignores holes, Array#includes - not\n } else for(;length > index; index++)if(IS_INCLUDES || index in O){\n if(O[index] === el)return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};","var shared = require('./_shared')('keys')\n , uid = require('./_uid');\nmodule.exports = function(key){\n return shared[key] || (shared[key] = uid(key));\n};","var has = require('./_has')\n , toIObject = require('./_to-iobject')\n , arrayIndexOf = require('./_array-includes')(false)\n , IE_PROTO = require('./_shared-key')('IE_PROTO');\n\nmodule.exports = function(object, names){\n var O = toIObject(object)\n , i = 0\n , result = []\n , key;\n for(key in O)if(key != IE_PROTO)has(O, key) && result.push(key);\n // Don't enum bug & hidden keys\n while(names.length > i)if(has(O, key = names[i++])){\n ~arrayIndexOf(result, key) || result.push(key);\n }\n return result;\n};","// IE 8- don't enum bug keys\nmodule.exports = (\n 'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf'\n).split(',');","// 19.1.2.14 / 15.2.3.14 Object.keys(O)\nvar $keys = require('./_object-keys-internal')\n , enumBugKeys = require('./_enum-bug-keys');\n\nmodule.exports = Object.keys || function keys(O){\n return $keys(O, enumBugKeys);\n};","var getKeys = require('./_object-keys')\n , toIObject = require('./_to-iobject');\nmodule.exports = function(object, el){\n var O = toIObject(object)\n , keys = getKeys(O)\n , length = keys.length\n , index = 0\n , key;\n while(length > index)if(O[key = keys[index++]] === el)return key;\n};","exports.f = Object.getOwnPropertySymbols;","exports.f = {}.propertyIsEnumerable;","// all enumerable object keys, includes symbols\nvar getKeys = require('./_object-keys')\n , gOPS = require('./_object-gops')\n , pIE = require('./_object-pie');\nmodule.exports = function(it){\n var result = getKeys(it)\n , getSymbols = gOPS.f;\n if(getSymbols){\n var symbols = getSymbols(it)\n , isEnum = pIE.f\n , i = 0\n , key;\n while(symbols.length > i)if(isEnum.call(it, key = symbols[i++]))result.push(key);\n } return result;\n};","// 7.2.2 IsArray(argument)\nvar cof = require('./_cof');\nmodule.exports = Array.isArray || function isArray(arg){\n return cof(arg) == 'Array';\n};","var dP = require('./_object-dp')\n , anObject = require('./_an-object')\n , getKeys = require('./_object-keys');\n\nmodule.exports = require('./_descriptors') ? Object.defineProperties : function defineProperties(O, Properties){\n anObject(O);\n var keys = getKeys(Properties)\n , length = keys.length\n , i = 0\n , P;\n while(length > i)dP.f(O, P = keys[i++], Properties[P]);\n return O;\n};","module.exports = require('./_global').document && document.documentElement;","// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])\nvar anObject = require('./_an-object')\n , dPs = require('./_object-dps')\n , enumBugKeys = require('./_enum-bug-keys')\n , IE_PROTO = require('./_shared-key')('IE_PROTO')\n , Empty = function(){ /* empty */ }\n , PROTOTYPE = 'prototype';\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar createDict = function(){\n // Thrash, waste and sodomy: IE GC bug\n var iframe = require('./_dom-create')('iframe')\n , i = enumBugKeys.length\n , lt = '<'\n , gt = '>'\n , iframeDocument;\n iframe.style.display = 'none';\n require('./_html').appendChild(iframe);\n iframe.src = 'javascript:'; // eslint-disable-line no-script-url\n // createDict = iframe.contentWindow.Object;\n // html.removeChild(iframe);\n iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.write(lt + 'script' + gt + 'document.F=Object' + lt + '/script' + gt);\n iframeDocument.close();\n createDict = iframeDocument.F;\n while(i--)delete createDict[PROTOTYPE][enumBugKeys[i]];\n return createDict();\n};\n\nmodule.exports = Object.create || function create(O, Properties){\n var result;\n if(O !== null){\n Empty[PROTOTYPE] = anObject(O);\n result = new Empty;\n Empty[PROTOTYPE] = null;\n // add \"__proto__\" for Object.getPrototypeOf polyfill\n result[IE_PROTO] = O;\n } else result = createDict();\n return Properties === undefined ? result : dPs(result, Properties);\n};\n","// 19.1.2.7 / 15.2.3.4 Object.getOwnPropertyNames(O)\nvar $keys = require('./_object-keys-internal')\n , hiddenKeys = require('./_enum-bug-keys').concat('length', 'prototype');\n\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O){\n return $keys(O, hiddenKeys);\n};","// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window\nvar toIObject = require('./_to-iobject')\n , gOPN = require('./_object-gopn').f\n , toString = {}.toString;\n\nvar windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames\n ? Object.getOwnPropertyNames(window) : [];\n\nvar getWindowNames = function(it){\n try {\n return gOPN(it);\n } catch(e){\n return windowNames.slice();\n }\n};\n\nmodule.exports.f = function getOwnPropertyNames(it){\n return windowNames && toString.call(it) == '[object Window]' ? getWindowNames(it) : gOPN(toIObject(it));\n};\n","var pIE = require('./_object-pie')\n , createDesc = require('./_property-desc')\n , toIObject = require('./_to-iobject')\n , toPrimitive = require('./_to-primitive')\n , has = require('./_has')\n , IE8_DOM_DEFINE = require('./_ie8-dom-define')\n , gOPD = Object.getOwnPropertyDescriptor;\n\nexports.f = require('./_descriptors') ? gOPD : function getOwnPropertyDescriptor(O, P){\n O = toIObject(O);\n P = toPrimitive(P, true);\n if(IE8_DOM_DEFINE)try {\n return gOPD(O, P);\n } catch(e){ /* empty */ }\n if(has(O, P))return createDesc(!pIE.f.call(O, P), O[P]);\n};","'use strict';\n// ECMAScript 6 symbols shim\nvar global = require('./_global')\n , has = require('./_has')\n , DESCRIPTORS = require('./_descriptors')\n , $export = require('./_export')\n , redefine = require('./_redefine')\n , META = require('./_meta').KEY\n , $fails = require('./_fails')\n , shared = require('./_shared')\n , setToStringTag = require('./_set-to-string-tag')\n , uid = require('./_uid')\n , wks = require('./_wks')\n , wksExt = require('./_wks-ext')\n , wksDefine = require('./_wks-define')\n , keyOf = require('./_keyof')\n , enumKeys = require('./_enum-keys')\n , isArray = require('./_is-array')\n , anObject = require('./_an-object')\n , toIObject = require('./_to-iobject')\n , toPrimitive = require('./_to-primitive')\n , createDesc = require('./_property-desc')\n , _create = require('./_object-create')\n , gOPNExt = require('./_object-gopn-ext')\n , $GOPD = require('./_object-gopd')\n , $DP = require('./_object-dp')\n , $keys = require('./_object-keys')\n , gOPD = $GOPD.f\n , dP = $DP.f\n , gOPN = gOPNExt.f\n , $Symbol = global.Symbol\n , $JSON = global.JSON\n , _stringify = $JSON && $JSON.stringify\n , PROTOTYPE = 'prototype'\n , HIDDEN = wks('_hidden')\n , TO_PRIMITIVE = wks('toPrimitive')\n , isEnum = {}.propertyIsEnumerable\n , SymbolRegistry = shared('symbol-registry')\n , AllSymbols = shared('symbols')\n , OPSymbols = shared('op-symbols')\n , ObjectProto = Object[PROTOTYPE]\n , USE_NATIVE = typeof $Symbol == 'function'\n , QObject = global.QObject;\n// Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173\nvar setter = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild;\n\n// fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687\nvar setSymbolDesc = DESCRIPTORS && $fails(function(){\n return _create(dP({}, 'a', {\n get: function(){ return dP(this, 'a', {value: 7}).a; }\n })).a != 7;\n}) ? function(it, key, D){\n var protoDesc = gOPD(ObjectProto, key);\n if(protoDesc)delete ObjectProto[key];\n dP(it, key, D);\n if(protoDesc && it !== ObjectProto)dP(ObjectProto, key, protoDesc);\n} : dP;\n\nvar wrap = function(tag){\n var sym = AllSymbols[tag] = _create($Symbol[PROTOTYPE]);\n sym._k = tag;\n return sym;\n};\n\nvar isSymbol = USE_NATIVE && typeof $Symbol.iterator == 'symbol' ? function(it){\n return typeof it == 'symbol';\n} : function(it){\n return it instanceof $Symbol;\n};\n\nvar $defineProperty = function defineProperty(it, key, D){\n if(it === ObjectProto)$defineProperty(OPSymbols, key, D);\n anObject(it);\n key = toPrimitive(key, true);\n anObject(D);\n if(has(AllSymbols, key)){\n if(!D.enumerable){\n if(!has(it, HIDDEN))dP(it, HIDDEN, createDesc(1, {}));\n it[HIDDEN][key] = true;\n } else {\n if(has(it, HIDDEN) && it[HIDDEN][key])it[HIDDEN][key] = false;\n D = _create(D, {enumerable: createDesc(0, false)});\n } return setSymbolDesc(it, key, D);\n } return dP(it, key, D);\n};\nvar $defineProperties = function defineProperties(it, P){\n anObject(it);\n var keys = enumKeys(P = toIObject(P))\n , i = 0\n , l = keys.length\n , key;\n while(l > i)$defineProperty(it, key = keys[i++], P[key]);\n return it;\n};\nvar $create = function create(it, P){\n return P === undefined ? _create(it) : $defineProperties(_create(it), P);\n};\nvar $propertyIsEnumerable = function propertyIsEnumerable(key){\n var E = isEnum.call(this, key = toPrimitive(key, true));\n if(this === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key))return false;\n return E || !has(this, key) || !has(AllSymbols, key) || has(this, HIDDEN) && this[HIDDEN][key] ? E : true;\n};\nvar $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(it, key){\n it = toIObject(it);\n key = toPrimitive(key, true);\n if(it === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key))return;\n var D = gOPD(it, key);\n if(D && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key]))D.enumerable = true;\n return D;\n};\nvar $getOwnPropertyNames = function getOwnPropertyNames(it){\n var names = gOPN(toIObject(it))\n , result = []\n , i = 0\n , key;\n while(names.length > i){\n if(!has(AllSymbols, key = names[i++]) && key != HIDDEN && key != META)result.push(key);\n } return result;\n};\nvar $getOwnPropertySymbols = function getOwnPropertySymbols(it){\n var IS_OP = it === ObjectProto\n , names = gOPN(IS_OP ? OPSymbols : toIObject(it))\n , result = []\n , i = 0\n , key;\n while(names.length > i){\n if(has(AllSymbols, key = names[i++]) && (IS_OP ? has(ObjectProto, key) : true))result.push(AllSymbols[key]);\n } return result;\n};\n\n// 19.4.1.1 Symbol([description])\nif(!USE_NATIVE){\n $Symbol = function Symbol(){\n if(this instanceof $Symbol)throw TypeError('Symbol is not a constructor!');\n var tag = uid(arguments.length > 0 ? arguments[0] : undefined);\n var $set = function(value){\n if(this === ObjectProto)$set.call(OPSymbols, value);\n if(has(this, HIDDEN) && has(this[HIDDEN], tag))this[HIDDEN][tag] = false;\n setSymbolDesc(this, tag, createDesc(1, value));\n };\n if(DESCRIPTORS && setter)setSymbolDesc(ObjectProto, tag, {configurable: true, set: $set});\n return wrap(tag);\n };\n redefine($Symbol[PROTOTYPE], 'toString', function toString(){\n return this._k;\n });\n\n $GOPD.f = $getOwnPropertyDescriptor;\n $DP.f = $defineProperty;\n require('./_object-gopn').f = gOPNExt.f = $getOwnPropertyNames;\n require('./_object-pie').f = $propertyIsEnumerable;\n require('./_object-gops').f = $getOwnPropertySymbols;\n\n if(DESCRIPTORS && !require('./_library')){\n redefine(ObjectProto, 'propertyIsEnumerable', $propertyIsEnumerable, true);\n }\n\n wksExt.f = function(name){\n return wrap(wks(name));\n }\n}\n\n$export($export.G + $export.W + $export.F * !USE_NATIVE, {Symbol: $Symbol});\n\nfor(var symbols = (\n // 19.4.2.2, 19.4.2.3, 19.4.2.4, 19.4.2.6, 19.4.2.8, 19.4.2.9, 19.4.2.10, 19.4.2.11, 19.4.2.12, 19.4.2.13, 19.4.2.14\n 'hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables'\n).split(','), i = 0; symbols.length > i; )wks(symbols[i++]);\n\nfor(var symbols = $keys(wks.store), i = 0; symbols.length > i; )wksDefine(symbols[i++]);\n\n$export($export.S + $export.F * !USE_NATIVE, 'Symbol', {\n // 19.4.2.1 Symbol.for(key)\n 'for': function(key){\n return has(SymbolRegistry, key += '')\n ? SymbolRegistry[key]\n : SymbolRegistry[key] = $Symbol(key);\n },\n // 19.4.2.5 Symbol.keyFor(sym)\n keyFor: function keyFor(key){\n if(isSymbol(key))return keyOf(SymbolRegistry, key);\n throw TypeError(key + ' is not a symbol!');\n },\n useSetter: function(){ setter = true; },\n useSimple: function(){ setter = false; }\n});\n\n$export($export.S + $export.F * !USE_NATIVE, 'Object', {\n // 19.1.2.2 Object.create(O [, Properties])\n create: $create,\n // 19.1.2.4 Object.defineProperty(O, P, Attributes)\n defineProperty: $defineProperty,\n // 19.1.2.3 Object.defineProperties(O, Properties)\n defineProperties: $defineProperties,\n // 19.1.2.6 Object.getOwnPropertyDescriptor(O, P)\n getOwnPropertyDescriptor: $getOwnPropertyDescriptor,\n // 19.1.2.7 Object.getOwnPropertyNames(O)\n getOwnPropertyNames: $getOwnPropertyNames,\n // 19.1.2.8 Object.getOwnPropertySymbols(O)\n getOwnPropertySymbols: $getOwnPropertySymbols\n});\n\n// 24.3.2 JSON.stringify(value [, replacer [, space]])\n$JSON && $export($export.S + $export.F * (!USE_NATIVE || $fails(function(){\n var S = $Symbol();\n // MS Edge converts symbol values to JSON as {}\n // WebKit converts symbol values to JSON as null\n // V8 throws on boxed symbols\n return _stringify([S]) != '[null]' || _stringify({a: S}) != '{}' || _stringify(Object(S)) != '{}';\n})), 'JSON', {\n stringify: function stringify(it){\n if(it === undefined || isSymbol(it))return; // IE8 returns string on undefined\n var args = [it]\n , i = 1\n , replacer, $replacer;\n while(arguments.length > i)args.push(arguments[i++]);\n replacer = args[1];\n if(typeof replacer == 'function')$replacer = replacer;\n if($replacer || !isArray(replacer))replacer = function(key, value){\n if($replacer)value = $replacer.call(this, key, value);\n if(!isSymbol(value))return value;\n };\n args[1] = replacer;\n return _stringify.apply($JSON, args);\n }\n});\n\n// 19.4.3.4 Symbol.prototype[@@toPrimitive](hint)\n$Symbol[PROTOTYPE][TO_PRIMITIVE] || require('./_hide')($Symbol[PROTOTYPE], TO_PRIMITIVE, $Symbol[PROTOTYPE].valueOf);\n// 19.4.3.5 Symbol.prototype[@@toStringTag]\nsetToStringTag($Symbol, 'Symbol');\n// 20.2.1.9 Math[@@toStringTag]\nsetToStringTag(Math, 'Math', true);\n// 24.3.3 JSON[@@toStringTag]\nsetToStringTag(global.JSON, 'JSON', true);","var $export = require('./_export')\n// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])\n$export($export.S, 'Object', {create: require('./_object-create')});","var $export = require('./_export');\n// 19.1.2.4 / 15.2.3.6 Object.defineProperty(O, P, Attributes)\n$export($export.S + $export.F * !require('./_descriptors'), 'Object', {defineProperty: require('./_object-dp').f});","var $export = require('./_export');\n// 19.1.2.3 / 15.2.3.7 Object.defineProperties(O, Properties)\n$export($export.S + $export.F * !require('./_descriptors'), 'Object', {defineProperties: require('./_object-dps')});","// most Object methods by ES6 should accept primitives\nvar $export = require('./_export')\n , core = require('./_core')\n , fails = require('./_fails');\nmodule.exports = function(KEY, exec){\n var fn = (core.Object || {})[KEY] || Object[KEY]\n , exp = {};\n exp[KEY] = exec(fn);\n $export($export.S + $export.F * fails(function(){ fn(1); }), 'Object', exp);\n};","// 19.1.2.6 Object.getOwnPropertyDescriptor(O, P)\nvar toIObject = require('./_to-iobject')\n , $getOwnPropertyDescriptor = require('./_object-gopd').f;\n\nrequire('./_object-sap')('getOwnPropertyDescriptor', function(){\n return function getOwnPropertyDescriptor(it, key){\n return $getOwnPropertyDescriptor(toIObject(it), key);\n };\n});","// 7.1.13 ToObject(argument)\nvar defined = require('./_defined');\nmodule.exports = function(it){\n return Object(defined(it));\n};","// 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O)\nvar has = require('./_has')\n , toObject = require('./_to-object')\n , IE_PROTO = require('./_shared-key')('IE_PROTO')\n , ObjectProto = Object.prototype;\n\nmodule.exports = Object.getPrototypeOf || function(O){\n O = toObject(O);\n if(has(O, IE_PROTO))return O[IE_PROTO];\n if(typeof O.constructor == 'function' && O instanceof O.constructor){\n return O.constructor.prototype;\n } return O instanceof Object ? ObjectProto : null;\n};","// 19.1.2.9 Object.getPrototypeOf(O)\nvar toObject = require('./_to-object')\n , $getPrototypeOf = require('./_object-gpo');\n\nrequire('./_object-sap')('getPrototypeOf', function(){\n return function getPrototypeOf(it){\n return $getPrototypeOf(toObject(it));\n };\n});","// 19.1.2.14 Object.keys(O)\nvar toObject = require('./_to-object')\n , $keys = require('./_object-keys');\n\nrequire('./_object-sap')('keys', function(){\n return function keys(it){\n return $keys(toObject(it));\n };\n});","// 19.1.2.7 Object.getOwnPropertyNames(O)\nrequire('./_object-sap')('getOwnPropertyNames', function(){\n return require('./_object-gopn-ext').f;\n});","// 19.1.2.5 Object.freeze(O)\nvar isObject = require('./_is-object')\n , meta = require('./_meta').onFreeze;\n\nrequire('./_object-sap')('freeze', function($freeze){\n return function freeze(it){\n return $freeze && isObject(it) ? $freeze(meta(it)) : it;\n };\n});","// 19.1.2.17 Object.seal(O)\nvar isObject = require('./_is-object')\n , meta = require('./_meta').onFreeze;\n\nrequire('./_object-sap')('seal', function($seal){\n return function seal(it){\n return $seal && isObject(it) ? $seal(meta(it)) : it;\n };\n});","// 19.1.2.15 Object.preventExtensions(O)\nvar isObject = require('./_is-object')\n , meta = require('./_meta').onFreeze;\n\nrequire('./_object-sap')('preventExtensions', function($preventExtensions){\n return function preventExtensions(it){\n return $preventExtensions && isObject(it) ? $preventExtensions(meta(it)) : it;\n };\n});","// 19.1.2.12 Object.isFrozen(O)\nvar isObject = require('./_is-object');\n\nrequire('./_object-sap')('isFrozen', function($isFrozen){\n return function isFrozen(it){\n return isObject(it) ? $isFrozen ? $isFrozen(it) : false : true;\n };\n});","// 19.1.2.13 Object.isSealed(O)\nvar isObject = require('./_is-object');\n\nrequire('./_object-sap')('isSealed', function($isSealed){\n return function isSealed(it){\n return isObject(it) ? $isSealed ? $isSealed(it) : false : true;\n };\n});","// 19.1.2.11 Object.isExtensible(O)\nvar isObject = require('./_is-object');\n\nrequire('./_object-sap')('isExtensible', function($isExtensible){\n return function isExtensible(it){\n return isObject(it) ? $isExtensible ? $isExtensible(it) : true : false;\n };\n});","'use strict';\n// 19.1.2.1 Object.assign(target, source, ...)\nvar getKeys = require('./_object-keys')\n , gOPS = require('./_object-gops')\n , pIE = require('./_object-pie')\n , toObject = require('./_to-object')\n , IObject = require('./_iobject')\n , $assign = Object.assign;\n\n// should work with symbols and should have deterministic property order (V8 bug)\nmodule.exports = !$assign || require('./_fails')(function(){\n var A = {}\n , B = {}\n , S = Symbol()\n , K = 'abcdefghijklmnopqrst';\n A[S] = 7;\n K.split('').forEach(function(k){ B[k] = k; });\n return $assign({}, A)[S] != 7 || Object.keys($assign({}, B)).join('') != K;\n}) ? function assign(target, source){ // eslint-disable-line no-unused-vars\n var T = toObject(target)\n , aLen = arguments.length\n , index = 1\n , getSymbols = gOPS.f\n , isEnum = pIE.f;\n while(aLen > index){\n var S = IObject(arguments[index++])\n , keys = getSymbols ? getKeys(S).concat(getSymbols(S)) : getKeys(S)\n , length = keys.length\n , j = 0\n , key;\n while(length > j)if(isEnum.call(S, key = keys[j++]))T[key] = S[key];\n } return T;\n} : $assign;","// 19.1.3.1 Object.assign(target, source)\nvar $export = require('./_export');\n\n$export($export.S + $export.F, 'Object', {assign: require('./_object-assign')});","// 7.2.9 SameValue(x, y)\nmodule.exports = Object.is || function is(x, y){\n return x === y ? x !== 0 || 1 / x === 1 / y : x != x && y != y;\n};","// 19.1.3.10 Object.is(value1, value2)\nvar $export = require('./_export');\n$export($export.S, 'Object', {is: require('./_same-value')});","// Works with __proto__ only. Old v8 can't work with null proto objects.\n/* eslint-disable no-proto */\nvar isObject = require('./_is-object')\n , anObject = require('./_an-object');\nvar check = function(O, proto){\n anObject(O);\n if(!isObject(proto) && proto !== null)throw TypeError(proto + \": can't set as prototype!\");\n};\nmodule.exports = {\n set: Object.setPrototypeOf || ('__proto__' in {} ? // eslint-disable-line\n function(test, buggy, set){\n try {\n set = require('./_ctx')(Function.call, require('./_object-gopd').f(Object.prototype, '__proto__').set, 2);\n set(test, []);\n buggy = !(test instanceof Array);\n } catch(e){ buggy = true; }\n return function setPrototypeOf(O, proto){\n check(O, proto);\n if(buggy)O.__proto__ = proto;\n else set(O, proto);\n return O;\n };\n }({}, false) : undefined),\n check: check\n};","// 19.1.3.19 Object.setPrototypeOf(O, proto)\nvar $export = require('./_export');\n$export($export.S, 'Object', {setPrototypeOf: require('./_set-proto').set});","// getting tag from 19.1.3.6 Object.prototype.toString()\nvar cof = require('./_cof')\n , TAG = require('./_wks')('toStringTag')\n // ES3 wrong here\n , ARG = cof(function(){ return arguments; }()) == 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function(it, key){\n try {\n return it[key];\n } catch(e){ /* empty */ }\n};\n\nmodule.exports = function(it){\n var O, T, B;\n return it === undefined ? 'Undefined' : it === null ? 'Null'\n // @@toStringTag case\n : typeof (T = tryGet(O = Object(it), TAG)) == 'string' ? T\n // builtinTag case\n : ARG ? cof(O)\n // ES3 arguments fallback\n : (B = cof(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : B;\n};","'use strict';\n// 19.1.3.6 Object.prototype.toString()\nvar classof = require('./_classof')\n , test = {};\ntest[require('./_wks')('toStringTag')] = 'z';\nif(test + '' != '[object z]'){\n require('./_redefine')(Object.prototype, 'toString', function toString(){\n return '[object ' + classof(this) + ']';\n }, true);\n}","// fast apply, http://jsperf.lnkit.com/fast-apply/5\nmodule.exports = function(fn, args, that){\n var un = that === undefined;\n switch(args.length){\n case 0: return un ? fn()\n : fn.call(that);\n case 1: return un ? fn(args[0])\n : fn.call(that, args[0]);\n case 2: return un ? fn(args[0], args[1])\n : fn.call(that, args[0], args[1]);\n case 3: return un ? fn(args[0], args[1], args[2])\n : fn.call(that, args[0], args[1], args[2]);\n case 4: return un ? fn(args[0], args[1], args[2], args[3])\n : fn.call(that, args[0], args[1], args[2], args[3]);\n } return fn.apply(that, args);\n};","'use strict';\nvar aFunction = require('./_a-function')\n , isObject = require('./_is-object')\n , invoke = require('./_invoke')\n , arraySlice = [].slice\n , factories = {};\n\nvar construct = function(F, len, args){\n if(!(len in factories)){\n for(var n = [], i = 0; i < len; i++)n[i] = 'a[' + i + ']';\n factories[len] = Function('F,a', 'return new F(' + n.join(',') + ')');\n } return factories[len](F, args);\n};\n\nmodule.exports = Function.bind || function bind(that /*, args... */){\n var fn = aFunction(this)\n , partArgs = arraySlice.call(arguments, 1);\n var bound = function(/* args... */){\n var args = partArgs.concat(arraySlice.call(arguments));\n return this instanceof bound ? construct(fn, args.length, args) : invoke(fn, args, that);\n };\n if(isObject(fn.prototype))bound.prototype = fn.prototype;\n return bound;\n};","// 19.2.3.2 / 15.3.4.5 Function.prototype.bind(thisArg, args...)\nvar $export = require('./_export');\n\n$export($export.P, 'Function', {bind: require('./_bind')});","var dP = require('./_object-dp').f\n , createDesc = require('./_property-desc')\n , has = require('./_has')\n , FProto = Function.prototype\n , nameRE = /^\\s*function ([^ (]*)/\n , NAME = 'name';\n\nvar isExtensible = Object.isExtensible || function(){\n return true;\n};\n\n// 19.2.4.2 name\nNAME in FProto || require('./_descriptors') && dP(FProto, NAME, {\n configurable: true,\n get: function(){\n try {\n var that = this\n , name = ('' + that).match(nameRE)[1];\n has(that, NAME) || !isExtensible(that) || dP(that, NAME, createDesc(5, name));\n return name;\n } catch(e){\n return '';\n }\n }\n});","'use strict';\nvar isObject = require('./_is-object')\n , getPrototypeOf = require('./_object-gpo')\n , HAS_INSTANCE = require('./_wks')('hasInstance')\n , FunctionProto = Function.prototype;\n// 19.2.3.6 Function.prototype[@@hasInstance](V)\nif(!(HAS_INSTANCE in FunctionProto))require('./_object-dp').f(FunctionProto, HAS_INSTANCE, {value: function(O){\n if(typeof this != 'function' || !isObject(O))return false;\n if(!isObject(this.prototype))return O instanceof this;\n // for environment w/o native `@@hasInstance` logic enough `instanceof`, but add this:\n while(O = getPrototypeOf(O))if(this.prototype === O)return true;\n return false;\n}});","module.exports = '\\x09\\x0A\\x0B\\x0C\\x0D\\x20\\xA0\\u1680\\u180E\\u2000\\u2001\\u2002\\u2003' +\n '\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200A\\u202F\\u205F\\u3000\\u2028\\u2029\\uFEFF';","var $export = require('./_export')\n , defined = require('./_defined')\n , fails = require('./_fails')\n , spaces = require('./_string-ws')\n , space = '[' + spaces + ']'\n , non = '\\u200b\\u0085'\n , ltrim = RegExp('^' + space + space + '*')\n , rtrim = RegExp(space + space + '*$');\n\nvar exporter = function(KEY, exec, ALIAS){\n var exp = {};\n var FORCE = fails(function(){\n return !!spaces[KEY]() || non[KEY]() != non;\n });\n var fn = exp[KEY] = FORCE ? exec(trim) : spaces[KEY];\n if(ALIAS)exp[ALIAS] = fn;\n $export($export.P + $export.F * FORCE, 'String', exp);\n};\n\n// 1 -> String#trimLeft\n// 2 -> String#trimRight\n// 3 -> String#trim\nvar trim = exporter.trim = function(string, TYPE){\n string = String(defined(string));\n if(TYPE & 1)string = string.replace(ltrim, '');\n if(TYPE & 2)string = string.replace(rtrim, '');\n return string;\n};\n\nmodule.exports = exporter;","var $parseInt = require('./_global').parseInt\n , $trim = require('./_string-trim').trim\n , ws = require('./_string-ws')\n , hex = /^[\\-+]?0[xX]/;\n\nmodule.exports = $parseInt(ws + '08') !== 8 || $parseInt(ws + '0x16') !== 22 ? function parseInt(str, radix){\n var string = $trim(String(str), 3);\n return $parseInt(string, (radix >>> 0) || (hex.test(string) ? 16 : 10));\n} : $parseInt;","var $export = require('./_export')\n , $parseInt = require('./_parse-int');\n// 18.2.5 parseInt(string, radix)\n$export($export.G + $export.F * (parseInt != $parseInt), {parseInt: $parseInt});","var $parseFloat = require('./_global').parseFloat\n , $trim = require('./_string-trim').trim;\n\nmodule.exports = 1 / $parseFloat(require('./_string-ws') + '-0') !== -Infinity ? function parseFloat(str){\n var string = $trim(String(str), 3)\n , result = $parseFloat(string);\n return result === 0 && string.charAt(0) == '-' ? -0 : result;\n} : $parseFloat;","var $export = require('./_export')\n , $parseFloat = require('./_parse-float');\n// 18.2.4 parseFloat(string)\n$export($export.G + $export.F * (parseFloat != $parseFloat), {parseFloat: $parseFloat});","var isObject = require('./_is-object')\n , setPrototypeOf = require('./_set-proto').set;\nmodule.exports = function(that, target, C){\n var P, S = target.constructor;\n if(S !== C && typeof S == 'function' && (P = S.prototype) !== C.prototype && isObject(P) && setPrototypeOf){\n setPrototypeOf(that, P);\n } return that;\n};","'use strict';\nvar global = require('./_global')\n , has = require('./_has')\n , cof = require('./_cof')\n , inheritIfRequired = require('./_inherit-if-required')\n , toPrimitive = require('./_to-primitive')\n , fails = require('./_fails')\n , gOPN = require('./_object-gopn').f\n , gOPD = require('./_object-gopd').f\n , dP = require('./_object-dp').f\n , $trim = require('./_string-trim').trim\n , NUMBER = 'Number'\n , $Number = global[NUMBER]\n , Base = $Number\n , proto = $Number.prototype\n // Opera ~12 has broken Object#toString\n , BROKEN_COF = cof(require('./_object-create')(proto)) == NUMBER\n , TRIM = 'trim' in String.prototype;\n\n// 7.1.3 ToNumber(argument)\nvar toNumber = function(argument){\n var it = toPrimitive(argument, false);\n if(typeof it == 'string' && it.length > 2){\n it = TRIM ? it.trim() : $trim(it, 3);\n var first = it.charCodeAt(0)\n , third, radix, maxCode;\n if(first === 43 || first === 45){\n third = it.charCodeAt(2);\n if(third === 88 || third === 120)return NaN; // Number('+0x1') should be NaN, old V8 fix\n } else if(first === 48){\n switch(it.charCodeAt(1)){\n case 66 : case 98 : radix = 2; maxCode = 49; break; // fast equal /^0b[01]+$/i\n case 79 : case 111 : radix = 8; maxCode = 55; break; // fast equal /^0o[0-7]+$/i\n default : return +it;\n }\n for(var digits = it.slice(2), i = 0, l = digits.length, code; i < l; i++){\n code = digits.charCodeAt(i);\n // parseInt parses a string to a first unavailable symbol\n // but ToNumber should return NaN if a string contains unavailable symbols\n if(code < 48 || code > maxCode)return NaN;\n } return parseInt(digits, radix);\n }\n } return +it;\n};\n\nif(!$Number(' 0o1') || !$Number('0b1') || $Number('+0x1')){\n $Number = function Number(value){\n var it = arguments.length < 1 ? 0 : value\n , that = this;\n return that instanceof $Number\n // check on 1..constructor(foo) case\n && (BROKEN_COF ? fails(function(){ proto.valueOf.call(that); }) : cof(that) != NUMBER)\n ? inheritIfRequired(new Base(toNumber(it)), that, $Number) : toNumber(it);\n };\n for(var keys = require('./_descriptors') ? gOPN(Base) : (\n // ES3:\n 'MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,' +\n // ES6 (in case, if modules with ES6 Number statics required before):\n 'EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,' +\n 'MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger'\n ).split(','), j = 0, key; keys.length > j; j++){\n if(has(Base, key = keys[j]) && !has($Number, key)){\n dP($Number, key, gOPD(Base, key));\n }\n }\n $Number.prototype = proto;\n proto.constructor = $Number;\n require('./_redefine')(global, NUMBER, $Number);\n}","var cof = require('./_cof');\nmodule.exports = function(it, msg){\n if(typeof it != 'number' && cof(it) != 'Number')throw TypeError(msg);\n return +it;\n};","'use strict';\nvar toInteger = require('./_to-integer')\n , defined = require('./_defined');\n\nmodule.exports = function repeat(count){\n var str = String(defined(this))\n , res = ''\n , n = toInteger(count);\n if(n < 0 || n == Infinity)throw RangeError(\"Count can't be negative\");\n for(;n > 0; (n >>>= 1) && (str += str))if(n & 1)res += str;\n return res;\n};","'use strict';\nvar $export = require('./_export')\n , toInteger = require('./_to-integer')\n , aNumberValue = require('./_a-number-value')\n , repeat = require('./_string-repeat')\n , $toFixed = 1..toFixed\n , floor = Math.floor\n , data = [0, 0, 0, 0, 0, 0]\n , ERROR = 'Number.toFixed: incorrect invocation!'\n , ZERO = '0';\n\nvar multiply = function(n, c){\n var i = -1\n , c2 = c;\n while(++i < 6){\n c2 += n * data[i];\n data[i] = c2 % 1e7;\n c2 = floor(c2 / 1e7);\n }\n};\nvar divide = function(n){\n var i = 6\n , c = 0;\n while(--i >= 0){\n c += data[i];\n data[i] = floor(c / n);\n c = (c % n) * 1e7;\n }\n};\nvar numToString = function(){\n var i = 6\n , s = '';\n while(--i >= 0){\n if(s !== '' || i === 0 || data[i] !== 0){\n var t = String(data[i]);\n s = s === '' ? t : s + repeat.call(ZERO, 7 - t.length) + t;\n }\n } return s;\n};\nvar pow = function(x, n, acc){\n return n === 0 ? acc : n % 2 === 1 ? pow(x, n - 1, acc * x) : pow(x * x, n / 2, acc);\n};\nvar log = function(x){\n var n = 0\n , x2 = x;\n while(x2 >= 4096){\n n += 12;\n x2 /= 4096;\n }\n while(x2 >= 2){\n n += 1;\n x2 /= 2;\n } return n;\n};\n\n$export($export.P + $export.F * (!!$toFixed && (\n 0.00008.toFixed(3) !== '0.000' ||\n 0.9.toFixed(0) !== '1' ||\n 1.255.toFixed(2) !== '1.25' ||\n 1000000000000000128..toFixed(0) !== '1000000000000000128'\n) || !require('./_fails')(function(){\n // V8 ~ Android 4.3-\n $toFixed.call({});\n})), 'Number', {\n toFixed: function toFixed(fractionDigits){\n var x = aNumberValue(this, ERROR)\n , f = toInteger(fractionDigits)\n , s = ''\n , m = ZERO\n , e, z, j, k;\n if(f < 0 || f > 20)throw RangeError(ERROR);\n if(x != x)return 'NaN';\n if(x <= -1e21 || x >= 1e21)return String(x);\n if(x < 0){\n s = '-';\n x = -x;\n }\n if(x > 1e-21){\n e = log(x * pow(2, 69, 1)) - 69;\n z = e < 0 ? x * pow(2, -e, 1) : x / pow(2, e, 1);\n z *= 0x10000000000000;\n e = 52 - e;\n if(e > 0){\n multiply(0, z);\n j = f;\n while(j >= 7){\n multiply(1e7, 0);\n j -= 7;\n }\n multiply(pow(10, j, 1), 0);\n j = e - 1;\n while(j >= 23){\n divide(1 << 23);\n j -= 23;\n }\n divide(1 << j);\n multiply(1, 1);\n divide(2);\n m = numToString();\n } else {\n multiply(0, z);\n multiply(1 << -e, 0);\n m = numToString() + repeat.call(ZERO, f);\n }\n }\n if(f > 0){\n k = m.length;\n m = s + (k <= f ? '0.' + repeat.call(ZERO, f - k) + m : m.slice(0, k - f) + '.' + m.slice(k - f));\n } else {\n m = s + m;\n } return m;\n }\n});","'use strict';\nvar $export = require('./_export')\n , $fails = require('./_fails')\n , aNumberValue = require('./_a-number-value')\n , $toPrecision = 1..toPrecision;\n\n$export($export.P + $export.F * ($fails(function(){\n // IE7-\n return $toPrecision.call(1, undefined) !== '1';\n}) || !$fails(function(){\n // V8 ~ Android 4.3-\n $toPrecision.call({});\n})), 'Number', {\n toPrecision: function toPrecision(precision){\n var that = aNumberValue(this, 'Number#toPrecision: incorrect invocation!');\n return precision === undefined ? $toPrecision.call(that) : $toPrecision.call(that, precision); \n }\n});","// 20.1.2.1 Number.EPSILON\nvar $export = require('./_export');\n\n$export($export.S, 'Number', {EPSILON: Math.pow(2, -52)});","// 20.1.2.2 Number.isFinite(number)\nvar $export = require('./_export')\n , _isFinite = require('./_global').isFinite;\n\n$export($export.S, 'Number', {\n isFinite: function isFinite(it){\n return typeof it == 'number' && _isFinite(it);\n }\n});","// 20.1.2.3 Number.isInteger(number)\nvar isObject = require('./_is-object')\n , floor = Math.floor;\nmodule.exports = function isInteger(it){\n return !isObject(it) && isFinite(it) && floor(it) === it;\n};","// 20.1.2.3 Number.isInteger(number)\nvar $export = require('./_export');\n\n$export($export.S, 'Number', {isInteger: require('./_is-integer')});","// 20.1.2.4 Number.isNaN(number)\nvar $export = require('./_export');\n\n$export($export.S, 'Number', {\n isNaN: function isNaN(number){\n return number != number;\n }\n});","// 20.1.2.5 Number.isSafeInteger(number)\nvar $export = require('./_export')\n , isInteger = require('./_is-integer')\n , abs = Math.abs;\n\n$export($export.S, 'Number', {\n isSafeInteger: function isSafeInteger(number){\n return isInteger(number) && abs(number) <= 0x1fffffffffffff;\n }\n});","// 20.1.2.6 Number.MAX_SAFE_INTEGER\nvar $export = require('./_export');\n\n$export($export.S, 'Number', {MAX_SAFE_INTEGER: 0x1fffffffffffff});","// 20.1.2.10 Number.MIN_SAFE_INTEGER\nvar $export = require('./_export');\n\n$export($export.S, 'Number', {MIN_SAFE_INTEGER: -0x1fffffffffffff});","var $export = require('./_export')\n , $parseFloat = require('./_parse-float');\n// 20.1.2.12 Number.parseFloat(string)\n$export($export.S + $export.F * (Number.parseFloat != $parseFloat), 'Number', {parseFloat: $parseFloat});","var $export = require('./_export')\n , $parseInt = require('./_parse-int');\n// 20.1.2.13 Number.parseInt(string, radix)\n$export($export.S + $export.F * (Number.parseInt != $parseInt), 'Number', {parseInt: $parseInt});","// 20.2.2.20 Math.log1p(x)\nmodule.exports = Math.log1p || function log1p(x){\n return (x = +x) > -1e-8 && x < 1e-8 ? x - x * x / 2 : Math.log(1 + x);\n};","// 20.2.2.3 Math.acosh(x)\nvar $export = require('./_export')\n , log1p = require('./_math-log1p')\n , sqrt = Math.sqrt\n , $acosh = Math.acosh;\n\n$export($export.S + $export.F * !($acosh\n // V8 bug: https://code.google.com/p/v8/issues/detail?id=3509\n && Math.floor($acosh(Number.MAX_VALUE)) == 710\n // Tor Browser bug: Math.acosh(Infinity) -> NaN \n && $acosh(Infinity) == Infinity\n), 'Math', {\n acosh: function acosh(x){\n return (x = +x) < 1 ? NaN : x > 94906265.62425156\n ? Math.log(x) + Math.LN2\n : log1p(x - 1 + sqrt(x - 1) * sqrt(x + 1));\n }\n});","// 20.2.2.5 Math.asinh(x)\nvar $export = require('./_export')\n , $asinh = Math.asinh;\n\nfunction asinh(x){\n return !isFinite(x = +x) || x == 0 ? x : x < 0 ? -asinh(-x) : Math.log(x + Math.sqrt(x * x + 1));\n}\n\n// Tor Browser bug: Math.asinh(0) -> -0 \n$export($export.S + $export.F * !($asinh && 1 / $asinh(0) > 0), 'Math', {asinh: asinh});","// 20.2.2.7 Math.atanh(x)\nvar $export = require('./_export')\n , $atanh = Math.atanh;\n\n// Tor Browser bug: Math.atanh(-0) -> 0 \n$export($export.S + $export.F * !($atanh && 1 / $atanh(-0) < 0), 'Math', {\n atanh: function atanh(x){\n return (x = +x) == 0 ? x : Math.log((1 + x) / (1 - x)) / 2;\n }\n});","// 20.2.2.28 Math.sign(x)\nmodule.exports = Math.sign || function sign(x){\n return (x = +x) == 0 || x != x ? x : x < 0 ? -1 : 1;\n};","// 20.2.2.9 Math.cbrt(x)\nvar $export = require('./_export')\n , sign = require('./_math-sign');\n\n$export($export.S, 'Math', {\n cbrt: function cbrt(x){\n return sign(x = +x) * Math.pow(Math.abs(x), 1 / 3);\n }\n});","// 20.2.2.11 Math.clz32(x)\nvar $export = require('./_export');\n\n$export($export.S, 'Math', {\n clz32: function clz32(x){\n return (x >>>= 0) ? 31 - Math.floor(Math.log(x + 0.5) * Math.LOG2E) : 32;\n }\n});","// 20.2.2.12 Math.cosh(x)\nvar $export = require('./_export')\n , exp = Math.exp;\n\n$export($export.S, 'Math', {\n cosh: function cosh(x){\n return (exp(x = +x) + exp(-x)) / 2;\n }\n});","// 20.2.2.14 Math.expm1(x)\nvar $expm1 = Math.expm1;\nmodule.exports = (!$expm1\n // Old FF bug\n || $expm1(10) > 22025.465794806719 || $expm1(10) < 22025.4657948067165168\n // Tor Browser bug\n || $expm1(-2e-17) != -2e-17\n) ? function expm1(x){\n return (x = +x) == 0 ? x : x > -1e-6 && x < 1e-6 ? x + x * x / 2 : Math.exp(x) - 1;\n} : $expm1;","// 20.2.2.14 Math.expm1(x)\nvar $export = require('./_export')\n , $expm1 = require('./_math-expm1');\n\n$export($export.S + $export.F * ($expm1 != Math.expm1), 'Math', {expm1: $expm1});","// 20.2.2.16 Math.fround(x)\nvar $export = require('./_export')\n , sign = require('./_math-sign')\n , pow = Math.pow\n , EPSILON = pow(2, -52)\n , EPSILON32 = pow(2, -23)\n , MAX32 = pow(2, 127) * (2 - EPSILON32)\n , MIN32 = pow(2, -126);\n\nvar roundTiesToEven = function(n){\n return n + 1 / EPSILON - 1 / EPSILON;\n};\n\n\n$export($export.S, 'Math', {\n fround: function fround(x){\n var $abs = Math.abs(x)\n , $sign = sign(x)\n , a, result;\n if($abs < MIN32)return $sign * roundTiesToEven($abs / MIN32 / EPSILON32) * MIN32 * EPSILON32;\n a = (1 + EPSILON32 / EPSILON) * $abs;\n result = a - (a - $abs);\n if(result > MAX32 || result != result)return $sign * Infinity;\n return $sign * result;\n }\n});","// 20.2.2.17 Math.hypot([value1[, value2[, … ]]])\nvar $export = require('./_export')\n , abs = Math.abs;\n\n$export($export.S, 'Math', {\n hypot: function hypot(value1, value2){ // eslint-disable-line no-unused-vars\n var sum = 0\n , i = 0\n , aLen = arguments.length\n , larg = 0\n , arg, div;\n while(i < aLen){\n arg = abs(arguments[i++]);\n if(larg < arg){\n div = larg / arg;\n sum = sum * div * div + 1;\n larg = arg;\n } else if(arg > 0){\n div = arg / larg;\n sum += div * div;\n } else sum += arg;\n }\n return larg === Infinity ? Infinity : larg * Math.sqrt(sum);\n }\n});","// 20.2.2.18 Math.imul(x, y)\nvar $export = require('./_export')\n , $imul = Math.imul;\n\n// some WebKit versions fails with big numbers, some has wrong arity\n$export($export.S + $export.F * require('./_fails')(function(){\n return $imul(0xffffffff, 5) != -5 || $imul.length != 2;\n}), 'Math', {\n imul: function imul(x, y){\n var UINT16 = 0xffff\n , xn = +x\n , yn = +y\n , xl = UINT16 & xn\n , yl = UINT16 & yn;\n return 0 | xl * yl + ((UINT16 & xn >>> 16) * yl + xl * (UINT16 & yn >>> 16) << 16 >>> 0);\n }\n});","// 20.2.2.21 Math.log10(x)\nvar $export = require('./_export');\n\n$export($export.S, 'Math', {\n log10: function log10(x){\n return Math.log(x) / Math.LN10;\n }\n});","// 20.2.2.20 Math.log1p(x)\nvar $export = require('./_export');\n\n$export($export.S, 'Math', {log1p: require('./_math-log1p')});","// 20.2.2.22 Math.log2(x)\nvar $export = require('./_export');\n\n$export($export.S, 'Math', {\n log2: function log2(x){\n return Math.log(x) / Math.LN2;\n }\n});","// 20.2.2.28 Math.sign(x)\nvar $export = require('./_export');\n\n$export($export.S, 'Math', {sign: require('./_math-sign')});","// 20.2.2.30 Math.sinh(x)\nvar $export = require('./_export')\n , expm1 = require('./_math-expm1')\n , exp = Math.exp;\n\n// V8 near Chromium 38 has a problem with very small numbers\n$export($export.S + $export.F * require('./_fails')(function(){\n return !Math.sinh(-2e-17) != -2e-17;\n}), 'Math', {\n sinh: function sinh(x){\n return Math.abs(x = +x) < 1\n ? (expm1(x) - expm1(-x)) / 2\n : (exp(x - 1) - exp(-x - 1)) * (Math.E / 2);\n }\n});","// 20.2.2.33 Math.tanh(x)\nvar $export = require('./_export')\n , expm1 = require('./_math-expm1')\n , exp = Math.exp;\n\n$export($export.S, 'Math', {\n tanh: function tanh(x){\n var a = expm1(x = +x)\n , b = expm1(-x);\n return a == Infinity ? 1 : b == Infinity ? -1 : (a - b) / (exp(x) + exp(-x));\n }\n});","// 20.2.2.34 Math.trunc(x)\nvar $export = require('./_export');\n\n$export($export.S, 'Math', {\n trunc: function trunc(it){\n return (it > 0 ? Math.floor : Math.ceil)(it);\n }\n});","var $export = require('./_export')\n , toIndex = require('./_to-index')\n , fromCharCode = String.fromCharCode\n , $fromCodePoint = String.fromCodePoint;\n\n// length should be 1, old FF problem\n$export($export.S + $export.F * (!!$fromCodePoint && $fromCodePoint.length != 1), 'String', {\n // 21.1.2.2 String.fromCodePoint(...codePoints)\n fromCodePoint: function fromCodePoint(x){ // eslint-disable-line no-unused-vars\n var res = []\n , aLen = arguments.length\n , i = 0\n , code;\n while(aLen > i){\n code = +arguments[i++];\n if(toIndex(code, 0x10ffff) !== code)throw RangeError(code + ' is not a valid code point');\n res.push(code < 0x10000\n ? fromCharCode(code)\n : fromCharCode(((code -= 0x10000) >> 10) + 0xd800, code % 0x400 + 0xdc00)\n );\n } return res.join('');\n }\n});","var $export = require('./_export')\n , toIObject = require('./_to-iobject')\n , toLength = require('./_to-length');\n\n$export($export.S, 'String', {\n // 21.1.2.4 String.raw(callSite, ...substitutions)\n raw: function raw(callSite){\n var tpl = toIObject(callSite.raw)\n , len = toLength(tpl.length)\n , aLen = arguments.length\n , res = []\n , i = 0;\n while(len > i){\n res.push(String(tpl[i++]));\n if(i < aLen)res.push(String(arguments[i]));\n } return res.join('');\n }\n});","'use strict';\n// 21.1.3.25 String.prototype.trim()\nrequire('./_string-trim')('trim', function($trim){\n return function trim(){\n return $trim(this, 3);\n };\n});","var toInteger = require('./_to-integer')\n , defined = require('./_defined');\n// true -> String#at\n// false -> String#codePointAt\nmodule.exports = function(TO_STRING){\n return function(that, pos){\n var s = String(defined(that))\n , i = toInteger(pos)\n , l = s.length\n , a, b;\n if(i < 0 || i >= l)return TO_STRING ? '' : undefined;\n a = s.charCodeAt(i);\n return a < 0xd800 || a > 0xdbff || i + 1 === l || (b = s.charCodeAt(i + 1)) < 0xdc00 || b > 0xdfff\n ? TO_STRING ? s.charAt(i) : a\n : TO_STRING ? s.slice(i, i + 2) : (a - 0xd800 << 10) + (b - 0xdc00) + 0x10000;\n };\n};","module.exports = {};","'use strict';\nvar create = require('./_object-create')\n , descriptor = require('./_property-desc')\n , setToStringTag = require('./_set-to-string-tag')\n , IteratorPrototype = {};\n\n// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()\nrequire('./_hide')(IteratorPrototype, require('./_wks')('iterator'), function(){ return this; });\n\nmodule.exports = function(Constructor, NAME, next){\n Constructor.prototype = create(IteratorPrototype, {next: descriptor(1, next)});\n setToStringTag(Constructor, NAME + ' Iterator');\n};","'use strict';\nvar LIBRARY = require('./_library')\n , $export = require('./_export')\n , redefine = require('./_redefine')\n , hide = require('./_hide')\n , has = require('./_has')\n , Iterators = require('./_iterators')\n , $iterCreate = require('./_iter-create')\n , setToStringTag = require('./_set-to-string-tag')\n , getPrototypeOf = require('./_object-gpo')\n , ITERATOR = require('./_wks')('iterator')\n , BUGGY = !([].keys && 'next' in [].keys()) // Safari has buggy iterators w/o `next`\n , FF_ITERATOR = '@@iterator'\n , KEYS = 'keys'\n , VALUES = 'values';\n\nvar returnThis = function(){ return this; };\n\nmodule.exports = function(Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCED){\n $iterCreate(Constructor, NAME, next);\n var getMethod = function(kind){\n if(!BUGGY && kind in proto)return proto[kind];\n switch(kind){\n case KEYS: return function keys(){ return new Constructor(this, kind); };\n case VALUES: return function values(){ return new Constructor(this, kind); };\n } return function entries(){ return new Constructor(this, kind); };\n };\n var TAG = NAME + ' Iterator'\n , DEF_VALUES = DEFAULT == VALUES\n , VALUES_BUG = false\n , proto = Base.prototype\n , $native = proto[ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT]\n , $default = $native || getMethod(DEFAULT)\n , $entries = DEFAULT ? !DEF_VALUES ? $default : getMethod('entries') : undefined\n , $anyNative = NAME == 'Array' ? proto.entries || $native : $native\n , methods, key, IteratorPrototype;\n // Fix native\n if($anyNative){\n IteratorPrototype = getPrototypeOf($anyNative.call(new Base));\n if(IteratorPrototype !== Object.prototype){\n // Set @@toStringTag to native iterators\n setToStringTag(IteratorPrototype, TAG, true);\n // fix for some old engines\n if(!LIBRARY && !has(IteratorPrototype, ITERATOR))hide(IteratorPrototype, ITERATOR, returnThis);\n }\n }\n // fix Array#{values, @@iterator}.name in V8 / FF\n if(DEF_VALUES && $native && $native.name !== VALUES){\n VALUES_BUG = true;\n $default = function values(){ return $native.call(this); };\n }\n // Define iterator\n if((!LIBRARY || FORCED) && (BUGGY || VALUES_BUG || !proto[ITERATOR])){\n hide(proto, ITERATOR, $default);\n }\n // Plug for library\n Iterators[NAME] = $default;\n Iterators[TAG] = returnThis;\n if(DEFAULT){\n methods = {\n values: DEF_VALUES ? $default : getMethod(VALUES),\n keys: IS_SET ? $default : getMethod(KEYS),\n entries: $entries\n };\n if(FORCED)for(key in methods){\n if(!(key in proto))redefine(proto, key, methods[key]);\n } else $export($export.P + $export.F * (BUGGY || VALUES_BUG), NAME, methods);\n }\n return methods;\n};","'use strict';\nvar $at = require('./_string-at')(true);\n\n// 21.1.3.27 String.prototype[@@iterator]()\nrequire('./_iter-define')(String, 'String', function(iterated){\n this._t = String(iterated); // target\n this._i = 0; // next index\n// 21.1.5.2.1 %StringIteratorPrototype%.next()\n}, function(){\n var O = this._t\n , index = this._i\n , point;\n if(index >= O.length)return {value: undefined, done: true};\n point = $at(O, index);\n this._i += point.length;\n return {value: point, done: false};\n});","'use strict';\nvar $export = require('./_export')\n , $at = require('./_string-at')(false);\n$export($export.P, 'String', {\n // 21.1.3.3 String.prototype.codePointAt(pos)\n codePointAt: function codePointAt(pos){\n return $at(this, pos);\n }\n});","// 7.2.8 IsRegExp(argument)\nvar isObject = require('./_is-object')\n , cof = require('./_cof')\n , MATCH = require('./_wks')('match');\nmodule.exports = function(it){\n var isRegExp;\n return isObject(it) && ((isRegExp = it[MATCH]) !== undefined ? !!isRegExp : cof(it) == 'RegExp');\n};","// helper for String#{startsWith, endsWith, includes}\nvar isRegExp = require('./_is-regexp')\n , defined = require('./_defined');\n\nmodule.exports = function(that, searchString, NAME){\n if(isRegExp(searchString))throw TypeError('String#' + NAME + \" doesn't accept regex!\");\n return String(defined(that));\n};","var MATCH = require('./_wks')('match');\nmodule.exports = function(KEY){\n var re = /./;\n try {\n '/./'[KEY](re);\n } catch(e){\n try {\n re[MATCH] = false;\n return !'/./'[KEY](re);\n } catch(f){ /* empty */ }\n } return true;\n};","// 21.1.3.6 String.prototype.endsWith(searchString [, endPosition])\n'use strict';\nvar $export = require('./_export')\n , toLength = require('./_to-length')\n , context = require('./_string-context')\n , ENDS_WITH = 'endsWith'\n , $endsWith = ''[ENDS_WITH];\n\n$export($export.P + $export.F * require('./_fails-is-regexp')(ENDS_WITH), 'String', {\n endsWith: function endsWith(searchString /*, endPosition = @length */){\n var that = context(this, searchString, ENDS_WITH)\n , endPosition = arguments.length > 1 ? arguments[1] : undefined\n , len = toLength(that.length)\n , end = endPosition === undefined ? len : Math.min(toLength(endPosition), len)\n , search = String(searchString);\n return $endsWith\n ? $endsWith.call(that, search, end)\n : that.slice(end - search.length, end) === search;\n }\n});","// 21.1.3.7 String.prototype.includes(searchString, position = 0)\n'use strict';\nvar $export = require('./_export')\n , context = require('./_string-context')\n , INCLUDES = 'includes';\n\n$export($export.P + $export.F * require('./_fails-is-regexp')(INCLUDES), 'String', {\n includes: function includes(searchString /*, position = 0 */){\n return !!~context(this, searchString, INCLUDES)\n .indexOf(searchString, arguments.length > 1 ? arguments[1] : undefined);\n }\n});","var $export = require('./_export');\n\n$export($export.P, 'String', {\n // 21.1.3.13 String.prototype.repeat(count)\n repeat: require('./_string-repeat')\n});","// 21.1.3.18 String.prototype.startsWith(searchString [, position ])\n'use strict';\nvar $export = require('./_export')\n , toLength = require('./_to-length')\n , context = require('./_string-context')\n , STARTS_WITH = 'startsWith'\n , $startsWith = ''[STARTS_WITH];\n\n$export($export.P + $export.F * require('./_fails-is-regexp')(STARTS_WITH), 'String', {\n startsWith: function startsWith(searchString /*, position = 0 */){\n var that = context(this, searchString, STARTS_WITH)\n , index = toLength(Math.min(arguments.length > 1 ? arguments[1] : undefined, that.length))\n , search = String(searchString);\n return $startsWith\n ? $startsWith.call(that, search, index)\n : that.slice(index, index + search.length) === search;\n }\n});","var $export = require('./_export')\n , fails = require('./_fails')\n , defined = require('./_defined')\n , quot = /\"/g;\n// B.2.3.2.1 CreateHTML(string, tag, attribute, value)\nvar createHTML = function(string, tag, attribute, value) {\n var S = String(defined(string))\n , p1 = '<' + tag;\n if(attribute !== '')p1 += ' ' + attribute + '=\"' + String(value).replace(quot, '&quot;') + '\"';\n return p1 + '>' + S + '</' + tag + '>';\n};\nmodule.exports = function(NAME, exec){\n var O = {};\n O[NAME] = exec(createHTML);\n $export($export.P + $export.F * fails(function(){\n var test = ''[NAME]('\"');\n return test !== test.toLowerCase() || test.split('\"').length > 3;\n }), 'String', O);\n};","'use strict';\n// B.2.3.2 String.prototype.anchor(name)\nrequire('./_string-html')('anchor', function(createHTML){\n return function anchor(name){\n return createHTML(this, 'a', 'name', name);\n }\n});","'use strict';\n// B.2.3.3 String.prototype.big()\nrequire('./_string-html')('big', function(createHTML){\n return function big(){\n return createHTML(this, 'big', '', '');\n }\n});","'use strict';\n// B.2.3.4 String.prototype.blink()\nrequire('./_string-html')('blink', function(createHTML){\n return function blink(){\n return createHTML(this, 'blink', '', '');\n }\n});","'use strict';\n// B.2.3.5 String.prototype.bold()\nrequire('./_string-html')('bold', function(createHTML){\n return function bold(){\n return createHTML(this, 'b', '', '');\n }\n});","'use strict';\n// B.2.3.6 String.prototype.fixed()\nrequire('./_string-html')('fixed', function(createHTML){\n return function fixed(){\n return createHTML(this, 'tt', '', '');\n }\n});","'use strict';\n// B.2.3.7 String.prototype.fontcolor(color)\nrequire('./_string-html')('fontcolor', function(createHTML){\n return function fontcolor(color){\n return createHTML(this, 'font', 'color', color);\n }\n});","'use strict';\n// B.2.3.8 String.prototype.fontsize(size)\nrequire('./_string-html')('fontsize', function(createHTML){\n return function fontsize(size){\n return createHTML(this, 'font', 'size', size);\n }\n});","'use strict';\n// B.2.3.9 String.prototype.italics()\nrequire('./_string-html')('italics', function(createHTML){\n return function italics(){\n return createHTML(this, 'i', '', '');\n }\n});","'use strict';\n// B.2.3.10 String.prototype.link(url)\nrequire('./_string-html')('link', function(createHTML){\n return function link(url){\n return createHTML(this, 'a', 'href', url);\n }\n});","'use strict';\n// B.2.3.11 String.prototype.small()\nrequire('./_string-html')('small', function(createHTML){\n return function small(){\n return createHTML(this, 'small', '', '');\n }\n});","'use strict';\n// B.2.3.12 String.prototype.strike()\nrequire('./_string-html')('strike', function(createHTML){\n return function strike(){\n return createHTML(this, 'strike', '', '');\n }\n});","'use strict';\n// B.2.3.13 String.prototype.sub()\nrequire('./_string-html')('sub', function(createHTML){\n return function sub(){\n return createHTML(this, 'sub', '', '');\n }\n});","'use strict';\n// B.2.3.14 String.prototype.sup()\nrequire('./_string-html')('sup', function(createHTML){\n return function sup(){\n return createHTML(this, 'sup', '', '');\n }\n});","// 20.3.3.1 / 15.9.4.4 Date.now()\nvar $export = require('./_export');\n\n$export($export.S, 'Date', {now: function(){ return new Date().getTime(); }});","'use strict';\nvar $export = require('./_export')\n , toObject = require('./_to-object')\n , toPrimitive = require('./_to-primitive');\n\n$export($export.P + $export.F * require('./_fails')(function(){\n return new Date(NaN).toJSON() !== null || Date.prototype.toJSON.call({toISOString: function(){ return 1; }}) !== 1;\n}), 'Date', {\n toJSON: function toJSON(key){\n var O = toObject(this)\n , pv = toPrimitive(O);\n return typeof pv == 'number' && !isFinite(pv) ? null : O.toISOString();\n }\n});","'use strict';\n// 20.3.4.36 / 15.9.5.43 Date.prototype.toISOString()\nvar $export = require('./_export')\n , fails = require('./_fails')\n , getTime = Date.prototype.getTime;\n\nvar lz = function(num){\n return num > 9 ? num : '0' + num;\n};\n\n// PhantomJS / old WebKit has a broken implementations\n$export($export.P + $export.F * (fails(function(){\n return new Date(-5e13 - 1).toISOString() != '0385-07-25T07:06:39.999Z';\n}) || !fails(function(){\n new Date(NaN).toISOString();\n})), 'Date', {\n toISOString: function toISOString(){\n if(!isFinite(getTime.call(this)))throw RangeError('Invalid time value');\n var d = this\n , y = d.getUTCFullYear()\n , m = d.getUTCMilliseconds()\n , s = y < 0 ? '-' : y > 9999 ? '+' : '';\n return s + ('00000' + Math.abs(y)).slice(s ? -6 : -4) +\n '-' + lz(d.getUTCMonth() + 1) + '-' + lz(d.getUTCDate()) +\n 'T' + lz(d.getUTCHours()) + ':' + lz(d.getUTCMinutes()) +\n ':' + lz(d.getUTCSeconds()) + '.' + (m > 99 ? m : '0' + lz(m)) + 'Z';\n }\n});","var DateProto = Date.prototype\n , INVALID_DATE = 'Invalid Date'\n , TO_STRING = 'toString'\n , $toString = DateProto[TO_STRING]\n , getTime = DateProto.getTime;\nif(new Date(NaN) + '' != INVALID_DATE){\n require('./_redefine')(DateProto, TO_STRING, function toString(){\n var value = getTime.call(this);\n return value === value ? $toString.call(this) : INVALID_DATE;\n });\n}","'use strict';\nvar anObject = require('./_an-object')\n , toPrimitive = require('./_to-primitive')\n , NUMBER = 'number';\n\nmodule.exports = function(hint){\n if(hint !== 'string' && hint !== NUMBER && hint !== 'default')throw TypeError('Incorrect hint');\n return toPrimitive(anObject(this), hint != NUMBER);\n};","var TO_PRIMITIVE = require('./_wks')('toPrimitive')\n , proto = Date.prototype;\n\nif(!(TO_PRIMITIVE in proto))require('./_hide')(proto, TO_PRIMITIVE, require('./_date-to-primitive'));","// 22.1.2.2 / 15.4.3.2 Array.isArray(arg)\nvar $export = require('./_export');\n\n$export($export.S, 'Array', {isArray: require('./_is-array')});","// call something on iterator step with safe closing on error\nvar anObject = require('./_an-object');\nmodule.exports = function(iterator, fn, value, entries){\n try {\n return entries ? fn(anObject(value)[0], value[1]) : fn(value);\n // 7.4.6 IteratorClose(iterator, completion)\n } catch(e){\n var ret = iterator['return'];\n if(ret !== undefined)anObject(ret.call(iterator));\n throw e;\n }\n};","// check on default Array iterator\nvar Iterators = require('./_iterators')\n , ITERATOR = require('./_wks')('iterator')\n , ArrayProto = Array.prototype;\n\nmodule.exports = function(it){\n return it !== undefined && (Iterators.Array === it || ArrayProto[ITERATOR] === it);\n};","'use strict';\nvar $defineProperty = require('./_object-dp')\n , createDesc = require('./_property-desc');\n\nmodule.exports = function(object, index, value){\n if(index in object)$defineProperty.f(object, index, createDesc(0, value));\n else object[index] = value;\n};","var classof = require('./_classof')\n , ITERATOR = require('./_wks')('iterator')\n , Iterators = require('./_iterators');\nmodule.exports = require('./_core').getIteratorMethod = function(it){\n if(it != undefined)return it[ITERATOR]\n || it['@@iterator']\n || Iterators[classof(it)];\n};","var ITERATOR = require('./_wks')('iterator')\n , SAFE_CLOSING = false;\n\ntry {\n var riter = [7][ITERATOR]();\n riter['return'] = function(){ SAFE_CLOSING = true; };\n Array.from(riter, function(){ throw 2; });\n} catch(e){ /* empty */ }\n\nmodule.exports = function(exec, skipClosing){\n if(!skipClosing && !SAFE_CLOSING)return false;\n var safe = false;\n try {\n var arr = [7]\n , iter = arr[ITERATOR]();\n iter.next = function(){ return {done: safe = true}; };\n arr[ITERATOR] = function(){ return iter; };\n exec(arr);\n } catch(e){ /* empty */ }\n return safe;\n};","'use strict';\nvar ctx = require('./_ctx')\n , $export = require('./_export')\n , toObject = require('./_to-object')\n , call = require('./_iter-call')\n , isArrayIter = require('./_is-array-iter')\n , toLength = require('./_to-length')\n , createProperty = require('./_create-property')\n , getIterFn = require('./core.get-iterator-method');\n\n$export($export.S + $export.F * !require('./_iter-detect')(function(iter){ Array.from(iter); }), 'Array', {\n // 22.1.2.1 Array.from(arrayLike, mapfn = undefined, thisArg = undefined)\n from: function from(arrayLike/*, mapfn = undefined, thisArg = undefined*/){\n var O = toObject(arrayLike)\n , C = typeof this == 'function' ? this : Array\n , aLen = arguments.length\n , mapfn = aLen > 1 ? arguments[1] : undefined\n , mapping = mapfn !== undefined\n , index = 0\n , iterFn = getIterFn(O)\n , length, result, step, iterator;\n if(mapping)mapfn = ctx(mapfn, aLen > 2 ? arguments[2] : undefined, 2);\n // if object isn't iterable or it's array with default iterator - use simple case\n if(iterFn != undefined && !(C == Array && isArrayIter(iterFn))){\n for(iterator = iterFn.call(O), result = new C; !(step = iterator.next()).done; index++){\n createProperty(result, index, mapping ? call(iterator, mapfn, [step.value, index], true) : step.value);\n }\n } else {\n length = toLength(O.length);\n for(result = new C(length); length > index; index++){\n createProperty(result, index, mapping ? mapfn(O[index], index) : O[index]);\n }\n }\n result.length = index;\n return result;\n }\n});\n","'use strict';\nvar $export = require('./_export')\n , createProperty = require('./_create-property');\n\n// WebKit Array.of isn't generic\n$export($export.S + $export.F * require('./_fails')(function(){\n function F(){}\n return !(Array.of.call(F) instanceof F);\n}), 'Array', {\n // 22.1.2.3 Array.of( ...items)\n of: function of(/* ...args */){\n var index = 0\n , aLen = arguments.length\n , result = new (typeof this == 'function' ? this : Array)(aLen);\n while(aLen > index)createProperty(result, index, arguments[index++]);\n result.length = aLen;\n return result;\n }\n});","var fails = require('./_fails');\n\nmodule.exports = function(method, arg){\n return !!method && fails(function(){\n arg ? method.call(null, function(){}, 1) : method.call(null);\n });\n};","'use strict';\n// 22.1.3.13 Array.prototype.join(separator)\nvar $export = require('./_export')\n , toIObject = require('./_to-iobject')\n , arrayJoin = [].join;\n\n// fallback for not array-like strings\n$export($export.P + $export.F * (require('./_iobject') != Object || !require('./_strict-method')(arrayJoin)), 'Array', {\n join: function join(separator){\n return arrayJoin.call(toIObject(this), separator === undefined ? ',' : separator);\n }\n});","'use strict';\nvar $export = require('./_export')\n , html = require('./_html')\n , cof = require('./_cof')\n , toIndex = require('./_to-index')\n , toLength = require('./_to-length')\n , arraySlice = [].slice;\n\n// fallback for not array-like ES3 strings and DOM objects\n$export($export.P + $export.F * require('./_fails')(function(){\n if(html)arraySlice.call(html);\n}), 'Array', {\n slice: function slice(begin, end){\n var len = toLength(this.length)\n , klass = cof(this);\n end = end === undefined ? len : end;\n if(klass == 'Array')return arraySlice.call(this, begin, end);\n var start = toIndex(begin, len)\n , upTo = toIndex(end, len)\n , size = toLength(upTo - start)\n , cloned = Array(size)\n , i = 0;\n for(; i < size; i++)cloned[i] = klass == 'String'\n ? this.charAt(start + i)\n : this[start + i];\n return cloned;\n }\n});","'use strict';\nvar $export = require('./_export')\n , aFunction = require('./_a-function')\n , toObject = require('./_to-object')\n , fails = require('./_fails')\n , $sort = [].sort\n , test = [1, 2, 3];\n\n$export($export.P + $export.F * (fails(function(){\n // IE8-\n test.sort(undefined);\n}) || !fails(function(){\n // V8 bug\n test.sort(null);\n // Old WebKit\n}) || !require('./_strict-method')($sort)), 'Array', {\n // 22.1.3.25 Array.prototype.sort(comparefn)\n sort: function sort(comparefn){\n return comparefn === undefined\n ? $sort.call(toObject(this))\n : $sort.call(toObject(this), aFunction(comparefn));\n }\n});","var isObject = require('./_is-object')\n , isArray = require('./_is-array')\n , SPECIES = require('./_wks')('species');\n\nmodule.exports = function(original){\n var C;\n if(isArray(original)){\n C = original.constructor;\n // cross-realm fallback\n if(typeof C == 'function' && (C === Array || isArray(C.prototype)))C = undefined;\n if(isObject(C)){\n C = C[SPECIES];\n if(C === null)C = undefined;\n }\n } return C === undefined ? Array : C;\n};","// 9.4.2.3 ArraySpeciesCreate(originalArray, length)\nvar speciesConstructor = require('./_array-species-constructor');\n\nmodule.exports = function(original, length){\n return new (speciesConstructor(original))(length);\n};","// 0 -> Array#forEach\n// 1 -> Array#map\n// 2 -> Array#filter\n// 3 -> Array#some\n// 4 -> Array#every\n// 5 -> Array#find\n// 6 -> Array#findIndex\nvar ctx = require('./_ctx')\n , IObject = require('./_iobject')\n , toObject = require('./_to-object')\n , toLength = require('./_to-length')\n , asc = require('./_array-species-create');\nmodule.exports = function(TYPE, $create){\n var IS_MAP = TYPE == 1\n , IS_FILTER = TYPE == 2\n , IS_SOME = TYPE == 3\n , IS_EVERY = TYPE == 4\n , IS_FIND_INDEX = TYPE == 6\n , NO_HOLES = TYPE == 5 || IS_FIND_INDEX\n , create = $create || asc;\n return function($this, callbackfn, that){\n var O = toObject($this)\n , self = IObject(O)\n , f = ctx(callbackfn, that, 3)\n , length = toLength(self.length)\n , index = 0\n , result = IS_MAP ? create($this, length) : IS_FILTER ? create($this, 0) : undefined\n , val, res;\n for(;length > index; index++)if(NO_HOLES || index in self){\n val = self[index];\n res = f(val, index, O);\n if(TYPE){\n if(IS_MAP)result[index] = res; // map\n else if(res)switch(TYPE){\n case 3: return true; // some\n case 5: return val; // find\n case 6: return index; // findIndex\n case 2: result.push(val); // filter\n } else if(IS_EVERY)return false; // every\n }\n }\n return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : result;\n };\n};","'use strict';\nvar $export = require('./_export')\n , $forEach = require('./_array-methods')(0)\n , STRICT = require('./_strict-method')([].forEach, true);\n\n$export($export.P + $export.F * !STRICT, 'Array', {\n // 22.1.3.10 / 15.4.4.18 Array.prototype.forEach(callbackfn [, thisArg])\n forEach: function forEach(callbackfn /* , thisArg */){\n return $forEach(this, callbackfn, arguments[1]);\n }\n});","'use strict';\nvar $export = require('./_export')\n , $map = require('./_array-methods')(1);\n\n$export($export.P + $export.F * !require('./_strict-method')([].map, true), 'Array', {\n // 22.1.3.15 / 15.4.4.19 Array.prototype.map(callbackfn [, thisArg])\n map: function map(callbackfn /* , thisArg */){\n return $map(this, callbackfn, arguments[1]);\n }\n});","'use strict';\nvar $export = require('./_export')\n , $filter = require('./_array-methods')(2);\n\n$export($export.P + $export.F * !require('./_strict-method')([].filter, true), 'Array', {\n // 22.1.3.7 / 15.4.4.20 Array.prototype.filter(callbackfn [, thisArg])\n filter: function filter(callbackfn /* , thisArg */){\n return $filter(this, callbackfn, arguments[1]);\n }\n});","'use strict';\nvar $export = require('./_export')\n , $some = require('./_array-methods')(3);\n\n$export($export.P + $export.F * !require('./_strict-method')([].some, true), 'Array', {\n // 22.1.3.23 / 15.4.4.17 Array.prototype.some(callbackfn [, thisArg])\n some: function some(callbackfn /* , thisArg */){\n return $some(this, callbackfn, arguments[1]);\n }\n});","'use strict';\nvar $export = require('./_export')\n , $every = require('./_array-methods')(4);\n\n$export($export.P + $export.F * !require('./_strict-method')([].every, true), 'Array', {\n // 22.1.3.5 / 15.4.4.16 Array.prototype.every(callbackfn [, thisArg])\n every: function every(callbackfn /* , thisArg */){\n return $every(this, callbackfn, arguments[1]);\n }\n});","var aFunction = require('./_a-function')\n , toObject = require('./_to-object')\n , IObject = require('./_iobject')\n , toLength = require('./_to-length');\n\nmodule.exports = function(that, callbackfn, aLen, memo, isRight){\n aFunction(callbackfn);\n var O = toObject(that)\n , self = IObject(O)\n , length = toLength(O.length)\n , index = isRight ? length - 1 : 0\n , i = isRight ? -1 : 1;\n if(aLen < 2)for(;;){\n if(index in self){\n memo = self[index];\n index += i;\n break;\n }\n index += i;\n if(isRight ? index < 0 : length <= index){\n throw TypeError('Reduce of empty array with no initial value');\n }\n }\n for(;isRight ? index >= 0 : length > index; index += i)if(index in self){\n memo = callbackfn(memo, self[index], index, O);\n }\n return memo;\n};","'use strict';\nvar $export = require('./_export')\n , $reduce = require('./_array-reduce');\n\n$export($export.P + $export.F * !require('./_strict-method')([].reduce, true), 'Array', {\n // 22.1.3.18 / 15.4.4.21 Array.prototype.reduce(callbackfn [, initialValue])\n reduce: function reduce(callbackfn /* , initialValue */){\n return $reduce(this, callbackfn, arguments.length, arguments[1], false);\n }\n});","'use strict';\nvar $export = require('./_export')\n , $reduce = require('./_array-reduce');\n\n$export($export.P + $export.F * !require('./_strict-method')([].reduceRight, true), 'Array', {\n // 22.1.3.19 / 15.4.4.22 Array.prototype.reduceRight(callbackfn [, initialValue])\n reduceRight: function reduceRight(callbackfn /* , initialValue */){\n return $reduce(this, callbackfn, arguments.length, arguments[1], true);\n }\n});","'use strict';\nvar $export = require('./_export')\n , $indexOf = require('./_array-includes')(false)\n , $native = [].indexOf\n , NEGATIVE_ZERO = !!$native && 1 / [1].indexOf(1, -0) < 0;\n\n$export($export.P + $export.F * (NEGATIVE_ZERO || !require('./_strict-method')($native)), 'Array', {\n // 22.1.3.11 / 15.4.4.14 Array.prototype.indexOf(searchElement [, fromIndex])\n indexOf: function indexOf(searchElement /*, fromIndex = 0 */){\n return NEGATIVE_ZERO\n // convert -0 to +0\n ? $native.apply(this, arguments) || 0\n : $indexOf(this, searchElement, arguments[1]);\n }\n});","'use strict';\nvar $export = require('./_export')\n , toIObject = require('./_to-iobject')\n , toInteger = require('./_to-integer')\n , toLength = require('./_to-length')\n , $native = [].lastIndexOf\n , NEGATIVE_ZERO = !!$native && 1 / [1].lastIndexOf(1, -0) < 0;\n\n$export($export.P + $export.F * (NEGATIVE_ZERO || !require('./_strict-method')($native)), 'Array', {\n // 22.1.3.14 / 15.4.4.15 Array.prototype.lastIndexOf(searchElement [, fromIndex])\n lastIndexOf: function lastIndexOf(searchElement /*, fromIndex = @[*-1] */){\n // convert -0 to +0\n if(NEGATIVE_ZERO)return $native.apply(this, arguments) || 0;\n var O = toIObject(this)\n , length = toLength(O.length)\n , index = length - 1;\n if(arguments.length > 1)index = Math.min(index, toInteger(arguments[1]));\n if(index < 0)index = length + index;\n for(;index >= 0; index--)if(index in O)if(O[index] === searchElement)return index || 0;\n return -1;\n }\n});","// 22.1.3.3 Array.prototype.copyWithin(target, start, end = this.length)\n'use strict';\nvar toObject = require('./_to-object')\n , toIndex = require('./_to-index')\n , toLength = require('./_to-length');\n\nmodule.exports = [].copyWithin || function copyWithin(target/*= 0*/, start/*= 0, end = @length*/){\n var O = toObject(this)\n , len = toLength(O.length)\n , to = toIndex(target, len)\n , from = toIndex(start, len)\n , end = arguments.length > 2 ? arguments[2] : undefined\n , count = Math.min((end === undefined ? len : toIndex(end, len)) - from, len - to)\n , inc = 1;\n if(from < to && to < from + count){\n inc = -1;\n from += count - 1;\n to += count - 1;\n }\n while(count-- > 0){\n if(from in O)O[to] = O[from];\n else delete O[to];\n to += inc;\n from += inc;\n } return O;\n};","// 22.1.3.31 Array.prototype[@@unscopables]\nvar UNSCOPABLES = require('./_wks')('unscopables')\n , ArrayProto = Array.prototype;\nif(ArrayProto[UNSCOPABLES] == undefined)require('./_hide')(ArrayProto, UNSCOPABLES, {});\nmodule.exports = function(key){\n ArrayProto[UNSCOPABLES][key] = true;\n};","// 22.1.3.3 Array.prototype.copyWithin(target, start, end = this.length)\nvar $export = require('./_export');\n\n$export($export.P, 'Array', {copyWithin: require('./_array-copy-within')});\n\nrequire('./_add-to-unscopables')('copyWithin');","// 22.1.3.6 Array.prototype.fill(value, start = 0, end = this.length)\n'use strict';\nvar toObject = require('./_to-object')\n , toIndex = require('./_to-index')\n , toLength = require('./_to-length');\nmodule.exports = function fill(value /*, start = 0, end = @length */){\n var O = toObject(this)\n , length = toLength(O.length)\n , aLen = arguments.length\n , index = toIndex(aLen > 1 ? arguments[1] : undefined, length)\n , end = aLen > 2 ? arguments[2] : undefined\n , endPos = end === undefined ? length : toIndex(end, length);\n while(endPos > index)O[index++] = value;\n return O;\n};","// 22.1.3.6 Array.prototype.fill(value, start = 0, end = this.length)\nvar $export = require('./_export');\n\n$export($export.P, 'Array', {fill: require('./_array-fill')});\n\nrequire('./_add-to-unscopables')('fill');","'use strict';\n// 22.1.3.8 Array.prototype.find(predicate, thisArg = undefined)\nvar $export = require('./_export')\n , $find = require('./_array-methods')(5)\n , KEY = 'find'\n , forced = true;\n// Shouldn't skip holes\nif(KEY in [])Array(1)[KEY](function(){ forced = false; });\n$export($export.P + $export.F * forced, 'Array', {\n find: function find(callbackfn/*, that = undefined */){\n return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\nrequire('./_add-to-unscopables')(KEY);","'use strict';\n// 22.1.3.9 Array.prototype.findIndex(predicate, thisArg = undefined)\nvar $export = require('./_export')\n , $find = require('./_array-methods')(6)\n , KEY = 'findIndex'\n , forced = true;\n// Shouldn't skip holes\nif(KEY in [])Array(1)[KEY](function(){ forced = false; });\n$export($export.P + $export.F * forced, 'Array', {\n findIndex: function findIndex(callbackfn/*, that = undefined */){\n return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\nrequire('./_add-to-unscopables')(KEY);","'use strict';\nvar global = require('./_global')\n , dP = require('./_object-dp')\n , DESCRIPTORS = require('./_descriptors')\n , SPECIES = require('./_wks')('species');\n\nmodule.exports = function(KEY){\n var C = global[KEY];\n if(DESCRIPTORS && C && !C[SPECIES])dP.f(C, SPECIES, {\n configurable: true,\n get: function(){ return this; }\n });\n};","require('./_set-species')('Array');","module.exports = function(done, value){\n return {value: value, done: !!done};\n};","'use strict';\nvar addToUnscopables = require('./_add-to-unscopables')\n , step = require('./_iter-step')\n , Iterators = require('./_iterators')\n , toIObject = require('./_to-iobject');\n\n// 22.1.3.4 Array.prototype.entries()\n// 22.1.3.13 Array.prototype.keys()\n// 22.1.3.29 Array.prototype.values()\n// 22.1.3.30 Array.prototype[@@iterator]()\nmodule.exports = require('./_iter-define')(Array, 'Array', function(iterated, kind){\n this._t = toIObject(iterated); // target\n this._i = 0; // next index\n this._k = kind; // kind\n// 22.1.5.2.1 %ArrayIteratorPrototype%.next()\n}, function(){\n var O = this._t\n , kind = this._k\n , index = this._i++;\n if(!O || index >= O.length){\n this._t = undefined;\n return step(1);\n }\n if(kind == 'keys' )return step(0, index);\n if(kind == 'values')return step(0, O[index]);\n return step(0, [index, O[index]]);\n}, 'values');\n\n// argumentsList[@@iterator] is %ArrayProto_values% (9.4.4.6, 9.4.4.7)\nIterators.Arguments = Iterators.Array;\n\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');","'use strict';\n// 21.2.5.3 get RegExp.prototype.flags\nvar anObject = require('./_an-object');\nmodule.exports = function(){\n var that = anObject(this)\n , result = '';\n if(that.global) result += 'g';\n if(that.ignoreCase) result += 'i';\n if(that.multiline) result += 'm';\n if(that.unicode) result += 'u';\n if(that.sticky) result += 'y';\n return result;\n};","var global = require('./_global')\n , inheritIfRequired = require('./_inherit-if-required')\n , dP = require('./_object-dp').f\n , gOPN = require('./_object-gopn').f\n , isRegExp = require('./_is-regexp')\n , $flags = require('./_flags')\n , $RegExp = global.RegExp\n , Base = $RegExp\n , proto = $RegExp.prototype\n , re1 = /a/g\n , re2 = /a/g\n // \"new\" creates a new object, old webkit buggy here\n , CORRECT_NEW = new $RegExp(re1) !== re1;\n\nif(require('./_descriptors') && (!CORRECT_NEW || require('./_fails')(function(){\n re2[require('./_wks')('match')] = false;\n // RegExp constructor can alter flags and IsRegExp works correct with @@match\n return $RegExp(re1) != re1 || $RegExp(re2) == re2 || $RegExp(re1, 'i') != '/a/i';\n}))){\n $RegExp = function RegExp(p, f){\n var tiRE = this instanceof $RegExp\n , piRE = isRegExp(p)\n , fiU = f === undefined;\n return !tiRE && piRE && p.constructor === $RegExp && fiU ? p\n : inheritIfRequired(CORRECT_NEW\n ? new Base(piRE && !fiU ? p.source : p, f)\n : Base((piRE = p instanceof $RegExp) ? p.source : p, piRE && fiU ? $flags.call(p) : f)\n , tiRE ? this : proto, $RegExp);\n };\n var proxy = function(key){\n key in $RegExp || dP($RegExp, key, {\n configurable: true,\n get: function(){ return Base[key]; },\n set: function(it){ Base[key] = it; }\n });\n };\n for(var keys = gOPN(Base), i = 0; keys.length > i; )proxy(keys[i++]);\n proto.constructor = $RegExp;\n $RegExp.prototype = proto;\n require('./_redefine')(global, 'RegExp', $RegExp);\n}\n\nrequire('./_set-species')('RegExp');","// 21.2.5.3 get RegExp.prototype.flags()\nif(require('./_descriptors') && /./g.flags != 'g')require('./_object-dp').f(RegExp.prototype, 'flags', {\n configurable: true,\n get: require('./_flags')\n});","'use strict';\nrequire('./es6.regexp.flags');\nvar anObject = require('./_an-object')\n , $flags = require('./_flags')\n , DESCRIPTORS = require('./_descriptors')\n , TO_STRING = 'toString'\n , $toString = /./[TO_STRING];\n\nvar define = function(fn){\n require('./_redefine')(RegExp.prototype, TO_STRING, fn, true);\n};\n\n// 21.2.5.14 RegExp.prototype.toString()\nif(require('./_fails')(function(){ return $toString.call({source: 'a', flags: 'b'}) != '/a/b'; })){\n define(function toString(){\n var R = anObject(this);\n return '/'.concat(R.source, '/',\n 'flags' in R ? R.flags : !DESCRIPTORS && R instanceof RegExp ? $flags.call(R) : undefined);\n });\n// FF44- RegExp#toString has a wrong name\n} else if($toString.name != TO_STRING){\n define(function toString(){\n return $toString.call(this);\n });\n}","'use strict';\nvar hide = require('./_hide')\n , redefine = require('./_redefine')\n , fails = require('./_fails')\n , defined = require('./_defined')\n , wks = require('./_wks');\n\nmodule.exports = function(KEY, length, exec){\n var SYMBOL = wks(KEY)\n , fns = exec(defined, SYMBOL, ''[KEY])\n , strfn = fns[0]\n , rxfn = fns[1];\n if(fails(function(){\n var O = {};\n O[SYMBOL] = function(){ return 7; };\n return ''[KEY](O) != 7;\n })){\n redefine(String.prototype, KEY, strfn);\n hide(RegExp.prototype, SYMBOL, length == 2\n // 21.2.5.8 RegExp.prototype[@@replace](string, replaceValue)\n // 21.2.5.11 RegExp.prototype[@@split](string, limit)\n ? function(string, arg){ return rxfn.call(string, this, arg); }\n // 21.2.5.6 RegExp.prototype[@@match](string)\n // 21.2.5.9 RegExp.prototype[@@search](string)\n : function(string){ return rxfn.call(string, this); }\n );\n }\n};","// @@match logic\nrequire('./_fix-re-wks')('match', 1, function(defined, MATCH, $match){\n // 21.1.3.11 String.prototype.match(regexp)\n return [function match(regexp){\n 'use strict';\n var O = defined(this)\n , fn = regexp == undefined ? undefined : regexp[MATCH];\n return fn !== undefined ? fn.call(regexp, O) : new RegExp(regexp)[MATCH](String(O));\n }, $match];\n});","// @@replace logic\nrequire('./_fix-re-wks')('replace', 2, function(defined, REPLACE, $replace){\n // 21.1.3.14 String.prototype.replace(searchValue, replaceValue)\n return [function replace(searchValue, replaceValue){\n 'use strict';\n var O = defined(this)\n , fn = searchValue == undefined ? undefined : searchValue[REPLACE];\n return fn !== undefined\n ? fn.call(searchValue, O, replaceValue)\n : $replace.call(String(O), searchValue, replaceValue);\n }, $replace];\n});","// @@search logic\nrequire('./_fix-re-wks')('search', 1, function(defined, SEARCH, $search){\n // 21.1.3.15 String.prototype.search(regexp)\n return [function search(regexp){\n 'use strict';\n var O = defined(this)\n , fn = regexp == undefined ? undefined : regexp[SEARCH];\n return fn !== undefined ? fn.call(regexp, O) : new RegExp(regexp)[SEARCH](String(O));\n }, $search];\n});","// @@split logic\nrequire('./_fix-re-wks')('split', 2, function(defined, SPLIT, $split){\n 'use strict';\n var isRegExp = require('./_is-regexp')\n , _split = $split\n , $push = [].push\n , $SPLIT = 'split'\n , LENGTH = 'length'\n , LAST_INDEX = 'lastIndex';\n if(\n 'abbc'[$SPLIT](/(b)*/)[1] == 'c' ||\n 'test'[$SPLIT](/(?:)/, -1)[LENGTH] != 4 ||\n 'ab'[$SPLIT](/(?:ab)*/)[LENGTH] != 2 ||\n '.'[$SPLIT](/(.?)(.?)/)[LENGTH] != 4 ||\n '.'[$SPLIT](/()()/)[LENGTH] > 1 ||\n ''[$SPLIT](/.?/)[LENGTH]\n ){\n var NPCG = /()??/.exec('')[1] === undefined; // nonparticipating capturing group\n // based on es5-shim implementation, need to rework it\n $split = function(separator, limit){\n var string = String(this);\n if(separator === undefined && limit === 0)return [];\n // If `separator` is not a regex, use native split\n if(!isRegExp(separator))return _split.call(string, separator, limit);\n var output = [];\n var flags = (separator.ignoreCase ? 'i' : '') +\n (separator.multiline ? 'm' : '') +\n (separator.unicode ? 'u' : '') +\n (separator.sticky ? 'y' : '');\n var lastLastIndex = 0;\n var splitLimit = limit === undefined ? 4294967295 : limit >>> 0;\n // Make `global` and avoid `lastIndex` issues by working with a copy\n var separatorCopy = new RegExp(separator.source, flags + 'g');\n var separator2, match, lastIndex, lastLength, i;\n // Doesn't need flags gy, but they don't hurt\n if(!NPCG)separator2 = new RegExp('^' + separatorCopy.source + '$(?!\\\\s)', flags);\n while(match = separatorCopy.exec(string)){\n // `separatorCopy.lastIndex` is not reliable cross-browser\n lastIndex = match.index + match[0][LENGTH];\n if(lastIndex > lastLastIndex){\n output.push(string.slice(lastLastIndex, match.index));\n // Fix browsers whose `exec` methods don't consistently return `undefined` for NPCG\n if(!NPCG && match[LENGTH] > 1)match[0].replace(separator2, function(){\n for(i = 1; i < arguments[LENGTH] - 2; i++)if(arguments[i] === undefined)match[i] = undefined;\n });\n if(match[LENGTH] > 1 && match.index < string[LENGTH])$push.apply(output, match.slice(1));\n lastLength = match[0][LENGTH];\n lastLastIndex = lastIndex;\n if(output[LENGTH] >= splitLimit)break;\n }\n if(separatorCopy[LAST_INDEX] === match.index)separatorCopy[LAST_INDEX]++; // Avoid an infinite loop\n }\n if(lastLastIndex === string[LENGTH]){\n if(lastLength || !separatorCopy.test(''))output.push('');\n } else output.push(string.slice(lastLastIndex));\n return output[LENGTH] > splitLimit ? output.slice(0, splitLimit) : output;\n };\n // Chakra, V8\n } else if('0'[$SPLIT](undefined, 0)[LENGTH]){\n $split = function(separator, limit){\n return separator === undefined && limit === 0 ? [] : _split.call(this, separator, limit);\n };\n }\n // 21.1.3.17 String.prototype.split(separator, limit)\n return [function split(separator, limit){\n var O = defined(this)\n , fn = separator == undefined ? undefined : separator[SPLIT];\n return fn !== undefined ? fn.call(separator, O, limit) : $split.call(String(O), separator, limit);\n }, $split];\n});","module.exports = function(it, Constructor, name, forbiddenField){\n if(!(it instanceof Constructor) || (forbiddenField !== undefined && forbiddenField in it)){\n throw TypeError(name + ': incorrect invocation!');\n } return it;\n};","var ctx = require('./_ctx')\n , call = require('./_iter-call')\n , isArrayIter = require('./_is-array-iter')\n , anObject = require('./_an-object')\n , toLength = require('./_to-length')\n , getIterFn = require('./core.get-iterator-method')\n , BREAK = {}\n , RETURN = {};\nvar exports = module.exports = function(iterable, entries, fn, that, ITERATOR){\n var iterFn = ITERATOR ? function(){ return iterable; } : getIterFn(iterable)\n , f = ctx(fn, that, entries ? 2 : 1)\n , index = 0\n , length, step, iterator, result;\n if(typeof iterFn != 'function')throw TypeError(iterable + ' is not iterable!');\n // fast case for arrays with default iterator\n if(isArrayIter(iterFn))for(length = toLength(iterable.length); length > index; index++){\n result = entries ? f(anObject(step = iterable[index])[0], step[1]) : f(iterable[index]);\n if(result === BREAK || result === RETURN)return result;\n } else for(iterator = iterFn.call(iterable); !(step = iterator.next()).done; ){\n result = call(iterator, f, step.value, entries);\n if(result === BREAK || result === RETURN)return result;\n }\n};\nexports.BREAK = BREAK;\nexports.RETURN = RETURN;","// 7.3.20 SpeciesConstructor(O, defaultConstructor)\nvar anObject = require('./_an-object')\n , aFunction = require('./_a-function')\n , SPECIES = require('./_wks')('species');\nmodule.exports = function(O, D){\n var C = anObject(O).constructor, S;\n return C === undefined || (S = anObject(C)[SPECIES]) == undefined ? D : aFunction(S);\n};","var ctx = require('./_ctx')\n , invoke = require('./_invoke')\n , html = require('./_html')\n , cel = require('./_dom-create')\n , global = require('./_global')\n , process = global.process\n , setTask = global.setImmediate\n , clearTask = global.clearImmediate\n , MessageChannel = global.MessageChannel\n , counter = 0\n , queue = {}\n , ONREADYSTATECHANGE = 'onreadystatechange'\n , defer, channel, port;\nvar run = function(){\n var id = +this;\n if(queue.hasOwnProperty(id)){\n var fn = queue[id];\n delete queue[id];\n fn();\n }\n};\nvar listener = function(event){\n run.call(event.data);\n};\n// Node.js 0.9+ & IE10+ has setImmediate, otherwise:\nif(!setTask || !clearTask){\n setTask = function setImmediate(fn){\n var args = [], i = 1;\n while(arguments.length > i)args.push(arguments[i++]);\n queue[++counter] = function(){\n invoke(typeof fn == 'function' ? fn : Function(fn), args);\n };\n defer(counter);\n return counter;\n };\n clearTask = function clearImmediate(id){\n delete queue[id];\n };\n // Node.js 0.8-\n if(require('./_cof')(process) == 'process'){\n defer = function(id){\n process.nextTick(ctx(run, id, 1));\n };\n // Browsers with MessageChannel, includes WebWorkers\n } else if(MessageChannel){\n channel = new MessageChannel;\n port = channel.port2;\n channel.port1.onmessage = listener;\n defer = ctx(port.postMessage, port, 1);\n // Browsers with postMessage, skip WebWorkers\n // IE8 has postMessage, but it's sync & typeof its postMessage is 'object'\n } else if(global.addEventListener && typeof postMessage == 'function' && !global.importScripts){\n defer = function(id){\n global.postMessage(id + '', '*');\n };\n global.addEventListener('message', listener, false);\n // IE8-\n } else if(ONREADYSTATECHANGE in cel('script')){\n defer = function(id){\n html.appendChild(cel('script'))[ONREADYSTATECHANGE] = function(){\n html.removeChild(this);\n run.call(id);\n };\n };\n // Rest old browsers\n } else {\n defer = function(id){\n setTimeout(ctx(run, id, 1), 0);\n };\n }\n}\nmodule.exports = {\n set: setTask,\n clear: clearTask\n};","var global = require('./_global')\n , macrotask = require('./_task').set\n , Observer = global.MutationObserver || global.WebKitMutationObserver\n , process = global.process\n , Promise = global.Promise\n , isNode = require('./_cof')(process) == 'process';\n\nmodule.exports = function(){\n var head, last, notify;\n\n var flush = function(){\n var parent, fn;\n if(isNode && (parent = process.domain))parent.exit();\n while(head){\n fn = head.fn;\n head = head.next;\n try {\n fn();\n } catch(e){\n if(head)notify();\n else last = undefined;\n throw e;\n }\n } last = undefined;\n if(parent)parent.enter();\n };\n\n // Node.js\n if(isNode){\n notify = function(){\n process.nextTick(flush);\n };\n // browsers with MutationObserver\n } else if(Observer){\n var toggle = true\n , node = document.createTextNode('');\n new Observer(flush).observe(node, {characterData: true}); // eslint-disable-line no-new\n notify = function(){\n node.data = toggle = !toggle;\n };\n // environments with maybe non-completely correct, but existent Promise\n } else if(Promise && Promise.resolve){\n var promise = Promise.resolve();\n notify = function(){\n promise.then(flush);\n };\n // for other environments - macrotask based on:\n // - setImmediate\n // - MessageChannel\n // - window.postMessag\n // - onreadystatechange\n // - setTimeout\n } else {\n notify = function(){\n // strange IE + webpack dev server bug - use .call(global)\n macrotask.call(global, flush);\n };\n }\n\n return function(fn){\n var task = {fn: fn, next: undefined};\n if(last)last.next = task;\n if(!head){\n head = task;\n notify();\n } last = task;\n };\n};","var redefine = require('./_redefine');\nmodule.exports = function(target, src, safe){\n for(var key in src)redefine(target, key, src[key], safe);\n return target;\n};","'use strict';\nvar LIBRARY = require('./_library')\n , global = require('./_global')\n , ctx = require('./_ctx')\n , classof = require('./_classof')\n , $export = require('./_export')\n , isObject = require('./_is-object')\n , aFunction = require('./_a-function')\n , anInstance = require('./_an-instance')\n , forOf = require('./_for-of')\n , speciesConstructor = require('./_species-constructor')\n , task = require('./_task').set\n , microtask = require('./_microtask')()\n , PROMISE = 'Promise'\n , TypeError = global.TypeError\n , process = global.process\n , $Promise = global[PROMISE]\n , process = global.process\n , isNode = classof(process) == 'process'\n , empty = function(){ /* empty */ }\n , Internal, GenericPromiseCapability, Wrapper;\n\nvar USE_NATIVE = !!function(){\n try {\n // correct subclassing with @@species support\n var promise = $Promise.resolve(1)\n , FakePromise = (promise.constructor = {})[require('./_wks')('species')] = function(exec){ exec(empty, empty); };\n // unhandled rejections tracking support, NodeJS Promise without it fails @@species test\n return (isNode || typeof PromiseRejectionEvent == 'function') && promise.then(empty) instanceof FakePromise;\n } catch(e){ /* empty */ }\n}();\n\n// helpers\nvar sameConstructor = function(a, b){\n // with library wrapper special case\n return a === b || a === $Promise && b === Wrapper;\n};\nvar isThenable = function(it){\n var then;\n return isObject(it) && typeof (then = it.then) == 'function' ? then : false;\n};\nvar newPromiseCapability = function(C){\n return sameConstructor($Promise, C)\n ? new PromiseCapability(C)\n : new GenericPromiseCapability(C);\n};\nvar PromiseCapability = GenericPromiseCapability = function(C){\n var resolve, reject;\n this.promise = new C(function($$resolve, $$reject){\n if(resolve !== undefined || reject !== undefined)throw TypeError('Bad Promise constructor');\n resolve = $$resolve;\n reject = $$reject;\n });\n this.resolve = aFunction(resolve);\n this.reject = aFunction(reject);\n};\nvar perform = function(exec){\n try {\n exec();\n } catch(e){\n return {error: e};\n }\n};\nvar notify = function(promise, isReject){\n if(promise._n)return;\n promise._n = true;\n var chain = promise._c;\n microtask(function(){\n var value = promise._v\n , ok = promise._s == 1\n , i = 0;\n var run = function(reaction){\n var handler = ok ? reaction.ok : reaction.fail\n , resolve = reaction.resolve\n , reject = reaction.reject\n , domain = reaction.domain\n , result, then;\n try {\n if(handler){\n if(!ok){\n if(promise._h == 2)onHandleUnhandled(promise);\n promise._h = 1;\n }\n if(handler === true)result = value;\n else {\n if(domain)domain.enter();\n result = handler(value);\n if(domain)domain.exit();\n }\n if(result === reaction.promise){\n reject(TypeError('Promise-chain cycle'));\n } else if(then = isThenable(result)){\n then.call(result, resolve, reject);\n } else resolve(result);\n } else reject(value);\n } catch(e){\n reject(e);\n }\n };\n while(chain.length > i)run(chain[i++]); // variable length - can't use forEach\n promise._c = [];\n promise._n = false;\n if(isReject && !promise._h)onUnhandled(promise);\n });\n};\nvar onUnhandled = function(promise){\n task.call(global, function(){\n var value = promise._v\n , abrupt, handler, console;\n if(isUnhandled(promise)){\n abrupt = perform(function(){\n if(isNode){\n process.emit('unhandledRejection', value, promise);\n } else if(handler = global.onunhandledrejection){\n handler({promise: promise, reason: value});\n } else if((console = global.console) && console.error){\n console.error('Unhandled promise rejection', value);\n }\n });\n // Browsers should not trigger `rejectionHandled` event if it was handled here, NodeJS - should\n promise._h = isNode || isUnhandled(promise) ? 2 : 1;\n } promise._a = undefined;\n if(abrupt)throw abrupt.error;\n });\n};\nvar isUnhandled = function(promise){\n if(promise._h == 1)return false;\n var chain = promise._a || promise._c\n , i = 0\n , reaction;\n while(chain.length > i){\n reaction = chain[i++];\n if(reaction.fail || !isUnhandled(reaction.promise))return false;\n } return true;\n};\nvar onHandleUnhandled = function(promise){\n task.call(global, function(){\n var handler;\n if(isNode){\n process.emit('rejectionHandled', promise);\n } else if(handler = global.onrejectionhandled){\n handler({promise: promise, reason: promise._v});\n }\n });\n};\nvar $reject = function(value){\n var promise = this;\n if(promise._d)return;\n promise._d = true;\n promise = promise._w || promise; // unwrap\n promise._v = value;\n promise._s = 2;\n if(!promise._a)promise._a = promise._c.slice();\n notify(promise, true);\n};\nvar $resolve = function(value){\n var promise = this\n , then;\n if(promise._d)return;\n promise._d = true;\n promise = promise._w || promise; // unwrap\n try {\n if(promise === value)throw TypeError(\"Promise can't be resolved itself\");\n if(then = isThenable(value)){\n microtask(function(){\n var wrapper = {_w: promise, _d: false}; // wrap\n try {\n then.call(value, ctx($resolve, wrapper, 1), ctx($reject, wrapper, 1));\n } catch(e){\n $reject.call(wrapper, e);\n }\n });\n } else {\n promise._v = value;\n promise._s = 1;\n notify(promise, false);\n }\n } catch(e){\n $reject.call({_w: promise, _d: false}, e); // wrap\n }\n};\n\n// constructor polyfill\nif(!USE_NATIVE){\n // 25.4.3.1 Promise(executor)\n $Promise = function Promise(executor){\n anInstance(this, $Promise, PROMISE, '_h');\n aFunction(executor);\n Internal.call(this);\n try {\n executor(ctx($resolve, this, 1), ctx($reject, this, 1));\n } catch(err){\n $reject.call(this, err);\n }\n };\n Internal = function Promise(executor){\n this._c = []; // <- awaiting reactions\n this._a = undefined; // <- checked in isUnhandled reactions\n this._s = 0; // <- state\n this._d = false; // <- done\n this._v = undefined; // <- value\n this._h = 0; // <- rejection state, 0 - default, 1 - handled, 2 - unhandled\n this._n = false; // <- notify\n };\n Internal.prototype = require('./_redefine-all')($Promise.prototype, {\n // 25.4.5.3 Promise.prototype.then(onFulfilled, onRejected)\n then: function then(onFulfilled, onRejected){\n var reaction = newPromiseCapability(speciesConstructor(this, $Promise));\n reaction.ok = typeof onFulfilled == 'function' ? onFulfilled : true;\n reaction.fail = typeof onRejected == 'function' && onRejected;\n reaction.domain = isNode ? process.domain : undefined;\n this._c.push(reaction);\n if(this._a)this._a.push(reaction);\n if(this._s)notify(this, false);\n return reaction.promise;\n },\n // 25.4.5.1 Promise.prototype.catch(onRejected)\n 'catch': function(onRejected){\n return this.then(undefined, onRejected);\n }\n });\n PromiseCapability = function(){\n var promise = new Internal;\n this.promise = promise;\n this.resolve = ctx($resolve, promise, 1);\n this.reject = ctx($reject, promise, 1);\n };\n}\n\n$export($export.G + $export.W + $export.F * !USE_NATIVE, {Promise: $Promise});\nrequire('./_set-to-string-tag')($Promise, PROMISE);\nrequire('./_set-species')(PROMISE);\nWrapper = require('./_core')[PROMISE];\n\n// statics\n$export($export.S + $export.F * !USE_NATIVE, PROMISE, {\n // 25.4.4.5 Promise.reject(r)\n reject: function reject(r){\n var capability = newPromiseCapability(this)\n , $$reject = capability.reject;\n $$reject(r);\n return capability.promise;\n }\n});\n$export($export.S + $export.F * (LIBRARY || !USE_NATIVE), PROMISE, {\n // 25.4.4.6 Promise.resolve(x)\n resolve: function resolve(x){\n // instanceof instead of internal slot check because we should fix it without replacement native Promise core\n if(x instanceof $Promise && sameConstructor(x.constructor, this))return x;\n var capability = newPromiseCapability(this)\n , $$resolve = capability.resolve;\n $$resolve(x);\n return capability.promise;\n }\n});\n$export($export.S + $export.F * !(USE_NATIVE && require('./_iter-detect')(function(iter){\n $Promise.all(iter)['catch'](empty);\n})), PROMISE, {\n // 25.4.4.1 Promise.all(iterable)\n all: function all(iterable){\n var C = this\n , capability = newPromiseCapability(C)\n , resolve = capability.resolve\n , reject = capability.reject;\n var abrupt = perform(function(){\n var values = []\n , index = 0\n , remaining = 1;\n forOf(iterable, false, function(promise){\n var $index = index++\n , alreadyCalled = false;\n values.push(undefined);\n remaining++;\n C.resolve(promise).then(function(value){\n if(alreadyCalled)return;\n alreadyCalled = true;\n values[$index] = value;\n --remaining || resolve(values);\n }, reject);\n });\n --remaining || resolve(values);\n });\n if(abrupt)reject(abrupt.error);\n return capability.promise;\n },\n // 25.4.4.4 Promise.race(iterable)\n race: function race(iterable){\n var C = this\n , capability = newPromiseCapability(C)\n , reject = capability.reject;\n var abrupt = perform(function(){\n forOf(iterable, false, function(promise){\n C.resolve(promise).then(capability.resolve, reject);\n });\n });\n if(abrupt)reject(abrupt.error);\n return capability.promise;\n }\n});","'use strict';\nvar dP = require('./_object-dp').f\n , create = require('./_object-create')\n , redefineAll = require('./_redefine-all')\n , ctx = require('./_ctx')\n , anInstance = require('./_an-instance')\n , defined = require('./_defined')\n , forOf = require('./_for-of')\n , $iterDefine = require('./_iter-define')\n , step = require('./_iter-step')\n , setSpecies = require('./_set-species')\n , DESCRIPTORS = require('./_descriptors')\n , fastKey = require('./_meta').fastKey\n , SIZE = DESCRIPTORS ? '_s' : 'size';\n\nvar getEntry = function(that, key){\n // fast case\n var index = fastKey(key), entry;\n if(index !== 'F')return that._i[index];\n // frozen object case\n for(entry = that._f; entry; entry = entry.n){\n if(entry.k == key)return entry;\n }\n};\n\nmodule.exports = {\n getConstructor: function(wrapper, NAME, IS_MAP, ADDER){\n var C = wrapper(function(that, iterable){\n anInstance(that, C, NAME, '_i');\n that._i = create(null); // index\n that._f = undefined; // first entry\n that._l = undefined; // last entry\n that[SIZE] = 0; // size\n if(iterable != undefined)forOf(iterable, IS_MAP, that[ADDER], that);\n });\n redefineAll(C.prototype, {\n // 23.1.3.1 Map.prototype.clear()\n // 23.2.3.2 Set.prototype.clear()\n clear: function clear(){\n for(var that = this, data = that._i, entry = that._f; entry; entry = entry.n){\n entry.r = true;\n if(entry.p)entry.p = entry.p.n = undefined;\n delete data[entry.i];\n }\n that._f = that._l = undefined;\n that[SIZE] = 0;\n },\n // 23.1.3.3 Map.prototype.delete(key)\n // 23.2.3.4 Set.prototype.delete(value)\n 'delete': function(key){\n var that = this\n , entry = getEntry(that, key);\n if(entry){\n var next = entry.n\n , prev = entry.p;\n delete that._i[entry.i];\n entry.r = true;\n if(prev)prev.n = next;\n if(next)next.p = prev;\n if(that._f == entry)that._f = next;\n if(that._l == entry)that._l = prev;\n that[SIZE]--;\n } return !!entry;\n },\n // 23.2.3.6 Set.prototype.forEach(callbackfn, thisArg = undefined)\n // 23.1.3.5 Map.prototype.forEach(callbackfn, thisArg = undefined)\n forEach: function forEach(callbackfn /*, that = undefined */){\n anInstance(this, C, 'forEach');\n var f = ctx(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3)\n , entry;\n while(entry = entry ? entry.n : this._f){\n f(entry.v, entry.k, this);\n // revert to the last existing entry\n while(entry && entry.r)entry = entry.p;\n }\n },\n // 23.1.3.7 Map.prototype.has(key)\n // 23.2.3.7 Set.prototype.has(value)\n has: function has(key){\n return !!getEntry(this, key);\n }\n });\n if(DESCRIPTORS)dP(C.prototype, 'size', {\n get: function(){\n return defined(this[SIZE]);\n }\n });\n return C;\n },\n def: function(that, key, value){\n var entry = getEntry(that, key)\n , prev, index;\n // change existing entry\n if(entry){\n entry.v = value;\n // create new entry\n } else {\n that._l = entry = {\n i: index = fastKey(key, true), // <- index\n k: key, // <- key\n v: value, // <- value\n p: prev = that._l, // <- previous entry\n n: undefined, // <- next entry\n r: false // <- removed\n };\n if(!that._f)that._f = entry;\n if(prev)prev.n = entry;\n that[SIZE]++;\n // add to index\n if(index !== 'F')that._i[index] = entry;\n } return that;\n },\n getEntry: getEntry,\n setStrong: function(C, NAME, IS_MAP){\n // add .keys, .values, .entries, [@@iterator]\n // 23.1.3.4, 23.1.3.8, 23.1.3.11, 23.1.3.12, 23.2.3.5, 23.2.3.8, 23.2.3.10, 23.2.3.11\n $iterDefine(C, NAME, function(iterated, kind){\n this._t = iterated; // target\n this._k = kind; // kind\n this._l = undefined; // previous\n }, function(){\n var that = this\n , kind = that._k\n , entry = that._l;\n // revert to the last existing entry\n while(entry && entry.r)entry = entry.p;\n // get next entry\n if(!that._t || !(that._l = entry = entry ? entry.n : that._t._f)){\n // or finish the iteration\n that._t = undefined;\n return step(1);\n }\n // return step by kind\n if(kind == 'keys' )return step(0, entry.k);\n if(kind == 'values')return step(0, entry.v);\n return step(0, [entry.k, entry.v]);\n }, IS_MAP ? 'entries' : 'values' , !IS_MAP, true);\n\n // add [@@species], 23.1.2.2, 23.2.2.2\n setSpecies(NAME);\n }\n};","'use strict';\nvar global = require('./_global')\n , $export = require('./_export')\n , redefine = require('./_redefine')\n , redefineAll = require('./_redefine-all')\n , meta = require('./_meta')\n , forOf = require('./_for-of')\n , anInstance = require('./_an-instance')\n , isObject = require('./_is-object')\n , fails = require('./_fails')\n , $iterDetect = require('./_iter-detect')\n , setToStringTag = require('./_set-to-string-tag')\n , inheritIfRequired = require('./_inherit-if-required');\n\nmodule.exports = function(NAME, wrapper, methods, common, IS_MAP, IS_WEAK){\n var Base = global[NAME]\n , C = Base\n , ADDER = IS_MAP ? 'set' : 'add'\n , proto = C && C.prototype\n , O = {};\n var fixMethod = function(KEY){\n var fn = proto[KEY];\n redefine(proto, KEY,\n KEY == 'delete' ? function(a){\n return IS_WEAK && !isObject(a) ? false : fn.call(this, a === 0 ? 0 : a);\n } : KEY == 'has' ? function has(a){\n return IS_WEAK && !isObject(a) ? false : fn.call(this, a === 0 ? 0 : a);\n } : KEY == 'get' ? function get(a){\n return IS_WEAK && !isObject(a) ? undefined : fn.call(this, a === 0 ? 0 : a);\n } : KEY == 'add' ? function add(a){ fn.call(this, a === 0 ? 0 : a); return this; }\n : function set(a, b){ fn.call(this, a === 0 ? 0 : a, b); return this; }\n );\n };\n if(typeof C != 'function' || !(IS_WEAK || proto.forEach && !fails(function(){\n new C().entries().next();\n }))){\n // create collection constructor\n C = common.getConstructor(wrapper, NAME, IS_MAP, ADDER);\n redefineAll(C.prototype, methods);\n meta.NEED = true;\n } else {\n var instance = new C\n // early implementations not supports chaining\n , HASNT_CHAINING = instance[ADDER](IS_WEAK ? {} : -0, 1) != instance\n // V8 ~ Chromium 40- weak-collections throws on primitives, but should return false\n , THROWS_ON_PRIMITIVES = fails(function(){ instance.has(1); })\n // most early implementations doesn't supports iterables, most modern - not close it correctly\n , ACCEPT_ITERABLES = $iterDetect(function(iter){ new C(iter); }) // eslint-disable-line no-new\n // for early implementations -0 and +0 not the same\n , BUGGY_ZERO = !IS_WEAK && fails(function(){\n // V8 ~ Chromium 42- fails only with 5+ elements\n var $instance = new C()\n , index = 5;\n while(index--)$instance[ADDER](index, index);\n return !$instance.has(-0);\n });\n if(!ACCEPT_ITERABLES){ \n C = wrapper(function(target, iterable){\n anInstance(target, C, NAME);\n var that = inheritIfRequired(new Base, target, C);\n if(iterable != undefined)forOf(iterable, IS_MAP, that[ADDER], that);\n return that;\n });\n C.prototype = proto;\n proto.constructor = C;\n }\n if(THROWS_ON_PRIMITIVES || BUGGY_ZERO){\n fixMethod('delete');\n fixMethod('has');\n IS_MAP && fixMethod('get');\n }\n if(BUGGY_ZERO || HASNT_CHAINING)fixMethod(ADDER);\n // weak collections should not contains .clear method\n if(IS_WEAK && proto.clear)delete proto.clear;\n }\n\n setToStringTag(C, NAME);\n\n O[NAME] = C;\n $export($export.G + $export.W + $export.F * (C != Base), O);\n\n if(!IS_WEAK)common.setStrong(C, NAME, IS_MAP);\n\n return C;\n};","'use strict';\nvar strong = require('./_collection-strong');\n\n// 23.1 Map Objects\nmodule.exports = require('./_collection')('Map', function(get){\n return function Map(){ return get(this, arguments.length > 0 ? arguments[0] : undefined); };\n}, {\n // 23.1.3.6 Map.prototype.get(key)\n get: function get(key){\n var entry = strong.getEntry(this, key);\n return entry && entry.v;\n },\n // 23.1.3.9 Map.prototype.set(key, value)\n set: function set(key, value){\n return strong.def(this, key === 0 ? 0 : key, value);\n }\n}, strong, true);","'use strict';\nvar strong = require('./_collection-strong');\n\n// 23.2 Set Objects\nmodule.exports = require('./_collection')('Set', function(get){\n return function Set(){ return get(this, arguments.length > 0 ? arguments[0] : undefined); };\n}, {\n // 23.2.3.1 Set.prototype.add(value)\n add: function add(value){\n return strong.def(this, value = value === 0 ? 0 : value, value);\n }\n}, strong);","'use strict';\nvar redefineAll = require('./_redefine-all')\n , getWeak = require('./_meta').getWeak\n , anObject = require('./_an-object')\n , isObject = require('./_is-object')\n , anInstance = require('./_an-instance')\n , forOf = require('./_for-of')\n , createArrayMethod = require('./_array-methods')\n , $has = require('./_has')\n , arrayFind = createArrayMethod(5)\n , arrayFindIndex = createArrayMethod(6)\n , id = 0;\n\n// fallback for uncaught frozen keys\nvar uncaughtFrozenStore = function(that){\n return that._l || (that._l = new UncaughtFrozenStore);\n};\nvar UncaughtFrozenStore = function(){\n this.a = [];\n};\nvar findUncaughtFrozen = function(store, key){\n return arrayFind(store.a, function(it){\n return it[0] === key;\n });\n};\nUncaughtFrozenStore.prototype = {\n get: function(key){\n var entry = findUncaughtFrozen(this, key);\n if(entry)return entry[1];\n },\n has: function(key){\n return !!findUncaughtFrozen(this, key);\n },\n set: function(key, value){\n var entry = findUncaughtFrozen(this, key);\n if(entry)entry[1] = value;\n else this.a.push([key, value]);\n },\n 'delete': function(key){\n var index = arrayFindIndex(this.a, function(it){\n return it[0] === key;\n });\n if(~index)this.a.splice(index, 1);\n return !!~index;\n }\n};\n\nmodule.exports = {\n getConstructor: function(wrapper, NAME, IS_MAP, ADDER){\n var C = wrapper(function(that, iterable){\n anInstance(that, C, NAME, '_i');\n that._i = id++; // collection id\n that._l = undefined; // leak store for uncaught frozen objects\n if(iterable != undefined)forOf(iterable, IS_MAP, that[ADDER], that);\n });\n redefineAll(C.prototype, {\n // 23.3.3.2 WeakMap.prototype.delete(key)\n // 23.4.3.3 WeakSet.prototype.delete(value)\n 'delete': function(key){\n if(!isObject(key))return false;\n var data = getWeak(key);\n if(data === true)return uncaughtFrozenStore(this)['delete'](key);\n return data && $has(data, this._i) && delete data[this._i];\n },\n // 23.3.3.4 WeakMap.prototype.has(key)\n // 23.4.3.4 WeakSet.prototype.has(value)\n has: function has(key){\n if(!isObject(key))return false;\n var data = getWeak(key);\n if(data === true)return uncaughtFrozenStore(this).has(key);\n return data && $has(data, this._i);\n }\n });\n return C;\n },\n def: function(that, key, value){\n var data = getWeak(anObject(key), true);\n if(data === true)uncaughtFrozenStore(that).set(key, value);\n else data[that._i] = value;\n return that;\n },\n ufstore: uncaughtFrozenStore\n};","'use strict';\nvar each = require('./_array-methods')(0)\n , redefine = require('./_redefine')\n , meta = require('./_meta')\n , assign = require('./_object-assign')\n , weak = require('./_collection-weak')\n , isObject = require('./_is-object')\n , getWeak = meta.getWeak\n , isExtensible = Object.isExtensible\n , uncaughtFrozenStore = weak.ufstore\n , tmp = {}\n , InternalMap;\n\nvar wrapper = function(get){\n return function WeakMap(){\n return get(this, arguments.length > 0 ? arguments[0] : undefined);\n };\n};\n\nvar methods = {\n // 23.3.3.3 WeakMap.prototype.get(key)\n get: function get(key){\n if(isObject(key)){\n var data = getWeak(key);\n if(data === true)return uncaughtFrozenStore(this).get(key);\n return data ? data[this._i] : undefined;\n }\n },\n // 23.3.3.5 WeakMap.prototype.set(key, value)\n set: function set(key, value){\n return weak.def(this, key, value);\n }\n};\n\n// 23.3 WeakMap Objects\nvar $WeakMap = module.exports = require('./_collection')('WeakMap', wrapper, methods, weak, true, true);\n\n// IE11 WeakMap frozen keys fix\nif(new $WeakMap().set((Object.freeze || Object)(tmp), 7).get(tmp) != 7){\n InternalMap = weak.getConstructor(wrapper);\n assign(InternalMap.prototype, methods);\n meta.NEED = true;\n each(['delete', 'has', 'get', 'set'], function(key){\n var proto = $WeakMap.prototype\n , method = proto[key];\n redefine(proto, key, function(a, b){\n // store frozen objects on internal weakmap shim\n if(isObject(a) && !isExtensible(a)){\n if(!this._f)this._f = new InternalMap;\n var result = this._f[key](a, b);\n return key == 'set' ? this : result;\n // store all the rest on native weakmap\n } return method.call(this, a, b);\n });\n });\n}","'use strict';\nvar weak = require('./_collection-weak');\n\n// 23.4 WeakSet Objects\nrequire('./_collection')('WeakSet', function(get){\n return function WeakSet(){ return get(this, arguments.length > 0 ? arguments[0] : undefined); };\n}, {\n // 23.4.3.1 WeakSet.prototype.add(value)\n add: function add(value){\n return weak.def(this, value, true);\n }\n}, weak, false, true);","var global = require('./_global')\n , hide = require('./_hide')\n , uid = require('./_uid')\n , TYPED = uid('typed_array')\n , VIEW = uid('view')\n , ABV = !!(global.ArrayBuffer && global.DataView)\n , CONSTR = ABV\n , i = 0, l = 9, Typed;\n\nvar TypedArrayConstructors = (\n 'Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array'\n).split(',');\n\nwhile(i < l){\n if(Typed = global[TypedArrayConstructors[i++]]){\n hide(Typed.prototype, TYPED, true);\n hide(Typed.prototype, VIEW, true);\n } else CONSTR = false;\n}\n\nmodule.exports = {\n ABV: ABV,\n CONSTR: CONSTR,\n TYPED: TYPED,\n VIEW: VIEW\n};","'use strict';\nvar global = require('./_global')\n , DESCRIPTORS = require('./_descriptors')\n , LIBRARY = require('./_library')\n , $typed = require('./_typed')\n , hide = require('./_hide')\n , redefineAll = require('./_redefine-all')\n , fails = require('./_fails')\n , anInstance = require('./_an-instance')\n , toInteger = require('./_to-integer')\n , toLength = require('./_to-length')\n , gOPN = require('./_object-gopn').f\n , dP = require('./_object-dp').f\n , arrayFill = require('./_array-fill')\n , setToStringTag = require('./_set-to-string-tag')\n , ARRAY_BUFFER = 'ArrayBuffer'\n , DATA_VIEW = 'DataView'\n , PROTOTYPE = 'prototype'\n , WRONG_LENGTH = 'Wrong length!'\n , WRONG_INDEX = 'Wrong index!'\n , $ArrayBuffer = global[ARRAY_BUFFER]\n , $DataView = global[DATA_VIEW]\n , Math = global.Math\n , RangeError = global.RangeError\n , Infinity = global.Infinity\n , BaseBuffer = $ArrayBuffer\n , abs = Math.abs\n , pow = Math.pow\n , floor = Math.floor\n , log = Math.log\n , LN2 = Math.LN2\n , BUFFER = 'buffer'\n , BYTE_LENGTH = 'byteLength'\n , BYTE_OFFSET = 'byteOffset'\n , $BUFFER = DESCRIPTORS ? '_b' : BUFFER\n , $LENGTH = DESCRIPTORS ? '_l' : BYTE_LENGTH\n , $OFFSET = DESCRIPTORS ? '_o' : BYTE_OFFSET;\n\n// IEEE754 conversions based on https://github.com/feross/ieee754\nvar packIEEE754 = function(value, mLen, nBytes){\n var buffer = Array(nBytes)\n , eLen = nBytes * 8 - mLen - 1\n , eMax = (1 << eLen) - 1\n , eBias = eMax >> 1\n , rt = mLen === 23 ? pow(2, -24) - pow(2, -77) : 0\n , i = 0\n , s = value < 0 || value === 0 && 1 / value < 0 ? 1 : 0\n , e, m, c;\n value = abs(value)\n if(value != value || value === Infinity){\n m = value != value ? 1 : 0;\n e = eMax;\n } else {\n e = floor(log(value) / LN2);\n if(value * (c = pow(2, -e)) < 1){\n e--;\n c *= 2;\n }\n if(e + eBias >= 1){\n value += rt / c;\n } else {\n value += rt * pow(2, 1 - eBias);\n }\n if(value * c >= 2){\n e++;\n c /= 2;\n }\n if(e + eBias >= eMax){\n m = 0;\n e = eMax;\n } else if(e + eBias >= 1){\n m = (value * c - 1) * pow(2, mLen);\n e = e + eBias;\n } else {\n m = value * pow(2, eBias - 1) * pow(2, mLen);\n e = 0;\n }\n }\n for(; mLen >= 8; buffer[i++] = m & 255, m /= 256, mLen -= 8);\n e = e << mLen | m;\n eLen += mLen;\n for(; eLen > 0; buffer[i++] = e & 255, e /= 256, eLen -= 8);\n buffer[--i] |= s * 128;\n return buffer;\n};\nvar unpackIEEE754 = function(buffer, mLen, nBytes){\n var eLen = nBytes * 8 - mLen - 1\n , eMax = (1 << eLen) - 1\n , eBias = eMax >> 1\n , nBits = eLen - 7\n , i = nBytes - 1\n , s = buffer[i--]\n , e = s & 127\n , m;\n s >>= 7;\n for(; nBits > 0; e = e * 256 + buffer[i], i--, nBits -= 8);\n m = e & (1 << -nBits) - 1;\n e >>= -nBits;\n nBits += mLen;\n for(; nBits > 0; m = m * 256 + buffer[i], i--, nBits -= 8);\n if(e === 0){\n e = 1 - eBias;\n } else if(e === eMax){\n return m ? NaN : s ? -Infinity : Infinity;\n } else {\n m = m + pow(2, mLen);\n e = e - eBias;\n } return (s ? -1 : 1) * m * pow(2, e - mLen);\n};\n\nvar unpackI32 = function(bytes){\n return bytes[3] << 24 | bytes[2] << 16 | bytes[1] << 8 | bytes[0];\n};\nvar packI8 = function(it){\n return [it & 0xff];\n};\nvar packI16 = function(it){\n return [it & 0xff, it >> 8 & 0xff];\n};\nvar packI32 = function(it){\n return [it & 0xff, it >> 8 & 0xff, it >> 16 & 0xff, it >> 24 & 0xff];\n};\nvar packF64 = function(it){\n return packIEEE754(it, 52, 8);\n};\nvar packF32 = function(it){\n return packIEEE754(it, 23, 4);\n};\n\nvar addGetter = function(C, key, internal){\n dP(C[PROTOTYPE], key, {get: function(){ return this[internal]; }});\n};\n\nvar get = function(view, bytes, index, isLittleEndian){\n var numIndex = +index\n , intIndex = toInteger(numIndex);\n if(numIndex != intIndex || intIndex < 0 || intIndex + bytes > view[$LENGTH])throw RangeError(WRONG_INDEX);\n var store = view[$BUFFER]._b\n , start = intIndex + view[$OFFSET]\n , pack = store.slice(start, start + bytes);\n return isLittleEndian ? pack : pack.reverse();\n};\nvar set = function(view, bytes, index, conversion, value, isLittleEndian){\n var numIndex = +index\n , intIndex = toInteger(numIndex);\n if(numIndex != intIndex || intIndex < 0 || intIndex + bytes > view[$LENGTH])throw RangeError(WRONG_INDEX);\n var store = view[$BUFFER]._b\n , start = intIndex + view[$OFFSET]\n , pack = conversion(+value);\n for(var i = 0; i < bytes; i++)store[start + i] = pack[isLittleEndian ? i : bytes - i - 1];\n};\n\nvar validateArrayBufferArguments = function(that, length){\n anInstance(that, $ArrayBuffer, ARRAY_BUFFER);\n var numberLength = +length\n , byteLength = toLength(numberLength);\n if(numberLength != byteLength)throw RangeError(WRONG_LENGTH);\n return byteLength;\n};\n\nif(!$typed.ABV){\n $ArrayBuffer = function ArrayBuffer(length){\n var byteLength = validateArrayBufferArguments(this, length);\n this._b = arrayFill.call(Array(byteLength), 0);\n this[$LENGTH] = byteLength;\n };\n\n $DataView = function DataView(buffer, byteOffset, byteLength){\n anInstance(this, $DataView, DATA_VIEW);\n anInstance(buffer, $ArrayBuffer, DATA_VIEW);\n var bufferLength = buffer[$LENGTH]\n , offset = toInteger(byteOffset);\n if(offset < 0 || offset > bufferLength)throw RangeError('Wrong offset!');\n byteLength = byteLength === undefined ? bufferLength - offset : toLength(byteLength);\n if(offset + byteLength > bufferLength)throw RangeError(WRONG_LENGTH);\n this[$BUFFER] = buffer;\n this[$OFFSET] = offset;\n this[$LENGTH] = byteLength;\n };\n\n if(DESCRIPTORS){\n addGetter($ArrayBuffer, BYTE_LENGTH, '_l');\n addGetter($DataView, BUFFER, '_b');\n addGetter($DataView, BYTE_LENGTH, '_l');\n addGetter($DataView, BYTE_OFFSET, '_o');\n }\n\n redefineAll($DataView[PROTOTYPE], {\n getInt8: function getInt8(byteOffset){\n return get(this, 1, byteOffset)[0] << 24 >> 24;\n },\n getUint8: function getUint8(byteOffset){\n return get(this, 1, byteOffset)[0];\n },\n getInt16: function getInt16(byteOffset /*, littleEndian */){\n var bytes = get(this, 2, byteOffset, arguments[1]);\n return (bytes[1] << 8 | bytes[0]) << 16 >> 16;\n },\n getUint16: function getUint16(byteOffset /*, littleEndian */){\n var bytes = get(this, 2, byteOffset, arguments[1]);\n return bytes[1] << 8 | bytes[0];\n },\n getInt32: function getInt32(byteOffset /*, littleEndian */){\n return unpackI32(get(this, 4, byteOffset, arguments[1]));\n },\n getUint32: function getUint32(byteOffset /*, littleEndian */){\n return unpackI32(get(this, 4, byteOffset, arguments[1])) >>> 0;\n },\n getFloat32: function getFloat32(byteOffset /*, littleEndian */){\n return unpackIEEE754(get(this, 4, byteOffset, arguments[1]), 23, 4);\n },\n getFloat64: function getFloat64(byteOffset /*, littleEndian */){\n return unpackIEEE754(get(this, 8, byteOffset, arguments[1]), 52, 8);\n },\n setInt8: function setInt8(byteOffset, value){\n set(this, 1, byteOffset, packI8, value);\n },\n setUint8: function setUint8(byteOffset, value){\n set(this, 1, byteOffset, packI8, value);\n },\n setInt16: function setInt16(byteOffset, value /*, littleEndian */){\n set(this, 2, byteOffset, packI16, value, arguments[2]);\n },\n setUint16: function setUint16(byteOffset, value /*, littleEndian */){\n set(this, 2, byteOffset, packI16, value, arguments[2]);\n },\n setInt32: function setInt32(byteOffset, value /*, littleEndian */){\n set(this, 4, byteOffset, packI32, value, arguments[2]);\n },\n setUint32: function setUint32(byteOffset, value /*, littleEndian */){\n set(this, 4, byteOffset, packI32, value, arguments[2]);\n },\n setFloat32: function setFloat32(byteOffset, value /*, littleEndian */){\n set(this, 4, byteOffset, packF32, value, arguments[2]);\n },\n setFloat64: function setFloat64(byteOffset, value /*, littleEndian */){\n set(this, 8, byteOffset, packF64, value, arguments[2]);\n }\n });\n} else {\n if(!fails(function(){\n new $ArrayBuffer; // eslint-disable-line no-new\n }) || !fails(function(){\n new $ArrayBuffer(.5); // eslint-disable-line no-new\n })){\n $ArrayBuffer = function ArrayBuffer(length){\n return new BaseBuffer(validateArrayBufferArguments(this, length));\n };\n var ArrayBufferProto = $ArrayBuffer[PROTOTYPE] = BaseBuffer[PROTOTYPE];\n for(var keys = gOPN(BaseBuffer), j = 0, key; keys.length > j; ){\n if(!((key = keys[j++]) in $ArrayBuffer))hide($ArrayBuffer, key, BaseBuffer[key]);\n };\n if(!LIBRARY)ArrayBufferProto.constructor = $ArrayBuffer;\n }\n // iOS Safari 7.x bug\n var view = new $DataView(new $ArrayBuffer(2))\n , $setInt8 = $DataView[PROTOTYPE].setInt8;\n view.setInt8(0, 2147483648);\n view.setInt8(1, 2147483649);\n if(view.getInt8(0) || !view.getInt8(1))redefineAll($DataView[PROTOTYPE], {\n setInt8: function setInt8(byteOffset, value){\n $setInt8.call(this, byteOffset, value << 24 >> 24);\n },\n setUint8: function setUint8(byteOffset, value){\n $setInt8.call(this, byteOffset, value << 24 >> 24);\n }\n }, true);\n}\nsetToStringTag($ArrayBuffer, ARRAY_BUFFER);\nsetToStringTag($DataView, DATA_VIEW);\nhide($DataView[PROTOTYPE], $typed.VIEW, true);\nexports[ARRAY_BUFFER] = $ArrayBuffer;\nexports[DATA_VIEW] = $DataView;","'use strict';\nvar $export = require('./_export')\n , $typed = require('./_typed')\n , buffer = require('./_typed-buffer')\n , anObject = require('./_an-object')\n , toIndex = require('./_to-index')\n , toLength = require('./_to-length')\n , isObject = require('./_is-object')\n , ArrayBuffer = require('./_global').ArrayBuffer\n , speciesConstructor = require('./_species-constructor')\n , $ArrayBuffer = buffer.ArrayBuffer\n , $DataView = buffer.DataView\n , $isView = $typed.ABV && ArrayBuffer.isView\n , $slice = $ArrayBuffer.prototype.slice\n , VIEW = $typed.VIEW\n , ARRAY_BUFFER = 'ArrayBuffer';\n\n$export($export.G + $export.W + $export.F * (ArrayBuffer !== $ArrayBuffer), {ArrayBuffer: $ArrayBuffer});\n\n$export($export.S + $export.F * !$typed.CONSTR, ARRAY_BUFFER, {\n // 24.1.3.1 ArrayBuffer.isView(arg)\n isView: function isView(it){\n return $isView && $isView(it) || isObject(it) && VIEW in it;\n }\n});\n\n$export($export.P + $export.U + $export.F * require('./_fails')(function(){\n return !new $ArrayBuffer(2).slice(1, undefined).byteLength;\n}), ARRAY_BUFFER, {\n // 24.1.4.3 ArrayBuffer.prototype.slice(start, end)\n slice: function slice(start, end){\n if($slice !== undefined && end === undefined)return $slice.call(anObject(this), start); // FF fix\n var len = anObject(this).byteLength\n , first = toIndex(start, len)\n , final = toIndex(end === undefined ? len : end, len)\n , result = new (speciesConstructor(this, $ArrayBuffer))(toLength(final - first))\n , viewS = new $DataView(this)\n , viewT = new $DataView(result)\n , index = 0;\n while(first < final){\n viewT.setUint8(index++, viewS.getUint8(first++));\n } return result;\n }\n});\n\nrequire('./_set-species')(ARRAY_BUFFER);","var $export = require('./_export');\n$export($export.G + $export.W + $export.F * !require('./_typed').ABV, {\n DataView: require('./_typed-buffer').DataView\n});","'use strict';\nif(require('./_descriptors')){\n var LIBRARY = require('./_library')\n , global = require('./_global')\n , fails = require('./_fails')\n , $export = require('./_export')\n , $typed = require('./_typed')\n , $buffer = require('./_typed-buffer')\n , ctx = require('./_ctx')\n , anInstance = require('./_an-instance')\n , propertyDesc = require('./_property-desc')\n , hide = require('./_hide')\n , redefineAll = require('./_redefine-all')\n , toInteger = require('./_to-integer')\n , toLength = require('./_to-length')\n , toIndex = require('./_to-index')\n , toPrimitive = require('./_to-primitive')\n , has = require('./_has')\n , same = require('./_same-value')\n , classof = require('./_classof')\n , isObject = require('./_is-object')\n , toObject = require('./_to-object')\n , isArrayIter = require('./_is-array-iter')\n , create = require('./_object-create')\n , getPrototypeOf = require('./_object-gpo')\n , gOPN = require('./_object-gopn').f\n , getIterFn = require('./core.get-iterator-method')\n , uid = require('./_uid')\n , wks = require('./_wks')\n , createArrayMethod = require('./_array-methods')\n , createArrayIncludes = require('./_array-includes')\n , speciesConstructor = require('./_species-constructor')\n , ArrayIterators = require('./es6.array.iterator')\n , Iterators = require('./_iterators')\n , $iterDetect = require('./_iter-detect')\n , setSpecies = require('./_set-species')\n , arrayFill = require('./_array-fill')\n , arrayCopyWithin = require('./_array-copy-within')\n , $DP = require('./_object-dp')\n , $GOPD = require('./_object-gopd')\n , dP = $DP.f\n , gOPD = $GOPD.f\n , RangeError = global.RangeError\n , TypeError = global.TypeError\n , Uint8Array = global.Uint8Array\n , ARRAY_BUFFER = 'ArrayBuffer'\n , SHARED_BUFFER = 'Shared' + ARRAY_BUFFER\n , BYTES_PER_ELEMENT = 'BYTES_PER_ELEMENT'\n , PROTOTYPE = 'prototype'\n , ArrayProto = Array[PROTOTYPE]\n , $ArrayBuffer = $buffer.ArrayBuffer\n , $DataView = $buffer.DataView\n , arrayForEach = createArrayMethod(0)\n , arrayFilter = createArrayMethod(2)\n , arraySome = createArrayMethod(3)\n , arrayEvery = createArrayMethod(4)\n , arrayFind = createArrayMethod(5)\n , arrayFindIndex = createArrayMethod(6)\n , arrayIncludes = createArrayIncludes(true)\n , arrayIndexOf = createArrayIncludes(false)\n , arrayValues = ArrayIterators.values\n , arrayKeys = ArrayIterators.keys\n , arrayEntries = ArrayIterators.entries\n , arrayLastIndexOf = ArrayProto.lastIndexOf\n , arrayReduce = ArrayProto.reduce\n , arrayReduceRight = ArrayProto.reduceRight\n , arrayJoin = ArrayProto.join\n , arraySort = ArrayProto.sort\n , arraySlice = ArrayProto.slice\n , arrayToString = ArrayProto.toString\n , arrayToLocaleString = ArrayProto.toLocaleString\n , ITERATOR = wks('iterator')\n , TAG = wks('toStringTag')\n , TYPED_CONSTRUCTOR = uid('typed_constructor')\n , DEF_CONSTRUCTOR = uid('def_constructor')\n , ALL_CONSTRUCTORS = $typed.CONSTR\n , TYPED_ARRAY = $typed.TYPED\n , VIEW = $typed.VIEW\n , WRONG_LENGTH = 'Wrong length!';\n\n var $map = createArrayMethod(1, function(O, length){\n return allocate(speciesConstructor(O, O[DEF_CONSTRUCTOR]), length);\n });\n\n var LITTLE_ENDIAN = fails(function(){\n return new Uint8Array(new Uint16Array([1]).buffer)[0] === 1;\n });\n\n var FORCED_SET = !!Uint8Array && !!Uint8Array[PROTOTYPE].set && fails(function(){\n new Uint8Array(1).set({});\n });\n\n var strictToLength = function(it, SAME){\n if(it === undefined)throw TypeError(WRONG_LENGTH);\n var number = +it\n , length = toLength(it);\n if(SAME && !same(number, length))throw RangeError(WRONG_LENGTH);\n return length;\n };\n\n var toOffset = function(it, BYTES){\n var offset = toInteger(it);\n if(offset < 0 || offset % BYTES)throw RangeError('Wrong offset!');\n return offset;\n };\n\n var validate = function(it){\n if(isObject(it) && TYPED_ARRAY in it)return it;\n throw TypeError(it + ' is not a typed array!');\n };\n\n var allocate = function(C, length){\n if(!(isObject(C) && TYPED_CONSTRUCTOR in C)){\n throw TypeError('It is not a typed array constructor!');\n } return new C(length);\n };\n\n var speciesFromList = function(O, list){\n return fromList(speciesConstructor(O, O[DEF_CONSTRUCTOR]), list);\n };\n\n var fromList = function(C, list){\n var index = 0\n , length = list.length\n , result = allocate(C, length);\n while(length > index)result[index] = list[index++];\n return result;\n };\n\n var addGetter = function(it, key, internal){\n dP(it, key, {get: function(){ return this._d[internal]; }});\n };\n\n var $from = function from(source /*, mapfn, thisArg */){\n var O = toObject(source)\n , aLen = arguments.length\n , mapfn = aLen > 1 ? arguments[1] : undefined\n , mapping = mapfn !== undefined\n , iterFn = getIterFn(O)\n , i, length, values, result, step, iterator;\n if(iterFn != undefined && !isArrayIter(iterFn)){\n for(iterator = iterFn.call(O), values = [], i = 0; !(step = iterator.next()).done; i++){\n values.push(step.value);\n } O = values;\n }\n if(mapping && aLen > 2)mapfn = ctx(mapfn, arguments[2], 2);\n for(i = 0, length = toLength(O.length), result = allocate(this, length); length > i; i++){\n result[i] = mapping ? mapfn(O[i], i) : O[i];\n }\n return result;\n };\n\n var $of = function of(/*...items*/){\n var index = 0\n , length = arguments.length\n , result = allocate(this, length);\n while(length > index)result[index] = arguments[index++];\n return result;\n };\n\n // iOS Safari 6.x fails here\n var TO_LOCALE_BUG = !!Uint8Array && fails(function(){ arrayToLocaleString.call(new Uint8Array(1)); });\n\n var $toLocaleString = function toLocaleString(){\n return arrayToLocaleString.apply(TO_LOCALE_BUG ? arraySlice.call(validate(this)) : validate(this), arguments);\n };\n\n var proto = {\n copyWithin: function copyWithin(target, start /*, end */){\n return arrayCopyWithin.call(validate(this), target, start, arguments.length > 2 ? arguments[2] : undefined);\n },\n every: function every(callbackfn /*, thisArg */){\n return arrayEvery(validate(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n },\n fill: function fill(value /*, start, end */){ // eslint-disable-line no-unused-vars\n return arrayFill.apply(validate(this), arguments);\n },\n filter: function filter(callbackfn /*, thisArg */){\n return speciesFromList(this, arrayFilter(validate(this), callbackfn,\n arguments.length > 1 ? arguments[1] : undefined));\n },\n find: function find(predicate /*, thisArg */){\n return arrayFind(validate(this), predicate, arguments.length > 1 ? arguments[1] : undefined);\n },\n findIndex: function findIndex(predicate /*, thisArg */){\n return arrayFindIndex(validate(this), predicate, arguments.length > 1 ? arguments[1] : undefined);\n },\n forEach: function forEach(callbackfn /*, thisArg */){\n arrayForEach(validate(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n },\n indexOf: function indexOf(searchElement /*, fromIndex */){\n return arrayIndexOf(validate(this), searchElement, arguments.length > 1 ? arguments[1] : undefined);\n },\n includes: function includes(searchElement /*, fromIndex */){\n return arrayIncludes(validate(this), searchElement, arguments.length > 1 ? arguments[1] : undefined);\n },\n join: function join(separator){ // eslint-disable-line no-unused-vars\n return arrayJoin.apply(validate(this), arguments);\n },\n lastIndexOf: function lastIndexOf(searchElement /*, fromIndex */){ // eslint-disable-line no-unused-vars\n return arrayLastIndexOf.apply(validate(this), arguments);\n },\n map: function map(mapfn /*, thisArg */){\n return $map(validate(this), mapfn, arguments.length > 1 ? arguments[1] : undefined);\n },\n reduce: function reduce(callbackfn /*, initialValue */){ // eslint-disable-line no-unused-vars\n return arrayReduce.apply(validate(this), arguments);\n },\n reduceRight: function reduceRight(callbackfn /*, initialValue */){ // eslint-disable-line no-unused-vars\n return arrayReduceRight.apply(validate(this), arguments);\n },\n reverse: function reverse(){\n var that = this\n , length = validate(that).length\n , middle = Math.floor(length / 2)\n , index = 0\n , value;\n while(index < middle){\n value = that[index];\n that[index++] = that[--length];\n that[length] = value;\n } return that;\n },\n some: function some(callbackfn /*, thisArg */){\n return arraySome(validate(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n },\n sort: function sort(comparefn){\n return arraySort.call(validate(this), comparefn);\n },\n subarray: function subarray(begin, end){\n var O = validate(this)\n , length = O.length\n , $begin = toIndex(begin, length);\n return new (speciesConstructor(O, O[DEF_CONSTRUCTOR]))(\n O.buffer,\n O.byteOffset + $begin * O.BYTES_PER_ELEMENT,\n toLength((end === undefined ? length : toIndex(end, length)) - $begin)\n );\n }\n };\n\n var $slice = function slice(start, end){\n return speciesFromList(this, arraySlice.call(validate(this), start, end));\n };\n\n var $set = function set(arrayLike /*, offset */){\n validate(this);\n var offset = toOffset(arguments[1], 1)\n , length = this.length\n , src = toObject(arrayLike)\n , len = toLength(src.length)\n , index = 0;\n if(len + offset > length)throw RangeError(WRONG_LENGTH);\n while(index < len)this[offset + index] = src[index++];\n };\n\n var $iterators = {\n entries: function entries(){\n return arrayEntries.call(validate(this));\n },\n keys: function keys(){\n return arrayKeys.call(validate(this));\n },\n values: function values(){\n return arrayValues.call(validate(this));\n }\n };\n\n var isTAIndex = function(target, key){\n return isObject(target)\n && target[TYPED_ARRAY]\n && typeof key != 'symbol'\n && key in target\n && String(+key) == String(key);\n };\n var $getDesc = function getOwnPropertyDescriptor(target, key){\n return isTAIndex(target, key = toPrimitive(key, true))\n ? propertyDesc(2, target[key])\n : gOPD(target, key);\n };\n var $setDesc = function defineProperty(target, key, desc){\n if(isTAIndex(target, key = toPrimitive(key, true))\n && isObject(desc)\n && has(desc, 'value')\n && !has(desc, 'get')\n && !has(desc, 'set')\n // TODO: add validation descriptor w/o calling accessors\n && !desc.configurable\n && (!has(desc, 'writable') || desc.writable)\n && (!has(desc, 'enumerable') || desc.enumerable)\n ){\n target[key] = desc.value;\n return target;\n } else return dP(target, key, desc);\n };\n\n if(!ALL_CONSTRUCTORS){\n $GOPD.f = $getDesc;\n $DP.f = $setDesc;\n }\n\n $export($export.S + $export.F * !ALL_CONSTRUCTORS, 'Object', {\n getOwnPropertyDescriptor: $getDesc,\n defineProperty: $setDesc\n });\n\n if(fails(function(){ arrayToString.call({}); })){\n arrayToString = arrayToLocaleString = function toString(){\n return arrayJoin.call(this);\n }\n }\n\n var $TypedArrayPrototype$ = redefineAll({}, proto);\n redefineAll($TypedArrayPrototype$, $iterators);\n hide($TypedArrayPrototype$, ITERATOR, $iterators.values);\n redefineAll($TypedArrayPrototype$, {\n slice: $slice,\n set: $set,\n constructor: function(){ /* noop */ },\n toString: arrayToString,\n toLocaleString: $toLocaleString\n });\n addGetter($TypedArrayPrototype$, 'buffer', 'b');\n addGetter($TypedArrayPrototype$, 'byteOffset', 'o');\n addGetter($TypedArrayPrototype$, 'byteLength', 'l');\n addGetter($TypedArrayPrototype$, 'length', 'e');\n dP($TypedArrayPrototype$, TAG, {\n get: function(){ return this[TYPED_ARRAY]; }\n });\n\n module.exports = function(KEY, BYTES, wrapper, CLAMPED){\n CLAMPED = !!CLAMPED;\n var NAME = KEY + (CLAMPED ? 'Clamped' : '') + 'Array'\n , ISNT_UINT8 = NAME != 'Uint8Array'\n , GETTER = 'get' + KEY\n , SETTER = 'set' + KEY\n , TypedArray = global[NAME]\n , Base = TypedArray || {}\n , TAC = TypedArray && getPrototypeOf(TypedArray)\n , FORCED = !TypedArray || !$typed.ABV\n , O = {}\n , TypedArrayPrototype = TypedArray && TypedArray[PROTOTYPE];\n var getter = function(that, index){\n var data = that._d;\n return data.v[GETTER](index * BYTES + data.o, LITTLE_ENDIAN);\n };\n var setter = function(that, index, value){\n var data = that._d;\n if(CLAMPED)value = (value = Math.round(value)) < 0 ? 0 : value > 0xff ? 0xff : value & 0xff;\n data.v[SETTER](index * BYTES + data.o, value, LITTLE_ENDIAN);\n };\n var addElement = function(that, index){\n dP(that, index, {\n get: function(){\n return getter(this, index);\n },\n set: function(value){\n return setter(this, index, value);\n },\n enumerable: true\n });\n };\n if(FORCED){\n TypedArray = wrapper(function(that, data, $offset, $length){\n anInstance(that, TypedArray, NAME, '_d');\n var index = 0\n , offset = 0\n , buffer, byteLength, length, klass;\n if(!isObject(data)){\n length = strictToLength(data, true)\n byteLength = length * BYTES;\n buffer = new $ArrayBuffer(byteLength);\n } else if(data instanceof $ArrayBuffer || (klass = classof(data)) == ARRAY_BUFFER || klass == SHARED_BUFFER){\n buffer = data;\n offset = toOffset($offset, BYTES);\n var $len = data.byteLength;\n if($length === undefined){\n if($len % BYTES)throw RangeError(WRONG_LENGTH);\n byteLength = $len - offset;\n if(byteLength < 0)throw RangeError(WRONG_LENGTH);\n } else {\n byteLength = toLength($length) * BYTES;\n if(byteLength + offset > $len)throw RangeError(WRONG_LENGTH);\n }\n length = byteLength / BYTES;\n } else if(TYPED_ARRAY in data){\n return fromList(TypedArray, data);\n } else {\n return $from.call(TypedArray, data);\n }\n hide(that, '_d', {\n b: buffer,\n o: offset,\n l: byteLength,\n e: length,\n v: new $DataView(buffer)\n });\n while(index < length)addElement(that, index++);\n });\n TypedArrayPrototype = TypedArray[PROTOTYPE] = create($TypedArrayPrototype$);\n hide(TypedArrayPrototype, 'constructor', TypedArray);\n } else if(!$iterDetect(function(iter){\n // V8 works with iterators, but fails in many other cases\n // https://code.google.com/p/v8/issues/detail?id=4552\n new TypedArray(null); // eslint-disable-line no-new\n new TypedArray(iter); // eslint-disable-line no-new\n }, true)){\n TypedArray = wrapper(function(that, data, $offset, $length){\n anInstance(that, TypedArray, NAME);\n var klass;\n // `ws` module bug, temporarily remove validation length for Uint8Array\n // https://github.com/websockets/ws/pull/645\n if(!isObject(data))return new Base(strictToLength(data, ISNT_UINT8));\n if(data instanceof $ArrayBuffer || (klass = classof(data)) == ARRAY_BUFFER || klass == SHARED_BUFFER){\n return $length !== undefined\n ? new Base(data, toOffset($offset, BYTES), $length)\n : $offset !== undefined\n ? new Base(data, toOffset($offset, BYTES))\n : new Base(data);\n }\n if(TYPED_ARRAY in data)return fromList(TypedArray, data);\n return $from.call(TypedArray, data);\n });\n arrayForEach(TAC !== Function.prototype ? gOPN(Base).concat(gOPN(TAC)) : gOPN(Base), function(key){\n if(!(key in TypedArray))hide(TypedArray, key, Base[key]);\n });\n TypedArray[PROTOTYPE] = TypedArrayPrototype;\n if(!LIBRARY)TypedArrayPrototype.constructor = TypedArray;\n }\n var $nativeIterator = TypedArrayPrototype[ITERATOR]\n , CORRECT_ITER_NAME = !!$nativeIterator && ($nativeIterator.name == 'values' || $nativeIterator.name == undefined)\n , $iterator = $iterators.values;\n hide(TypedArray, TYPED_CONSTRUCTOR, true);\n hide(TypedArrayPrototype, TYPED_ARRAY, NAME);\n hide(TypedArrayPrototype, VIEW, true);\n hide(TypedArrayPrototype, DEF_CONSTRUCTOR, TypedArray);\n\n if(CLAMPED ? new TypedArray(1)[TAG] != NAME : !(TAG in TypedArrayPrototype)){\n dP(TypedArrayPrototype, TAG, {\n get: function(){ return NAME; }\n });\n }\n\n O[NAME] = TypedArray;\n\n $export($export.G + $export.W + $export.F * (TypedArray != Base), O);\n\n $export($export.S, NAME, {\n BYTES_PER_ELEMENT: BYTES,\n from: $from,\n of: $of\n });\n\n if(!(BYTES_PER_ELEMENT in TypedArrayPrototype))hide(TypedArrayPrototype, BYTES_PER_ELEMENT, BYTES);\n\n $export($export.P, NAME, proto);\n\n setSpecies(NAME);\n\n $export($export.P + $export.F * FORCED_SET, NAME, {set: $set});\n\n $export($export.P + $export.F * !CORRECT_ITER_NAME, NAME, $iterators);\n\n $export($export.P + $export.F * (TypedArrayPrototype.toString != arrayToString), NAME, {toString: arrayToString});\n\n $export($export.P + $export.F * fails(function(){\n new TypedArray(1).slice();\n }), NAME, {slice: $slice});\n\n $export($export.P + $export.F * (fails(function(){\n return [1, 2].toLocaleString() != new TypedArray([1, 2]).toLocaleString()\n }) || !fails(function(){\n TypedArrayPrototype.toLocaleString.call([1, 2]);\n })), NAME, {toLocaleString: $toLocaleString});\n\n Iterators[NAME] = CORRECT_ITER_NAME ? $nativeIterator : $iterator;\n if(!LIBRARY && !CORRECT_ITER_NAME)hide(TypedArrayPrototype, ITERATOR, $iterator);\n };\n} else module.exports = function(){ /* empty */ };","require('./_typed-array')('Int8', 1, function(init){\n return function Int8Array(data, byteOffset, length){\n return init(this, data, byteOffset, length);\n };\n});","require('./_typed-array')('Uint8', 1, function(init){\n return function Uint8Array(data, byteOffset, length){\n return init(this, data, byteOffset, length);\n };\n});","require('./_typed-array')('Uint8', 1, function(init){\n return function Uint8ClampedArray(data, byteOffset, length){\n return init(this, data, byteOffset, length);\n };\n}, true);","require('./_typed-array')('Int16', 2, function(init){\n return function Int16Array(data, byteOffset, length){\n return init(this, data, byteOffset, length);\n };\n});","require('./_typed-array')('Uint16', 2, function(init){\n return function Uint16Array(data, byteOffset, length){\n return init(this, data, byteOffset, length);\n };\n});","require('./_typed-array')('Int32', 4, function(init){\n return function Int32Array(data, byteOffset, length){\n return init(this, data, byteOffset, length);\n };\n});","require('./_typed-array')('Uint32', 4, function(init){\n return function Uint32Array(data, byteOffset, length){\n return init(this, data, byteOffset, length);\n };\n});","require('./_typed-array')('Float32', 4, function(init){\n return function Float32Array(data, byteOffset, length){\n return init(this, data, byteOffset, length);\n };\n});","require('./_typed-array')('Float64', 8, function(init){\n return function Float64Array(data, byteOffset, length){\n return init(this, data, byteOffset, length);\n };\n});","// 26.1.1 Reflect.apply(target, thisArgument, argumentsList)\nvar $export = require('./_export')\n , aFunction = require('./_a-function')\n , anObject = require('./_an-object')\n , rApply = (require('./_global').Reflect || {}).apply\n , fApply = Function.apply;\n// MS Edge argumentsList argument is optional\n$export($export.S + $export.F * !require('./_fails')(function(){\n rApply(function(){});\n}), 'Reflect', {\n apply: function apply(target, thisArgument, argumentsList){\n var T = aFunction(target)\n , L = anObject(argumentsList);\n return rApply ? rApply(T, thisArgument, L) : fApply.call(T, thisArgument, L);\n }\n});","// 26.1.2 Reflect.construct(target, argumentsList [, newTarget])\nvar $export = require('./_export')\n , create = require('./_object-create')\n , aFunction = require('./_a-function')\n , anObject = require('./_an-object')\n , isObject = require('./_is-object')\n , fails = require('./_fails')\n , bind = require('./_bind')\n , rConstruct = (require('./_global').Reflect || {}).construct;\n\n// MS Edge supports only 2 arguments and argumentsList argument is optional\n// FF Nightly sets third argument as `new.target`, but does not create `this` from it\nvar NEW_TARGET_BUG = fails(function(){\n function F(){}\n return !(rConstruct(function(){}, [], F) instanceof F);\n});\nvar ARGS_BUG = !fails(function(){\n rConstruct(function(){});\n});\n\n$export($export.S + $export.F * (NEW_TARGET_BUG || ARGS_BUG), 'Reflect', {\n construct: function construct(Target, args /*, newTarget*/){\n aFunction(Target);\n anObject(args);\n var newTarget = arguments.length < 3 ? Target : aFunction(arguments[2]);\n if(ARGS_BUG && !NEW_TARGET_BUG)return rConstruct(Target, args, newTarget);\n if(Target == newTarget){\n // w/o altered newTarget, optimization for 0-4 arguments\n switch(args.length){\n case 0: return new Target;\n case 1: return new Target(args[0]);\n case 2: return new Target(args[0], args[1]);\n case 3: return new Target(args[0], args[1], args[2]);\n case 4: return new Target(args[0], args[1], args[2], args[3]);\n }\n // w/o altered newTarget, lot of arguments case\n var $args = [null];\n $args.push.apply($args, args);\n return new (bind.apply(Target, $args));\n }\n // with altered newTarget, not support built-in constructors\n var proto = newTarget.prototype\n , instance = create(isObject(proto) ? proto : Object.prototype)\n , result = Function.apply.call(Target, instance, args);\n return isObject(result) ? result : instance;\n }\n});","// 26.1.3 Reflect.defineProperty(target, propertyKey, attributes)\nvar dP = require('./_object-dp')\n , $export = require('./_export')\n , anObject = require('./_an-object')\n , toPrimitive = require('./_to-primitive');\n\n// MS Edge has broken Reflect.defineProperty - throwing instead of returning false\n$export($export.S + $export.F * require('./_fails')(function(){\n Reflect.defineProperty(dP.f({}, 1, {value: 1}), 1, {value: 2});\n}), 'Reflect', {\n defineProperty: function defineProperty(target, propertyKey, attributes){\n anObject(target);\n propertyKey = toPrimitive(propertyKey, true);\n anObject(attributes);\n try {\n dP.f(target, propertyKey, attributes);\n return true;\n } catch(e){\n return false;\n }\n }\n});","// 26.1.4 Reflect.deleteProperty(target, propertyKey)\nvar $export = require('./_export')\n , gOPD = require('./_object-gopd').f\n , anObject = require('./_an-object');\n\n$export($export.S, 'Reflect', {\n deleteProperty: function deleteProperty(target, propertyKey){\n var desc = gOPD(anObject(target), propertyKey);\n return desc && !desc.configurable ? false : delete target[propertyKey];\n }\n});","'use strict';\n// 26.1.5 Reflect.enumerate(target)\nvar $export = require('./_export')\n , anObject = require('./_an-object');\nvar Enumerate = function(iterated){\n this._t = anObject(iterated); // target\n this._i = 0; // next index\n var keys = this._k = [] // keys\n , key;\n for(key in iterated)keys.push(key);\n};\nrequire('./_iter-create')(Enumerate, 'Object', function(){\n var that = this\n , keys = that._k\n , key;\n do {\n if(that._i >= keys.length)return {value: undefined, done: true};\n } while(!((key = keys[that._i++]) in that._t));\n return {value: key, done: false};\n});\n\n$export($export.S, 'Reflect', {\n enumerate: function enumerate(target){\n return new Enumerate(target);\n }\n});","// 26.1.6 Reflect.get(target, propertyKey [, receiver])\nvar gOPD = require('./_object-gopd')\n , getPrototypeOf = require('./_object-gpo')\n , has = require('./_has')\n , $export = require('./_export')\n , isObject = require('./_is-object')\n , anObject = require('./_an-object');\n\nfunction get(target, propertyKey/*, receiver*/){\n var receiver = arguments.length < 3 ? target : arguments[2]\n , desc, proto;\n if(anObject(target) === receiver)return target[propertyKey];\n if(desc = gOPD.f(target, propertyKey))return has(desc, 'value')\n ? desc.value\n : desc.get !== undefined\n ? desc.get.call(receiver)\n : undefined;\n if(isObject(proto = getPrototypeOf(target)))return get(proto, propertyKey, receiver);\n}\n\n$export($export.S, 'Reflect', {get: get});","// 26.1.7 Reflect.getOwnPropertyDescriptor(target, propertyKey)\nvar gOPD = require('./_object-gopd')\n , $export = require('./_export')\n , anObject = require('./_an-object');\n\n$export($export.S, 'Reflect', {\n getOwnPropertyDescriptor: function getOwnPropertyDescriptor(target, propertyKey){\n return gOPD.f(anObject(target), propertyKey);\n }\n});","// 26.1.8 Reflect.getPrototypeOf(target)\nvar $export = require('./_export')\n , getProto = require('./_object-gpo')\n , anObject = require('./_an-object');\n\n$export($export.S, 'Reflect', {\n getPrototypeOf: function getPrototypeOf(target){\n return getProto(anObject(target));\n }\n});","// 26.1.9 Reflect.has(target, propertyKey)\nvar $export = require('./_export');\n\n$export($export.S, 'Reflect', {\n has: function has(target, propertyKey){\n return propertyKey in target;\n }\n});","// 26.1.10 Reflect.isExtensible(target)\nvar $export = require('./_export')\n , anObject = require('./_an-object')\n , $isExtensible = Object.isExtensible;\n\n$export($export.S, 'Reflect', {\n isExtensible: function isExtensible(target){\n anObject(target);\n return $isExtensible ? $isExtensible(target) : true;\n }\n});","// all object keys, includes non-enumerable and symbols\nvar gOPN = require('./_object-gopn')\n , gOPS = require('./_object-gops')\n , anObject = require('./_an-object')\n , Reflect = require('./_global').Reflect;\nmodule.exports = Reflect && Reflect.ownKeys || function ownKeys(it){\n var keys = gOPN.f(anObject(it))\n , getSymbols = gOPS.f;\n return getSymbols ? keys.concat(getSymbols(it)) : keys;\n};","// 26.1.11 Reflect.ownKeys(target)\nvar $export = require('./_export');\n\n$export($export.S, 'Reflect', {ownKeys: require('./_own-keys')});","// 26.1.12 Reflect.preventExtensions(target)\nvar $export = require('./_export')\n , anObject = require('./_an-object')\n , $preventExtensions = Object.preventExtensions;\n\n$export($export.S, 'Reflect', {\n preventExtensions: function preventExtensions(target){\n anObject(target);\n try {\n if($preventExtensions)$preventExtensions(target);\n return true;\n } catch(e){\n return false;\n }\n }\n});","// 26.1.13 Reflect.set(target, propertyKey, V [, receiver])\nvar dP = require('./_object-dp')\n , gOPD = require('./_object-gopd')\n , getPrototypeOf = require('./_object-gpo')\n , has = require('./_has')\n , $export = require('./_export')\n , createDesc = require('./_property-desc')\n , anObject = require('./_an-object')\n , isObject = require('./_is-object');\n\nfunction set(target, propertyKey, V/*, receiver*/){\n var receiver = arguments.length < 4 ? target : arguments[3]\n , ownDesc = gOPD.f(anObject(target), propertyKey)\n , existingDescriptor, proto;\n if(!ownDesc){\n if(isObject(proto = getPrototypeOf(target))){\n return set(proto, propertyKey, V, receiver);\n }\n ownDesc = createDesc(0);\n }\n if(has(ownDesc, 'value')){\n if(ownDesc.writable === false || !isObject(receiver))return false;\n existingDescriptor = gOPD.f(receiver, propertyKey) || createDesc(0);\n existingDescriptor.value = V;\n dP.f(receiver, propertyKey, existingDescriptor);\n return true;\n }\n return ownDesc.set === undefined ? false : (ownDesc.set.call(receiver, V), true);\n}\n\n$export($export.S, 'Reflect', {set: set});","// 26.1.14 Reflect.setPrototypeOf(target, proto)\nvar $export = require('./_export')\n , setProto = require('./_set-proto');\n\nif(setProto)$export($export.S, 'Reflect', {\n setPrototypeOf: function setPrototypeOf(target, proto){\n setProto.check(target, proto);\n try {\n setProto.set(target, proto);\n return true;\n } catch(e){\n return false;\n }\n }\n});","'use strict';\n// https://github.com/tc39/Array.prototype.includes\nvar $export = require('./_export')\n , $includes = require('./_array-includes')(true);\n\n$export($export.P, 'Array', {\n includes: function includes(el /*, fromIndex = 0 */){\n return $includes(this, el, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n\nrequire('./_add-to-unscopables')('includes');","'use strict';\n// https://github.com/mathiasbynens/String.prototype.at\nvar $export = require('./_export')\n , $at = require('./_string-at')(true);\n\n$export($export.P, 'String', {\n at: function at(pos){\n return $at(this, pos);\n }\n});","// https://github.com/tc39/proposal-string-pad-start-end\nvar toLength = require('./_to-length')\n , repeat = require('./_string-repeat')\n , defined = require('./_defined');\n\nmodule.exports = function(that, maxLength, fillString, left){\n var S = String(defined(that))\n , stringLength = S.length\n , fillStr = fillString === undefined ? ' ' : String(fillString)\n , intMaxLength = toLength(maxLength);\n if(intMaxLength <= stringLength || fillStr == '')return S;\n var fillLen = intMaxLength - stringLength\n , stringFiller = repeat.call(fillStr, Math.ceil(fillLen / fillStr.length));\n if(stringFiller.length > fillLen)stringFiller = stringFiller.slice(0, fillLen);\n return left ? stringFiller + S : S + stringFiller;\n};\n","'use strict';\n// https://github.com/tc39/proposal-string-pad-start-end\nvar $export = require('./_export')\n , $pad = require('./_string-pad');\n\n$export($export.P, 'String', {\n padStart: function padStart(maxLength /*, fillString = ' ' */){\n return $pad(this, maxLength, arguments.length > 1 ? arguments[1] : undefined, true);\n }\n});","'use strict';\n// https://github.com/tc39/proposal-string-pad-start-end\nvar $export = require('./_export')\n , $pad = require('./_string-pad');\n\n$export($export.P, 'String', {\n padEnd: function padEnd(maxLength /*, fillString = ' ' */){\n return $pad(this, maxLength, arguments.length > 1 ? arguments[1] : undefined, false);\n }\n});","'use strict';\n// https://github.com/sebmarkbage/ecmascript-string-left-right-trim\nrequire('./_string-trim')('trimLeft', function($trim){\n return function trimLeft(){\n return $trim(this, 1);\n };\n}, 'trimStart');","'use strict';\n// https://github.com/sebmarkbage/ecmascript-string-left-right-trim\nrequire('./_string-trim')('trimRight', function($trim){\n return function trimRight(){\n return $trim(this, 2);\n };\n}, 'trimEnd');","'use strict';\n// https://tc39.github.io/String.prototype.matchAll/\nvar $export = require('./_export')\n , defined = require('./_defined')\n , toLength = require('./_to-length')\n , isRegExp = require('./_is-regexp')\n , getFlags = require('./_flags')\n , RegExpProto = RegExp.prototype;\n\nvar $RegExpStringIterator = function(regexp, string){\n this._r = regexp;\n this._s = string;\n};\n\nrequire('./_iter-create')($RegExpStringIterator, 'RegExp String', function next(){\n var match = this._r.exec(this._s);\n return {value: match, done: match === null};\n});\n\n$export($export.P, 'String', {\n matchAll: function matchAll(regexp){\n defined(this);\n if(!isRegExp(regexp))throw TypeError(regexp + ' is not a regexp!');\n var S = String(this)\n , flags = 'flags' in RegExpProto ? String(regexp.flags) : getFlags.call(regexp)\n , rx = new RegExp(regexp.source, ~flags.indexOf('g') ? flags : 'g' + flags);\n rx.lastIndex = toLength(regexp.lastIndex);\n return new $RegExpStringIterator(rx, S);\n }\n});","require('./_wks-define')('asyncIterator');","require('./_wks-define')('observable');","// https://github.com/tc39/proposal-object-getownpropertydescriptors\nvar $export = require('./_export')\n , ownKeys = require('./_own-keys')\n , toIObject = require('./_to-iobject')\n , gOPD = require('./_object-gopd')\n , createProperty = require('./_create-property');\n\n$export($export.S, 'Object', {\n getOwnPropertyDescriptors: function getOwnPropertyDescriptors(object){\n var O = toIObject(object)\n , getDesc = gOPD.f\n , keys = ownKeys(O)\n , result = {}\n , i = 0\n , key;\n while(keys.length > i)createProperty(result, key = keys[i++], getDesc(O, key));\n return result;\n }\n});","var getKeys = require('./_object-keys')\n , toIObject = require('./_to-iobject')\n , isEnum = require('./_object-pie').f;\nmodule.exports = function(isEntries){\n return function(it){\n var O = toIObject(it)\n , keys = getKeys(O)\n , length = keys.length\n , i = 0\n , result = []\n , key;\n while(length > i)if(isEnum.call(O, key = keys[i++])){\n result.push(isEntries ? [key, O[key]] : O[key]);\n } return result;\n };\n};","// https://github.com/tc39/proposal-object-values-entries\nvar $export = require('./_export')\n , $values = require('./_object-to-array')(false);\n\n$export($export.S, 'Object', {\n values: function values(it){\n return $values(it);\n }\n});","// https://github.com/tc39/proposal-object-values-entries\nvar $export = require('./_export')\n , $entries = require('./_object-to-array')(true);\n\n$export($export.S, 'Object', {\n entries: function entries(it){\n return $entries(it);\n }\n});","// Forced replacement prototype accessors methods\nmodule.exports = require('./_library')|| !require('./_fails')(function(){\n var K = Math.random();\n // In FF throws only define methods\n __defineSetter__.call(null, K, function(){ /* empty */});\n delete require('./_global')[K];\n});","'use strict';\nvar $export = require('./_export')\n , toObject = require('./_to-object')\n , aFunction = require('./_a-function')\n , $defineProperty = require('./_object-dp');\n\n// B.2.2.2 Object.prototype.__defineGetter__(P, getter)\nrequire('./_descriptors') && $export($export.P + require('./_object-forced-pam'), 'Object', {\n __defineGetter__: function __defineGetter__(P, getter){\n $defineProperty.f(toObject(this), P, {get: aFunction(getter), enumerable: true, configurable: true});\n }\n});","'use strict';\nvar $export = require('./_export')\n , toObject = require('./_to-object')\n , aFunction = require('./_a-function')\n , $defineProperty = require('./_object-dp');\n\n// B.2.2.3 Object.prototype.__defineSetter__(P, setter)\nrequire('./_descriptors') && $export($export.P + require('./_object-forced-pam'), 'Object', {\n __defineSetter__: function __defineSetter__(P, setter){\n $defineProperty.f(toObject(this), P, {set: aFunction(setter), enumerable: true, configurable: true});\n }\n});","'use strict';\nvar $export = require('./_export')\n , toObject = require('./_to-object')\n , toPrimitive = require('./_to-primitive')\n , getPrototypeOf = require('./_object-gpo')\n , getOwnPropertyDescriptor = require('./_object-gopd').f;\n\n// B.2.2.4 Object.prototype.__lookupGetter__(P)\nrequire('./_descriptors') && $export($export.P + require('./_object-forced-pam'), 'Object', {\n __lookupGetter__: function __lookupGetter__(P){\n var O = toObject(this)\n , K = toPrimitive(P, true)\n , D;\n do {\n if(D = getOwnPropertyDescriptor(O, K))return D.get;\n } while(O = getPrototypeOf(O));\n }\n});","'use strict';\nvar $export = require('./_export')\n , toObject = require('./_to-object')\n , toPrimitive = require('./_to-primitive')\n , getPrototypeOf = require('./_object-gpo')\n , getOwnPropertyDescriptor = require('./_object-gopd').f;\n\n// B.2.2.5 Object.prototype.__lookupSetter__(P)\nrequire('./_descriptors') && $export($export.P + require('./_object-forced-pam'), 'Object', {\n __lookupSetter__: function __lookupSetter__(P){\n var O = toObject(this)\n , K = toPrimitive(P, true)\n , D;\n do {\n if(D = getOwnPropertyDescriptor(O, K))return D.set;\n } while(O = getPrototypeOf(O));\n }\n});","var forOf = require('./_for-of');\n\nmodule.exports = function(iter, ITERATOR){\n var result = [];\n forOf(iter, false, result.push, result, ITERATOR);\n return result;\n};\n","// https://github.com/DavidBruant/Map-Set.prototype.toJSON\nvar classof = require('./_classof')\n , from = require('./_array-from-iterable');\nmodule.exports = function(NAME){\n return function toJSON(){\n if(classof(this) != NAME)throw TypeError(NAME + \"#toJSON isn't generic\");\n return from(this);\n };\n};","// https://github.com/DavidBruant/Map-Set.prototype.toJSON\nvar $export = require('./_export');\n\n$export($export.P + $export.R, 'Map', {toJSON: require('./_collection-to-json')('Map')});","// https://github.com/DavidBruant/Map-Set.prototype.toJSON\nvar $export = require('./_export');\n\n$export($export.P + $export.R, 'Set', {toJSON: require('./_collection-to-json')('Set')});","// https://github.com/ljharb/proposal-global\nvar $export = require('./_export');\n\n$export($export.S, 'System', {global: require('./_global')});","// https://github.com/ljharb/proposal-is-error\nvar $export = require('./_export')\n , cof = require('./_cof');\n\n$export($export.S, 'Error', {\n isError: function isError(it){\n return cof(it) === 'Error';\n }\n});","// https://gist.github.com/BrendanEich/4294d5c212a6d2254703\nvar $export = require('./_export');\n\n$export($export.S, 'Math', {\n iaddh: function iaddh(x0, x1, y0, y1){\n var $x0 = x0 >>> 0\n , $x1 = x1 >>> 0\n , $y0 = y0 >>> 0;\n return $x1 + (y1 >>> 0) + (($x0 & $y0 | ($x0 | $y0) & ~($x0 + $y0 >>> 0)) >>> 31) | 0;\n }\n});","// https://gist.github.com/BrendanEich/4294d5c212a6d2254703\nvar $export = require('./_export');\n\n$export($export.S, 'Math', {\n isubh: function isubh(x0, x1, y0, y1){\n var $x0 = x0 >>> 0\n , $x1 = x1 >>> 0\n , $y0 = y0 >>> 0;\n return $x1 - (y1 >>> 0) - ((~$x0 & $y0 | ~($x0 ^ $y0) & $x0 - $y0 >>> 0) >>> 31) | 0;\n }\n});","// https://gist.github.com/BrendanEich/4294d5c212a6d2254703\nvar $export = require('./_export');\n\n$export($export.S, 'Math', {\n imulh: function imulh(u, v){\n var UINT16 = 0xffff\n , $u = +u\n , $v = +v\n , u0 = $u & UINT16\n , v0 = $v & UINT16\n , u1 = $u >> 16\n , v1 = $v >> 16\n , t = (u1 * v0 >>> 0) + (u0 * v0 >>> 16);\n return u1 * v1 + (t >> 16) + ((u0 * v1 >>> 0) + (t & UINT16) >> 16);\n }\n});","// https://gist.github.com/BrendanEich/4294d5c212a6d2254703\nvar $export = require('./_export');\n\n$export($export.S, 'Math', {\n umulh: function umulh(u, v){\n var UINT16 = 0xffff\n , $u = +u\n , $v = +v\n , u0 = $u & UINT16\n , v0 = $v & UINT16\n , u1 = $u >>> 16\n , v1 = $v >>> 16\n , t = (u1 * v0 >>> 0) + (u0 * v0 >>> 16);\n return u1 * v1 + (t >>> 16) + ((u0 * v1 >>> 0) + (t & UINT16) >>> 16);\n }\n});","var Map = require('./es6.map')\n , $export = require('./_export')\n , shared = require('./_shared')('metadata')\n , store = shared.store || (shared.store = new (require('./es6.weak-map')));\n\nvar getOrCreateMetadataMap = function(target, targetKey, create){\n var targetMetadata = store.get(target);\n if(!targetMetadata){\n if(!create)return undefined;\n store.set(target, targetMetadata = new Map);\n }\n var keyMetadata = targetMetadata.get(targetKey);\n if(!keyMetadata){\n if(!create)return undefined;\n targetMetadata.set(targetKey, keyMetadata = new Map);\n } return keyMetadata;\n};\nvar ordinaryHasOwnMetadata = function(MetadataKey, O, P){\n var metadataMap = getOrCreateMetadataMap(O, P, false);\n return metadataMap === undefined ? false : metadataMap.has(MetadataKey);\n};\nvar ordinaryGetOwnMetadata = function(MetadataKey, O, P){\n var metadataMap = getOrCreateMetadataMap(O, P, false);\n return metadataMap === undefined ? undefined : metadataMap.get(MetadataKey);\n};\nvar ordinaryDefineOwnMetadata = function(MetadataKey, MetadataValue, O, P){\n getOrCreateMetadataMap(O, P, true).set(MetadataKey, MetadataValue);\n};\nvar ordinaryOwnMetadataKeys = function(target, targetKey){\n var metadataMap = getOrCreateMetadataMap(target, targetKey, false)\n , keys = [];\n if(metadataMap)metadataMap.forEach(function(_, key){ keys.push(key); });\n return keys;\n};\nvar toMetaKey = function(it){\n return it === undefined || typeof it == 'symbol' ? it : String(it);\n};\nvar exp = function(O){\n $export($export.S, 'Reflect', O);\n};\n\nmodule.exports = {\n store: store,\n map: getOrCreateMetadataMap,\n has: ordinaryHasOwnMetadata,\n get: ordinaryGetOwnMetadata,\n set: ordinaryDefineOwnMetadata,\n keys: ordinaryOwnMetadataKeys,\n key: toMetaKey,\n exp: exp\n};","var metadata = require('./_metadata')\n , anObject = require('./_an-object')\n , toMetaKey = metadata.key\n , ordinaryDefineOwnMetadata = metadata.set;\n\nmetadata.exp({defineMetadata: function defineMetadata(metadataKey, metadataValue, target, targetKey){\n ordinaryDefineOwnMetadata(metadataKey, metadataValue, anObject(target), toMetaKey(targetKey));\n}});","var metadata = require('./_metadata')\n , anObject = require('./_an-object')\n , toMetaKey = metadata.key\n , getOrCreateMetadataMap = metadata.map\n , store = metadata.store;\n\nmetadata.exp({deleteMetadata: function deleteMetadata(metadataKey, target /*, targetKey */){\n var targetKey = arguments.length < 3 ? undefined : toMetaKey(arguments[2])\n , metadataMap = getOrCreateMetadataMap(anObject(target), targetKey, false);\n if(metadataMap === undefined || !metadataMap['delete'](metadataKey))return false;\n if(metadataMap.size)return true;\n var targetMetadata = store.get(target);\n targetMetadata['delete'](targetKey);\n return !!targetMetadata.size || store['delete'](target);\n}});","var metadata = require('./_metadata')\n , anObject = require('./_an-object')\n , getPrototypeOf = require('./_object-gpo')\n , ordinaryHasOwnMetadata = metadata.has\n , ordinaryGetOwnMetadata = metadata.get\n , toMetaKey = metadata.key;\n\nvar ordinaryGetMetadata = function(MetadataKey, O, P){\n var hasOwn = ordinaryHasOwnMetadata(MetadataKey, O, P);\n if(hasOwn)return ordinaryGetOwnMetadata(MetadataKey, O, P);\n var parent = getPrototypeOf(O);\n return parent !== null ? ordinaryGetMetadata(MetadataKey, parent, P) : undefined;\n};\n\nmetadata.exp({getMetadata: function getMetadata(metadataKey, target /*, targetKey */){\n return ordinaryGetMetadata(metadataKey, anObject(target), arguments.length < 3 ? undefined : toMetaKey(arguments[2]));\n}});","var Set = require('./es6.set')\n , from = require('./_array-from-iterable')\n , metadata = require('./_metadata')\n , anObject = require('./_an-object')\n , getPrototypeOf = require('./_object-gpo')\n , ordinaryOwnMetadataKeys = metadata.keys\n , toMetaKey = metadata.key;\n\nvar ordinaryMetadataKeys = function(O, P){\n var oKeys = ordinaryOwnMetadataKeys(O, P)\n , parent = getPrototypeOf(O);\n if(parent === null)return oKeys;\n var pKeys = ordinaryMetadataKeys(parent, P);\n return pKeys.length ? oKeys.length ? from(new Set(oKeys.concat(pKeys))) : pKeys : oKeys;\n};\n\nmetadata.exp({getMetadataKeys: function getMetadataKeys(target /*, targetKey */){\n return ordinaryMetadataKeys(anObject(target), arguments.length < 2 ? undefined : toMetaKey(arguments[1]));\n}});","var metadata = require('./_metadata')\n , anObject = require('./_an-object')\n , ordinaryGetOwnMetadata = metadata.get\n , toMetaKey = metadata.key;\n\nmetadata.exp({getOwnMetadata: function getOwnMetadata(metadataKey, target /*, targetKey */){\n return ordinaryGetOwnMetadata(metadataKey, anObject(target)\n , arguments.length < 3 ? undefined : toMetaKey(arguments[2]));\n}});","var metadata = require('./_metadata')\n , anObject = require('./_an-object')\n , ordinaryOwnMetadataKeys = metadata.keys\n , toMetaKey = metadata.key;\n\nmetadata.exp({getOwnMetadataKeys: function getOwnMetadataKeys(target /*, targetKey */){\n return ordinaryOwnMetadataKeys(anObject(target), arguments.length < 2 ? undefined : toMetaKey(arguments[1]));\n}});","var metadata = require('./_metadata')\n , anObject = require('./_an-object')\n , getPrototypeOf = require('./_object-gpo')\n , ordinaryHasOwnMetadata = metadata.has\n , toMetaKey = metadata.key;\n\nvar ordinaryHasMetadata = function(MetadataKey, O, P){\n var hasOwn = ordinaryHasOwnMetadata(MetadataKey, O, P);\n if(hasOwn)return true;\n var parent = getPrototypeOf(O);\n return parent !== null ? ordinaryHasMetadata(MetadataKey, parent, P) : false;\n};\n\nmetadata.exp({hasMetadata: function hasMetadata(metadataKey, target /*, targetKey */){\n return ordinaryHasMetadata(metadataKey, anObject(target), arguments.length < 3 ? undefined : toMetaKey(arguments[2]));\n}});","var metadata = require('./_metadata')\n , anObject = require('./_an-object')\n , ordinaryHasOwnMetadata = metadata.has\n , toMetaKey = metadata.key;\n\nmetadata.exp({hasOwnMetadata: function hasOwnMetadata(metadataKey, target /*, targetKey */){\n return ordinaryHasOwnMetadata(metadataKey, anObject(target)\n , arguments.length < 3 ? undefined : toMetaKey(arguments[2]));\n}});","var metadata = require('./_metadata')\n , anObject = require('./_an-object')\n , aFunction = require('./_a-function')\n , toMetaKey = metadata.key\n , ordinaryDefineOwnMetadata = metadata.set;\n\nmetadata.exp({metadata: function metadata(metadataKey, metadataValue){\n return function decorator(target, targetKey){\n ordinaryDefineOwnMetadata(\n metadataKey, metadataValue,\n (targetKey !== undefined ? anObject : aFunction)(target),\n toMetaKey(targetKey)\n );\n };\n}});","// https://github.com/rwaldron/tc39-notes/blob/master/es6/2014-09/sept-25.md#510-globalasap-for-enqueuing-a-microtask\nvar $export = require('./_export')\n , microtask = require('./_microtask')()\n , process = require('./_global').process\n , isNode = require('./_cof')(process) == 'process';\n\n$export($export.G, {\n asap: function asap(fn){\n var domain = isNode && process.domain;\n microtask(domain ? domain.bind(fn) : fn);\n }\n});","'use strict';\n// https://github.com/zenparsing/es-observable\nvar $export = require('./_export')\n , global = require('./_global')\n , core = require('./_core')\n , microtask = require('./_microtask')()\n , OBSERVABLE = require('./_wks')('observable')\n , aFunction = require('./_a-function')\n , anObject = require('./_an-object')\n , anInstance = require('./_an-instance')\n , redefineAll = require('./_redefine-all')\n , hide = require('./_hide')\n , forOf = require('./_for-of')\n , RETURN = forOf.RETURN;\n\nvar getMethod = function(fn){\n return fn == null ? undefined : aFunction(fn);\n};\n\nvar cleanupSubscription = function(subscription){\n var cleanup = subscription._c;\n if(cleanup){\n subscription._c = undefined;\n cleanup();\n }\n};\n\nvar subscriptionClosed = function(subscription){\n return subscription._o === undefined;\n};\n\nvar closeSubscription = function(subscription){\n if(!subscriptionClosed(subscription)){\n subscription._o = undefined;\n cleanupSubscription(subscription);\n }\n};\n\nvar Subscription = function(observer, subscriber){\n anObject(observer);\n this._c = undefined;\n this._o = observer;\n observer = new SubscriptionObserver(this);\n try {\n var cleanup = subscriber(observer)\n , subscription = cleanup;\n if(cleanup != null){\n if(typeof cleanup.unsubscribe === 'function')cleanup = function(){ subscription.unsubscribe(); };\n else aFunction(cleanup);\n this._c = cleanup;\n }\n } catch(e){\n observer.error(e);\n return;\n } if(subscriptionClosed(this))cleanupSubscription(this);\n};\n\nSubscription.prototype = redefineAll({}, {\n unsubscribe: function unsubscribe(){ closeSubscription(this); }\n});\n\nvar SubscriptionObserver = function(subscription){\n this._s = subscription;\n};\n\nSubscriptionObserver.prototype = redefineAll({}, {\n next: function next(value){\n var subscription = this._s;\n if(!subscriptionClosed(subscription)){\n var observer = subscription._o;\n try {\n var m = getMethod(observer.next);\n if(m)return m.call(observer, value);\n } catch(e){\n try {\n closeSubscription(subscription);\n } finally {\n throw e;\n }\n }\n }\n },\n error: function error(value){\n var subscription = this._s;\n if(subscriptionClosed(subscription))throw value;\n var observer = subscription._o;\n subscription._o = undefined;\n try {\n var m = getMethod(observer.error);\n if(!m)throw value;\n value = m.call(observer, value);\n } catch(e){\n try {\n cleanupSubscription(subscription);\n } finally {\n throw e;\n }\n } cleanupSubscription(subscription);\n return value;\n },\n complete: function complete(value){\n var subscription = this._s;\n if(!subscriptionClosed(subscription)){\n var observer = subscription._o;\n subscription._o = undefined;\n try {\n var m = getMethod(observer.complete);\n value = m ? m.call(observer, value) : undefined;\n } catch(e){\n try {\n cleanupSubscription(subscription);\n } finally {\n throw e;\n }\n } cleanupSubscription(subscription);\n return value;\n }\n }\n});\n\nvar $Observable = function Observable(subscriber){\n anInstance(this, $Observable, 'Observable', '_f')._f = aFunction(subscriber);\n};\n\nredefineAll($Observable.prototype, {\n subscribe: function subscribe(observer){\n return new Subscription(observer, this._f);\n },\n forEach: function forEach(fn){\n var that = this;\n return new (core.Promise || global.Promise)(function(resolve, reject){\n aFunction(fn);\n var subscription = that.subscribe({\n next : function(value){\n try {\n return fn(value);\n } catch(e){\n reject(e);\n subscription.unsubscribe();\n }\n },\n error: reject,\n complete: resolve\n });\n });\n }\n});\n\nredefineAll($Observable, {\n from: function from(x){\n var C = typeof this === 'function' ? this : $Observable;\n var method = getMethod(anObject(x)[OBSERVABLE]);\n if(method){\n var observable = anObject(method.call(x));\n return observable.constructor === C ? observable : new C(function(observer){\n return observable.subscribe(observer);\n });\n }\n return new C(function(observer){\n var done = false;\n microtask(function(){\n if(!done){\n try {\n if(forOf(x, false, function(it){\n observer.next(it);\n if(done)return RETURN;\n }) === RETURN)return;\n } catch(e){\n if(done)throw e;\n observer.error(e);\n return;\n } observer.complete();\n }\n });\n return function(){ done = true; };\n });\n },\n of: function of(){\n for(var i = 0, l = arguments.length, items = Array(l); i < l;)items[i] = arguments[i++];\n return new (typeof this === 'function' ? this : $Observable)(function(observer){\n var done = false;\n microtask(function(){\n if(!done){\n for(var i = 0; i < items.length; ++i){\n observer.next(items[i]);\n if(done)return;\n } observer.complete();\n }\n });\n return function(){ done = true; };\n });\n }\n});\n\nhide($Observable.prototype, OBSERVABLE, function(){ return this; });\n\n$export($export.G, {Observable: $Observable});\n\nrequire('./_set-species')('Observable');","module.exports = require('./_global');","'use strict';\nvar path = require('./_path')\n , invoke = require('./_invoke')\n , aFunction = require('./_a-function');\nmodule.exports = function(/* ...pargs */){\n var fn = aFunction(this)\n , length = arguments.length\n , pargs = Array(length)\n , i = 0\n , _ = path._\n , holder = false;\n while(length > i)if((pargs[i] = arguments[i++]) === _)holder = true;\n return function(/* ...args */){\n var that = this\n , aLen = arguments.length\n , j = 0, k = 0, args;\n if(!holder && !aLen)return invoke(fn, pargs, that);\n args = pargs.slice();\n if(holder)for(;length > j; j++)if(args[j] === _)args[j] = arguments[k++];\n while(aLen > k)args.push(arguments[k++]);\n return invoke(fn, args, that);\n };\n};","// ie9- setTimeout & setInterval additional parameters fix\nvar global = require('./_global')\n , $export = require('./_export')\n , invoke = require('./_invoke')\n , partial = require('./_partial')\n , navigator = global.navigator\n , MSIE = !!navigator && /MSIE .\\./.test(navigator.userAgent); // <- dirty ie9- check\nvar wrap = function(set){\n return MSIE ? function(fn, time /*, ...args */){\n return set(invoke(\n partial,\n [].slice.call(arguments, 2),\n typeof fn == 'function' ? fn : Function(fn)\n ), time);\n } : set;\n};\n$export($export.G + $export.B + $export.F * MSIE, {\n setTimeout: wrap(global.setTimeout),\n setInterval: wrap(global.setInterval)\n});","var $export = require('./_export')\n , $task = require('./_task');\n$export($export.G + $export.B, {\n setImmediate: $task.set,\n clearImmediate: $task.clear\n});","var $iterators = require('./es6.array.iterator')\n , redefine = require('./_redefine')\n , global = require('./_global')\n , hide = require('./_hide')\n , Iterators = require('./_iterators')\n , wks = require('./_wks')\n , ITERATOR = wks('iterator')\n , TO_STRING_TAG = wks('toStringTag')\n , ArrayValues = Iterators.Array;\n\nfor(var collections = ['NodeList', 'DOMTokenList', 'MediaList', 'StyleSheetList', 'CSSRuleList'], i = 0; i < 5; i++){\n var NAME = collections[i]\n , Collection = global[NAME]\n , proto = Collection && Collection.prototype\n , key;\n if(proto){\n if(!proto[ITERATOR])hide(proto, ITERATOR, ArrayValues);\n if(!proto[TO_STRING_TAG])hide(proto, TO_STRING_TAG, NAME);\n Iterators[NAME] = ArrayValues;\n for(key in $iterators)if(!proto[key])redefine(proto, key, $iterators[key], true);\n }\n}","require('./modules/es6.symbol');\nrequire('./modules/es6.object.create');\nrequire('./modules/es6.object.define-property');\nrequire('./modules/es6.object.define-properties');\nrequire('./modules/es6.object.get-own-property-descriptor');\nrequire('./modules/es6.object.get-prototype-of');\nrequire('./modules/es6.object.keys');\nrequire('./modules/es6.object.get-own-property-names');\nrequire('./modules/es6.object.freeze');\nrequire('./modules/es6.object.seal');\nrequire('./modules/es6.object.prevent-extensions');\nrequire('./modules/es6.object.is-frozen');\nrequire('./modules/es6.object.is-sealed');\nrequire('./modules/es6.object.is-extensible');\nrequire('./modules/es6.object.assign');\nrequire('./modules/es6.object.is');\nrequire('./modules/es6.object.set-prototype-of');\nrequire('./modules/es6.object.to-string');\nrequire('./modules/es6.function.bind');\nrequire('./modules/es6.function.name');\nrequire('./modules/es6.function.has-instance');\nrequire('./modules/es6.parse-int');\nrequire('./modules/es6.parse-float');\nrequire('./modules/es6.number.constructor');\nrequire('./modules/es6.number.to-fixed');\nrequire('./modules/es6.number.to-precision');\nrequire('./modules/es6.number.epsilon');\nrequire('./modules/es6.number.is-finite');\nrequire('./modules/es6.number.is-integer');\nrequire('./modules/es6.number.is-nan');\nrequire('./modules/es6.number.is-safe-integer');\nrequire('./modules/es6.number.max-safe-integer');\nrequire('./modules/es6.number.min-safe-integer');\nrequire('./modules/es6.number.parse-float');\nrequire('./modules/es6.number.parse-int');\nrequire('./modules/es6.math.acosh');\nrequire('./modules/es6.math.asinh');\nrequire('./modules/es6.math.atanh');\nrequire('./modules/es6.math.cbrt');\nrequire('./modules/es6.math.clz32');\nrequire('./modules/es6.math.cosh');\nrequire('./modules/es6.math.expm1');\nrequire('./modules/es6.math.fround');\nrequire('./modules/es6.math.hypot');\nrequire('./modules/es6.math.imul');\nrequire('./modules/es6.math.log10');\nrequire('./modules/es6.math.log1p');\nrequire('./modules/es6.math.log2');\nrequire('./modules/es6.math.sign');\nrequire('./modules/es6.math.sinh');\nrequire('./modules/es6.math.tanh');\nrequire('./modules/es6.math.trunc');\nrequire('./modules/es6.string.from-code-point');\nrequire('./modules/es6.string.raw');\nrequire('./modules/es6.string.trim');\nrequire('./modules/es6.string.iterator');\nrequire('./modules/es6.string.code-point-at');\nrequire('./modules/es6.string.ends-with');\nrequire('./modules/es6.string.includes');\nrequire('./modules/es6.string.repeat');\nrequire('./modules/es6.string.starts-with');\nrequire('./modules/es6.string.anchor');\nrequire('./modules/es6.string.big');\nrequire('./modules/es6.string.blink');\nrequire('./modules/es6.string.bold');\nrequire('./modules/es6.string.fixed');\nrequire('./modules/es6.string.fontcolor');\nrequire('./modules/es6.string.fontsize');\nrequire('./modules/es6.string.italics');\nrequire('./modules/es6.string.link');\nrequire('./modules/es6.string.small');\nrequire('./modules/es6.string.strike');\nrequire('./modules/es6.string.sub');\nrequire('./modules/es6.string.sup');\nrequire('./modules/es6.date.now');\nrequire('./modules/es6.date.to-json');\nrequire('./modules/es6.date.to-iso-string');\nrequire('./modules/es6.date.to-string');\nrequire('./modules/es6.date.to-primitive');\nrequire('./modules/es6.array.is-array');\nrequire('./modules/es6.array.from');\nrequire('./modules/es6.array.of');\nrequire('./modules/es6.array.join');\nrequire('./modules/es6.array.slice');\nrequire('./modules/es6.array.sort');\nrequire('./modules/es6.array.for-each');\nrequire('./modules/es6.array.map');\nrequire('./modules/es6.array.filter');\nrequire('./modules/es6.array.some');\nrequire('./modules/es6.array.every');\nrequire('./modules/es6.array.reduce');\nrequire('./modules/es6.array.reduce-right');\nrequire('./modules/es6.array.index-of');\nrequire('./modules/es6.array.last-index-of');\nrequire('./modules/es6.array.copy-within');\nrequire('./modules/es6.array.fill');\nrequire('./modules/es6.array.find');\nrequire('./modules/es6.array.find-index');\nrequire('./modules/es6.array.species');\nrequire('./modules/es6.array.iterator');\nrequire('./modules/es6.regexp.constructor');\nrequire('./modules/es6.regexp.to-string');\nrequire('./modules/es6.regexp.flags');\nrequire('./modules/es6.regexp.match');\nrequire('./modules/es6.regexp.replace');\nrequire('./modules/es6.regexp.search');\nrequire('./modules/es6.regexp.split');\nrequire('./modules/es6.promise');\nrequire('./modules/es6.map');\nrequire('./modules/es6.set');\nrequire('./modules/es6.weak-map');\nrequire('./modules/es6.weak-set');\nrequire('./modules/es6.typed.array-buffer');\nrequire('./modules/es6.typed.data-view');\nrequire('./modules/es6.typed.int8-array');\nrequire('./modules/es6.typed.uint8-array');\nrequire('./modules/es6.typed.uint8-clamped-array');\nrequire('./modules/es6.typed.int16-array');\nrequire('./modules/es6.typed.uint16-array');\nrequire('./modules/es6.typed.int32-array');\nrequire('./modules/es6.typed.uint32-array');\nrequire('./modules/es6.typed.float32-array');\nrequire('./modules/es6.typed.float64-array');\nrequire('./modules/es6.reflect.apply');\nrequire('./modules/es6.reflect.construct');\nrequire('./modules/es6.reflect.define-property');\nrequire('./modules/es6.reflect.delete-property');\nrequire('./modules/es6.reflect.enumerate');\nrequire('./modules/es6.reflect.get');\nrequire('./modules/es6.reflect.get-own-property-descriptor');\nrequire('./modules/es6.reflect.get-prototype-of');\nrequire('./modules/es6.reflect.has');\nrequire('./modules/es6.reflect.is-extensible');\nrequire('./modules/es6.reflect.own-keys');\nrequire('./modules/es6.reflect.prevent-extensions');\nrequire('./modules/es6.reflect.set');\nrequire('./modules/es6.reflect.set-prototype-of');\nrequire('./modules/es7.array.includes');\nrequire('./modules/es7.string.at');\nrequire('./modules/es7.string.pad-start');\nrequire('./modules/es7.string.pad-end');\nrequire('./modules/es7.string.trim-left');\nrequire('./modules/es7.string.trim-right');\nrequire('./modules/es7.string.match-all');\nrequire('./modules/es7.symbol.async-iterator');\nrequire('./modules/es7.symbol.observable');\nrequire('./modules/es7.object.get-own-property-descriptors');\nrequire('./modules/es7.object.values');\nrequire('./modules/es7.object.entries');\nrequire('./modules/es7.object.define-getter');\nrequire('./modules/es7.object.define-setter');\nrequire('./modules/es7.object.lookup-getter');\nrequire('./modules/es7.object.lookup-setter');\nrequire('./modules/es7.map.to-json');\nrequire('./modules/es7.set.to-json');\nrequire('./modules/es7.system.global');\nrequire('./modules/es7.error.is-error');\nrequire('./modules/es7.math.iaddh');\nrequire('./modules/es7.math.isubh');\nrequire('./modules/es7.math.imulh');\nrequire('./modules/es7.math.umulh');\nrequire('./modules/es7.reflect.define-metadata');\nrequire('./modules/es7.reflect.delete-metadata');\nrequire('./modules/es7.reflect.get-metadata');\nrequire('./modules/es7.reflect.get-metadata-keys');\nrequire('./modules/es7.reflect.get-own-metadata');\nrequire('./modules/es7.reflect.get-own-metadata-keys');\nrequire('./modules/es7.reflect.has-metadata');\nrequire('./modules/es7.reflect.has-own-metadata');\nrequire('./modules/es7.reflect.metadata');\nrequire('./modules/es7.asap');\nrequire('./modules/es7.observable');\nrequire('./modules/web.timers');\nrequire('./modules/web.immediate');\nrequire('./modules/web.dom.iterable');\nmodule.exports = require('./modules/_core');","/**\n * Copyright (c) 2014, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * https://raw.github.com/facebook/regenerator/master/LICENSE file. An\n * additional grant of patent rights can be found in the PATENTS file in\n * the same directory.\n */\n\n!(function(global) {\n \"use strict\";\n\n var hasOwn = Object.prototype.hasOwnProperty;\n var undefined; // More compressible than void 0.\n var $Symbol = typeof Symbol === \"function\" ? Symbol : {};\n var iteratorSymbol = $Symbol.iterator || \"@@iterator\";\n var toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\";\n\n var inModule = typeof module === \"object\";\n var runtime = global.regeneratorRuntime;\n if (runtime) {\n if (inModule) {\n // If regeneratorRuntime is defined globally and we're in a module,\n // make the exports object identical to regeneratorRuntime.\n module.exports = runtime;\n }\n // Don't bother evaluating the rest of this file if the runtime was\n // already defined globally.\n return;\n }\n\n // Define the runtime globally (as expected by generated code) as either\n // module.exports (if we're in a module) or a new, empty object.\n runtime = global.regeneratorRuntime = inModule ? module.exports : {};\n\n function wrap(innerFn, outerFn, self, tryLocsList) {\n // If outerFn provided, then outerFn.prototype instanceof Generator.\n var generator = Object.create((outerFn || Generator).prototype);\n var context = new Context(tryLocsList || []);\n\n // The ._invoke method unifies the implementations of the .next,\n // .throw, and .return methods.\n generator._invoke = makeInvokeMethod(innerFn, self, context);\n\n return generator;\n }\n runtime.wrap = wrap;\n\n // Try/catch helper to minimize deoptimizations. Returns a completion\n // record like context.tryEntries[i].completion. This interface could\n // have been (and was previously) designed to take a closure to be\n // invoked without arguments, but in all the cases we care about we\n // already have an existing method we want to call, so there's no need\n // to create a new function object. We can even get away with assuming\n // the method takes exactly one argument, since that happens to be true\n // in every case, so we don't have to touch the arguments object. The\n // only additional allocation required is the completion record, which\n // has a stable shape and so hopefully should be cheap to allocate.\n function tryCatch(fn, obj, arg) {\n try {\n return { type: \"normal\", arg: fn.call(obj, arg) };\n } catch (err) {\n return { type: \"throw\", arg: err };\n }\n }\n\n var GenStateSuspendedStart = \"suspendedStart\";\n var GenStateSuspendedYield = \"suspendedYield\";\n var GenStateExecuting = \"executing\";\n var GenStateCompleted = \"completed\";\n\n // Returning this object from the innerFn has the same effect as\n // breaking out of the dispatch switch statement.\n var ContinueSentinel = {};\n\n // Dummy constructor functions that we use as the .constructor and\n // .constructor.prototype properties for functions that return Generator\n // objects. For full spec compliance, you may wish to configure your\n // minifier not to mangle the names of these two functions.\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n\n var Gp = GeneratorFunctionPrototype.prototype = Generator.prototype;\n GeneratorFunction.prototype = Gp.constructor = GeneratorFunctionPrototype;\n GeneratorFunctionPrototype.constructor = GeneratorFunction;\n GeneratorFunctionPrototype[toStringTagSymbol] = GeneratorFunction.displayName = \"GeneratorFunction\";\n\n // Helper for defining the .next, .throw, and .return methods of the\n // Iterator interface in terms of a single ._invoke method.\n function defineIteratorMethods(prototype) {\n [\"next\", \"throw\", \"return\"].forEach(function(method) {\n prototype[method] = function(arg) {\n return this._invoke(method, arg);\n };\n });\n }\n\n runtime.isGeneratorFunction = function(genFun) {\n var ctor = typeof genFun === \"function\" && genFun.constructor;\n return ctor\n ? ctor === GeneratorFunction ||\n // For the native GeneratorFunction constructor, the best we can\n // do is to check its .name property.\n (ctor.displayName || ctor.name) === \"GeneratorFunction\"\n : false;\n };\n\n runtime.mark = function(genFun) {\n if (Object.setPrototypeOf) {\n Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);\n } else {\n genFun.__proto__ = GeneratorFunctionPrototype;\n if (!(toStringTagSymbol in genFun)) {\n genFun[toStringTagSymbol] = \"GeneratorFunction\";\n }\n }\n genFun.prototype = Object.create(Gp);\n return genFun;\n };\n\n // Within the body of any async function, `await x` is transformed to\n // `yield regeneratorRuntime.awrap(x)`, so that the runtime can test\n // `value instanceof AwaitArgument` to determine if the yielded value is\n // meant to be awaited. Some may consider the name of this method too\n // cutesy, but they are curmudgeons.\n runtime.awrap = function(arg) {\n return new AwaitArgument(arg);\n };\n\n function AwaitArgument(arg) {\n this.arg = arg;\n }\n\n function AsyncIterator(generator) {\n function invoke(method, arg, resolve, reject) {\n var record = tryCatch(generator[method], generator, arg);\n if (record.type === \"throw\") {\n reject(record.arg);\n } else {\n var result = record.arg;\n var value = result.value;\n if (value instanceof AwaitArgument) {\n return Promise.resolve(value.arg).then(function(value) {\n invoke(\"next\", value, resolve, reject);\n }, function(err) {\n invoke(\"throw\", err, resolve, reject);\n });\n }\n\n return Promise.resolve(value).then(function(unwrapped) {\n // When a yielded Promise is resolved, its final value becomes\n // the .value of the Promise<{value,done}> result for the\n // current iteration. If the Promise is rejected, however, the\n // result for this iteration will be rejected with the same\n // reason. Note that rejections of yielded Promises are not\n // thrown back into the generator function, as is the case\n // when an awaited Promise is rejected. This difference in\n // behavior between yield and await is important, because it\n // allows the consumer to decide what to do with the yielded\n // rejection (swallow it and continue, manually .throw it back\n // into the generator, abandon iteration, whatever). With\n // await, by contrast, there is no opportunity to examine the\n // rejection reason outside the generator function, so the\n // only option is to throw it from the await expression, and\n // let the generator function handle the exception.\n result.value = unwrapped;\n resolve(result);\n }, reject);\n }\n }\n\n if (typeof process === \"object\" && process.domain) {\n invoke = process.domain.bind(invoke);\n }\n\n var previousPromise;\n\n function enqueue(method, arg) {\n function callInvokeWithMethodAndArg() {\n return new Promise(function(resolve, reject) {\n invoke(method, arg, resolve, reject);\n });\n }\n\n return previousPromise =\n // If enqueue has been called before, then we want to wait until\n // all previous Promises have been resolved before calling invoke,\n // so that results are always delivered in the correct order. If\n // enqueue has not been called before, then it is important to\n // call invoke immediately, without waiting on a callback to fire,\n // so that the async generator function has the opportunity to do\n // any necessary setup in a predictable way. This predictability\n // is why the Promise constructor synchronously invokes its\n // executor callback, and why async functions synchronously\n // execute code before the first await. Since we implement simple\n // async functions in terms of async generators, it is especially\n // important to get this right, even though it requires care.\n previousPromise ? previousPromise.then(\n callInvokeWithMethodAndArg,\n // Avoid propagating failures to Promises returned by later\n // invocations of the iterator.\n callInvokeWithMethodAndArg\n ) : callInvokeWithMethodAndArg();\n }\n\n // Define the unified helper method that is used to implement .next,\n // .throw, and .return (see defineIteratorMethods).\n this._invoke = enqueue;\n }\n\n defineIteratorMethods(AsyncIterator.prototype);\n\n // Note that simple async functions are implemented on top of\n // AsyncIterator objects; they just return a Promise for the value of\n // the final result produced by the iterator.\n runtime.async = function(innerFn, outerFn, self, tryLocsList) {\n var iter = new AsyncIterator(\n wrap(innerFn, outerFn, self, tryLocsList)\n );\n\n return runtime.isGeneratorFunction(outerFn)\n ? iter // If outerFn is a generator, return the full iterator.\n : iter.next().then(function(result) {\n return result.done ? result.value : iter.next();\n });\n };\n\n function makeInvokeMethod(innerFn, self, context) {\n var state = GenStateSuspendedStart;\n\n return function invoke(method, arg) {\n if (state === GenStateExecuting) {\n throw new Error(\"Generator is already running\");\n }\n\n if (state === GenStateCompleted) {\n if (method === \"throw\") {\n throw arg;\n }\n\n // Be forgiving, per 25.3.3.3.3 of the spec:\n // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generatorresume\n return doneResult();\n }\n\n while (true) {\n var delegate = context.delegate;\n if (delegate) {\n if (method === \"return\" ||\n (method === \"throw\" && delegate.iterator[method] === undefined)) {\n // A return or throw (when the delegate iterator has no throw\n // method) always terminates the yield* loop.\n context.delegate = null;\n\n // If the delegate iterator has a return method, give it a\n // chance to clean up.\n var returnMethod = delegate.iterator[\"return\"];\n if (returnMethod) {\n var record = tryCatch(returnMethod, delegate.iterator, arg);\n if (record.type === \"throw\") {\n // If the return method threw an exception, let that\n // exception prevail over the original return or throw.\n method = \"throw\";\n arg = record.arg;\n continue;\n }\n }\n\n if (method === \"return\") {\n // Continue with the outer return, now that the delegate\n // iterator has been terminated.\n continue;\n }\n }\n\n var record = tryCatch(\n delegate.iterator[method],\n delegate.iterator,\n arg\n );\n\n if (record.type === \"throw\") {\n context.delegate = null;\n\n // Like returning generator.throw(uncaught), but without the\n // overhead of an extra function call.\n method = \"throw\";\n arg = record.arg;\n continue;\n }\n\n // Delegate generator ran and handled its own exceptions so\n // regardless of what the method was, we continue as if it is\n // \"next\" with an undefined arg.\n method = \"next\";\n arg = undefined;\n\n var info = record.arg;\n if (info.done) {\n context[delegate.resultName] = info.value;\n context.next = delegate.nextLoc;\n } else {\n state = GenStateSuspendedYield;\n return info;\n }\n\n context.delegate = null;\n }\n\n if (method === \"next\") {\n // Setting context._sent for legacy support of Babel's\n // function.sent implementation.\n context.sent = context._sent = arg;\n\n } else if (method === \"throw\") {\n if (state === GenStateSuspendedStart) {\n state = GenStateCompleted;\n throw arg;\n }\n\n if (context.dispatchException(arg)) {\n // If the dispatched exception was caught by a catch block,\n // then let that catch block handle the exception normally.\n method = \"next\";\n arg = undefined;\n }\n\n } else if (method === \"return\") {\n context.abrupt(\"return\", arg);\n }\n\n state = GenStateExecuting;\n\n var record = tryCatch(innerFn, self, context);\n if (record.type === \"normal\") {\n // If an exception is thrown from innerFn, we leave state ===\n // GenStateExecuting and loop back for another invocation.\n state = context.done\n ? GenStateCompleted\n : GenStateSuspendedYield;\n\n var info = {\n value: record.arg,\n done: context.done\n };\n\n if (record.arg === ContinueSentinel) {\n if (context.delegate && method === \"next\") {\n // Deliberately forget the last sent value so that we don't\n // accidentally pass it on to the delegate.\n arg = undefined;\n }\n } else {\n return info;\n }\n\n } else if (record.type === \"throw\") {\n state = GenStateCompleted;\n // Dispatch the exception by looping back around to the\n // context.dispatchException(arg) call above.\n method = \"throw\";\n arg = record.arg;\n }\n }\n };\n }\n\n // Define Generator.prototype.{next,throw,return} in terms of the\n // unified ._invoke helper method.\n defineIteratorMethods(Gp);\n\n Gp[iteratorSymbol] = function() {\n return this;\n };\n\n Gp[toStringTagSymbol] = \"Generator\";\n\n Gp.toString = function() {\n return \"[object Generator]\";\n };\n\n function pushTryEntry(locs) {\n var entry = { tryLoc: locs[0] };\n\n if (1 in locs) {\n entry.catchLoc = locs[1];\n }\n\n if (2 in locs) {\n entry.finallyLoc = locs[2];\n entry.afterLoc = locs[3];\n }\n\n this.tryEntries.push(entry);\n }\n\n function resetTryEntry(entry) {\n var record = entry.completion || {};\n record.type = \"normal\";\n delete record.arg;\n entry.completion = record;\n }\n\n function Context(tryLocsList) {\n // The root entry object (effectively a try statement without a catch\n // or a finally block) gives us a place to store values thrown from\n // locations where there is no enclosing try statement.\n this.tryEntries = [{ tryLoc: \"root\" }];\n tryLocsList.forEach(pushTryEntry, this);\n this.reset(true);\n }\n\n runtime.keys = function(object) {\n var keys = [];\n for (var key in object) {\n keys.push(key);\n }\n keys.reverse();\n\n // Rather than returning an object with a next method, we keep\n // things simple and return the next function itself.\n return function next() {\n while (keys.length) {\n var key = keys.pop();\n if (key in object) {\n next.value = key;\n next.done = false;\n return next;\n }\n }\n\n // To avoid creating an additional object, we just hang the .value\n // and .done properties off the next function object itself. This\n // also ensures that the minifier will not anonymize the function.\n next.done = true;\n return next;\n };\n };\n\n function values(iterable) {\n if (iterable) {\n var iteratorMethod = iterable[iteratorSymbol];\n if (iteratorMethod) {\n return iteratorMethod.call(iterable);\n }\n\n if (typeof iterable.next === \"function\") {\n return iterable;\n }\n\n if (!isNaN(iterable.length)) {\n var i = -1, next = function next() {\n while (++i < iterable.length) {\n if (hasOwn.call(iterable, i)) {\n next.value = iterable[i];\n next.done = false;\n return next;\n }\n }\n\n next.value = undefined;\n next.done = true;\n\n return next;\n };\n\n return next.next = next;\n }\n }\n\n // Return an iterator with no values.\n return { next: doneResult };\n }\n runtime.values = values;\n\n function doneResult() {\n return { value: undefined, done: true };\n }\n\n Context.prototype = {\n constructor: Context,\n\n reset: function(skipTempReset) {\n this.prev = 0;\n this.next = 0;\n // Resetting context._sent for legacy support of Babel's\n // function.sent implementation.\n this.sent = this._sent = undefined;\n this.done = false;\n this.delegate = null;\n\n this.tryEntries.forEach(resetTryEntry);\n\n if (!skipTempReset) {\n for (var name in this) {\n // Not sure about the optimal order of these conditions:\n if (name.charAt(0) === \"t\" &&\n hasOwn.call(this, name) &&\n !isNaN(+name.slice(1))) {\n this[name] = undefined;\n }\n }\n }\n },\n\n stop: function() {\n this.done = true;\n\n var rootEntry = this.tryEntries[0];\n var rootRecord = rootEntry.completion;\n if (rootRecord.type === \"throw\") {\n throw rootRecord.arg;\n }\n\n return this.rval;\n },\n\n dispatchException: function(exception) {\n if (this.done) {\n throw exception;\n }\n\n var context = this;\n function handle(loc, caught) {\n record.type = \"throw\";\n record.arg = exception;\n context.next = loc;\n return !!caught;\n }\n\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n var record = entry.completion;\n\n if (entry.tryLoc === \"root\") {\n // Exception thrown outside of any try block that could handle\n // it, so set the completion value of the entire function to\n // throw the exception.\n return handle(\"end\");\n }\n\n if (entry.tryLoc <= this.prev) {\n var hasCatch = hasOwn.call(entry, \"catchLoc\");\n var hasFinally = hasOwn.call(entry, \"finallyLoc\");\n\n if (hasCatch && hasFinally) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n } else if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else if (hasCatch) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n }\n\n } else if (hasFinally) {\n if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else {\n throw new Error(\"try statement without catch or finally\");\n }\n }\n }\n },\n\n abrupt: function(type, arg) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc <= this.prev &&\n hasOwn.call(entry, \"finallyLoc\") &&\n this.prev < entry.finallyLoc) {\n var finallyEntry = entry;\n break;\n }\n }\n\n if (finallyEntry &&\n (type === \"break\" ||\n type === \"continue\") &&\n finallyEntry.tryLoc <= arg &&\n arg <= finallyEntry.finallyLoc) {\n // Ignore the finally entry if control is not jumping to a\n // location outside the try/catch block.\n finallyEntry = null;\n }\n\n var record = finallyEntry ? finallyEntry.completion : {};\n record.type = type;\n record.arg = arg;\n\n if (finallyEntry) {\n this.next = finallyEntry.finallyLoc;\n } else {\n this.complete(record);\n }\n\n return ContinueSentinel;\n },\n\n complete: function(record, afterLoc) {\n if (record.type === \"throw\") {\n throw record.arg;\n }\n\n if (record.type === \"break\" ||\n record.type === \"continue\") {\n this.next = record.arg;\n } else if (record.type === \"return\") {\n this.rval = record.arg;\n this.next = \"end\";\n } else if (record.type === \"normal\" && afterLoc) {\n this.next = afterLoc;\n }\n },\n\n finish: function(finallyLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.finallyLoc === finallyLoc) {\n this.complete(entry.completion, entry.afterLoc);\n resetTryEntry(entry);\n return ContinueSentinel;\n }\n }\n },\n\n \"catch\": function(tryLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc === tryLoc) {\n var record = entry.completion;\n if (record.type === \"throw\") {\n var thrown = record.arg;\n resetTryEntry(entry);\n }\n return thrown;\n }\n }\n\n // The context.catch method must only be called with a location\n // argument that corresponds to a known catch block.\n throw new Error(\"illegal catch attempt\");\n },\n\n delegateYield: function(iterable, resultName, nextLoc) {\n this.delegate = {\n iterator: values(iterable),\n resultName: resultName,\n nextLoc: nextLoc\n };\n\n return ContinueSentinel;\n }\n };\n})(\n // Among the various tricks for obtaining a reference to the global\n // object, this seems to be the most reliable technique that does not\n // use indirect eval (which violates Content Security Policy).\n typeof global === \"object\" ? global :\n typeof window === \"object\" ? window :\n typeof self === \"object\" ? self : this\n);\n","module.exports = function(regExp, replace){\n var replacer = replace === Object(replace) ? function(part){\n return replace[part];\n } : replace;\n return function(it){\n return String(it).replace(regExp, replacer);\n };\n};","// https://github.com/benjamingr/RexExp.escape\nvar $export = require('./_export')\n , $re = require('./_replacer')(/[\\\\^$*+?.()|[\\]{}]/g, '\\\\$&');\n\n$export($export.S, 'RegExp', {escape: function escape(it){ return $re(it); }});\n","require('../../modules/core.regexp.escape');\nmodule.exports = require('../../modules/_core').RegExp.escape;","\"use strict\";\n\nrequire(\"core-js/shim\");\n\nrequire(\"regenerator-runtime/runtime\");\n\nrequire(\"core-js/fn/regexp/escape\");\n\n/* eslint max-len: 0 */\n\nif (global._babelPolyfill) {\n throw new Error(\"only one instance of babel-polyfill is allowed\");\n}\nglobal._babelPolyfill = true;\n\n// Should be removed in the next major release:\n\nvar DEFINE_PROPERTY = \"defineProperty\";\nfunction define(O, key, value) {\n O[key] || Object[DEFINE_PROPERTY](O, key, {\n writable: true,\n configurable: true,\n value: value\n });\n}\n\ndefine(String.prototype, \"padLeft\", \"\".padStart);\ndefine(String.prototype, \"padRight\", \"\".padEnd);\n\n\"pop,reverse,shift,keys,values,entries,indexOf,every,some,forEach,map,filter,find,findIndex,includes,join,slice,concat,push,splice,unshift,sort,lastIndexOf,reduce,reduceRight,copyWithin,fill\".split(\",\").forEach(function (key) {\n [][key] && define(Array, key, Function.call.bind([][key]));\n});","/*!\n * Bootstrap v4.0.0-alpha.3 (http://getbootstrap.com)\n * Copyright 2011-2016 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */\n\nif (typeof jQuery === 'undefined') {\n throw new Error('Bootstrap\\'s JavaScript requires jQuery')\n}\n\n+function ($) {\n var version = $.fn.jquery.split(' ')[0].split('.')\n if ((version[0] < 2 && version[1] < 9) || (version[0] == 1 && version[1] == 9 && version[2] < 1) || (version[0] >= 4)) {\n throw new Error('Bootstrap\\'s JavaScript requires at least jQuery v1.9.1 but less than v4.0.0')\n }\n}(jQuery);\n\n\n+function ($) {\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0-alpha.3): util.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n'use strict';\n\nvar _get = function get(_x, _x2, _x3) { var _again = true; _function: while (_again) { var object = _x, property = _x2, receiver = _x3; _again = false; if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { _x = parent; _x2 = property; _x3 = receiver; _again = true; desc = parent = undefined; continue _function; } } else if ('value' in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } } };\n\nvar _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ('value' in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })();\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== 'function' && superClass !== null) { throw new TypeError('Super expression must either be null or a function, not ' + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } }\n\nvar Util = (function ($) {\n\n /**\n * ------------------------------------------------------------------------\n * Private TransitionEnd Helpers\n * ------------------------------------------------------------------------\n */\n\n var transition = false;\n\n var MAX_UID = 1000000;\n\n var TransitionEndEvent = {\n WebkitTransition: 'webkitTransitionEnd',\n MozTransition: 'transitionend',\n OTransition: 'oTransitionEnd otransitionend',\n transition: 'transitionend'\n };\n\n // shoutout AngusCroll (https://goo.gl/pxwQGp)\n function toType(obj) {\n return ({}).toString.call(obj).match(/\\s([a-zA-Z]+)/)[1].toLowerCase();\n }\n\n function isElement(obj) {\n return (obj[0] || obj).nodeType;\n }\n\n function getSpecialTransitionEndEvent() {\n return {\n bindType: transition.end,\n delegateType: transition.end,\n handle: function handle(event) {\n if ($(event.target).is(this)) {\n return event.handleObj.handler.apply(this, arguments); // eslint-disable-line prefer-rest-params\n }\n return undefined;\n }\n };\n }\n\n function transitionEndTest() {\n if (window.QUnit) {\n return false;\n }\n\n var el = document.createElement('bootstrap');\n\n for (var _name in TransitionEndEvent) {\n if (el.style[_name] !== undefined) {\n return { end: TransitionEndEvent[_name] };\n }\n }\n\n return false;\n }\n\n function transitionEndEmulator(duration) {\n var _this = this;\n\n var called = false;\n\n $(this).one(Util.TRANSITION_END, function () {\n called = true;\n });\n\n setTimeout(function () {\n if (!called) {\n Util.triggerTransitionEnd(_this);\n }\n }, duration);\n\n return this;\n }\n\n function setTransitionEndSupport() {\n transition = transitionEndTest();\n\n $.fn.emulateTransitionEnd = transitionEndEmulator;\n\n if (Util.supportsTransitionEnd()) {\n $.event.special[Util.TRANSITION_END] = getSpecialTransitionEndEvent();\n }\n }\n\n /**\n * --------------------------------------------------------------------------\n * Public Util Api\n * --------------------------------------------------------------------------\n */\n\n var Util = {\n\n TRANSITION_END: 'bsTransitionEnd',\n\n getUID: function getUID(prefix) {\n do {\n /* eslint-disable no-bitwise */\n prefix += ~ ~(Math.random() * MAX_UID); // \"~~\" acts like a faster Math.floor() here\n /* eslint-enable no-bitwise */\n } while (document.getElementById(prefix));\n return prefix;\n },\n\n getSelectorFromElement: function getSelectorFromElement(element) {\n var selector = element.getAttribute('data-target');\n\n if (!selector) {\n selector = element.getAttribute('href') || '';\n selector = /^#[a-z]/i.test(selector) ? selector : null;\n }\n\n return selector;\n },\n\n reflow: function reflow(element) {\n new Function('bs', 'return bs')(element.offsetHeight);\n },\n\n triggerTransitionEnd: function triggerTransitionEnd(element) {\n $(element).trigger(transition.end);\n },\n\n supportsTransitionEnd: function supportsTransitionEnd() {\n return Boolean(transition);\n },\n\n typeCheckConfig: function typeCheckConfig(componentName, config, configTypes) {\n for (var property in configTypes) {\n if (configTypes.hasOwnProperty(property)) {\n var expectedTypes = configTypes[property];\n var value = config[property];\n var valueType = undefined;\n\n if (value && isElement(value)) {\n valueType = 'element';\n } else {\n valueType = toType(value);\n }\n\n if (!new RegExp(expectedTypes).test(valueType)) {\n throw new Error(componentName.toUpperCase() + ': ' + ('Option \"' + property + '\" provided type \"' + valueType + '\" ') + ('but expected type \"' + expectedTypes + '\".'));\n }\n }\n }\n }\n };\n\n setTransitionEndSupport();\n\n return Util;\n})(jQuery);\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0-alpha.3): alert.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nvar Alert = (function ($) {\n\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n var NAME = 'alert';\n var VERSION = '4.0.0-alpha.3';\n var DATA_KEY = 'bs.alert';\n var EVENT_KEY = '.' + DATA_KEY;\n var DATA_API_KEY = '.data-api';\n var JQUERY_NO_CONFLICT = $.fn[NAME];\n var TRANSITION_DURATION = 150;\n\n var Selector = {\n DISMISS: '[data-dismiss=\"alert\"]'\n };\n\n var Event = {\n CLOSE: 'close' + EVENT_KEY,\n CLOSED: 'closed' + EVENT_KEY,\n CLICK_DATA_API: 'click' + EVENT_KEY + DATA_API_KEY\n };\n\n var ClassName = {\n ALERT: 'alert',\n FADE: 'fade',\n IN: 'in'\n };\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n var Alert = (function () {\n function Alert(element) {\n _classCallCheck(this, Alert);\n\n this._element = element;\n }\n\n /**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n // getters\n\n _createClass(Alert, [{\n key: 'close',\n\n // public\n\n value: function close(element) {\n element = element || this._element;\n\n var rootElement = this._getRootElement(element);\n var customEvent = this._triggerCloseEvent(rootElement);\n\n if (customEvent.isDefaultPrevented()) {\n return;\n }\n\n this._removeElement(rootElement);\n }\n }, {\n key: 'dispose',\n value: function dispose() {\n $.removeData(this._element, DATA_KEY);\n this._element = null;\n }\n\n // private\n\n }, {\n key: '_getRootElement',\n value: function _getRootElement(element) {\n var selector = Util.getSelectorFromElement(element);\n var parent = false;\n\n if (selector) {\n parent = $(selector)[0];\n }\n\n if (!parent) {\n parent = $(element).closest('.' + ClassName.ALERT)[0];\n }\n\n return parent;\n }\n }, {\n key: '_triggerCloseEvent',\n value: function _triggerCloseEvent(element) {\n var closeEvent = $.Event(Event.CLOSE);\n\n $(element).trigger(closeEvent);\n return closeEvent;\n }\n }, {\n key: '_removeElement',\n value: function _removeElement(element) {\n $(element).removeClass(ClassName.IN);\n\n if (!Util.supportsTransitionEnd() || !$(element).hasClass(ClassName.FADE)) {\n this._destroyElement(element);\n return;\n }\n\n $(element).one(Util.TRANSITION_END, $.proxy(this._destroyElement, this, element)).emulateTransitionEnd(TRANSITION_DURATION);\n }\n }, {\n key: '_destroyElement',\n value: function _destroyElement(element) {\n $(element).detach().trigger(Event.CLOSED).remove();\n }\n\n // static\n\n }], [{\n key: '_jQueryInterface',\n value: function _jQueryInterface(config) {\n return this.each(function () {\n var $element = $(this);\n var data = $element.data(DATA_KEY);\n\n if (!data) {\n data = new Alert(this);\n $element.data(DATA_KEY, data);\n }\n\n if (config === 'close') {\n data[config](this);\n }\n });\n }\n }, {\n key: '_handleDismiss',\n value: function _handleDismiss(alertInstance) {\n return function (event) {\n if (event) {\n event.preventDefault();\n }\n\n alertInstance.close(this);\n };\n }\n }, {\n key: 'VERSION',\n get: function get() {\n return VERSION;\n }\n }]);\n\n return Alert;\n })();\n\n $(document).on(Event.CLICK_DATA_API, Selector.DISMISS, Alert._handleDismiss(new Alert()));\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME] = Alert._jQueryInterface;\n $.fn[NAME].Constructor = Alert;\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT;\n return Alert._jQueryInterface;\n };\n\n return Alert;\n})(jQuery);\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0-alpha.3): button.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nvar Button = (function ($) {\n\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n var NAME = 'button';\n var VERSION = '4.0.0-alpha.3';\n var DATA_KEY = 'bs.button';\n var EVENT_KEY = '.' + DATA_KEY;\n var DATA_API_KEY = '.data-api';\n var JQUERY_NO_CONFLICT = $.fn[NAME];\n\n var ClassName = {\n ACTIVE: 'active',\n BUTTON: 'btn',\n FOCUS: 'focus'\n };\n\n var Selector = {\n DATA_TOGGLE_CARROT: '[data-toggle^=\"button\"]',\n DATA_TOGGLE: '[data-toggle=\"buttons\"]',\n INPUT: 'input',\n ACTIVE: '.active',\n BUTTON: '.btn'\n };\n\n var Event = {\n CLICK_DATA_API: 'click' + EVENT_KEY + DATA_API_KEY,\n FOCUS_BLUR_DATA_API: 'focus' + EVENT_KEY + DATA_API_KEY + ' ' + ('blur' + EVENT_KEY + DATA_API_KEY)\n };\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n var Button = (function () {\n function Button(element) {\n _classCallCheck(this, Button);\n\n this._element = element;\n }\n\n /**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n // getters\n\n _createClass(Button, [{\n key: 'toggle',\n\n // public\n\n value: function toggle() {\n var triggerChangeEvent = true;\n var rootElement = $(this._element).closest(Selector.DATA_TOGGLE)[0];\n\n if (rootElement) {\n var input = $(this._element).find(Selector.INPUT)[0];\n\n if (input) {\n if (input.type === 'radio') {\n if (input.checked && $(this._element).hasClass(ClassName.ACTIVE)) {\n triggerChangeEvent = false;\n } else {\n var activeElement = $(rootElement).find(Selector.ACTIVE)[0];\n\n if (activeElement) {\n $(activeElement).removeClass(ClassName.ACTIVE);\n }\n }\n }\n\n if (triggerChangeEvent) {\n input.checked = !$(this._element).hasClass(ClassName.ACTIVE);\n $(this._element).trigger('change');\n }\n\n input.focus();\n }\n } else {\n this._element.setAttribute('aria-pressed', !$(this._element).hasClass(ClassName.ACTIVE));\n }\n\n if (triggerChangeEvent) {\n $(this._element).toggleClass(ClassName.ACTIVE);\n }\n }\n }, {\n key: 'dispose',\n value: function dispose() {\n $.removeData(this._element, DATA_KEY);\n this._element = null;\n }\n\n // static\n\n }], [{\n key: '_jQueryInterface',\n value: function _jQueryInterface(config) {\n return this.each(function () {\n var data = $(this).data(DATA_KEY);\n\n if (!data) {\n data = new Button(this);\n $(this).data(DATA_KEY, data);\n }\n\n if (config === 'toggle') {\n data[config]();\n }\n });\n }\n }, {\n key: 'VERSION',\n get: function get() {\n return VERSION;\n }\n }]);\n\n return Button;\n })();\n\n $(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE_CARROT, function (event) {\n event.preventDefault();\n\n var button = event.target;\n\n if (!$(button).hasClass(ClassName.BUTTON)) {\n button = $(button).closest(Selector.BUTTON);\n }\n\n Button._jQueryInterface.call($(button), 'toggle');\n }).on(Event.FOCUS_BLUR_DATA_API, Selector.DATA_TOGGLE_CARROT, function (event) {\n var button = $(event.target).closest(Selector.BUTTON)[0];\n $(button).toggleClass(ClassName.FOCUS, /^focus(in)?$/.test(event.type));\n });\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME] = Button._jQueryInterface;\n $.fn[NAME].Constructor = Button;\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT;\n return Button._jQueryInterface;\n };\n\n return Button;\n})(jQuery);\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0-alpha.3): carousel.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nvar Carousel = (function ($) {\n\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n var NAME = 'carousel';\n var VERSION = '4.0.0-alpha.3';\n var DATA_KEY = 'bs.carousel';\n var EVENT_KEY = '.' + DATA_KEY;\n var DATA_API_KEY = '.data-api';\n var JQUERY_NO_CONFLICT = $.fn[NAME];\n var TRANSITION_DURATION = 600;\n var ARROW_LEFT_KEYCODE = 37; // KeyboardEvent.which value for left arrow key\n var ARROW_RIGHT_KEYCODE = 39; // KeyboardEvent.which value for right arrow key\n\n var Default = {\n interval: 5000,\n keyboard: true,\n slide: false,\n pause: 'hover',\n wrap: true\n };\n\n var DefaultType = {\n interval: '(number|boolean)',\n keyboard: 'boolean',\n slide: '(boolean|string)',\n pause: '(string|boolean)',\n wrap: 'boolean'\n };\n\n var Direction = {\n NEXT: 'next',\n PREVIOUS: 'prev'\n };\n\n var 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 LOAD_DATA_API: 'load' + EVENT_KEY + DATA_API_KEY,\n CLICK_DATA_API: 'click' + EVENT_KEY + DATA_API_KEY\n };\n\n var ClassName = {\n CAROUSEL: 'carousel',\n ACTIVE: 'active',\n SLIDE: 'slide',\n RIGHT: 'right',\n LEFT: 'left',\n ITEM: 'carousel-item'\n };\n\n var Selector = {\n ACTIVE: '.active',\n ACTIVE_ITEM: '.active.carousel-item',\n ITEM: '.carousel-item',\n NEXT_PREV: '.next, .prev',\n INDICATORS: '.carousel-indicators',\n DATA_SLIDE: '[data-slide], [data-slide-to]',\n DATA_RIDE: '[data-ride=\"carousel\"]'\n };\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n var Carousel = (function () {\n function Carousel(element, config) {\n _classCallCheck(this, Carousel);\n\n this._items = null;\n this._interval = null;\n this._activeElement = null;\n\n this._isPaused = false;\n this._isSliding = false;\n\n this._config = this._getConfig(config);\n this._element = $(element)[0];\n this._indicatorsElement = $(this._element).find(Selector.INDICATORS)[0];\n\n this._addEventListeners();\n }\n\n /**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n // getters\n\n _createClass(Carousel, [{\n key: 'next',\n\n // public\n\n value: function next() {\n if (!this._isSliding) {\n this._slide(Direction.NEXT);\n }\n }\n }, {\n key: 'nextWhenVisible',\n value: function nextWhenVisible() {\n // Don't call next when the page isn't visible\n if (!document.hidden) {\n this.next();\n }\n }\n }, {\n key: 'prev',\n value: function prev() {\n if (!this._isSliding) {\n this._slide(Direction.PREVIOUS);\n }\n }\n }, {\n key: 'pause',\n value: function pause(event) {\n if (!event) {\n this._isPaused = true;\n }\n\n if ($(this._element).find(Selector.NEXT_PREV)[0] && Util.supportsTransitionEnd()) {\n Util.triggerTransitionEnd(this._element);\n this.cycle(true);\n }\n\n clearInterval(this._interval);\n this._interval = null;\n }\n }, {\n key: 'cycle',\n value: function 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.interval && !this._isPaused) {\n this._interval = setInterval($.proxy(document.visibilityState ? this.nextWhenVisible : this.next, this), this._config.interval);\n }\n }\n }, {\n key: 'to',\n value: function to(index) {\n var _this2 = this;\n\n this._activeElement = $(this._element).find(Selector.ACTIVE_ITEM)[0];\n\n var activeIndex = this._getItemIndex(this._activeElement);\n\n if (index > this._items.length - 1 || index < 0) {\n return;\n }\n\n if (this._isSliding) {\n $(this._element).one(Event.SLID, function () {\n return _this2.to(index);\n });\n return;\n }\n\n if (activeIndex === index) {\n this.pause();\n this.cycle();\n return;\n }\n\n var direction = index > activeIndex ? Direction.NEXT : Direction.PREVIOUS;\n\n this._slide(direction, this._items[index]);\n }\n }, {\n key: 'dispose',\n value: function dispose() {\n $(this._element).off(EVENT_KEY);\n $.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 }, {\n key: '_getConfig',\n value: function _getConfig(config) {\n config = $.extend({}, Default, config);\n Util.typeCheckConfig(NAME, config, DefaultType);\n return config;\n }\n }, {\n key: '_addEventListeners',\n value: function _addEventListeners() {\n if (this._config.keyboard) {\n $(this._element).on(Event.KEYDOWN, $.proxy(this._keydown, this));\n }\n\n if (this._config.pause === 'hover' && !('ontouchstart' in document.documentElement)) {\n $(this._element).on(Event.MOUSEENTER, $.proxy(this.pause, this)).on(Event.MOUSELEAVE, $.proxy(this.cycle, this));\n }\n }\n }, {\n key: '_keydown',\n value: function _keydown(event) {\n event.preventDefault();\n\n if (/input|textarea/i.test(event.target.tagName)) {\n return;\n }\n\n switch (event.which) {\n case ARROW_LEFT_KEYCODE:\n this.prev();\n break;\n case ARROW_RIGHT_KEYCODE:\n this.next();\n break;\n default:\n return;\n }\n }\n }, {\n key: '_getItemIndex',\n value: function _getItemIndex(element) {\n this._items = $.makeArray($(element).parent().find(Selector.ITEM));\n return this._items.indexOf(element);\n }\n }, {\n key: '_getItemByDirection',\n value: function _getItemByDirection(direction, activeElement) {\n var isNextDirection = direction === Direction.NEXT;\n var isPrevDirection = direction === Direction.PREVIOUS;\n var activeIndex = this._getItemIndex(activeElement);\n var lastItemIndex = this._items.length - 1;\n var isGoingToWrap = isPrevDirection && activeIndex === 0 || isNextDirection && activeIndex === lastItemIndex;\n\n if (isGoingToWrap && !this._config.wrap) {\n return activeElement;\n }\n\n var delta = direction === Direction.PREVIOUS ? -1 : 1;\n var itemIndex = (activeIndex + delta) % this._items.length;\n\n return itemIndex === -1 ? this._items[this._items.length - 1] : this._items[itemIndex];\n }\n }, {\n key: '_triggerSlideEvent',\n value: function _triggerSlideEvent(relatedTarget, directionalClassname) {\n var slideEvent = $.Event(Event.SLIDE, {\n relatedTarget: relatedTarget,\n direction: directionalClassname\n });\n\n $(this._element).trigger(slideEvent);\n\n return slideEvent;\n }\n }, {\n key: '_setActiveIndicatorElement',\n value: function _setActiveIndicatorElement(element) {\n if (this._indicatorsElement) {\n $(this._indicatorsElement).find(Selector.ACTIVE).removeClass(ClassName.ACTIVE);\n\n var nextIndicator = this._indicatorsElement.children[this._getItemIndex(element)];\n\n if (nextIndicator) {\n $(nextIndicator).addClass(ClassName.ACTIVE);\n }\n }\n }\n }, {\n key: '_slide',\n value: function _slide(direction, element) {\n var _this3 = this;\n\n var activeElement = $(this._element).find(Selector.ACTIVE_ITEM)[0];\n var nextElement = element || activeElement && this._getItemByDirection(direction, activeElement);\n\n var isCycling = Boolean(this._interval);\n\n var directionalClassName = direction === Direction.NEXT ? ClassName.LEFT : ClassName.RIGHT;\n\n if (nextElement && $(nextElement).hasClass(ClassName.ACTIVE)) {\n this._isSliding = false;\n return;\n }\n\n var slideEvent = this._triggerSlideEvent(nextElement, directionalClassName);\n if (slideEvent.isDefaultPrevented()) {\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 var slidEvent = $.Event(Event.SLID, {\n relatedTarget: nextElement,\n direction: directionalClassName\n });\n\n if (Util.supportsTransitionEnd() && $(this._element).hasClass(ClassName.SLIDE)) {\n\n $(nextElement).addClass(direction);\n\n Util.reflow(nextElement);\n\n $(activeElement).addClass(directionalClassName);\n $(nextElement).addClass(directionalClassName);\n\n $(activeElement).one(Util.TRANSITION_END, function () {\n $(nextElement).removeClass(directionalClassName).removeClass(direction);\n\n $(nextElement).addClass(ClassName.ACTIVE);\n\n $(activeElement).removeClass(ClassName.ACTIVE).removeClass(direction).removeClass(directionalClassName);\n\n _this3._isSliding = false;\n\n setTimeout(function () {\n return $(_this3._element).trigger(slidEvent);\n }, 0);\n }).emulateTransitionEnd(TRANSITION_DURATION);\n } else {\n $(activeElement).removeClass(ClassName.ACTIVE);\n $(nextElement).addClass(ClassName.ACTIVE);\n\n this._isSliding = false;\n $(this._element).trigger(slidEvent);\n }\n\n if (isCycling) {\n this.cycle();\n }\n }\n\n // static\n\n }], [{\n key: '_jQueryInterface',\n value: function _jQueryInterface(config) {\n return this.each(function () {\n var data = $(this).data(DATA_KEY);\n var _config = $.extend({}, Default, $(this).data());\n\n if (typeof config === 'object') {\n $.extend(_config, config);\n }\n\n var action = typeof config === 'string' ? config : _config.slide;\n\n if (!data) {\n data = new Carousel(this, _config);\n $(this).data(DATA_KEY, data);\n }\n\n if (typeof config === 'number') {\n data.to(config);\n } else if (typeof action === 'string') {\n if (data[action] === undefined) {\n throw new Error('No method named \"' + action + '\"');\n }\n data[action]();\n } else if (_config.interval) {\n data.pause();\n data.cycle();\n }\n });\n }\n }, {\n key: '_dataApiClickHandler',\n value: function _dataApiClickHandler(event) {\n var selector = Util.getSelectorFromElement(this);\n\n if (!selector) {\n return;\n }\n\n var target = $(selector)[0];\n\n if (!target || !$(target).hasClass(ClassName.CAROUSEL)) {\n return;\n }\n\n var config = $.extend({}, $(target).data(), $(this).data());\n var slideIndex = this.getAttribute('data-slide-to');\n\n if (slideIndex) {\n config.interval = false;\n }\n\n Carousel._jQueryInterface.call($(target), config);\n\n if (slideIndex) {\n $(target).data(DATA_KEY).to(slideIndex);\n }\n\n event.preventDefault();\n }\n }, {\n key: 'VERSION',\n get: function get() {\n return VERSION;\n }\n }, {\n key: 'Default',\n get: function get() {\n return Default;\n }\n }]);\n\n return Carousel;\n })();\n\n $(document).on(Event.CLICK_DATA_API, Selector.DATA_SLIDE, Carousel._dataApiClickHandler);\n\n $(window).on(Event.LOAD_DATA_API, function () {\n $(Selector.DATA_RIDE).each(function () {\n var $carousel = $(this);\n Carousel._jQueryInterface.call($carousel, $carousel.data());\n });\n });\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME] = Carousel._jQueryInterface;\n $.fn[NAME].Constructor = Carousel;\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT;\n return Carousel._jQueryInterface;\n };\n\n return Carousel;\n})(jQuery);\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0-alpha.3): collapse.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nvar Collapse = (function ($) {\n\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n var NAME = 'collapse';\n var VERSION = '4.0.0-alpha.3';\n var DATA_KEY = 'bs.collapse';\n var EVENT_KEY = '.' + DATA_KEY;\n var DATA_API_KEY = '.data-api';\n var JQUERY_NO_CONFLICT = $.fn[NAME];\n var TRANSITION_DURATION = 600;\n\n var Default = {\n toggle: true,\n parent: ''\n };\n\n var DefaultType = {\n toggle: 'boolean',\n parent: 'string'\n };\n\n var 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\n var ClassName = {\n IN: 'in',\n COLLAPSE: 'collapse',\n COLLAPSING: 'collapsing',\n COLLAPSED: 'collapsed'\n };\n\n var Dimension = {\n WIDTH: 'width',\n HEIGHT: 'height'\n };\n\n var Selector = {\n ACTIVES: '.panel > .in, .panel > .collapsing',\n DATA_TOGGLE: '[data-toggle=\"collapse\"]'\n };\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n var Collapse = (function () {\n function Collapse(element, config) {\n _classCallCheck(this, Collapse);\n\n this._isTransitioning = false;\n this._element = element;\n this._config = this._getConfig(config);\n this._triggerArray = $.makeArray($('[data-toggle=\"collapse\"][href=\"#' + element.id + '\"],' + ('[data-toggle=\"collapse\"][data-target=\"#' + element.id + '\"]')));\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\n /**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n // getters\n\n _createClass(Collapse, [{\n key: 'toggle',\n\n // public\n\n value: function toggle() {\n if ($(this._element).hasClass(ClassName.IN)) {\n this.hide();\n } else {\n this.show();\n }\n }\n }, {\n key: 'show',\n value: function show() {\n var _this4 = this;\n\n if (this._isTransitioning || $(this._element).hasClass(ClassName.IN)) {\n return;\n }\n\n var actives = undefined;\n var activesData = undefined;\n\n if (this._parent) {\n actives = $.makeArray($(Selector.ACTIVES));\n if (!actives.length) {\n actives = null;\n }\n }\n\n if (actives) {\n activesData = $(actives).data(DATA_KEY);\n if (activesData && activesData._isTransitioning) {\n return;\n }\n }\n\n var startEvent = $.Event(Event.SHOW);\n $(this._element).trigger(startEvent);\n if (startEvent.isDefaultPrevented()) {\n return;\n }\n\n if (actives) {\n Collapse._jQueryInterface.call($(actives), 'hide');\n if (!activesData) {\n $(actives).data(DATA_KEY, null);\n }\n }\n\n var dimension = this._getDimension();\n\n $(this._element).removeClass(ClassName.COLLAPSE).addClass(ClassName.COLLAPSING);\n\n this._element.style[dimension] = 0;\n this._element.setAttribute('aria-expanded', true);\n\n if (this._triggerArray.length) {\n $(this._triggerArray).removeClass(ClassName.COLLAPSED).attr('aria-expanded', true);\n }\n\n this.setTransitioning(true);\n\n var complete = function complete() {\n $(_this4._element).removeClass(ClassName.COLLAPSING).addClass(ClassName.COLLAPSE).addClass(ClassName.IN);\n\n _this4._element.style[dimension] = '';\n\n _this4.setTransitioning(false);\n\n $(_this4._element).trigger(Event.SHOWN);\n };\n\n if (!Util.supportsTransitionEnd()) {\n complete();\n return;\n }\n\n var capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1);\n var scrollSize = 'scroll' + capitalizedDimension;\n\n $(this._element).one(Util.TRANSITION_END, complete).emulateTransitionEnd(TRANSITION_DURATION);\n\n this._element.style[dimension] = this._element[scrollSize] + 'px';\n }\n }, {\n key: 'hide',\n value: function hide() {\n var _this5 = this;\n\n if (this._isTransitioning || !$(this._element).hasClass(ClassName.IN)) {\n return;\n }\n\n var startEvent = $.Event(Event.HIDE);\n $(this._element).trigger(startEvent);\n if (startEvent.isDefaultPrevented()) {\n return;\n }\n\n var dimension = this._getDimension();\n var offsetDimension = dimension === Dimension.WIDTH ? 'offsetWidth' : 'offsetHeight';\n\n this._element.style[dimension] = this._element[offsetDimension] + 'px';\n\n Util.reflow(this._element);\n\n $(this._element).addClass(ClassName.COLLAPSING).removeClass(ClassName.COLLAPSE).removeClass(ClassName.IN);\n\n this._element.setAttribute('aria-expanded', false);\n\n if (this._triggerArray.length) {\n $(this._triggerArray).addClass(ClassName.COLLAPSED).attr('aria-expanded', false);\n }\n\n this.setTransitioning(true);\n\n var complete = function complete() {\n _this5.setTransitioning(false);\n $(_this5._element).removeClass(ClassName.COLLAPSING).addClass(ClassName.COLLAPSE).trigger(Event.HIDDEN);\n };\n\n this._element.style[dimension] = 0;\n\n if (!Util.supportsTransitionEnd()) {\n complete();\n return;\n }\n\n $(this._element).one(Util.TRANSITION_END, complete).emulateTransitionEnd(TRANSITION_DURATION);\n }\n }, {\n key: 'setTransitioning',\n value: function setTransitioning(isTransitioning) {\n this._isTransitioning = isTransitioning;\n }\n }, {\n key: 'dispose',\n value: function dispose() {\n $.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 }, {\n key: '_getConfig',\n value: function _getConfig(config) {\n config = $.extend({}, Default, config);\n config.toggle = Boolean(config.toggle); // coerce string values\n Util.typeCheckConfig(NAME, config, DefaultType);\n return config;\n }\n }, {\n key: '_getDimension',\n value: function _getDimension() {\n var hasWidth = $(this._element).hasClass(Dimension.WIDTH);\n return hasWidth ? Dimension.WIDTH : Dimension.HEIGHT;\n }\n }, {\n key: '_getParent',\n value: function _getParent() {\n var _this6 = this;\n\n var parent = $(this._config.parent)[0];\n var selector = '[data-toggle=\"collapse\"][data-parent=\"' + this._config.parent + '\"]';\n\n $(parent).find(selector).each(function (i, element) {\n _this6._addAriaAndCollapsedClass(Collapse._getTargetFromElement(element), [element]);\n });\n\n return parent;\n }\n }, {\n key: '_addAriaAndCollapsedClass',\n value: function _addAriaAndCollapsedClass(element, triggerArray) {\n if (element) {\n var isOpen = $(element).hasClass(ClassName.IN);\n element.setAttribute('aria-expanded', isOpen);\n\n if (triggerArray.length) {\n $(triggerArray).toggleClass(ClassName.COLLAPSED, !isOpen).attr('aria-expanded', isOpen);\n }\n }\n }\n\n // static\n\n }], [{\n key: '_getTargetFromElement',\n value: function _getTargetFromElement(element) {\n var selector = Util.getSelectorFromElement(element);\n return selector ? $(selector)[0] : null;\n }\n }, {\n key: '_jQueryInterface',\n value: function _jQueryInterface(config) {\n return this.each(function () {\n var $this = $(this);\n var data = $this.data(DATA_KEY);\n var _config = $.extend({}, Default, $this.data(), typeof config === 'object' && config);\n\n if (!data && _config.toggle && /show|hide/.test(config)) {\n _config.toggle = false;\n }\n\n if (!data) {\n data = new Collapse(this, _config);\n $this.data(DATA_KEY, data);\n }\n\n if (typeof config === 'string') {\n if (data[config] === undefined) {\n throw new Error('No method named \"' + config + '\"');\n }\n data[config]();\n }\n });\n }\n }, {\n key: 'VERSION',\n get: function get() {\n return VERSION;\n }\n }, {\n key: 'Default',\n get: function get() {\n return Default;\n }\n }]);\n\n return Collapse;\n })();\n\n $(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {\n event.preventDefault();\n\n var target = Collapse._getTargetFromElement(this);\n var data = $(target).data(DATA_KEY);\n var config = data ? 'toggle' : $(this).data();\n\n Collapse._jQueryInterface.call($(target), config);\n });\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME] = Collapse._jQueryInterface;\n $.fn[NAME].Constructor = Collapse;\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT;\n return Collapse._jQueryInterface;\n };\n\n return Collapse;\n})(jQuery);\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0-alpha.3): dropdown.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nvar Dropdown = (function ($) {\n\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n var NAME = 'dropdown';\n var VERSION = '4.0.0-alpha.3';\n var DATA_KEY = 'bs.dropdown';\n var EVENT_KEY = '.' + DATA_KEY;\n var DATA_API_KEY = '.data-api';\n var JQUERY_NO_CONFLICT = $.fn[NAME];\n var ESCAPE_KEYCODE = 27; // KeyboardEvent.which value for Escape (Esc) key\n var ARROW_UP_KEYCODE = 38; // KeyboardEvent.which value for up arrow key\n var ARROW_DOWN_KEYCODE = 40; // KeyboardEvent.which value for down arrow key\n var RIGHT_MOUSE_BUTTON_WHICH = 3; // MouseEvent.which value for the right button (assuming a right-handed mouse)\n\n var 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 };\n\n var ClassName = {\n BACKDROP: 'dropdown-backdrop',\n DISABLED: 'disabled',\n OPEN: 'open'\n };\n\n var Selector = {\n BACKDROP: '.dropdown-backdrop',\n DATA_TOGGLE: '[data-toggle=\"dropdown\"]',\n FORM_CHILD: '.dropdown form',\n ROLE_MENU: '[role=\"menu\"]',\n ROLE_LISTBOX: '[role=\"listbox\"]',\n NAVBAR_NAV: '.navbar-nav',\n VISIBLE_ITEMS: '[role=\"menu\"] li:not(.disabled) a, ' + '[role=\"listbox\"] li:not(.disabled) a'\n };\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n var Dropdown = (function () {\n function Dropdown(element) {\n _classCallCheck(this, Dropdown);\n\n this._element = element;\n\n this._addEventListeners();\n }\n\n /**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n // getters\n\n _createClass(Dropdown, [{\n key: 'toggle',\n\n // public\n\n value: function toggle() {\n if (this.disabled || $(this).hasClass(ClassName.DISABLED)) {\n return false;\n }\n\n var parent = Dropdown._getParentFromElement(this);\n var isActive = $(parent).hasClass(ClassName.OPEN);\n\n Dropdown._clearMenus();\n\n if (isActive) {\n return false;\n }\n\n if ('ontouchstart' in document.documentElement && !$(parent).closest(Selector.NAVBAR_NAV).length) {\n\n // if mobile we use a backdrop because click events don't delegate\n var dropdown = document.createElement('div');\n dropdown.className = ClassName.BACKDROP;\n $(dropdown).insertBefore(this);\n $(dropdown).on('click', Dropdown._clearMenus);\n }\n\n var relatedTarget = { relatedTarget: this };\n var showEvent = $.Event(Event.SHOW, relatedTarget);\n\n $(parent).trigger(showEvent);\n\n if (showEvent.isDefaultPrevented()) {\n return false;\n }\n\n this.focus();\n this.setAttribute('aria-expanded', 'true');\n\n $(parent).toggleClass(ClassName.OPEN);\n $(parent).trigger($.Event(Event.SHOWN, relatedTarget));\n\n return false;\n }\n }, {\n key: 'dispose',\n value: function dispose() {\n $.removeData(this._element, DATA_KEY);\n $(this._element).off(EVENT_KEY);\n this._element = null;\n }\n\n // private\n\n }, {\n key: '_addEventListeners',\n value: function _addEventListeners() {\n $(this._element).on(Event.CLICK, this.toggle);\n }\n\n // static\n\n }], [{\n key: '_jQueryInterface',\n value: function _jQueryInterface(config) {\n return this.each(function () {\n var data = $(this).data(DATA_KEY);\n\n if (!data) {\n $(this).data(DATA_KEY, data = new Dropdown(this));\n }\n\n if (typeof config === 'string') {\n if (data[config] === undefined) {\n throw new Error('No method named \"' + config + '\"');\n }\n data[config].call(this);\n }\n });\n }\n }, {\n key: '_clearMenus',\n value: function _clearMenus(event) {\n if (event && event.which === RIGHT_MOUSE_BUTTON_WHICH) {\n return;\n }\n\n var backdrop = $(Selector.BACKDROP)[0];\n if (backdrop) {\n backdrop.parentNode.removeChild(backdrop);\n }\n\n var toggles = $.makeArray($(Selector.DATA_TOGGLE));\n\n for (var i = 0; i < toggles.length; i++) {\n var _parent = Dropdown._getParentFromElement(toggles[i]);\n var relatedTarget = { relatedTarget: toggles[i] };\n\n if (!$(_parent).hasClass(ClassName.OPEN)) {\n continue;\n }\n\n if (event && event.type === 'click' && /input|textarea/i.test(event.target.tagName) && $.contains(_parent, event.target)) {\n continue;\n }\n\n var hideEvent = $.Event(Event.HIDE, relatedTarget);\n $(_parent).trigger(hideEvent);\n if (hideEvent.isDefaultPrevented()) {\n continue;\n }\n\n toggles[i].setAttribute('aria-expanded', 'false');\n\n $(_parent).removeClass(ClassName.OPEN).trigger($.Event(Event.HIDDEN, relatedTarget));\n }\n }\n }, {\n key: '_getParentFromElement',\n value: function _getParentFromElement(element) {\n var parent = undefined;\n var selector = Util.getSelectorFromElement(element);\n\n if (selector) {\n parent = $(selector)[0];\n }\n\n return parent || element.parentNode;\n }\n }, {\n key: '_dataApiKeydownHandler',\n value: function _dataApiKeydownHandler(event) {\n if (!/(38|40|27|32)/.test(event.which) || /input|textarea/i.test(event.target.tagName)) {\n return;\n }\n\n event.preventDefault();\n event.stopPropagation();\n\n if (this.disabled || $(this).hasClass(ClassName.DISABLED)) {\n return;\n }\n\n var parent = Dropdown._getParentFromElement(this);\n var isActive = $(parent).hasClass(ClassName.OPEN);\n\n if (!isActive && event.which !== ESCAPE_KEYCODE || isActive && event.which === ESCAPE_KEYCODE) {\n\n if (event.which === ESCAPE_KEYCODE) {\n var toggle = $(parent).find(Selector.DATA_TOGGLE)[0];\n $(toggle).trigger('focus');\n }\n\n $(this).trigger('click');\n return;\n }\n\n var items = $.makeArray($(Selector.VISIBLE_ITEMS));\n\n items = items.filter(function (item) {\n return item.offsetWidth || item.offsetHeight;\n });\n\n if (!items.length) {\n return;\n }\n\n var index = items.indexOf(event.target);\n\n if (event.which === ARROW_UP_KEYCODE && index > 0) {\n // up\n index--;\n }\n\n if (event.which === ARROW_DOWN_KEYCODE && index < items.length - 1) {\n // down\n index++;\n }\n\n if (index < 0) {\n index = 0;\n }\n\n items[index].focus();\n }\n }, {\n key: 'VERSION',\n get: function get() {\n return VERSION;\n }\n }]);\n\n return Dropdown;\n })();\n\n $(document).on(Event.KEYDOWN_DATA_API, Selector.DATA_TOGGLE, Dropdown._dataApiKeydownHandler).on(Event.KEYDOWN_DATA_API, Selector.ROLE_MENU, Dropdown._dataApiKeydownHandler).on(Event.KEYDOWN_DATA_API, Selector.ROLE_LISTBOX, Dropdown._dataApiKeydownHandler).on(Event.CLICK_DATA_API, Dropdown._clearMenus).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, Dropdown.prototype.toggle).on(Event.CLICK_DATA_API, Selector.FORM_CHILD, function (e) {\n e.stopPropagation();\n });\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME] = Dropdown._jQueryInterface;\n $.fn[NAME].Constructor = Dropdown;\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT;\n return Dropdown._jQueryInterface;\n };\n\n return Dropdown;\n})(jQuery);\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0-alpha.3): modal.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nvar Modal = (function ($) {\n\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n var NAME = 'modal';\n var VERSION = '4.0.0-alpha.3';\n var DATA_KEY = 'bs.modal';\n var EVENT_KEY = '.' + DATA_KEY;\n var DATA_API_KEY = '.data-api';\n var JQUERY_NO_CONFLICT = $.fn[NAME];\n var TRANSITION_DURATION = 300;\n var BACKDROP_TRANSITION_DURATION = 150;\n var ESCAPE_KEYCODE = 27; // KeyboardEvent.which value for Escape (Esc) key\n\n var Default = {\n backdrop: true,\n keyboard: true,\n focus: true,\n show: true\n };\n\n var DefaultType = {\n backdrop: '(boolean|string)',\n keyboard: 'boolean',\n focus: 'boolean',\n show: 'boolean'\n };\n\n var Event = {\n HIDE: 'hide' + 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\n var ClassName = {\n SCROLLBAR_MEASURER: 'modal-scrollbar-measure',\n BACKDROP: 'modal-backdrop',\n OPEN: 'modal-open',\n FADE: 'fade',\n IN: 'in'\n };\n\n var Selector = {\n DIALOG: '.modal-dialog',\n DATA_TOGGLE: '[data-toggle=\"modal\"]',\n DATA_DISMISS: '[data-dismiss=\"modal\"]',\n FIXED_CONTENT: '.navbar-fixed-top, .navbar-fixed-bottom, .is-fixed'\n };\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n var Modal = (function () {\n function Modal(element, config) {\n _classCallCheck(this, Modal);\n\n this._config = this._getConfig(config);\n this._element = element;\n this._dialog = $(element).find(Selector.DIALOG)[0];\n this._backdrop = null;\n this._isShown = false;\n this._isBodyOverflowing = false;\n this._ignoreBackdropClick = false;\n this._originalBodyPadding = 0;\n this._scrollbarWidth = 0;\n }\n\n /**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n // getters\n\n _createClass(Modal, [{\n key: 'toggle',\n\n // public\n\n value: function toggle(relatedTarget) {\n return this._isShown ? this.hide() : this.show(relatedTarget);\n }\n }, {\n key: 'show',\n value: function show(relatedTarget) {\n var _this7 = this;\n\n var showEvent = $.Event(Event.SHOW, {\n relatedTarget: relatedTarget\n });\n\n $(this._element).trigger(showEvent);\n\n if (this._isShown || showEvent.isDefaultPrevented()) {\n return;\n }\n\n this._isShown = true;\n\n this._checkScrollbar();\n this._setScrollbar();\n\n $(document.body).addClass(ClassName.OPEN);\n\n this._setEscapeEvent();\n this._setResizeEvent();\n\n $(this._element).on(Event.CLICK_DISMISS, Selector.DATA_DISMISS, $.proxy(this.hide, this));\n\n $(this._dialog).on(Event.MOUSEDOWN_DISMISS, function () {\n $(_this7._element).one(Event.MOUSEUP_DISMISS, function (event) {\n if ($(event.target).is(_this7._element)) {\n _this7._ignoreBackdropClick = true;\n }\n });\n });\n\n this._showBackdrop($.proxy(this._showElement, this, relatedTarget));\n }\n }, {\n key: 'hide',\n value: function hide(event) {\n if (event) {\n event.preventDefault();\n }\n\n var hideEvent = $.Event(Event.HIDE);\n\n $(this._element).trigger(hideEvent);\n\n if (!this._isShown || hideEvent.isDefaultPrevented()) {\n return;\n }\n\n this._isShown = false;\n\n this._setEscapeEvent();\n this._setResizeEvent();\n\n $(document).off(Event.FOCUSIN);\n\n $(this._element).removeClass(ClassName.IN);\n\n $(this._element).off(Event.CLICK_DISMISS);\n $(this._dialog).off(Event.MOUSEDOWN_DISMISS);\n\n if (Util.supportsTransitionEnd() && $(this._element).hasClass(ClassName.FADE)) {\n\n $(this._element).one(Util.TRANSITION_END, $.proxy(this._hideModal, this)).emulateTransitionEnd(TRANSITION_DURATION);\n } else {\n this._hideModal();\n }\n }\n }, {\n key: 'dispose',\n value: function dispose() {\n $.removeData(this._element, DATA_KEY);\n\n $(window).off(EVENT_KEY);\n $(document).off(EVENT_KEY);\n $(this._element).off(EVENT_KEY);\n $(this._backdrop).off(EVENT_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._originalBodyPadding = null;\n this._scrollbarWidth = null;\n }\n\n // private\n\n }, {\n key: '_getConfig',\n value: function _getConfig(config) {\n config = $.extend({}, Default, config);\n Util.typeCheckConfig(NAME, config, DefaultType);\n return config;\n }\n }, {\n key: '_showElement',\n value: function _showElement(relatedTarget) {\n var _this8 = this;\n\n var transition = Util.supportsTransitionEnd() && $(this._element).hasClass(ClassName.FADE);\n\n if (!this._element.parentNode || this._element.parentNode.nodeType !== Node.ELEMENT_NODE) {\n // don't move modals 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.scrollTop = 0;\n\n if (transition) {\n Util.reflow(this._element);\n }\n\n $(this._element).addClass(ClassName.IN);\n\n if (this._config.focus) {\n this._enforceFocus();\n }\n\n var shownEvent = $.Event(Event.SHOWN, {\n relatedTarget: relatedTarget\n });\n\n var transitionComplete = function transitionComplete() {\n if (_this8._config.focus) {\n _this8._element.focus();\n }\n $(_this8._element).trigger(shownEvent);\n };\n\n if (transition) {\n $(this._dialog).one(Util.TRANSITION_END, transitionComplete).emulateTransitionEnd(TRANSITION_DURATION);\n } else {\n transitionComplete();\n }\n }\n }, {\n key: '_enforceFocus',\n value: function _enforceFocus() {\n var _this9 = this;\n\n $(document).off(Event.FOCUSIN) // guard against infinite focus loop\n .on(Event.FOCUSIN, function (event) {\n if (document !== event.target && _this9._element !== event.target && !$(_this9._element).has(event.target).length) {\n _this9._element.focus();\n }\n });\n }\n }, {\n key: '_setEscapeEvent',\n value: function _setEscapeEvent() {\n var _this10 = this;\n\n if (this._isShown && this._config.keyboard) {\n $(this._element).on(Event.KEYDOWN_DISMISS, function (event) {\n if (event.which === ESCAPE_KEYCODE) {\n _this10.hide();\n }\n });\n } else if (!this._isShown) {\n $(this._element).off(Event.KEYDOWN_DISMISS);\n }\n }\n }, {\n key: '_setResizeEvent',\n value: function _setResizeEvent() {\n if (this._isShown) {\n $(window).on(Event.RESIZE, $.proxy(this._handleUpdate, this));\n } else {\n $(window).off(Event.RESIZE);\n }\n }\n }, {\n key: '_hideModal',\n value: function _hideModal() {\n var _this11 = this;\n\n this._element.style.display = 'none';\n this._element.setAttribute('aria-hidden', 'true');\n this._showBackdrop(function () {\n $(document.body).removeClass(ClassName.OPEN);\n _this11._resetAdjustments();\n _this11._resetScrollbar();\n $(_this11._element).trigger(Event.HIDDEN);\n });\n }\n }, {\n key: '_removeBackdrop',\n value: function _removeBackdrop() {\n if (this._backdrop) {\n $(this._backdrop).remove();\n this._backdrop = null;\n }\n }\n }, {\n key: '_showBackdrop',\n value: function _showBackdrop(callback) {\n var _this12 = this;\n\n var animate = $(this._element).hasClass(ClassName.FADE) ? ClassName.FADE : '';\n\n if (this._isShown && this._config.backdrop) {\n var doAnimate = Util.supportsTransitionEnd() && animate;\n\n this._backdrop = document.createElement('div');\n this._backdrop.className = ClassName.BACKDROP;\n\n if (animate) {\n $(this._backdrop).addClass(animate);\n }\n\n $(this._backdrop).appendTo(document.body);\n\n $(this._element).on(Event.CLICK_DISMISS, function (event) {\n if (_this12._ignoreBackdropClick) {\n _this12._ignoreBackdropClick = false;\n return;\n }\n if (event.target !== event.currentTarget) {\n return;\n }\n if (_this12._config.backdrop === 'static') {\n _this12._element.focus();\n } else {\n _this12.hide();\n }\n });\n\n if (doAnimate) {\n Util.reflow(this._backdrop);\n }\n\n $(this._backdrop).addClass(ClassName.IN);\n\n if (!callback) {\n return;\n }\n\n if (!doAnimate) {\n callback();\n return;\n }\n\n $(this._backdrop).one(Util.TRANSITION_END, callback).emulateTransitionEnd(BACKDROP_TRANSITION_DURATION);\n } else if (!this._isShown && this._backdrop) {\n $(this._backdrop).removeClass(ClassName.IN);\n\n var callbackRemove = function callbackRemove() {\n _this12._removeBackdrop();\n if (callback) {\n callback();\n }\n };\n\n if (Util.supportsTransitionEnd() && $(this._element).hasClass(ClassName.FADE)) {\n $(this._backdrop).one(Util.TRANSITION_END, callbackRemove).emulateTransitionEnd(BACKDROP_TRANSITION_DURATION);\n } else {\n callbackRemove();\n }\n } else if (callback) {\n callback();\n }\n }\n\n // ----------------------------------------------------------------------\n // the following methods are used to handle overflowing modals\n // todo (fat): these should probably be refactored out of modal.js\n // ----------------------------------------------------------------------\n\n }, {\n key: '_handleUpdate',\n value: function _handleUpdate() {\n this._adjustDialog();\n }\n }, {\n key: '_adjustDialog',\n value: function _adjustDialog() {\n var isModalOverflowing = 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 key: '_resetAdjustments',\n value: function _resetAdjustments() {\n this._element.style.paddingLeft = '';\n this._element.style.paddingRight = '';\n }\n }, {\n key: '_checkScrollbar',\n value: function _checkScrollbar() {\n this._isBodyOverflowing = document.body.clientWidth < window.innerWidth;\n this._scrollbarWidth = this._getScrollbarWidth();\n }\n }, {\n key: '_setScrollbar',\n value: function _setScrollbar() {\n var bodyPadding = parseInt($(Selector.FIXED_CONTENT).css('padding-right') || 0, 10);\n\n this._originalBodyPadding = document.body.style.paddingRight || '';\n\n if (this._isBodyOverflowing) {\n document.body.style.paddingRight = bodyPadding + this._scrollbarWidth + 'px';\n }\n }\n }, {\n key: '_resetScrollbar',\n value: function _resetScrollbar() {\n document.body.style.paddingRight = this._originalBodyPadding;\n }\n }, {\n key: '_getScrollbarWidth',\n value: function _getScrollbarWidth() {\n // thx d.walsh\n var scrollDiv = document.createElement('div');\n scrollDiv.className = ClassName.SCROLLBAR_MEASURER;\n document.body.appendChild(scrollDiv);\n var scrollbarWidth = scrollDiv.offsetWidth - scrollDiv.clientWidth;\n document.body.removeChild(scrollDiv);\n return scrollbarWidth;\n }\n\n // static\n\n }], [{\n key: '_jQueryInterface',\n value: function _jQueryInterface(config, relatedTarget) {\n return this.each(function () {\n var data = $(this).data(DATA_KEY);\n var _config = $.extend({}, Modal.Default, $(this).data(), typeof config === 'object' && config);\n\n if (!data) {\n data = new Modal(this, _config);\n $(this).data(DATA_KEY, data);\n }\n\n if (typeof config === 'string') {\n if (data[config] === undefined) {\n throw new Error('No method named \"' + config + '\"');\n }\n data[config](relatedTarget);\n } else if (_config.show) {\n data.show(relatedTarget);\n }\n });\n }\n }, {\n key: 'VERSION',\n get: function get() {\n return VERSION;\n }\n }, {\n key: 'Default',\n get: function get() {\n return Default;\n }\n }]);\n\n return Modal;\n })();\n\n $(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {\n var _this13 = this;\n\n var target = undefined;\n var selector = Util.getSelectorFromElement(this);\n\n if (selector) {\n target = $(selector)[0];\n }\n\n var config = $(target).data(DATA_KEY) ? 'toggle' : $.extend({}, $(target).data(), $(this).data());\n\n if (this.tagName === 'A') {\n event.preventDefault();\n }\n\n var $target = $(target).one(Event.SHOW, function (showEvent) {\n if (showEvent.isDefaultPrevented()) {\n // only register focus restorer if modal will actually get shown\n return;\n }\n\n $target.one(Event.HIDDEN, function () {\n if ($(_this13).is(':visible')) {\n _this13.focus();\n }\n });\n });\n\n Modal._jQueryInterface.call($(target), config, this);\n });\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME] = Modal._jQueryInterface;\n $.fn[NAME].Constructor = Modal;\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT;\n return Modal._jQueryInterface;\n };\n\n return Modal;\n})(jQuery);\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0-alpha.3): scrollspy.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nvar ScrollSpy = (function ($) {\n\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n var NAME = 'scrollspy';\n var VERSION = '4.0.0-alpha.3';\n var DATA_KEY = 'bs.scrollspy';\n var EVENT_KEY = '.' + DATA_KEY;\n var DATA_API_KEY = '.data-api';\n var JQUERY_NO_CONFLICT = $.fn[NAME];\n\n var Default = {\n offset: 10,\n method: 'auto',\n target: ''\n };\n\n var DefaultType = {\n offset: 'number',\n method: 'string',\n target: '(string|element)'\n };\n\n var Event = {\n ACTIVATE: 'activate' + EVENT_KEY,\n SCROLL: 'scroll' + EVENT_KEY,\n LOAD_DATA_API: 'load' + EVENT_KEY + DATA_API_KEY\n };\n\n var ClassName = {\n DROPDOWN_ITEM: 'dropdown-item',\n DROPDOWN_MENU: 'dropdown-menu',\n NAV_LINK: 'nav-link',\n NAV: 'nav',\n ACTIVE: 'active'\n };\n\n var Selector = {\n DATA_SPY: '[data-spy=\"scroll\"]',\n ACTIVE: '.active',\n LIST_ITEM: '.list-item',\n LI: 'li',\n LI_DROPDOWN: 'li.dropdown',\n NAV_LINKS: '.nav-link',\n DROPDOWN: '.dropdown',\n DROPDOWN_ITEMS: '.dropdown-item',\n DROPDOWN_TOGGLE: '.dropdown-toggle'\n };\n\n var OffsetMethod = {\n OFFSET: 'offset',\n POSITION: 'position'\n };\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n var ScrollSpy = (function () {\n function ScrollSpy(element, config) {\n _classCallCheck(this, ScrollSpy);\n\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 + ',' + (this._config.target + ' ' + Selector.DROPDOWN_ITEMS);\n this._offsets = [];\n this._targets = [];\n this._activeTarget = null;\n this._scrollHeight = 0;\n\n $(this._scrollElement).on(Event.SCROLL, $.proxy(this._process, this));\n\n this.refresh();\n this._process();\n }\n\n /**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n // getters\n\n _createClass(ScrollSpy, [{\n key: 'refresh',\n\n // public\n\n value: function refresh() {\n var _this14 = this;\n\n var autoMethod = this._scrollElement !== this._scrollElement.window ? OffsetMethod.POSITION : OffsetMethod.OFFSET;\n\n var offsetMethod = this._config.method === 'auto' ? autoMethod : this._config.method;\n\n var offsetBase = offsetMethod === OffsetMethod.POSITION ? this._getScrollTop() : 0;\n\n this._offsets = [];\n this._targets = [];\n\n this._scrollHeight = this._getScrollHeight();\n\n var targets = $.makeArray($(this._selector));\n\n targets.map(function (element) {\n var target = undefined;\n var targetSelector = Util.getSelectorFromElement(element);\n\n if (targetSelector) {\n target = $(targetSelector)[0];\n }\n\n if (target && (target.offsetWidth || target.offsetHeight)) {\n // todo (fat): remove sketch reliance on jQuery position/offset\n return [$(target)[offsetMethod]().top + offsetBase, targetSelector];\n }\n return null;\n }).filter(function (item) {\n return item;\n }).sort(function (a, b) {\n return a[0] - b[0];\n }).forEach(function (item) {\n _this14._offsets.push(item[0]);\n _this14._targets.push(item[1]);\n });\n }\n }, {\n key: 'dispose',\n value: function dispose() {\n $.removeData(this._element, DATA_KEY);\n $(this._scrollElement).off(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 }, {\n key: '_getConfig',\n value: function _getConfig(config) {\n config = $.extend({}, Default, config);\n\n if (typeof config.target !== 'string') {\n var id = $(config.target).attr('id');\n if (!id) {\n id = Util.getUID(NAME);\n $(config.target).attr('id', id);\n }\n config.target = '#' + id;\n }\n\n Util.typeCheckConfig(NAME, config, DefaultType);\n\n return config;\n }\n }, {\n key: '_getScrollTop',\n value: function _getScrollTop() {\n return this._scrollElement === window ? this._scrollElement.scrollY : this._scrollElement.scrollTop;\n }\n }, {\n key: '_getScrollHeight',\n value: function _getScrollHeight() {\n return this._scrollElement.scrollHeight || Math.max(document.body.scrollHeight, document.documentElement.scrollHeight);\n }\n }, {\n key: '_process',\n value: function _process() {\n var scrollTop = this._getScrollTop() + this._config.offset;\n var scrollHeight = this._getScrollHeight();\n var maxScroll = this._config.offset + scrollHeight - this._scrollElement.offsetHeight;\n\n if (this._scrollHeight !== scrollHeight) {\n this.refresh();\n }\n\n if (scrollTop >= maxScroll) {\n var target = this._targets[this._targets.length - 1];\n\n if (this._activeTarget !== target) {\n this._activate(target);\n }\n }\n\n if (this._activeTarget && scrollTop < this._offsets[0]) {\n this._activeTarget = null;\n this._clear();\n return;\n }\n\n for (var i = this._offsets.length; i--;) {\n var isActiveTarget = this._activeTarget !== this._targets[i] && scrollTop >= this._offsets[i] && (this._offsets[i + 1] === undefined || scrollTop < this._offsets[i + 1]);\n\n if (isActiveTarget) {\n this._activate(this._targets[i]);\n }\n }\n }\n }, {\n key: '_activate',\n value: function _activate(target) {\n this._activeTarget = target;\n\n this._clear();\n\n var queries = this._selector.split(',');\n queries = queries.map(function (selector) {\n return selector + '[data-target=\"' + target + '\"],' + (selector + '[href=\"' + target + '\"]');\n });\n\n var $link = $(queries.join(','));\n\n if ($link.hasClass(ClassName.DROPDOWN_ITEM)) {\n $link.closest(Selector.DROPDOWN).find(Selector.DROPDOWN_TOGGLE).addClass(ClassName.ACTIVE);\n $link.addClass(ClassName.ACTIVE);\n } else {\n // todo (fat) this is kinda sus...\n // recursively add actives to tested nav-links\n $link.parents(Selector.LI).find(Selector.NAV_LINKS).addClass(ClassName.ACTIVE);\n }\n\n $(this._scrollElement).trigger(Event.ACTIVATE, {\n relatedTarget: target\n });\n }\n }, {\n key: '_clear',\n value: function _clear() {\n $(this._selector).filter(Selector.ACTIVE).removeClass(ClassName.ACTIVE);\n }\n\n // static\n\n }], [{\n key: '_jQueryInterface',\n value: function _jQueryInterface(config) {\n return this.each(function () {\n var data = $(this).data(DATA_KEY);\n var _config = typeof config === 'object' && config || null;\n\n if (!data) {\n data = new ScrollSpy(this, _config);\n $(this).data(DATA_KEY, data);\n }\n\n if (typeof config === 'string') {\n if (data[config] === undefined) {\n throw new Error('No method named \"' + config + '\"');\n }\n data[config]();\n }\n });\n }\n }, {\n key: 'VERSION',\n get: function get() {\n return VERSION;\n }\n }, {\n key: 'Default',\n get: function get() {\n return Default;\n }\n }]);\n\n return ScrollSpy;\n })();\n\n $(window).on(Event.LOAD_DATA_API, function () {\n var scrollSpys = $.makeArray($(Selector.DATA_SPY));\n\n for (var i = scrollSpys.length; i--;) {\n var $spy = $(scrollSpys[i]);\n ScrollSpy._jQueryInterface.call($spy, $spy.data());\n }\n });\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME] = ScrollSpy._jQueryInterface;\n $.fn[NAME].Constructor = ScrollSpy;\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT;\n return ScrollSpy._jQueryInterface;\n };\n\n return ScrollSpy;\n})(jQuery);\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0-alpha.3): tab.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nvar Tab = (function ($) {\n\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n var NAME = 'tab';\n var VERSION = '4.0.0-alpha.3';\n var DATA_KEY = 'bs.tab';\n var EVENT_KEY = '.' + DATA_KEY;\n var DATA_API_KEY = '.data-api';\n var JQUERY_NO_CONFLICT = $.fn[NAME];\n var TRANSITION_DURATION = 150;\n\n var 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\n var ClassName = {\n DROPDOWN_MENU: 'dropdown-menu',\n ACTIVE: 'active',\n FADE: 'fade',\n IN: 'in'\n };\n\n var Selector = {\n A: 'a',\n LI: 'li',\n DROPDOWN: '.dropdown',\n UL: 'ul:not(.dropdown-menu)',\n FADE_CHILD: '> .nav-item .fade, > .fade',\n ACTIVE: '.active',\n ACTIVE_CHILD: '> .nav-item > .active, > .active',\n DATA_TOGGLE: '[data-toggle=\"tab\"], [data-toggle=\"pill\"]',\n DROPDOWN_TOGGLE: '.dropdown-toggle',\n DROPDOWN_ACTIVE_CHILD: '> .dropdown-menu .active'\n };\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n var Tab = (function () {\n function Tab(element) {\n _classCallCheck(this, Tab);\n\n this._element = element;\n }\n\n /**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n // getters\n\n _createClass(Tab, [{\n key: 'show',\n\n // public\n\n value: function show() {\n var _this15 = this;\n\n if (this._element.parentNode && this._element.parentNode.nodeType === Node.ELEMENT_NODE && $(this._element).hasClass(ClassName.ACTIVE)) {\n return;\n }\n\n var target = undefined;\n var previous = undefined;\n var ulElement = $(this._element).closest(Selector.UL)[0];\n var selector = Util.getSelectorFromElement(this._element);\n\n if (ulElement) {\n previous = $.makeArray($(ulElement).find(Selector.ACTIVE));\n previous = previous[previous.length - 1];\n }\n\n var hideEvent = $.Event(Event.HIDE, {\n relatedTarget: this._element\n });\n\n var showEvent = $.Event(Event.SHOW, {\n relatedTarget: previous\n });\n\n if (previous) {\n $(previous).trigger(hideEvent);\n }\n\n $(this._element).trigger(showEvent);\n\n if (showEvent.isDefaultPrevented() || hideEvent.isDefaultPrevented()) {\n return;\n }\n\n if (selector) {\n target = $(selector)[0];\n }\n\n this._activate(this._element, ulElement);\n\n var complete = function complete() {\n var hiddenEvent = $.Event(Event.HIDDEN, {\n relatedTarget: _this15._element\n });\n\n var shownEvent = $.Event(Event.SHOWN, {\n relatedTarget: previous\n });\n\n $(previous).trigger(hiddenEvent);\n $(_this15._element).trigger(shownEvent);\n };\n\n if (target) {\n this._activate(target, target.parentNode, complete);\n } else {\n complete();\n }\n }\n }, {\n key: 'dispose',\n value: function dispose() {\n $.removeClass(this._element, DATA_KEY);\n this._element = null;\n }\n\n // private\n\n }, {\n key: '_activate',\n value: function _activate(element, container, callback) {\n var active = $(container).find(Selector.ACTIVE_CHILD)[0];\n var isTransitioning = callback && Util.supportsTransitionEnd() && (active && $(active).hasClass(ClassName.FADE) || Boolean($(container).find(Selector.FADE_CHILD)[0]));\n\n var complete = $.proxy(this._transitionComplete, this, element, active, isTransitioning, callback);\n\n if (active && isTransitioning) {\n $(active).one(Util.TRANSITION_END, complete).emulateTransitionEnd(TRANSITION_DURATION);\n } else {\n complete();\n }\n\n if (active) {\n $(active).removeClass(ClassName.IN);\n }\n }\n }, {\n key: '_transitionComplete',\n value: function _transitionComplete(element, active, isTransitioning, callback) {\n if (active) {\n $(active).removeClass(ClassName.ACTIVE);\n\n var dropdownChild = $(active).find(Selector.DROPDOWN_ACTIVE_CHILD)[0];\n\n if (dropdownChild) {\n $(dropdownChild).removeClass(ClassName.ACTIVE);\n }\n\n active.setAttribute('aria-expanded', false);\n }\n\n $(element).addClass(ClassName.ACTIVE);\n element.setAttribute('aria-expanded', true);\n\n if (isTransitioning) {\n Util.reflow(element);\n $(element).addClass(ClassName.IN);\n } else {\n $(element).removeClass(ClassName.FADE);\n }\n\n if (element.parentNode && $(element.parentNode).hasClass(ClassName.DROPDOWN_MENU)) {\n\n var dropdownElement = $(element).closest(Selector.DROPDOWN)[0];\n if (dropdownElement) {\n $(dropdownElement).find(Selector.DROPDOWN_TOGGLE).addClass(ClassName.ACTIVE);\n }\n\n element.setAttribute('aria-expanded', true);\n }\n\n if (callback) {\n callback();\n }\n }\n\n // static\n\n }], [{\n key: '_jQueryInterface',\n value: function _jQueryInterface(config) {\n return this.each(function () {\n var $this = $(this);\n var data = $this.data(DATA_KEY);\n\n if (!data) {\n data = data = new Tab(this);\n $this.data(DATA_KEY, data);\n }\n\n if (typeof config === 'string') {\n if (data[config] === undefined) {\n throw new Error('No method named \"' + config + '\"');\n }\n data[config]();\n }\n });\n }\n }, {\n key: 'VERSION',\n get: function get() {\n return VERSION;\n }\n }]);\n\n return Tab;\n })();\n\n $(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {\n event.preventDefault();\n Tab._jQueryInterface.call($(this), 'show');\n });\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME] = Tab._jQueryInterface;\n $.fn[NAME].Constructor = Tab;\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT;\n return Tab._jQueryInterface;\n };\n\n return Tab;\n})(jQuery);\n\n/* global Tether */\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0-alpha.3): tooltip.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nvar Tooltip = (function ($) {\n\n /**\n * Check for Tether dependency\n * Tether - http://github.hubspot.com/tether/\n */\n if (window.Tether === undefined) {\n throw new Error('Bootstrap tooltips require Tether (http://github.hubspot.com/tether/)');\n }\n\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n var NAME = 'tooltip';\n var VERSION = '4.0.0-alpha.3';\n var DATA_KEY = 'bs.tooltip';\n var EVENT_KEY = '.' + DATA_KEY;\n var JQUERY_NO_CONFLICT = $.fn[NAME];\n var TRANSITION_DURATION = 150;\n var CLASS_PREFIX = 'bs-tether';\n\n var Default = {\n animation: true,\n template: '<div class=\"tooltip\" role=\"tooltip\">' + '<div class=\"tooltip-arrow\"></div>' + '<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 0',\n constraints: []\n };\n\n var 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: 'string',\n constraints: 'array'\n };\n\n var AttachmentMap = {\n TOP: 'bottom center',\n RIGHT: 'middle left',\n BOTTOM: 'top center',\n LEFT: 'middle right'\n };\n\n var HoverState = {\n IN: 'in',\n OUT: 'out'\n };\n\n var 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 var ClassName = {\n FADE: 'fade',\n IN: 'in'\n };\n\n var Selector = {\n TOOLTIP: '.tooltip',\n TOOLTIP_INNER: '.tooltip-inner'\n };\n\n var TetherClass = {\n element: false,\n enabled: false\n };\n\n var Trigger = {\n HOVER: 'hover',\n FOCUS: 'focus',\n CLICK: 'click',\n MANUAL: 'manual'\n };\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n var Tooltip = (function () {\n function Tooltip(element, config) {\n _classCallCheck(this, Tooltip);\n\n // private\n this._isEnabled = true;\n this._timeout = 0;\n this._hoverState = '';\n this._activeTrigger = {};\n this._tether = null;\n\n // protected\n this.element = element;\n this.config = this._getConfig(config);\n this.tip = null;\n\n this._setListeners();\n }\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n // getters\n\n _createClass(Tooltip, [{\n key: 'enable',\n\n // public\n\n value: function enable() {\n this._isEnabled = true;\n }\n }, {\n key: 'disable',\n value: function disable() {\n this._isEnabled = false;\n }\n }, {\n key: 'toggleEnabled',\n value: function toggleEnabled() {\n this._isEnabled = !this._isEnabled;\n }\n }, {\n key: 'toggle',\n value: function toggle(event) {\n if (event) {\n var dataKey = this.constructor.DATA_KEY;\n var context = $(event.currentTarget).data(dataKey);\n\n if (!context) {\n context = new this.constructor(event.currentTarget, this._getDelegateConfig());\n $(event.currentTarget).data(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\n if ($(this.getTipElement()).hasClass(ClassName.IN)) {\n this._leave(null, this);\n return;\n }\n\n this._enter(null, this);\n }\n }\n }, {\n key: 'dispose',\n value: function dispose() {\n clearTimeout(this._timeout);\n\n this.cleanupTether();\n\n $.removeData(this.element, this.constructor.DATA_KEY);\n\n $(this.element).off(this.constructor.EVENT_KEY);\n\n if (this.tip) {\n $(this.tip).remove();\n }\n\n this._isEnabled = null;\n this._timeout = null;\n this._hoverState = null;\n this._activeTrigger = null;\n this._tether = null;\n\n this.element = null;\n this.config = null;\n this.tip = null;\n }\n }, {\n key: 'show',\n value: function show() {\n var _this16 = this;\n\n var showEvent = $.Event(this.constructor.Event.SHOW);\n\n if (this.isWithContent() && this._isEnabled) {\n $(this.element).trigger(showEvent);\n\n var isInTheDom = $.contains(this.element.ownerDocument.documentElement, this.element);\n\n if (showEvent.isDefaultPrevented() || !isInTheDom) {\n return;\n }\n\n var tip = this.getTipElement();\n var tipId = Util.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).addClass(ClassName.FADE);\n }\n\n var placement = typeof this.config.placement === 'function' ? this.config.placement.call(this, tip, this.element) : this.config.placement;\n\n var attachment = this._getAttachment(placement);\n\n $(tip).data(this.constructor.DATA_KEY, this).appendTo(document.body);\n\n $(this.element).trigger(this.constructor.Event.INSERTED);\n\n this._tether = new Tether({\n attachment: attachment,\n element: tip,\n target: this.element,\n classes: TetherClass,\n classPrefix: CLASS_PREFIX,\n offset: this.config.offset,\n constraints: this.config.constraints,\n addTargetClasses: false\n });\n\n Util.reflow(tip);\n this._tether.position();\n\n $(tip).addClass(ClassName.IN);\n\n var complete = function complete() {\n var prevHoverState = _this16._hoverState;\n _this16._hoverState = null;\n\n $(_this16.element).trigger(_this16.constructor.Event.SHOWN);\n\n if (prevHoverState === HoverState.OUT) {\n _this16._leave(null, _this16);\n }\n };\n\n if (Util.supportsTransitionEnd() && $(this.tip).hasClass(ClassName.FADE)) {\n $(this.tip).one(Util.TRANSITION_END, complete).emulateTransitionEnd(Tooltip._TRANSITION_DURATION);\n return;\n }\n\n complete();\n }\n }\n }, {\n key: 'hide',\n value: function hide(callback) {\n var _this17 = this;\n\n var tip = this.getTipElement();\n var hideEvent = $.Event(this.constructor.Event.HIDE);\n var complete = function complete() {\n if (_this17._hoverState !== HoverState.IN && tip.parentNode) {\n tip.parentNode.removeChild(tip);\n }\n\n _this17.element.removeAttribute('aria-describedby');\n $(_this17.element).trigger(_this17.constructor.Event.HIDDEN);\n _this17.cleanupTether();\n\n if (callback) {\n callback();\n }\n };\n\n $(this.element).trigger(hideEvent);\n\n if (hideEvent.isDefaultPrevented()) {\n return;\n }\n\n $(tip).removeClass(ClassName.IN);\n\n if (Util.supportsTransitionEnd() && $(this.tip).hasClass(ClassName.FADE)) {\n\n $(tip).one(Util.TRANSITION_END, complete).emulateTransitionEnd(TRANSITION_DURATION);\n } else {\n complete();\n }\n\n this._hoverState = '';\n }\n\n // protected\n\n }, {\n key: 'isWithContent',\n value: function isWithContent() {\n return Boolean(this.getTitle());\n }\n }, {\n key: 'getTipElement',\n value: function getTipElement() {\n return this.tip = this.tip || $(this.config.template)[0];\n }\n }, {\n key: 'setContent',\n value: function setContent() {\n var $tip = $(this.getTipElement());\n\n this.setElementContent($tip.find(Selector.TOOLTIP_INNER), this.getTitle());\n\n $tip.removeClass(ClassName.FADE).removeClass(ClassName.IN);\n\n this.cleanupTether();\n }\n }, {\n key: 'setElementContent',\n value: function setElementContent($element, content) {\n var html = this.config.html;\n if (typeof content === 'object' && (content.nodeType || content.jquery)) {\n // content is a DOM node or a jQuery\n if (html) {\n if (!$(content).parent().is($element)) {\n $element.empty().append(content);\n }\n } else {\n $element.text($(content).text());\n }\n } else {\n $element[html ? 'html' : 'text'](content);\n }\n }\n }, {\n key: 'getTitle',\n value: function getTitle() {\n var title = this.element.getAttribute('data-original-title');\n\n if (!title) {\n title = typeof this.config.title === 'function' ? this.config.title.call(this.element) : this.config.title;\n }\n\n return title;\n }\n }, {\n key: 'cleanupTether',\n value: function cleanupTether() {\n if (this._tether) {\n this._tether.destroy();\n }\n }\n\n // private\n\n }, {\n key: '_getAttachment',\n value: function _getAttachment(placement) {\n return AttachmentMap[placement.toUpperCase()];\n }\n }, {\n key: '_setListeners',\n value: function _setListeners() {\n var _this18 = this;\n\n var triggers = this.config.trigger.split(' ');\n\n triggers.forEach(function (trigger) {\n if (trigger === 'click') {\n $(_this18.element).on(_this18.constructor.Event.CLICK, _this18.config.selector, $.proxy(_this18.toggle, _this18));\n } else if (trigger !== Trigger.MANUAL) {\n var eventIn = trigger === Trigger.HOVER ? _this18.constructor.Event.MOUSEENTER : _this18.constructor.Event.FOCUSIN;\n var eventOut = trigger === Trigger.HOVER ? _this18.constructor.Event.MOUSELEAVE : _this18.constructor.Event.FOCUSOUT;\n\n $(_this18.element).on(eventIn, _this18.config.selector, $.proxy(_this18._enter, _this18)).on(eventOut, _this18.config.selector, $.proxy(_this18._leave, _this18));\n }\n });\n\n if (this.config.selector) {\n this.config = $.extend({}, this.config, {\n trigger: 'manual',\n selector: ''\n });\n } else {\n this._fixTitle();\n }\n }\n }, {\n key: '_fixTitle',\n value: function _fixTitle() {\n var titleType = typeof this.element.getAttribute('data-original-title');\n if (this.element.getAttribute('title') || titleType !== 'string') {\n this.element.setAttribute('data-original-title', this.element.getAttribute('title') || '');\n this.element.setAttribute('title', '');\n }\n }\n }, {\n key: '_enter',\n value: function _enter(event, context) {\n var dataKey = this.constructor.DATA_KEY;\n\n context = context || $(event.currentTarget).data(dataKey);\n\n if (!context) {\n context = new this.constructor(event.currentTarget, this._getDelegateConfig());\n $(event.currentTarget).data(dataKey, context);\n }\n\n if (event) {\n context._activeTrigger[event.type === 'focusin' ? Trigger.FOCUS : Trigger.HOVER] = true;\n }\n\n if ($(context.getTipElement()).hasClass(ClassName.IN) || context._hoverState === HoverState.IN) {\n context._hoverState = HoverState.IN;\n return;\n }\n\n clearTimeout(context._timeout);\n\n context._hoverState = HoverState.IN;\n\n if (!context.config.delay || !context.config.delay.show) {\n context.show();\n return;\n }\n\n context._timeout = setTimeout(function () {\n if (context._hoverState === HoverState.IN) {\n context.show();\n }\n }, context.config.delay.show);\n }\n }, {\n key: '_leave',\n value: function _leave(event, context) {\n var dataKey = this.constructor.DATA_KEY;\n\n context = context || $(event.currentTarget).data(dataKey);\n\n if (!context) {\n context = new this.constructor(event.currentTarget, this._getDelegateConfig());\n $(event.currentTarget).data(dataKey, context);\n }\n\n if (event) {\n context._activeTrigger[event.type === 'focusout' ? Trigger.FOCUS : Trigger.HOVER] = 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(function () {\n if (context._hoverState === HoverState.OUT) {\n context.hide();\n }\n }, context.config.delay.hide);\n }\n }, {\n key: '_isWithActiveTrigger',\n value: function _isWithActiveTrigger() {\n for (var trigger in this._activeTrigger) {\n if (this._activeTrigger[trigger]) {\n return true;\n }\n }\n\n return false;\n }\n }, {\n key: '_getConfig',\n value: function _getConfig(config) {\n config = $.extend({}, this.constructor.Default, $(this.element).data(), config);\n\n if (config.delay && typeof config.delay === 'number') {\n config.delay = {\n show: config.delay,\n hide: config.delay\n };\n }\n\n Util.typeCheckConfig(NAME, config, this.constructor.DefaultType);\n\n return config;\n }\n }, {\n key: '_getDelegateConfig',\n value: function _getDelegateConfig() {\n var config = {};\n\n if (this.config) {\n for (var 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 // static\n\n }], [{\n key: '_jQueryInterface',\n value: function _jQueryInterface(config) {\n return this.each(function () {\n var data = $(this).data(DATA_KEY);\n var _config = typeof config === 'object' ? config : null;\n\n if (!data && /destroy|hide/.test(config)) {\n return;\n }\n\n if (!data) {\n data = new Tooltip(this, _config);\n $(this).data(DATA_KEY, data);\n }\n\n if (typeof config === 'string') {\n if (data[config] === undefined) {\n throw new Error('No method named \"' + config + '\"');\n }\n data[config]();\n }\n });\n }\n }, {\n key: 'VERSION',\n get: function get() {\n return VERSION;\n }\n }, {\n key: 'Default',\n get: function get() {\n return Default;\n }\n }, {\n key: 'NAME',\n get: function get() {\n return NAME;\n }\n }, {\n key: 'DATA_KEY',\n get: function get() {\n return DATA_KEY;\n }\n }, {\n key: 'Event',\n get: function get() {\n return Event;\n }\n }, {\n key: 'EVENT_KEY',\n get: function get() {\n return EVENT_KEY;\n }\n }, {\n key: 'DefaultType',\n get: function get() {\n return DefaultType;\n }\n }]);\n\n return Tooltip;\n })();\n\n $.fn[NAME] = Tooltip._jQueryInterface;\n $.fn[NAME].Constructor = Tooltip;\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT;\n return Tooltip._jQueryInterface;\n };\n\n return Tooltip;\n})(jQuery);\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0-alpha.3): popover.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nvar Popover = (function ($) {\n\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n var NAME = 'popover';\n var VERSION = '4.0.0-alpha.3';\n var DATA_KEY = 'bs.popover';\n var EVENT_KEY = '.' + DATA_KEY;\n var JQUERY_NO_CONFLICT = $.fn[NAME];\n\n var Default = $.extend({}, Tooltip.Default, {\n placement: 'right',\n trigger: 'click',\n content: '',\n template: '<div class=\"popover\" role=\"tooltip\">' + '<div class=\"popover-arrow\"></div>' + '<h3 class=\"popover-title\"></h3>' + '<div class=\"popover-content\"></div></div>'\n });\n\n var DefaultType = $.extend({}, Tooltip.DefaultType, {\n content: '(string|element|function)'\n });\n\n var ClassName = {\n FADE: 'fade',\n IN: 'in'\n };\n\n var Selector = {\n TITLE: '.popover-title',\n CONTENT: '.popover-content',\n ARROW: '.popover-arrow'\n };\n\n var 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\n var Popover = (function (_Tooltip) {\n _inherits(Popover, _Tooltip);\n\n function Popover() {\n _classCallCheck(this, Popover);\n\n _get(Object.getPrototypeOf(Popover.prototype), 'constructor', this).apply(this, arguments);\n }\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n _createClass(Popover, [{\n key: 'isWithContent',\n\n // overrides\n\n value: function isWithContent() {\n return this.getTitle() || this._getContent();\n }\n }, {\n key: 'getTipElement',\n value: function getTipElement() {\n return this.tip = this.tip || $(this.config.template)[0];\n }\n }, {\n key: 'setContent',\n value: function setContent() {\n var $tip = $(this.getTipElement());\n\n // we use append for html objects to maintain js events\n this.setElementContent($tip.find(Selector.TITLE), this.getTitle());\n this.setElementContent($tip.find(Selector.CONTENT), this._getContent());\n\n $tip.removeClass(ClassName.FADE).removeClass(ClassName.IN);\n\n this.cleanupTether();\n }\n\n // private\n\n }, {\n key: '_getContent',\n value: function _getContent() {\n return this.element.getAttribute('data-content') || (typeof this.config.content === 'function' ? this.config.content.call(this.element) : this.config.content);\n }\n\n // static\n\n }], [{\n key: '_jQueryInterface',\n value: function _jQueryInterface(config) {\n return this.each(function () {\n var data = $(this).data(DATA_KEY);\n var _config = typeof config === 'object' ? config : null;\n\n if (!data && /destroy|hide/.test(config)) {\n return;\n }\n\n if (!data) {\n data = new Popover(this, _config);\n $(this).data(DATA_KEY, data);\n }\n\n if (typeof config === 'string') {\n if (data[config] === undefined) {\n throw new Error('No method named \"' + config + '\"');\n }\n data[config]();\n }\n });\n }\n }, {\n key: 'VERSION',\n\n // getters\n\n get: function get() {\n return VERSION;\n }\n }, {\n key: 'Default',\n get: function get() {\n return Default;\n }\n }, {\n key: 'NAME',\n get: function get() {\n return NAME;\n }\n }, {\n key: 'DATA_KEY',\n get: function get() {\n return DATA_KEY;\n }\n }, {\n key: 'Event',\n get: function get() {\n return Event;\n }\n }, {\n key: 'EVENT_KEY',\n get: function get() {\n return EVENT_KEY;\n }\n }, {\n key: 'DefaultType',\n get: function get() {\n return DefaultType;\n }\n }]);\n\n return Popover;\n })(Tooltip);\n\n $.fn[NAME] = Popover._jQueryInterface;\n $.fn[NAME].Constructor = Popover;\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT;\n return Popover._jQueryInterface;\n };\n\n return Popover;\n})(jQuery);\n\n}(jQuery);\n","const Util = (() => {\n\n /**\n * ------------------------------------------------------------------------\n * Private TransitionEnd Helpers\n * ------------------------------------------------------------------------\n */\n\n let transitionEnd = false\n let transitionEndSelector = ''\n\n const TransitionEndEvent = {\n WebkitTransition: 'webkitTransitionEnd',\n MozTransition: 'transitionend',\n OTransition: 'oTransitionEnd otransitionend',\n transition: 'transitionend'\n }\n\n function transitionEndTest() {\n if (window.QUnit) {\n return false\n }\n\n let el = document.createElement('bmd')\n\n for (let name in TransitionEndEvent) {\n if (el.style[name] !== undefined) {\n return TransitionEndEvent[name] // { end: TransitionEndEvent[name] }\n }\n }\n\n return false\n }\n\n function setTransitionEndSupport() {\n transitionEnd = transitionEndTest()\n\n // generate a concatenated transition end event selector\n for (let name in TransitionEndEvent) {\n transitionEndSelector += ` ${TransitionEndEvent[name]}`\n }\n }\n\n /**\n * --------------------------------------------------------------------------\n * Public Util Api\n * --------------------------------------------------------------------------\n */\n\n let Util = {\n\n transitionEndSupported() {\n return transitionEnd\n },\n\n transitionEndSelector() {\n return transitionEndSelector\n },\n\n isChar(event) {\n if (typeof event.which === 'undefined') {\n return true\n } else if (typeof event.which === 'number' && event.which > 0) {\n return (\n !event.ctrlKey\n && !event.metaKey\n && !event.altKey\n && event.which !== 8 // backspace\n && event.which !== 9 // tab\n && event.which !== 13 // enter\n && event.which !== 16 // shift\n && event.which !== 17 // ctrl\n && event.which !== 20 // caps lock\n && event.which !== 27 // escape\n )\n }\n return false\n },\n\n assert($element, invalidTest, message) {\n if (invalidTest) {\n if (!$element === undefined) {\n $element.css('border', '1px solid red')\n }\n console.error(message, $element) // eslint-disable-line no-console\n throw message\n }\n },\n\n describe($element) {\n if ($element === undefined) {\n return 'undefined'\n } else if ($element.length === 0) {\n return '(no matching elements)'\n }\n return `${$element[0].outerHTML.split('>')[0]}>`\n }\n }\n\n setTransitionEndSupport()\n return Util\n\n})(jQuery)\n\nexport default Util\n","import Util from './util'\n\nconst Base = (($) => {\n\n const ClassName = {\n BMD_FORM_GROUP: 'bmd-form-group',\n IS_FILLED: 'is-filled',\n IS_FOCUSED: 'is-focused'\n }\n\n const Selector = {\n BMD_FORM_GROUP: `.${ClassName.BMD_FORM_GROUP}`\n }\n\n const Default = {}\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n class Base {\n\n /**\n *\n * @param element\n * @param config\n * @param properties - anything that needs to be set as this[key] = value. Works around the need to call `super` before using `this`\n */\n constructor($element, config, properties = {}) {\n this.$element = $element\n this.config = $.extend(true, {}, Default, config)\n\n // set properties for use in the constructor initialization\n for (let key in properties) {\n this[key] = properties[key]\n }\n }\n\n dispose(dataKey) {\n this.$element.data(dataKey, null)\n this.$element = null\n this.config = null\n }\n\n // ------------------------------------------------------------------------\n // protected\n\n addFormGroupFocus() {\n if (!this.$element.prop('disabled')) {\n this.$bmdFormGroup.addClass(ClassName.IS_FOCUSED)\n }\n }\n\n removeFormGroupFocus() {\n this.$bmdFormGroup.removeClass(ClassName.IS_FOCUSED)\n }\n\n removeIsFilled() {\n this.$bmdFormGroup.removeClass(ClassName.IS_FILLED)\n }\n\n addIsFilled() {\n this.$bmdFormGroup.addClass(ClassName.IS_FILLED)\n }\n\n // Find bmd-form-group\n findMdbFormGroup(raiseError = true) {\n let mfg = this.$element.closest(Selector.BMD_FORM_GROUP)\n if (mfg.length === 0 && raiseError) {\n $.error(`Failed to find ${Selector.BMD_FORM_GROUP} for ${Util.describe(this.$element)}`)\n }\n return mfg\n }\n\n // ------------------------------------------------------------------------\n // private\n\n // ------------------------------------------------------------------------\n // static\n\n }\n\n return Base\n\n})(jQuery)\n\nexport default Base\n","import Base from './base'\nimport Util from './util'\n\nconst BaseInput = (($) => {\n\n const ClassName = {\n FORM_GROUP: 'form-group',\n BMD_FORM_GROUP: 'bmd-form-group',\n BMD_LABEL: 'bmd-label',\n BMD_LABEL_STATIC: 'bmd-label-static',\n BMD_LABEL_PLACEHOLDER: 'bmd-label-placeholder',\n BMD_LABEL_FLOATING: 'bmd-label-floating',\n HAS_DANGER: 'has-danger',\n IS_FILLED: 'is-filled',\n IS_FOCUSED: 'is-focused',\n INPUT_GROUP: 'input-group'\n }\n\n const Selector = {\n FORM_GROUP: `.${ClassName.FORM_GROUP}`,\n BMD_FORM_GROUP: `.${ClassName.BMD_FORM_GROUP}`,\n BMD_LABEL_WILDCARD: `label[class^='${ClassName.BMD_LABEL}'], label[class*=' ${ClassName.BMD_LABEL}']` // match any label variant if specified\n }\n\n const Default = {\n validate: false,\n formGroup: {\n required: false\n },\n bmdFormGroup: {\n template: `<span class='${ClassName.BMD_FORM_GROUP}'></span>`,\n create: true, // create a wrapper if form-group not found\n required: true // not recommended to turn this off, only used for inline components\n },\n label: {\n required: false,\n\n // Prioritized find order for resolving the label to be used as an bmd-label if not specified in the markup\n // - a function(thisComponent); or\n // - a string selector used like $bmdFormGroup.find(selector)\n //\n // Note this only runs if $bmdFormGroup.find(Selector.BMD_LABEL_WILDCARD) fails to find a label (as authored in the markup)\n //\n selectors: [\n `.form-control-label`, // in the case of horizontal or inline forms, this will be marked\n `> label` // usual case for text inputs, first child. Deeper would find toggle labels so don't do that.\n ],\n className: ClassName.BMD_LABEL_STATIC\n },\n requiredClasses: [],\n invalidComponentMatches: [],\n convertInputSizeVariations: true\n }\n\n const FormControlSizeMarkers = {\n 'form-control-lg': 'bmd-form-group-lg',\n 'form-control-sm': 'bmd-form-group-sm'\n }\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n class BaseInput extends Base {\n\n /**\n *\n * @param element\n * @param config\n * @param properties - anything that needs to be set as this[key] = value. Works around the need to call `super` before using `this`\n */\n constructor($element, config, properties = {}) {\n super($element, $.extend(true, {}, Default, config), properties)\n\n // Enforce no overlap between components to prevent side effects\n this._rejectInvalidComponentMatches()\n\n // Enforce expected structure (if any)\n this.rejectWithoutRequiredStructure()\n\n // Enforce required classes for a consistent rendering\n this._rejectWithoutRequiredClasses()\n\n // Resolve the form-group first, it will be used for bmd-form-group if possible\n // note: different components have different rules\n this.$formGroup = this.findFormGroup(this.config.formGroup.required)\n\n // Will add bmd-form-group to form-group or create an bmd-form-group\n // Performance Note: for those forms that are really performance driven, create the markup with the .bmd-form-group to avoid\n // rendering changes once added.\n this.$bmdFormGroup = this.resolveMdbFormGroup()\n\n // Resolve and mark the bmdLabel if necessary as defined by the config\n this.$bmdLabel = this.resolveMdbLabel()\n\n // Signal to the bmd-form-group that a form-control-* variation is being used\n this.resolveMdbFormGroupSizing()\n\n this.addFocusListener()\n this.addChangeListener()\n\n if(this.$element.val() != ''){\n this.addIsFilled()\n }\n }\n\n dispose(dataKey) {\n super.dispose(dataKey)\n this.$bmdFormGroup = null\n this.$formGroup = null\n }\n\n // ------------------------------------------------------------------------\n // protected\n\n rejectWithoutRequiredStructure() {\n // implement\n }\n\n addFocusListener() {\n this.$element\n .on('focus', () => {\n this.addFormGroupFocus()\n })\n .on('blur', () => {\n this.removeFormGroupFocus()\n })\n }\n\n addChangeListener() {\n this.$element\n .on('keydown paste', (event) => {\n if (Util.isChar(event)) {\n this.addIsFilled()\n }\n })\n .on('keyup change', () => {\n\n // make sure empty is added back when there is a programmatic value change.\n // NOTE: programmatic changing of value using $.val() must trigger the change event i.e. $.val('x').trigger('change')\n if (this.isEmpty()) {\n this.removeIsFilled()\n } else {\n this.addIsFilled()\n }\n\n if (this.config.validate) {\n // Validation events do not bubble, so they must be attached directly to the text: http://jsfiddle.net/PEpRM/1/\n // Further, even the bind method is being caught, but since we are already calling #checkValidity here, just alter\n // the form-group on change.\n //\n // NOTE: I'm not sure we should be intervening regarding validation, this seems better as a README and snippet of code.\n // BUT, I've left it here for backwards compatibility.\n let isValid = (typeof this.$element[0].checkValidity === 'undefined' || this.$element[0].checkValidity())\n if (isValid) {\n this.removeHasDanger()\n } else {\n this.addHasDanger()\n }\n }\n })\n }\n\n addHasDanger() {\n this.$bmdFormGroup.addClass(ClassName.HAS_DANGER)\n }\n\n removeHasDanger() {\n this.$bmdFormGroup.removeClass(ClassName.HAS_DANGER)\n }\n\n isEmpty() {\n return (this.$element.val() === null || this.$element.val() === undefined || this.$element.val() === '')\n }\n\n // Will add bmd-form-group to form-group or create a bmd-form-group if necessary\n resolveMdbFormGroup() {\n let mfg = this.findMdbFormGroup(false)\n if (mfg === undefined || mfg.length === 0) {\n if (this.config.bmdFormGroup.create && (this.$formGroup === undefined || this.$formGroup.length === 0)) {\n // If a form-group doesn't exist (not recommended), take a guess and wrap the element (assuming no label).\n // note: it's possible to make this smarter, but I need to see valid cases before adding any complexity.\n\n // this may be an input-group, wrap that instead\n if(this.outerElement().parent().hasClass(ClassName.INPUT_GROUP)){\n this.outerElement().parent().wrap(this.config.bmdFormGroup.template)\n }\n else{\n this.outerElement().wrap(this.config.bmdFormGroup.template)\n }\n } else {\n // a form-group does exist, add our marker class to it\n this.$formGroup.addClass(ClassName.BMD_FORM_GROUP)\n\n // OLD: may want to implement this after all, see how the styling turns out, but using an existing form-group is less manipulation of the dom and therefore preferable\n // A form-group does exist, so add an bmd-form-group wrapping it's internal contents\n //fg.wrapInner(this.config.bmdFormGroup.template)\n }\n\n mfg = this.findMdbFormGroup(this.config.bmdFormGroup.required)\n }\n\n return mfg\n }\n\n // Demarcation element (e.g. first child of a form-group)\n // Subclasses such as file inputs may have different structures\n outerElement() {\n return this.$element\n }\n\n // Will add bmd-label to bmd-form-group if not already specified\n resolveMdbLabel() {\n\n let label = this.$bmdFormGroup.find(Selector.BMD_LABEL_WILDCARD)\n if (label === undefined || label.length === 0) {\n // we need to find it based on the configured selectors\n label = this.findMdbLabel(this.config.label.required)\n\n if (label === undefined || label.length === 0) {\n // no label found, and finder did not require one\n } else {\n // a candidate label was found, add the configured default class name\n label.addClass(this.config.label.className)\n }\n }\n\n return label\n }\n\n // Find bmd-label variant based on the config selectors\n findMdbLabel(raiseError = true) {\n let label = null\n\n // use the specified selector order\n for (let selector of this.config.label.selectors) {\n if ($.isFunction(selector)) {\n label = selector(this)\n } else {\n label = this.$bmdFormGroup.find(selector)\n }\n\n if (label !== undefined && label.length > 0) {\n break\n }\n }\n\n if (label.length === 0 && raiseError) {\n $.error(`Failed to find ${Selector.BMD_LABEL_WILDCARD} within form-group for ${Util.describe(this.$element)}`)\n }\n return label\n }\n\n // Find bmd-form-group\n findFormGroup(raiseError = true) {\n let fg = this.$element.closest(Selector.FORM_GROUP)\n if (fg.length === 0 && raiseError) {\n $.error(`Failed to find ${Selector.FORM_GROUP} for ${Util.describe(this.$element)}`)\n }\n return fg\n }\n\n // Due to the interconnected nature of labels/inputs/help-blocks, signal the bmd-form-group-* size variation based on\n // a found form-control-* size\n resolveMdbFormGroupSizing() {\n if (!this.config.convertInputSizeVariations) {\n return\n }\n\n // Modification - Change text-sm/lg to form-group-sm/lg instead (preferred standard and simpler css/less variants)\n for (let inputSize in FormControlSizeMarkers) {\n if (this.$element.hasClass(inputSize)) {\n //this.$element.removeClass(inputSize)\n this.$bmdFormGroup.addClass(FormControlSizeMarkers[inputSize])\n }\n }\n }\n\n // ------------------------------------------------------------------------\n // private\n _rejectInvalidComponentMatches() {\n for (let otherComponent of this.config.invalidComponentMatches) {\n otherComponent.rejectMatch(this.constructor.name, this.$element)\n }\n }\n\n _rejectWithoutRequiredClasses() {\n for (let requiredClass of this.config.requiredClasses) {\n\n let found = false\n // allow one of several classes to be passed in x||y\n if (requiredClass.indexOf('||') !== -1) {\n let oneOf = requiredClass.split('||')\n for (let requiredClass of oneOf) {\n if (this.$element.hasClass(requiredClass)) {\n found = true\n break\n }\n }\n } else if (this.$element.hasClass(requiredClass)) {\n found = true\n }\n\n // error if not found\n if (!found) {\n $.error(`${this.constructor.name} element: ${Util.describe(this.$element)} requires class: ${requiredClass}`)\n }\n }\n }\n\n // ------------------------------------------------------------------------\n // static\n\n }\n\n return BaseInput\n\n})(jQuery)\n\nexport default BaseInput\n","import BaseInput from './baseInput'\nimport Util from './util'\n\nconst BaseSelection = (($) => {\n\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n const Default = {\n label: {\n required: false\n\n // Prioritized find order for resolving the label to be used as an bmd-label if not specified in the markup\n // - a function(thisComponent); or\n // - a string selector used like $bmdFormGroup.find(selector)\n //\n // Note this only runs if $bmdFormGroup.find(Selector.BMD_LABEL_WILDCARD) fails to find a label (as authored in the markup)\n //\n //selectors: [\n // `.form-control-label`, // in the case of horizontal or inline forms, this will be marked\n // `> label` // usual case for text inputs\n //]\n }\n }\n\n const Selector = {\n LABEL: 'label'\n }\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n class BaseSelection extends BaseInput {\n\n constructor($element, config, properties) {\n // properties = {inputType: checkbox, outerClass: checkbox-inline}\n // '.checkbox|switch|radio > label > input[type=checkbox|radio]'\n // '.${this.outerClass} > label > input[type=${this.inputType}]'\n\n super($element, $.extend(true, {}, Default, config), properties)\n this.decorateMarkup()\n }\n\n // ------------------------------------------------------------------------\n // protected\n\n decorateMarkup() {\n this.$element.after(this.config.template)\n }\n\n // Demarcation element (e.g. first child of a form-group)\n outerElement() {\n // .checkbox|switch|radio > label > input[type=checkbox|radio]\n // label.checkbox-inline > input[type=checkbox|radio]\n // .${this.outerClass} > label > input[type=${this.inputType}]\n return this.$element.parent().closest(`.${this.outerClass}`)\n }\n\n rejectWithoutRequiredStructure() {\n // '.checkbox|switch|radio > label > input[type=checkbox|radio]'\n // '.${this.outerClass} > label > input[type=${this.inputType}]'\n Util.assert(this.$element, !this.$element.parent().prop('tagName') === 'label', `${this.constructor.name}'s ${Util.describe(this.$element)} parent element should be <label>.`)\n Util.assert(this.$element, !this.outerElement().hasClass(this.outerClass), `${this.constructor.name}'s ${Util.describe(this.$element)} outer element should have class ${this.outerClass}.`)\n }\n\n addFocusListener() {\n // checkboxes didn't appear to bubble to the document, so we'll bind these directly\n this.$element.closest(Selector.LABEL).hover(() => {\n this.addFormGroupFocus()\n }, () => {\n this.removeFormGroupFocus()\n })\n }\n\n addChangeListener() {\n this.$element.change(() => {\n this.$element.blur()\n })\n }\n\n // ------------------------------------------------------------------------\n // private\n }\n\n return BaseSelection\n\n})(jQuery)\n\nexport default BaseSelection\n","import BaseSelection from './baseSelection'\n//import Text from './text'\n//import File from './file'\n//import Radio from './radio'\n//import Textarea from './textarea'\n//import Select from './select'\nimport Util from './util'\n\nconst Checkbox = (($) => {\n\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n const NAME = 'checkbox'\n const DATA_KEY = `bmd.${NAME}`\n const JQUERY_NAME = `bmd${NAME.charAt(0).toUpperCase() + NAME.slice(1)}`\n const JQUERY_NO_CONFLICT = $.fn[JQUERY_NAME]\n\n const Default = {\n template: `<span class='checkbox-decorator'><span class='check'></span></span>`\n }\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n class Checkbox extends BaseSelection {\n\n constructor($element, config, properties = {inputType: NAME, outerClass: NAME}) {\n super($element, $.extend(true,\n //{invalidComponentMatches: [File, Radio, Text, Textarea, Select]},\n Default, config), properties)\n }\n\n dispose(dataKey = DATA_KEY) {\n super.dispose(dataKey)\n }\n\n static matches($element) {\n // '.checkbox > label > input[type=checkbox]'\n if ($element.attr('type') === 'checkbox') {\n return true\n }\n return false\n }\n\n static rejectMatch(component, $element) {\n Util.assert(this.$element, this.matches($element), `${component} component element ${Util.describe($element)} is invalid for type='checkbox'.`)\n }\n\n // ------------------------------------------------------------------------\n // protected\n\n // ------------------------------------------------------------------------\n // protected\n\n // ------------------------------------------------------------------------\n // private\n\n // ------------------------------------------------------------------------\n // static\n static _jQueryInterface(config) {\n return this.each(function () {\n let $element = $(this)\n let data = $element.data(DATA_KEY)\n\n if (!data) {\n data = new Checkbox($element, config)\n $element.data(DATA_KEY, data)\n }\n })\n }\n }\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n $.fn[JQUERY_NAME] = Checkbox._jQueryInterface\n $.fn[JQUERY_NAME].Constructor = Checkbox\n $.fn[JQUERY_NAME].noConflict = () => {\n $.fn[JQUERY_NAME] = JQUERY_NO_CONFLICT\n return Checkbox._jQueryInterface\n }\n\n return Checkbox\n\n})(jQuery)\n\nexport default Checkbox\n","import Checkbox from './checkbox'\n\nconst CheckboxInline = (($) => {\n\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n const NAME = 'checkboxInline'\n const DATA_KEY = `bmd.${NAME}`\n const JQUERY_NAME = `bmd${NAME.charAt(0).toUpperCase() + NAME.slice(1)}`\n const JQUERY_NO_CONFLICT = $.fn[JQUERY_NAME]\n\n const Default = {\n bmdFormGroup: {\n create: false, // no bmd-form-group creation if form-group not present. It messes with the layout.\n required: false\n }\n }\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n class CheckboxInline extends Checkbox {\n\n constructor($element, config, properties = {inputType: 'checkbox', outerClass: 'checkbox-inline'}) {\n super($element, $.extend(true, {}, Default, config), properties)\n }\n\n dispose() {\n super.dispose(DATA_KEY)\n }\n\n //static matches($element) {\n // // '.checkbox-inline > input[type=checkbox]'\n // if ($element.attr('type') === 'checkbox') {\n // return true\n // }\n // return false\n //}\n //\n //static rejectMatch(component, $element) {\n // Util.assert(this.$element, this.matches($element), `${component} component element ${Util.describe($element)} is invalid for type='checkbox'.`)\n //}\n\n // ------------------------------------------------------------------------\n // protected\n\n // ------------------------------------------------------------------------\n // protected\n\n // ------------------------------------------------------------------------\n // private\n\n // ------------------------------------------------------------------------\n // static\n static _jQueryInterface(config) {\n return this.each(function () {\n let $element = $(this)\n let data = $element.data(DATA_KEY)\n\n if (!data) {\n data = new CheckboxInline($element, config)\n $element.data(DATA_KEY, data)\n }\n })\n }\n }\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n $.fn[JQUERY_NAME] = CheckboxInline._jQueryInterface\n $.fn[JQUERY_NAME].Constructor = CheckboxInline\n $.fn[JQUERY_NAME].noConflict = () => {\n $.fn[JQUERY_NAME] = JQUERY_NO_CONFLICT\n return CheckboxInline._jQueryInterface\n }\n\n return CheckboxInline\n\n})(jQuery)\n\nexport default CheckboxInline\n","import Base from './base'\nimport Util from './util'\n\nconst CollapseInline = (($) => {\n\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n const NAME = 'collapseInline'\n const DATA_KEY = `bmd.${NAME}`\n const JQUERY_NAME = `bmd${NAME.charAt(0).toUpperCase() + NAME.slice(1)}`\n const JQUERY_NO_CONFLICT = $.fn[JQUERY_NAME]\n\n const Selector = {\n ANY_INPUT: 'input, select, textarea'\n }\n\n const ClassName = {\n IN: 'in',\n COLLAPSE: 'collapse',\n COLLAPSING: 'collapsing',\n COLLAPSED: 'collapsed',\n WIDTH: 'width'\n }\n const Default = {}\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n class CollapseInline extends Base {\n\n // $element is expected to be the trigger\n // i.e. <button class=\"btn bmd-btn-icon\" for=\"search\" data-toggle=\"collapse\" data-target=\"#search-field\" aria-expanded=\"false\" aria-controls=\"search-field\">\n constructor($element, config) {\n super($element, $.extend(true, {}, Default, config))\n this.$bmdFormGroup = this.findMdbFormGroup(true)\n\n let collapseSelector = $element.data('target')\n this.$collapse = $(collapseSelector)\n\n Util.assert($element, this.$collapse.length === 0, `Cannot find collapse target for ${Util.describe($element)}`)\n Util.assert(this.$collapse, !this.$collapse.hasClass(ClassName.COLLAPSE), `${Util.describe(this.$collapse)} is expected to have the '${ClassName.COLLAPSE}' class. It is being targeted by ${Util.describe($element)}`)\n\n // find the first input for focusing\n let $inputs = this.$bmdFormGroup.find(Selector.ANY_INPUT)\n if ($inputs.length > 0) {\n this.$input = $inputs.first()\n }\n\n // automatically add the marker class to collapse width instead of height - nice convenience because it is easily forgotten\n if (!this.$collapse.hasClass(ClassName.WIDTH)) {\n this.$collapse.addClass(ClassName.WIDTH)\n }\n\n if (this.$input) {\n // add a listener to set focus\n this.$collapse.on('shown.bs.collapse', () => {\n this.$input.focus()\n })\n\n // add a listener to collapse field\n this.$input.blur(() => {\n this.$collapse.collapse('hide')\n })\n }\n }\n\n dispose() {\n super.dispose(DATA_KEY)\n this.$bmdFormGroup = null\n this.$collapse = null\n this.$input = null\n }\n\n // ------------------------------------------------------------------------\n // private\n\n // ------------------------------------------------------------------------\n // static\n static _jQueryInterface(config) {\n return this.each(function () {\n let $element = $(this)\n let data = $element.data(DATA_KEY)\n\n if (!data) {\n data = new CollapseInline($element, config)\n $element.data(DATA_KEY, data)\n }\n })\n }\n }\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n $.fn[JQUERY_NAME] = CollapseInline._jQueryInterface\n $.fn[JQUERY_NAME].Constructor = CollapseInline\n $.fn[JQUERY_NAME].noConflict = () => {\n $.fn[JQUERY_NAME] = JQUERY_NO_CONFLICT\n return CollapseInline._jQueryInterface\n }\n\n return CollapseInline\n\n})(jQuery)\n\nexport default CollapseInline\n","import BaseInput from './baseInput'\n//import Checkbox from './checkbox'\n//import Radio from './radio'\n//import Switch from './switch'\n//import Text from './text'\n//import Textarea from './textarea'\n//import Select from './select'\nimport Util from './util'\n\nconst File = (($) => {\n\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n const NAME = 'file'\n const DATA_KEY = `bmd.${NAME}`\n const JQUERY_NAME = `bmd${NAME.charAt(0).toUpperCase() + NAME.slice(1)}`\n const JQUERY_NO_CONFLICT = $.fn[JQUERY_NAME]\n\n const Default = {}\n\n const ClassName = {\n FILE: NAME,\n IS_FILE: 'is-file'\n }\n\n const Selector = {\n FILENAMES: 'input.form-control[readonly]'\n }\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n class File extends BaseInput {\n\n constructor($element, config) {\n super($element, $.extend(true,\n //{invalidComponentMatches: [Checkbox, Radio, Text, Textarea, Select, Switch]},\n Default, config))\n\n this.$bmdFormGroup.addClass(ClassName.IS_FILE)\n }\n\n dispose() {\n super.dispose(DATA_KEY)\n }\n\n static matches($element) {\n if ($element.attr('type') === 'file') {\n return true\n }\n return false\n }\n\n static rejectMatch(component, $element) {\n Util.assert(this.$element, this.matches($element), `${component} component element ${Util.describe($element)} is invalid for type='file'.`)\n }\n\n // ------------------------------------------------------------------------\n // protected\n\n // Demarcation element (e.g. first child of a form-group)\n outerElement() {\n // label.file > input[type=file]\n return this.$element.parent().closest(`.${ClassName.FILE}`)\n }\n\n rejectWithoutRequiredStructure() {\n // label.file > input[type=file]\n Util.assert(this.$element, !this.outerElement().prop('tagName') === 'label', `${this.constructor.name}'s ${Util.describe(this.$element)} parent element ${Util.describe(this.outerElement())} should be <label>.`)\n Util.assert(this.$element, !this.outerElement().hasClass(ClassName.FILE), `${this.constructor.name}'s ${Util.describe(this.$element)} parent element ${Util.describe(this.outerElement())} should have class .${ClassName.FILE}.`)\n }\n\n addFocusListener() {\n this.$bmdFormGroup\n .on('focus', () => {\n this.addFormGroupFocus()\n })\n .on('blur', () => {\n this.removeFormGroupFocus()\n })\n }\n\n addChangeListener() {\n // set the fileinput readonly field with the name of the file\n this.$element.on('change', () => {\n let value = ''\n $.each(this.$element.files, (i, file) => {\n value += `${file.name} , `\n })\n value = value.substring(0, value.length - 2)\n if (value) {\n this.addIsFilled()\n } else {\n this.removeIsFilled()\n }\n this.$bmdFormGroup.find(Selector.FILENAMES).val(value)\n })\n }\n\n // ------------------------------------------------------------------------\n // private\n\n // ------------------------------------------------------------------------\n // static\n static _jQueryInterface(config) {\n return this.each(function () {\n let $element = $(this)\n let data = $element.data(DATA_KEY)\n\n if (!data) {\n data = new File($element, config)\n $element.data(DATA_KEY, data)\n }\n })\n }\n }\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n $.fn[JQUERY_NAME] = File._jQueryInterface\n $.fn[JQUERY_NAME].Constructor = File\n $.fn[JQUERY_NAME].noConflict = () => {\n $.fn[JQUERY_NAME] = JQUERY_NO_CONFLICT\n return File._jQueryInterface\n }\n\n return File\n\n})(jQuery)\n\nexport default File\n","import BaseSelection from './baseSelection'\n//import Text from './text'\n//import File from './file'\n//import Checkbox from './checkbox'\n//import Switch from './switch'\nimport Util from './util'\n\nconst Radio = (($) => {\n\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n const NAME = 'radio'\n const DATA_KEY = `bmd.${NAME}`\n const JQUERY_NAME = `bmd${NAME.charAt(0).toUpperCase() + NAME.slice(1)}`\n const JQUERY_NO_CONFLICT = $.fn[JQUERY_NAME]\n\n const Default = {\n template: `<span class='bmd-radio-outer-circle'></span><span class='bmd-radio-inner-circle'></span>`\n }\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n class Radio extends BaseSelection {\n\n constructor($element, config, properties = {inputType: NAME, outerClass: NAME}) {\n super($element, $.extend(true,\n //{invalidComponentMatches: [Checkbox, File, Switch, Text]},\n Default, config), properties)\n }\n\n dispose(dataKey = DATA_KEY) {\n super.dispose(dataKey)\n }\n\n static matches($element) {\n // '.radio > label > input[type=radio]'\n if ($element.attr('type') === 'radio') {\n return true\n }\n return false\n }\n\n static rejectMatch(component, $element) {\n Util.assert(this.$element, this.matches($element), `${component} component element ${Util.describe($element)} is invalid for type='radio'.`)\n }\n\n // ------------------------------------------------------------------------\n // protected\n\n //decorateMarkup() {\n // this.$element.after(this.config.template)\n //}\n\n\n // ------------------------------------------------------------------------\n // private\n\n // ------------------------------------------------------------------------\n // static\n static _jQueryInterface(config) {\n return this.each(function () {\n let $element = $(this)\n let data = $element.data(DATA_KEY)\n\n if (!data) {\n data = new Radio($element, config)\n $element.data(DATA_KEY, data)\n }\n })\n }\n }\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n $.fn[JQUERY_NAME] = Radio._jQueryInterface\n $.fn[JQUERY_NAME].Constructor = Radio\n $.fn[JQUERY_NAME].noConflict = () => {\n $.fn[JQUERY_NAME] = JQUERY_NO_CONFLICT\n return Radio._jQueryInterface\n }\n\n return Radio\n\n})(jQuery)\n\nexport default Radio\n","import Radio from './radio'\n\nconst RadioInline = (($) => {\n\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n const NAME = 'radioInline'\n const DATA_KEY = `bmd.${NAME}`\n const JQUERY_NAME = `bmd${NAME.charAt(0).toUpperCase() + NAME.slice(1)}`\n const JQUERY_NO_CONFLICT = $.fn[JQUERY_NAME]\n\n const Default = {\n bmdFormGroup: {\n create: false, // no bmd-form-group creation if form-group not present. It messes with the layout.\n required: false\n }\n }\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n class RadioInline extends Radio {\n\n constructor($element, config, properties = {inputType: 'radio', outerClass: 'radio-inline'}) {\n super($element, $.extend(true, {}, Default, config), properties)\n }\n\n dispose() {\n super.dispose(DATA_KEY)\n }\n\n // ------------------------------------------------------------------------\n // protected\n\n // ------------------------------------------------------------------------\n // protected\n\n // ------------------------------------------------------------------------\n // private\n\n // ------------------------------------------------------------------------\n // static\n static _jQueryInterface(config) {\n return this.each(function () {\n let $element = $(this)\n let data = $element.data(DATA_KEY)\n\n if (!data) {\n data = new RadioInline($element, config)\n $element.data(DATA_KEY, data)\n }\n })\n }\n }\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n $.fn[JQUERY_NAME] = RadioInline._jQueryInterface\n $.fn[JQUERY_NAME].Constructor = RadioInline\n $.fn[JQUERY_NAME].noConflict = () => {\n $.fn[JQUERY_NAME] = JQUERY_NO_CONFLICT\n return RadioInline._jQueryInterface\n }\n\n return RadioInline\n\n})(jQuery)\n\nexport default RadioInline\n","import BaseInput from './baseInput'\n\nconst BaseFormControl = (($) => {\n\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n const Default = {\n requiredClasses: ['form-control']\n }\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n class BaseFormControl extends BaseInput {\n\n constructor($element, config) {\n super($element, $.extend(true, Default, config))\n\n // Initially mark as empty\n if (this.isEmpty()) {\n this.removeIsFilled()\n }\n }\n }\n\n\n return BaseFormControl\n\n})(jQuery)\n\nexport default BaseFormControl\n","import BaseFormControl from './baseFormControl'\n//import Checkbox from './checkbox'\n//import File from './file'\n//import Radio from './radio'\n//import Switch from './switch'\n//import Text from './text'\n//import Textarea from './textarea'\nimport Util from './util'\n\nconst Select = (($) => {\n\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n const NAME = 'select'\n const DATA_KEY = `bmd.${NAME}`\n const JQUERY_NAME = `bmd${NAME.charAt(0).toUpperCase() + NAME.slice(1)}`\n const JQUERY_NO_CONFLICT = $.fn[JQUERY_NAME]\n\n const Default = {\n requiredClasses: ['form-control||custom-select']\n }\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n class Select extends BaseFormControl {\n\n constructor($element, config) {\n super($element, $.extend(true,\n //{invalidComponentMatches: [Checkbox, File, Radio, Switch, Text, Textarea]},\n Default, config))\n\n // floating labels will cover the options, so trigger them to be above (if used)\n this.addIsFilled()\n }\n\n dispose() {\n super.dispose(DATA_KEY)\n }\n\n static matches($element) {\n if ($element.prop('tagName') === 'select') {\n return true\n }\n return false\n }\n\n static rejectMatch(component, $element) {\n Util.assert(this.$element, this.matches($element), `${component} component element ${Util.describe($element)} is invalid for <select>.`)\n }\n\n // ------------------------------------------------------------------------\n // protected\n\n // ------------------------------------------------------------------------\n // private\n\n // ------------------------------------------------------------------------\n // static\n static _jQueryInterface(config) {\n return this.each(function () {\n let $element = $(this)\n let data = $element.data(DATA_KEY)\n\n if (!data) {\n data = new Select($element, config)\n $element.data(DATA_KEY, data)\n }\n })\n }\n }\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n $.fn[JQUERY_NAME] = Select._jQueryInterface\n $.fn[JQUERY_NAME].Constructor = Select\n $.fn[JQUERY_NAME].noConflict = () => {\n $.fn[JQUERY_NAME] = JQUERY_NO_CONFLICT\n return Select._jQueryInterface\n }\n\n return Select\n\n})(jQuery)\n\nexport default Select\n","import Checkbox from './checkbox'\n\nconst Switch = (($) => {\n\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n const NAME = 'switch'\n const DATA_KEY = `bmd.${NAME}`\n const JQUERY_NAME = `bmd${NAME.charAt(0).toUpperCase() + NAME.slice(1)}`\n const JQUERY_NO_CONFLICT = $.fn[JQUERY_NAME]\n\n const Default = {\n template: `<span class='bmd-switch-track'></span>`\n }\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n class Switch extends Checkbox {\n\n constructor($element, config, properties = {inputType: 'checkbox', outerClass: 'switch'}) {\n super($element, $.extend(true, {}, Default, config), properties)\n // selector: '.switch > label > input[type=checkbox]'\n }\n\n dispose() {\n super.dispose(DATA_KEY)\n }\n\n // ------------------------------------------------------------------------\n // protected\n\n // ------------------------------------------------------------------------\n // private\n\n // ------------------------------------------------------------------------\n // static\n static _jQueryInterface(config) {\n return this.each(function () {\n let $element = $(this)\n let data = $element.data(DATA_KEY)\n\n if (!data) {\n data = new Switch($element, config)\n $element.data(DATA_KEY, data)\n }\n })\n }\n }\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n $.fn[JQUERY_NAME] = Switch._jQueryInterface\n $.fn[JQUERY_NAME].Constructor = Switch\n $.fn[JQUERY_NAME].noConflict = () => {\n $.fn[JQUERY_NAME] = JQUERY_NO_CONFLICT\n return Switch._jQueryInterface\n }\n\n return Switch\n\n})(jQuery)\n\nexport default Switch\n","import BaseFormControl from './baseFormControl'\n//import Checkbox from './checkbox'\n//import File from './file'\n//import Radio from './radio'\n//import Switch from './switch'\n//import Textarea from './textarea'\n//import Select from './select'\nimport Util from './util'\n\nconst Text = (($) => {\n\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n const NAME = 'text'\n const DATA_KEY = `bmd.${NAME}`\n const JQUERY_NAME = `bmd${NAME.charAt(0).toUpperCase() + NAME.slice(1)}`\n const JQUERY_NO_CONFLICT = $.fn[JQUERY_NAME]\n\n const Default = {}\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n class Text extends BaseFormControl {\n\n constructor($element, config) {\n super($element, $.extend(true,\n //{invalidComponentMatches: [Checkbox, File, Radio, Switch, Select, Textarea]},\n Default, config))\n }\n\n dispose(dataKey = DATA_KEY) {\n super.dispose(dataKey)\n }\n\n static matches($element) {\n if ($element.attr('type') === 'text') {\n return true\n }\n return false\n }\n\n static rejectMatch(component, $element) {\n Util.assert(this.$element, this.matches($element), `${component} component element ${Util.describe($element)} is invalid for type='text'.`)\n }\n\n // ------------------------------------------------------------------------\n // protected\n\n // ------------------------------------------------------------------------\n // private\n\n // ------------------------------------------------------------------------\n // static\n static _jQueryInterface(config) {\n return this.each(function () {\n let $element = $(this)\n let data = $element.data(DATA_KEY)\n\n if (!data) {\n data = new Text($element, config)\n $element.data(DATA_KEY, data)\n }\n })\n }\n }\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n $.fn[JQUERY_NAME] = Text._jQueryInterface\n $.fn[JQUERY_NAME].Constructor = Text\n $.fn[JQUERY_NAME].noConflict = () => {\n $.fn[JQUERY_NAME] = JQUERY_NO_CONFLICT\n return Text._jQueryInterface\n }\n\n return Text\n\n})(jQuery)\n\nexport default Text\n","import BaseFormControl from './baseFormControl'\n//import Checkbox from './checkbox'\n//import File from './file'\n//import Radio from './radio'\n//import Switch from './switch'\n//import Text from './text'\n//import Select from './select'\nimport Util from './util'\n\nconst Textarea = (($) => {\n\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n const NAME = 'textarea'\n const DATA_KEY = `bmd.${NAME}`\n const JQUERY_NAME = `bmd${NAME.charAt(0).toUpperCase() + NAME.slice(1)}`\n const JQUERY_NO_CONFLICT = $.fn[JQUERY_NAME]\n\n const Default = {}\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n class Textarea extends BaseFormControl {\n\n constructor($element, config) {\n super($element, $.extend(true,\n //{invalidComponentMatches: [Checkbox, File, Radio, Text, Select, Switch]},\n Default, config))\n }\n\n dispose() {\n super.dispose(DATA_KEY)\n }\n\n static matches($element) {\n if ($element.prop('tagName') === 'textarea') {\n return true\n }\n return false\n }\n\n static rejectMatch(component, $element) {\n Util.assert(this.$element, this.matches($element), `${component} component element ${Util.describe($element)} is invalid for <textarea>.`)\n }\n\n // ------------------------------------------------------------------------\n // protected\n\n // ------------------------------------------------------------------------\n // private\n\n // ------------------------------------------------------------------------\n // static\n static _jQueryInterface(config) {\n return this.each(function () {\n let $element = $(this)\n let data = $element.data(DATA_KEY)\n\n if (!data) {\n data = new Textarea($element, config)\n $element.data(DATA_KEY, data)\n }\n })\n }\n }\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n $.fn[JQUERY_NAME] = Textarea._jQueryInterface\n $.fn[JQUERY_NAME].Constructor = Textarea\n $.fn[JQUERY_NAME].noConflict = () => {\n $.fn[JQUERY_NAME] = JQUERY_NO_CONFLICT\n return Textarea._jQueryInterface\n }\n\n return Textarea\n\n})(jQuery)\n\nexport default Textarea\n","import Base from './base'\nimport Util from './util'\n\nconst BaseLayout = (($) => {\n\n const ClassName = {\n CANVAS: 'bmd-layout-canvas',\n CONTAINER: 'bmd-layout-container',\n BACKDROP: `bmd-layout-backdrop`\n }\n\n const Selector = {\n CANVAS: `.${ClassName.CANVAS}`,\n CONTAINER: `.${ClassName.CONTAINER}`,\n BACKDROP: `.${ClassName.BACKDROP}`\n }\n\n const Default = {\n canvas: {\n create: true,\n required: true,\n template: `<div class=\"${ClassName.CANVAS}\"></div>`\n },\n backdrop: {\n create: true,\n required: true,\n template: `<div class=\"${ClassName.BACKDROP}\"></div>`\n }\n }\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n class BaseLayout extends Base {\n\n constructor($element, config, properties = {}) {\n super($element, $.extend(true, {}, Default, config), properties)\n\n this.$container = this.findContainer(true)\n this.$backdrop = this.resolveBackdrop()\n this.resolveCanvas();\n }\n\n dispose(dataKey) {\n super.dispose(dataKey)\n this.$container = null\n this.$backdrop = null\n }\n\n // ------------------------------------------------------------------------\n // protected\n\n // Will wrap container in bmd-layout-canvas if necessary\n resolveCanvas() {\n let bd = this.findCanvas(false)\n if (bd === undefined || bd.length === 0) {\n if (this.config.canvas.create) {\n this.$container.wrap(this.config.canvas.template)\n }\n\n bd = this.findCanvas(this.config.canvas.required)\n }\n\n return bd\n }\n\n // Find closest bmd-layout-container based on the given context\n findCanvas(raiseError = true, context = this.$container) {\n let canvas = context.closest(Selector.CANVAS)\n if (canvas.length === 0 && raiseError) {\n $.error(`Failed to find ${Selector.CANVAS} for ${Util.describe(context)}`)\n }\n return canvas\n }\n\n // Will add bmd-layout-backdrop to bmd-layout-container if necessary\n resolveBackdrop() {\n let bd = this.findBackdrop(false)\n if (bd === undefined || bd.length === 0) {\n if (this.config.backdrop.create) {\n this.$container.append(this.config.backdrop.template)\n }\n\n bd = this.findBackdrop(this.config.backdrop.required)\n }\n\n return bd\n }\n\n // Find closest bmd-layout-container based on the given context\n findBackdrop(raiseError = true, context = this.$container) {\n let backdrop = context.find(`> ${Selector.BACKDROP}`)\n if (backdrop.length === 0 && raiseError) {\n $.error(`Failed to find ${Selector.BACKDROP} for ${Util.describe(context)}`)\n }\n return backdrop\n }\n\n // Find closest bmd-layout-container based on the given context\n findContainer(raiseError = true, context = this.$element) {\n let container = context.closest(Selector.CONTAINER)\n if (container.length === 0 && raiseError) {\n $.error(`Failed to find ${Selector.CONTAINER} for ${Util.describe(context)}`)\n }\n return container\n }\n\n // ------------------------------------------------------------------------\n // private\n\n // ------------------------------------------------------------------------\n // static\n\n }\n\n return BaseLayout\n\n})(jQuery)\n\nexport default BaseLayout\n","import BaseLayout from './baseLayout'\n\nconst Drawer = (($) => {\n\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n const NAME = 'drawer'\n const DATA_KEY = `bmd.${NAME}`\n const JQUERY_NAME = `bmd${NAME.charAt(0).toUpperCase() + NAME.slice(1)}`\n const JQUERY_NO_CONFLICT = $.fn[JQUERY_NAME]\n\n const Keycodes = {\n ESCAPE: 27\n //ENTER: 13,\n //SPACE: 32\n }\n\n const ClassName = {\n IN: 'in',\n DRAWER_IN: `bmd-drawer-in`,\n DRAWER_OUT: `bmd-drawer-out`,\n DRAWER: 'bmd-layout-drawer',\n CONTAINER: 'bmd-layout-container'\n }\n\n const Default = {\n focusSelector: `a, button, input`\n }\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n class Drawer extends BaseLayout {\n\n // $element is expected to be the trigger\n // i.e. <button class=\"btn bmd-btn-icon\" for=\"search\" data-toggle=\"drawer\" data-target=\"#my-side-nav-drawer\" aria-expanded=\"false\" aria-controls=\"my-side-nav-drawer\">\n constructor($element, config) {\n super($element, $.extend(true, {}, Default, config))\n\n this.$toggles = $(`[data-toggle=\"drawer\"][href=\"#${this.$element[0].id}\"], [data-toggle=\"drawer\"][data-target=\"#${this.$element[0].id}\"]`)\n\n this._addAria()\n\n // click or escape on the backdrop closes the drawer\n this.$backdrop.keydown((ev) => {\n if (ev.which === Keycodes.ESCAPE) {\n this.hide()\n }\n }).click(() => {\n this.hide()\n })\n\n // escape on the drawer closes it\n this.$element.keydown((ev) => {\n if (ev.which === Keycodes.ESCAPE) {\n this.hide()\n }\n })\n\n // any toggle button clicks\n this.$toggles.click(() => {\n this.toggle()\n })\n }\n\n dispose() {\n super.dispose(DATA_KEY)\n this.$toggles = null\n }\n\n toggle() {\n if (this._isOpen()) {\n this.hide()\n } else {\n this.show()\n }\n }\n\n show() {\n if (this._isForcedClosed() || this._isOpen()) {\n return\n }\n\n this.$toggles.attr('aria-expanded', true)\n this.$element.attr('aria-expanded', true)\n this.$element.attr('aria-hidden', false)\n\n // focus on the first focusable item\n let $focusOn = this.$element.find(this.config.focusSelector)\n if ($focusOn.length > 0) {\n $focusOn.first().focus()\n }\n\n this.$container.addClass(ClassName.DRAWER_IN)\n // backdrop is responsively styled based on bmd-drawer-overlay, therefore style is none of our concern, simply add the marker class and let the scss determine if it should be displayed or not.\n this.$backdrop.addClass(ClassName.IN)\n }\n\n hide() {\n if (!this._isOpen()) {\n return\n }\n\n this.$toggles.attr('aria-expanded', false)\n this.$element.attr('aria-expanded', false)\n this.$element.attr('aria-hidden', true)\n\n this.$container.removeClass(ClassName.DRAWER_IN)\n this.$backdrop.removeClass(ClassName.IN)\n }\n\n\n // ------------------------------------------------------------------------\n // private\n\n _isOpen() {\n return this.$container.hasClass(ClassName.DRAWER_IN)\n }\n\n _isForcedClosed() {\n return this.$container.hasClass(ClassName.DRAWER_OUT)\n }\n\n _addAria() {\n let isOpen = this._isOpen()\n this.$element.attr('aria-expanded', isOpen)\n this.$element.attr('aria-hidden', isOpen)\n\n if (this.$toggles.length) {\n this.$toggles.attr('aria-expanded', isOpen)\n }\n }\n\n // ------------------------------------------------------------------------\n // static\n static _jQueryInterface(config) {\n return this.each(function () {\n let $element = $(this)\n let data = $element.data(DATA_KEY)\n\n if (!data) {\n data = new Drawer($element, config)\n $element.data(DATA_KEY, data)\n }\n })\n }\n }\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n $.fn[JQUERY_NAME] = Drawer._jQueryInterface\n $.fn[JQUERY_NAME].Constructor = Drawer\n $.fn[JQUERY_NAME].noConflict = () => {\n $.fn[JQUERY_NAME] = JQUERY_NO_CONFLICT\n return Drawer._jQueryInterface\n }\n\n return Drawer\n\n})(jQuery)\n\nexport default Drawer\n","import Util from './util'\n\nconst Ripples = (($) => {\n\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n const NAME = 'ripples'\n const DATA_KEY = `bmd.${NAME}`\n const JQUERY_NAME = `bmd${NAME.charAt(0).toUpperCase() + NAME.slice(1)}`\n const JQUERY_NO_CONFLICT = $.fn[JQUERY_NAME]\n\n const ClassName = {\n CONTAINER: 'ripple-container',\n DECORATOR: 'ripple-decorator'\n }\n\n const Selector = {\n CONTAINER: `.${ClassName.CONTAINER}`,\n DECORATOR: `.${ClassName.DECORATOR}` //,\n }\n\n\n const Default = {\n container: {\n template: `<div class='${ClassName.CONTAINER}'></div>`\n },\n decorator: {\n template: `<div class='${ClassName.DECORATOR}'></div>`\n },\n trigger: {\n start: 'mousedown touchstart',\n end: 'mouseup mouseleave touchend'\n },\n touchUserAgentRegex: /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i,\n duration: 500\n }\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n class Ripples {\n\n constructor($element, config) {\n this.$element = $element\n\n //console.log(`Adding ripples to ${Util.describe(this.$element)}`) // eslint-disable-line no-console\n this.config = $.extend(true, {}, Default, config)\n\n // attach initial listener\n this.$element.on(this.config.trigger.start, (event) => {\n this._onStartRipple(event)\n })\n }\n\n\n dispose() {\n this.$element.data(DATA_KEY, null)\n this.$element = null\n this.$container = null\n this.$decorator = null\n this.config = null\n }\n\n // ------------------------------------------------------------------------\n // private\n\n _onStartRipple(event) {\n\n // Verify if the user is just touching on a device and return if so\n if (this._isTouch() && event.type === 'mousedown') {\n return\n }\n\n // Find or create the ripple container element\n this._findOrCreateContainer()\n\n // Get relY and relX positions of the container element\n let relY = this._getRelY(event)\n let relX = this._getRelX(event)\n\n // If relY and/or relX are false, return the event\n if (!relY && !relX) {\n return\n }\n\n // set the location and color each time (even if element is cached)\n this.$decorator.css({\n left: relX,\n top: relY,\n 'background-color': this._getRipplesColor()\n })\n\n // Make sure the ripple has the styles applied (ugly hack but it works)\n this._forceStyleApplication()\n\n // Turn on the ripple animation\n this.rippleOn()\n\n // Call the rippleEnd function when the transition 'on' ends\n setTimeout(() => {\n this.rippleEnd()\n }, this.config.duration)\n\n // Detect when the user leaves the element to cleanup if not already done?\n this.$element.on(this.config.trigger.end, () => {\n if (this.$decorator) { // guard against race condition/mouse attack\n this.$decorator.data('mousedown', 'off')\n\n if (this.$decorator.data('animating') === 'off') {\n this.rippleOut()\n }\n }\n })\n }\n\n _findOrCreateContainer() {\n if (!this.$container || !this.$container.length > 0) {\n this.$element.append(this.config.container.template)\n this.$container = this.$element.find(Selector.CONTAINER)\n }\n\n // always add the rippleElement, it is always removed\n this.$container.append(this.config.decorator.template)\n this.$decorator = this.$container.find(Selector.DECORATOR)\n }\n\n // Make sure the ripple has the styles applied (ugly hack but it works)\n _forceStyleApplication() {\n return window.getComputedStyle(this.$decorator[0]).opacity\n }\n\n\n /**\n * Get the relX\n */\n _getRelX(event) {\n let wrapperOffset = this.$container.offset()\n\n let result = null\n if (!this._isTouch()) {\n // Get the mouse position relative to the ripple wrapper\n result = event.pageX - wrapperOffset.left\n } else {\n // Make sure the user is using only one finger and then get the touch\n // position relative to the ripple wrapper\n event = event.originalEvent\n\n if (event.touches.length === 1) {\n result = event.touches[0].pageX - wrapperOffset.left\n } else {\n result = false\n }\n }\n\n return result\n }\n\n /**\n * Get the relY\n */\n _getRelY(event) {\n let containerOffset = this.$container.offset()\n let result = null\n\n if (!this._isTouch()) {\n /**\n * Get the mouse position relative to the ripple wrapper\n */\n result = event.pageY - containerOffset.top\n } else {\n /**\n * Make sure the user is using only one finger and then get the touch\n * position relative to the ripple wrapper\n */\n event = event.originalEvent\n\n if (event.touches.length === 1) {\n result = event.touches[0].pageY - containerOffset.top\n } else {\n result = false\n }\n }\n\n return result\n }\n\n /**\n * Get the ripple color\n */\n _getRipplesColor() {\n let color = this.$element.data('ripple-color') ? this.$element.data('ripple-color') : window.getComputedStyle(this.$element[0]).color\n return color\n }\n\n /**\n * Verify if the client is using a mobile device\n */\n _isTouch() {\n return this.config.touchUserAgentRegex.test(navigator.userAgent)\n }\n\n /**\n * End the animation of the ripple\n */\n rippleEnd() {\n if (this.$decorator) { // guard against race condition/mouse attack\n this.$decorator.data('animating', 'off')\n\n if (this.$decorator.data('mousedown') === 'off') {\n this.rippleOut(this.$decorator)\n }\n }\n }\n\n /**\n * Turn off the ripple effect\n */\n rippleOut() {\n this.$decorator.off()\n\n if (Util.transitionEndSupported()) {\n this.$decorator.addClass('ripple-out')\n } else {\n this.$decorator.animate({opacity: 0}, 100, () => {\n this.$decorator.trigger('transitionend')\n })\n }\n\n this.$decorator.on(Util.transitionEndSelector(), () => {\n if (this.$decorator) {\n this.$decorator.remove()\n this.$decorator = null\n }\n })\n }\n\n /**\n * Turn on the ripple effect\n */\n rippleOn() {\n let size = this._getNewSize()\n\n if (Util.transitionEndSupported()) {\n this.$decorator\n .css({\n '-ms-transform': `scale(${size})`,\n '-moz-transform': `scale(${size})`,\n '-webkit-transform': `scale(${size})`,\n transform: `scale(${size})`\n })\n .addClass('ripple-on')\n .data('animating', 'on')\n .data('mousedown', 'on')\n } else {\n this.$decorator.animate({\n width: Math.max(this.$element.outerWidth(), this.$element.outerHeight()) * 2,\n height: Math.max(this.$element.outerWidth(), this.$element.outerHeight()) * 2,\n 'margin-left': Math.max(this.$element.outerWidth(), this.$element.outerHeight()) * (-1),\n 'margin-top': Math.max(this.$element.outerWidth(), this.$element.outerHeight()) * (-1),\n opacity: 0.2\n }, this.config.duration, () => {\n this.$decorator.trigger('transitionend')\n })\n }\n }\n\n /**\n * Get the new size based on the element height/width and the ripple width\n */\n _getNewSize() {\n return (Math.max(this.$element.outerWidth(), this.$element.outerHeight()) / this.$decorator.outerWidth()) * 2.5\n }\n\n // ------------------------------------------------------------------------\n // static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let $element = $(this)\n let data = $element.data(DATA_KEY)\n\n if (!data) {\n data = new Ripples($element, config)\n $element.data(DATA_KEY, data)\n }\n })\n }\n }\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n $.fn[JQUERY_NAME] = Ripples._jQueryInterface\n $.fn[JQUERY_NAME].Constructor = Ripples\n $.fn[JQUERY_NAME].noConflict = () => {\n $.fn[JQUERY_NAME] = JQUERY_NO_CONFLICT\n return Ripples._jQueryInterface\n }\n\n return Ripples\n\n})(jQuery)\n\nexport default Ripples\n","import Base from './base'\n\nconst Autofill = (($) => {\n\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n const NAME = 'autofill'\n const DATA_KEY = `bmd.${NAME}`\n const JQUERY_NAME = `bmd${NAME.charAt(0).toUpperCase() + NAME.slice(1)}`\n const JQUERY_NO_CONFLICT = $.fn[JQUERY_NAME]\n\n const Default = {}\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n class Autofill extends Base {\n\n constructor($element, config) {\n super($element, $.extend(true, {}, Default, config))\n\n this._watchLoading()\n this._attachEventHandlers()\n }\n\n dispose() {\n super.dispose(DATA_KEY)\n }\n\n // ------------------------------------------------------------------------\n // private\n\n _watchLoading() {\n // After 10 seconds we are quite sure all the needed inputs are autofilled then we can stop checking them\n setTimeout(() => {\n clearInterval(this._onLoading)\n }, 10000)\n }\n\n // This part of code will detect autofill when the page is loading (username and password inputs for example)\n _onLoading() {\n setInterval(() => {\n $('input[type!=checkbox]').each((index, element) => {\n let $element = $(element)\n if ($element.val() && $element.val() !== $element.attr('value')) {\n $element.trigger('change')\n }\n })\n }, 100)\n }\n\n _attachEventHandlers() {\n // Listen on inputs of the focused form\n // (because user can select from the autofill dropdown only when the input has focus)\n let focused = null\n $(document)\n .on('focus', 'input', (event) => {\n let $inputs = $(event.currentTarget).closest('form').find('input').not('[type=file]')\n focused = setInterval(() => {\n $inputs.each((index, element) => {\n let $element = $(element)\n if ($element.val() !== $element.attr('value')) {\n $element.trigger('change')\n }\n })\n }, 100)\n })\n .on('blur', '.form-group input', () => {\n clearInterval(focused)\n })\n }\n\n // ------------------------------------------------------------------------\n // static\n static _jQueryInterface(config) {\n return this.each(function () {\n let $element = $(this)\n let data = $element.data(DATA_KEY)\n\n if (!data) {\n data = new Autofill($element, config)\n $element.data(DATA_KEY, data)\n }\n })\n }\n }\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n $.fn[JQUERY_NAME] = Autofill._jQueryInterface\n $.fn[JQUERY_NAME].Constructor = Autofill\n $.fn[JQUERY_NAME].noConflict = () => {\n $.fn[JQUERY_NAME] = JQUERY_NO_CONFLICT\n return Autofill._jQueryInterface\n }\n\n return Autofill\n\n})(jQuery)\n\nexport default Autofill\n","/**\n * $.bootstrapMaterialDesign(config) is a macro class to configure the components generally\n * used in Bootstrap Material Design. You may pass overrides to the configurations\n * which will be passed into each component, or you may omit use of this class and\n * configure each component separately.\n */\nconst BootstrapMaterialDesign = (($) => {\n\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n const NAME = 'bootstrapMaterialDesign'\n const DATA_KEY = `bmd.${NAME}`\n const JQUERY_NAME = NAME // retain this full name since it is long enough not to conflict\n const JQUERY_NO_CONFLICT = $.fn[JQUERY_NAME]\n\n /**\n * Global configuration:\n * The global configuration hash will be mixed in to each components' config.\n * e.g. calling $.bootstrapMaterialDesign({global: { validate: true } }) would pass `validate:true` to every component\n *\n *\n * Component configuration:\n * - selector: may be a string or an array. Any array will be joined with a comma to generate the selector\n * - disable any component by defining it as false with an override. e.g. $.bootstrapMaterialDesign({ autofill: false })\n *\n * @see each individual component for more configuration settings.\n */\n const Default = {\n global: {\n validate: false,\n label: {\n className: 'bmd-label-static' // default style of label to be used if not specified in the html markup\n }\n },\n autofill: {\n selector: 'body'\n },\n checkbox: {\n selector: '.checkbox > label > input[type=checkbox]'\n },\n checkboxInline: {\n selector: 'label.checkbox-inline > input[type=checkbox]'\n },\n collapseInline: {\n selector: '.bmd-collapse-inline [data-toggle=\"collapse\"]'\n },\n drawer: {\n selector: '.bmd-layout-drawer'\n },\n file: {\n selector: 'input[type=file]'\n },\n radio: {\n selector: '.radio > label > input[type=radio]'\n },\n radioInline: {\n selector: 'label.radio-inline > input[type=radio]'\n },\n ripples: {\n //selector: ['.btn:not(.btn-link):not(.ripple-none)'] // testing only\n selector: [\n '.btn:not(.btn-link):not(.ripple-none)',\n '.card-image:not(.ripple-none)',\n '.navbar a:not(.ripple-none)',\n '.dropdown-menu a:not(.ripple-none)',\n '.nav-tabs a:not(.ripple-none)',\n '.pagination li:not(.active):not(.disabled) a:not(.ripple-none)',\n '.ripple' // generic marker class to add ripple to elements\n ]\n },\n select: {\n selector: ['select']\n },\n switch: {\n selector: '.switch > label > input[type=checkbox]'\n },\n text: {\n // omit inputs we have specialized components to handle - we need to match text, email, etc. The easiest way to do this appears to be just omit the ones we don't want to match and let the rest fall through to this.\n selector: [`input:not([type=hidden]):not([type=checkbox]):not([type=radio]):not([type=file]):not([type=button]):not([type=submit]):not([type=reset])`]\n },\n textarea: {\n selector: ['textarea']\n },\n arrive: true,\n // create an ordered component list for instantiation\n instantiation: [\n 'ripples',\n 'checkbox',\n 'checkboxInline',\n 'collapseInline',\n 'drawer',\n //'file',\n 'radio',\n 'radioInline',\n 'switch',\n 'text',\n 'textarea',\n 'select',\n 'autofill'\n ]\n }\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n class BootstrapMaterialDesign {\n\n constructor($element, config) {\n this.$element = $element\n this.config = $.extend(true, {}, Default, config)\n let $document = $(document)\n\n for (let component of this.config.instantiation) {\n\n // the component's config fragment is passed in directly, allowing users to override\n let componentConfig = this.config[component]\n\n // check to make sure component config is enabled (not `false`)\n if (componentConfig) {\n\n // assemble the selector as it may be an array\n let selector = this._resolveSelector(componentConfig)\n\n // mix in global options\n componentConfig = $.extend(true, {}, this.config.global, componentConfig)\n\n // create the jquery fn name e.g. 'bmdText' for 'text'\n let componentName = `${component.charAt(0).toUpperCase() + component.slice(1)}`\n let jqueryFn = `bmd${componentName}`\n\n try {\n // safely instantiate component on selector elements with config, report errors and move on.\n // console.debug(`instantiating: $('${selector}')[${jqueryFn}](${componentConfig})`) // eslint-disable-line no-console\n $(selector)[jqueryFn](componentConfig)\n\n // add to arrive if present and enabled\n if (document.arrive && this.config.arrive) {\n $document.arrive(selector, function(){ // eslint-disable-line no-loop-func\n $(this)[jqueryFn](componentConfig)\n })\n }\n } catch (e) {\n let message = `Failed to instantiate component: $('${selector}')[${jqueryFn}](${componentConfig})`\n console.error(message, e, `\\nSelected elements: `, $(selector)) // eslint-disable-line no-console\n throw e\n }\n }\n }\n }\n\n dispose() {\n this.$element.data(DATA_KEY, null)\n this.$element = null\n this.config = null\n }\n\n // ------------------------------------------------------------------------\n // private\n\n _resolveSelector(componentConfig) {\n let selector = componentConfig.selector\n if (Array.isArray(selector)) {\n selector = selector.join(', ')\n }\n\n return selector\n }\n\n // ------------------------------------------------------------------------\n // static\n static _jQueryInterface(config) {\n return this.each(function () {\n let $element = $(this)\n let data = $element.data(DATA_KEY)\n\n if (!data) {\n data = new BootstrapMaterialDesign($element, config)\n $element.data(DATA_KEY, data)\n }\n })\n }\n }\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n $.fn[JQUERY_NAME] = BootstrapMaterialDesign._jQueryInterface\n $.fn[JQUERY_NAME].Constructor = BootstrapMaterialDesign\n $.fn[JQUERY_NAME].noConflict = () => {\n $.fn[JQUERY_NAME] = JQUERY_NO_CONFLICT\n return BootstrapMaterialDesign._jQueryInterface\n }\n\n return BootstrapMaterialDesign\n\n})(jQuery)\n\nexport default BootstrapMaterialDesign\n"],"names":["commonjsHelpers.interopDefault","babelHelpers.typeof","commonjsHelpers.commonjsGlobal","this"],"mappings":";;;;;;;;;;;;;;;;;;;AAAA,CAAA;AACA,CAAA,MAAI,SAAS,OAAO,OAAP,GAAiB,OAAO,MAAP,IAAiB,WAAjB,IAAgC,OAAO,IAAP,IAAe,IAA/C,GAC1B,MAD0B,GACjB,OAAO,IAAP,IAAe,WAAf,IAA8B,KAAK,IAAL,IAAa,IAA3C,GAAkD,IAAlD,GAAyD,SAAS,aAAT,GADtE;AAEA,CAAA,MAAG,OAAO,GAAP,IAAc,QAAjB,EAA0B,MAAM,MAAN;;;;;;;;;;ACH1B,CAAA,MAAI,iBAAiB,GAAG,cAAxB;AACA,CAAA,SAAO,OAAP,GAAiB,UAAS,EAAT,EAAa,GAAb,EAAiB;AAChC,CAAA,WAAO,eAAe,IAAf,CAAoB,EAApB,EAAwB,GAAxB,CAAP;AACD,CAAA,GAFD;;;;;;;;;;ACDA,CAAA,SAAO,OAAP,GAAiB,UAAS,IAAT,EAAc;AAC7B,CAAA,QAAI;AACF,CAAA,aAAO,CAAC,CAAC,MAAT;AACD,CAAA,KAFD,CAEE,OAAM,CAAN,EAAQ;AACR,CAAA,aAAO,IAAP;AACD,CAAA;AACF,CAAA,GAND;;;;;;;;;;ACAA,CAAA;AACA,CAAA,SAAO,OAAP,GAAiB,CAACA,cAAA,aAAA,EAAoB,YAAU;AAC9C,CAAA,WAAO,OAAO,cAAP,CAAsB,EAAtB,EAA0B,GAA1B,EAA+B,EAAC,KAAK,eAAU;AAAE,CAAA,eAAO,CAAP;AAAW,CAAA,OAA7B,EAA/B,EAA+D,CAA/D,IAAoE,CAA3E;AACD,CAAA,GAFiB,CAAlB;;;;;;;;;;ACDA,CAAA,MAAI,OAAO,OAAO,OAAP,GAAiB,EAAC,SAAS,OAAV,EAA5B;AACA,CAAA,MAAG,OAAO,GAAP,IAAc,QAAjB,EAA0B,MAAM,IAAN;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACD1B,CAAA,SAAO,OAAP,GAAiB,UAAS,EAAT,EAAY;AAC3B,CAAA,WAAO,QAAO,EAAP,yCAAO,EAAP,OAAc,QAAd,GAAyB,OAAO,IAAhC,GAAuC,OAAO,EAAP,KAAc,UAA5D;AACD,CAAA,GAFD;;;;;;;;;;;;ACAA,CAAA,MAAI,WAAWA,cAAA,aAAA,CAAf;AACA,CAAA,SAAO,OAAP,GAAiB,UAAS,EAAT,EAAY;AAC3B,CAAA,QAAG,CAAC,SAAS,EAAT,CAAJ,EAAiB,MAAM,UAAU,KAAK,oBAAf,CAAN;AACjB,CAAA,WAAO,EAAP;AACD,CAAA,GAHD;;;;;;;;;;ACDA,CAAA,MAAI,WAAWA,cAAA,aAAA,CAAf;AAAA,CAAA,MACI,WAAWA,cAAA,WAAA,EAAqB;;AADpC,CAAA;AAAA,CAAA,MAGI,KAAK,SAAS,QAAT,KAAsB,SAAS,SAAS,aAAlB,CAH/B;AAIA,CAAA,SAAO,OAAP,GAAiB,UAAS,EAAT,EAAY;AAC3B,CAAA,WAAO,KAAK,SAAS,aAAT,CAAuB,EAAvB,CAAL,GAAkC,EAAzC;AACD,CAAA,GAFD;;;;;;;;;;ACJA,CAAA,SAAO,OAAP,GAAiB,CAACA,cAAA,WAAA,CAAD,IAA8B,CAACA,cAAA,aAAA,EAAoB,YAAU;AAC5E,CAAA,WAAO,OAAO,cAAP,CAAsBA,cAAA,aAAA,EAAyB,KAAzB,CAAtB,EAAuD,GAAvD,EAA4D,EAAC,KAAK,eAAU;AAAE,CAAA,eAAO,CAAP;AAAW,CAAA,OAA7B,EAA5D,EAA4F,CAA5F,IAAiG,CAAxG;AACD,CAAA,GAF+C,CAAhD;;;;;;;;;;ACAA,CAAA;AACA,CAAA,MAAI,WAAWA,cAAA,aAAA,CAAf;;;AAGA,CAAA,SAAO,OAAP,GAAiB,UAAS,EAAT,EAAa,CAAb,EAAe;AAC9B,CAAA,QAAG,CAAC,SAAS,EAAT,CAAJ,EAAiB,OAAO,EAAP;AACjB,CAAA,QAAI,EAAJ,EAAQ,GAAR;AACA,CAAA,QAAG,KAAK,QAAQ,KAAK,GAAG,QAAhB,KAA6B,UAAlC,IAAgD,CAAC,SAAS,MAAM,GAAG,IAAH,CAAQ,EAAR,CAAf,CAApD,EAAgF,OAAO,GAAP;AAChF,CAAA,QAAG,QAAQ,KAAK,GAAG,OAAhB,KAA4B,UAA5B,IAA0C,CAAC,SAAS,MAAM,GAAG,IAAH,CAAQ,EAAR,CAAf,CAA9C,EAA0E,OAAO,GAAP;AAC1E,CAAA,QAAG,CAAC,CAAD,IAAM,QAAQ,KAAK,GAAG,QAAhB,KAA6B,UAAnC,IAAiD,CAAC,SAAS,MAAM,GAAG,IAAH,CAAQ,EAAR,CAAf,CAArD,EAAiF,OAAO,GAAP;AACjF,CAAA,UAAM,UAAU,yCAAV,CAAN;AACD,CAAA,GAPD;;;;;;;;;;ACJA,CAAA,MAAI,WAAiBA,cAAA,WAAA,CAArB;AAAA,CAAA,MACI,iBAAiBA,cAAA,aAAA,CADrB;AAAA,CAAA,MAEI,cAAiBA,cAAA,aAAA,CAFrB;AAAA,CAAA,MAGI,KAAiB,OAAO,cAH5B;;AAKA,CAAA,UAAQ,CAAR,GAAYA,cAAA,WAAA,IAA4B,OAAO,cAAnC,GAAoD,SAAS,cAAT,CAAwB,CAAxB,EAA2B,CAA3B,EAA8B,UAA9B,EAAyC;AACvG,CAAA,aAAS,CAAT;AACA,CAAA,QAAI,YAAY,CAAZ,EAAe,IAAf,CAAJ;AACA,CAAA,aAAS,UAAT;AACA,CAAA,QAAG,cAAH,EAAkB,IAAI;AACpB,CAAA,aAAO,GAAG,CAAH,EAAM,CAAN,EAAS,UAAT,CAAP;AACD,CAAA,KAFiB,CAEhB,OAAM,CAAN,EAAQ;AACV,CAAA,QAAG,SAAS,UAAT,IAAuB,SAAS,UAAnC,EAA8C,MAAM,UAAU,0BAAV,CAAN;AAC9C,CAAA,QAAG,WAAW,UAAd,EAAyB,EAAE,CAAF,IAAO,WAAW,KAAlB;AACzB,CAAA,WAAO,CAAP;AACD,CAAA,GAVD;;;;;;;;;;;;ACLA,CAAA,SAAO,OAAP,GAAiB,UAAS,MAAT,EAAiB,KAAjB,EAAuB;AACtC,CAAA,WAAO;AACL,CAAA,kBAAc,EAAE,SAAS,CAAX,CADT;AAEL,CAAA,oBAAc,EAAE,SAAS,CAAX,CAFT;AAGL,CAAA,gBAAc,EAAE,SAAS,CAAX,CAHT;AAIL,CAAA,aAAc;AAJT,CAAA,KAAP;AAMD,CAAA,GAPD;;;;;;;;;;ACAA,CAAA,MAAI,KAAaA,cAAA,aAAA,CAAjB;AAAA,CAAA,MACI,aAAaA,cAAA,aAAA,CADjB;AAEA,CAAA,SAAO,OAAP,GAAiBA,cAAA,WAAA,IAA4B,UAAS,MAAT,EAAiB,GAAjB,EAAsB,KAAtB,EAA4B;AACvE,CAAA,WAAO,GAAG,CAAH,CAAK,MAAL,EAAa,GAAb,EAAkB,WAAW,CAAX,EAAc,KAAd,CAAlB,CAAP;AACD,CAAA,GAFgB,GAEb,UAAS,MAAT,EAAiB,GAAjB,EAAsB,KAAtB,EAA4B;AAC9B,CAAA,WAAO,GAAP,IAAc,KAAd;AACA,CAAA,WAAO,MAAP;AACD,CAAA,GALD;;;;;;;;;;ACFA,CAAA,MAAI,KAAK,CAAT;AAAA,CAAA,MACI,KAAK,KAAK,MAAL,EADT;AAEA,CAAA,SAAO,OAAP,GAAiB,UAAS,GAAT,EAAa;AAC5B,CAAA,WAAO,UAAU,MAAV,CAAiB,QAAQ,SAAR,GAAoB,EAApB,GAAyB,GAA1C,EAA+C,IAA/C,EAAqD,CAAC,EAAE,EAAF,GAAO,EAAR,EAAY,QAAZ,CAAqB,EAArB,CAArD,CAAP;AACD,CAAA,GAFD;;;;;;;;;;ACFA,CAAA,MAAI,SAAYA,cAAA,WAAA,CAAhB;AAAA,CAAA,MACI,OAAYA,cAAA,WAAA,CADhB;AAAA,CAAA,MAEI,MAAYA,cAAA,WAAA,CAFhB;AAAA,CAAA,MAGI,MAAYA,cAAA,YAAA,EAAkB,KAAlB,CAHhB;AAAA,CAAA,MAII,YAAY,UAJhB;AAAA,CAAA,MAKI,YAAY,SAAS,SAAT,CALhB;AAAA,CAAA,MAMI,MAAY,CAAC,KAAK,SAAN,EAAiB,KAAjB,CAAuB,SAAvB,CANhB;;AAQA,CAAA,gBAAA,WAAA,EAAmB,aAAnB,GAAmC,UAAS,EAAT,EAAY;AAC7C,CAAA,WAAO,UAAU,IAAV,CAAe,EAAf,CAAP;AACD,CAAA,GAFD;;AAIA,CAAA,GAAC,OAAO,OAAP,GAAiB,UAAS,CAAT,EAAY,GAAZ,EAAiB,GAAjB,EAAsB,IAAtB,EAA2B;AAC3C,CAAA,QAAI,aAAa,OAAO,GAAP,IAAc,UAA/B;AACA,CAAA,QAAG,UAAH,EAAc,IAAI,GAAJ,EAAS,MAAT,KAAoB,KAAK,GAAL,EAAU,MAAV,EAAkB,GAAlB,CAApB;AACd,CAAA,QAAG,EAAE,GAAF,MAAW,GAAd,EAAkB;AAClB,CAAA,QAAG,UAAH,EAAc,IAAI,GAAJ,EAAS,GAAT,KAAiB,KAAK,GAAL,EAAU,GAAV,EAAe,EAAE,GAAF,IAAS,KAAK,EAAE,GAAF,CAAd,GAAuB,IAAI,IAAJ,CAAS,OAAO,GAAP,CAAT,CAAtC,CAAjB;AACd,CAAA,QAAG,MAAM,MAAT,EAAgB;AACd,CAAA,QAAE,GAAF,IAAS,GAAT;AACD,CAAA,KAFD,MAEO;AACL,CAAA,UAAG,CAAC,IAAJ,EAAS;AACP,CAAA,eAAO,EAAE,GAAF,CAAP;AACA,CAAA,aAAK,CAAL,EAAQ,GAAR,EAAa,GAAb;AACD,CAAA,OAHD,MAGO;AACL,CAAA,YAAG,EAAE,GAAF,CAAH,EAAU,EAAE,GAAF,IAAS,GAAT,CAAV,KACK,KAAK,CAAL,EAAQ,GAAR,EAAa,GAAb;AACN,CAAA;AACF,CAAA;;AAEF,CAAA,GAjBD,EAiBG,SAAS,SAjBZ,EAiBuB,SAjBvB,EAiBkC,SAAS,QAAT,GAAmB;AACnD,CAAA,WAAO,OAAO,IAAP,IAAe,UAAf,IAA6B,KAAK,GAAL,CAA7B,IAA0C,UAAU,IAAV,CAAe,IAAf,CAAjD;AACD,CAAA,GAnBD;;;;;;;;;;ACZA,CAAA,SAAO,OAAP,GAAiB,UAAS,EAAT,EAAY;AAC3B,CAAA,QAAG,OAAO,EAAP,IAAa,UAAhB,EAA2B,MAAM,UAAU,KAAK,qBAAf,CAAN;AAC3B,CAAA,WAAO,EAAP;AACD,CAAA,GAHD;;;;;;;;;;ACAA,CAAA;AACA,CAAA,MAAI,YAAYA,cAAA,aAAA,CAAhB;AACA,CAAA,SAAO,OAAP,GAAiB,UAAS,EAAT,EAAa,IAAb,EAAmB,MAAnB,EAA0B;AACzC,CAAA,cAAU,EAAV;AACA,CAAA,QAAG,SAAS,SAAZ,EAAsB,OAAO,EAAP;AACtB,CAAA,YAAO,MAAP;AACE,CAAA,WAAK,CAAL;AAAQ,CAAA,eAAO,UAAS,CAAT,EAAW;AACxB,CAAA,iBAAO,GAAG,IAAH,CAAQ,IAAR,EAAc,CAAd,CAAP;AACD,CAAA,SAFO;AAGR,CAAA,WAAK,CAAL;AAAQ,CAAA,eAAO,UAAS,CAAT,EAAY,CAAZ,EAAc;AAC3B,CAAA,iBAAO,GAAG,IAAH,CAAQ,IAAR,EAAc,CAAd,EAAiB,CAAjB,CAAP;AACD,CAAA,SAFO;AAGR,CAAA,WAAK,CAAL;AAAQ,CAAA,eAAO,UAAS,CAAT,EAAY,CAAZ,EAAe,CAAf,EAAiB;AAC9B,CAAA,iBAAO,GAAG,IAAH,CAAQ,IAAR,EAAc,CAAd,EAAiB,CAAjB,EAAoB,CAApB,CAAP;AACD,CAAA,SAFO;AAPV,CAAA;AAWA,CAAA,WAAO,yBAAuB;AAC5B,CAAA,aAAO,GAAG,KAAH,CAAS,IAAT,EAAe,SAAf,CAAP;AACD,CAAA,KAFD;AAGD,CAAA,GAjBD;;;;;;;;;;ACFA,CAAA,MAAI,SAAYA,cAAA,WAAA,CAAhB;AAAA,CAAA,MACI,OAAYA,cAAA,WAAA,CADhB;AAAA,CAAA,MAEI,OAAYA,cAAA,WAAA,CAFhB;AAAA,CAAA,MAGI,WAAYA,cAAA,aAAA,CAHhB;AAAA,CAAA,MAII,MAAYA,cAAA,YAAA,CAJhB;AAAA,CAAA,MAKI,YAAY,WALhB;;AAOA,CAAA,MAAI,UAAU,SAAV,OAAU,CAAS,IAAT,EAAe,IAAf,EAAqB,MAArB,EAA4B;AACxC,CAAA,QAAI,YAAY,OAAO,QAAQ,CAA/B;AAAA,CAAA,QACI,YAAY,OAAO,QAAQ,CAD/B;AAAA,CAAA,QAEI,YAAY,OAAO,QAAQ,CAF/B;AAAA,CAAA,QAGI,WAAY,OAAO,QAAQ,CAH/B;AAAA,CAAA,QAII,UAAY,OAAO,QAAQ,CAJ/B;AAAA,CAAA,QAKI,SAAY,YAAY,MAAZ,GAAqB,YAAY,OAAO,IAAP,MAAiB,OAAO,IAAP,IAAe,EAAhC,CAAZ,GAAkD,CAAC,OAAO,IAAP,KAAgB,EAAjB,EAAqB,SAArB,CALvF;AAAA,CAAA,QAMI,UAAY,YAAY,IAAZ,GAAmB,KAAK,IAAL,MAAe,KAAK,IAAL,IAAa,EAA5B,CANnC;AAAA,CAAA,QAOI,WAAY,QAAQ,SAAR,MAAuB,QAAQ,SAAR,IAAqB,EAA5C,CAPhB;AAAA,CAAA,QAQI,GARJ;AAAA,CAAA,QAQS,GART;AAAA,CAAA,QAQc,GARd;AAAA,CAAA,QAQmB,GARnB;AASA,CAAA,QAAG,SAAH,EAAa,SAAS,IAAT;AACb,CAAA,SAAI,GAAJ,IAAW,MAAX,EAAkB;;AAEhB,CAAA,YAAM,CAAC,SAAD,IAAc,MAAd,IAAwB,OAAO,GAAP,MAAgB,SAA9C;;AAEA,CAAA,YAAM,CAAC,MAAM,MAAN,GAAe,MAAhB,EAAwB,GAAxB,CAAN;;AAEA,CAAA,YAAM,WAAW,GAAX,GAAiB,IAAI,GAAJ,EAAS,MAAT,CAAjB,GAAoC,YAAY,OAAO,GAAP,IAAc,UAA1B,GAAuC,IAAI,SAAS,IAAb,EAAmB,GAAnB,CAAvC,GAAiE,GAA3G;;AAEA,CAAA,UAAG,MAAH,EAAU,SAAS,MAAT,EAAiB,GAAjB,EAAsB,GAAtB,EAA2B,OAAO,QAAQ,CAA1C;;AAEV,CAAA,UAAG,QAAQ,GAAR,KAAgB,GAAnB,EAAuB,KAAK,OAAL,EAAc,GAAd,EAAmB,GAAnB;AACvB,CAAA,UAAG,YAAY,SAAS,GAAT,KAAiB,GAAhC,EAAoC,SAAS,GAAT,IAAgB,GAAhB;AACrC,CAAA;AACF,CAAA,GAxBD;AAyBA,CAAA,SAAO,IAAP,GAAc,IAAd;;AAEA,CAAA,UAAQ,CAAR,GAAY,CAAZ;AACA,CAAA,UAAQ,CAAR,GAAY,CAAZ;AACA,CAAA,UAAQ,CAAR,GAAY,CAAZ;AACA,CAAA,UAAQ,CAAR,GAAY,CAAZ;AACA,CAAA,UAAQ,CAAR,GAAY,EAAZ;AACA,CAAA,UAAQ,CAAR,GAAY,EAAZ;AACA,CAAA,UAAQ,CAAR,GAAY,EAAZ;AACA,CAAA,UAAQ,CAAR,GAAY,GAAZ;AACA,CAAA,SAAO,OAAP,GAAiB,OAAjB;;;;;;;;;;AC1CA,CAAA,MAAI,OAAWA,cAAA,YAAA,EAAkB,MAAlB,CAAf;AAAA,CAAA,MACI,WAAWA,cAAA,aAAA,CADf;AAAA,CAAA,MAEI,MAAWA,cAAA,WAAA,CAFf;AAAA,CAAA,MAGI,UAAWA,cAAA,aAAA,EAAwB,CAHvC;AAAA,CAAA,MAII,KAAW,CAJf;AAKA,CAAA,MAAI,eAAe,OAAO,YAAP,IAAuB,YAAU;AAClD,CAAA,WAAO,IAAP;AACD,CAAA,GAFD;AAGA,CAAA,MAAI,SAAS,CAACA,cAAA,aAAA,EAAoB,YAAU;AAC1C,CAAA,WAAO,aAAa,OAAO,iBAAP,CAAyB,EAAzB,CAAb,CAAP;AACD,CAAA,GAFa,CAAd;AAGA,CAAA,MAAI,UAAU,SAAV,OAAU,CAAS,EAAT,EAAY;AACxB,CAAA,YAAQ,EAAR,EAAY,IAAZ,EAAkB,EAAC,OAAO;AACxB,CAAA,WAAG,MAAM,EAAE,EADa;AAExB,CAAA,WAAG,EAFqB;AAAA,CAAA,OAAR,EAAlB;AAID,CAAA,GALD;AAMA,CAAA,MAAI,UAAU,SAAV,OAAU,CAAS,EAAT,EAAa,MAAb,EAAoB;;AAEhC,CAAA,QAAG,CAAC,SAAS,EAAT,CAAJ,EAAiB,OAAO,QAAO,EAAP,yCAAO,EAAP,MAAa,QAAb,GAAwB,EAAxB,GAA6B,CAAC,OAAO,EAAP,IAAa,QAAb,GAAwB,GAAxB,GAA8B,GAA/B,IAAsC,EAA1E;AACjB,CAAA,QAAG,CAAC,IAAI,EAAJ,EAAQ,IAAR,CAAJ,EAAkB;;AAEhB,CAAA,UAAG,CAAC,aAAa,EAAb,CAAJ,EAAqB,OAAO,GAAP;;AAErB,CAAA,UAAG,CAAC,MAAJ,EAAW,OAAO,GAAP;;AAEX,CAAA,cAAQ,EAAR;;AAED,CAAA,KAAC,OAAO,GAAG,IAAH,EAAS,CAAhB;AACH,CAAA,GAZD;AAaA,CAAA,MAAI,UAAU,SAAV,OAAU,CAAS,EAAT,EAAa,MAAb,EAAoB;AAChC,CAAA,QAAG,CAAC,IAAI,EAAJ,EAAQ,IAAR,CAAJ,EAAkB;;AAEhB,CAAA,UAAG,CAAC,aAAa,EAAb,CAAJ,EAAqB,OAAO,IAAP;;AAErB,CAAA,UAAG,CAAC,MAAJ,EAAW,OAAO,KAAP;;AAEX,CAAA,cAAQ,EAAR;;AAED,CAAA,KAAC,OAAO,GAAG,IAAH,EAAS,CAAhB;AACH,CAAA,GAVD;;AAYA,CAAA,MAAI,WAAW,SAAX,QAAW,CAAS,EAAT,EAAY;AACzB,CAAA,QAAG,UAAU,KAAK,IAAf,IAAuB,aAAa,EAAb,CAAvB,IAA2C,CAAC,IAAI,EAAJ,EAAQ,IAAR,CAA/C,EAA6D,QAAQ,EAAR;AAC7D,CAAA,WAAO,EAAP;AACD,CAAA,GAHD;AAIA,CAAA,MAAI,OAAO,OAAO,OAAP,GAAiB;AAC1B,CAAA,SAAU,IADgB;AAE1B,CAAA,UAAU,KAFgB;AAG1B,CAAA,aAAU,OAHgB;AAI1B,CAAA,aAAU,OAJgB;AAK1B,CAAA,cAAU;AALgB,CAAA,GAA5B;;;;;;;;;;;;;;;;;;;;;;AC9CA,CAAA,MAAI,SAASA,cAAA,WAAA,CAAb;AAAA,CAAA,MACI,SAAS,oBADb;AAAA,CAAA,MAEI,QAAS,OAAO,MAAP,MAAmB,OAAO,MAAP,IAAiB,EAApC,CAFb;AAGA,CAAA,SAAO,OAAP,GAAiB,UAAS,GAAT,EAAa;AAC5B,CAAA,WAAO,MAAM,GAAN,MAAe,MAAM,GAAN,IAAa,EAA5B,CAAP;AACD,CAAA,GAFD;;;;;;;;;;ACHA,CAAA,MAAI,QAAaA,cAAA,aAAA,EAAqB,KAArB,CAAjB;AAAA,CAAA,MACI,MAAaA,cAAA,YAAA,CADjB;AAAA,CAAA,MAEI,UAAaA,cAAA,WAAA,EAAqB,MAFtC;AAAA,CAAA,MAGI,aAAa,OAAO,OAAP,IAAiB,UAHlC;;AAKA,CAAA,MAAI,WAAW,OAAO,OAAP,GAAiB,UAAS,IAAT,EAAc;AAC5C,CAAA,WAAO,MAAM,IAAN,MAAgB,MAAM,IAAN,IACrB,cAAc,QAAO,IAAP,CAAd,IAA8B,CAAC,aAAa,OAAb,GAAsB,GAAvB,EAA4B,YAAY,IAAxC,CADzB,CAAP;AAED,CAAA,GAHD;;AAKA,CAAA,WAAS,KAAT,GAAiB,KAAjB;;;;;;;;;;ACVA,CAAA,MAAI,MAAMA,cAAA,aAAA,EAAwB,CAAlC;AAAA,CAAA,MACI,MAAMA,cAAA,WAAA,CADV;AAAA,CAAA,MAEI,MAAMA,cAAA,aAAA,EAAkB,aAAlB,CAFV;;AAIA,CAAA,SAAO,OAAP,GAAiB,UAAS,EAAT,EAAa,GAAb,EAAkB,IAAlB,EAAuB;AACtC,CAAA,QAAG,MAAM,CAAC,IAAI,KAAK,OAAO,EAAP,GAAY,GAAG,SAAxB,EAAmC,GAAnC,CAAV,EAAkD,IAAI,EAAJ,EAAQ,GAAR,EAAa,EAAC,cAAc,IAAf,EAAqB,OAAO,GAA5B,EAAb;AACnD,CAAA,GAFD;;;;;;;;;;ACJA,CAAA,UAAQ,CAAR,GAAYA,cAAA,aAAA,CAAZ;;;;;;;;;;;;ACAA,CAAA,SAAO,OAAP,GAAiB,KAAjB;;;;;;;;;;ACAA,CAAA,MAAI,SAAiBA,cAAA,WAAA,CAArB;AAAA,CAAA,MACI,OAAiBA,cAAA,WAAA,CADrB;AAAA,CAAA,MAEI,UAAiBA,cAAA,aAAA,CAFrB;AAAA,CAAA,MAGI,SAAiBA,cAAA,aAAA,CAHrB;AAAA,CAAA,MAII,iBAAiBA,cAAA,aAAA,EAAwB,CAJ7C;AAKA,CAAA,SAAO,OAAP,GAAiB,UAAS,IAAT,EAAc;AAC7B,CAAA,QAAI,UAAU,KAAK,MAAL,KAAgB,KAAK,MAAL,GAAc,UAAU,EAAV,GAAe,OAAO,MAAP,IAAiB,EAA9D,CAAd;AACA,CAAA,QAAG,KAAK,MAAL,CAAY,CAAZ,KAAkB,GAAlB,IAAyB,EAAE,QAAQ,OAAV,CAA5B,EAA+C,eAAe,OAAf,EAAwB,IAAxB,EAA8B,EAAC,OAAO,OAAO,CAAP,CAAS,IAAT,CAAR,EAA9B;AAChD,CAAA,GAHD;;;;;;;;;;ACLA,CAAA,MAAI,WAAW,GAAG,QAAlB;;AAEA,CAAA,SAAO,OAAP,GAAiB,UAAS,EAAT,EAAY;AAC3B,CAAA,WAAO,SAAS,IAAT,CAAc,EAAd,EAAkB,KAAlB,CAAwB,CAAxB,EAA2B,CAAC,CAA5B,CAAP;AACD,CAAA,GAFD;;;;;;;;;;ACFA,CAAA;AACA,CAAA,MAAI,MAAMA,cAAA,aAAA,CAAV;AACA,CAAA,SAAO,OAAP,GAAiB,OAAO,GAAP,EAAY,oBAAZ,CAAiC,CAAjC,IAAsC,MAAtC,GAA+C,UAAS,EAAT,EAAY;AAC1E,CAAA,WAAO,IAAI,EAAJ,KAAW,QAAX,GAAsB,GAAG,KAAH,CAAS,EAAT,CAAtB,GAAqC,OAAO,EAAP,CAA5C;AACD,CAAA,GAFD;;;;;;;;;;ACFA,CAAA;AACA,CAAA,SAAO,OAAP,GAAiB,UAAS,EAAT,EAAY;AAC3B,CAAA,QAAG,MAAM,SAAT,EAAmB,MAAM,UAAU,2BAA2B,EAArC,CAAN;AACnB,CAAA,WAAO,EAAP;AACD,CAAA,GAHD;;;;;;;;;;ACDA,CAAA;AACA,CAAA,MAAI,UAAUA,cAAA,aAAA,CAAd;AAAA,CAAA,MACI,UAAUA,cAAA,aAAA,CADd;AAEA,CAAA,SAAO,OAAP,GAAiB,UAAS,EAAT,EAAY;AAC3B,CAAA,WAAO,QAAQ,QAAQ,EAAR,CAAR,CAAP;AACD,CAAA,GAFD;;;;;;;;;;ACHA,CAAA;AACA,CAAA,MAAI,OAAQ,KAAK,IAAjB;AAAA,CAAA,MACI,QAAQ,KAAK,KADjB;AAEA,CAAA,SAAO,OAAP,GAAiB,UAAS,EAAT,EAAY;AAC3B,CAAA,WAAO,MAAM,KAAK,CAAC,EAAZ,IAAkB,CAAlB,GAAsB,CAAC,KAAK,CAAL,GAAS,KAAT,GAAiB,IAAlB,EAAwB,EAAxB,CAA7B;AACD,CAAA,GAFD;;;;;;;;;;ACHA,CAAA;AACA,CAAA,MAAI,YAAYA,cAAA,YAAA,CAAhB;AAAA,CAAA,MACI,MAAY,KAAK,GADrB;AAEA,CAAA,SAAO,OAAP,GAAiB,UAAS,EAAT,EAAY;AAC3B,CAAA,WAAO,KAAK,CAAL,GAAS,IAAI,UAAU,EAAV,CAAJ,EAAmB,gBAAnB,CAAT,GAAgD,CAAvD,CAD2B;AAE5B,CAAA,GAFD;;;;;;;;;;ACHA,CAAA,MAAI,YAAYA,cAAA,YAAA,CAAhB;AAAA,CAAA,MACI,MAAY,KAAK,GADrB;AAAA,CAAA,MAEI,MAAY,KAAK,GAFrB;AAGA,CAAA,SAAO,OAAP,GAAiB,UAAS,KAAT,EAAgB,MAAhB,EAAuB;AACtC,CAAA,YAAQ,UAAU,KAAV,CAAR;AACA,CAAA,WAAO,QAAQ,CAAR,GAAY,IAAI,QAAQ,MAAZ,EAAoB,CAApB,CAAZ,GAAqC,IAAI,KAAJ,EAAW,MAAX,CAA5C;AACD,CAAA,GAHD;;;;;;;;;;ACHA,CAAA;;AAEA,CAAA,MAAI,YAAYA,cAAA,aAAA,CAAhB;AAAA,CAAA,MACI,WAAYA,cAAA,aAAA,CADhB;AAAA,CAAA,MAEI,UAAYA,cAAA,YAAA,CAFhB;AAGA,CAAA,SAAO,OAAP,GAAiB,UAAS,WAAT,EAAqB;AACpC,CAAA,WAAO,UAAS,KAAT,EAAgB,EAAhB,EAAoB,SAApB,EAA8B;AACnC,CAAA,UAAI,IAAS,UAAU,KAAV,CAAb;AAAA,CAAA,UACI,SAAS,SAAS,EAAE,MAAX,CADb;AAAA,CAAA,UAEI,QAAS,QAAQ,SAAR,EAAmB,MAAnB,CAFb;AAAA,CAAA,UAGI,KAHJ;;AAKA,CAAA,UAAG,eAAe,MAAM,EAAxB,EAA2B,OAAM,SAAS,KAAf,EAAqB;AAC9C,CAAA,gBAAQ,EAAE,OAAF,CAAR;AACA,CAAA,YAAG,SAAS,KAAZ,EAAkB,OAAO,IAAP;;AAEnB,CAAA,OAJD,MAIO,OAAK,SAAS,KAAd,EAAqB,OAArB;AAA6B,CAAA,YAAG,eAAe,SAAS,CAA3B,EAA6B;AAC/D,CAAA,cAAG,EAAE,KAAF,MAAa,EAAhB,EAAmB,OAAO,eAAe,KAAf,IAAwB,CAA/B;AACpB,CAAA;AAFM,CAAA,OAEL,OAAO,CAAC,WAAD,IAAgB,CAAC,CAAxB;AACH,CAAA,KAbD;AAcD,CAAA,GAfD;;;;;;;;;;ACLA,CAAA,MAAI,SAASA,cAAA,aAAA,EAAqB,MAArB,CAAb;AAAA,CAAA,MACI,MAASA,cAAA,YAAA,CADb;AAEA,CAAA,SAAO,OAAP,GAAiB,UAAS,GAAT,EAAa;AAC5B,CAAA,WAAO,OAAO,GAAP,MAAgB,OAAO,GAAP,IAAc,IAAI,GAAJ,CAA9B,CAAP;AACD,CAAA,GAFD;;;;;;;;;;ACFA,CAAA,MAAI,MAAeA,cAAA,WAAA,CAAnB;AAAA,CAAA,MACI,YAAeA,cAAA,aAAA,CADnB;AAAA,CAAA,MAEI,eAAeA,cAAA,aAAA,EAA6B,KAA7B,CAFnB;AAAA,CAAA,MAGI,WAAeA,cAAA,aAAA,EAAyB,UAAzB,CAHnB;;AAKA,CAAA,SAAO,OAAP,GAAiB,UAAS,MAAT,EAAiB,KAAjB,EAAuB;AACtC,CAAA,QAAI,IAAS,UAAU,MAAV,CAAb;AAAA,CAAA,QACI,IAAS,CADb;AAAA,CAAA,QAEI,SAAS,EAFb;AAAA,CAAA,QAGI,GAHJ;AAIA,CAAA,SAAI,GAAJ,IAAW,CAAX;AAAa,CAAA,UAAG,OAAO,QAAV,EAAmB,IAAI,CAAJ,EAAO,GAAP,KAAe,OAAO,IAAP,CAAY,GAAZ,CAAf;AAAhC,CAAA,KALsC;AAOtC,CAAA,WAAM,MAAM,MAAN,GAAe,CAArB;AAAuB,CAAA,UAAG,IAAI,CAAJ,EAAO,MAAM,MAAM,GAAN,CAAb,CAAH,EAA4B;AACjD,CAAA,SAAC,aAAa,MAAb,EAAqB,GAArB,CAAD,IAA8B,OAAO,IAAP,CAAY,GAAZ,CAA9B;AACD,CAAA;AAFD,CAAA,KAGA,OAAO,MAAP;AACD,CAAA,GAXD;;;;;;;;;;ACLA,CAAA;AACA,CAAA,SAAO,OAAP,GACE,+FADe,CAEf,KAFe,CAET,GAFS,CAAjB;;;;;;;;;;ACDA,CAAA;AACA,CAAA,MAAI,QAAcA,cAAA,aAAA,CAAlB;AAAA,CAAA,MACI,cAAcA,cAAA,aAAA,CADlB;;AAGA,CAAA,SAAO,OAAP,GAAiB,OAAO,IAAP,IAAe,SAAS,IAAT,CAAc,CAAd,EAAgB;AAC9C,CAAA,WAAO,MAAM,CAAN,EAAS,WAAT,CAAP;AACD,CAAA,GAFD;;;;;;;;;;ACJA,CAAA,MAAI,UAAYA,cAAA,aAAA,CAAhB;AAAA,CAAA,MACI,YAAYA,cAAA,aAAA,CADhB;AAEA,CAAA,SAAO,OAAP,GAAiB,UAAS,MAAT,EAAiB,EAAjB,EAAoB;AACnC,CAAA,QAAI,IAAS,UAAU,MAAV,CAAb;AAAA,CAAA,QACI,OAAS,QAAQ,CAAR,CADb;AAAA,CAAA,QAEI,SAAS,KAAK,MAFlB;AAAA,CAAA,QAGI,QAAS,CAHb;AAAA,CAAA,QAII,GAJJ;AAKA,CAAA,WAAM,SAAS,KAAf;AAAqB,CAAA,UAAG,EAAE,MAAM,KAAK,OAAL,CAAR,MAA2B,EAA9B,EAAiC,OAAO,GAAP;AAAtD,CAAA;AACD,CAAA,GAPD;;;;;;;;;;ACFA,CAAA,UAAQ,CAAR,GAAY,OAAO,qBAAnB;;;;;;;;;;;;ACAA,CAAA,UAAQ,CAAR,GAAY,GAAG,oBAAf;;;;;;;;;;;;ACAA,CAAA;AACA,CAAA,MAAI,UAAUA,cAAA,aAAA,CAAd;AAAA,CAAA,MACI,OAAUA,cAAA,aAAA,CADd;AAAA,CAAA,MAEI,MAAUA,cAAA,aAAA,CAFd;AAGA,CAAA,SAAO,OAAP,GAAiB,UAAS,EAAT,EAAY;AAC3B,CAAA,QAAI,SAAa,QAAQ,EAAR,CAAjB;AAAA,CAAA,QACI,aAAa,KAAK,CADtB;AAEA,CAAA,QAAG,UAAH,EAAc;AACZ,CAAA,UAAI,UAAU,WAAW,EAAX,CAAd;AAAA,CAAA,UACI,SAAU,IAAI,CADlB;AAAA,CAAA,UAEI,IAAU,CAFd;AAAA,CAAA,UAGI,GAHJ;AAIA,CAAA,aAAM,QAAQ,MAAR,GAAiB,CAAvB;AAAyB,CAAA,YAAG,OAAO,IAAP,CAAY,EAAZ,EAAgB,MAAM,QAAQ,GAAR,CAAtB,CAAH,EAAuC,OAAO,IAAP,CAAY,GAAZ;AAAhE,CAAA;AACD,CAAA,KAAC,OAAO,MAAP;AACH,CAAA,GAVD;;;;;;;;;;ACJA,CAAA;AACA,CAAA,MAAI,MAAMA,cAAA,aAAA,CAAV;AACA,CAAA,SAAO,OAAP,GAAiB,MAAM,OAAN,IAAiB,SAAS,OAAT,CAAiB,GAAjB,EAAqB;AACrD,CAAA,WAAO,IAAI,GAAJ,KAAY,OAAnB;AACD,CAAA,GAFD;;;;;;;;;;ACFA,CAAA,MAAI,KAAWA,cAAA,aAAA,CAAf;AAAA,CAAA,MACI,WAAWA,cAAA,WAAA,CADf;AAAA,CAAA,MAEI,UAAWA,cAAA,aAAA,CAFf;;AAIA,CAAA,SAAO,OAAP,GAAiBA,cAAA,WAAA,IAA4B,OAAO,gBAAnC,GAAsD,SAAS,gBAAT,CAA0B,CAA1B,EAA6B,UAA7B,EAAwC;AAC7G,CAAA,aAAS,CAAT;AACA,CAAA,QAAI,OAAS,QAAQ,UAAR,CAAb;AAAA,CAAA,QACI,SAAS,KAAK,MADlB;AAAA,CAAA,QAEI,IAAI,CAFR;AAAA,CAAA,QAGI,CAHJ;AAIA,CAAA,WAAM,SAAS,CAAf;AAAiB,CAAA,SAAG,CAAH,CAAK,CAAL,EAAQ,IAAI,KAAK,GAAL,CAAZ,EAAuB,WAAW,CAAX,CAAvB;AAAjB,CAAA,KACA,OAAO,CAAP;AACD,CAAA,GARD;;;;;;;;;;ACJA,CAAA,SAAO,OAAP,GAAiBA,cAAA,WAAA,EAAqB,QAArB,IAAiC,SAAS,eAA3D;;;;;;;;;;ACAA,CAAA;AACA,CAAA,MAAI,WAAcA,cAAA,WAAA,CAAlB;AAAA,CAAA,MACI,MAAcA,cAAA,cAAA,CADlB;AAAA,CAAA,MAEI,cAAcA,cAAA,aAAA,CAFlB;AAAA,CAAA,MAGI,WAAcA,cAAA,aAAA,EAAyB,UAAzB,CAHlB;AAAA,CAAA,MAII,QAAc,SAAd,KAAc,GAAU,aAJ5B;AAAA,CAAA,MAKI,YAAc,WALlB;;;AAQA,CAAA,MAAI,cAAa,sBAAU;;AAEzB,CAAA,QAAI,SAASA,cAAA,aAAA,EAAyB,QAAzB,CAAb;AAAA,CAAA,QACI,IAAS,YAAY,MADzB;AAAA,CAAA,QAEI,KAAS,GAFb;AAAA,CAAA,QAGI,KAAS,GAHb;AAAA,CAAA,QAII,cAJJ;AAKA,CAAA,WAAO,KAAP,CAAa,OAAb,GAAuB,MAAvB;AACA,CAAA,kBAAA,aAAA,EAAmB,WAAnB,CAA+B,MAA/B;AACA,CAAA,WAAO,GAAP,GAAa,aAAb,CATyB;;;AAYzB,CAAA,qBAAiB,OAAO,aAAP,CAAqB,QAAtC;AACA,CAAA,mBAAe,IAAf;AACA,CAAA,mBAAe,KAAf,CAAqB,KAAK,QAAL,GAAgB,EAAhB,GAAqB,mBAArB,GAA2C,EAA3C,GAAgD,SAAhD,GAA4D,EAAjF;AACA,CAAA,mBAAe,KAAf;AACA,CAAA,kBAAa,eAAe,CAA5B;AACA,CAAA,WAAM,GAAN;AAAU,CAAA,aAAO,YAAW,SAAX,EAAsB,YAAY,CAAZ,CAAtB,CAAP;AAAV,CAAA,KACA,OAAO,aAAP;AACD,CAAA,GAnBD;;AAqBA,CAAA,SAAO,OAAP,GAAiB,OAAO,MAAP,IAAiB,SAAS,MAAT,CAAgB,CAAhB,EAAmB,UAAnB,EAA8B;AAC9D,CAAA,QAAI,MAAJ;AACA,CAAA,QAAG,MAAM,IAAT,EAAc;AACZ,CAAA,YAAM,SAAN,IAAmB,SAAS,CAAT,CAAnB;AACA,CAAA,eAAS,IAAI,KAAJ,EAAT;AACA,CAAA,YAAM,SAAN,IAAmB,IAAnB;;AAEA,CAAA,aAAO,QAAP,IAAmB,CAAnB;AACD,CAAA,KAND,MAMO,SAAS,aAAT;AACP,CAAA,WAAO,eAAe,SAAf,GAA2B,MAA3B,GAAoC,IAAI,MAAJ,EAAY,UAAZ,CAA3C;AACD,CAAA,GAVD;;;;;;;;;;AC9BA,CAAA;AACA,CAAA,MAAI,QAAaA,cAAA,aAAA,CAAjB;AAAA,CAAA,MACI,aAAaA,cAAA,aAAA,EAA4B,MAA5B,CAAmC,QAAnC,EAA6C,WAA7C,CADjB;;AAGA,CAAA,UAAQ,CAAR,GAAY,OAAO,mBAAP,IAA8B,SAAS,mBAAT,CAA6B,CAA7B,EAA+B;AACvE,CAAA,WAAO,MAAM,CAAN,EAAS,UAAT,CAAP;AACD,CAAA,GAFD;;;;;;;;;;;;ACJA,CAAA;AACA,CAAA,MAAI,YAAYA,cAAA,aAAA,CAAhB;AAAA,CAAA,MACI,OAAYA,cAAA,aAAA,EAA0B,CAD1C;AAAA,CAAA,MAEI,WAAY,GAAG,QAFnB;;AAIA,CAAA,MAAI,cAAc,QAAO,MAAP,yCAAO,MAAP,MAAiB,QAAjB,IAA6B,MAA7B,IAAuC,OAAO,mBAA9C,GACd,OAAO,mBAAP,CAA2B,MAA3B,CADc,GACuB,EADzC;;AAGA,CAAA,MAAI,iBAAiB,SAAjB,cAAiB,CAAS,EAAT,EAAY;AAC/B,CAAA,QAAI;AACF,CAAA,aAAO,KAAK,EAAL,CAAP;AACD,CAAA,KAFD,CAEE,OAAM,CAAN,EAAQ;AACR,CAAA,aAAO,YAAY,KAAZ,EAAP;AACD,CAAA;AACF,CAAA,GAND;;AAQA,CAAA,SAAO,OAAP,CAAe,CAAf,GAAmB,SAAS,mBAAT,CAA6B,EAA7B,EAAgC;AACjD,CAAA,WAAO,eAAe,SAAS,IAAT,CAAc,EAAd,KAAqB,iBAApC,GAAwD,eAAe,EAAf,CAAxD,GAA6E,KAAK,UAAU,EAAV,CAAL,CAApF;AACD,CAAA,GAFD;;;;;;;;;;;;;;AChBA,CAAA,MAAI,MAAiBA,cAAA,aAAA,CAArB;AAAA,CAAA,MACI,aAAiBA,cAAA,aAAA,CADrB;AAAA,CAAA,MAEI,YAAiBA,cAAA,aAAA,CAFrB;AAAA,CAAA,MAGI,cAAiBA,cAAA,aAAA,CAHrB;AAAA,CAAA,MAII,MAAiBA,cAAA,WAAA,CAJrB;AAAA,CAAA,MAKI,iBAAiBA,cAAA,aAAA,CALrB;AAAA,CAAA,MAMI,OAAiB,OAAO,wBAN5B;;AAQA,CAAA,UAAQ,CAAR,GAAYA,cAAA,WAAA,IAA4B,IAA5B,GAAmC,SAAS,wBAAT,CAAkC,CAAlC,EAAqC,CAArC,EAAuC;AACpF,CAAA,QAAI,UAAU,CAAV,CAAJ;AACA,CAAA,QAAI,YAAY,CAAZ,EAAe,IAAf,CAAJ;AACA,CAAA,QAAG,cAAH,EAAkB,IAAI;AACpB,CAAA,aAAO,KAAK,CAAL,EAAQ,CAAR,CAAP;AACD,CAAA,KAFiB,CAEhB,OAAM,CAAN,EAAQ;AACV,CAAA,QAAG,IAAI,CAAJ,EAAO,CAAP,CAAH,EAAa,OAAO,WAAW,CAAC,IAAI,CAAJ,CAAM,IAAN,CAAW,CAAX,EAAc,CAAd,CAAZ,EAA8B,EAAE,CAAF,CAA9B,CAAP;AACd,CAAA,GAPD;;;;;;;;;;;;ACRA,CAAA;;;AAEA,CAAA,MAAI,SAAiBA,cAAA,WAAA,CAArB;AAAA,CAAA,MACI,MAAiBA,cAAA,WAAA,CADrB;AAAA,CAAA,MAEI,cAAiBA,cAAA,WAAA,CAFrB;AAAA,CAAA,MAGI,UAAiBA,cAAA,aAAA,CAHrB;AAAA,CAAA,MAII,WAAiBA,cAAA,aAAA,CAJrB;AAAA,CAAA,MAKI,OAAiBA,cAAA,WAAA,EAAmB,GALxC;AAAA,CAAA,MAMI,SAAiBA,cAAA,aAAA,CANrB;AAAA,CAAA,MAOI,SAAiBA,cAAA,aAAA,CAPrB;AAAA,CAAA,MAQI,iBAAiBA,cAAA,aAAA,CARrB;AAAA,CAAA,MASI,MAAiBA,cAAA,YAAA,CATrB;AAAA,CAAA,MAUI,MAAiBA,cAAA,aAAA,CAVrB;AAAA,CAAA,MAWI,SAAiBA,cAAA,aAAA,CAXrB;AAAA,CAAA,MAYI,YAAiBA,cAAA,aAAA,CAZrB;AAAA,CAAA,MAaI,QAAiBA,cAAA,YAAA,CAbrB;AAAA,CAAA,MAcI,WAAiBA,cAAA,YAAA,CAdrB;AAAA,CAAA,MAeI,UAAiBA,cAAA,cAAA,CAfrB;AAAA,CAAA,MAgBI,WAAiBA,cAAA,WAAA,CAhBrB;AAAA,CAAA,MAiBI,YAAiBA,cAAA,aAAA,CAjBrB;AAAA,CAAA,MAkBI,cAAiBA,cAAA,aAAA,CAlBrB;AAAA,CAAA,MAmBI,aAAiBA,cAAA,aAAA,CAnBrB;AAAA,CAAA,MAoBI,UAAiBA,cAAA,aAAA,CApBrB;AAAA,CAAA,MAqBI,UAAiBA,cAAA,cAAA,CArBrB;AAAA,CAAA,MAsBI,QAAiBA,cAAA,aAAA,CAtBrB;AAAA,CAAA,MAuBI,MAAiBA,cAAA,aAAA,CAvBrB;AAAA,CAAA,MAwBI,QAAiBA,cAAA,aAAA,CAxBrB;AAAA,CAAA,MAyBI,OAAiB,MAAM,CAzB3B;AAAA,CAAA,MA0BI,KAAiB,IAAI,CA1BzB;AAAA,CAAA,MA2BI,OAAiB,QAAQ,CA3B7B;AAAA,CAAA,MA4BI,UAAiB,OAAO,MA5B5B;AAAA,CAAA,MA6BI,QAAiB,OAAO,IA7B5B;AAAA,CAAA,MA8BI,aAAiB,SAAS,MAAM,SA9BpC;AAAA,CAAA,MA+BI,YAAiB,WA/BrB;AAAA,CAAA,MAgCI,SAAiB,IAAI,SAAJ,CAhCrB;AAAA,CAAA,MAiCI,eAAiB,IAAI,aAAJ,CAjCrB;AAAA,CAAA,MAkCI,SAAiB,GAAG,oBAlCxB;AAAA,CAAA,MAmCI,iBAAiB,OAAO,iBAAP,CAnCrB;AAAA,CAAA,MAoCI,aAAiB,OAAO,SAAP,CApCrB;AAAA,CAAA,MAqCI,YAAiB,OAAO,YAAP,CArCrB;AAAA,CAAA,MAsCI,cAAiB,OAAO,SAAP,CAtCrB;AAAA,CAAA,MAuCI,aAAiB,OAAO,OAAP,IAAkB,UAvCvC;AAAA,CAAA,MAwCI,UAAiB,OAAO,OAxC5B;;AA0CA,CAAA,MAAI,SAAS,CAAC,OAAD,IAAY,CAAC,QAAQ,SAAR,CAAb,IAAmC,CAAC,QAAQ,SAAR,EAAmB,SAApE;;;AAGA,CAAA,MAAI,gBAAgB,eAAe,OAAO,YAAU;AAClD,CAAA,WAAO,QAAQ,GAAG,EAAH,EAAO,GAAP,EAAY;AACzB,CAAA,WAAK,eAAU;AAAE,CAAA,eAAO,GAAG,IAAH,EAAS,GAAT,EAAc,EAAC,OAAO,CAAR,EAAd,EAA0B,CAAjC;AAAqC,CAAA;AAD7B,CAAA,KAAZ,CAAR,EAEH,CAFG,IAEE,CAFT;AAGD,CAAA,GAJkC,CAAf,GAIf,UAAS,EAAT,EAAa,GAAb,EAAkB,CAAlB,EAAoB;AACvB,CAAA,QAAI,YAAY,KAAK,WAAL,EAAkB,GAAlB,CAAhB;AACA,CAAA,QAAG,SAAH,EAAa,OAAO,YAAY,GAAZ,CAAP;AACb,CAAA,OAAG,EAAH,EAAO,GAAP,EAAY,CAAZ;AACA,CAAA,QAAG,aAAa,OAAO,WAAvB,EAAmC,GAAG,WAAH,EAAgB,GAAhB,EAAqB,SAArB;AACpC,CAAA,GATmB,GAShB,EATJ;;AAWA,CAAA,MAAI,OAAO,SAAP,IAAO,CAAS,GAAT,EAAa;AACtB,CAAA,QAAI,MAAM,WAAW,GAAX,IAAkB,QAAQ,QAAQ,SAAR,CAAR,CAA5B;AACA,CAAA,QAAI,EAAJ,GAAS,GAAT;AACA,CAAA,WAAO,GAAP;AACD,CAAA,GAJD;;AAMA,CAAA,MAAI,WAAW,cAAcC,QAAO,QAAQ,QAAf,KAA2B,QAAzC,GAAoD,UAAS,EAAT,EAAY;AAC7E,CAAA,WAAO,QAAO,EAAP,yCAAO,EAAP,MAAa,QAApB;AACD,CAAA,GAFc,GAEX,UAAS,EAAT,EAAY;AACd,CAAA,WAAO,cAAc,OAArB;AACD,CAAA,GAJD;;AAMA,CAAA,MAAI,kBAAkB,SAAS,cAAT,CAAwB,EAAxB,EAA4B,GAA5B,EAAiC,CAAjC,EAAmC;AACvD,CAAA,QAAG,OAAO,WAAV,EAAsB,gBAAgB,SAAhB,EAA2B,GAA3B,EAAgC,CAAhC;AACtB,CAAA,aAAS,EAAT;AACA,CAAA,UAAM,YAAY,GAAZ,EAAiB,IAAjB,CAAN;AACA,CAAA,aAAS,CAAT;AACA,CAAA,QAAG,IAAI,UAAJ,EAAgB,GAAhB,CAAH,EAAwB;AACtB,CAAA,UAAG,CAAC,EAAE,UAAN,EAAiB;AACf,CAAA,YAAG,CAAC,IAAI,EAAJ,EAAQ,MAAR,CAAJ,EAAoB,GAAG,EAAH,EAAO,MAAP,EAAe,WAAW,CAAX,EAAc,EAAd,CAAf;AACpB,CAAA,WAAG,MAAH,EAAW,GAAX,IAAkB,IAAlB;AACD,CAAA,OAHD,MAGO;AACL,CAAA,YAAG,IAAI,EAAJ,EAAQ,MAAR,KAAmB,GAAG,MAAH,EAAW,GAAX,CAAtB,EAAsC,GAAG,MAAH,EAAW,GAAX,IAAkB,KAAlB;AACtC,CAAA,YAAI,QAAQ,CAAR,EAAW,EAAC,YAAY,WAAW,CAAX,EAAc,KAAd,CAAb,EAAX,CAAJ;AACD,CAAA,OAAC,OAAO,cAAc,EAAd,EAAkB,GAAlB,EAAuB,CAAvB,CAAP;AACH,CAAA,KAAC,OAAO,GAAG,EAAH,EAAO,GAAP,EAAY,CAAZ,CAAP;AACH,CAAA,GAdD;AAeA,CAAA,MAAI,oBAAoB,SAAS,gBAAT,CAA0B,EAA1B,EAA8B,CAA9B,EAAgC;AACtD,CAAA,aAAS,EAAT;AACA,CAAA,QAAI,OAAO,SAAS,IAAI,UAAU,CAAV,CAAb,CAAX;AAAA,CAAA,QACI,IAAO,CADX;AAAA,CAAA,QAEI,IAAI,KAAK,MAFb;AAAA,CAAA,QAGI,GAHJ;AAIA,CAAA,WAAM,IAAI,CAAV;AAAY,CAAA,sBAAgB,EAAhB,EAAoB,MAAM,KAAK,GAAL,CAA1B,EAAqC,EAAE,GAAF,CAArC;AAAZ,CAAA,KACA,OAAO,EAAP;AACD,CAAA,GARD;AASA,CAAA,MAAI,UAAU,SAAS,MAAT,CAAgB,EAAhB,EAAoB,CAApB,EAAsB;AAClC,CAAA,WAAO,MAAM,SAAN,GAAkB,QAAQ,EAAR,CAAlB,GAAgC,kBAAkB,QAAQ,EAAR,CAAlB,EAA+B,CAA/B,CAAvC;AACD,CAAA,GAFD;AAGA,CAAA,MAAI,wBAAwB,SAAS,oBAAT,CAA8B,GAA9B,EAAkC;AAC5D,CAAA,QAAI,IAAI,OAAO,IAAP,CAAY,IAAZ,EAAkB,MAAM,YAAY,GAAZ,EAAiB,IAAjB,CAAxB,CAAR;AACA,CAAA,QAAG,SAAS,WAAT,IAAwB,IAAI,UAAJ,EAAgB,GAAhB,CAAxB,IAAgD,CAAC,IAAI,SAAJ,EAAe,GAAf,CAApD,EAAwE,OAAO,KAAP;AACxE,CAAA,WAAO,KAAK,CAAC,IAAI,IAAJ,EAAU,GAAV,CAAN,IAAwB,CAAC,IAAI,UAAJ,EAAgB,GAAhB,CAAzB,IAAiD,IAAI,IAAJ,EAAU,MAAV,KAAqB,KAAK,MAAL,EAAa,GAAb,CAAtE,GAA0F,CAA1F,GAA8F,IAArG;AACD,CAAA,GAJD;AAKA,CAAA,MAAI,4BAA4B,SAAS,wBAAT,CAAkC,EAAlC,EAAsC,GAAtC,EAA0C;AACxE,CAAA,SAAM,UAAU,EAAV,CAAN;AACA,CAAA,UAAM,YAAY,GAAZ,EAAiB,IAAjB,CAAN;AACA,CAAA,QAAG,OAAO,WAAP,IAAsB,IAAI,UAAJ,EAAgB,GAAhB,CAAtB,IAA8C,CAAC,IAAI,SAAJ,EAAe,GAAf,CAAlD,EAAsE;AACtE,CAAA,QAAI,IAAI,KAAK,EAAL,EAAS,GAAT,CAAR;AACA,CAAA,QAAG,KAAK,IAAI,UAAJ,EAAgB,GAAhB,CAAL,IAA6B,EAAE,IAAI,EAAJ,EAAQ,MAAR,KAAmB,GAAG,MAAH,EAAW,GAAX,CAArB,CAAhC,EAAsE,EAAE,UAAF,GAAe,IAAf;AACtE,CAAA,WAAO,CAAP;AACD,CAAA,GAPD;AAQA,CAAA,MAAI,uBAAuB,SAAS,mBAAT,CAA6B,EAA7B,EAAgC;AACzD,CAAA,QAAI,QAAS,KAAK,UAAU,EAAV,CAAL,CAAb;AAAA,CAAA,QACI,SAAS,EADb;AAAA,CAAA,QAEI,IAAS,CAFb;AAAA,CAAA,QAGI,GAHJ;AAIA,CAAA,WAAM,MAAM,MAAN,GAAe,CAArB,EAAuB;AACrB,CAAA,UAAG,CAAC,IAAI,UAAJ,EAAgB,MAAM,MAAM,GAAN,CAAtB,CAAD,IAAsC,OAAO,MAA7C,IAAuD,OAAO,IAAjE,EAAsE,OAAO,IAAP,CAAY,GAAZ;AACvE,CAAA,KAAC,OAAO,MAAP;AACH,CAAA,GARD;AASA,CAAA,MAAI,yBAAyB,SAAS,qBAAT,CAA+B,EAA/B,EAAkC;AAC7D,CAAA,QAAI,QAAS,OAAO,WAApB;AAAA,CAAA,QACI,QAAS,KAAK,QAAQ,SAAR,GAAoB,UAAU,EAAV,CAAzB,CADb;AAAA,CAAA,QAEI,SAAS,EAFb;AAAA,CAAA,QAGI,IAAS,CAHb;AAAA,CAAA,QAII,GAJJ;AAKA,CAAA,WAAM,MAAM,MAAN,GAAe,CAArB,EAAuB;AACrB,CAAA,UAAG,IAAI,UAAJ,EAAgB,MAAM,MAAM,GAAN,CAAtB,MAAsC,QAAQ,IAAI,WAAJ,EAAiB,GAAjB,CAAR,GAAgC,IAAtE,CAAH,EAA+E,OAAO,IAAP,CAAY,WAAW,GAAX,CAAZ;AAChF,CAAA,KAAC,OAAO,MAAP;AACH,CAAA,GATD;;;AAYA,CAAA,MAAG,CAAC,UAAJ,EAAe;AACb,CAAA,cAAU,SAAS,OAAT,GAAiB;AACzB,CAAA,UAAG,gBAAgB,OAAnB,EAA2B,MAAM,UAAU,8BAAV,CAAN;AAC3B,CAAA,UAAI,MAAM,IAAI,UAAU,MAAV,GAAmB,CAAnB,GAAuB,UAAU,CAAV,CAAvB,GAAsC,SAA1C,CAAV;AACA,CAAA,UAAI,OAAO,SAAP,IAAO,CAAS,KAAT,EAAe;AACxB,CAAA,YAAG,SAAS,WAAZ,EAAwB,KAAK,IAAL,CAAU,SAAV,EAAqB,KAArB;AACxB,CAAA,YAAG,IAAI,IAAJ,EAAU,MAAV,KAAqB,IAAI,KAAK,MAAL,CAAJ,EAAkB,GAAlB,CAAxB,EAA+C,KAAK,MAAL,EAAa,GAAb,IAAoB,KAApB;AAC/C,CAAA,sBAAc,IAAd,EAAoB,GAApB,EAAyB,WAAW,CAAX,EAAc,KAAd,CAAzB;AACD,CAAA,OAJD;AAKA,CAAA,UAAG,eAAe,MAAlB,EAAyB,cAAc,WAAd,EAA2B,GAA3B,EAAgC,EAAC,cAAc,IAAf,EAAqB,KAAK,IAA1B,EAAhC;AACzB,CAAA,aAAO,KAAK,GAAL,CAAP;AACD,CAAA,KAVD;AAWA,CAAA,aAAS,QAAQ,SAAR,CAAT,EAA6B,UAA7B,EAAyC,SAAS,QAAT,GAAmB;AAC1D,CAAA,aAAO,KAAK,EAAZ;AACD,CAAA,KAFD;;AAIA,CAAA,UAAM,CAAN,GAAU,yBAAV;AACA,CAAA,QAAI,CAAJ,GAAU,eAAV;AACA,CAAA,kBAAA,aAAA,EAA0B,CAA1B,GAA8B,QAAQ,CAAR,GAAY,oBAA1C;AACA,CAAA,kBAAA,aAAA,EAAyB,CAAzB,GAA8B,qBAA9B;AACA,CAAA,kBAAA,aAAA,EAA0B,CAA1B,GAA8B,sBAA9B;;AAEA,CAAA,QAAG,eAAe,CAACD,cAAA,aAAA,CAAnB,EAAyC;AACvC,CAAA,eAAS,WAAT,EAAsB,sBAAtB,EAA8C,qBAA9C,EAAqE,IAArE;AACD,CAAA;;AAED,CAAA,WAAO,CAAP,GAAW,UAAS,IAAT,EAAc;AACvB,CAAA,aAAO,KAAK,IAAI,IAAJ,CAAL,CAAP;AACD,CAAA,KAFD;AAGD,CAAA;;AAED,CAAA,UAAQ,QAAQ,CAAR,GAAY,QAAQ,CAApB,GAAwB,QAAQ,CAAR,GAAY,CAAC,UAA7C,EAAyD,EAAC,QAAQ,OAAT,EAAzD;;AAEA,CAAA,OAAI,IAAI;;AAEN,CAAA,kHAFgB,CAGhB,KAHgB,CAGV,GAHU,CAAd,EAGU,IAAI,CAHlB,EAGqB,QAAQ,MAAR,GAAiB,CAHtC;AAG0C,CAAA,QAAI,QAAQ,GAAR,CAAJ;AAH1C,CAAA,GAKA,KAAI,IAAI,UAAU,MAAM,IAAI,KAAV,CAAd,EAAgC,IAAI,CAAxC,EAA2C,QAAQ,MAAR,GAAiB,CAA5D;AAAgE,CAAA,cAAU,QAAQ,GAAR,CAAV;AAAhE,CAAA,GAEA,QAAQ,QAAQ,CAAR,GAAY,QAAQ,CAAR,GAAY,CAAC,UAAjC,EAA6C,QAA7C,EAAuD;;AAErD,CAAA,WAAO,cAAS,GAAT,EAAa;AAClB,CAAA,aAAO,IAAI,cAAJ,EAAoB,OAAO,EAA3B,IACH,eAAe,GAAf,CADG,GAEH,eAAe,GAAf,IAAsB,QAAQ,GAAR,CAF1B;AAGD,CAAA,KANoD;;AAQrD,CAAA,YAAQ,SAAS,MAAT,CAAgB,GAAhB,EAAoB;AAC1B,CAAA,UAAG,SAAS,GAAT,CAAH,EAAiB,OAAO,MAAM,cAAN,EAAsB,GAAtB,CAAP;AACjB,CAAA,YAAM,UAAU,MAAM,mBAAhB,CAAN;AACD,CAAA,KAXoD;AAYrD,CAAA,eAAW,qBAAU;AAAE,CAAA,eAAS,IAAT;AAAgB,CAAA,KAZc;AAarD,CAAA,eAAW,qBAAU;AAAE,CAAA,eAAS,KAAT;AAAiB,CAAA;AAba,CAAA,GAAvD;;AAgBA,CAAA,UAAQ,QAAQ,CAAR,GAAY,QAAQ,CAAR,GAAY,CAAC,UAAjC,EAA6C,QAA7C,EAAuD;;AAErD,CAAA,YAAQ,OAF6C;;AAIrD,CAAA,oBAAgB,eAJqC;;AAMrD,CAAA,sBAAkB,iBANmC;;AAQrD,CAAA,8BAA0B,yBAR2B;;AAUrD,CAAA,yBAAqB,oBAVgC;;AAYrD,CAAA,2BAAuB;AAZ8B,CAAA,GAAvD;;;AAgBA,CAAA,WAAS,QAAQ,QAAQ,CAAR,GAAY,QAAQ,CAAR,IAAa,CAAC,UAAD,IAAe,OAAO,YAAU;AACxE,CAAA,QAAI,IAAI,SAAR;;;;AAIA,CAAA,WAAO,WAAW,CAAC,CAAD,CAAX,KAAmB,QAAnB,IAA+B,WAAW,EAAC,GAAG,CAAJ,EAAX,KAAsB,IAArD,IAA6D,WAAW,OAAO,CAAP,CAAX,KAAyB,IAA7F;AACD,CAAA,GANwD,CAA5B,CAApB,EAMJ,MANI,EAMI;AACX,CAAA,eAAW,SAAS,SAAT,CAAmB,EAAnB,EAAsB;AAC/B,CAAA,UAAG,OAAO,SAAP,IAAoB,SAAS,EAAT,CAAvB,EAAoC,OADL;AAE/B,CAAA,UAAI,OAAO,CAAC,EAAD,CAAX;AAAA,CAAA,UACI,IAAO,CADX;AAAA,CAAA,UAEI,QAFJ;AAAA,CAAA,UAEc,SAFd;AAGA,CAAA,aAAM,UAAU,MAAV,GAAmB,CAAzB;AAA2B,CAAA,aAAK,IAAL,CAAU,UAAU,GAAV,CAAV;AAA3B,CAAA,OACA,WAAW,KAAK,CAAL,CAAX;AACA,CAAA,UAAG,OAAO,QAAP,IAAmB,UAAtB,EAAiC,YAAY,QAAZ;AACjC,CAAA,UAAG,aAAa,CAAC,QAAQ,QAAR,CAAjB,EAAmC,WAAW,kBAAS,GAAT,EAAc,KAAd,EAAoB;AAChE,CAAA,YAAG,SAAH,EAAa,QAAQ,UAAU,IAAV,CAAe,IAAf,EAAqB,GAArB,EAA0B,KAA1B,CAAR;AACb,CAAA,YAAG,CAAC,SAAS,KAAT,CAAJ,EAAoB,OAAO,KAAP;AACrB,CAAA,OAHkC;AAInC,CAAA,WAAK,CAAL,IAAU,QAAV;AACA,CAAA,aAAO,WAAW,KAAX,CAAiB,KAAjB,EAAwB,IAAxB,CAAP;AACD,CAAA;AAfU,CAAA,GANJ,CAAT;;;AAyBA,CAAA,UAAQ,SAAR,EAAmB,YAAnB,KAAoCA,cAAA,WAAA,EAAmB,QAAQ,SAAR,CAAnB,EAAuC,YAAvC,EAAqD,QAAQ,SAAR,EAAmB,OAAxE,CAApC;;AAEA,CAAA,iBAAe,OAAf,EAAwB,QAAxB;;AAEA,CAAA,iBAAe,IAAf,EAAqB,MAArB,EAA6B,IAA7B;;AAEA,CAAA,iBAAe,OAAO,IAAtB,EAA4B,MAA5B,EAAoC,IAApC;;;;;;AC1OA,CAAA,MAAI,UAAUA,cAAA,aAAA,CAAd;;AAEA,CAAA,UAAQ,QAAQ,CAAhB,EAAmB,QAAnB,EAA6B,EAAC,QAAQA,cAAA,aAAA,CAAT,EAA7B;;;;;;ACFA,CAAA,MAAI,UAAUA,cAAA,aAAA,CAAd;;AAEA,CAAA,UAAQ,QAAQ,CAAR,GAAY,QAAQ,CAAR,GAAY,CAACA,cAAA,WAAA,CAAjC,EAA4D,QAA5D,EAAsE,EAAC,gBAAgBA,cAAA,aAAA,EAAwB,CAAzC,EAAtE;;;;;;ACFA,CAAA,MAAI,UAAUA,cAAA,aAAA,CAAd;;AAEA,CAAA,UAAQ,QAAQ,CAAR,GAAY,QAAQ,CAAR,GAAY,CAACA,cAAA,WAAA,CAAjC,EAA4D,QAA5D,EAAsE,EAAC,kBAAkBA,cAAA,cAAA,CAAnB,EAAtE;;;;;;ACFA,CAAA;AACA,CAAA,MAAI,UAAUA,cAAA,aAAA,CAAd;AAAA,CAAA,MACI,OAAUA,cAAA,WAAA,CADd;AAAA,CAAA,MAEI,QAAUA,cAAA,aAAA,CAFd;AAGA,CAAA,SAAO,OAAP,GAAiB,UAAS,GAAT,EAAc,IAAd,EAAmB;AAClC,CAAA,QAAI,KAAM,CAAC,KAAK,MAAL,IAAe,EAAhB,EAAoB,GAApB,KAA4B,OAAO,GAAP,CAAtC;AAAA,CAAA,QACI,MAAM,EADV;AAEA,CAAA,QAAI,GAAJ,IAAW,KAAK,EAAL,CAAX;AACA,CAAA,YAAQ,QAAQ,CAAR,GAAY,QAAQ,CAAR,GAAY,MAAM,YAAU;AAAE,CAAA,SAAG,CAAH;AAAQ,CAAA,KAA1B,CAAhC,EAA6D,QAA7D,EAAuE,GAAvE;AACD,CAAA,GALD;;;;;;;;;;ACJA,CAAA;AACA,CAAA,MAAI,YAA4BA,cAAA,aAAA,CAAhC;AAAA,CAAA,MACI,4BAA4BA,cAAA,aAAA,EAA0B,CAD1D;;AAGA,CAAA,gBAAA,cAAA,EAAyB,0BAAzB,EAAqD,YAAU;AAC7D,CAAA,WAAO,SAAS,wBAAT,CAAkC,EAAlC,EAAsC,GAAtC,EAA0C;AAC/C,CAAA,aAAO,0BAA0B,UAAU,EAAV,CAA1B,EAAyC,GAAzC,CAAP;AACD,CAAA,KAFD;AAGD,CAAA,GAJD;;;;;;ACJA,CAAA;AACA,CAAA,MAAI,UAAUA,cAAA,aAAA,CAAd;AACA,CAAA,SAAO,OAAP,GAAiB,UAAS,EAAT,EAAY;AAC3B,CAAA,WAAO,OAAO,QAAQ,EAAR,CAAP,CAAP;AACD,CAAA,GAFD;;;;;;;;;;ACFA,CAAA;AACA,CAAA,MAAI,MAAcA,cAAA,WAAA,CAAlB;AAAA,CAAA,MACI,WAAcA,cAAA,aAAA,CADlB;AAAA,CAAA,MAEI,WAAcA,cAAA,aAAA,EAAyB,UAAzB,CAFlB;AAAA,CAAA,MAGI,cAAc,OAAO,SAHzB;;AAKA,CAAA,SAAO,OAAP,GAAiB,OAAO,cAAP,IAAyB,UAAS,CAAT,EAAW;AACnD,CAAA,QAAI,SAAS,CAAT,CAAJ;AACA,CAAA,QAAG,IAAI,CAAJ,EAAO,QAAP,CAAH,EAAoB,OAAO,EAAE,QAAF,CAAP;AACpB,CAAA,QAAG,OAAO,EAAE,WAAT,IAAwB,UAAxB,IAAsC,aAAa,EAAE,WAAxD,EAAoE;AAClE,CAAA,aAAO,EAAE,WAAF,CAAc,SAArB;AACD,CAAA,KAAC,OAAO,aAAa,MAAb,GAAsB,WAAtB,GAAoC,IAA3C;AACH,CAAA,GAND;;;;;;;;;;ACNA,CAAA;AACA,CAAA,MAAI,WAAkBA,cAAA,aAAA,CAAtB;AAAA,CAAA,MACI,kBAAkBA,cAAA,cAAA,CADtB;;AAGA,CAAA,gBAAA,cAAA,EAAyB,gBAAzB,EAA2C,YAAU;AACnD,CAAA,WAAO,SAAS,cAAT,CAAwB,EAAxB,EAA2B;AAChC,CAAA,aAAO,gBAAgB,SAAS,EAAT,CAAhB,CAAP;AACD,CAAA,KAFD;AAGD,CAAA,GAJD;;;;;;ACJA,CAAA;AACA,CAAA,MAAI,WAAWA,cAAA,aAAA,CAAf;AAAA,CAAA,MACI,QAAWA,cAAA,aAAA,CADf;;AAGA,CAAA,gBAAA,cAAA,EAAyB,MAAzB,EAAiC,YAAU;AACzC,CAAA,WAAO,SAAS,IAAT,CAAc,EAAd,EAAiB;AACtB,CAAA,aAAO,MAAM,SAAS,EAAT,CAAN,CAAP;AACD,CAAA,KAFD;AAGD,CAAA,GAJD;;;;;;ACJA,CAAA;AACA,CAAA,gBAAA,cAAA,EAAyB,qBAAzB,EAAgD,YAAU;AACxD,CAAA,WAAOA,cAAA,cAAA,EAA8B,CAArC;AACD,CAAA,GAFD;;;;;;ACDA,CAAA;AACA,CAAA,MAAI,WAAWA,cAAA,aAAA,CAAf;AAAA,CAAA,MACI,OAAWA,cAAA,WAAA,EAAmB,QADlC;;AAGA,CAAA,gBAAA,cAAA,EAAyB,QAAzB,EAAmC,UAAS,OAAT,EAAiB;AAClD,CAAA,WAAO,SAAS,MAAT,CAAgB,EAAhB,EAAmB;AACxB,CAAA,aAAO,WAAW,SAAS,EAAT,CAAX,GAA0B,QAAQ,KAAK,EAAL,CAAR,CAA1B,GAA8C,EAArD;AACD,CAAA,KAFD;AAGD,CAAA,GAJD;;;;;;ACJA,CAAA;AACA,CAAA,MAAI,WAAWA,cAAA,aAAA,CAAf;AAAA,CAAA,MACI,OAAWA,cAAA,WAAA,EAAmB,QADlC;;AAGA,CAAA,gBAAA,cAAA,EAAyB,MAAzB,EAAiC,UAAS,KAAT,EAAe;AAC9C,CAAA,WAAO,SAAS,IAAT,CAAc,EAAd,EAAiB;AACtB,CAAA,aAAO,SAAS,SAAS,EAAT,CAAT,GAAwB,MAAM,KAAK,EAAL,CAAN,CAAxB,GAA0C,EAAjD;AACD,CAAA,KAFD;AAGD,CAAA,GAJD;;;;;;ACJA,CAAA;AACA,CAAA,MAAI,WAAWA,cAAA,aAAA,CAAf;AAAA,CAAA,MACI,OAAWA,cAAA,WAAA,EAAmB,QADlC;;AAGA,CAAA,gBAAA,cAAA,EAAyB,mBAAzB,EAA8C,UAAS,kBAAT,EAA4B;AACxE,CAAA,WAAO,SAAS,iBAAT,CAA2B,EAA3B,EAA8B;AACnC,CAAA,aAAO,sBAAsB,SAAS,EAAT,CAAtB,GAAqC,mBAAmB,KAAK,EAAL,CAAnB,CAArC,GAAoE,EAA3E;AACD,CAAA,KAFD;AAGD,CAAA,GAJD;;;;;;ACJA,CAAA;AACA,CAAA,MAAI,WAAWA,cAAA,aAAA,CAAf;;AAEA,CAAA,gBAAA,cAAA,EAAyB,UAAzB,EAAqC,UAAS,SAAT,EAAmB;AACtD,CAAA,WAAO,SAAS,QAAT,CAAkB,EAAlB,EAAqB;AAC1B,CAAA,aAAO,SAAS,EAAT,IAAe,YAAY,UAAU,EAAV,CAAZ,GAA4B,KAA3C,GAAmD,IAA1D;AACD,CAAA,KAFD;AAGD,CAAA,GAJD;;;;;;ACHA,CAAA;AACA,CAAA,MAAI,WAAWA,cAAA,aAAA,CAAf;;AAEA,CAAA,gBAAA,cAAA,EAAyB,UAAzB,EAAqC,UAAS,SAAT,EAAmB;AACtD,CAAA,WAAO,SAAS,QAAT,CAAkB,EAAlB,EAAqB;AAC1B,CAAA,aAAO,SAAS,EAAT,IAAe,YAAY,UAAU,EAAV,CAAZ,GAA4B,KAA3C,GAAmD,IAA1D;AACD,CAAA,KAFD;AAGD,CAAA,GAJD;;;;;;ACHA,CAAA;AACA,CAAA,MAAI,WAAWA,cAAA,aAAA,CAAf;;AAEA,CAAA,gBAAA,cAAA,EAAyB,cAAzB,EAAyC,UAAS,aAAT,EAAuB;AAC9D,CAAA,WAAO,SAAS,YAAT,CAAsB,EAAtB,EAAyB;AAC9B,CAAA,aAAO,SAAS,EAAT,IAAe,gBAAgB,cAAc,EAAd,CAAhB,GAAoC,IAAnD,GAA0D,KAAjE;AACD,CAAA,KAFD;AAGD,CAAA,GAJD;;;;;;ACHA,CAAA;;;AAEA,CAAA,MAAI,UAAWA,cAAA,aAAA,CAAf;AAAA,CAAA,MACI,OAAWA,cAAA,aAAA,CADf;AAAA,CAAA,MAEI,MAAWA,cAAA,aAAA,CAFf;AAAA,CAAA,MAGI,WAAWA,cAAA,aAAA,CAHf;AAAA,CAAA,MAII,UAAWA,cAAA,aAAA,CAJf;AAAA,CAAA,MAKI,UAAW,OAAO,MALtB;;;AAQA,CAAA,SAAO,OAAP,GAAiB,CAAC,OAAD,IAAYA,cAAA,aAAA,EAAoB,YAAU;AACzD,CAAA,QAAI,IAAI,EAAR;AAAA,CAAA,QACI,IAAI,EADR;AAAA,CAAA,QAEI,IAAI,QAFR;AAAA,CAAA,QAGI,IAAI,sBAHR;AAIA,CAAA,MAAE,CAAF,IAAO,CAAP;AACA,CAAA,MAAE,KAAF,CAAQ,EAAR,EAAY,OAAZ,CAAoB,UAAS,CAAT,EAAW;AAAE,CAAA,QAAE,CAAF,IAAO,CAAP;AAAW,CAAA,KAA5C;AACA,CAAA,WAAO,QAAQ,EAAR,EAAY,CAAZ,EAAe,CAAf,KAAqB,CAArB,IAA0B,OAAO,IAAP,CAAY,QAAQ,EAAR,EAAY,CAAZ,CAAZ,EAA4B,IAA5B,CAAiC,EAAjC,KAAwC,CAAzE;AACD,CAAA,GAR4B,CAAZ,GAQZ,SAAS,MAAT,CAAgB,MAAhB,EAAwB,MAAxB,EAA+B;;AAClC,CAAA,QAAI,IAAQ,SAAS,MAAT,CAAZ;AAAA,CAAA,QACI,OAAQ,UAAU,MADtB;AAAA,CAAA,QAEI,QAAQ,CAFZ;AAAA,CAAA,QAGI,aAAa,KAAK,CAHtB;AAAA,CAAA,QAII,SAAa,IAAI,CAJrB;AAKA,CAAA,WAAM,OAAO,KAAb,EAAmB;AACjB,CAAA,UAAI,IAAS,QAAQ,UAAU,OAAV,CAAR,CAAb;AAAA,CAAA,UACI,OAAS,aAAa,QAAQ,CAAR,EAAW,MAAX,CAAkB,WAAW,CAAX,CAAlB,CAAb,GAAgD,QAAQ,CAAR,CAD7D;AAAA,CAAA,UAEI,SAAS,KAAK,MAFlB;AAAA,CAAA,UAGI,IAAS,CAHb;AAAA,CAAA,UAII,GAJJ;AAKA,CAAA,aAAM,SAAS,CAAf;AAAiB,CAAA,YAAG,OAAO,IAAP,CAAY,CAAZ,EAAe,MAAM,KAAK,GAAL,CAArB,CAAH,EAAmC,EAAE,GAAF,IAAS,EAAE,GAAF,CAAT;AAApD,CAAA;AACD,CAAA,KAAC,OAAO,CAAP;AACH,CAAA,GAtBgB,GAsBb,OAtBJ;;;;;;;;;;ACVA,CAAA;AACA,CAAA,MAAI,UAAUA,cAAA,aAAA,CAAd;;AAEA,CAAA,UAAQ,QAAQ,CAAR,GAAY,QAAQ,CAA5B,EAA+B,QAA/B,EAAyC,EAAC,QAAQA,cAAA,aAAA,CAAT,EAAzC;;;;;;ACHA,CAAA;AACA,CAAA,SAAO,OAAP,GAAiB,OAAO,EAAP,IAAa,SAAS,EAAT,CAAY,CAAZ,EAAe,CAAf,EAAiB;AAC7C,CAAA,WAAO,MAAM,CAAN,GAAU,MAAM,CAAN,IAAW,IAAI,CAAJ,KAAU,IAAI,CAAnC,GAAuC,KAAK,CAAL,IAAU,KAAK,CAA7D;AACD,CAAA,GAFD;;;;;;;;;;ACDA,CAAA;AACA,CAAA,MAAI,UAAUA,cAAA,aAAA,CAAd;AACA,CAAA,UAAQ,QAAQ,CAAhB,EAAmB,QAAnB,EAA6B,EAAC,IAAIA,cAAA,YAAA,CAAL,EAA7B;;;;;;ACFA,CAAA;;AAEA,CAAA,MAAI,WAAWA,cAAA,aAAA,CAAf;AAAA,CAAA,MACI,WAAWA,cAAA,WAAA,CADf;AAEA,CAAA,MAAI,QAAQ,SAAR,KAAQ,CAAS,CAAT,EAAY,KAAZ,EAAkB;AAC5B,CAAA,aAAS,CAAT;AACA,CAAA,QAAG,CAAC,SAAS,KAAT,CAAD,IAAoB,UAAU,IAAjC,EAAsC,MAAM,UAAU,QAAQ,2BAAlB,CAAN;AACvC,CAAA,GAHD;AAIA,CAAA,SAAO,OAAP,GAAiB;AACf,CAAA,SAAK,OAAO,cAAP,KAA0B,eAAe,EAAf;AAC7B,CAAA,cAAS,IAAT,EAAe,KAAf,EAAsB,GAAtB,EAA0B;AACxB,CAAA,UAAI;AACF,CAAA,cAAMA,cAAA,YAAA,EAAkB,SAAS,IAA3B,EAAiCA,cAAA,aAAA,EAA0B,CAA1B,CAA4B,OAAO,SAAnC,EAA8C,WAA9C,EAA2D,GAA5F,EAAiG,CAAjG,CAAN;AACA,CAAA,YAAI,IAAJ,EAAU,EAAV;AACA,CAAA,gBAAQ,EAAE,gBAAgB,KAAlB,CAAR;AACD,CAAA,OAJD,CAIE,OAAM,CAAN,EAAQ;AAAE,CAAA,gBAAQ,IAAR;AAAe,CAAA;AAC3B,CAAA,aAAO,SAAS,cAAT,CAAwB,CAAxB,EAA2B,KAA3B,EAAiC;AACtC,CAAA,cAAM,CAAN,EAAS,KAAT;AACA,CAAA,YAAG,KAAH,EAAS,EAAE,SAAF,GAAc,KAAd,CAAT,KACK,IAAI,CAAJ,EAAO,KAAP;AACL,CAAA,eAAO,CAAP;AACD,CAAA,OALD;AAMD,CAAA,KAZD,CAYE,EAZF,EAYM,KAZN,CAD6B,GAad,SAbZ,CADU;AAef,CAAA,WAAO;AAfQ,CAAA,GAAjB;;;;;;;;;;;;;;ACRA,CAAA;AACA,CAAA,MAAI,UAAUA,cAAA,aAAA,CAAd;AACA,CAAA,UAAQ,QAAQ,CAAhB,EAAmB,QAAnB,EAA6B,EAAC,gBAAgBA,cAAA,cAAA,EAAwB,GAAzC,EAA7B;;;;;;ACFA,CAAA;AACA,CAAA,MAAI,MAAMA,cAAA,aAAA,CAAV;AAAA,CAAA,MACI,MAAMA,cAAA,aAAA,EAAkB,aAAlB;;AADV,CAAA;AAAA,CAAA,MAGI,MAAM,IAAI,YAAU;AAAE,CAAA,WAAO,SAAP;AAAmB,CAAA,GAA/B,EAAJ,KAA0C,WAHpD;;;AAMA,CAAA,MAAI,SAAS,SAAT,MAAS,CAAS,EAAT,EAAa,GAAb,EAAiB;AAC5B,CAAA,QAAI;AACF,CAAA,aAAO,GAAG,GAAH,CAAP;AACD,CAAA,KAFD,CAEE,OAAM,CAAN,EAAQ;AACX,CAAA,GAJD;;AAMA,CAAA,SAAO,OAAP,GAAiB,UAAS,EAAT,EAAY;AAC3B,CAAA,QAAI,CAAJ,EAAO,CAAP,EAAU,CAAV;AACA,CAAA,WAAO,OAAO,SAAP,GAAmB,WAAnB,GAAiC,OAAO,IAAP,GAAc;;AAAd,CAAA,MAEpC,QAAQ,IAAI,OAAO,IAAI,OAAO,EAAP,CAAX,EAAuB,GAAvB,CAAZ,KAA4C,QAA5C,GAAuD;;AAAvD,CAAA,MAEA,MAAM,IAAI,CAAJ;;AAAN,CAAA,MAEA,CAAC,IAAI,IAAI,CAAJ,CAAL,KAAgB,QAAhB,IAA4B,OAAO,EAAE,MAAT,IAAmB,UAA/C,GAA4D,WAA5D,GAA0E,CAN9E;AAOD,CAAA,GATD;;;;;;;;;;ACbA,CAAA;;;AAEA,CAAA,MAAI,UAAUA,cAAA,cAAA,CAAd;AAAA,CAAA,MACI,OAAU,EADd;AAEA,CAAA,OAAKA,cAAA,aAAA,EAAkB,aAAlB,CAAL,IAAyC,GAAzC;AACA,CAAA,MAAG,OAAO,EAAP,IAAa,YAAhB,EAA6B;AAC3B,CAAA,kBAAA,aAAA,EAAuB,OAAO,SAA9B,EAAyC,UAAzC,EAAqD,SAAS,QAAT,GAAmB;AACtE,CAAA,aAAO,aAAa,QAAQ,IAAR,CAAb,GAA6B,GAApC;AACD,CAAA,KAFD,EAEG,IAFH;;;;;;;ACNF,CAAA;AACA,CAAA,yBAAO,OAAP,GAAiB,UAAS,EAAT,EAAa,IAAb,EAAmB,IAAnB,EAAwB;AACvC,CAAA,wCAAI,KAAK,SAAS,SAAlB;AACA,CAAA,4CAAO,KAAK,MAAZ;AACE,CAAA,2DAAK,CAAL;AAAQ,CAAA,+EAAO,KAAK,IAAL,GACK,GAAG,IAAH,CAAQ,IAAR,CADZ;AAER,CAAA,2DAAK,CAAL;AAAQ,CAAA,+EAAO,KAAK,GAAG,KAAK,CAAL,CAAH,CAAL,GACK,GAAG,IAAH,CAAQ,IAAR,EAAc,KAAK,CAAL,CAAd,CADZ;AAER,CAAA,2DAAK,CAAL;AAAQ,CAAA,+EAAO,KAAK,GAAG,KAAK,CAAL,CAAH,EAAY,KAAK,CAAL,CAAZ,CAAL,GACK,GAAG,IAAH,CAAQ,IAAR,EAAc,KAAK,CAAL,CAAd,EAAuB,KAAK,CAAL,CAAvB,CADZ;AAER,CAAA,2DAAK,CAAL;AAAQ,CAAA,+EAAO,KAAK,GAAG,KAAK,CAAL,CAAH,EAAY,KAAK,CAAL,CAAZ,EAAqB,KAAK,CAAL,CAArB,CAAL,GACK,GAAG,IAAH,CAAQ,IAAR,EAAc,KAAK,CAAL,CAAd,EAAuB,KAAK,CAAL,CAAvB,EAAgC,KAAK,CAAL,CAAhC,CADZ;AAER,CAAA,2DAAK,CAAL;AAAQ,CAAA,+EAAO,KAAK,GAAG,KAAK,CAAL,CAAH,EAAY,KAAK,CAAL,CAAZ,EAAqB,KAAK,CAAL,CAArB,EAA8B,KAAK,CAAL,CAA9B,CAAL,GACK,GAAG,IAAH,CAAQ,IAAR,EAAc,KAAK,CAAL,CAAd,EAAuB,KAAK,CAAL,CAAvB,EAAgC,KAAK,CAAL,CAAhC,EAAyC,KAAK,CAAL,CAAzC,CADZ;AATV,CAAA,qCAWE,OAAoB,GAAG,KAAH,CAAS,IAAT,EAAe,IAAf,CAApB;AACH,CAAA,mBAdD;;;;;;;;;;ACDA,CAAA;;AACA,CAAA,MAAI,YAAaA,cAAA,aAAA,CAAjB;AAAA,CAAA,MACI,WAAaA,cAAA,aAAA,CADjB;AAAA,CAAA,MAEI,SAAaA,cAAA,cAAA,CAFjB;AAAA,CAAA,MAGI,aAAa,GAAG,KAHpB;AAAA,CAAA,MAII,YAAa,EAJjB;;AAMA,CAAA,MAAI,YAAY,SAAZ,SAAY,CAAS,CAAT,EAAY,GAAZ,EAAiB,IAAjB,EAAsB;AACpC,CAAA,QAAG,EAAE,OAAO,SAAT,CAAH,EAAuB;AACrB,CAAA,WAAI,IAAI,IAAI,EAAR,EAAY,IAAI,CAApB,EAAuB,IAAI,GAA3B,EAAgC,GAAhC;AAAoC,CAAA,UAAE,CAAF,IAAO,OAAO,CAAP,GAAW,GAAlB;AAApC,CAAA,OACA,UAAU,GAAV,IAAiB,SAAS,KAAT,EAAgB,kBAAkB,EAAE,IAAF,CAAO,GAAP,CAAlB,GAAgC,GAAhD,CAAjB;AACD,CAAA,KAAC,OAAO,UAAU,GAAV,EAAe,CAAf,EAAkB,IAAlB,CAAP;AACH,CAAA,GALD;;AAOA,CAAA,SAAO,OAAP,GAAiB,SAAS,IAAT,IAAiB,SAAS,IAAT,CAAc,IAAd,iBAAkC;AAClE,CAAA,QAAI,KAAW,UAAU,IAAV,CAAf;AAAA,CAAA,QACI,WAAW,WAAW,IAAX,CAAgB,SAAhB,EAA2B,CAA3B,CADf;AAEA,CAAA,QAAI,QAAQ,SAAR,KAAQ,gBAAuB;AACjC,CAAA,UAAI,OAAO,SAAS,MAAT,CAAgB,WAAW,IAAX,CAAgB,SAAhB,CAAhB,CAAX;AACA,CAAA,aAAO,gBAAgB,KAAhB,GAAwB,UAAU,EAAV,EAAc,KAAK,MAAnB,EAA2B,IAA3B,CAAxB,GAA2D,OAAO,EAAP,EAAW,IAAX,EAAiB,IAAjB,CAAlE;AACD,CAAA,KAHD;AAIA,CAAA,QAAG,SAAS,GAAG,SAAZ,CAAH,EAA0B,MAAM,SAAN,GAAkB,GAAG,SAArB;AAC1B,CAAA,WAAO,KAAP;AACD,CAAA,GATD;;;;;;;;;;ACdA,CAAA;AACA,CAAA,MAAI,UAAUA,cAAA,aAAA,CAAd;;AAEA,CAAA,UAAQ,QAAQ,CAAhB,EAAmB,UAAnB,EAA+B,EAAC,MAAMA,cAAA,cAAA,CAAP,EAA/B;;;;;;ACHA,CAAA,MAAI,KAAaA,cAAA,aAAA,EAAwB,CAAzC;AAAA,CAAA,MACI,aAAaA,cAAA,aAAA,CADjB;AAAA,CAAA,MAEI,MAAaA,cAAA,WAAA,CAFjB;AAAA,CAAA,MAGI,SAAa,SAAS,SAH1B;AAAA,CAAA,MAII,SAAa,uBAJjB;AAAA,CAAA,MAKI,OAAa,MALjB;;AAOA,CAAA,MAAI,eAAe,OAAO,YAAP,IAAuB,YAAU;AAClD,CAAA,WAAO,IAAP;AACD,CAAA,GAFD;;;AAKA,CAAA,UAAQ,MAAR,IAAkBA,cAAA,WAAA,KAA6B,GAAG,MAAH,EAAW,IAAX,EAAiB;AAC9D,CAAA,kBAAc,IADgD;AAE9D,CAAA,SAAK,eAAU;AACb,CAAA,UAAI;AACF,CAAA,YAAI,OAAO,IAAX;AAAA,CAAA,YACI,OAAO,CAAC,KAAK,IAAN,EAAY,KAAZ,CAAkB,MAAlB,EAA0B,CAA1B,CADX;AAEA,CAAA,YAAI,IAAJ,EAAU,IAAV,KAAmB,CAAC,aAAa,IAAb,CAApB,IAA0C,GAAG,IAAH,EAAS,IAAT,EAAe,WAAW,CAAX,EAAc,IAAd,CAAf,CAA1C;AACA,CAAA,eAAO,IAAP;AACD,CAAA,OALD,CAKE,OAAM,CAAN,EAAQ;AACR,CAAA,eAAO,EAAP;AACD,CAAA;AACF,CAAA;AAX6D,CAAA,GAAjB,CAA/C;;;;;;ACZA,CAAA;;AACA,CAAA,MAAI,WAAiBA,cAAA,aAAA,CAArB;AAAA,CAAA,MACI,iBAAiBA,cAAA,cAAA,CADrB;AAAA,CAAA,MAEI,eAAiBA,cAAA,aAAA,EAAkB,aAAlB,CAFrB;AAAA,CAAA,MAGI,gBAAiB,SAAS,SAH9B;;AAKA,CAAA,MAAG,EAAE,gBAAgB,aAAlB,CAAH,EAAoCA,cAAA,aAAA,EAAwB,CAAxB,CAA0B,aAA1B,EAAyC,YAAzC,EAAuD,EAAC,OAAO,eAAS,CAAT,EAAW;AAC5G,CAAA,UAAG,OAAO,IAAP,IAAe,UAAf,IAA6B,CAAC,SAAS,CAAT,CAAjC,EAA6C,OAAO,KAAP;AAC7C,CAAA,UAAG,CAAC,SAAS,KAAK,SAAd,CAAJ,EAA6B,OAAO,aAAa,IAApB;;AAE7B,CAAA,aAAM,IAAI,eAAe,CAAf,CAAV;AAA4B,CAAA,YAAG,KAAK,SAAL,KAAmB,CAAtB,EAAwB,OAAO,IAAP;AAApD,CAAA,OACA,OAAO,KAAP;AACD,CAAA,KAN0F,EAAvD;;;;;;ACNpC,CAAA,SAAO,OAAP,GAAiB,2BACf,yBADF;;;;;;;;;;ACAA,CAAA,MAAI,UAAUA,cAAA,aAAA,CAAd;AAAA,CAAA,MACI,UAAUA,cAAA,aAAA,CADd;AAAA,CAAA,MAEI,QAAUA,cAAA,aAAA,CAFd;AAAA,CAAA,MAGI,SAAUA,cAAA,cAAA,CAHd;AAAA,CAAA,MAII,QAAU,MAAM,MAAN,GAAe,GAJ7B;AAAA,CAAA,MAKI,MAAU,IALd;AAAA,CAAA,MAMI,QAAU,OAAO,MAAM,KAAN,GAAc,KAAd,GAAsB,GAA7B,CANd;AAAA,CAAA,MAOI,QAAU,OAAO,QAAQ,KAAR,GAAgB,IAAvB,CAPd;;AASA,CAAA,MAAI,WAAW,SAAX,QAAW,CAAS,GAAT,EAAc,IAAd,EAAoB,KAApB,EAA0B;AACvC,CAAA,QAAI,MAAQ,EAAZ;AACA,CAAA,QAAI,QAAQ,MAAM,YAAU;AAC1B,CAAA,aAAO,CAAC,CAAC,OAAO,GAAP,GAAF,IAAmB,IAAI,GAAJ,OAAc,GAAxC;AACD,CAAA,KAFW,CAAZ;AAGA,CAAA,QAAI,KAAK,IAAI,GAAJ,IAAW,QAAQ,KAAK,IAAL,CAAR,GAAqB,OAAO,GAAP,CAAzC;AACA,CAAA,QAAG,KAAH,EAAS,IAAI,KAAJ,IAAa,EAAb;AACT,CAAA,YAAQ,QAAQ,CAAR,GAAY,QAAQ,CAAR,GAAY,KAAhC,EAAuC,QAAvC,EAAiD,GAAjD;AACD,CAAA,GARD;;;;;AAaA,CAAA,MAAI,OAAO,SAAS,IAAT,GAAgB,UAAS,MAAT,EAAiB,IAAjB,EAAsB;AAC/C,CAAA,aAAS,OAAO,QAAQ,MAAR,CAAP,CAAT;AACA,CAAA,QAAG,OAAO,CAAV,EAAY,SAAS,OAAO,OAAP,CAAe,KAAf,EAAsB,EAAtB,CAAT;AACZ,CAAA,QAAG,OAAO,CAAV,EAAY,SAAS,OAAO,OAAP,CAAe,KAAf,EAAsB,EAAtB,CAAT;AACZ,CAAA,WAAO,MAAP;AACD,CAAA,GALD;;AAOA,CAAA,SAAO,OAAP,GAAiB,QAAjB;;;;;;;;;;AC7BA,CAAA,MAAI,YAAYA,cAAA,WAAA,EAAqB,QAArC;AAAA,CAAA,MACI,QAAYA,cAAA,cAAA,EAA0B,IAD1C;AAAA,CAAA,MAEI,KAAYA,cAAA,cAAA,CAFhB;AAAA,CAAA,MAGI,MAAY,cAHhB;;AAKA,CAAA,SAAO,OAAP,GAAiB,UAAU,KAAK,IAAf,MAAyB,CAAzB,IAA8B,UAAU,KAAK,MAAf,MAA2B,EAAzD,GAA8D,SAAS,QAAT,CAAkB,GAAlB,EAAuB,KAAvB,EAA6B;AAC1G,CAAA,QAAI,SAAS,MAAM,OAAO,GAAP,CAAN,EAAmB,CAAnB,CAAb;AACA,CAAA,WAAO,UAAU,MAAV,EAAmB,UAAU,CAAX,KAAkB,IAAI,IAAJ,CAAS,MAAT,IAAmB,EAAnB,GAAwB,EAA1C,CAAlB,CAAP;AACD,CAAA,GAHgB,GAGb,SAHJ;;;;;;;;;;ACLA,CAAA,MAAI,UAAYA,cAAA,aAAA,CAAhB;AAAA,CAAA,MACI,YAAYA,cAAA,cAAA,CADhB;;AAGA,CAAA,UAAQ,QAAQ,CAAR,GAAY,QAAQ,CAAR,IAAa,YAAY,SAAzB,CAApB,EAAyD,EAAC,UAAU,SAAX,EAAzD;;;;;;ACHA,CAAA,MAAI,cAAcA,cAAA,WAAA,EAAqB,UAAvC;AAAA,CAAA,MACI,QAAcA,cAAA,cAAA,EAA0B,IAD5C;;AAGA,CAAA,SAAO,OAAP,GAAiB,IAAI,YAAYA,cAAA,cAAA,IAA0B,IAAtC,CAAJ,KAAoD,CAAC,QAArD,GAAgE,SAAS,UAAT,CAAoB,GAApB,EAAwB;AACvG,CAAA,QAAI,SAAS,MAAM,OAAO,GAAP,CAAN,EAAmB,CAAnB,CAAb;AAAA,CAAA,QACI,SAAS,YAAY,MAAZ,CADb;AAEA,CAAA,WAAO,WAAW,CAAX,IAAgB,OAAO,MAAP,CAAc,CAAd,KAAoB,GAApC,GAA0C,CAAC,CAA3C,GAA+C,MAAtD;AACD,CAAA,GAJgB,GAIb,WAJJ;;;;;;;;;;ACHA,CAAA,MAAI,UAAcA,cAAA,aAAA,CAAlB;AAAA,CAAA,MACI,cAAcA,cAAA,cAAA,CADlB;;AAGA,CAAA,UAAQ,QAAQ,CAAR,GAAY,QAAQ,CAAR,IAAa,cAAc,WAA3B,CAApB,EAA6D,EAAC,YAAY,WAAb,EAA7D;;;;;;ACHA,CAAA,MAAI,WAAiBA,cAAA,aAAA,CAArB;AAAA,CAAA,MACI,iBAAiBA,cAAA,cAAA,EAAwB,GAD7C;AAEA,CAAA,SAAO,OAAP,GAAiB,UAAS,IAAT,EAAe,MAAf,EAAuB,CAAvB,EAAyB;AACxC,CAAA,QAAI,CAAJ;AAAA,CAAA,QAAO,IAAI,OAAO,WAAlB;AACA,CAAA,QAAG,MAAM,CAAN,IAAW,OAAO,CAAP,IAAY,UAAvB,IAAqC,CAAC,IAAI,EAAE,SAAP,MAAsB,EAAE,SAA7D,IAA0E,SAAS,CAAT,CAA1E,IAAyF,cAA5F,EAA2G;AACzG,CAAA,qBAAe,IAAf,EAAqB,CAArB;AACD,CAAA,KAAC,OAAO,IAAP;AACH,CAAA,GALD;;;;;;;;;;ACFA,CAAA;;AACA,CAAA,MAAI,SAAoBA,cAAA,WAAA,CAAxB;AAAA,CAAA,MACI,MAAoBA,cAAA,WAAA,CADxB;AAAA,CAAA,MAEI,MAAoBA,cAAA,aAAA,CAFxB;AAAA,CAAA,MAGI,oBAAoBA,cAAA,cAAA,CAHxB;AAAA,CAAA,MAII,cAAoBA,cAAA,aAAA,CAJxB;AAAA,CAAA,MAKI,QAAoBA,cAAA,aAAA,CALxB;AAAA,CAAA,MAMI,OAAoBA,cAAA,aAAA,EAA0B,CANlD;AAAA,CAAA,MAOI,OAAoBA,cAAA,aAAA,EAA0B,CAPlD;AAAA,CAAA,MAQI,KAAoBA,cAAA,aAAA,EAAwB,CARhD;AAAA,CAAA,MASI,QAAoBA,cAAA,cAAA,EAA0B,IATlD;AAAA,CAAA,MAUI,SAAoB,QAVxB;AAAA,CAAA,MAWI,UAAoB,OAAO,MAAP,CAXxB;AAAA,CAAA,MAYI,OAAoB,OAZxB;AAAA,CAAA,MAaI,QAAoB,QAAQ;;AAbhC,CAAA;AAAA,CAAA,MAeI,aAAoB,IAAIA,cAAA,aAAA,EAA4B,KAA5B,CAAJ,KAA2C,MAfnE;AAAA,CAAA,MAgBI,OAAoB,UAAU,OAAO,SAhBzC;;;AAmBA,CAAA,MAAI,WAAW,SAAX,QAAW,CAAS,QAAT,EAAkB;AAC/B,CAAA,QAAI,KAAK,YAAY,QAAZ,EAAsB,KAAtB,CAAT;AACA,CAAA,QAAG,OAAO,EAAP,IAAa,QAAb,IAAyB,GAAG,MAAH,GAAY,CAAxC,EAA0C;AACxC,CAAA,WAAK,OAAO,GAAG,IAAH,EAAP,GAAmB,MAAM,EAAN,EAAU,CAAV,CAAxB;AACA,CAAA,UAAI,QAAQ,GAAG,UAAH,CAAc,CAAd,CAAZ;AAAA,CAAA,UACI,KADJ;AAAA,CAAA,UACW,KADX;AAAA,CAAA,UACkB,OADlB;AAEA,CAAA,UAAG,UAAU,EAAV,IAAgB,UAAU,EAA7B,EAAgC;AAC9B,CAAA,gBAAQ,GAAG,UAAH,CAAc,CAAd,CAAR;AACA,CAAA,YAAG,UAAU,EAAV,IAAgB,UAAU,GAA7B,EAAiC,OAAO,GAAP,CAFH;AAG/B,CAAA,OAHD,MAGO,IAAG,UAAU,EAAb,EAAgB;AACrB,CAAA,gBAAO,GAAG,UAAH,CAAc,CAAd,CAAP;AACE,CAAA,eAAK,EAAL,CAAU,KAAK,EAAL;AAAW,CAAA,oBAAQ,CAAR,CAAW,UAAU,EAAV,CAAc,MADhD;AAEE,CAAA,eAAK,EAAL,CAAU,KAAK,GAAL;AAAW,CAAA,oBAAQ,CAAR,CAAW,UAAU,EAAV,CAAc,MAFhD;AAGE,CAAA;AAAU,CAAA,mBAAO,CAAC,EAAR;AAHZ,CAAA;AAKA,CAAA,aAAI,IAAI,SAAS,GAAG,KAAH,CAAS,CAAT,CAAb,EAA0B,IAAI,CAA9B,EAAiC,IAAI,OAAO,MAA5C,EAAoD,IAAxD,EAA8D,IAAI,CAAlE,EAAqE,GAArE,EAAyE;AACvE,CAAA,iBAAO,OAAO,UAAP,CAAkB,CAAlB,CAAP;;;AAGA,CAAA,cAAG,OAAO,EAAP,IAAa,OAAO,OAAvB,EAA+B,OAAO,GAAP;AAChC,CAAA,SAAC,OAAO,SAAS,MAAT,EAAiB,KAAjB,CAAP;AACH,CAAA;AACF,CAAA,KAAC,OAAO,CAAC,EAAR;AACH,CAAA,GAvBD;;AAyBA,CAAA,MAAG,CAAC,QAAQ,MAAR,CAAD,IAAoB,CAAC,QAAQ,KAAR,CAArB,IAAuC,QAAQ,MAAR,CAA1C,EAA0D;AACxD,CAAA,cAAU,SAAS,MAAT,CAAgB,KAAhB,EAAsB;AAC9B,CAAA,UAAI,KAAK,UAAU,MAAV,GAAmB,CAAnB,GAAuB,CAAvB,GAA2B,KAApC;AAAA,CAAA,UACI,OAAO,IADX;AAEA,CAAA,aAAO,gBAAgB;;AAAhB,CAAA,UAED,aAAa,MAAM,YAAU;AAAE,CAAA,cAAM,OAAN,CAAc,IAAd,CAAmB,IAAnB;AAA2B,CAAA,OAA7C,CAAb,GAA8D,IAAI,IAAJ,KAAa,MAF1E,IAGD,kBAAkB,IAAI,IAAJ,CAAS,SAAS,EAAT,CAAT,CAAlB,EAA0C,IAA1C,EAAgD,OAAhD,CAHC,GAG0D,SAAS,EAAT,CAHjE;AAID,CAAA,KAPD;AAQA,CAAA,SAAI,IAAI,OAAOA,cAAA,WAAA,IAA4B,KAAK,IAAL,CAA5B,GAAyC;;AAEtD,CAAA;;AAEA,CAAA,sEAFA,GAGA,gDALsD,EAMtD,KANsD,CAMhD,GANgD,CAApD,EAMU,IAAI,CANd,EAMiB,GANrB,EAM0B,KAAK,MAAL,GAAc,CANxC,EAM2C,GAN3C,EAM+C;AAC7C,CAAA,UAAG,IAAI,IAAJ,EAAU,MAAM,KAAK,CAAL,CAAhB,KAA4B,CAAC,IAAI,OAAJ,EAAa,GAAb,CAAhC,EAAkD;AAChD,CAAA,WAAG,OAAH,EAAY,GAAZ,EAAiB,KAAK,IAAL,EAAW,GAAX,CAAjB;AACD,CAAA;AACF,CAAA;AACD,CAAA,YAAQ,SAAR,GAAoB,KAApB;AACA,CAAA,UAAM,WAAN,GAAoB,OAApB;AACA,CAAA,kBAAA,aAAA,EAAuB,MAAvB,EAA+B,MAA/B,EAAuC,OAAvC;;;;;;;ACnEF,CAAA,MAAI,MAAMA,cAAA,aAAA,CAAV;AACA,CAAA,SAAO,OAAP,GAAiB,UAAS,EAAT,EAAa,GAAb,EAAiB;AAChC,CAAA,QAAG,OAAO,EAAP,IAAa,QAAb,IAAyB,IAAI,EAAJ,KAAW,QAAvC,EAAgD,MAAM,UAAU,GAAV,CAAN;AAChD,CAAA,WAAO,CAAC,EAAR;AACD,CAAA,GAHD;;;;;;;;;;ACDA,CAAA;;AACA,CAAA,MAAI,YAAYA,cAAA,YAAA,CAAhB;AAAA,CAAA,MACI,UAAYA,cAAA,aAAA,CADhB;;AAGA,CAAA,SAAO,OAAP,GAAiB,SAAS,MAAT,CAAgB,KAAhB,EAAsB;AACrC,CAAA,QAAI,MAAM,OAAO,QAAQ,IAAR,CAAP,CAAV;AAAA,CAAA,QACI,MAAM,EADV;AAAA,CAAA,QAEI,IAAM,UAAU,KAAV,CAFV;AAGA,CAAA,QAAG,IAAI,CAAJ,IAAS,KAAK,QAAjB,EAA0B,MAAM,WAAW,yBAAX,CAAN;AAC1B,CAAA,WAAK,IAAI,CAAT,EAAY,CAAC,OAAO,CAAR,MAAe,OAAO,GAAtB,CAAZ;AAAuC,CAAA,UAAG,IAAI,CAAP,EAAS,OAAO,GAAP;AAAhD,CAAA,KACA,OAAO,GAAP;AACD,CAAA,GAPD;;;;;;;;;;ACJA,CAAA;;AACA,CAAA,MAAI,UAAeA,cAAA,aAAA,CAAnB;AAAA,CAAA,MACI,YAAeA,cAAA,YAAA,CADnB;AAAA,CAAA,MAEI,eAAeA,cAAA,cAAA,CAFnB;AAAA,CAAA,MAGI,SAAeA,cAAA,cAAA,CAHnB;AAAA,CAAA,MAII,WAAe,GAAG,OAJtB;AAAA,CAAA,MAKI,QAAe,KAAK,KALxB;AAAA,CAAA,MAMI,OAAe,CAAC,CAAD,EAAI,CAAJ,EAAO,CAAP,EAAU,CAAV,EAAa,CAAb,EAAgB,CAAhB,CANnB;AAAA,CAAA,MAOI,QAAe,uCAPnB;AAAA,CAAA,MAQI,OAAe,GARnB;;AAUA,CAAA,MAAI,WAAW,SAAX,QAAW,CAAS,CAAT,EAAY,CAAZ,EAAc;AAC3B,CAAA,QAAI,IAAK,CAAC,CAAV;AAAA,CAAA,QACI,KAAK,CADT;AAEA,CAAA,WAAM,EAAE,CAAF,GAAM,CAAZ,EAAc;AACZ,CAAA,YAAM,IAAI,KAAK,CAAL,CAAV;AACA,CAAA,WAAK,CAAL,IAAU,KAAK,GAAf;AACA,CAAA,WAAK,MAAM,KAAK,GAAX,CAAL;AACD,CAAA;AACF,CAAA,GARD;AASA,CAAA,MAAI,SAAS,SAAT,MAAS,CAAS,CAAT,EAAW;AACtB,CAAA,QAAI,IAAI,CAAR;AAAA,CAAA,QACI,IAAI,CADR;AAEA,CAAA,WAAM,EAAE,CAAF,IAAO,CAAb,EAAe;AACb,CAAA,WAAK,KAAK,CAAL,CAAL;AACA,CAAA,WAAK,CAAL,IAAU,MAAM,IAAI,CAAV,CAAV;AACA,CAAA,UAAK,IAAI,CAAL,GAAU,GAAd;AACD,CAAA;AACF,CAAA,GARD;AASA,CAAA,MAAI,cAAc,SAAd,WAAc,GAAU;AAC1B,CAAA,QAAI,IAAI,CAAR;AAAA,CAAA,QACI,IAAI,EADR;AAEA,CAAA,WAAM,EAAE,CAAF,IAAO,CAAb,EAAe;AACb,CAAA,UAAG,MAAM,EAAN,IAAY,MAAM,CAAlB,IAAuB,KAAK,CAAL,MAAY,CAAtC,EAAwC;AACtC,CAAA,YAAI,IAAI,OAAO,KAAK,CAAL,CAAP,CAAR;AACA,CAAA,YAAI,MAAM,EAAN,GAAW,CAAX,GAAe,IAAI,OAAO,IAAP,CAAY,IAAZ,EAAkB,IAAI,EAAE,MAAxB,CAAJ,GAAsC,CAAzD;AACD,CAAA;AACF,CAAA,KAAC,OAAO,CAAP;AACH,CAAA,GATD;AAUA,CAAA,MAAI,MAAM,SAAN,GAAM,CAAS,CAAT,EAAY,CAAZ,EAAe,GAAf,EAAmB;AAC3B,CAAA,WAAO,MAAM,CAAN,GAAU,GAAV,GAAgB,IAAI,CAAJ,KAAU,CAAV,GAAc,IAAI,CAAJ,EAAO,IAAI,CAAX,EAAc,MAAM,CAApB,CAAd,GAAuC,IAAI,IAAI,CAAR,EAAW,IAAI,CAAf,EAAkB,GAAlB,CAA9D;AACD,CAAA,GAFD;AAGA,CAAA,MAAI,MAAM,SAAN,GAAM,CAAS,CAAT,EAAW;AACnB,CAAA,QAAI,IAAK,CAAT;AAAA,CAAA,QACI,KAAK,CADT;AAEA,CAAA,WAAM,MAAM,IAAZ,EAAiB;AACf,CAAA,WAAK,EAAL;AACA,CAAA,YAAM,IAAN;AACD,CAAA;AACD,CAAA,WAAM,MAAM,CAAZ,EAAc;AACZ,CAAA,WAAM,CAAN;AACA,CAAA,YAAM,CAAN;AACD,CAAA,KAAC,OAAO,CAAP;AACH,CAAA,GAXD;;AAaA,CAAA,UAAQ,QAAQ,CAAR,GAAY,QAAQ,CAAR,IAAa,CAAC,CAAC,QAAF,KAC/B,QAAQ,OAAR,CAAgB,CAAhB,MAAuB,OAAvB,IACA,IAAI,OAAJ,CAAY,CAAZ,MAAmB,GADnB,IAEA,MAAM,OAAN,CAAc,CAAd,MAAqB,MAFrB,IAGA,qBAAqB,OAArB,CAA6B,CAA7B,MAAoC,qBAJL,KAK5B,CAACA,cAAA,aAAA,EAAoB,YAAU;;AAElC,CAAA,aAAS,IAAT,CAAc,EAAd;AACD,CAAA,GAHK,CALc,CAApB,EAQK,QARL,EAQe;AACb,CAAA,aAAS,SAAS,OAAT,CAAiB,cAAjB,EAAgC;AACvC,CAAA,UAAI,IAAI,aAAa,IAAb,EAAmB,KAAnB,CAAR;AAAA,CAAA,UACI,IAAI,UAAU,cAAV,CADR;AAAA,CAAA,UAEI,IAAI,EAFR;AAAA,CAAA,UAGI,IAAI,IAHR;AAAA,CAAA,UAII,CAJJ;AAAA,CAAA,UAIO,CAJP;AAAA,CAAA,UAIU,CAJV;AAAA,CAAA,UAIa,CAJb;AAKA,CAAA,UAAG,IAAI,CAAJ,IAAS,IAAI,EAAhB,EAAmB,MAAM,WAAW,KAAX,CAAN;AACnB,CAAA,UAAG,KAAK,CAAR,EAAU,OAAO,KAAP;AACV,CAAA,UAAG,KAAK,CAAC,IAAN,IAAc,KAAK,IAAtB,EAA2B,OAAO,OAAO,CAAP,CAAP;AAC3B,CAAA,UAAG,IAAI,CAAP,EAAS;AACP,CAAA,YAAI,GAAJ;AACA,CAAA,YAAI,CAAC,CAAL;AACD,CAAA;AACD,CAAA,UAAG,IAAI,KAAP,EAAa;AACX,CAAA,YAAI,IAAI,IAAI,IAAI,CAAJ,EAAO,EAAP,EAAW,CAAX,CAAR,IAAyB,EAA7B;AACA,CAAA,YAAI,IAAI,CAAJ,GAAQ,IAAI,IAAI,CAAJ,EAAO,CAAC,CAAR,EAAW,CAAX,CAAZ,GAA4B,IAAI,IAAI,CAAJ,EAAO,CAAP,EAAU,CAAV,CAApC;AACA,CAAA,aAAK,gBAAL;AACA,CAAA,YAAI,KAAK,CAAT;AACA,CAAA,YAAG,IAAI,CAAP,EAAS;AACP,CAAA,mBAAS,CAAT,EAAY,CAAZ;AACA,CAAA,cAAI,CAAJ;AACA,CAAA,iBAAM,KAAK,CAAX,EAAa;AACX,CAAA,qBAAS,GAAT,EAAc,CAAd;AACA,CAAA,iBAAK,CAAL;AACD,CAAA;AACD,CAAA,mBAAS,IAAI,EAAJ,EAAQ,CAAR,EAAW,CAAX,CAAT,EAAwB,CAAxB;AACA,CAAA,cAAI,IAAI,CAAR;AACA,CAAA,iBAAM,KAAK,EAAX,EAAc;AACZ,CAAA,mBAAO,KAAK,EAAZ;AACA,CAAA,iBAAK,EAAL;AACD,CAAA;AACD,CAAA,iBAAO,KAAK,CAAZ;AACA,CAAA,mBAAS,CAAT,EAAY,CAAZ;AACA,CAAA,iBAAO,CAAP;AACA,CAAA,cAAI,aAAJ;AACD,CAAA,SAjBD,MAiBO;AACL,CAAA,mBAAS,CAAT,EAAY,CAAZ;AACA,CAAA,mBAAS,KAAK,CAAC,CAAf,EAAkB,CAAlB;AACA,CAAA,cAAI,gBAAgB,OAAO,IAAP,CAAY,IAAZ,EAAkB,CAAlB,CAApB;AACD,CAAA;AACF,CAAA;AACD,CAAA,UAAG,IAAI,CAAP,EAAS;AACP,CAAA,YAAI,EAAE,MAAN;AACA,CAAA,YAAI,KAAK,KAAK,CAAL,GAAS,OAAO,OAAO,IAAP,CAAY,IAAZ,EAAkB,IAAI,CAAtB,CAAP,GAAkC,CAA3C,GAA+C,EAAE,KAAF,CAAQ,CAAR,EAAW,IAAI,CAAf,IAAoB,GAApB,GAA0B,EAAE,KAAF,CAAQ,IAAI,CAAZ,CAA9E,CAAJ;AACD,CAAA,OAHD,MAGO;AACL,CAAA,YAAI,IAAI,CAAR;AACD,CAAA,OAAC,OAAO,CAAP;AACH,CAAA;AAhDY,CAAA,GARf;;;;;;ACvDA,CAAA;;AACA,CAAA,MAAI,UAAeA,cAAA,aAAA,CAAnB;AAAA,CAAA,MACI,SAAeA,cAAA,aAAA,CADnB;AAAA,CAAA,MAEI,eAAeA,cAAA,cAAA,CAFnB;AAAA,CAAA,MAGI,eAAe,GAAG,WAHtB;;AAKA,CAAA,UAAQ,QAAQ,CAAR,GAAY,QAAQ,CAAR,IAAa,OAAO,YAAU;;AAEhD,CAAA,WAAO,aAAa,IAAb,CAAkB,CAAlB,EAAqB,SAArB,MAAoC,GAA3C;AACD,CAAA,GAHgC,KAG3B,CAAC,OAAO,YAAU;;AAEtB,CAAA,iBAAa,IAAb,CAAkB,EAAlB;AACD,CAAA,GAHM,CAHa,CAApB,EAMK,QANL,EAMe;AACb,CAAA,iBAAa,SAAS,WAAT,CAAqB,SAArB,EAA+B;AAC1C,CAAA,UAAI,OAAO,aAAa,IAAb,EAAmB,2CAAnB,CAAX;AACA,CAAA,aAAO,cAAc,SAAd,GAA0B,aAAa,IAAb,CAAkB,IAAlB,CAA1B,GAAoD,aAAa,IAAb,CAAkB,IAAlB,EAAwB,SAAxB,CAA3D;AACD,CAAA;AAJY,CAAA,GANf;;;;;;ACNA,CAAA;AACA,CAAA,MAAI,UAAUA,cAAA,aAAA,CAAd;;AAEA,CAAA,UAAQ,QAAQ,CAAhB,EAAmB,QAAnB,EAA6B,EAAC,SAAS,KAAK,GAAL,CAAS,CAAT,EAAY,CAAC,EAAb,CAAV,EAA7B;;;;;;ACHA,CAAA;AACA,CAAA,MAAI,UAAYA,cAAA,aAAA,CAAhB;AAAA,CAAA,MACI,YAAYA,cAAA,WAAA,EAAqB,QADrC;;AAGA,CAAA,UAAQ,QAAQ,CAAhB,EAAmB,QAAnB,EAA6B;AAC3B,CAAA,cAAU,SAAS,QAAT,CAAkB,EAAlB,EAAqB;AAC7B,CAAA,aAAO,OAAO,EAAP,IAAa,QAAb,IAAyB,UAAU,EAAV,CAAhC;AACD,CAAA;AAH0B,CAAA,GAA7B;;;;;;ACJA,CAAA;AACA,CAAA,MAAI,WAAWA,cAAA,aAAA,CAAf;AAAA,CAAA,MACI,QAAW,KAAK,KADpB;AAEA,CAAA,SAAO,OAAP,GAAiB,SAAS,SAAT,CAAmB,EAAnB,EAAsB;AACrC,CAAA,WAAO,CAAC,SAAS,EAAT,CAAD,IAAiB,SAAS,EAAT,CAAjB,IAAiC,MAAM,EAAN,MAAc,EAAtD;AACD,CAAA,GAFD;;;;;;;;;;ACHA,CAAA;AACA,CAAA,MAAI,UAAUA,cAAA,aAAA,CAAd;;AAEA,CAAA,UAAQ,QAAQ,CAAhB,EAAmB,QAAnB,EAA6B,EAAC,WAAWA,cAAA,cAAA,CAAZ,EAA7B;;;;;;ACHA,CAAA;AACA,CAAA,MAAI,UAAUA,cAAA,aAAA,CAAd;;AAEA,CAAA,UAAQ,QAAQ,CAAhB,EAAmB,QAAnB,EAA6B;AAC3B,CAAA,WAAO,SAAS,KAAT,CAAe,MAAf,EAAsB;AAC3B,CAAA,aAAO,UAAU,MAAjB;AACD,CAAA;AAH0B,CAAA,GAA7B;;;;;;ACHA,CAAA;AACA,CAAA,MAAI,UAAYA,cAAA,aAAA,CAAhB;AAAA,CAAA,MACI,YAAYA,cAAA,cAAA,CADhB;AAAA,CAAA,MAEI,MAAY,KAAK,GAFrB;;AAIA,CAAA,UAAQ,QAAQ,CAAhB,EAAmB,QAAnB,EAA6B;AAC3B,CAAA,mBAAe,SAAS,aAAT,CAAuB,MAAvB,EAA8B;AAC3C,CAAA,aAAO,UAAU,MAAV,KAAqB,IAAI,MAAJ,KAAe,gBAA3C;AACD,CAAA;AAH0B,CAAA,GAA7B;;;;;;ACLA,CAAA;AACA,CAAA,MAAI,UAAUA,cAAA,aAAA,CAAd;;AAEA,CAAA,UAAQ,QAAQ,CAAhB,EAAmB,QAAnB,EAA6B,EAAC,kBAAkB,gBAAnB,EAA7B;;;;;;ACHA,CAAA;AACA,CAAA,MAAI,UAAUA,cAAA,aAAA,CAAd;;AAEA,CAAA,UAAQ,QAAQ,CAAhB,EAAmB,QAAnB,EAA6B,EAAC,kBAAkB,CAAC,gBAApB,EAA7B;;;;;;ACHA,CAAA,MAAI,UAAcA,cAAA,aAAA,CAAlB;AAAA,CAAA,MACI,cAAcA,cAAA,cAAA,CADlB;;AAGA,CAAA,UAAQ,QAAQ,CAAR,GAAY,QAAQ,CAAR,IAAa,OAAO,UAAP,IAAqB,WAAlC,CAApB,EAAoE,QAApE,EAA8E,EAAC,YAAY,WAAb,EAA9E;;;;;;ACHA,CAAA,MAAI,UAAYA,cAAA,aAAA,CAAhB;AAAA,CAAA,MACI,YAAYA,cAAA,cAAA,CADhB;;AAGA,CAAA,UAAQ,QAAQ,CAAR,GAAY,QAAQ,CAAR,IAAa,OAAO,QAAP,IAAmB,SAAhC,CAApB,EAAgE,QAAhE,EAA0E,EAAC,UAAU,SAAX,EAA1E;;;;;;ACHA,CAAA;AACA,CAAA,SAAO,OAAP,GAAiB,KAAK,KAAL,IAAc,SAAS,KAAT,CAAe,CAAf,EAAiB;AAC9C,CAAA,WAAO,CAAC,IAAI,CAAC,CAAN,IAAW,CAAC,IAAZ,IAAoB,IAAI,IAAxB,GAA+B,IAAI,IAAI,CAAJ,GAAQ,CAA3C,GAA+C,KAAK,GAAL,CAAS,IAAI,CAAb,CAAtD;AACD,CAAA,GAFD;;;;;;;;;;ACDA,CAAA;AACA,CAAA,MAAI,UAAUA,cAAA,aAAA,CAAd;AAAA,CAAA,MACI,QAAUA,cAAA,cAAA,CADd;AAAA,CAAA,MAEI,OAAU,KAAK,IAFnB;AAAA,CAAA,MAGI,SAAU,KAAK,KAHnB;;AAKA,CAAA,UAAQ,QAAQ,CAAR,GAAY,QAAQ,CAAR,GAAY,EAAE;;AAAA,CAAA,KAE7B,KAAK,KAAL,CAAW,OAAO,OAAO,SAAd,CAAX,KAAwC;;AAFX,CAAA,KAI7B,OAAO,QAAP,KAAoB,QAJO,CAAhC,EAKG,MALH,EAKW;AACT,CAAA,WAAO,SAAS,KAAT,CAAe,CAAf,EAAiB;AACtB,CAAA,aAAO,CAAC,IAAI,CAAC,CAAN,IAAW,CAAX,GAAe,GAAf,GAAqB,IAAI,iBAAJ,GACxB,KAAK,GAAL,CAAS,CAAT,IAAc,KAAK,GADK,GAExB,MAAM,IAAI,CAAJ,GAAQ,KAAK,IAAI,CAAT,IAAc,KAAK,IAAI,CAAT,CAA5B,CAFJ;AAGD,CAAA;AALQ,CAAA,GALX;;;;;;ACNA,CAAA;AACA,CAAA,MAAI,UAAUA,cAAA,aAAA,CAAd;AAAA,CAAA,MACI,SAAU,KAAK,KADnB;;AAGA,CAAA,WAAS,KAAT,CAAe,CAAf,EAAiB;AACf,CAAA,WAAO,CAAC,SAAS,IAAI,CAAC,CAAd,CAAD,IAAqB,KAAK,CAA1B,GAA8B,CAA9B,GAAkC,IAAI,CAAJ,GAAQ,CAAC,MAAM,CAAC,CAAP,CAAT,GAAqB,KAAK,GAAL,CAAS,IAAI,KAAK,IAAL,CAAU,IAAI,CAAJ,GAAQ,CAAlB,CAAb,CAA9D;AACD,CAAA;;;AAGD,CAAA,UAAQ,QAAQ,CAAR,GAAY,QAAQ,CAAR,GAAY,EAAE,UAAU,IAAI,OAAO,CAAP,CAAJ,GAAgB,CAA5B,CAAhC,EAAgE,MAAhE,EAAwE,EAAC,OAAO,KAAR,EAAxE;;;;;;ACTA,CAAA;AACA,CAAA,MAAI,UAAUA,cAAA,aAAA,CAAd;AAAA,CAAA,MACI,SAAU,KAAK,KADnB;;;AAIA,CAAA,UAAQ,QAAQ,CAAR,GAAY,QAAQ,CAAR,GAAY,EAAE,UAAU,IAAI,OAAO,CAAC,CAAR,CAAJ,GAAiB,CAA7B,CAAhC,EAAiE,MAAjE,EAAyE;AACvE,CAAA,WAAO,SAAS,KAAT,CAAe,CAAf,EAAiB;AACtB,CAAA,aAAO,CAAC,IAAI,CAAC,CAAN,KAAY,CAAZ,GAAgB,CAAhB,GAAoB,KAAK,GAAL,CAAS,CAAC,IAAI,CAAL,KAAW,IAAI,CAAf,CAAT,IAA8B,CAAzD;AACD,CAAA;AAHsE,CAAA,GAAzE;;;;;;ACLA,CAAA;AACA,CAAA,SAAO,OAAP,GAAiB,KAAK,IAAL,IAAa,SAAS,IAAT,CAAc,CAAd,EAAgB;AAC5C,CAAA,WAAO,CAAC,IAAI,CAAC,CAAN,KAAY,CAAZ,IAAiB,KAAK,CAAtB,GAA0B,CAA1B,GAA8B,IAAI,CAAJ,GAAQ,CAAC,CAAT,GAAa,CAAlD;AACD,CAAA,GAFD;;;;;;;;;;ACDA,CAAA;AACA,CAAA,MAAI,UAAUA,cAAA,aAAA,CAAd;AAAA,CAAA,MACI,OAAUA,cAAA,cAAA,CADd;;AAGA,CAAA,UAAQ,QAAQ,CAAhB,EAAmB,MAAnB,EAA2B;AACzB,CAAA,UAAM,SAAS,IAAT,CAAc,CAAd,EAAgB;AACpB,CAAA,aAAO,KAAK,IAAI,CAAC,CAAV,IAAe,KAAK,GAAL,CAAS,KAAK,GAAL,CAAS,CAAT,CAAT,EAAsB,IAAI,CAA1B,CAAtB;AACD,CAAA;AAHwB,CAAA,GAA3B;;;;;;ACJA,CAAA;AACA,CAAA,MAAI,UAAUA,cAAA,aAAA,CAAd;;AAEA,CAAA,UAAQ,QAAQ,CAAhB,EAAmB,MAAnB,EAA2B;AACzB,CAAA,WAAO,SAAS,KAAT,CAAe,CAAf,EAAiB;AACtB,CAAA,aAAO,CAAC,OAAO,CAAR,IAAa,KAAK,KAAK,KAAL,CAAW,KAAK,GAAL,CAAS,IAAI,GAAb,IAAoB,KAAK,KAApC,CAAlB,GAA+D,EAAtE;AACD,CAAA;AAHwB,CAAA,GAA3B;;;;;;ACHA,CAAA;AACA,CAAA,MAAI,UAAUA,cAAA,aAAA,CAAd;AAAA,CAAA,MACI,MAAU,KAAK,GADnB;;AAGA,CAAA,UAAQ,QAAQ,CAAhB,EAAmB,MAAnB,EAA2B;AACzB,CAAA,UAAM,SAAS,IAAT,CAAc,CAAd,EAAgB;AACpB,CAAA,aAAO,CAAC,IAAI,IAAI,CAAC,CAAT,IAAc,IAAI,CAAC,CAAL,CAAf,IAA0B,CAAjC;AACD,CAAA;AAHwB,CAAA,GAA3B;;;;;;ACJA,CAAA;AACA,CAAA,MAAI,SAAS,KAAK,KAAlB;AACA,CAAA,SAAO,OAAP,GAAkB,CAAC;;AAAD,CAAA,KAEb,OAAO,EAAP,IAAa,kBAFA,IAEsB,OAAO,EAAP,IAAa;;AAFnC,CAAA,KAIb,OAAO,CAAC,KAAR,KAAkB,CAAC,KAJP,GAKb,SAAS,KAAT,CAAe,CAAf,EAAiB;AACnB,CAAA,WAAO,CAAC,IAAI,CAAC,CAAN,KAAY,CAAZ,GAAgB,CAAhB,GAAoB,IAAI,CAAC,IAAL,IAAa,IAAI,IAAjB,GAAwB,IAAI,IAAI,CAAJ,GAAQ,CAApC,GAAwC,KAAK,GAAL,CAAS,CAAT,IAAc,CAAjF;AACD,CAAA,GAPgB,GAOb,MAPJ;;;;;;;;;;ACFA,CAAA;AACA,CAAA,MAAI,UAAUA,cAAA,aAAA,CAAd;AAAA,CAAA,MACI,SAAUA,cAAA,cAAA,CADd;;AAGA,CAAA,UAAQ,QAAQ,CAAR,GAAY,QAAQ,CAAR,IAAa,UAAU,KAAK,KAA5B,CAApB,EAAwD,MAAxD,EAAgE,EAAC,OAAO,MAAR,EAAhE;;;;;;ACJA,CAAA;AACA,CAAA,MAAI,UAAYA,cAAA,aAAA,CAAhB;AAAA,CAAA,MACI,OAAYA,cAAA,cAAA,CADhB;AAAA,CAAA,MAEI,MAAY,KAAK,GAFrB;AAAA,CAAA,MAGI,UAAY,IAAI,CAAJ,EAAO,CAAC,EAAR,CAHhB;AAAA,CAAA,MAII,YAAY,IAAI,CAAJ,EAAO,CAAC,EAAR,CAJhB;AAAA,CAAA,MAKI,QAAY,IAAI,CAAJ,EAAO,GAAP,KAAe,IAAI,SAAnB,CALhB;AAAA,CAAA,MAMI,QAAY,IAAI,CAAJ,EAAO,CAAC,GAAR,CANhB;;AAQA,CAAA,MAAI,kBAAkB,SAAlB,eAAkB,CAAS,CAAT,EAAW;AAC/B,CAAA,WAAO,IAAI,IAAI,OAAR,GAAkB,IAAI,OAA7B;AACD,CAAA,GAFD;;AAKA,CAAA,UAAQ,QAAQ,CAAhB,EAAmB,MAAnB,EAA2B;AACzB,CAAA,YAAQ,SAAS,MAAT,CAAgB,CAAhB,EAAkB;AACxB,CAAA,UAAI,OAAQ,KAAK,GAAL,CAAS,CAAT,CAAZ;AAAA,CAAA,UACI,QAAQ,KAAK,CAAL,CADZ;AAAA,CAAA,UAEI,CAFJ;AAAA,CAAA,UAEO,MAFP;AAGA,CAAA,UAAG,OAAO,KAAV,EAAgB,OAAO,QAAQ,gBAAgB,OAAO,KAAP,GAAe,SAA/B,CAAR,GAAoD,KAApD,GAA4D,SAAnE;AAChB,CAAA,UAAI,CAAC,IAAI,YAAY,OAAjB,IAA4B,IAAhC;AACA,CAAA,eAAS,KAAK,IAAI,IAAT,CAAT;AACA,CAAA,UAAG,SAAS,KAAT,IAAkB,UAAU,MAA/B,EAAsC,OAAO,QAAQ,QAAf;AACtC,CAAA,aAAO,QAAQ,MAAf;AACD,CAAA;AAVwB,CAAA,GAA3B;;;;;;ACdA,CAAA;AACA,CAAA,MAAI,UAAUA,cAAA,aAAA,CAAd;AAAA,CAAA,MACI,MAAU,KAAK,GADnB;;AAGA,CAAA,UAAQ,QAAQ,CAAhB,EAAmB,MAAnB,EAA2B;AACzB,CAAA,WAAO,SAAS,KAAT,CAAe,MAAf,EAAuB,MAAvB,EAA8B;;AACnC,CAAA,UAAI,MAAO,CAAX;AAAA,CAAA,UACI,IAAO,CADX;AAAA,CAAA,UAEI,OAAO,UAAU,MAFrB;AAAA,CAAA,UAGI,OAAO,CAHX;AAAA,CAAA,UAII,GAJJ;AAAA,CAAA,UAIS,GAJT;AAKA,CAAA,aAAM,IAAI,IAAV,EAAe;AACb,CAAA,cAAM,IAAI,UAAU,GAAV,CAAJ,CAAN;AACA,CAAA,YAAG,OAAO,GAAV,EAAc;AACZ,CAAA,gBAAO,OAAO,GAAd;AACA,CAAA,gBAAO,MAAM,GAAN,GAAY,GAAZ,GAAkB,CAAzB;AACA,CAAA,iBAAO,GAAP;AACD,CAAA,SAJD,MAIO,IAAG,MAAM,CAAT,EAAW;AAChB,CAAA,gBAAO,MAAM,IAAb;AACA,CAAA,iBAAO,MAAM,GAAb;AACD,CAAA,SAHM,MAGA,OAAO,GAAP;AACR,CAAA;AACD,CAAA,aAAO,SAAS,QAAT,GAAoB,QAApB,GAA+B,OAAO,KAAK,IAAL,CAAU,GAAV,CAA7C;AACD,CAAA;AAnBwB,CAAA,GAA3B;;;;;;ACJA,CAAA;AACA,CAAA,MAAI,UAAUA,cAAA,aAAA,CAAd;AAAA,CAAA,MACI,QAAU,KAAK,IADnB;;;AAIA,CAAA,UAAQ,QAAQ,CAAR,GAAY,QAAQ,CAAR,GAAYA,cAAA,aAAA,EAAoB,YAAU;AAC5D,CAAA,WAAO,MAAM,UAAN,EAAkB,CAAlB,KAAwB,CAAC,CAAzB,IAA8B,MAAM,MAAN,IAAgB,CAArD;AACD,CAAA,GAF+B,CAAhC,EAEI,MAFJ,EAEY;AACV,CAAA,UAAM,SAAS,IAAT,CAAc,CAAd,EAAiB,CAAjB,EAAmB;AACvB,CAAA,UAAI,SAAS,MAAb;AAAA,CAAA,UACI,KAAK,CAAC,CADV;AAAA,CAAA,UAEI,KAAK,CAAC,CAFV;AAAA,CAAA,UAGI,KAAK,SAAS,EAHlB;AAAA,CAAA,UAII,KAAK,SAAS,EAJlB;AAKA,CAAA,aAAO,IAAI,KAAK,EAAL,IAAW,CAAC,SAAS,OAAO,EAAjB,IAAuB,EAAvB,GAA4B,MAAM,SAAS,OAAO,EAAtB,CAA5B,IAAyD,EAAzD,KAAgE,CAA3E,CAAX;AACD,CAAA;AARS,CAAA,GAFZ;;;;;;ACLA,CAAA;AACA,CAAA,MAAI,UAAUA,cAAA,aAAA,CAAd;;AAEA,CAAA,UAAQ,QAAQ,CAAhB,EAAmB,MAAnB,EAA2B;AACzB,CAAA,WAAO,SAAS,KAAT,CAAe,CAAf,EAAiB;AACtB,CAAA,aAAO,KAAK,GAAL,CAAS,CAAT,IAAc,KAAK,IAA1B;AACD,CAAA;AAHwB,CAAA,GAA3B;;;;;;ACHA,CAAA;AACA,CAAA,MAAI,UAAUA,cAAA,aAAA,CAAd;;AAEA,CAAA,UAAQ,QAAQ,CAAhB,EAAmB,MAAnB,EAA2B,EAAC,OAAOA,cAAA,cAAA,CAAR,EAA3B;;;;;;ACHA,CAAA;AACA,CAAA,MAAI,UAAUA,cAAA,aAAA,CAAd;;AAEA,CAAA,UAAQ,QAAQ,CAAhB,EAAmB,MAAnB,EAA2B;AACzB,CAAA,UAAM,SAAS,IAAT,CAAc,CAAd,EAAgB;AACpB,CAAA,aAAO,KAAK,GAAL,CAAS,CAAT,IAAc,KAAK,GAA1B;AACD,CAAA;AAHwB,CAAA,GAA3B;;;;;;ACHA,CAAA;AACA,CAAA,MAAI,UAAUA,cAAA,aAAA,CAAd;;AAEA,CAAA,UAAQ,QAAQ,CAAhB,EAAmB,MAAnB,EAA2B,EAAC,MAAMA,cAAA,cAAA,CAAP,EAA3B;;;;;;ACHA,CAAA;AACA,CAAA,MAAI,UAAUA,cAAA,aAAA,CAAd;AAAA,CAAA,MACI,QAAUA,cAAA,cAAA,CADd;AAAA,CAAA,MAEI,MAAU,KAAK,GAFnB;;;AAKA,CAAA,UAAQ,QAAQ,CAAR,GAAY,QAAQ,CAAR,GAAYA,cAAA,aAAA,EAAoB,YAAU;AAC5D,CAAA,WAAO,CAAC,KAAK,IAAL,CAAU,CAAC,KAAX,CAAD,IAAsB,CAAC,KAA9B;AACD,CAAA,GAF+B,CAAhC,EAEI,MAFJ,EAEY;AACV,CAAA,UAAM,SAAS,IAAT,CAAc,CAAd,EAAgB;AACpB,CAAA,aAAO,KAAK,GAAL,CAAS,IAAI,CAAC,CAAd,IAAmB,CAAnB,GACH,CAAC,MAAM,CAAN,IAAW,MAAM,CAAC,CAAP,CAAZ,IAAyB,CADtB,GAEH,CAAC,IAAI,IAAI,CAAR,IAAa,IAAI,CAAC,CAAD,GAAK,CAAT,CAAd,KAA8B,KAAK,CAAL,GAAS,CAAvC,CAFJ;AAGD,CAAA;AALS,CAAA,GAFZ;;;;;;ACNA,CAAA;AACA,CAAA,MAAI,UAAUA,cAAA,aAAA,CAAd;AAAA,CAAA,MACI,QAAUA,cAAA,cAAA,CADd;AAAA,CAAA,MAEI,MAAU,KAAK,GAFnB;;AAIA,CAAA,UAAQ,QAAQ,CAAhB,EAAmB,MAAnB,EAA2B;AACzB,CAAA,UAAM,SAAS,IAAT,CAAc,CAAd,EAAgB;AACpB,CAAA,UAAI,IAAI,MAAM,IAAI,CAAC,CAAX,CAAR;AAAA,CAAA,UACI,IAAI,MAAM,CAAC,CAAP,CADR;AAEA,CAAA,aAAO,KAAK,QAAL,GAAgB,CAAhB,GAAoB,KAAK,QAAL,GAAgB,CAAC,CAAjB,GAAqB,CAAC,IAAI,CAAL,KAAW,IAAI,CAAJ,IAAS,IAAI,CAAC,CAAL,CAApB,CAAhD;AACD,CAAA;AALwB,CAAA,GAA3B;;;;;;ACLA,CAAA;AACA,CAAA,MAAI,UAAUA,cAAA,aAAA,CAAd;;AAEA,CAAA,UAAQ,QAAQ,CAAhB,EAAmB,MAAnB,EAA2B;AACzB,CAAA,WAAO,SAAS,KAAT,CAAe,EAAf,EAAkB;AACvB,CAAA,aAAO,CAAC,KAAK,CAAL,GAAS,KAAK,KAAd,GAAsB,KAAK,IAA5B,EAAkC,EAAlC,CAAP;AACD,CAAA;AAHwB,CAAA,GAA3B;;;;;;ACHA,CAAA,MAAI,UAAiBA,cAAA,aAAA,CAArB;AAAA,CAAA,MACI,UAAiBA,cAAA,YAAA,CADrB;AAAA,CAAA,MAEI,eAAiB,OAAO,YAF5B;AAAA,CAAA,MAGI,iBAAiB,OAAO,aAH5B;;;AAMA,CAAA,UAAQ,QAAQ,CAAR,GAAY,QAAQ,CAAR,IAAa,CAAC,CAAC,cAAF,IAAoB,eAAe,MAAf,IAAyB,CAA1D,CAApB,EAAkF,QAAlF,EAA4F;;AAE1F,CAAA,mBAAe,SAAS,aAAT,CAAuB,CAAvB,EAAyB;;AACtC,CAAA,UAAI,MAAO,EAAX;AAAA,CAAA,UACI,OAAO,UAAU,MADrB;AAAA,CAAA,UAEI,IAAO,CAFX;AAAA,CAAA,UAGI,IAHJ;AAIA,CAAA,aAAM,OAAO,CAAb,EAAe;AACb,CAAA,eAAO,CAAC,UAAU,GAAV,CAAR;AACA,CAAA,YAAG,QAAQ,IAAR,EAAc,QAAd,MAA4B,IAA/B,EAAoC,MAAM,WAAW,OAAO,4BAAlB,CAAN;AACpC,CAAA,YAAI,IAAJ,CAAS,OAAO,OAAP,GACL,aAAa,IAAb,CADK,GAEL,aAAa,CAAC,CAAC,QAAQ,OAAT,KAAqB,EAAtB,IAA4B,MAAzC,EAAiD,OAAO,KAAP,GAAe,MAAhE,CAFJ;AAID,CAAA,OAAC,OAAO,IAAI,IAAJ,CAAS,EAAT,CAAP;AACH,CAAA;AAfyF,CAAA,GAA5F;;;;;;ACNA,CAAA,MAAI,UAAYA,cAAA,aAAA,CAAhB;AAAA,CAAA,MACI,YAAYA,cAAA,aAAA,CADhB;AAAA,CAAA,MAEI,WAAYA,cAAA,aAAA,CAFhB;;AAIA,CAAA,UAAQ,QAAQ,CAAhB,EAAmB,QAAnB,EAA6B;;AAE3B,CAAA,SAAK,SAAS,GAAT,CAAa,QAAb,EAAsB;AACzB,CAAA,UAAI,MAAO,UAAU,SAAS,GAAnB,CAAX;AAAA,CAAA,UACI,MAAO,SAAS,IAAI,MAAb,CADX;AAAA,CAAA,UAEI,OAAO,UAAU,MAFrB;AAAA,CAAA,UAGI,MAAO,EAHX;AAAA,CAAA,UAII,IAAO,CAJX;AAKA,CAAA,aAAM,MAAM,CAAZ,EAAc;AACZ,CAAA,YAAI,IAAJ,CAAS,OAAO,IAAI,GAAJ,CAAP,CAAT;AACA,CAAA,YAAG,IAAI,IAAP,EAAY,IAAI,IAAJ,CAAS,OAAO,UAAU,CAAV,CAAP,CAAT;AACb,CAAA,OAAC,OAAO,IAAI,IAAJ,CAAS,EAAT,CAAP;AACH,CAAA;AAZ0B,CAAA,GAA7B;;;;;;ACJA,CAAA;;;AAEA,CAAA,gBAAA,cAAA,EAA0B,MAA1B,EAAkC,UAAS,KAAT,EAAe;AAC/C,CAAA,WAAO,SAAS,IAAT,GAAe;AACpB,CAAA,aAAO,MAAM,IAAN,EAAY,CAAZ,CAAP;AACD,CAAA,KAFD;AAGD,CAAA,GAJD;;;;;;ACFA,CAAA,MAAI,YAAYA,cAAA,YAAA,CAAhB;AAAA,CAAA,MACI,UAAYA,cAAA,aAAA,CADhB;;;AAIA,CAAA,SAAO,OAAP,GAAiB,UAAS,SAAT,EAAmB;AAClC,CAAA,WAAO,UAAS,IAAT,EAAe,GAAf,EAAmB;AACxB,CAAA,UAAI,IAAI,OAAO,QAAQ,IAAR,CAAP,CAAR;AAAA,CAAA,UACI,IAAI,UAAU,GAAV,CADR;AAAA,CAAA,UAEI,IAAI,EAAE,MAFV;AAAA,CAAA,UAGI,CAHJ;AAAA,CAAA,UAGO,CAHP;AAIA,CAAA,UAAG,IAAI,CAAJ,IAAS,KAAK,CAAjB,EAAmB,OAAO,YAAY,EAAZ,GAAiB,SAAxB;AACnB,CAAA,UAAI,EAAE,UAAF,CAAa,CAAb,CAAJ;AACA,CAAA,aAAO,IAAI,MAAJ,IAAc,IAAI,MAAlB,IAA4B,IAAI,CAAJ,KAAU,CAAtC,IAA2C,CAAC,IAAI,EAAE,UAAF,CAAa,IAAI,CAAjB,CAAL,IAA4B,MAAvE,IAAiF,IAAI,MAArF,GACH,YAAY,EAAE,MAAF,CAAS,CAAT,CAAZ,GAA0B,CADvB,GAEH,YAAY,EAAE,KAAF,CAAQ,CAAR,EAAW,IAAI,CAAf,CAAZ,GAAgC,CAAC,IAAI,MAAJ,IAAc,EAAf,KAAsB,IAAI,MAA1B,IAAoC,OAFxE;AAGD,CAAA,KAVD;AAWD,CAAA,GAZD;;;;;;;;;;ACJA,CAAA,SAAO,OAAP,GAAiB,EAAjB;;;;;;;;;;ACAA,CAAA;;AACA,CAAA,MAAI,SAAiBA,cAAA,aAAA,CAArB;AAAA,CAAA,MACI,aAAiBA,cAAA,aAAA,CADrB;AAAA,CAAA,MAEI,iBAAiBA,cAAA,aAAA,CAFrB;AAAA,CAAA,MAGI,oBAAoB,EAHxB;;;AAMA,CAAA,gBAAA,WAAA,EAAmB,iBAAnB,EAAsCA,cAAA,aAAA,EAAkB,UAAlB,CAAtC,EAAqE,YAAU;AAAE,CAAA,WAAO,IAAP;AAAc,CAAA,GAA/F;;AAEA,CAAA,SAAO,OAAP,GAAiB,UAAS,WAAT,EAAsB,IAAtB,EAA4B,IAA5B,EAAiC;AAChD,CAAA,gBAAY,SAAZ,GAAwB,OAAO,iBAAP,EAA0B,EAAC,MAAM,WAAW,CAAX,EAAc,IAAd,CAAP,EAA1B,CAAxB;AACA,CAAA,mBAAe,WAAf,EAA4B,OAAO,WAAnC;AACD,CAAA,GAHD;;;;;;;;;;ACTA,CAAA;;AACA,CAAA,MAAI,UAAiBA,cAAA,aAAA,CAArB;AAAA,CAAA,MACI,UAAiBA,cAAA,aAAA,CADrB;AAAA,CAAA,MAEI,WAAiBA,cAAA,aAAA,CAFrB;AAAA,CAAA,MAGI,OAAiBA,cAAA,WAAA,CAHrB;AAAA,CAAA,MAII,MAAiBA,cAAA,WAAA,CAJrB;AAAA,CAAA,MAKI,YAAiBA,cAAA,cAAA,CALrB;AAAA,CAAA,MAMI,cAAiBA,cAAA,cAAA,CANrB;AAAA,CAAA,MAOI,iBAAiBA,cAAA,aAAA,CAPrB;AAAA,CAAA,MAQI,iBAAiBA,cAAA,cAAA,CARrB;AAAA,CAAA,MASI,WAAiBA,cAAA,aAAA,EAAkB,UAAlB,CATrB;AAAA,CAAA,MAUI,QAAiB,EAAE,GAAG,IAAH,IAAW,UAAU,GAAG,IAAH,EAAvB,CAVrB;AAAA,CAAA;AAAA,CAAA,MAWI,cAAiB,YAXrB;AAAA,CAAA,MAYI,OAAiB,MAZrB;AAAA,CAAA,MAaI,SAAiB,QAbrB;;AAeA,CAAA,MAAI,aAAa,SAAb,UAAa,GAAU;AAAE,CAAA,WAAO,IAAP;AAAc,CAAA,GAA3C;;AAEA,CAAA,SAAO,OAAP,GAAiB,UAAS,IAAT,EAAe,IAAf,EAAqB,WAArB,EAAkC,IAAlC,EAAwC,OAAxC,EAAiD,MAAjD,EAAyD,MAAzD,EAAgE;AAC/E,CAAA,gBAAY,WAAZ,EAAyB,IAAzB,EAA+B,IAA/B;AACA,CAAA,QAAI,YAAY,SAAZ,SAAY,CAAS,IAAT,EAAc;AAC5B,CAAA,UAAG,CAAC,KAAD,IAAU,QAAQ,KAArB,EAA2B,OAAO,MAAM,IAAN,CAAP;AAC3B,CAAA,cAAO,IAAP;AACE,CAAA,aAAK,IAAL;AAAW,CAAA,iBAAO,SAAS,IAAT,GAAe;AAAE,CAAA,mBAAO,IAAI,WAAJ,CAAgB,IAAhB,EAAsB,IAAtB,CAAP;AAAqC,CAAA,WAA7D;AACX,CAAA,aAAK,MAAL;AAAa,CAAA,iBAAO,SAAS,MAAT,GAAiB;AAAE,CAAA,mBAAO,IAAI,WAAJ,CAAgB,IAAhB,EAAsB,IAAtB,CAAP;AAAqC,CAAA,WAA/D;AAFf,CAAA,OAGE,OAAO,SAAS,OAAT,GAAkB;AAAE,CAAA,eAAO,IAAI,WAAJ,CAAgB,IAAhB,EAAsB,IAAtB,CAAP;AAAqC,CAAA,OAAhE;AACH,CAAA,KAND;AAOA,CAAA,QAAI,MAAa,OAAO,WAAxB;AAAA,CAAA,QACI,aAAa,WAAW,MAD5B;AAAA,CAAA,QAEI,aAAa,KAFjB;AAAA,CAAA,QAGI,QAAa,KAAK,SAHtB;AAAA,CAAA,QAII,UAAa,MAAM,QAAN,KAAmB,MAAM,WAAN,CAAnB,IAAyC,WAAW,MAAM,OAAN,CAJrE;AAAA,CAAA,QAKI,WAAa,WAAW,UAAU,OAAV,CAL5B;AAAA,CAAA,QAMI,WAAa,UAAU,CAAC,UAAD,GAAc,QAAd,GAAyB,UAAU,SAAV,CAAnC,GAA0D,SAN3E;AAAA,CAAA,QAOI,aAAa,QAAQ,OAAR,GAAkB,MAAM,OAAN,IAAiB,OAAnC,GAA6C,OAP9D;AAAA,CAAA,QAQI,OARJ;AAAA,CAAA,QAQa,GARb;AAAA,CAAA,QAQkB,iBARlB;;AAUA,CAAA,QAAG,UAAH,EAAc;AACZ,CAAA,0BAAoB,eAAe,WAAW,IAAX,CAAgB,IAAI,IAAJ,EAAhB,CAAf,CAApB;AACA,CAAA,UAAG,sBAAsB,OAAO,SAAhC,EAA0C;;AAExC,CAAA,uBAAe,iBAAf,EAAkC,GAAlC,EAAuC,IAAvC;;AAEA,CAAA,YAAG,CAAC,OAAD,IAAY,CAAC,IAAI,iBAAJ,EAAuB,QAAvB,CAAhB,EAAiD,KAAK,iBAAL,EAAwB,QAAxB,EAAkC,UAAlC;AAClD,CAAA;AACF,CAAA;;AAED,CAAA,QAAG,cAAc,OAAd,IAAyB,QAAQ,IAAR,KAAiB,MAA7C,EAAoD;AAClD,CAAA,mBAAa,IAAb;AACA,CAAA,iBAAW,SAAS,MAAT,GAAiB;AAAE,CAAA,eAAO,QAAQ,IAAR,CAAa,IAAb,CAAP;AAA4B,CAAA,OAA1D;AACD,CAAA;;AAED,CAAA,QAAG,CAAC,CAAC,OAAD,IAAY,MAAb,MAAyB,SAAS,UAAT,IAAuB,CAAC,MAAM,QAAN,CAAjD,CAAH,EAAqE;AACnE,CAAA,WAAK,KAAL,EAAY,QAAZ,EAAsB,QAAtB;AACD,CAAA;;AAED,CAAA,cAAU,IAAV,IAAkB,QAAlB;AACA,CAAA,cAAU,GAAV,IAAkB,UAAlB;AACA,CAAA,QAAG,OAAH,EAAW;AACT,CAAA,gBAAU;AACR,CAAA,gBAAS,aAAa,QAAb,GAAwB,UAAU,MAAV,CADzB;AAER,CAAA,cAAS,SAAa,QAAb,GAAwB,UAAU,IAAV,CAFzB;AAGR,CAAA,iBAAS;AAHD,CAAA,OAAV;AAKA,CAAA,UAAG,MAAH,EAAU,KAAI,GAAJ,IAAW,OAAX,EAAmB;AAC3B,CAAA,YAAG,EAAE,OAAO,KAAT,CAAH,EAAmB,SAAS,KAAT,EAAgB,GAAhB,EAAqB,QAAQ,GAAR,CAArB;AACpB,CAAA,OAFD,MAEO,QAAQ,QAAQ,CAAR,GAAY,QAAQ,CAAR,IAAa,SAAS,UAAtB,CAApB,EAAuD,IAAvD,EAA6D,OAA7D;AACR,CAAA;AACD,CAAA,WAAO,OAAP;AACD,CAAA,GAnDD;;;;;;;;;;AClBA,CAAA;;AACA,CAAA,MAAI,MAAOA,cAAA,cAAA,EAAwB,IAAxB,CAAX;;;AAGA,CAAA,gBAAA,aAAA,EAA0B,MAA1B,EAAkC,QAAlC,EAA4C,UAAS,QAAT,EAAkB;AAC5D,CAAA,SAAK,EAAL,GAAU,OAAO,QAAP,CAAV,CAD4D;AAE5D,CAAA,SAAK,EAAL,GAAU,CAAV,CAF4D;;AAI7D,CAAA,GAJD,EAIG,YAAU;AACX,CAAA,QAAI,IAAQ,KAAK,EAAjB;AAAA,CAAA,QACI,QAAQ,KAAK,EADjB;AAAA,CAAA,QAEI,KAFJ;AAGA,CAAA,QAAG,SAAS,EAAE,MAAd,EAAqB,OAAO,EAAC,OAAO,SAAR,EAAmB,MAAM,IAAzB,EAAP;AACrB,CAAA,YAAQ,IAAI,CAAJ,EAAO,KAAP,CAAR;AACA,CAAA,SAAK,EAAL,IAAW,MAAM,MAAjB;AACA,CAAA,WAAO,EAAC,OAAO,KAAR,EAAe,MAAM,KAArB,EAAP;AACD,CAAA,GAZD;;;;;;ACJA,CAAA;;AACA,CAAA,MAAI,UAAUA,cAAA,aAAA,CAAd;AAAA,CAAA,MACI,MAAUA,cAAA,cAAA,EAAwB,KAAxB,CADd;AAEA,CAAA,UAAQ,QAAQ,CAAhB,EAAmB,QAAnB,EAA6B;;AAE3B,CAAA,iBAAa,SAAS,WAAT,CAAqB,GAArB,EAAyB;AACpC,CAAA,aAAO,IAAI,IAAJ,EAAU,GAAV,CAAP;AACD,CAAA;AAJ0B,CAAA,GAA7B;;;;;;ACHA,CAAA;AACA,CAAA,MAAI,WAAWA,cAAA,aAAA,CAAf;AAAA,CAAA,MACI,MAAWA,cAAA,aAAA,CADf;AAAA,CAAA,MAEI,QAAWA,cAAA,aAAA,EAAkB,OAAlB,CAFf;AAGA,CAAA,SAAO,OAAP,GAAiB,UAAS,EAAT,EAAY;AAC3B,CAAA,QAAI,QAAJ;AACA,CAAA,WAAO,SAAS,EAAT,MAAiB,CAAC,WAAW,GAAG,KAAH,CAAZ,MAA2B,SAA3B,GAAuC,CAAC,CAAC,QAAzC,GAAoD,IAAI,EAAJ,KAAW,QAAhF,CAAP;AACD,CAAA,GAHD;;;;;;;;;;ACJA,CAAA;AACA,CAAA,MAAI,WAAWA,cAAA,aAAA,CAAf;AAAA,CAAA,MACI,UAAWA,cAAA,aAAA,CADf;;AAGA,CAAA,SAAO,OAAP,GAAiB,UAAS,IAAT,EAAe,YAAf,EAA6B,IAA7B,EAAkC;AACjD,CAAA,QAAG,SAAS,YAAT,CAAH,EAA0B,MAAM,UAAU,YAAY,IAAZ,GAAmB,wBAA7B,CAAN;AAC1B,CAAA,WAAO,OAAO,QAAQ,IAAR,CAAP,CAAP;AACD,CAAA,GAHD;;;;;;;;;;ACJA,CAAA,MAAI,QAAQA,cAAA,aAAA,EAAkB,OAAlB,CAAZ;AACA,CAAA,SAAO,OAAP,GAAiB,UAAS,GAAT,EAAa;AAC5B,CAAA,QAAI,KAAK,GAAT;AACA,CAAA,QAAI;AACF,CAAA,YAAM,GAAN,EAAW,EAAX;AACD,CAAA,KAFD,CAEE,OAAM,CAAN,EAAQ;AACR,CAAA,UAAI;AACF,CAAA,WAAG,KAAH,IAAY,KAAZ;AACA,CAAA,eAAO,CAAC,MAAM,GAAN,EAAW,EAAX,CAAR;AACD,CAAA,OAHD,CAGE,OAAM,CAAN,EAAQ;AACX,CAAA,KAAC,OAAO,IAAP;AACH,CAAA,GAVD;;;;;;;;;;ACDA,CAAA;AACA,CAAA;;AACA,CAAA,MAAI,UAAYA,cAAA,aAAA,CAAhB;AAAA,CAAA,MACI,WAAYA,cAAA,aAAA,CADhB;AAAA,CAAA,MAEI,UAAYA,cAAA,cAAA,CAFhB;AAAA,CAAA,MAGI,YAAY,UAHhB;AAAA,CAAA,MAII,YAAY,GAAG,SAAH,CAJhB;;AAMA,CAAA,UAAQ,QAAQ,CAAR,GAAY,QAAQ,CAAR,GAAYA,cAAA,cAAA,EAA8B,SAA9B,CAAhC,EAA0E,QAA1E,EAAoF;AAClF,CAAA,cAAU,SAAS,QAAT,CAAkB,YAAlB,+BAA4D;AACpE,CAAA,UAAI,OAAO,QAAQ,IAAR,EAAc,YAAd,EAA4B,SAA5B,CAAX;AAAA,CAAA,UACI,cAAc,UAAU,MAAV,GAAmB,CAAnB,GAAuB,UAAU,CAAV,CAAvB,GAAsC,SADxD;AAAA,CAAA,UAEI,MAAS,SAAS,KAAK,MAAd,CAFb;AAAA,CAAA,UAGI,MAAS,gBAAgB,SAAhB,GAA4B,GAA5B,GAAkC,KAAK,GAAL,CAAS,SAAS,WAAT,CAAT,EAAgC,GAAhC,CAH/C;AAAA,CAAA,UAII,SAAS,OAAO,YAAP,CAJb;AAKA,CAAA,aAAO,YACH,UAAU,IAAV,CAAe,IAAf,EAAqB,MAArB,EAA6B,GAA7B,CADG,GAEH,KAAK,KAAL,CAAW,MAAM,OAAO,MAAxB,EAAgC,GAAhC,MAAyC,MAF7C;AAGD,CAAA;AAViF,CAAA,GAApF;;;;;;ACRA,CAAA;AACA,CAAA;;AACA,CAAA,MAAI,UAAWA,cAAA,aAAA,CAAf;AAAA,CAAA,MACI,UAAWA,cAAA,cAAA,CADf;AAAA,CAAA,MAEI,WAAW,UAFf;;AAIA,CAAA,UAAQ,QAAQ,CAAR,GAAY,QAAQ,CAAR,GAAYA,cAAA,cAAA,EAA8B,QAA9B,CAAhC,EAAyE,QAAzE,EAAmF;AACjF,CAAA,cAAU,SAAS,QAAT,CAAkB,YAAlB,sBAAmD;AAC3D,CAAA,aAAO,CAAC,CAAC,CAAC,QAAQ,IAAR,EAAc,YAAd,EAA4B,QAA5B,EACP,OADO,CACC,YADD,EACe,UAAU,MAAV,GAAmB,CAAnB,GAAuB,UAAU,CAAV,CAAvB,GAAsC,SADrD,CAAV;AAED,CAAA;AAJgF,CAAA,GAAnF;;;;;;ACNA,CAAA,MAAI,UAAUA,cAAA,aAAA,CAAd;;AAEA,CAAA,UAAQ,QAAQ,CAAhB,EAAmB,QAAnB,EAA6B;;AAE3B,CAAA,YAAQA,cAAA,cAAA;AAFmB,CAAA,GAA7B;;;;;;ACFA,CAAA;AACA,CAAA;;AACA,CAAA,MAAI,UAAcA,cAAA,aAAA,CAAlB;AAAA,CAAA,MACI,WAAcA,cAAA,aAAA,CADlB;AAAA,CAAA,MAEI,UAAcA,cAAA,cAAA,CAFlB;AAAA,CAAA,MAGI,cAAc,YAHlB;AAAA,CAAA,MAII,cAAc,GAAG,WAAH,CAJlB;;AAMA,CAAA,UAAQ,QAAQ,CAAR,GAAY,QAAQ,CAAR,GAAYA,cAAA,cAAA,EAA8B,WAA9B,CAAhC,EAA4E,QAA5E,EAAsF;AACpF,CAAA,gBAAY,SAAS,UAAT,CAAoB,YAApB,sBAAqD;AAC/D,CAAA,UAAI,OAAS,QAAQ,IAAR,EAAc,YAAd,EAA4B,WAA5B,CAAb;AAAA,CAAA,UACI,QAAS,SAAS,KAAK,GAAL,CAAS,UAAU,MAAV,GAAmB,CAAnB,GAAuB,UAAU,CAAV,CAAvB,GAAsC,SAA/C,EAA0D,KAAK,MAA/D,CAAT,CADb;AAAA,CAAA,UAEI,SAAS,OAAO,YAAP,CAFb;AAGA,CAAA,aAAO,cACH,YAAY,IAAZ,CAAiB,IAAjB,EAAuB,MAAvB,EAA+B,KAA/B,CADG,GAEH,KAAK,KAAL,CAAW,KAAX,EAAkB,QAAQ,OAAO,MAAjC,MAA6C,MAFjD;AAGD,CAAA;AARmF,CAAA,GAAtF;;;;;;ACRA,CAAA,MAAI,UAAUA,cAAA,aAAA,CAAd;AAAA,CAAA,MACI,QAAUA,cAAA,aAAA,CADd;AAAA,CAAA,MAEI,UAAUA,cAAA,aAAA,CAFd;AAAA,CAAA,MAGI,OAAU,IAHd;;AAKA,CAAA,MAAI,aAAa,SAAb,UAAa,CAAS,MAAT,EAAiB,GAAjB,EAAsB,SAAtB,EAAiC,KAAjC,EAAwC;AACvD,CAAA,QAAI,IAAK,OAAO,QAAQ,MAAR,CAAP,CAAT;AAAA,CAAA,QACI,KAAK,MAAM,GADf;AAEA,CAAA,QAAG,cAAc,EAAjB,EAAoB,MAAM,MAAM,SAAN,GAAkB,IAAlB,GAAyB,OAAO,KAAP,EAAc,OAAd,CAAsB,IAAtB,EAA4B,QAA5B,CAAzB,GAAiE,GAAvE;AACpB,CAAA,WAAO,KAAK,GAAL,GAAW,CAAX,GAAe,IAAf,GAAsB,GAAtB,GAA4B,GAAnC;AACD,CAAA,GALD;AAMA,CAAA,SAAO,OAAP,GAAiB,UAAS,IAAT,EAAe,IAAf,EAAoB;AACnC,CAAA,QAAI,IAAI,EAAR;AACA,CAAA,MAAE,IAAF,IAAU,KAAK,UAAL,CAAV;AACA,CAAA,YAAQ,QAAQ,CAAR,GAAY,QAAQ,CAAR,GAAY,MAAM,YAAU;AAC9C,CAAA,UAAI,OAAO,GAAG,IAAH,EAAS,GAAT,CAAX;AACA,CAAA,aAAO,SAAS,KAAK,WAAL,EAAT,IAA+B,KAAK,KAAL,CAAW,GAAX,EAAgB,MAAhB,GAAyB,CAA/D;AACD,CAAA,KAH+B,CAAhC,EAGI,QAHJ,EAGc,CAHd;AAID,CAAA,GAPD;;;;;;;;;;ACXA,CAAA;;;AAEA,CAAA,gBAAA,cAAA,EAA0B,QAA1B,EAAoC,UAAS,UAAT,EAAoB;AACtD,CAAA,WAAO,SAAS,MAAT,CAAgB,IAAhB,EAAqB;AAC1B,CAAA,aAAO,WAAW,IAAX,EAAiB,GAAjB,EAAsB,MAAtB,EAA8B,IAA9B,CAAP;AACD,CAAA,KAFD;AAGD,CAAA,GAJD;;;;;;ACFA,CAAA;;;AAEA,CAAA,gBAAA,cAAA,EAA0B,KAA1B,EAAiC,UAAS,UAAT,EAAoB;AACnD,CAAA,WAAO,SAAS,GAAT,GAAc;AACnB,CAAA,aAAO,WAAW,IAAX,EAAiB,KAAjB,EAAwB,EAAxB,EAA4B,EAA5B,CAAP;AACD,CAAA,KAFD;AAGD,CAAA,GAJD;;;;;;ACFA,CAAA;;;AAEA,CAAA,gBAAA,cAAA,EAA0B,OAA1B,EAAmC,UAAS,UAAT,EAAoB;AACrD,CAAA,WAAO,SAAS,KAAT,GAAgB;AACrB,CAAA,aAAO,WAAW,IAAX,EAAiB,OAAjB,EAA0B,EAA1B,EAA8B,EAA9B,CAAP;AACD,CAAA,KAFD;AAGD,CAAA,GAJD;;;;;;ACFA,CAAA;;;AAEA,CAAA,gBAAA,cAAA,EAA0B,MAA1B,EAAkC,UAAS,UAAT,EAAoB;AACpD,CAAA,WAAO,SAAS,IAAT,GAAe;AACpB,CAAA,aAAO,WAAW,IAAX,EAAiB,GAAjB,EAAsB,EAAtB,EAA0B,EAA1B,CAAP;AACD,CAAA,KAFD;AAGD,CAAA,GAJD;;;;;;ACFA,CAAA;;;AAEA,CAAA,gBAAA,cAAA,EAA0B,OAA1B,EAAmC,UAAS,UAAT,EAAoB;AACrD,CAAA,WAAO,SAAS,KAAT,GAAgB;AACrB,CAAA,aAAO,WAAW,IAAX,EAAiB,IAAjB,EAAuB,EAAvB,EAA2B,EAA3B,CAAP;AACD,CAAA,KAFD;AAGD,CAAA,GAJD;;;;;;ACFA,CAAA;;;AAEA,CAAA,gBAAA,cAAA,EAA0B,WAA1B,EAAuC,UAAS,UAAT,EAAoB;AACzD,CAAA,WAAO,SAAS,SAAT,CAAmB,KAAnB,EAAyB;AAC9B,CAAA,aAAO,WAAW,IAAX,EAAiB,MAAjB,EAAyB,OAAzB,EAAkC,KAAlC,CAAP;AACD,CAAA,KAFD;AAGD,CAAA,GAJD;;;;;;ACFA,CAAA;;;AAEA,CAAA,gBAAA,cAAA,EAA0B,UAA1B,EAAsC,UAAS,UAAT,EAAoB;AACxD,CAAA,WAAO,SAAS,QAAT,CAAkB,IAAlB,EAAuB;AAC5B,CAAA,aAAO,WAAW,IAAX,EAAiB,MAAjB,EAAyB,MAAzB,EAAiC,IAAjC,CAAP;AACD,CAAA,KAFD;AAGD,CAAA,GAJD;;;;;;ACFA,CAAA;;;AAEA,CAAA,gBAAA,cAAA,EAA0B,SAA1B,EAAqC,UAAS,UAAT,EAAoB;AACvD,CAAA,WAAO,SAAS,OAAT,GAAkB;AACvB,CAAA,aAAO,WAAW,IAAX,EAAiB,GAAjB,EAAsB,EAAtB,EAA0B,EAA1B,CAAP;AACD,CAAA,KAFD;AAGD,CAAA,GAJD;;;;;;ACFA,CAAA;;;AAEA,CAAA,gBAAA,cAAA,EAA0B,MAA1B,EAAkC,UAAS,UAAT,EAAoB;AACpD,CAAA,WAAO,SAAS,IAAT,CAAc,GAAd,EAAkB;AACvB,CAAA,aAAO,WAAW,IAAX,EAAiB,GAAjB,EAAsB,MAAtB,EAA8B,GAA9B,CAAP;AACD,CAAA,KAFD;AAGD,CAAA,GAJD;;;;;;ACFA,CAAA;;;AAEA,CAAA,gBAAA,cAAA,EAA0B,OAA1B,EAAmC,UAAS,UAAT,EAAoB;AACrD,CAAA,WAAO,SAAS,KAAT,GAAgB;AACrB,CAAA,aAAO,WAAW,IAAX,EAAiB,OAAjB,EAA0B,EAA1B,EAA8B,EAA9B,CAAP;AACD,CAAA,KAFD;AAGD,CAAA,GAJD;;;;;;ACFA,CAAA;;;AAEA,CAAA,gBAAA,cAAA,EAA0B,QAA1B,EAAoC,UAAS,UAAT,EAAoB;AACtD,CAAA,WAAO,SAAS,MAAT,GAAiB;AACtB,CAAA,aAAO,WAAW,IAAX,EAAiB,QAAjB,EAA2B,EAA3B,EAA+B,EAA/B,CAAP;AACD,CAAA,KAFD;AAGD,CAAA,GAJD;;;;;;ACFA,CAAA;;;AAEA,CAAA,gBAAA,cAAA,EAA0B,KAA1B,EAAiC,UAAS,UAAT,EAAoB;AACnD,CAAA,WAAO,SAAS,GAAT,GAAc;AACnB,CAAA,aAAO,WAAW,IAAX,EAAiB,KAAjB,EAAwB,EAAxB,EAA4B,EAA5B,CAAP;AACD,CAAA,KAFD;AAGD,CAAA,GAJD;;;;;;ACFA,CAAA;;;AAEA,CAAA,gBAAA,cAAA,EAA0B,KAA1B,EAAiC,UAAS,UAAT,EAAoB;AACnD,CAAA,WAAO,SAAS,GAAT,GAAc;AACnB,CAAA,aAAO,WAAW,IAAX,EAAiB,KAAjB,EAAwB,EAAxB,EAA4B,EAA5B,CAAP;AACD,CAAA,KAFD;AAGD,CAAA,GAJD;;;;;;ACFA,CAAA;AACA,CAAA,MAAI,UAAUA,cAAA,aAAA,CAAd;;AAEA,CAAA,UAAQ,QAAQ,CAAhB,EAAmB,MAAnB,EAA2B,EAAC,KAAK,eAAU;AAAE,CAAA,aAAO,IAAI,IAAJ,GAAW,OAAX,EAAP;AAA8B,CAAA,KAAhD,EAA3B;;;;;;ACHA,CAAA;;AACA,CAAA,MAAI,UAAcA,cAAA,aAAA,CAAlB;AAAA,CAAA,MACI,WAAcA,cAAA,aAAA,CADlB;AAAA,CAAA,MAEI,cAAcA,cAAA,aAAA,CAFlB;;AAIA,CAAA,UAAQ,QAAQ,CAAR,GAAY,QAAQ,CAAR,GAAYA,cAAA,aAAA,EAAoB,YAAU;AAC5D,CAAA,WAAO,IAAI,IAAJ,CAAS,GAAT,EAAc,MAAd,OAA2B,IAA3B,IAAmC,KAAK,SAAL,CAAe,MAAf,CAAsB,IAAtB,CAA2B,EAAC,aAAa,uBAAU;AAAE,CAAA,eAAO,CAAP;AAAW,CAAA,OAArC,EAA3B,MAAuE,CAAjH;AACD,CAAA,GAF+B,CAAhC,EAEI,MAFJ,EAEY;AACV,CAAA,YAAQ,SAAS,MAAT,CAAgB,GAAhB,EAAoB;AAC1B,CAAA,UAAI,IAAK,SAAS,IAAT,CAAT;AAAA,CAAA,UACI,KAAK,YAAY,CAAZ,CADT;AAEA,CAAA,aAAO,OAAO,EAAP,IAAa,QAAb,IAAyB,CAAC,SAAS,EAAT,CAA1B,GAAyC,IAAzC,GAAgD,EAAE,WAAF,EAAvD;AACD,CAAA;AALS,CAAA,GAFZ;;;;;;ACLA,CAAA;;;AAEA,CAAA,MAAI,UAAUA,cAAA,aAAA,CAAd;AAAA,CAAA,MACI,QAAUA,cAAA,aAAA,CADd;AAAA,CAAA,MAEI,UAAU,KAAK,SAAL,CAAe,OAF7B;;AAIA,CAAA,MAAI,KAAK,SAAL,EAAK,CAAS,GAAT,EAAa;AACpB,CAAA,WAAO,MAAM,CAAN,GAAU,GAAV,GAAgB,MAAM,GAA7B;AACD,CAAA,GAFD;;;AAKA,CAAA,UAAQ,QAAQ,CAAR,GAAY,QAAQ,CAAR,IAAa,MAAM,YAAU;AAC/C,CAAA,WAAO,IAAI,IAAJ,CAAS,CAAC,IAAD,GAAQ,CAAjB,EAAoB,WAApB,MAAqC,0BAA5C;AACD,CAAA,GAFgC,KAE3B,CAAC,MAAM,YAAU;AACrB,CAAA,QAAI,IAAJ,CAAS,GAAT,EAAc,WAAd;AACD,CAAA,GAFM,CAFa,CAApB,EAIK,MAJL,EAIa;AACX,CAAA,iBAAa,SAAS,WAAT,GAAsB;AACjC,CAAA,UAAG,CAAC,SAAS,QAAQ,IAAR,CAAa,IAAb,CAAT,CAAJ,EAAiC,MAAM,WAAW,oBAAX,CAAN;AACjC,CAAA,UAAI,IAAI,IAAR;AAAA,CAAA,UACI,IAAI,EAAE,cAAF,EADR;AAAA,CAAA,UAEI,IAAI,EAAE,kBAAF,EAFR;AAAA,CAAA,UAGI,IAAI,IAAI,CAAJ,GAAQ,GAAR,GAAc,IAAI,IAAJ,GAAW,GAAX,GAAiB,EAHvC;AAIA,CAAA,aAAO,IAAI,CAAC,UAAU,KAAK,GAAL,CAAS,CAAT,CAAX,EAAwB,KAAxB,CAA8B,IAAI,CAAC,CAAL,GAAS,CAAC,CAAxC,CAAJ,GACL,GADK,GACC,GAAG,EAAE,WAAF,KAAkB,CAArB,CADD,GAC2B,GAD3B,GACiC,GAAG,EAAE,UAAF,EAAH,CADjC,GAEL,GAFK,GAEC,GAAG,EAAE,WAAF,EAAH,CAFD,GAEuB,GAFvB,GAE6B,GAAG,EAAE,aAAF,EAAH,CAF7B,GAGL,GAHK,GAGC,GAAG,EAAE,aAAF,EAAH,CAHD,GAGyB,GAHzB,IAGgC,IAAI,EAAJ,GAAS,CAAT,GAAa,MAAM,GAAG,CAAH,CAHnD,IAG4D,GAHnE;AAID,CAAA;AAXU,CAAA,GAJb;;;;;;ACXA,CAAA,MAAI,YAAe,KAAK,SAAxB;AAAA,CAAA,MACI,eAAe,cADnB;AAAA,CAAA,MAEI,YAAe,UAFnB;AAAA,CAAA,MAGI,YAAe,UAAU,SAAV,CAHnB;AAAA,CAAA,MAII,UAAe,UAAU,OAJ7B;AAKA,CAAA,MAAG,IAAI,IAAJ,CAAS,GAAT,IAAgB,EAAhB,IAAsB,YAAzB,EAAsC;AACpC,CAAA,kBAAA,aAAA,EAAuB,SAAvB,EAAkC,SAAlC,EAA6C,SAAS,QAAT,GAAmB;AAC9D,CAAA,UAAI,QAAQ,QAAQ,IAAR,CAAa,IAAb,CAAZ;AACA,CAAA,aAAO,UAAU,KAAV,GAAkB,UAAU,IAAV,CAAe,IAAf,CAAlB,GAAyC,YAAhD;AACD,CAAA,KAHD;;;;;;;ACNF,CAAA;;AACA,CAAA,MAAI,WAAcA,cAAA,WAAA,CAAlB;AAAA,CAAA,MACI,cAAcA,cAAA,aAAA,CADlB;AAAA,CAAA,MAEI,SAAc,QAFlB;;AAIA,CAAA,SAAO,OAAP,GAAiB,UAAS,IAAT,EAAc;AAC7B,CAAA,QAAG,SAAS,QAAT,IAAqB,SAAS,MAA9B,IAAwC,SAAS,SAApD,EAA8D,MAAM,UAAU,gBAAV,CAAN;AAC9D,CAAA,WAAO,YAAY,SAAS,IAAT,CAAZ,EAA4B,QAAQ,MAApC,CAAP;AACD,CAAA,GAHD;;;;;;;;;;ACLA,CAAA,MAAI,eAAeA,cAAA,aAAA,EAAkB,aAAlB,CAAnB;AAAA,CAAA,MACI,QAAe,KAAK,SADxB;;AAGA,CAAA,MAAG,EAAE,gBAAgB,KAAlB,CAAH,EAA4BA,cAAA,WAAA,EAAmB,KAAnB,EAA0B,YAA1B,EAAwCA,cAAA,cAAA,CAAxC;;;;;;ACH5B,CAAA;AACA,CAAA,MAAI,UAAUA,cAAA,aAAA,CAAd;;AAEA,CAAA,UAAQ,QAAQ,CAAhB,EAAmB,OAAnB,EAA4B,EAAC,SAASA,cAAA,cAAA,CAAV,EAA5B;;;;;;ACHA,CAAA;AACA,CAAA,MAAI,WAAWA,cAAA,WAAA,CAAf;AACA,CAAA,SAAO,OAAP,GAAiB,UAAS,QAAT,EAAmB,EAAnB,EAAuB,KAAvB,EAA8B,OAA9B,EAAsC;AACrD,CAAA,QAAI;AACF,CAAA,aAAO,UAAU,GAAG,SAAS,KAAT,EAAgB,CAAhB,CAAH,EAAuB,MAAM,CAAN,CAAvB,CAAV,GAA6C,GAAG,KAAH,CAApD;;AAED,CAAA,KAHD,CAGE,OAAM,CAAN,EAAQ;AACR,CAAA,UAAI,MAAM,SAAS,QAAT,CAAV;AACA,CAAA,UAAG,QAAQ,SAAX,EAAqB,SAAS,IAAI,IAAJ,CAAS,QAAT,CAAT;AACrB,CAAA,YAAM,CAAN;AACD,CAAA;AACF,CAAA,GATD;;;;;;;;;;ACFA,CAAA;AACA,CAAA,MAAI,YAAaA,cAAA,cAAA,CAAjB;AAAA,CAAA,MACI,WAAaA,cAAA,aAAA,EAAkB,UAAlB,CADjB;AAAA,CAAA,MAEI,aAAa,MAAM,SAFvB;;AAIA,CAAA,SAAO,OAAP,GAAiB,UAAS,EAAT,EAAY;AAC3B,CAAA,WAAO,OAAO,SAAP,KAAqB,UAAU,KAAV,KAAoB,EAApB,IAA0B,WAAW,QAAX,MAAyB,EAAxE,CAAP;AACD,CAAA,GAFD;;;;;;;;;;ACLA,CAAA;;AACA,CAAA,MAAI,kBAAkBA,cAAA,aAAA,CAAtB;AAAA,CAAA,MACI,aAAkBA,cAAA,aAAA,CADtB;;AAGA,CAAA,SAAO,OAAP,GAAiB,UAAS,MAAT,EAAiB,KAAjB,EAAwB,KAAxB,EAA8B;AAC7C,CAAA,QAAG,SAAS,MAAZ,EAAmB,gBAAgB,CAAhB,CAAkB,MAAlB,EAA0B,KAA1B,EAAiC,WAAW,CAAX,EAAc,KAAd,CAAjC,EAAnB,KACK,OAAO,KAAP,IAAgB,KAAhB;AACN,CAAA,GAHD;;;;;;;;;;ACJA,CAAA,MAAI,UAAYA,cAAA,cAAA,CAAhB;AAAA,CAAA,MACI,WAAYA,cAAA,aAAA,EAAkB,UAAlB,CADhB;AAAA,CAAA,MAEI,YAAYA,cAAA,cAAA,CAFhB;AAGA,CAAA,SAAO,OAAP,GAAiBA,cAAA,WAAA,EAAmB,iBAAnB,GAAuC,UAAS,EAAT,EAAY;AAClE,CAAA,QAAG,MAAM,SAAT,EAAmB,OAAO,GAAG,QAAH,KACrB,GAAG,YAAH,CADqB,IAErB,UAAU,QAAQ,EAAR,CAAV,CAFc;AAGpB,CAAA,GAJD;;;;;;;;;;ACHA,CAAA,MAAI,WAAeA,cAAA,aAAA,EAAkB,UAAlB,CAAnB;AAAA,CAAA,MACI,eAAe,KADnB;;AAGA,CAAA,MAAI;AACF,CAAA,QAAI,QAAQ,CAAC,CAAD,EAAI,QAAJ,GAAZ;AACA,CAAA,UAAM,QAAN,IAAkB,YAAU;AAAE,CAAA,qBAAe,IAAf;AAAsB,CAAA,KAApD;AACA,CAAA,UAAM,IAAN,CAAW,KAAX,EAAkB,YAAU;AAAE,CAAA,YAAM,CAAN;AAAU,CAAA,KAAxC;AACD,CAAA,GAJD,CAIE,OAAM,CAAN,EAAQ;;AAEV,CAAA,SAAO,OAAP,GAAiB,UAAS,IAAT,EAAe,WAAf,EAA2B;AAC1C,CAAA,QAAG,CAAC,WAAD,IAAgB,CAAC,YAApB,EAAiC,OAAO,KAAP;AACjC,CAAA,QAAI,OAAO,KAAX;AACA,CAAA,QAAI;AACF,CAAA,UAAI,MAAO,CAAC,CAAD,CAAX;AAAA,CAAA,UACI,OAAO,IAAI,QAAJ,GADX;AAEA,CAAA,WAAK,IAAL,GAAY,YAAU;AAAE,CAAA,eAAO,EAAC,MAAM,OAAO,IAAd,EAAP;AAA6B,CAAA,OAArD;AACA,CAAA,UAAI,QAAJ,IAAgB,YAAU;AAAE,CAAA,eAAO,IAAP;AAAc,CAAA,OAA1C;AACA,CAAA,WAAK,GAAL;AACD,CAAA,KAND,CAME,OAAM,CAAN,EAAQ;AACV,CAAA,WAAO,IAAP;AACD,CAAA,GAXD;;;;;;;;;;ACTA,CAAA;;AACA,CAAA,MAAI,MAAiBA,cAAA,YAAA,CAArB;AAAA,CAAA,MACI,UAAiBA,cAAA,aAAA,CADrB;AAAA,CAAA,MAEI,WAAiBA,cAAA,aAAA,CAFrB;AAAA,CAAA,MAGI,OAAiBA,cAAA,aAAA,CAHrB;AAAA,CAAA,MAII,cAAiBA,cAAA,YAAA,CAJrB;AAAA,CAAA,MAKI,WAAiBA,cAAA,aAAA,CALrB;AAAA,CAAA,MAMI,iBAAiBA,cAAA,cAAA,CANrB;AAAA,CAAA,MAOI,YAAiBA,cAAA,YAAA,CAPrB;;AASA,CAAA,UAAQ,QAAQ,CAAR,GAAY,QAAQ,CAAR,GAAY,CAACA,cAAA,aAAA,EAA0B,UAAS,IAAT,EAAc;AAAE,CAAA,UAAM,IAAN,CAAW,IAAX;AAAmB,CAAA,GAA7D,CAAjC,EAAiG,OAAjG,EAA0G;;AAExG,CAAA,UAAM,SAAS,IAAT,CAAc,SAAd,+CAAoE;AACxE,CAAA,UAAI,IAAU,SAAS,SAAT,CAAd;AAAA,CAAA,UACI,IAAU,OAAO,IAAP,IAAe,UAAf,GAA4B,IAA5B,GAAmC,KADjD;AAAA,CAAA,UAEI,OAAU,UAAU,MAFxB;AAAA,CAAA,UAGI,QAAU,OAAO,CAAP,GAAW,UAAU,CAAV,CAAX,GAA0B,SAHxC;AAAA,CAAA,UAII,UAAU,UAAU,SAJxB;AAAA,CAAA,UAKI,QAAU,CALd;AAAA,CAAA,UAMI,SAAU,UAAU,CAAV,CANd;AAAA,CAAA,UAOI,MAPJ;AAAA,CAAA,UAOY,MAPZ;AAAA,CAAA,UAOoB,IAPpB;AAAA,CAAA,UAO0B,QAP1B;AAQA,CAAA,UAAG,OAAH,EAAW,QAAQ,IAAI,KAAJ,EAAW,OAAO,CAAP,GAAW,UAAU,CAAV,CAAX,GAA0B,SAArC,EAAgD,CAAhD,CAAR;;AAEX,CAAA,UAAG,UAAU,SAAV,IAAuB,EAAE,KAAK,KAAL,IAAc,YAAY,MAAZ,CAAhB,CAA1B,EAA+D;AAC7D,CAAA,aAAI,WAAW,OAAO,IAAP,CAAY,CAAZ,CAAX,EAA2B,SAAS,IAAI,CAAJ,EAAxC,EAA+C,CAAC,CAAC,OAAO,SAAS,IAAT,EAAR,EAAyB,IAAzE,EAA+E,OAA/E,EAAuF;AACrF,CAAA,yBAAe,MAAf,EAAuB,KAAvB,EAA8B,UAAU,KAAK,QAAL,EAAe,KAAf,EAAsB,CAAC,KAAK,KAAN,EAAa,KAAb,CAAtB,EAA2C,IAA3C,CAAV,GAA6D,KAAK,KAAhG;AACD,CAAA;AACF,CAAA,OAJD,MAIO;AACL,CAAA,iBAAS,SAAS,EAAE,MAAX,CAAT;AACA,CAAA,aAAI,SAAS,IAAI,CAAJ,CAAM,MAAN,CAAb,EAA4B,SAAS,KAArC,EAA4C,OAA5C,EAAoD;AAClD,CAAA,yBAAe,MAAf,EAAuB,KAAvB,EAA8B,UAAU,MAAM,EAAE,KAAF,CAAN,EAAgB,KAAhB,CAAV,GAAmC,EAAE,KAAF,CAAjE;AACD,CAAA;AACF,CAAA;AACD,CAAA,aAAO,MAAP,GAAgB,KAAhB;AACA,CAAA,aAAO,MAAP;AACD,CAAA;AAzBuG,CAAA,GAA1G;;;;;;ACVA,CAAA;;AACA,CAAA,MAAI,UAAiBA,cAAA,aAAA,CAArB;AAAA,CAAA,MACI,iBAAiBA,cAAA,cAAA,CADrB;;;AAIA,CAAA,UAAQ,QAAQ,CAAR,GAAY,QAAQ,CAAR,GAAYA,cAAA,aAAA,EAAoB,YAAU;AAC5D,CAAA,aAAS,CAAT,GAAY;AACZ,CAAA,WAAO,EAAE,MAAM,EAAN,CAAS,IAAT,CAAc,CAAd,aAA4B,CAA9B,CAAP;AACD,CAAA,GAH+B,CAAhC,EAGI,OAHJ,EAGa;;AAEX,CAAA,QAAI,SAAS,EAAT,gBAA0B;AAC5B,CAAA,UAAI,QAAS,CAAb;AAAA,CAAA,UACI,OAAS,UAAU,MADvB;AAAA,CAAA,UAEI,SAAS,KAAK,OAAO,IAAP,IAAe,UAAf,GAA4B,IAA5B,GAAmC,KAAxC,EAA+C,IAA/C,CAFb;AAGA,CAAA,aAAM,OAAO,KAAb;AAAmB,CAAA,uBAAe,MAAf,EAAuB,KAAvB,EAA8B,UAAU,OAAV,CAA9B;AAAnB,CAAA,OACA,OAAO,MAAP,GAAgB,IAAhB;AACA,CAAA,aAAO,MAAP;AACD,CAAA;AATU,CAAA,GAHb;;;;;;ACLA,CAAA,MAAI,QAAQA,cAAA,aAAA,CAAZ;;AAEA,CAAA,SAAO,OAAP,GAAiB,UAAS,MAAT,EAAiB,GAAjB,EAAqB;AACpC,CAAA,WAAO,CAAC,CAAC,MAAF,IAAY,MAAM,YAAU;AACjC,CAAA,YAAM,OAAO,IAAP,CAAY,IAAZ,EAAkB,YAAU,EAA5B,EAAgC,CAAhC,CAAN,GAA2C,OAAO,IAAP,CAAY,IAAZ,CAA3C;AACD,CAAA,KAFkB,CAAnB;AAGD,CAAA,GAJD;;;;;;;;;;ACFA,CAAA;;;AAEA,CAAA,MAAI,UAAYA,cAAA,aAAA,CAAhB;AAAA,CAAA,MACI,YAAYA,cAAA,aAAA,CADhB;AAAA,CAAA,MAEI,YAAY,GAAG,IAFnB;;;AAKA,CAAA,UAAQ,QAAQ,CAAR,GAAY,QAAQ,CAAR,IAAaA,cAAA,aAAA,KAAyB,MAAzB,IAAmC,CAACA,cAAA,cAAA,EAA4B,SAA5B,CAAjD,CAApB,EAA8G,OAA9G,EAAuH;AACrH,CAAA,UAAM,SAAS,IAAT,CAAc,SAAd,EAAwB;AAC5B,CAAA,aAAO,UAAU,IAAV,CAAe,UAAU,IAAV,CAAf,EAAgC,cAAc,SAAd,GAA0B,GAA1B,GAAgC,SAAhE,CAAP;AACD,CAAA;AAHoH,CAAA,GAAvH;;;;;;ACPA,CAAA;;AACA,CAAA,MAAI,UAAaA,cAAA,aAAA,CAAjB;AAAA,CAAA,MACI,OAAaA,cAAA,aAAA,CADjB;AAAA,CAAA,MAEI,MAAaA,cAAA,aAAA,CAFjB;AAAA,CAAA,MAGI,UAAaA,cAAA,YAAA,CAHjB;AAAA,CAAA,MAII,WAAaA,cAAA,aAAA,CAJjB;AAAA,CAAA,MAKI,aAAa,GAAG,KALpB;;;AAQA,CAAA,UAAQ,QAAQ,CAAR,GAAY,QAAQ,CAAR,GAAYA,cAAA,aAAA,EAAoB,YAAU;AAC5D,CAAA,QAAG,IAAH,EAAQ,WAAW,IAAX,CAAgB,IAAhB;AACT,CAAA,GAF+B,CAAhC,EAEI,OAFJ,EAEa;AACX,CAAA,WAAO,SAAS,KAAT,CAAe,KAAf,EAAsB,GAAtB,EAA0B;AAC/B,CAAA,UAAI,MAAQ,SAAS,KAAK,MAAd,CAAZ;AAAA,CAAA,UACI,QAAQ,IAAI,IAAJ,CADZ;AAEA,CAAA,YAAM,QAAQ,SAAR,GAAoB,GAApB,GAA0B,GAAhC;AACA,CAAA,UAAG,SAAS,OAAZ,EAAoB,OAAO,WAAW,IAAX,CAAgB,IAAhB,EAAsB,KAAtB,EAA6B,GAA7B,CAAP;AACpB,CAAA,UAAI,QAAS,QAAQ,KAAR,EAAe,GAAf,CAAb;AAAA,CAAA,UACI,OAAS,QAAQ,GAAR,EAAa,GAAb,CADb;AAAA,CAAA,UAEI,OAAS,SAAS,OAAO,KAAhB,CAFb;AAAA,CAAA,UAGI,SAAS,MAAM,IAAN,CAHb;AAAA,CAAA,UAII,IAAS,CAJb;AAKA,CAAA,aAAM,IAAI,IAAV,EAAgB,GAAhB;AAAoB,CAAA,eAAO,CAAP,IAAY,SAAS,QAAT,GAC5B,KAAK,MAAL,CAAY,QAAQ,CAApB,CAD4B,GAE5B,KAAK,QAAQ,CAAb,CAFgB;AAApB,CAAA,OAGA,OAAO,MAAP;AACD,CAAA;AAfU,CAAA,GAFb;;;;;;ACTA,CAAA;;AACA,CAAA,MAAI,UAAYA,cAAA,aAAA,CAAhB;AAAA,CAAA,MACI,YAAYA,cAAA,aAAA,CADhB;AAAA,CAAA,MAEI,WAAYA,cAAA,aAAA,CAFhB;AAAA,CAAA,MAGI,QAAYA,cAAA,aAAA,CAHhB;AAAA,CAAA,MAII,QAAY,GAAG,IAJnB;AAAA,CAAA,MAKI,OAAY,CAAC,CAAD,EAAI,CAAJ,EAAO,CAAP,CALhB;;AAOA,CAAA,UAAQ,QAAQ,CAAR,GAAY,QAAQ,CAAR,IAAa,MAAM,YAAU;;AAE/C,CAAA,SAAK,IAAL,CAAU,SAAV;AACD,CAAA,GAHgC,KAG3B,CAAC,MAAM,YAAU;;AAErB,CAAA,SAAK,IAAL,CAAU,IAAV;;AAED,CAAA,GAJM,CAH0B,IAO3B,CAACA,cAAA,cAAA,EAA4B,KAA5B,CAPa,CAApB,EAO4C,OAP5C,EAOqD;;AAEnD,CAAA,UAAM,SAAS,IAAT,CAAc,SAAd,EAAwB;AAC5B,CAAA,aAAO,cAAc,SAAd,GACH,MAAM,IAAN,CAAW,SAAS,IAAT,CAAX,CADG,GAEH,MAAM,IAAN,CAAW,SAAS,IAAT,CAAX,EAA2B,UAAU,SAAV,CAA3B,CAFJ;AAGD,CAAA;AANkD,CAAA,GAPrD;;;;;;ACRA,CAAA,MAAI,WAAWA,cAAA,aAAA,CAAf;AAAA,CAAA,MACI,UAAWA,cAAA,cAAA,CADf;AAAA,CAAA,MAEI,UAAWA,cAAA,aAAA,EAAkB,SAAlB,CAFf;;AAIA,CAAA,SAAO,OAAP,GAAiB,UAAS,QAAT,EAAkB;AACjC,CAAA,QAAI,CAAJ;AACA,CAAA,QAAG,QAAQ,QAAR,CAAH,EAAqB;AACnB,CAAA,UAAI,SAAS,WAAb;;AAEA,CAAA,UAAG,OAAO,CAAP,IAAY,UAAZ,KAA2B,MAAM,KAAN,IAAe,QAAQ,EAAE,SAAV,CAA1C,CAAH,EAAmE,IAAI,SAAJ;AACnE,CAAA,UAAG,SAAS,CAAT,CAAH,EAAe;AACb,CAAA,YAAI,EAAE,OAAF,CAAJ;AACA,CAAA,YAAG,MAAM,IAAT,EAAc,IAAI,SAAJ;AACf,CAAA;AACF,CAAA,KAAC,OAAO,MAAM,SAAN,GAAkB,KAAlB,GAA0B,CAAjC;AACH,CAAA,GAXD;;;;;;;;;;ACJA,CAAA;AACA,CAAA,MAAI,qBAAqBA,cAAA,cAAA,CAAzB;;AAEA,CAAA,SAAO,OAAP,GAAiB,UAAS,QAAT,EAAmB,MAAnB,EAA0B;AACzC,CAAA,WAAO,KAAK,mBAAmB,QAAnB,CAAL,EAAmC,MAAnC,CAAP;AACD,CAAA,GAFD;;;;;;;;;;ACHA,CAAA;;;;;;;AAOA,CAAA,MAAI,MAAWA,cAAA,YAAA,CAAf;AAAA,CAAA,MACI,UAAWA,cAAA,aAAA,CADf;AAAA,CAAA,MAEI,WAAWA,cAAA,aAAA,CAFf;AAAA,CAAA,MAGI,WAAWA,cAAA,aAAA,CAHf;AAAA,CAAA,MAII,MAAWA,cAAA,cAAA,CAJf;AAKA,CAAA,SAAO,OAAP,GAAiB,UAAS,IAAT,EAAe,OAAf,EAAuB;AACtC,CAAA,QAAI,SAAgB,QAAQ,CAA5B;AAAA,CAAA,QACI,YAAgB,QAAQ,CAD5B;AAAA,CAAA,QAEI,UAAgB,QAAQ,CAF5B;AAAA,CAAA,QAGI,WAAgB,QAAQ,CAH5B;AAAA,CAAA,QAII,gBAAgB,QAAQ,CAJ5B;AAAA,CAAA,QAKI,WAAgB,QAAQ,CAAR,IAAa,aALjC;AAAA,CAAA,QAMI,SAAgB,WAAW,GAN/B;AAOA,CAAA,WAAO,UAAS,KAAT,EAAgB,UAAhB,EAA4B,IAA5B,EAAiC;AACtC,CAAA,UAAI,IAAS,SAAS,KAAT,CAAb;AAAA,CAAA,UACI,OAAS,QAAQ,CAAR,CADb;AAAA,CAAA,UAEI,IAAS,IAAI,UAAJ,EAAgB,IAAhB,EAAsB,CAAtB,CAFb;AAAA,CAAA,UAGI,SAAS,SAAS,KAAK,MAAd,CAHb;AAAA,CAAA,UAII,QAAS,CAJb;AAAA,CAAA,UAKI,SAAS,SAAS,OAAO,KAAP,EAAc,MAAd,CAAT,GAAiC,YAAY,OAAO,KAAP,EAAc,CAAd,CAAZ,GAA+B,SAL7E;AAAA,CAAA,UAMI,GANJ;AAAA,CAAA,UAMS,GANT;AAOA,CAAA,aAAK,SAAS,KAAd,EAAqB,OAArB;AAA6B,CAAA,YAAG,YAAY,SAAS,IAAxB,EAA6B;AACxD,CAAA,gBAAM,KAAK,KAAL,CAAN;AACA,CAAA,gBAAM,EAAE,GAAF,EAAO,KAAP,EAAc,CAAd,CAAN;AACA,CAAA,cAAG,IAAH,EAAQ;AACN,CAAA,gBAAG,MAAH,EAAU,OAAO,KAAP,IAAgB,GAAhB,CAAV;AAAA,CAAA,iBACK,IAAG,GAAH,EAAO,QAAO,IAAP;AACV,CAAA,qBAAK,CAAL;AAAQ,CAAA,yBAAO,IAAP,CADE;AAEV,CAAA,qBAAK,CAAL;AAAQ,CAAA,yBAAO,GAAP,CAFE;AAGV,CAAA,qBAAK,CAAL;AAAQ,CAAA,yBAAO,KAAP,CAHE;AAIV,CAAA,qBAAK,CAAL;AAAQ,CAAA,yBAAO,IAAP,CAAY,GAAZ,EAJE;AAAA,CAAA,eAAP,MAKE,IAAG,QAAH,EAAY,OAAO,KAAP,CAPb;AAQP,CAAA;AACF,CAAA;AAZD,CAAA,OAaA,OAAO,gBAAgB,CAAC,CAAjB,GAAqB,WAAW,QAAX,GAAsB,QAAtB,GAAiC,MAA7D;AACD,CAAA,KAtBD;AAuBD,CAAA,GA/BD;;;;;;;;;;ACZA,CAAA;;AACA,CAAA,MAAI,UAAWA,cAAA,aAAA,CAAf;AAAA,CAAA,MACI,WAAWA,cAAA,YAAA,EAA4B,CAA5B,CADf;AAAA,CAAA,MAEI,SAAWA,cAAA,cAAA,EAA4B,GAAG,OAA/B,EAAwC,IAAxC,CAFf;;AAIA,CAAA,UAAQ,QAAQ,CAAR,GAAY,QAAQ,CAAR,GAAY,CAAC,MAAjC,EAAyC,OAAzC,EAAkD;;AAEhD,CAAA,aAAS,SAAS,OAAT,CAAiB,UAAjB,kBAA4C;AACnD,CAAA,aAAO,SAAS,IAAT,EAAe,UAAf,EAA2B,UAAU,CAAV,CAA3B,CAAP;AACD,CAAA;AAJ+C,CAAA,GAAlD;;;;;;ACLA,CAAA;;AACA,CAAA,MAAI,UAAUA,cAAA,aAAA,CAAd;AAAA,CAAA,MACI,OAAUA,cAAA,YAAA,EAA4B,CAA5B,CADd;;AAGA,CAAA,UAAQ,QAAQ,CAAR,GAAY,QAAQ,CAAR,GAAY,CAACA,cAAA,cAAA,EAA4B,GAAG,GAA/B,EAAoC,IAApC,CAAjC,EAA4E,OAA5E,EAAqF;;AAEnF,CAAA,SAAK,SAAS,GAAT,CAAa,UAAb,kBAAwC;AAC3C,CAAA,aAAO,KAAK,IAAL,EAAW,UAAX,EAAuB,UAAU,CAAV,CAAvB,CAAP;AACD,CAAA;AAJkF,CAAA,GAArF;;;;;;ACJA,CAAA;;AACA,CAAA,MAAI,UAAUA,cAAA,aAAA,CAAd;AAAA,CAAA,MACI,UAAUA,cAAA,YAAA,EAA4B,CAA5B,CADd;;AAGA,CAAA,UAAQ,QAAQ,CAAR,GAAY,QAAQ,CAAR,GAAY,CAACA,cAAA,cAAA,EAA4B,GAAG,MAA/B,EAAuC,IAAvC,CAAjC,EAA+E,OAA/E,EAAwF;;AAEtF,CAAA,YAAQ,SAAS,MAAT,CAAgB,UAAhB,kBAA2C;AACjD,CAAA,aAAO,QAAQ,IAAR,EAAc,UAAd,EAA0B,UAAU,CAAV,CAA1B,CAAP;AACD,CAAA;AAJqF,CAAA,GAAxF;;;;;;ACJA,CAAA;;AACA,CAAA,MAAI,UAAUA,cAAA,aAAA,CAAd;AAAA,CAAA,MACI,QAAUA,cAAA,YAAA,EAA4B,CAA5B,CADd;;AAGA,CAAA,UAAQ,QAAQ,CAAR,GAAY,QAAQ,CAAR,GAAY,CAACA,cAAA,cAAA,EAA4B,GAAG,IAA/B,EAAqC,IAArC,CAAjC,EAA6E,OAA7E,EAAsF;;AAEpF,CAAA,UAAM,SAAS,IAAT,CAAc,UAAd,kBAAyC;AAC7C,CAAA,aAAO,MAAM,IAAN,EAAY,UAAZ,EAAwB,UAAU,CAAV,CAAxB,CAAP;AACD,CAAA;AAJmF,CAAA,GAAtF;;;;;;ACJA,CAAA;;AACA,CAAA,MAAI,UAAUA,cAAA,aAAA,CAAd;AAAA,CAAA,MACI,SAAUA,cAAA,YAAA,EAA4B,CAA5B,CADd;;AAGA,CAAA,UAAQ,QAAQ,CAAR,GAAY,QAAQ,CAAR,GAAY,CAACA,cAAA,cAAA,EAA4B,GAAG,KAA/B,EAAsC,IAAtC,CAAjC,EAA8E,OAA9E,EAAuF;;AAErF,CAAA,WAAO,SAAS,KAAT,CAAe,UAAf,kBAA0C;AAC/C,CAAA,aAAO,OAAO,IAAP,EAAa,UAAb,EAAyB,UAAU,CAAV,CAAzB,CAAP;AACD,CAAA;AAJoF,CAAA,GAAvF;;;;;;ACJA,CAAA,MAAI,YAAYA,cAAA,aAAA,CAAhB;AAAA,CAAA,MACI,WAAYA,cAAA,aAAA,CADhB;AAAA,CAAA,MAEI,UAAYA,cAAA,aAAA,CAFhB;AAAA,CAAA,MAGI,WAAYA,cAAA,aAAA,CAHhB;;AAKA,CAAA,SAAO,OAAP,GAAiB,UAAS,IAAT,EAAe,UAAf,EAA2B,IAA3B,EAAiC,IAAjC,EAAuC,OAAvC,EAA+C;AAC9D,CAAA,cAAU,UAAV;AACA,CAAA,QAAI,IAAS,SAAS,IAAT,CAAb;AAAA,CAAA,QACI,OAAS,QAAQ,CAAR,CADb;AAAA,CAAA,QAEI,SAAS,SAAS,EAAE,MAAX,CAFb;AAAA,CAAA,QAGI,QAAS,UAAU,SAAS,CAAnB,GAAuB,CAHpC;AAAA,CAAA,QAII,IAAS,UAAU,CAAC,CAAX,GAAe,CAJ5B;AAKA,CAAA,QAAG,OAAO,CAAV,EAAY,SAAO;AACjB,CAAA,UAAG,SAAS,IAAZ,EAAiB;AACf,CAAA,eAAO,KAAK,KAAL,CAAP;AACA,CAAA,iBAAS,CAAT;AACA,CAAA;AACD,CAAA;AACD,CAAA,eAAS,CAAT;AACA,CAAA,UAAG,UAAU,QAAQ,CAAlB,GAAsB,UAAU,KAAnC,EAAyC;AACvC,CAAA,cAAM,UAAU,6CAAV,CAAN;AACD,CAAA;AACF,CAAA;AACD,CAAA,WAAK,UAAU,SAAS,CAAnB,GAAuB,SAAS,KAArC,EAA4C,SAAS,CAArD;AAAuD,CAAA,UAAG,SAAS,IAAZ,EAAiB;AACtE,CAAA,eAAO,WAAW,IAAX,EAAiB,KAAK,KAAL,CAAjB,EAA8B,KAA9B,EAAqC,CAArC,CAAP;AACD,CAAA;AAFD,CAAA,KAGA,OAAO,IAAP;AACD,CAAA,GAtBD;;;;;;;;;;ACLA,CAAA;;AACA,CAAA,MAAI,UAAUA,cAAA,aAAA,CAAd;AAAA,CAAA,MACI,UAAUA,cAAA,cAAA,CADd;;AAGA,CAAA,UAAQ,QAAQ,CAAR,GAAY,QAAQ,CAAR,GAAY,CAACA,cAAA,cAAA,EAA4B,GAAG,MAA/B,EAAuC,IAAvC,CAAjC,EAA+E,OAA/E,EAAwF;;AAEtF,CAAA,YAAQ,SAAS,MAAT,CAAgB,UAAhB,uBAAgD;AACtD,CAAA,aAAO,QAAQ,IAAR,EAAc,UAAd,EAA0B,UAAU,MAApC,EAA4C,UAAU,CAAV,CAA5C,EAA0D,KAA1D,CAAP;AACD,CAAA;AAJqF,CAAA,GAAxF;;;;;;ACJA,CAAA;;AACA,CAAA,MAAI,UAAUA,cAAA,aAAA,CAAd;AAAA,CAAA,MACI,UAAUA,cAAA,cAAA,CADd;;AAGA,CAAA,UAAQ,QAAQ,CAAR,GAAY,QAAQ,CAAR,GAAY,CAACA,cAAA,cAAA,EAA4B,GAAG,WAA/B,EAA4C,IAA5C,CAAjC,EAAoF,OAApF,EAA6F;;AAE3F,CAAA,iBAAa,SAAS,WAAT,CAAqB,UAArB,uBAAqD;AAChE,CAAA,aAAO,QAAQ,IAAR,EAAc,UAAd,EAA0B,UAAU,MAApC,EAA4C,UAAU,CAAV,CAA5C,EAA0D,IAA1D,CAAP;AACD,CAAA;AAJ0F,CAAA,GAA7F;;;;;;ACJA,CAAA;;AACA,CAAA,MAAI,UAAgBA,cAAA,aAAA,CAApB;AAAA,CAAA,MACI,WAAgBA,cAAA,aAAA,EAA6B,KAA7B,CADpB;AAAA,CAAA,MAEI,UAAgB,GAAG,OAFvB;AAAA,CAAA,MAGI,gBAAgB,CAAC,CAAC,OAAF,IAAa,IAAI,CAAC,CAAD,EAAI,OAAJ,CAAY,CAAZ,EAAe,CAAC,CAAhB,CAAJ,GAAyB,CAH1D;;AAKA,CAAA,UAAQ,QAAQ,CAAR,GAAY,QAAQ,CAAR,IAAa,iBAAiB,CAACA,cAAA,cAAA,EAA4B,OAA5B,CAA/B,CAApB,EAA0F,OAA1F,EAAmG;;AAEjG,CAAA,aAAS,SAAS,OAAT,CAAiB,aAAjB,uBAAoD;AAC3D,CAAA,aAAO;;AAAA,CAAA,QAEH,QAAQ,KAAR,CAAc,IAAd,EAAoB,SAApB,KAAkC,CAF/B,GAGH,SAAS,IAAT,EAAe,aAAf,EAA8B,UAAU,CAAV,CAA9B,CAHJ;AAID,CAAA;AAPgG,CAAA,GAAnG;;;;;;ACNA,CAAA;;AACA,CAAA,MAAI,UAAgBA,cAAA,aAAA,CAApB;AAAA,CAAA,MACI,YAAgBA,cAAA,aAAA,CADpB;AAAA,CAAA,MAEI,YAAgBA,cAAA,YAAA,CAFpB;AAAA,CAAA,MAGI,WAAgBA,cAAA,aAAA,CAHpB;AAAA,CAAA,MAII,UAAgB,GAAG,WAJvB;AAAA,CAAA,MAKI,gBAAgB,CAAC,CAAC,OAAF,IAAa,IAAI,CAAC,CAAD,EAAI,WAAJ,CAAgB,CAAhB,EAAmB,CAAC,CAApB,CAAJ,GAA6B,CAL9D;;AAOA,CAAA,UAAQ,QAAQ,CAAR,GAAY,QAAQ,CAAR,IAAa,iBAAiB,CAACA,cAAA,cAAA,EAA4B,OAA5B,CAA/B,CAApB,EAA0F,OAA1F,EAAmG;;AAEjG,CAAA,iBAAa,SAAS,WAAT,CAAqB,aAArB,4BAA6D;;AAExE,CAAA,UAAG,aAAH,EAAiB,OAAO,QAAQ,KAAR,CAAc,IAAd,EAAoB,SAApB,KAAkC,CAAzC;AACjB,CAAA,UAAI,IAAS,UAAU,IAAV,CAAb;AAAA,CAAA,UACI,SAAS,SAAS,EAAE,MAAX,CADb;AAAA,CAAA,UAEI,QAAS,SAAS,CAFtB;AAGA,CAAA,UAAG,UAAU,MAAV,GAAmB,CAAtB,EAAwB,QAAQ,KAAK,GAAL,CAAS,KAAT,EAAgB,UAAU,UAAU,CAAV,CAAV,CAAhB,CAAR;AACxB,CAAA,UAAG,QAAQ,CAAX,EAAa,QAAQ,SAAS,KAAjB;AACb,CAAA,aAAK,SAAS,CAAd,EAAiB,OAAjB;AAAyB,CAAA,YAAG,SAAS,CAAZ,EAAc,IAAG,EAAE,KAAF,MAAa,aAAhB,EAA8B,OAAO,SAAS,CAAhB;AAArE,CAAA,OACA,OAAO,CAAC,CAAR;AACD,CAAA;AAZgG,CAAA,GAAnG;;;;;;ACRA,CAAA;AACA,CAAA;;AACA,CAAA,MAAI,WAAWA,cAAA,aAAA,CAAf;AAAA,CAAA,MACI,UAAWA,cAAA,YAAA,CADf;AAAA,CAAA,MAEI,WAAWA,cAAA,aAAA,CAFf;;AAIA,CAAA,SAAO,OAAP,GAAiB,GAAG,UAAH,IAAiB,SAAS,UAAT,CAAoB,MAApB,UAAmC,KAAnC,yBAA+D;AAC/F,CAAA,QAAI,IAAQ,SAAS,IAAT,CAAZ;AAAA,CAAA,QACI,MAAQ,SAAS,EAAE,MAAX,CADZ;AAAA,CAAA,QAEI,KAAQ,QAAQ,MAAR,EAAgB,GAAhB,CAFZ;AAAA,CAAA,QAGI,OAAQ,QAAQ,KAAR,EAAe,GAAf,CAHZ;AAAA,CAAA,QAII,MAAQ,UAAU,MAAV,GAAmB,CAAnB,GAAuB,UAAU,CAAV,CAAvB,GAAsC,SAJlD;AAAA,CAAA,QAKI,QAAQ,KAAK,GAAL,CAAS,CAAC,QAAQ,SAAR,GAAoB,GAApB,GAA0B,QAAQ,GAAR,EAAa,GAAb,CAA3B,IAAgD,IAAzD,EAA+D,MAAM,EAArE,CALZ;AAAA,CAAA,QAMI,MAAQ,CANZ;AAOA,CAAA,QAAG,OAAO,EAAP,IAAa,KAAK,OAAO,KAA5B,EAAkC;AAChC,CAAA,YAAO,CAAC,CAAR;AACA,CAAA,cAAQ,QAAQ,CAAhB;AACA,CAAA,YAAQ,QAAQ,CAAhB;AACD,CAAA;AACD,CAAA,WAAM,UAAU,CAAhB,EAAkB;AAChB,CAAA,UAAG,QAAQ,CAAX,EAAa,EAAE,EAAF,IAAQ,EAAE,IAAF,CAAR,CAAb,KACK,OAAO,EAAE,EAAF,CAAP;AACL,CAAA,YAAQ,GAAR;AACA,CAAA,cAAQ,GAAR;AACD,CAAA,KAAC,OAAO,CAAP;AACH,CAAA,GAnBD;;;;;;;;;;ACNA,CAAA;AACA,CAAA,MAAI,cAAcA,cAAA,aAAA,EAAkB,aAAlB,CAAlB;AAAA,CAAA,MACI,aAAc,MAAM,SADxB;AAEA,CAAA,MAAG,WAAW,WAAX,KAA2B,SAA9B,EAAwCA,cAAA,WAAA,EAAmB,UAAnB,EAA+B,WAA/B,EAA4C,EAA5C;AACxC,CAAA,SAAO,OAAP,GAAiB,UAAS,GAAT,EAAa;AAC5B,CAAA,eAAW,WAAX,EAAwB,GAAxB,IAA+B,IAA/B;AACD,CAAA,GAFD;;;;;;;;;;ACJA,CAAA;AACA,CAAA,MAAI,UAAUA,cAAA,aAAA,CAAd;;AAEA,CAAA,UAAQ,QAAQ,CAAhB,EAAmB,OAAnB,EAA4B,EAAC,YAAYA,cAAA,aAAA,CAAb,EAA5B;;AAEA,CAAA,gBAAA,cAAA,EAAiC,YAAjC;;;;;;ACLA,CAAA;AACA,CAAA;;AACA,CAAA,MAAI,WAAWA,cAAA,aAAA,CAAf;AAAA,CAAA,MACI,UAAWA,cAAA,YAAA,CADf;AAAA,CAAA,MAEI,WAAWA,cAAA,aAAA,CAFf;AAGA,CAAA,SAAO,OAAP,GAAiB,SAAS,IAAT,CAAc,KAAd,kCAAoD;AACnE,CAAA,QAAI,IAAS,SAAS,IAAT,CAAb;AAAA,CAAA,QACI,SAAS,SAAS,EAAE,MAAX,CADb;AAAA,CAAA,QAEI,OAAS,UAAU,MAFvB;AAAA,CAAA,QAGI,QAAS,QAAQ,OAAO,CAAP,GAAW,UAAU,CAAV,CAAX,GAA0B,SAAlC,EAA6C,MAA7C,CAHb;AAAA,CAAA,QAII,MAAS,OAAO,CAAP,GAAW,UAAU,CAAV,CAAX,GAA0B,SAJvC;AAAA,CAAA,QAKI,SAAS,QAAQ,SAAR,GAAoB,MAApB,GAA6B,QAAQ,GAAR,EAAa,MAAb,CAL1C;AAMA,CAAA,WAAM,SAAS,KAAf;AAAqB,CAAA,QAAE,OAAF,IAAa,KAAb;AAArB,CAAA,KACA,OAAO,CAAP;AACD,CAAA,GATD;;;;;;;;;;ACLA,CAAA;AACA,CAAA,MAAI,UAAUA,cAAA,aAAA,CAAd;;AAEA,CAAA,UAAQ,QAAQ,CAAhB,EAAmB,OAAnB,EAA4B,EAAC,MAAMA,cAAA,aAAA,CAAP,EAA5B;;AAEA,CAAA,gBAAA,cAAA,EAAiC,MAAjC;;;;;;ACLA,CAAA;;;AAEA,CAAA,MAAI,UAAUA,cAAA,aAAA,CAAd;AAAA,CAAA,MACI,QAAUA,cAAA,YAAA,EAA4B,CAA5B,CADd;AAAA,CAAA,MAEI,MAAU,MAFd;AAAA,CAAA,MAGI,SAAU,IAHd;;AAKA,CAAA,MAAG,OAAO,EAAV,EAAa,MAAM,CAAN,EAAS,GAAT,EAAc,YAAU;AAAE,CAAA,aAAS,KAAT;AAAiB,CAAA,GAA3C;AACb,CAAA,UAAQ,QAAQ,CAAR,GAAY,QAAQ,CAAR,GAAY,MAAhC,EAAwC,OAAxC,EAAiD;AAC/C,CAAA,UAAM,SAAS,IAAT,CAAc,UAAd,0BAAgD;AACpD,CAAA,aAAO,MAAM,IAAN,EAAY,UAAZ,EAAwB,UAAU,MAAV,GAAmB,CAAnB,GAAuB,UAAU,CAAV,CAAvB,GAAsC,SAA9D,CAAP;AACD,CAAA;AAH8C,CAAA,GAAjD;AAKA,CAAA,gBAAA,cAAA,EAAiC,GAAjC;;;;;;ACbA,CAAA;;;AAEA,CAAA,MAAI,UAAUA,cAAA,aAAA,CAAd;AAAA,CAAA,MACI,QAAUA,cAAA,YAAA,EAA4B,CAA5B,CADd;AAAA,CAAA,MAEI,MAAU,WAFd;AAAA,CAAA,MAGI,SAAU,IAHd;;AAKA,CAAA,MAAG,OAAO,EAAV,EAAa,MAAM,CAAN,EAAS,GAAT,EAAc,YAAU;AAAE,CAAA,aAAS,KAAT;AAAiB,CAAA,GAA3C;AACb,CAAA,UAAQ,QAAQ,CAAR,GAAY,QAAQ,CAAR,GAAY,MAAhC,EAAwC,OAAxC,EAAiD;AAC/C,CAAA,eAAW,SAAS,SAAT,CAAmB,UAAnB,0BAAqD;AAC9D,CAAA,aAAO,MAAM,IAAN,EAAY,UAAZ,EAAwB,UAAU,MAAV,GAAmB,CAAnB,GAAuB,UAAU,CAAV,CAAvB,GAAsC,SAA9D,CAAP;AACD,CAAA;AAH8C,CAAA,GAAjD;AAKA,CAAA,gBAAA,cAAA,EAAiC,GAAjC;;;;;;ACbA,CAAA;;AACA,CAAA,MAAI,SAAcA,cAAA,WAAA,CAAlB;AAAA,CAAA,MACI,KAAcA,cAAA,aAAA,CADlB;AAAA,CAAA,MAEI,cAAcA,cAAA,WAAA,CAFlB;AAAA,CAAA,MAGI,UAAcA,cAAA,aAAA,EAAkB,SAAlB,CAHlB;;AAKA,CAAA,SAAO,OAAP,GAAiB,UAAS,GAAT,EAAa;AAC5B,CAAA,QAAI,IAAI,OAAO,GAAP,CAAR;AACA,CAAA,QAAG,eAAe,CAAf,IAAoB,CAAC,EAAE,OAAF,CAAxB,EAAmC,GAAG,CAAH,CAAK,CAAL,EAAQ,OAAR,EAAiB;AAClD,CAAA,oBAAc,IADoC;AAElD,CAAA,WAAK,eAAU;AAAE,CAAA,eAAO,IAAP;AAAc,CAAA;AAFmB,CAAA,KAAjB;AAIpC,CAAA,GAND;;;;;;;;;;ACNA,CAAA,gBAAA,cAAA,EAA0B,OAA1B;;;;;;ACAA,CAAA,SAAO,OAAP,GAAiB,UAAS,IAAT,EAAe,KAAf,EAAqB;AACpC,CAAA,WAAO,EAAC,OAAO,KAAR,EAAe,MAAM,CAAC,CAAC,IAAvB,EAAP;AACD,CAAA,GAFD;;;;;;;;;;ACAA,CAAA;;AACA,CAAA,MAAI,mBAAmBA,cAAA,cAAA,CAAvB;AAAA,CAAA,MACI,OAAmBA,cAAA,aAAA,CADvB;AAAA,CAAA,MAEI,YAAmBA,cAAA,cAAA,CAFvB;AAAA,CAAA,MAGI,YAAmBA,cAAA,aAAA,CAHvB;;;;;;AASA,CAAA,SAAO,OAAP,GAAiBA,cAAA,aAAA,EAA0B,KAA1B,EAAiC,OAAjC,EAA0C,UAAS,QAAT,EAAmB,IAAnB,EAAwB;AACjF,CAAA,SAAK,EAAL,GAAU,UAAU,QAAV,CAAV,CADiF;AAEjF,CAAA,SAAK,EAAL,GAAU,CAAV,CAFiF;AAGjF,CAAA,SAAK,EAAL,GAAU,IAAV,CAHiF;;AAKlF,CAAA,GALgB,EAKd,YAAU;AACX,CAAA,QAAI,IAAQ,KAAK,EAAjB;AAAA,CAAA,QACI,OAAQ,KAAK,EADjB;AAAA,CAAA,QAEI,QAAQ,KAAK,EAAL,EAFZ;AAGA,CAAA,QAAG,CAAC,CAAD,IAAM,SAAS,EAAE,MAApB,EAA2B;AACzB,CAAA,WAAK,EAAL,GAAU,SAAV;AACA,CAAA,aAAO,KAAK,CAAL,CAAP;AACD,CAAA;AACD,CAAA,QAAG,QAAQ,MAAX,EAAoB,OAAO,KAAK,CAAL,EAAQ,KAAR,CAAP;AACpB,CAAA,QAAG,QAAQ,QAAX,EAAoB,OAAO,KAAK,CAAL,EAAQ,EAAE,KAAF,CAAR,CAAP;AACpB,CAAA,WAAO,KAAK,CAAL,EAAQ,CAAC,KAAD,EAAQ,EAAE,KAAF,CAAR,CAAR,CAAP;AACD,CAAA,GAhBgB,EAgBd,QAhBc,CAAjB;;;AAmBA,CAAA,YAAU,SAAV,GAAsB,UAAU,KAAhC;;AAEA,CAAA,mBAAiB,MAAjB;AACA,CAAA,mBAAiB,QAAjB;AACA,CAAA,mBAAiB,SAAjB;;;;;;;;;;ACjCA,CAAA;;;AAEA,CAAA,MAAI,WAAWA,cAAA,WAAA,CAAf;AACA,CAAA,SAAO,OAAP,GAAiB,YAAU;AACzB,CAAA,QAAI,OAAS,SAAS,IAAT,CAAb;AAAA,CAAA,QACI,SAAS,EADb;AAEA,CAAA,QAAG,KAAK,MAAR,EAAoB,UAAU,GAAV;AACpB,CAAA,QAAG,KAAK,UAAR,EAAoB,UAAU,GAAV;AACpB,CAAA,QAAG,KAAK,SAAR,EAAoB,UAAU,GAAV;AACpB,CAAA,QAAG,KAAK,OAAR,EAAoB,UAAU,GAAV;AACpB,CAAA,QAAG,KAAK,MAAR,EAAoB,UAAU,GAAV;AACpB,CAAA,WAAO,MAAP;AACD,CAAA,GATD;;;;;;;;;;ACHA,CAAA,MAAI,SAAoBA,cAAA,WAAA,CAAxB;AAAA,CAAA,MACI,oBAAoBA,cAAA,cAAA,CADxB;AAAA,CAAA,MAEI,KAAoBA,cAAA,aAAA,EAAwB,CAFhD;AAAA,CAAA,MAGI,OAAoBA,cAAA,aAAA,EAA0B,CAHlD;AAAA,CAAA,MAII,WAAoBA,cAAA,aAAA,CAJxB;AAAA,CAAA,MAKI,SAAoBA,cAAA,cAAA,CALxB;AAAA,CAAA,MAMI,UAAoB,OAAO,MAN/B;AAAA,CAAA,MAOI,OAAoB,OAPxB;AAAA,CAAA,MAQI,QAAoB,QAAQ,SARhC;AAAA,CAAA,MASI,MAAoB,IATxB;AAAA,CAAA,MAUI,MAAoB;;AAVxB,CAAA;AAAA,CAAA,MAYI,cAAoB,IAAI,OAAJ,CAAY,GAAZ,MAAqB,GAZ7C;;AAcA,CAAA,MAAGA,cAAA,WAAA,MAA8B,CAAC,WAAD,IAAgBA,cAAA,aAAA,EAAoB,YAAU;AAC7E,CAAA,QAAIA,cAAA,aAAA,EAAkB,OAAlB,CAAJ,IAAkC,KAAlC;;AAEA,CAAA,WAAO,QAAQ,GAAR,KAAgB,GAAhB,IAAuB,QAAQ,GAAR,KAAgB,GAAvC,IAA8C,QAAQ,GAAR,EAAa,GAAb,KAAqB,MAA1E;AACD,CAAA,GAJgD,CAA9C,CAAH,EAII;AACF,CAAA,cAAU,SAAS,MAAT,CAAgB,CAAhB,EAAmB,CAAnB,EAAqB;AAC7B,CAAA,UAAI,OAAO,gBAAgB,OAA3B;AAAA,CAAA,UACI,OAAO,SAAS,CAAT,CADX;AAAA,CAAA,UAEI,MAAO,MAAM,SAFjB;AAGA,CAAA,aAAO,CAAC,IAAD,IAAS,IAAT,IAAiB,EAAE,WAAF,KAAkB,OAAnC,IAA8C,GAA9C,GAAoD,CAApD,GACH,kBAAkB,cAChB,IAAI,IAAJ,CAAS,QAAQ,CAAC,GAAT,GAAe,EAAE,MAAjB,GAA0B,CAAnC,EAAsC,CAAtC,CADgB,GAEhB,KAAK,CAAC,OAAO,aAAa,OAArB,IAAgC,EAAE,MAAlC,GAA2C,CAAhD,EAAmD,QAAQ,GAAR,GAAc,OAAO,IAAP,CAAY,CAAZ,CAAd,GAA+B,CAAlF,CAFF,EAGA,OAAO,IAAP,GAAc,KAHd,EAGqB,OAHrB,CADJ;AAKD,CAAA,KATD;AAUA,CAAA,QAAI,QAAQ,SAAR,KAAQ,CAAS,GAAT,EAAa;AACvB,CAAA,aAAO,OAAP,IAAkB,GAAG,OAAH,EAAY,GAAZ,EAAiB;AACjC,CAAA,sBAAc,IADmB;AAEjC,CAAA,aAAK,eAAU;AAAE,CAAA,iBAAO,KAAK,GAAL,CAAP;AAAmB,CAAA,SAFH;AAGjC,CAAA,aAAK,aAAS,EAAT,EAAY;AAAE,CAAA,eAAK,GAAL,IAAY,EAAZ;AAAiB,CAAA;AAHH,CAAA,OAAjB,CAAlB;AAKD,CAAA,KAND;AAOA,CAAA,SAAI,IAAI,OAAO,KAAK,IAAL,CAAX,EAAuB,IAAI,CAA/B,EAAkC,KAAK,MAAL,GAAc,CAAhD;AAAoD,CAAA,YAAM,KAAK,GAAL,CAAN;AAApD,CAAA,KACA,MAAM,WAAN,GAAoB,OAApB;AACA,CAAA,YAAQ,SAAR,GAAoB,KAApB;AACA,CAAA,kBAAA,aAAA,EAAuB,MAAvB,EAA+B,QAA/B,EAAyC,OAAzC;AACD,CAAA;;AAED,CAAA,gBAAA,cAAA,EAA0B,QAA1B;;;;;;AC1CA,CAAA;AACA,CAAA,MAAGA,cAAA,WAAA,KAA6B,KAAK,KAAL,IAAc,GAA9C,EAAkDA,cAAA,aAAA,EAAwB,CAAxB,CAA0B,OAAO,SAAjC,EAA4C,OAA5C,EAAqD;AACrG,CAAA,kBAAc,IADuF;AAErG,CAAA,SAAKA,cAAA,cAAA;AAFgG,CAAA,GAArD;;;;;;ACDlD,CAAA;;AAEA,CAAA,MAAI,WAAcA,cAAA,WAAA,CAAlB;AAAA,CAAA,MACI,SAAcA,cAAA,cAAA,CADlB;AAAA,CAAA,MAEI,cAAcA,cAAA,WAAA,CAFlB;AAAA,CAAA,MAGI,YAAc,UAHlB;AAAA,CAAA,MAII,YAAc,IAAI,SAAJ,CAJlB;;AAMA,CAAA,MAAI,SAAS,SAAT,MAAS,CAAS,EAAT,EAAY;AACvB,CAAA,kBAAA,aAAA,EAAuB,OAAO,SAA9B,EAAyC,SAAzC,EAAoD,EAApD,EAAwD,IAAxD;AACD,CAAA,GAFD;;;AAKA,CAAA,MAAGA,cAAA,aAAA,EAAoB,YAAU;AAAE,CAAA,WAAO,UAAU,IAAV,CAAe,EAAC,QAAQ,GAAT,EAAc,OAAO,GAArB,EAAf,KAA6C,MAApD;AAA6D,CAAA,GAA7F,CAAH,EAAkG;AAChG,CAAA,WAAO,SAAS,QAAT,GAAmB;AACxB,CAAA,UAAI,IAAI,SAAS,IAAT,CAAR;AACA,CAAA,aAAO,IAAI,MAAJ,CAAW,EAAE,MAAb,EAAqB,GAArB,EACL,WAAW,CAAX,GAAe,EAAE,KAAjB,GAAyB,CAAC,WAAD,IAAgB,aAAa,MAA7B,GAAsC,OAAO,IAAP,CAAY,CAAZ,CAAtC,GAAuD,SAD3E,CAAP;AAED,CAAA,KAJD;;AAMD,CAAA,GAPD,MAOO,IAAG,UAAU,IAAV,IAAkB,SAArB,EAA+B;AACpC,CAAA,WAAO,SAAS,QAAT,GAAmB;AACxB,CAAA,aAAO,UAAU,IAAV,CAAe,IAAf,CAAP;AACD,CAAA,KAFD;;;;;;;ACrBF,CAAA;;AACA,CAAA,MAAI,OAAWA,cAAA,WAAA,CAAf;AAAA,CAAA,MACI,WAAWA,cAAA,aAAA,CADf;AAAA,CAAA,MAEI,QAAWA,cAAA,aAAA,CAFf;AAAA,CAAA,MAGI,UAAWA,cAAA,aAAA,CAHf;AAAA,CAAA,MAII,MAAWA,cAAA,aAAA,CAJf;;AAMA,CAAA,SAAO,OAAP,GAAiB,UAAS,GAAT,EAAc,MAAd,EAAsB,IAAtB,EAA2B;AAC1C,CAAA,QAAI,SAAW,IAAI,GAAJ,CAAf;AAAA,CAAA,QACI,MAAW,KAAK,OAAL,EAAc,MAAd,EAAsB,GAAG,GAAH,CAAtB,CADf;AAAA,CAAA,QAEI,QAAW,IAAI,CAAJ,CAFf;AAAA,CAAA,QAGI,OAAW,IAAI,CAAJ,CAHf;AAIA,CAAA,QAAG,MAAM,YAAU;AACjB,CAAA,UAAI,IAAI,EAAR;AACA,CAAA,QAAE,MAAF,IAAY,YAAU;AAAE,CAAA,eAAO,CAAP;AAAW,CAAA,OAAnC;AACA,CAAA,aAAO,GAAG,GAAH,EAAQ,CAAR,KAAc,CAArB;AACD,CAAA,KAJE,CAAH,EAIG;AACD,CAAA,eAAS,OAAO,SAAhB,EAA2B,GAA3B,EAAgC,KAAhC;AACA,CAAA,WAAK,OAAO,SAAZ,EAAuB,MAAvB,EAA+B,UAAU;;;AAAV,CAAA,QAG3B,UAAS,MAAT,EAAiB,GAAjB,EAAqB;AAAE,CAAA,eAAO,KAAK,IAAL,CAAU,MAAV,EAAkB,IAAlB,EAAwB,GAAxB,CAAP;AAAsC,CAAA;;;AAHlC,CAAA,QAM3B,UAAS,MAAT,EAAgB;AAAE,CAAA,eAAO,KAAK,IAAL,CAAU,MAAV,EAAkB,IAAlB,CAAP;AAAiC,CAAA,OANvD;AAQD,CAAA;AACF,CAAA,GApBD;;;;;;;;;;ACPA,CAAA;AACA,CAAA,gBAAA,cAAA,EAAyB,OAAzB,EAAkC,CAAlC,EAAqC,UAAS,OAAT,EAAkB,KAAlB,EAAyB,MAAzB,EAAgC;;AAEnE,CAAA,WAAO,CAAC,SAAS,KAAT,CAAe,MAAf,EAAsB;AAC5B,CAAA;;AACA,CAAA,UAAI,IAAK,QAAQ,IAAR,CAAT;AAAA,CAAA,UACI,KAAK,UAAU,SAAV,GAAsB,SAAtB,GAAkC,OAAO,KAAP,CAD3C;AAEA,CAAA,aAAO,OAAO,SAAP,GAAmB,GAAG,IAAH,CAAQ,MAAR,EAAgB,CAAhB,CAAnB,GAAwC,IAAI,MAAJ,CAAW,MAAX,EAAmB,KAAnB,EAA0B,OAAO,CAAP,CAA1B,CAA/C;AACD,CAAA,KALM,EAKJ,MALI,CAAP;AAMD,CAAA,GARD;;;;;;ACDA,CAAA;AACA,CAAA,gBAAA,cAAA,EAAyB,SAAzB,EAAoC,CAApC,EAAuC,UAAS,OAAT,EAAkB,OAAlB,EAA2B,QAA3B,EAAoC;;AAEzE,CAAA,WAAO,CAAC,SAAS,OAAT,CAAiB,WAAjB,EAA8B,YAA9B,EAA2C;AACjD,CAAA;;AACA,CAAA,UAAI,IAAK,QAAQ,IAAR,CAAT;AAAA,CAAA,UACI,KAAK,eAAe,SAAf,GAA2B,SAA3B,GAAuC,YAAY,OAAZ,CADhD;AAEA,CAAA,aAAO,OAAO,SAAP,GACH,GAAG,IAAH,CAAQ,WAAR,EAAqB,CAArB,EAAwB,YAAxB,CADG,GAEH,SAAS,IAAT,CAAc,OAAO,CAAP,CAAd,EAAyB,WAAzB,EAAsC,YAAtC,CAFJ;AAGD,CAAA,KAPM,EAOJ,QAPI,CAAP;AAQD,CAAA,GAVD;;;;;;ACDA,CAAA;AACA,CAAA,gBAAA,cAAA,EAAyB,QAAzB,EAAmC,CAAnC,EAAsC,UAAS,OAAT,EAAkB,MAAlB,EAA0B,OAA1B,EAAkC;;AAEtE,CAAA,WAAO,CAAC,SAAS,MAAT,CAAgB,MAAhB,EAAuB;AAC7B,CAAA;;AACA,CAAA,UAAI,IAAK,QAAQ,IAAR,CAAT;AAAA,CAAA,UACI,KAAK,UAAU,SAAV,GAAsB,SAAtB,GAAkC,OAAO,MAAP,CAD3C;AAEA,CAAA,aAAO,OAAO,SAAP,GAAmB,GAAG,IAAH,CAAQ,MAAR,EAAgB,CAAhB,CAAnB,GAAwC,IAAI,MAAJ,CAAW,MAAX,EAAmB,MAAnB,EAA2B,OAAO,CAAP,CAA3B,CAA/C;AACD,CAAA,KALM,EAKJ,OALI,CAAP;AAMD,CAAA,GARD;;;;;;ACDA,CAAA;AACA,CAAA,gBAAA,cAAA,EAAyB,OAAzB,EAAkC,CAAlC,EAAqC,UAAS,OAAT,EAAkB,KAAlB,EAAyB,MAAzB,EAAgC;AACnE,CAAA;;AACA,CAAA,QAAI,WAAaA,cAAA,aAAA,CAAjB;AAAA,CAAA,QACI,SAAa,MADjB;AAAA,CAAA,QAEI,QAAa,GAAG,IAFpB;AAAA,CAAA,QAGI,SAAa,OAHjB;AAAA,CAAA,QAII,SAAa,QAJjB;AAAA,CAAA,QAKI,aAAa,WALjB;AAMA,CAAA,QACE,OAAO,MAAP,EAAe,MAAf,EAAuB,CAAvB,KAA6B,GAA7B,IACA,OAAO,MAAP,EAAe,MAAf,EAAuB,CAAC,CAAxB,EAA2B,MAA3B,KAAsC,CADtC,IAEA,KAAK,MAAL,EAAa,SAAb,EAAwB,MAAxB,KAAmC,CAFnC,IAGA,IAAI,MAAJ,EAAY,UAAZ,EAAwB,MAAxB,KAAmC,CAHnC,IAIA,IAAI,MAAJ,EAAY,MAAZ,EAAoB,MAApB,IAA8B,CAJ9B,IAKA,GAAG,MAAH,EAAW,IAAX,EAAiB,MAAjB,CANF,EAOC;AACC,CAAA,UAAI,OAAO,OAAO,IAAP,CAAY,EAAZ,EAAgB,CAAhB,MAAuB,SAAlC,CADD;;AAGC,CAAA,eAAS,gBAAS,SAAT,EAAoB,KAApB,EAA0B;AACjC,CAAA,YAAI,SAAS,OAAO,IAAP,CAAb;AACA,CAAA,YAAG,cAAc,SAAd,IAA2B,UAAU,CAAxC,EAA0C,OAAO,EAAP;;AAE1C,CAAA,YAAG,CAAC,SAAS,SAAT,CAAJ,EAAwB,OAAO,OAAO,IAAP,CAAY,MAAZ,EAAoB,SAApB,EAA+B,KAA/B,CAAP;AACxB,CAAA,YAAI,SAAS,EAAb;AACA,CAAA,YAAI,QAAQ,CAAC,UAAU,UAAV,GAAuB,GAAvB,GAA6B,EAA9B,KACC,UAAU,SAAV,GAAsB,GAAtB,GAA4B,EAD7B,KAEC,UAAU,OAAV,GAAoB,GAApB,GAA0B,EAF3B,KAGC,UAAU,MAAV,GAAmB,GAAnB,GAAyB,EAH1B,CAAZ;AAIA,CAAA,YAAI,gBAAgB,CAApB;AACA,CAAA,YAAI,aAAa,UAAU,SAAV,GAAsB,UAAtB,GAAmC,UAAU,CAA9D;;AAEA,CAAA,YAAI,gBAAgB,IAAI,MAAJ,CAAW,UAAU,MAArB,EAA6B,QAAQ,GAArC,CAApB;AACA,CAAA,YAAI,UAAJ,EAAgB,KAAhB,EAAuB,SAAvB,EAAkC,UAAlC,EAA8C,CAA9C;;AAEA,CAAA,YAAG,CAAC,IAAJ,EAAS,aAAa,IAAI,MAAJ,CAAW,MAAM,cAAc,MAApB,GAA6B,UAAxC,EAAoD,KAApD,CAAb;AACT,CAAA,eAAM,QAAQ,cAAc,IAAd,CAAmB,MAAnB,CAAd,EAAyC;;AAEvC,CAAA,sBAAY,MAAM,KAAN,GAAc,MAAM,CAAN,EAAS,MAAT,CAA1B;AACA,CAAA,cAAG,YAAY,aAAf,EAA6B;AAC3B,CAAA,mBAAO,IAAP,CAAY,OAAO,KAAP,CAAa,aAAb,EAA4B,MAAM,KAAlC,CAAZ;;AAEA,CAAA,gBAAG,CAAC,IAAD,IAAS,MAAM,MAAN,IAAgB,CAA5B,EAA8B,MAAM,CAAN,EAAS,OAAT,CAAiB,UAAjB,EAA6B,YAAU;AACnE,CAAA,mBAAI,IAAI,CAAR,EAAW,IAAI,UAAU,MAAV,IAAoB,CAAnC,EAAsC,GAAtC;AAA0C,CAAA,oBAAG,UAAU,CAAV,MAAiB,SAApB,EAA8B,MAAM,CAAN,IAAW,SAAX;AAAxE,CAAA;AACD,CAAA,aAF6B;AAG9B,CAAA,gBAAG,MAAM,MAAN,IAAgB,CAAhB,IAAqB,MAAM,KAAN,GAAc,OAAO,MAAP,CAAtC,EAAqD,MAAM,KAAN,CAAY,MAAZ,EAAoB,MAAM,KAAN,CAAY,CAAZ,CAApB;AACrD,CAAA,yBAAa,MAAM,CAAN,EAAS,MAAT,CAAb;AACA,CAAA,4BAAgB,SAAhB;AACA,CAAA,gBAAG,OAAO,MAAP,KAAkB,UAArB,EAAgC;AACjC,CAAA;AACD,CAAA,cAAG,cAAc,UAAd,MAA8B,MAAM,KAAvC,EAA6C,cAAc,UAAd,IAdN;AAexC,CAAA;AACD,CAAA,YAAG,kBAAkB,OAAO,MAAP,CAArB,EAAoC;AAClC,CAAA,cAAG,cAAc,CAAC,cAAc,IAAd,CAAmB,EAAnB,CAAlB,EAAyC,OAAO,IAAP,CAAY,EAAZ;AAC1C,CAAA,SAFD,MAEO,OAAO,IAAP,CAAY,OAAO,KAAP,CAAa,aAAb,CAAZ;AACP,CAAA,eAAO,OAAO,MAAP,IAAiB,UAAjB,GAA8B,OAAO,KAAP,CAAa,CAAb,EAAgB,UAAhB,CAA9B,GAA4D,MAAnE;AACD,CAAA,OArCD;;AAuCD,CAAA,KAjDD,MAiDO,IAAG,IAAI,MAAJ,EAAY,SAAZ,EAAuB,CAAvB,EAA0B,MAA1B,CAAH,EAAqC;AAC1C,CAAA,eAAS,gBAAS,SAAT,EAAoB,KAApB,EAA0B;AACjC,CAAA,eAAO,cAAc,SAAd,IAA2B,UAAU,CAArC,GAAyC,EAAzC,GAA8C,OAAO,IAAP,CAAY,IAAZ,EAAkB,SAAlB,EAA6B,KAA7B,CAArD;AACD,CAAA,OAFD;AAGD,CAAA;;AAED,CAAA,WAAO,CAAC,SAAS,KAAT,CAAe,SAAf,EAA0B,KAA1B,EAAgC;AACtC,CAAA,UAAI,IAAK,QAAQ,IAAR,CAAT;AAAA,CAAA,UACI,KAAK,aAAa,SAAb,GAAyB,SAAzB,GAAqC,UAAU,KAAV,CAD9C;AAEA,CAAA,aAAO,OAAO,SAAP,GAAmB,GAAG,IAAH,CAAQ,SAAR,EAAmB,CAAnB,EAAsB,KAAtB,CAAnB,GAAkD,OAAO,IAAP,CAAY,OAAO,CAAP,CAAZ,EAAuB,SAAvB,EAAkC,KAAlC,CAAzD;AACD,CAAA,KAJM,EAIJ,MAJI,CAAP;AAKD,CAAA,GApED;;;;;;ACDA,CAAA,SAAO,OAAP,GAAiB,UAAS,EAAT,EAAa,WAAb,EAA0B,IAA1B,EAAgC,cAAhC,EAA+C;AAC9D,CAAA,QAAG,EAAE,cAAc,WAAhB,KAAiC,mBAAmB,SAAnB,IAAgC,kBAAkB,EAAtF,EAA0F;AACxF,CAAA,YAAM,UAAU,OAAO,yBAAjB,CAAN;AACD,CAAA,KAAC,OAAO,EAAP;AACH,CAAA,GAJD;;;;;;;;;;ACAA,CAAA,MAAI,MAAcA,cAAA,YAAA,CAAlB;AAAA,CAAA,MACI,OAAcA,cAAA,aAAA,CADlB;AAAA,CAAA,MAEI,cAAcA,cAAA,YAAA,CAFlB;AAAA,CAAA,MAGI,WAAcA,cAAA,WAAA,CAHlB;AAAA,CAAA,MAII,WAAcA,cAAA,aAAA,CAJlB;AAAA,CAAA,MAKI,YAAcA,cAAA,YAAA,CALlB;AAAA,CAAA,MAMI,QAAc,EANlB;AAAA,CAAA,MAOI,SAAc,EAPlB;AAQA,CAAA,MAAI,UAAU,OAAO,OAAP,GAAiB,UAAS,QAAT,EAAmB,OAAnB,EAA4B,EAA5B,EAAgC,IAAhC,EAAsC,QAAtC,EAA+C;AAC5E,CAAA,QAAI,SAAS,WAAW,YAAU;AAAE,CAAA,aAAO,QAAP;AAAkB,CAAA,KAAzC,GAA4C,UAAU,QAAV,CAAzD;AAAA,CAAA,QACI,IAAS,IAAI,EAAJ,EAAQ,IAAR,EAAc,UAAU,CAAV,GAAc,CAA5B,CADb;AAAA,CAAA,QAEI,QAAS,CAFb;AAAA,CAAA,QAGI,MAHJ;AAAA,CAAA,QAGY,IAHZ;AAAA,CAAA,QAGkB,QAHlB;AAAA,CAAA,QAG4B,MAH5B;AAIA,CAAA,QAAG,OAAO,MAAP,IAAiB,UAApB,EAA+B,MAAM,UAAU,WAAW,mBAArB,CAAN;;AAE/B,CAAA,QAAG,YAAY,MAAZ,CAAH,EAAuB,KAAI,SAAS,SAAS,SAAS,MAAlB,CAAb,EAAwC,SAAS,KAAjD,EAAwD,OAAxD,EAAgE;AACrF,CAAA,eAAS,UAAU,EAAE,SAAS,OAAO,SAAS,KAAT,CAAhB,EAAiC,CAAjC,CAAF,EAAuC,KAAK,CAAL,CAAvC,CAAV,GAA4D,EAAE,SAAS,KAAT,CAAF,CAArE;AACA,CAAA,UAAG,WAAW,KAAX,IAAoB,WAAW,MAAlC,EAAyC,OAAO,MAAP;AAC1C,CAAA,KAHD,MAGO,KAAI,WAAW,OAAO,IAAP,CAAY,QAAZ,CAAf,EAAsC,CAAC,CAAC,OAAO,SAAS,IAAT,EAAR,EAAyB,IAAhE,GAAuE;AAC5E,CAAA,eAAS,KAAK,QAAL,EAAe,CAAf,EAAkB,KAAK,KAAvB,EAA8B,OAA9B,CAAT;AACA,CAAA,UAAG,WAAW,KAAX,IAAoB,WAAW,MAAlC,EAAyC,OAAO,MAAP;AAC1C,CAAA;AACF,CAAA,GAdD;AAeA,CAAA,UAAQ,KAAR,GAAiB,KAAjB;AACA,CAAA,UAAQ,MAAR,GAAiB,MAAjB;;;;;;;;;;ACxBA,CAAA;AACA,CAAA,MAAI,WAAYA,cAAA,WAAA,CAAhB;AAAA,CAAA,MACI,YAAYA,cAAA,aAAA,CADhB;AAAA,CAAA,MAEI,UAAYA,cAAA,aAAA,EAAkB,SAAlB,CAFhB;AAGA,CAAA,SAAO,OAAP,GAAiB,UAAS,CAAT,EAAY,CAAZ,EAAc;AAC7B,CAAA,QAAI,IAAI,SAAS,CAAT,EAAY,WAApB;AAAA,CAAA,QAAiC,CAAjC;AACA,CAAA,WAAO,MAAM,SAAN,IAAmB,CAAC,IAAI,SAAS,CAAT,EAAY,OAAZ,CAAL,KAA8B,SAAjD,GAA6D,CAA7D,GAAiE,UAAU,CAAV,CAAxE;AACD,CAAA,GAHD;;;;;;;;;;ACJA,CAAA,MAAI,MAAqBA,cAAA,YAAA,CAAzB;AAAA,CAAA,MACI,SAAqBA,cAAA,cAAA,CADzB;AAAA,CAAA,MAEI,OAAqBA,cAAA,aAAA,CAFzB;AAAA,CAAA,MAGI,MAAqBA,cAAA,aAAA,CAHzB;AAAA,CAAA,MAII,SAAqBA,cAAA,WAAA,CAJzB;AAAA,CAAA,MAKI,UAAqB,OAAO,OALhC;AAAA,CAAA,MAMI,UAAqB,OAAO,YANhC;AAAA,CAAA,MAOI,YAAqB,OAAO,cAPhC;AAAA,CAAA,MAQI,iBAAqB,OAAO,cARhC;AAAA,CAAA,MASI,UAAqB,CATzB;AAAA,CAAA,MAUI,QAAqB,EAVzB;AAAA,CAAA,MAWI,qBAAqB,oBAXzB;AAAA,CAAA,MAYI,KAZJ;AAAA,CAAA,MAYW,OAZX;AAAA,CAAA,MAYoB,IAZpB;AAaA,CAAA,MAAI,MAAM,SAAN,GAAM,GAAU;AAClB,CAAA,QAAI,KAAK,CAAC,IAAV;AACA,CAAA,QAAG,MAAM,cAAN,CAAqB,EAArB,CAAH,EAA4B;AAC1B,CAAA,UAAI,KAAK,MAAM,EAAN,CAAT;AACA,CAAA,aAAO,MAAM,EAAN,CAAP;AACA,CAAA;AACD,CAAA;AACF,CAAA,GAPD;AAQA,CAAA,MAAI,WAAW,SAAX,QAAW,CAAS,KAAT,EAAe;AAC5B,CAAA,QAAI,IAAJ,CAAS,MAAM,IAAf;AACD,CAAA,GAFD;;AAIA,CAAA,MAAG,CAAC,OAAD,IAAY,CAAC,SAAhB,EAA0B;AACxB,CAAA,cAAU,SAAS,YAAT,CAAsB,EAAtB,EAAyB;AACjC,CAAA,UAAI,OAAO,EAAX;AAAA,CAAA,UAAe,IAAI,CAAnB;AACA,CAAA,aAAM,UAAU,MAAV,GAAmB,CAAzB;AAA2B,CAAA,aAAK,IAAL,CAAU,UAAU,GAAV,CAAV;AAA3B,CAAA,OACA,MAAM,EAAE,OAAR,IAAmB,YAAU;AAC3B,CAAA,eAAO,OAAO,EAAP,IAAa,UAAb,GAA0B,EAA1B,GAA+B,SAAS,EAAT,CAAtC,EAAoD,IAApD;AACD,CAAA,OAFD;AAGA,CAAA,YAAM,OAAN;AACA,CAAA,aAAO,OAAP;AACD,CAAA,KARD;AASA,CAAA,gBAAY,SAAS,cAAT,CAAwB,EAAxB,EAA2B;AACrC,CAAA,aAAO,MAAM,EAAN,CAAP;AACD,CAAA,KAFD;;AAIA,CAAA,QAAGA,cAAA,aAAA,EAAkB,OAAlB,KAA8B,SAAjC,EAA2C;AACzC,CAAA,cAAQ,eAAS,EAAT,EAAY;AAClB,CAAA,gBAAQ,QAAR,CAAiB,IAAI,GAAJ,EAAS,EAAT,EAAa,CAAb,CAAjB;AACD,CAAA,OAFD;;AAID,CAAA,KALD,MAKO,IAAG,cAAH,EAAkB;AACvB,CAAA,gBAAU,IAAI,cAAJ,EAAV;AACA,CAAA,aAAU,QAAQ,KAAlB;AACA,CAAA,cAAQ,KAAR,CAAc,SAAd,GAA0B,QAA1B;AACA,CAAA,cAAQ,IAAI,KAAK,WAAT,EAAsB,IAAtB,EAA4B,CAA5B,CAAR;;;AAGD,CAAA,KAPM,MAOA,IAAG,OAAO,gBAAP,IAA2B,OAAO,WAAP,IAAsB,UAAjD,IAA+D,CAAC,OAAO,aAA1E,EAAwF;AAC7F,CAAA,cAAQ,eAAS,EAAT,EAAY;AAClB,CAAA,eAAO,WAAP,CAAmB,KAAK,EAAxB,EAA4B,GAA5B;AACD,CAAA,OAFD;AAGA,CAAA,aAAO,gBAAP,CAAwB,SAAxB,EAAmC,QAAnC,EAA6C,KAA7C;;AAED,CAAA,KANM,MAMA,IAAG,sBAAsB,IAAI,QAAJ,CAAzB,EAAuC;AAC5C,CAAA,cAAQ,eAAS,EAAT,EAAY;AAClB,CAAA,aAAK,WAAL,CAAiB,IAAI,QAAJ,CAAjB,EAAgC,kBAAhC,IAAsD,YAAU;AAC9D,CAAA,eAAK,WAAL,CAAiB,IAAjB;AACA,CAAA,cAAI,IAAJ,CAAS,EAAT;AACD,CAAA,SAHD;AAID,CAAA,OALD;;AAOD,CAAA,KARM,MAQA;AACL,CAAA,cAAQ,eAAS,EAAT,EAAY;AAClB,CAAA,mBAAW,IAAI,GAAJ,EAAS,EAAT,EAAa,CAAb,CAAX,EAA4B,CAA5B;AACD,CAAA,OAFD;AAGD,CAAA;AACF,CAAA;AACD,CAAA,SAAO,OAAP,GAAiB;AACf,CAAA,SAAO,OADQ;AAEf,CAAA,WAAO;AAFQ,CAAA,GAAjB;;;;;;;;;;;;;;ACvEA,CAAA,MAAI,SAAYA,cAAA,WAAA,CAAhB;AAAA,CAAA,MACI,YAAYA,cAAA,cAAA,EAAmB,GADnC;AAAA,CAAA,MAEI,WAAY,OAAO,gBAAP,IAA2B,OAAO,sBAFlD;AAAA,CAAA,MAGI,UAAY,OAAO,OAHvB;AAAA,CAAA,MAII,UAAY,OAAO,OAJvB;AAAA,CAAA,MAKI,SAAYA,cAAA,aAAA,EAAkB,OAAlB,KAA8B,SAL9C;;AAOA,CAAA,SAAO,OAAP,GAAiB,YAAU;AACzB,CAAA,QAAI,IAAJ,EAAU,IAAV,EAAgB,MAAhB;;AAEA,CAAA,QAAI,QAAQ,SAAR,KAAQ,GAAU;AACpB,CAAA,UAAI,MAAJ,EAAY,EAAZ;AACA,CAAA,UAAG,WAAW,SAAS,QAAQ,MAA5B,CAAH,EAAuC,OAAO,IAAP;AACvC,CAAA,aAAM,IAAN,EAAW;AACT,CAAA,aAAO,KAAK,EAAZ;AACA,CAAA,eAAO,KAAK,IAAZ;AACA,CAAA,YAAI;AACF,CAAA;AACD,CAAA,SAFD,CAEE,OAAM,CAAN,EAAQ;AACR,CAAA,cAAG,IAAH,EAAQ,SAAR,KACK,OAAO,SAAP;AACL,CAAA,gBAAM,CAAN;AACD,CAAA;AACF,CAAA,OAAC,OAAO,SAAP;AACF,CAAA,UAAG,MAAH,EAAU,OAAO,KAAP;AACX,CAAA,KAfD;;;AAkBA,CAAA,QAAG,MAAH,EAAU;AACR,CAAA,eAAS,kBAAU;AACjB,CAAA,gBAAQ,QAAR,CAAiB,KAAjB;AACD,CAAA,OAFD;;AAID,CAAA,KALD,MAKO,IAAG,QAAH,EAAY;AACjB,CAAA,UAAI,SAAS,IAAb;AAAA,CAAA,UACI,OAAS,SAAS,cAAT,CAAwB,EAAxB,CADb;AAEA,CAAA,UAAI,QAAJ,CAAa,KAAb,EAAoB,OAApB,CAA4B,IAA5B,EAAkC,EAAC,eAAe,IAAhB,EAAlC,EAHiB;AAIjB,CAAA,eAAS,kBAAU;AACjB,CAAA,aAAK,IAAL,GAAY,SAAS,CAAC,MAAtB;AACD,CAAA,OAFD;;AAID,CAAA,KARM,MAQA,IAAG,WAAW,QAAQ,OAAtB,EAA8B;AACnC,CAAA,UAAI,UAAU,QAAQ,OAAR,EAAd;AACA,CAAA,eAAS,kBAAU;AACjB,CAAA,gBAAQ,IAAR,CAAa,KAAb;AACD,CAAA,OAFD;;;;;;;AASD,CAAA,KAXM,MAWA;AACL,CAAA,eAAS,kBAAU;;AAEjB,CAAA,kBAAU,IAAV,CAAe,MAAf,EAAuB,KAAvB;AACD,CAAA,OAHD;AAID,CAAA;;AAED,CAAA,WAAO,UAAS,EAAT,EAAY;AACjB,CAAA,UAAI,OAAO,EAAC,IAAI,EAAL,EAAS,MAAM,SAAf,EAAX;AACA,CAAA,UAAG,IAAH,EAAQ,KAAK,IAAL,GAAY,IAAZ;AACR,CAAA,UAAG,CAAC,IAAJ,EAAS;AACP,CAAA,eAAO,IAAP;AACA,CAAA;AACD,CAAA,OAAC,OAAO,IAAP;AACH,CAAA,KAPD;AAQD,CAAA,GA5DD;;;;;;;;;;ACPA,CAAA,MAAI,WAAWA,cAAA,aAAA,CAAf;AACA,CAAA,SAAO,OAAP,GAAiB,UAAS,MAAT,EAAiB,GAAjB,EAAsB,IAAtB,EAA2B;AAC1C,CAAA,SAAI,IAAI,GAAR,IAAe,GAAf;AAAmB,CAAA,eAAS,MAAT,EAAiB,GAAjB,EAAsB,IAAI,GAAJ,CAAtB,EAAgC,IAAhC;AAAnB,CAAA,KACA,OAAO,MAAP;AACD,CAAA,GAHD;;;;;;;;;;ACDA,CAAA;;AACA,CAAA,MAAI,UAAqBA,cAAA,aAAA,CAAzB;AAAA,CAAA,MACI,SAAqBA,cAAA,WAAA,CADzB;AAAA,CAAA,MAEI,MAAqBA,cAAA,YAAA,CAFzB;AAAA,CAAA,MAGI,UAAqBA,cAAA,cAAA,CAHzB;AAAA,CAAA,MAII,UAAqBA,cAAA,aAAA,CAJzB;AAAA,CAAA,MAKI,WAAqBA,cAAA,aAAA,CALzB;AAAA,CAAA,MAMI,YAAqBA,cAAA,aAAA,CANzB;AAAA,CAAA,MAOI,aAAqBA,cAAA,aAAA,CAPzB;AAAA,CAAA,MAQI,QAAqBA,cAAA,cAAA,CARzB;AAAA,CAAA,MASI,qBAAqBA,cAAA,WAAA,CATzB;AAAA,CAAA,MAUI,OAAqBA,cAAA,cAAA,EAAmB,GAV5C;AAAA,CAAA,MAWI,YAAqBA,cAAA,aAAA,GAXzB;AAAA,CAAA,MAYI,UAAqB,SAZzB;AAAA,CAAA,MAaI,YAAqB,OAAO,SAbhC;AAAA,CAAA,MAcI,UAAqB,OAAO,OAdhC;AAAA,CAAA,MAeI,WAAqB,OAAO,OAAP,CAfzB;AAAA,CAAA,MAgBI,UAAqB,OAAO,OAhBhC;AAAA,CAAA,MAiBI,SAAqB,QAAQ,OAAR,KAAoB,SAjB7C;AAAA,CAAA,MAkBI,QAAqB,SAArB,KAAqB,GAAU,aAlBnC;AAAA,CAAA,MAmBI,QAnBJ;AAAA,CAAA,MAmBc,wBAnBd;AAAA,CAAA,MAmBwC,OAnBxC;;AAqBA,CAAA,MAAI,aAAa,CAAC,CAAC,YAAU;AAC3B,CAAA,QAAI;;AAEF,CAAA,UAAI,UAAc,SAAS,OAAT,CAAiB,CAAjB,CAAlB;AAAA,CAAA,UACI,cAAc,CAAC,QAAQ,WAAR,GAAsB,EAAvB,EAA2BA,cAAA,aAAA,EAAkB,SAAlB,CAA3B,IAA2D,UAAS,IAAT,EAAc;AAAE,CAAA,aAAK,KAAL,EAAY,KAAZ;AAAqB,CAAA,OADlH;;AAGA,CAAA,aAAO,CAAC,UAAU,OAAO,qBAAP,IAAgC,UAA3C,KAA0D,QAAQ,IAAR,CAAa,KAAb,aAA+B,WAAhG;AACD,CAAA,KAND,CAME,OAAM,CAAN,EAAQ;AACX,CAAA,GARkB,EAAnB;;;AAWA,CAAA,MAAI,kBAAkB,SAAlB,eAAkB,CAAS,CAAT,EAAY,CAAZ,EAAc;;AAElC,CAAA,WAAO,MAAM,CAAN,IAAW,MAAM,QAAN,IAAkB,MAAM,OAA1C;AACD,CAAA,GAHD;AAIA,CAAA,MAAI,aAAa,SAAb,UAAa,CAAS,EAAT,EAAY;AAC3B,CAAA,QAAI,IAAJ;AACA,CAAA,WAAO,SAAS,EAAT,KAAgB,QAAQ,OAAO,GAAG,IAAlB,KAA2B,UAA3C,GAAwD,IAAxD,GAA+D,KAAtE;AACD,CAAA,GAHD;AAIA,CAAA,MAAI,uBAAuB,SAAvB,oBAAuB,CAAS,CAAT,EAAW;AACpC,CAAA,WAAO,gBAAgB,QAAhB,EAA0B,CAA1B,IACH,IAAI,iBAAJ,CAAsB,CAAtB,CADG,GAEH,IAAI,wBAAJ,CAA6B,CAA7B,CAFJ;AAGD,CAAA,GAJD;AAKA,CAAA,MAAI,oBAAoB,2BAA2B,kCAAS,CAAT,EAAW;AAC5D,CAAA,QAAI,OAAJ,EAAa,MAAb;AACA,CAAA,SAAK,OAAL,GAAe,IAAI,CAAJ,CAAM,UAAS,SAAT,EAAoB,QAApB,EAA6B;AAChD,CAAA,UAAG,YAAY,SAAZ,IAAyB,WAAW,SAAvC,EAAiD,MAAM,UAAU,yBAAV,CAAN;AACjD,CAAA,gBAAU,SAAV;AACA,CAAA,eAAU,QAAV;AACD,CAAA,KAJc,CAAf;AAKA,CAAA,SAAK,OAAL,GAAe,UAAU,OAAV,CAAf;AACA,CAAA,SAAK,MAAL,GAAe,UAAU,MAAV,CAAf;AACD,CAAA,GATD;AAUA,CAAA,MAAI,UAAU,SAAV,OAAU,CAAS,IAAT,EAAc;AAC1B,CAAA,QAAI;AACF,CAAA;AACD,CAAA,KAFD,CAEE,OAAM,CAAN,EAAQ;AACR,CAAA,aAAO,EAAC,OAAO,CAAR,EAAP;AACD,CAAA;AACF,CAAA,GAND;AAOA,CAAA,MAAI,SAAS,SAAT,MAAS,CAAS,OAAT,EAAkB,QAAlB,EAA2B;AACtC,CAAA,QAAG,QAAQ,EAAX,EAAc;AACd,CAAA,YAAQ,EAAR,GAAa,IAAb;AACA,CAAA,QAAI,QAAQ,QAAQ,EAApB;AACA,CAAA,cAAU,YAAU;AAClB,CAAA,UAAI,QAAQ,QAAQ,EAApB;AAAA,CAAA,UACI,KAAQ,QAAQ,EAAR,IAAc,CAD1B;AAAA,CAAA,UAEI,IAAQ,CAFZ;AAGA,CAAA,UAAI,MAAM,SAAN,GAAM,CAAS,QAAT,EAAkB;AAC1B,CAAA,YAAI,UAAU,KAAK,SAAS,EAAd,GAAmB,SAAS,IAA1C;AAAA,CAAA,YACI,UAAU,SAAS,OADvB;AAAA,CAAA,YAEI,SAAU,SAAS,MAFvB;AAAA,CAAA,YAGI,SAAU,SAAS,MAHvB;AAAA,CAAA,YAII,MAJJ;AAAA,CAAA,YAIY,IAJZ;AAKA,CAAA,YAAI;AACF,CAAA,cAAG,OAAH,EAAW;AACT,CAAA,gBAAG,CAAC,EAAJ,EAAO;AACL,CAAA,kBAAG,QAAQ,EAAR,IAAc,CAAjB,EAAmB,kBAAkB,OAAlB;AACnB,CAAA,sBAAQ,EAAR,GAAa,CAAb;AACD,CAAA;AACD,CAAA,gBAAG,YAAY,IAAf,EAAoB,SAAS,KAAT,CAApB,KACK;AACH,CAAA,kBAAG,MAAH,EAAU,OAAO,KAAP;AACV,CAAA,uBAAS,QAAQ,KAAR,CAAT;AACA,CAAA,kBAAG,MAAH,EAAU,OAAO,IAAP;AACX,CAAA;AACD,CAAA,gBAAG,WAAW,SAAS,OAAvB,EAA+B;AAC7B,CAAA,qBAAO,UAAU,qBAAV,CAAP;AACD,CAAA,aAFD,MAEO,IAAG,OAAO,WAAW,MAAX,CAAV,EAA6B;AAClC,CAAA,mBAAK,IAAL,CAAU,MAAV,EAAkB,OAAlB,EAA2B,MAA3B;AACD,CAAA,aAFM,MAEA,QAAQ,MAAR;AACR,CAAA,WAhBD,MAgBO,OAAO,KAAP;AACR,CAAA,SAlBD,CAkBE,OAAM,CAAN,EAAQ;AACR,CAAA,iBAAO,CAAP;AACD,CAAA;AACF,CAAA,OA3BD;AA4BA,CAAA,aAAM,MAAM,MAAN,GAAe,CAArB;AAAuB,CAAA,YAAI,MAAM,GAAN,CAAJ;AAAvB,CAAA,OAhCkB;AAiClB,CAAA,cAAQ,EAAR,GAAa,EAAb;AACA,CAAA,cAAQ,EAAR,GAAa,KAAb;AACA,CAAA,UAAG,YAAY,CAAC,QAAQ,EAAxB,EAA2B,YAAY,OAAZ;AAC5B,CAAA,KApCD;AAqCD,CAAA,GAzCD;AA0CA,CAAA,MAAI,cAAc,SAAd,WAAc,CAAS,OAAT,EAAiB;AACjC,CAAA,SAAK,IAAL,CAAU,MAAV,EAAkB,YAAU;AAC1B,CAAA,UAAI,QAAQ,QAAQ,EAApB;AAAA,CAAA,UACI,MADJ;AAAA,CAAA,UACY,OADZ;AAAA,CAAA,UACqB,OADrB;AAEA,CAAA,UAAG,YAAY,OAAZ,CAAH,EAAwB;AACtB,CAAA,iBAAS,QAAQ,YAAU;AACzB,CAAA,cAAG,MAAH,EAAU;AACR,CAAA,oBAAQ,IAAR,CAAa,oBAAb,EAAmC,KAAnC,EAA0C,OAA1C;AACD,CAAA,WAFD,MAEO,IAAG,UAAU,OAAO,oBAApB,EAAyC;AAC9C,CAAA,oBAAQ,EAAC,SAAS,OAAV,EAAmB,QAAQ,KAA3B,EAAR;AACD,CAAA,WAFM,MAEA,IAAG,CAAC,UAAU,OAAO,OAAlB,KAA8B,QAAQ,KAAzC,EAA+C;AACpD,CAAA,oBAAQ,KAAR,CAAc,6BAAd,EAA6C,KAA7C;AACD,CAAA;AACF,CAAA,SARQ,CAAT;;AAUA,CAAA,gBAAQ,EAAR,GAAa,UAAU,YAAY,OAAZ,CAAV,GAAiC,CAAjC,GAAqC,CAAlD;AACD,CAAA,OAAC,QAAQ,EAAR,GAAa,SAAb;AACF,CAAA,UAAG,MAAH,EAAU,MAAM,OAAO,KAAb;AACX,CAAA,KAjBD;AAkBD,CAAA,GAnBD;AAoBA,CAAA,MAAI,cAAc,SAAd,WAAc,CAAS,OAAT,EAAiB;AACjC,CAAA,QAAG,QAAQ,EAAR,IAAc,CAAjB,EAAmB,OAAO,KAAP;AACnB,CAAA,QAAI,QAAQ,QAAQ,EAAR,IAAc,QAAQ,EAAlC;AAAA,CAAA,QACI,IAAQ,CADZ;AAAA,CAAA,QAEI,QAFJ;AAGA,CAAA,WAAM,MAAM,MAAN,GAAe,CAArB,EAAuB;AACrB,CAAA,iBAAW,MAAM,GAAN,CAAX;AACA,CAAA,UAAG,SAAS,IAAT,IAAiB,CAAC,YAAY,SAAS,OAArB,CAArB,EAAmD,OAAO,KAAP;AACpD,CAAA,KAAC,OAAO,IAAP;AACH,CAAA,GATD;AAUA,CAAA,MAAI,oBAAoB,SAApB,iBAAoB,CAAS,OAAT,EAAiB;AACvC,CAAA,SAAK,IAAL,CAAU,MAAV,EAAkB,YAAU;AAC1B,CAAA,UAAI,OAAJ;AACA,CAAA,UAAG,MAAH,EAAU;AACR,CAAA,gBAAQ,IAAR,CAAa,kBAAb,EAAiC,OAAjC;AACD,CAAA,OAFD,MAEO,IAAG,UAAU,OAAO,kBAApB,EAAuC;AAC5C,CAAA,gBAAQ,EAAC,SAAS,OAAV,EAAmB,QAAQ,QAAQ,EAAnC,EAAR;AACD,CAAA;AACF,CAAA,KAPD;AAQD,CAAA,GATD;AAUA,CAAA,MAAI,UAAU,SAAV,OAAU,CAAS,KAAT,EAAe;AAC3B,CAAA,QAAI,UAAU,IAAd;AACA,CAAA,QAAG,QAAQ,EAAX,EAAc;AACd,CAAA,YAAQ,EAAR,GAAa,IAAb;AACA,CAAA,cAAU,QAAQ,EAAR,IAAc,OAAxB,CAJ2B;AAK3B,CAAA,YAAQ,EAAR,GAAa,KAAb;AACA,CAAA,YAAQ,EAAR,GAAa,CAAb;AACA,CAAA,QAAG,CAAC,QAAQ,EAAZ,EAAe,QAAQ,EAAR,GAAa,QAAQ,EAAR,CAAW,KAAX,EAAb;AACf,CAAA,WAAO,OAAP,EAAgB,IAAhB;AACD,CAAA,GATD;AAUA,CAAA,MAAI,WAAW,SAAX,QAAW,CAAS,KAAT,EAAe;AAC5B,CAAA,QAAI,UAAU,IAAd;AAAA,CAAA,QACI,IADJ;AAEA,CAAA,QAAG,QAAQ,EAAX,EAAc;AACd,CAAA,YAAQ,EAAR,GAAa,IAAb;AACA,CAAA,cAAU,QAAQ,EAAR,IAAc,OAAxB,CAL4B;AAM5B,CAAA,QAAI;AACF,CAAA,UAAG,YAAY,KAAf,EAAqB,MAAM,UAAU,kCAAV,CAAN;AACrB,CAAA,UAAG,OAAO,WAAW,KAAX,CAAV,EAA4B;AAC1B,CAAA,kBAAU,YAAU;AAClB,CAAA,cAAI,UAAU,EAAC,IAAI,OAAL,EAAc,IAAI,KAAlB,EAAd,CADkB;AAElB,CAAA,cAAI;AACF,CAAA,iBAAK,IAAL,CAAU,KAAV,EAAiB,IAAI,QAAJ,EAAc,OAAd,EAAuB,CAAvB,CAAjB,EAA4C,IAAI,OAAJ,EAAa,OAAb,EAAsB,CAAtB,CAA5C;AACD,CAAA,WAFD,CAEE,OAAM,CAAN,EAAQ;AACR,CAAA,oBAAQ,IAAR,CAAa,OAAb,EAAsB,CAAtB;AACD,CAAA;AACF,CAAA,SAPD;AAQD,CAAA,OATD,MASO;AACL,CAAA,gBAAQ,EAAR,GAAa,KAAb;AACA,CAAA,gBAAQ,EAAR,GAAa,CAAb;AACA,CAAA,eAAO,OAAP,EAAgB,KAAhB;AACD,CAAA;AACF,CAAA,KAhBD,CAgBE,OAAM,CAAN,EAAQ;AACR,CAAA,cAAQ,IAAR,CAAa,EAAC,IAAI,OAAL,EAAc,IAAI,KAAlB,EAAb,EAAuC,CAAvC,EADQ;AAET,CAAA;AACF,CAAA,GAzBD;;;AA4BA,CAAA,MAAG,CAAC,UAAJ,EAAe;;AAEb,CAAA,eAAW,SAAS,OAAT,CAAiB,QAAjB,EAA0B;AACnC,CAAA,iBAAW,IAAX,EAAiB,QAAjB,EAA2B,OAA3B,EAAoC,IAApC;AACA,CAAA,gBAAU,QAAV;AACA,CAAA,eAAS,IAAT,CAAc,IAAd;AACA,CAAA,UAAI;AACF,CAAA,iBAAS,IAAI,QAAJ,EAAc,IAAd,EAAoB,CAApB,CAAT,EAAiC,IAAI,OAAJ,EAAa,IAAb,EAAmB,CAAnB,CAAjC;AACD,CAAA,OAFD,CAEE,OAAM,GAAN,EAAU;AACV,CAAA,gBAAQ,IAAR,CAAa,IAAb,EAAmB,GAAnB;AACD,CAAA;AACF,CAAA,KATD;AAUA,CAAA,eAAW,SAAS,OAAT,CAAiB,QAAjB,EAA0B;AACnC,CAAA,WAAK,EAAL,GAAU,EAAV,CADmC;AAEnC,CAAA,WAAK,EAAL,GAAU,SAAV,CAFmC;AAGnC,CAAA,WAAK,EAAL,GAAU,CAAV,CAHmC;AAInC,CAAA,WAAK,EAAL,GAAU,KAAV,CAJmC;AAKnC,CAAA,WAAK,EAAL,GAAU,SAAV,CALmC;AAMnC,CAAA,WAAK,EAAL,GAAU,CAAV,CANmC;AAOnC,CAAA,WAAK,EAAL,GAAU,KAAV,CAPmC;AAQpC,CAAA,KARD;AASA,CAAA,aAAS,SAAT,GAAqBA,cAAA,aAAA,EAA2B,SAAS,SAApC,EAA+C;;AAElE,CAAA,YAAM,SAAS,IAAT,CAAc,WAAd,EAA2B,UAA3B,EAAsC;AAC1C,CAAA,YAAI,WAAc,qBAAqB,mBAAmB,IAAnB,EAAyB,QAAzB,CAArB,CAAlB;AACA,CAAA,iBAAS,EAAT,GAAkB,OAAO,WAAP,IAAsB,UAAtB,GAAmC,WAAnC,GAAiD,IAAnE;AACA,CAAA,iBAAS,IAAT,GAAkB,OAAO,UAAP,IAAqB,UAArB,IAAmC,UAArD;AACA,CAAA,iBAAS,MAAT,GAAkB,SAAS,QAAQ,MAAjB,GAA0B,SAA5C;AACA,CAAA,aAAK,EAAL,CAAQ,IAAR,CAAa,QAAb;AACA,CAAA,YAAG,KAAK,EAAR,EAAW,KAAK,EAAL,CAAQ,IAAR,CAAa,QAAb;AACX,CAAA,YAAG,KAAK,EAAR,EAAW,OAAO,IAAP,EAAa,KAAb;AACX,CAAA,eAAO,SAAS,OAAhB;AACD,CAAA,OAXiE;;AAalE,CAAA,eAAS,gBAAS,UAAT,EAAoB;AAC3B,CAAA,eAAO,KAAK,IAAL,CAAU,SAAV,EAAqB,UAArB,CAAP;AACD,CAAA;AAfiE,CAAA,KAA/C,CAArB;AAiBA,CAAA,wBAAoB,6BAAU;AAC5B,CAAA,UAAI,UAAW,IAAI,QAAJ,EAAf;AACA,CAAA,WAAK,OAAL,GAAe,OAAf;AACA,CAAA,WAAK,OAAL,GAAe,IAAI,QAAJ,EAAc,OAAd,EAAuB,CAAvB,CAAf;AACA,CAAA,WAAK,MAAL,GAAe,IAAI,OAAJ,EAAa,OAAb,EAAsB,CAAtB,CAAf;AACD,CAAA,KALD;AAMD,CAAA;;AAED,CAAA,UAAQ,QAAQ,CAAR,GAAY,QAAQ,CAApB,GAAwB,QAAQ,CAAR,GAAY,CAAC,UAA7C,EAAyD,EAAC,SAAS,QAAV,EAAzD;AACA,CAAA,gBAAA,aAAA,EAAgC,QAAhC,EAA0C,OAA1C;AACA,CAAA,gBAAA,cAAA,EAA0B,OAA1B;AACA,CAAA,YAAUA,cAAA,WAAA,EAAmB,OAAnB,CAAV;;;AAGA,CAAA,UAAQ,QAAQ,CAAR,GAAY,QAAQ,CAAR,GAAY,CAAC,UAAjC,EAA6C,OAA7C,EAAsD;;AAEpD,CAAA,YAAQ,SAAS,MAAT,CAAgB,CAAhB,EAAkB;AACxB,CAAA,UAAI,aAAa,qBAAqB,IAArB,CAAjB;AAAA,CAAA,UACI,WAAa,WAAW,MAD5B;AAEA,CAAA,eAAS,CAAT;AACA,CAAA,aAAO,WAAW,OAAlB;AACD,CAAA;AAPmD,CAAA,GAAtD;AASA,CAAA,UAAQ,QAAQ,CAAR,GAAY,QAAQ,CAAR,IAAa,WAAW,CAAC,UAAzB,CAApB,EAA0D,OAA1D,EAAmE;;AAEjE,CAAA,aAAS,SAAS,OAAT,CAAiB,CAAjB,EAAmB;;AAE1B,CAAA,UAAG,aAAa,QAAb,IAAyB,gBAAgB,EAAE,WAAlB,EAA+B,IAA/B,CAA5B,EAAiE,OAAO,CAAP;AACjE,CAAA,UAAI,aAAa,qBAAqB,IAArB,CAAjB;AAAA,CAAA,UACI,YAAa,WAAW,OAD5B;AAEA,CAAA,gBAAU,CAAV;AACA,CAAA,aAAO,WAAW,OAAlB;AACD,CAAA;AATgE,CAAA,GAAnE;AAWA,CAAA,UAAQ,QAAQ,CAAR,GAAY,QAAQ,CAAR,GAAY,EAAE,cAAcA,cAAA,aAAA,EAA0B,UAAS,IAAT,EAAc;AACtF,CAAA,aAAS,GAAT,CAAa,IAAb,EAAmB,OAAnB,EAA4B,KAA5B;AACD,CAAA,GAF+C,CAAhB,CAAhC,EAEK,OAFL,EAEc;;AAEZ,CAAA,SAAK,SAAS,GAAT,CAAa,QAAb,EAAsB;AACzB,CAAA,UAAI,IAAa,IAAjB;AAAA,CAAA,UACI,aAAa,qBAAqB,CAArB,CADjB;AAAA,CAAA,UAEI,UAAa,WAAW,OAF5B;AAAA,CAAA,UAGI,SAAa,WAAW,MAH5B;AAIA,CAAA,UAAI,SAAS,QAAQ,YAAU;AAC7B,CAAA,YAAI,SAAY,EAAhB;AAAA,CAAA,YACI,QAAY,CADhB;AAAA,CAAA,YAEI,YAAY,CAFhB;AAGA,CAAA,cAAM,QAAN,EAAgB,KAAhB,EAAuB,UAAS,OAAT,EAAiB;AACtC,CAAA,cAAI,SAAgB,OAApB;AAAA,CAAA,cACI,gBAAgB,KADpB;AAEA,CAAA,iBAAO,IAAP,CAAY,SAAZ;AACA,CAAA;AACA,CAAA,YAAE,OAAF,CAAU,OAAV,EAAmB,IAAnB,CAAwB,UAAS,KAAT,EAAe;AACrC,CAAA,gBAAG,aAAH,EAAiB;AACjB,CAAA,4BAAiB,IAAjB;AACA,CAAA,mBAAO,MAAP,IAAiB,KAAjB;AACA,CAAA,cAAE,SAAF,IAAe,QAAQ,MAAR,CAAf;AACD,CAAA,WALD,EAKG,MALH;AAMD,CAAA,SAXD;AAYA,CAAA,UAAE,SAAF,IAAe,QAAQ,MAAR,CAAf;AACD,CAAA,OAjBY,CAAb;AAkBA,CAAA,UAAG,MAAH,EAAU,OAAO,OAAO,KAAd;AACV,CAAA,aAAO,WAAW,OAAlB;AACD,CAAA,KA3BW;;AA6BZ,CAAA,UAAM,SAAS,IAAT,CAAc,QAAd,EAAuB;AAC3B,CAAA,UAAI,IAAa,IAAjB;AAAA,CAAA,UACI,aAAa,qBAAqB,CAArB,CADjB;AAAA,CAAA,UAEI,SAAa,WAAW,MAF5B;AAGA,CAAA,UAAI,SAAS,QAAQ,YAAU;AAC7B,CAAA,cAAM,QAAN,EAAgB,KAAhB,EAAuB,UAAS,OAAT,EAAiB;AACtC,CAAA,YAAE,OAAF,CAAU,OAAV,EAAmB,IAAnB,CAAwB,WAAW,OAAnC,EAA4C,MAA5C;AACD,CAAA,SAFD;AAGD,CAAA,OAJY,CAAb;AAKA,CAAA,UAAG,MAAH,EAAU,OAAO,OAAO,KAAd;AACV,CAAA,aAAO,WAAW,OAAlB;AACD,CAAA;AAxCW,CAAA,GAFd;;;;;;AC/PA,CAAA;;AACA,CAAA,MAAI,KAAcA,cAAA,aAAA,EAAwB,CAA1C;AAAA,CAAA,MACI,SAAcA,cAAA,aAAA,CADlB;AAAA,CAAA,MAEI,cAAcA,cAAA,aAAA,CAFlB;AAAA,CAAA,MAGI,MAAcA,cAAA,YAAA,CAHlB;AAAA,CAAA,MAII,aAAcA,cAAA,aAAA,CAJlB;AAAA,CAAA,MAKI,UAAcA,cAAA,aAAA,CALlB;AAAA,CAAA,MAMI,QAAcA,cAAA,cAAA,CANlB;AAAA,CAAA,MAOI,cAAcA,cAAA,aAAA,CAPlB;AAAA,CAAA,MAQI,OAAcA,cAAA,aAAA,CARlB;AAAA,CAAA,MASI,aAAcA,cAAA,cAAA,CATlB;AAAA,CAAA,MAUI,cAAcA,cAAA,WAAA,CAVlB;AAAA,CAAA,MAWI,UAAcA,cAAA,WAAA,EAAmB,OAXrC;AAAA,CAAA,MAYI,OAAc,cAAc,IAAd,GAAqB,MAZvC;;AAcA,CAAA,MAAI,WAAW,SAAX,QAAW,CAAS,IAAT,EAAe,GAAf,EAAmB;;AAEhC,CAAA,QAAI,QAAQ,QAAQ,GAAR,CAAZ;AAAA,CAAA,QAA0B,KAA1B;AACA,CAAA,QAAG,UAAU,GAAb,EAAiB,OAAO,KAAK,EAAL,CAAQ,KAAR,CAAP;;AAEjB,CAAA,SAAI,QAAQ,KAAK,EAAjB,EAAqB,KAArB,EAA4B,QAAQ,MAAM,CAA1C,EAA4C;AAC1C,CAAA,UAAG,MAAM,CAAN,IAAW,GAAd,EAAkB,OAAO,KAAP;AACnB,CAAA;AACF,CAAA,GARD;;AAUA,CAAA,SAAO,OAAP,GAAiB;AACf,CAAA,oBAAgB,wBAAS,OAAT,EAAkB,IAAlB,EAAwB,MAAxB,EAAgC,KAAhC,EAAsC;AACpD,CAAA,UAAI,IAAI,QAAQ,UAAS,IAAT,EAAe,QAAf,EAAwB;AACtC,CAAA,mBAAW,IAAX,EAAiB,CAAjB,EAAoB,IAApB,EAA0B,IAA1B;AACA,CAAA,aAAK,EAAL,GAAU,OAAO,IAAP,CAAV,CAFsC;AAGtC,CAAA,aAAK,EAAL,GAAU,SAAV,CAHsC;AAItC,CAAA,aAAK,EAAL,GAAU,SAAV,CAJsC;AAKtC,CAAA,aAAK,IAAL,IAAa,CAAb,CALsC;AAMtC,CAAA,YAAG,YAAY,SAAf,EAAyB,MAAM,QAAN,EAAgB,MAAhB,EAAwB,KAAK,KAAL,CAAxB,EAAqC,IAArC;AAC1B,CAAA,OAPO,CAAR;AAQA,CAAA,kBAAY,EAAE,SAAd,EAAyB;;;AAGvB,CAAA,eAAO,SAAS,KAAT,GAAgB;AACrB,CAAA,eAAI,IAAI,OAAO,IAAX,EAAiB,OAAO,KAAK,EAA7B,EAAiC,QAAQ,KAAK,EAAlD,EAAsD,KAAtD,EAA6D,QAAQ,MAAM,CAA3E,EAA6E;AAC3E,CAAA,kBAAM,CAAN,GAAU,IAAV;AACA,CAAA,gBAAG,MAAM,CAAT,EAAW,MAAM,CAAN,GAAU,MAAM,CAAN,CAAQ,CAAR,GAAY,SAAtB;AACX,CAAA,mBAAO,KAAK,MAAM,CAAX,CAAP;AACD,CAAA;AACD,CAAA,eAAK,EAAL,GAAU,KAAK,EAAL,GAAU,SAApB;AACA,CAAA,eAAK,IAAL,IAAa,CAAb;AACD,CAAA,SAXsB;;;AAcvB,CAAA,kBAAU,iBAAS,GAAT,EAAa;AACrB,CAAA,cAAI,OAAQ,IAAZ;AAAA,CAAA,cACI,QAAQ,SAAS,IAAT,EAAe,GAAf,CADZ;AAEA,CAAA,cAAG,KAAH,EAAS;AACP,CAAA,gBAAI,OAAO,MAAM,CAAjB;AAAA,CAAA,gBACI,OAAO,MAAM,CADjB;AAEA,CAAA,mBAAO,KAAK,EAAL,CAAQ,MAAM,CAAd,CAAP;AACA,CAAA,kBAAM,CAAN,GAAU,IAAV;AACA,CAAA,gBAAG,IAAH,EAAQ,KAAK,CAAL,GAAS,IAAT;AACR,CAAA,gBAAG,IAAH,EAAQ,KAAK,CAAL,GAAS,IAAT;AACR,CAAA,gBAAG,KAAK,EAAL,IAAW,KAAd,EAAoB,KAAK,EAAL,GAAU,IAAV;AACpB,CAAA,gBAAG,KAAK,EAAL,IAAW,KAAd,EAAoB,KAAK,EAAL,GAAU,IAAV;AACpB,CAAA,iBAAK,IAAL;AACD,CAAA,WAAC,OAAO,CAAC,CAAC,KAAT;AACH,CAAA,SA5BsB;;;AA+BvB,CAAA,iBAAS,SAAS,OAAT,CAAiB,UAAjB,0BAAoD;AAC3D,CAAA,qBAAW,IAAX,EAAiB,CAAjB,EAAoB,SAApB;AACA,CAAA,cAAI,IAAI,IAAI,UAAJ,EAAgB,UAAU,MAAV,GAAmB,CAAnB,GAAuB,UAAU,CAAV,CAAvB,GAAsC,SAAtD,EAAiE,CAAjE,CAAR;AAAA,CAAA,cACI,KADJ;AAEA,CAAA,iBAAM,QAAQ,QAAQ,MAAM,CAAd,GAAkB,KAAK,EAArC,EAAwC;AACtC,CAAA,cAAE,MAAM,CAAR,EAAW,MAAM,CAAjB,EAAoB,IAApB;;AAEA,CAAA,mBAAM,SAAS,MAAM,CAArB;AAAuB,CAAA,sBAAQ,MAAM,CAAd;AAAvB,CAAA;AACD,CAAA;AACF,CAAA,SAxCsB;;;AA2CvB,CAAA,aAAK,SAAS,GAAT,CAAa,GAAb,EAAiB;AACpB,CAAA,iBAAO,CAAC,CAAC,SAAS,IAAT,EAAe,GAAf,CAAT;AACD,CAAA;AA7CsB,CAAA,OAAzB;AA+CA,CAAA,UAAG,WAAH,EAAe,GAAG,EAAE,SAAL,EAAgB,MAAhB,EAAwB;AACrC,CAAA,aAAK,eAAU;AACb,CAAA,iBAAO,QAAQ,KAAK,IAAL,CAAR,CAAP;AACD,CAAA;AAHoC,CAAA,OAAxB;AAKf,CAAA,aAAO,CAAP;AACD,CAAA,KA/Dc;AAgEf,CAAA,SAAK,aAAS,IAAT,EAAe,GAAf,EAAoB,KAApB,EAA0B;AAC7B,CAAA,UAAI,QAAQ,SAAS,IAAT,EAAe,GAAf,CAAZ;AAAA,CAAA,UACI,IADJ;AAAA,CAAA,UACU,KADV;;AAGA,CAAA,UAAG,KAAH,EAAS;AACP,CAAA,cAAM,CAAN,GAAU,KAAV;;AAED,CAAA,OAHD,MAGO;AACL,CAAA,aAAK,EAAL,GAAU,QAAQ;AAChB,CAAA,aAAG,QAAQ,QAAQ,GAAR,EAAa,IAAb,CADK;AAEhB,CAAA,aAAG,GAFa;AAGhB,CAAA,aAAG,KAHa;AAIhB,CAAA,aAAG,OAAO,KAAK,EAJC;AAKhB,CAAA,aAAG,SALa;AAMhB,CAAA,aAAG,KANa;AAAA,CAAA,SAAlB;AAQA,CAAA,YAAG,CAAC,KAAK,EAAT,EAAY,KAAK,EAAL,GAAU,KAAV;AACZ,CAAA,YAAG,IAAH,EAAQ,KAAK,CAAL,GAAS,KAAT;AACR,CAAA,aAAK,IAAL;;AAEA,CAAA,YAAG,UAAU,GAAb,EAAiB,KAAK,EAAL,CAAQ,KAAR,IAAiB,KAAjB;AAClB,CAAA,OAAC,OAAO,IAAP;AACH,CAAA,KAtFc;AAuFf,CAAA,cAAU,QAvFK;AAwFf,CAAA,eAAW,mBAAS,CAAT,EAAY,IAAZ,EAAkB,MAAlB,EAAyB;;;AAGlC,CAAA,kBAAY,CAAZ,EAAe,IAAf,EAAqB,UAAS,QAAT,EAAmB,IAAnB,EAAwB;AAC3C,CAAA,aAAK,EAAL,GAAU,QAAV,CAD2C;AAE3C,CAAA,aAAK,EAAL,GAAU,IAAV,CAF2C;AAG3C,CAAA,aAAK,EAAL,GAAU,SAAV,CAH2C;AAI5C,CAAA,OAJD,EAIG,YAAU;AACX,CAAA,YAAI,OAAQ,IAAZ;AAAA,CAAA,YACI,OAAQ,KAAK,EADjB;AAAA,CAAA,YAEI,QAAQ,KAAK,EAFjB;;AAIA,CAAA,eAAM,SAAS,MAAM,CAArB;AAAuB,CAAA,kBAAQ,MAAM,CAAd;AAAvB,CAAA,SALW;AAOX,CAAA,YAAG,CAAC,KAAK,EAAN,IAAY,EAAE,KAAK,EAAL,GAAU,QAAQ,QAAQ,MAAM,CAAd,GAAkB,KAAK,EAAL,CAAQ,EAA9C,CAAf,EAAiE;;AAE/D,CAAA,eAAK,EAAL,GAAU,SAAV;AACA,CAAA,iBAAO,KAAK,CAAL,CAAP;AACD,CAAA;;AAED,CAAA,YAAG,QAAQ,MAAX,EAAoB,OAAO,KAAK,CAAL,EAAQ,MAAM,CAAd,CAAP;AACpB,CAAA,YAAG,QAAQ,QAAX,EAAoB,OAAO,KAAK,CAAL,EAAQ,MAAM,CAAd,CAAP;AACpB,CAAA,eAAO,KAAK,CAAL,EAAQ,CAAC,MAAM,CAAP,EAAU,MAAM,CAAhB,CAAR,CAAP;AACD,CAAA,OApBD,EAoBG,SAAS,SAAT,GAAqB,QApBxB,EAoBmC,CAAC,MApBpC,EAoB4C,IApB5C;;;AAuBA,CAAA,iBAAW,IAAX;AACD,CAAA;AAnHc,CAAA,GAAjB;;;;;;;;;;;;;;;;;;ACzBA,CAAA;;AACA,CAAA,MAAI,SAAoBA,cAAA,WAAA,CAAxB;AAAA,CAAA,MACI,UAAoBA,cAAA,aAAA,CADxB;AAAA,CAAA,MAEI,WAAoBA,cAAA,aAAA,CAFxB;AAAA,CAAA,MAGI,cAAoBA,cAAA,aAAA,CAHxB;AAAA,CAAA,MAII,OAAoBA,cAAA,WAAA,CAJxB;AAAA,CAAA,MAKI,QAAoBA,cAAA,cAAA,CALxB;AAAA,CAAA,MAMI,aAAoBA,cAAA,aAAA,CANxB;AAAA,CAAA,MAOI,WAAoBA,cAAA,aAAA,CAPxB;AAAA,CAAA,MAQI,QAAoBA,cAAA,aAAA,CARxB;AAAA,CAAA,MASI,cAAoBA,cAAA,aAAA,CATxB;AAAA,CAAA,MAUI,iBAAoBA,cAAA,aAAA,CAVxB;AAAA,CAAA,MAWI,oBAAoBA,cAAA,cAAA,CAXxB;;AAaA,CAAA,SAAO,OAAP,GAAiB,UAAS,IAAT,EAAe,OAAf,EAAwB,OAAxB,EAAiC,MAAjC,EAAyC,MAAzC,EAAiD,OAAjD,EAAyD;AACxE,CAAA,QAAI,OAAQ,OAAO,IAAP,CAAZ;AAAA,CAAA,QACI,IAAQ,IADZ;AAAA,CAAA,QAEI,QAAQ,SAAS,KAAT,GAAiB,KAF7B;AAAA,CAAA,QAGI,QAAQ,KAAK,EAAE,SAHnB;AAAA,CAAA,QAII,IAAQ,EAJZ;AAKA,CAAA,QAAI,YAAY,SAAZ,SAAY,CAAS,GAAT,EAAa;AAC3B,CAAA,UAAI,KAAK,MAAM,GAAN,CAAT;AACA,CAAA,eAAS,KAAT,EAAgB,GAAhB,EACE,OAAO,QAAP,GAAkB,UAAS,CAAT,EAAW;AAC3B,CAAA,eAAO,WAAW,CAAC,SAAS,CAAT,CAAZ,GAA0B,KAA1B,GAAkC,GAAG,IAAH,CAAQ,IAAR,EAAc,MAAM,CAAN,GAAU,CAAV,GAAc,CAA5B,CAAzC;AACD,CAAA,OAFD,GAEI,OAAO,KAAP,GAAe,SAAS,GAAT,CAAa,CAAb,EAAe;AAChC,CAAA,eAAO,WAAW,CAAC,SAAS,CAAT,CAAZ,GAA0B,KAA1B,GAAkC,GAAG,IAAH,CAAQ,IAAR,EAAc,MAAM,CAAN,GAAU,CAAV,GAAc,CAA5B,CAAzC;AACD,CAAA,OAFG,GAEA,OAAO,KAAP,GAAe,SAAS,GAAT,CAAa,CAAb,EAAe;AAChC,CAAA,eAAO,WAAW,CAAC,SAAS,CAAT,CAAZ,GAA0B,SAA1B,GAAsC,GAAG,IAAH,CAAQ,IAAR,EAAc,MAAM,CAAN,GAAU,CAAV,GAAc,CAA5B,CAA7C;AACD,CAAA,OAFG,GAEA,OAAO,KAAP,GAAe,SAAS,GAAT,CAAa,CAAb,EAAe;AAAE,CAAA,WAAG,IAAH,CAAQ,IAAR,EAAc,MAAM,CAAN,GAAU,CAAV,GAAc,CAA5B,EAAgC,OAAO,IAAP;AAAc,CAAA,OAA9E,GACA,SAAS,GAAT,CAAa,CAAb,EAAgB,CAAhB,EAAkB;AAAE,CAAA,WAAG,IAAH,CAAQ,IAAR,EAAc,MAAM,CAAN,GAAU,CAAV,GAAc,CAA5B,EAA+B,CAA/B,EAAmC,OAAO,IAAP;AAAc,CAAA,OAR3E;AAUD,CAAA,KAZD;AAaA,CAAA,QAAG,OAAO,CAAP,IAAY,UAAZ,IAA0B,EAAE,WAAW,MAAM,OAAN,IAAiB,CAAC,MAAM,YAAU;AAC1E,CAAA,UAAI,CAAJ,GAAQ,OAAR,GAAkB,IAAlB;AACD,CAAA,KAF2D,CAA/B,CAA7B,EAEI;;AAEF,CAAA,UAAI,OAAO,cAAP,CAAsB,OAAtB,EAA+B,IAA/B,EAAqC,MAArC,EAA6C,KAA7C,CAAJ;AACA,CAAA,kBAAY,EAAE,SAAd,EAAyB,OAAzB;AACA,CAAA,WAAK,IAAL,GAAY,IAAZ;AACD,CAAA,KAPD,MAOO;AACL,CAAA,UAAI,WAAuB,IAAI,CAAJ;;AAA3B,CAAA;AAAA,CAAA,UAEI,iBAAuB,SAAS,KAAT,EAAgB,UAAU,EAAV,GAAe,CAAC,CAAhC,EAAmC,CAAnC,KAAyC;;AAFpE,CAAA;AAAA,CAAA,UAII,uBAAuB,MAAM,YAAU;AAAE,CAAA,iBAAS,GAAT,CAAa,CAAb;AAAkB,CAAA,OAApC;;AAJ3B,CAAA;AAAA,CAAA,UAMI,mBAAuB,YAAY,UAAS,IAAT,EAAc;AAAE,CAAA,YAAI,CAAJ,CAAM,IAAN;AAAc,CAAA,OAA1C,CAN3B;;AAAA,CAAA;AAAA,CAAA,UAQI,aAAa,CAAC,OAAD,IAAY,MAAM,YAAU;;AAEzC,CAAA,YAAI,YAAY,IAAI,CAAJ,EAAhB;AAAA,CAAA,YACI,QAAY,CADhB;AAEA,CAAA,eAAM,OAAN;AAAc,CAAA,oBAAU,KAAV,EAAiB,KAAjB,EAAwB,KAAxB;AAAd,CAAA,SACA,OAAO,CAAC,UAAU,GAAV,CAAc,CAAC,CAAf,CAAR;AACD,CAAA,OAN0B,CAR7B;AAeA,CAAA,UAAG,CAAC,gBAAJ,EAAqB;AACnB,CAAA,YAAI,QAAQ,UAAS,MAAT,EAAiB,QAAjB,EAA0B;AACpC,CAAA,qBAAW,MAAX,EAAmB,CAAnB,EAAsB,IAAtB;AACA,CAAA,cAAI,OAAO,kBAAkB,IAAI,IAAJ,EAAlB,EAA4B,MAA5B,EAAoC,CAApC,CAAX;AACA,CAAA,cAAG,YAAY,SAAf,EAAyB,MAAM,QAAN,EAAgB,MAAhB,EAAwB,KAAK,KAAL,CAAxB,EAAqC,IAArC;AACzB,CAAA,iBAAO,IAAP;AACD,CAAA,SALG,CAAJ;AAMA,CAAA,UAAE,SAAF,GAAc,KAAd;AACA,CAAA,cAAM,WAAN,GAAoB,CAApB;AACD,CAAA;AACD,CAAA,UAAG,wBAAwB,UAA3B,EAAsC;AACpC,CAAA,kBAAU,QAAV;AACA,CAAA,kBAAU,KAAV;AACA,CAAA,kBAAU,UAAU,KAAV,CAAV;AACD,CAAA;AACD,CAAA,UAAG,cAAc,cAAjB,EAAgC,UAAU,KAAV;;AAEhC,CAAA,UAAG,WAAW,MAAM,KAApB,EAA0B,OAAO,MAAM,KAAb;AAC3B,CAAA;;AAED,CAAA,mBAAe,CAAf,EAAkB,IAAlB;;AAEA,CAAA,MAAE,IAAF,IAAU,CAAV;AACA,CAAA,YAAQ,QAAQ,CAAR,GAAY,QAAQ,CAApB,GAAwB,QAAQ,CAAR,IAAa,KAAK,IAAlB,CAAhC,EAAyD,CAAzD;;AAEA,CAAA,QAAG,CAAC,OAAJ,EAAY,OAAO,SAAP,CAAiB,CAAjB,EAAoB,IAApB,EAA0B,MAA1B;;AAEZ,CAAA,WAAO,CAAP;AACD,CAAA,GAtED;;;;;;;;;;ACdA,CAAA;;AACA,CAAA,MAAI,SAASA,cAAA,cAAA,CAAb;;;AAGA,CAAA,SAAO,OAAP,GAAiBA,cAAA,cAAA,EAAyB,KAAzB,EAAgC,UAAS,GAAT,EAAa;AAC5D,CAAA,WAAO,SAAS,GAAT,GAAc;AAAE,CAAA,aAAO,IAAI,IAAJ,EAAU,UAAU,MAAV,GAAmB,CAAnB,GAAuB,UAAU,CAAV,CAAvB,GAAsC,SAAhD,CAAP;AAAoE,CAAA,KAA3F;AACD,CAAA,GAFgB,EAEd;;AAED,CAAA,SAAK,SAAS,GAAT,CAAa,GAAb,EAAiB;AACpB,CAAA,UAAI,QAAQ,OAAO,QAAP,CAAgB,IAAhB,EAAsB,GAAtB,CAAZ;AACA,CAAA,aAAO,SAAS,MAAM,CAAtB;AACD,CAAA,KALA;;AAOD,CAAA,SAAK,SAAS,GAAT,CAAa,GAAb,EAAkB,KAAlB,EAAwB;AAC3B,CAAA,aAAO,OAAO,GAAP,CAAW,IAAX,EAAiB,QAAQ,CAAR,GAAY,CAAZ,GAAgB,GAAjC,EAAsC,KAAtC,CAAP;AACD,CAAA;AATA,CAAA,GAFc,EAYd,MAZc,EAYN,IAZM,CAAjB;;;;;;;;;;ACJA,CAAA;;AACA,CAAA,MAAI,SAASA,cAAA,cAAA,CAAb;;;AAGA,CAAA,SAAO,OAAP,GAAiBA,cAAA,cAAA,EAAyB,KAAzB,EAAgC,UAAS,GAAT,EAAa;AAC5D,CAAA,WAAO,SAAS,GAAT,GAAc;AAAE,CAAA,aAAO,IAAI,IAAJ,EAAU,UAAU,MAAV,GAAmB,CAAnB,GAAuB,UAAU,CAAV,CAAvB,GAAsC,SAAhD,CAAP;AAAoE,CAAA,KAA3F;AACD,CAAA,GAFgB,EAEd;;AAED,CAAA,SAAK,SAAS,GAAT,CAAa,KAAb,EAAmB;AACtB,CAAA,aAAO,OAAO,GAAP,CAAW,IAAX,EAAiB,QAAQ,UAAU,CAAV,GAAc,CAAd,GAAkB,KAA3C,EAAkD,KAAlD,CAAP;AACD,CAAA;AAJA,CAAA,GAFc,EAOd,MAPc,CAAjB;;;;;;;;;;ACJA,CAAA;;AACA,CAAA,MAAI,cAAoBA,cAAA,aAAA,CAAxB;AAAA,CAAA,MACI,UAAoBA,cAAA,WAAA,EAAmB,OAD3C;AAAA,CAAA,MAEI,WAAoBA,cAAA,WAAA,CAFxB;AAAA,CAAA,MAGI,WAAoBA,cAAA,aAAA,CAHxB;AAAA,CAAA,MAII,aAAoBA,cAAA,aAAA,CAJxB;AAAA,CAAA,MAKI,QAAoBA,cAAA,cAAA,CALxB;AAAA,CAAA,MAMI,oBAAoBA,cAAA,YAAA,CANxB;AAAA,CAAA,MAOI,OAAoBA,cAAA,WAAA,CAPxB;AAAA,CAAA,MAQI,YAAoB,kBAAkB,CAAlB,CARxB;AAAA,CAAA,MASI,iBAAoB,kBAAkB,CAAlB,CATxB;AAAA,CAAA,MAUI,KAAoB,CAVxB;;;AAaA,CAAA,MAAI,sBAAsB,SAAtB,mBAAsB,CAAS,IAAT,EAAc;AACtC,CAAA,WAAO,KAAK,EAAL,KAAY,KAAK,EAAL,GAAU,IAAI,mBAAJ,EAAtB,CAAP;AACD,CAAA,GAFD;AAGA,CAAA,MAAI,sBAAsB,SAAtB,mBAAsB,GAAU;AAClC,CAAA,SAAK,CAAL,GAAS,EAAT;AACD,CAAA,GAFD;AAGA,CAAA,MAAI,qBAAqB,SAArB,kBAAqB,CAAS,KAAT,EAAgB,GAAhB,EAAoB;AAC3C,CAAA,WAAO,UAAU,MAAM,CAAhB,EAAmB,UAAS,EAAT,EAAY;AACpC,CAAA,aAAO,GAAG,CAAH,MAAU,GAAjB;AACD,CAAA,KAFM,CAAP;AAGD,CAAA,GAJD;AAKA,CAAA,sBAAoB,SAApB,GAAgC;AAC9B,CAAA,SAAK,aAAS,GAAT,EAAa;AAChB,CAAA,UAAI,QAAQ,mBAAmB,IAAnB,EAAyB,GAAzB,CAAZ;AACA,CAAA,UAAG,KAAH,EAAS,OAAO,MAAM,CAAN,CAAP;AACV,CAAA,KAJ6B;AAK9B,CAAA,SAAK,aAAS,GAAT,EAAa;AAChB,CAAA,aAAO,CAAC,CAAC,mBAAmB,IAAnB,EAAyB,GAAzB,CAAT;AACD,CAAA,KAP6B;AAQ9B,CAAA,SAAK,aAAS,GAAT,EAAc,KAAd,EAAoB;AACvB,CAAA,UAAI,QAAQ,mBAAmB,IAAnB,EAAyB,GAAzB,CAAZ;AACA,CAAA,UAAG,KAAH,EAAS,MAAM,CAAN,IAAW,KAAX,CAAT,KACK,KAAK,CAAL,CAAO,IAAP,CAAY,CAAC,GAAD,EAAM,KAAN,CAAZ;AACN,CAAA,KAZ6B;AAa9B,CAAA,cAAU,iBAAS,GAAT,EAAa;AACrB,CAAA,UAAI,QAAQ,eAAe,KAAK,CAApB,EAAuB,UAAS,EAAT,EAAY;AAC7C,CAAA,eAAO,GAAG,CAAH,MAAU,GAAjB;AACD,CAAA,OAFW,CAAZ;AAGA,CAAA,UAAG,CAAC,KAAJ,EAAU,KAAK,CAAL,CAAO,MAAP,CAAc,KAAd,EAAqB,CAArB;AACV,CAAA,aAAO,CAAC,CAAC,CAAC,KAAV;AACD,CAAA;AAnB6B,CAAA,GAAhC;;AAsBA,CAAA,SAAO,OAAP,GAAiB;AACf,CAAA,oBAAgB,wBAAS,OAAT,EAAkB,IAAlB,EAAwB,MAAxB,EAAgC,KAAhC,EAAsC;AACpD,CAAA,UAAI,IAAI,QAAQ,UAAS,IAAT,EAAe,QAAf,EAAwB;AACtC,CAAA,mBAAW,IAAX,EAAiB,CAAjB,EAAoB,IAApB,EAA0B,IAA1B;AACA,CAAA,aAAK,EAAL,GAAU,IAAV,CAFsC;AAGtC,CAAA,aAAK,EAAL,GAAU,SAAV,CAHsC;AAItC,CAAA,YAAG,YAAY,SAAf,EAAyB,MAAM,QAAN,EAAgB,MAAhB,EAAwB,KAAK,KAAL,CAAxB,EAAqC,IAArC;AAC1B,CAAA,OALO,CAAR;AAMA,CAAA,kBAAY,EAAE,SAAd,EAAyB;;;AAGvB,CAAA,kBAAU,iBAAS,GAAT,EAAa;AACrB,CAAA,cAAG,CAAC,SAAS,GAAT,CAAJ,EAAkB,OAAO,KAAP;AAClB,CAAA,cAAI,OAAO,QAAQ,GAAR,CAAX;AACA,CAAA,cAAG,SAAS,IAAZ,EAAiB,OAAO,oBAAoB,IAApB,EAA0B,QAA1B,EAAoC,GAApC,CAAP;AACjB,CAAA,iBAAO,QAAQ,KAAK,IAAL,EAAW,KAAK,EAAhB,CAAR,IAA+B,OAAO,KAAK,KAAK,EAAV,CAA7C;AACD,CAAA,SARsB;;;AAWvB,CAAA,aAAK,SAAS,GAAT,CAAa,GAAb,EAAiB;AACpB,CAAA,cAAG,CAAC,SAAS,GAAT,CAAJ,EAAkB,OAAO,KAAP;AAClB,CAAA,cAAI,OAAO,QAAQ,GAAR,CAAX;AACA,CAAA,cAAG,SAAS,IAAZ,EAAiB,OAAO,oBAAoB,IAApB,EAA0B,GAA1B,CAA8B,GAA9B,CAAP;AACjB,CAAA,iBAAO,QAAQ,KAAK,IAAL,EAAW,KAAK,EAAhB,CAAf;AACD,CAAA;AAhBsB,CAAA,OAAzB;AAkBA,CAAA,aAAO,CAAP;AACD,CAAA,KA3Bc;AA4Bf,CAAA,SAAK,aAAS,IAAT,EAAe,GAAf,EAAoB,KAApB,EAA0B;AAC7B,CAAA,UAAI,OAAO,QAAQ,SAAS,GAAT,CAAR,EAAuB,IAAvB,CAAX;AACA,CAAA,UAAG,SAAS,IAAZ,EAAiB,oBAAoB,IAApB,EAA0B,GAA1B,CAA8B,GAA9B,EAAmC,KAAnC,EAAjB,KACK,KAAK,KAAK,EAAV,IAAgB,KAAhB;AACL,CAAA,aAAO,IAAP;AACD,CAAA,KAjCc;AAkCf,CAAA,aAAS;AAlCM,CAAA,GAAjB;;;;;;;;;;;;;;;;AC/CA,CAAA;;AACA,CAAA,MAAI,OAAeA,cAAA,YAAA,EAA4B,CAA5B,CAAnB;AAAA,CAAA,MACI,WAAeA,cAAA,aAAA,CADnB;AAAA,CAAA,MAEI,OAAeA,cAAA,WAAA,CAFnB;AAAA,CAAA,MAGI,SAAeA,cAAA,aAAA,CAHnB;AAAA,CAAA,MAII,OAAeA,cAAA,cAAA,CAJnB;AAAA,CAAA,MAKI,WAAeA,cAAA,aAAA,CALnB;AAAA,CAAA,MAMI,UAAe,KAAK,OANxB;AAAA,CAAA,MAOI,eAAe,OAAO,YAP1B;AAAA,CAAA,MAQI,sBAAsB,KAAK,OAR/B;AAAA,CAAA,MASI,MAAe,EATnB;AAAA,CAAA,MAUI,WAVJ;;AAYA,CAAA,MAAI,UAAU,SAAV,OAAU,CAAS,GAAT,EAAa;AACzB,CAAA,WAAO,SAAS,OAAT,GAAkB;AACvB,CAAA,aAAO,IAAI,IAAJ,EAAU,UAAU,MAAV,GAAmB,CAAnB,GAAuB,UAAU,CAAV,CAAvB,GAAsC,SAAhD,CAAP;AACD,CAAA,KAFD;AAGD,CAAA,GAJD;;AAMA,CAAA,MAAI,UAAU;;AAEZ,CAAA,SAAK,SAAS,GAAT,CAAa,GAAb,EAAiB;AACpB,CAAA,UAAG,SAAS,GAAT,CAAH,EAAiB;AACf,CAAA,YAAI,OAAO,QAAQ,GAAR,CAAX;AACA,CAAA,YAAG,SAAS,IAAZ,EAAiB,OAAO,oBAAoB,IAApB,EAA0B,GAA1B,CAA8B,GAA9B,CAAP;AACjB,CAAA,eAAO,OAAO,KAAK,KAAK,EAAV,CAAP,GAAuB,SAA9B;AACD,CAAA;AACF,CAAA,KARW;;AAUZ,CAAA,SAAK,SAAS,GAAT,CAAa,GAAb,EAAkB,KAAlB,EAAwB;AAC3B,CAAA,aAAO,KAAK,GAAL,CAAS,IAAT,EAAe,GAAf,EAAoB,KAApB,CAAP;AACD,CAAA;AAZW,CAAA,GAAd;;;AAgBA,CAAA,MAAI,WAAW,OAAO,OAAP,GAAiBA,cAAA,cAAA,EAAyB,SAAzB,EAAoC,OAApC,EAA6C,OAA7C,EAAsD,IAAtD,EAA4D,IAA5D,EAAkE,IAAlE,CAAhC;;;AAGA,CAAA,MAAG,IAAI,QAAJ,GAAe,GAAf,CAAmB,CAAC,OAAO,MAAP,IAAiB,MAAlB,EAA0B,GAA1B,CAAnB,EAAmD,CAAnD,EAAsD,GAAtD,CAA0D,GAA1D,KAAkE,CAArE,EAAuE;AACrE,CAAA,kBAAc,KAAK,cAAL,CAAoB,OAApB,CAAd;AACA,CAAA,WAAO,YAAY,SAAnB,EAA8B,OAA9B;AACA,CAAA,SAAK,IAAL,GAAY,IAAZ;AACA,CAAA,SAAK,CAAC,QAAD,EAAW,KAAX,EAAkB,KAAlB,EAAyB,KAAzB,CAAL,EAAsC,UAAS,GAAT,EAAa;AACjD,CAAA,UAAI,QAAS,SAAS,SAAtB;AAAA,CAAA,UACI,SAAS,MAAM,GAAN,CADb;AAEA,CAAA,eAAS,KAAT,EAAgB,GAAhB,EAAqB,UAAS,CAAT,EAAY,CAAZ,EAAc;;AAEjC,CAAA,YAAG,SAAS,CAAT,KAAe,CAAC,aAAa,CAAb,CAAnB,EAAmC;AACjC,CAAA,cAAG,CAAC,KAAK,EAAT,EAAY,KAAK,EAAL,GAAU,IAAI,WAAJ,EAAV;AACZ,CAAA,cAAI,SAAS,KAAK,EAAL,CAAQ,GAAR,EAAa,CAAb,EAAgB,CAAhB,CAAb;AACA,CAAA,iBAAO,OAAO,KAAP,GAAe,IAAf,GAAsB,MAA7B;;AAED,CAAA,SAAC,OAAO,OAAO,IAAP,CAAY,IAAZ,EAAkB,CAAlB,EAAqB,CAArB,CAAP;AACH,CAAA,OARD;AASD,CAAA,KAZD;;;;;;;;;;;AC1CF,CAAA;;AACA,CAAA,MAAI,OAAOA,cAAA,cAAA,CAAX;;;AAGA,CAAA,gBAAA,cAAA,EAAyB,SAAzB,EAAoC,UAAS,GAAT,EAAa;AAC/C,CAAA,WAAO,SAAS,OAAT,GAAkB;AAAE,CAAA,aAAO,IAAI,IAAJ,EAAU,UAAU,MAAV,GAAmB,CAAnB,GAAuB,UAAU,CAAV,CAAvB,GAAsC,SAAhD,CAAP;AAAoE,CAAA,KAA/F;AACD,CAAA,GAFD,EAEG;;AAED,CAAA,SAAK,SAAS,GAAT,CAAa,KAAb,EAAmB;AACtB,CAAA,aAAO,KAAK,GAAL,CAAS,IAAT,EAAe,KAAf,EAAsB,IAAtB,CAAP;AACD,CAAA;AAJA,CAAA,GAFH,EAOG,IAPH,EAOS,KAPT,EAOgB,IAPhB;;;;;;ACJA,CAAA,MAAI,SAASA,cAAA,WAAA,CAAb;AAAA,CAAA,MACI,OAASA,cAAA,WAAA,CADb;AAAA,CAAA,MAEI,MAASA,cAAA,YAAA,CAFb;AAAA,CAAA,MAGI,QAAS,IAAI,aAAJ,CAHb;AAAA,CAAA,MAII,OAAS,IAAI,MAAJ,CAJb;AAAA,CAAA,MAKI,MAAS,CAAC,EAAE,OAAO,WAAP,IAAsB,OAAO,QAA/B,CALd;AAAA,CAAA,MAMI,SAAS,GANb;AAAA,CAAA,MAOI,IAAI,CAPR;AAAA,CAAA,MAOW,IAAI,CAPf;AAAA,CAAA,MAOkB,KAPlB;;AASA,CAAA,MAAI,yBACF,gHAD2B,CAE3B,KAF2B,CAErB,GAFqB,CAA7B;;AAIA,CAAA,SAAM,IAAI,CAAV,EAAY;AACV,CAAA,QAAG,QAAQ,OAAO,uBAAuB,GAAvB,CAAP,CAAX,EAA+C;AAC7C,CAAA,WAAK,MAAM,SAAX,EAAsB,KAAtB,EAA6B,IAA7B;AACA,CAAA,WAAK,MAAM,SAAX,EAAsB,IAAtB,EAA4B,IAA5B;AACD,CAAA,KAHD,MAGO,SAAS,KAAT;AACR,CAAA;;AAED,CAAA,SAAO,OAAP,GAAiB;AACf,CAAA,SAAQ,GADO;AAEf,CAAA,YAAQ,MAFO;AAGf,CAAA,WAAQ,KAHO;AAIf,CAAA,UAAQ;AAJO,CAAA,GAAjB;;;;;;;;;;;;;;;;;;ACpBA,CAAA;;AACA,CAAA,MAAI,SAAiBA,cAAA,WAAA,CAArB;AAAA,CAAA,MACI,cAAiBA,cAAA,WAAA,CADrB;AAAA,CAAA,MAEI,UAAiBA,cAAA,aAAA,CAFrB;AAAA,CAAA,MAGI,SAAiBA,cAAA,YAAA,CAHrB;AAAA,CAAA,MAII,OAAiBA,cAAA,WAAA,CAJrB;AAAA,CAAA,MAKI,cAAiBA,cAAA,aAAA,CALrB;AAAA,CAAA,MAMI,QAAiBA,cAAA,aAAA,CANrB;AAAA,CAAA,MAOI,aAAiBA,cAAA,aAAA,CAPrB;AAAA,CAAA,MAQI,YAAiBA,cAAA,YAAA,CARrB;AAAA,CAAA,MASI,WAAiBA,cAAA,aAAA,CATrB;AAAA,CAAA,MAUI,OAAiBA,cAAA,aAAA,EAA0B,CAV/C;AAAA,CAAA,MAWI,KAAiBA,cAAA,aAAA,EAAwB,CAX7C;AAAA,CAAA,MAYI,YAAiBA,cAAA,aAAA,CAZrB;AAAA,CAAA,MAaI,iBAAiBA,cAAA,aAAA,CAbrB;AAAA,CAAA,MAcI,eAAiB,aAdrB;AAAA,CAAA,MAeI,YAAiB,UAfrB;AAAA,CAAA,MAgBI,YAAiB,WAhBrB;AAAA,CAAA,MAiBI,eAAiB,eAjBrB;AAAA,CAAA,MAkBI,cAAiB,cAlBrB;AAAA,CAAA,MAmBI,eAAiB,OAAO,YAAP,CAnBrB;AAAA,CAAA,MAoBI,YAAiB,OAAO,SAAP,CApBrB;AAAA,CAAA,MAqBI,OAAiB,OAAO,IArB5B;AAAA,CAAA,MAsBI,aAAiB,OAAO,UAtB5B;AAAA,CAAA,MAuBI,WAAiB,OAAO,QAvB5B;AAAA,CAAA,MAwBI,aAAiB,YAxBrB;AAAA,CAAA,MAyBI,MAAiB,KAAK,GAzB1B;AAAA,CAAA,MA0BI,MAAiB,KAAK,GA1B1B;AAAA,CAAA,MA2BI,QAAiB,KAAK,KA3B1B;AAAA,CAAA,MA4BI,MAAiB,KAAK,GA5B1B;AAAA,CAAA,MA6BI,MAAiB,KAAK,GA7B1B;AAAA,CAAA,MA8BI,SAAiB,QA9BrB;AAAA,CAAA,MA+BI,cAAiB,YA/BrB;AAAA,CAAA,MAgCI,cAAiB,YAhCrB;AAAA,CAAA,MAiCI,UAAiB,cAAc,IAAd,GAAqB,MAjC1C;AAAA,CAAA,MAkCI,UAAiB,cAAc,IAAd,GAAqB,WAlC1C;AAAA,CAAA,MAmCI,UAAiB,cAAc,IAAd,GAAqB,WAnC1C;;;AAsCA,CAAA,MAAI,cAAc,SAAd,WAAc,CAAS,KAAT,EAAgB,IAAhB,EAAsB,MAAtB,EAA6B;AAC7C,CAAA,QAAI,SAAS,MAAM,MAAN,CAAb;AAAA,CAAA,QACI,OAAS,SAAS,CAAT,GAAa,IAAb,GAAoB,CADjC;AAAA,CAAA,QAEI,OAAS,CAAC,KAAK,IAAN,IAAc,CAF3B;AAAA,CAAA,QAGI,QAAS,QAAQ,CAHrB;AAAA,CAAA,QAII,KAAS,SAAS,EAAT,GAAc,IAAI,CAAJ,EAAO,CAAC,EAAR,IAAc,IAAI,CAAJ,EAAO,CAAC,EAAR,CAA5B,GAA0C,CAJvD;AAAA,CAAA,QAKI,IAAS,CALb;AAAA,CAAA,QAMI,IAAS,QAAQ,CAAR,IAAa,UAAU,CAAV,IAAe,IAAI,KAAJ,GAAY,CAAxC,GAA4C,CAA5C,GAAgD,CAN7D;AAAA,CAAA,QAOI,CAPJ;AAAA,CAAA,QAOO,CAPP;AAAA,CAAA,QAOU,CAPV;AAQA,CAAA,YAAQ,IAAI,KAAJ,CAAR;AACA,CAAA,QAAG,SAAS,KAAT,IAAkB,UAAU,QAA/B,EAAwC;AACtC,CAAA,UAAI,SAAS,KAAT,GAAiB,CAAjB,GAAqB,CAAzB;AACA,CAAA,UAAI,IAAJ;AACD,CAAA,KAHD,MAGO;AACL,CAAA,UAAI,MAAM,IAAI,KAAJ,IAAa,GAAnB,CAAJ;AACA,CAAA,UAAG,SAAS,IAAI,IAAI,CAAJ,EAAO,CAAC,CAAR,CAAb,IAA2B,CAA9B,EAAgC;AAC9B,CAAA;AACA,CAAA,aAAK,CAAL;AACD,CAAA;AACD,CAAA,UAAG,IAAI,KAAJ,IAAa,CAAhB,EAAkB;AAChB,CAAA,iBAAS,KAAK,CAAd;AACD,CAAA,OAFD,MAEO;AACL,CAAA,iBAAS,KAAK,IAAI,CAAJ,EAAO,IAAI,KAAX,CAAd;AACD,CAAA;AACD,CAAA,UAAG,QAAQ,CAAR,IAAa,CAAhB,EAAkB;AAChB,CAAA;AACA,CAAA,aAAK,CAAL;AACD,CAAA;AACD,CAAA,UAAG,IAAI,KAAJ,IAAa,IAAhB,EAAqB;AACnB,CAAA,YAAI,CAAJ;AACA,CAAA,YAAI,IAAJ;AACD,CAAA,OAHD,MAGO,IAAG,IAAI,KAAJ,IAAa,CAAhB,EAAkB;AACvB,CAAA,YAAI,CAAC,QAAQ,CAAR,GAAY,CAAb,IAAkB,IAAI,CAAJ,EAAO,IAAP,CAAtB;AACA,CAAA,YAAI,IAAI,KAAR;AACD,CAAA,OAHM,MAGA;AACL,CAAA,YAAI,QAAQ,IAAI,CAAJ,EAAO,QAAQ,CAAf,CAAR,GAA4B,IAAI,CAAJ,EAAO,IAAP,CAAhC;AACA,CAAA,YAAI,CAAJ;AACD,CAAA;AACF,CAAA;AACD,CAAA,WAAM,QAAQ,CAAd,EAAiB,OAAO,GAAP,IAAc,IAAI,GAAlB,EAAuB,KAAK,GAA5B,EAAiC,QAAQ,CAA1D;AACA,CAAA,QAAI,KAAK,IAAL,GAAY,CAAhB;AACA,CAAA,YAAQ,IAAR;AACA,CAAA,WAAM,OAAO,CAAb,EAAgB,OAAO,GAAP,IAAc,IAAI,GAAlB,EAAuB,KAAK,GAA5B,EAAiC,QAAQ,CAAzD;AACA,CAAA,WAAO,EAAE,CAAT,KAAe,IAAI,GAAnB;AACA,CAAA,WAAO,MAAP;AACD,CAAA,GA7CD;AA8CA,CAAA,MAAI,gBAAgB,SAAhB,aAAgB,CAAS,MAAT,EAAiB,IAAjB,EAAuB,MAAvB,EAA8B;AAChD,CAAA,QAAI,OAAQ,SAAS,CAAT,GAAa,IAAb,GAAoB,CAAhC;AAAA,CAAA,QACI,OAAQ,CAAC,KAAK,IAAN,IAAc,CAD1B;AAAA,CAAA,QAEI,QAAQ,QAAQ,CAFpB;AAAA,CAAA,QAGI,QAAQ,OAAO,CAHnB;AAAA,CAAA,QAII,IAAQ,SAAS,CAJrB;AAAA,CAAA,QAKI,IAAQ,OAAO,GAAP,CALZ;AAAA,CAAA,QAMI,IAAQ,IAAI,GANhB;AAAA,CAAA,QAOI,CAPJ;AAQA,CAAA,UAAM,CAAN;AACA,CAAA,WAAM,QAAQ,CAAd,EAAiB,IAAI,IAAI,GAAJ,GAAU,OAAO,CAAP,CAAd,EAAyB,GAAzB,EAA8B,SAAS,CAAxD;AACA,CAAA,QAAI,IAAI,CAAC,KAAK,CAAC,KAAP,IAAgB,CAAxB;AACA,CAAA,UAAM,CAAC,KAAP;AACA,CAAA,aAAS,IAAT;AACA,CAAA,WAAM,QAAQ,CAAd,EAAiB,IAAI,IAAI,GAAJ,GAAU,OAAO,CAAP,CAAd,EAAyB,GAAzB,EAA8B,SAAS,CAAxD;AACA,CAAA,QAAG,MAAM,CAAT,EAAW;AACT,CAAA,UAAI,IAAI,KAAR;AACD,CAAA,KAFD,MAEO,IAAG,MAAM,IAAT,EAAc;AACnB,CAAA,aAAO,IAAI,GAAJ,GAAU,IAAI,CAAC,QAAL,GAAgB,QAAjC;AACD,CAAA,KAFM,MAEA;AACL,CAAA,UAAI,IAAI,IAAI,CAAJ,EAAO,IAAP,CAAR;AACA,CAAA,UAAI,IAAI,KAAR;AACD,CAAA,KAAC,OAAO,CAAC,IAAI,CAAC,CAAL,GAAS,CAAV,IAAe,CAAf,GAAmB,IAAI,CAAJ,EAAO,IAAI,IAAX,CAA1B;AACH,CAAA,GAvBD;;AAyBA,CAAA,MAAI,YAAY,SAAZ,SAAY,CAAS,KAAT,EAAe;AAC7B,CAAA,WAAO,MAAM,CAAN,KAAY,EAAZ,GAAiB,MAAM,CAAN,KAAY,EAA7B,GAAkC,MAAM,CAAN,KAAY,CAA9C,GAAkD,MAAM,CAAN,CAAzD;AACD,CAAA,GAFD;AAGA,CAAA,MAAI,SAAS,SAAT,MAAS,CAAS,EAAT,EAAY;AACvB,CAAA,WAAO,CAAC,KAAK,IAAN,CAAP;AACD,CAAA,GAFD;AAGA,CAAA,MAAI,UAAU,SAAV,OAAU,CAAS,EAAT,EAAY;AACxB,CAAA,WAAO,CAAC,KAAK,IAAN,EAAY,MAAM,CAAN,GAAU,IAAtB,CAAP;AACD,CAAA,GAFD;AAGA,CAAA,MAAI,UAAU,SAAV,OAAU,CAAS,EAAT,EAAY;AACxB,CAAA,WAAO,CAAC,KAAK,IAAN,EAAY,MAAM,CAAN,GAAU,IAAtB,EAA4B,MAAM,EAAN,GAAW,IAAvC,EAA6C,MAAM,EAAN,GAAW,IAAxD,CAAP;AACD,CAAA,GAFD;AAGA,CAAA,MAAI,UAAU,SAAV,OAAU,CAAS,EAAT,EAAY;AACxB,CAAA,WAAO,YAAY,EAAZ,EAAgB,EAAhB,EAAoB,CAApB,CAAP;AACD,CAAA,GAFD;AAGA,CAAA,MAAI,UAAU,SAAV,OAAU,CAAS,EAAT,EAAY;AACxB,CAAA,WAAO,YAAY,EAAZ,EAAgB,EAAhB,EAAoB,CAApB,CAAP;AACD,CAAA,GAFD;;AAIA,CAAA,MAAI,YAAY,SAAZ,SAAY,CAAS,CAAT,EAAY,GAAZ,EAAiB,QAAjB,EAA0B;AACxC,CAAA,OAAG,EAAE,SAAF,CAAH,EAAiB,GAAjB,EAAsB,EAAC,KAAK,eAAU;AAAE,CAAA,eAAO,KAAK,QAAL,CAAP;AAAwB,CAAA,OAA1C,EAAtB;AACD,CAAA,GAFD;;AAIA,CAAA,MAAI,MAAM,SAAN,GAAM,CAAS,IAAT,EAAe,KAAf,EAAsB,KAAtB,EAA6B,cAA7B,EAA4C;AACpD,CAAA,QAAI,WAAW,CAAC,KAAhB;AAAA,CAAA,QACI,WAAW,UAAU,QAAV,CADf;AAEA,CAAA,QAAG,YAAY,QAAZ,IAAwB,WAAW,CAAnC,IAAwC,WAAW,KAAX,GAAmB,KAAK,OAAL,CAA9D,EAA4E,MAAM,WAAW,WAAX,CAAN;AAC5E,CAAA,QAAI,QAAQ,KAAK,OAAL,EAAc,EAA1B;AAAA,CAAA,QACI,QAAQ,WAAW,KAAK,OAAL,CADvB;AAAA,CAAA,QAEI,OAAQ,MAAM,KAAN,CAAY,KAAZ,EAAmB,QAAQ,KAA3B,CAFZ;AAGA,CAAA,WAAO,iBAAiB,IAAjB,GAAwB,KAAK,OAAL,EAA/B;AACD,CAAA,GARD;AASA,CAAA,MAAI,MAAM,SAAN,GAAM,CAAS,IAAT,EAAe,KAAf,EAAsB,KAAtB,EAA6B,UAA7B,EAAyC,KAAzC,EAAgD,cAAhD,EAA+D;AACvE,CAAA,QAAI,WAAW,CAAC,KAAhB;AAAA,CAAA,QACI,WAAW,UAAU,QAAV,CADf;AAEA,CAAA,QAAG,YAAY,QAAZ,IAAwB,WAAW,CAAnC,IAAwC,WAAW,KAAX,GAAmB,KAAK,OAAL,CAA9D,EAA4E,MAAM,WAAW,WAAX,CAAN;AAC5E,CAAA,QAAI,QAAQ,KAAK,OAAL,EAAc,EAA1B;AAAA,CAAA,QACI,QAAQ,WAAW,KAAK,OAAL,CADvB;AAAA,CAAA,QAEI,OAAQ,WAAW,CAAC,KAAZ,CAFZ;AAGA,CAAA,SAAI,IAAI,IAAI,CAAZ,EAAe,IAAI,KAAnB,EAA0B,GAA1B;AAA8B,CAAA,YAAM,QAAQ,CAAd,IAAmB,KAAK,iBAAiB,CAAjB,GAAqB,QAAQ,CAAR,GAAY,CAAtC,CAAnB;AAA9B,CAAA;AACD,CAAA,GARD;;AAUA,CAAA,MAAI,+BAA+B,SAA/B,4BAA+B,CAAS,IAAT,EAAe,MAAf,EAAsB;AACvD,CAAA,eAAW,IAAX,EAAiB,YAAjB,EAA+B,YAA/B;AACA,CAAA,QAAI,eAAe,CAAC,MAApB;AAAA,CAAA,QACI,aAAe,SAAS,YAAT,CADnB;AAEA,CAAA,QAAG,gBAAgB,UAAnB,EAA8B,MAAM,WAAW,YAAX,CAAN;AAC9B,CAAA,WAAO,UAAP;AACD,CAAA,GAND;;AAQA,CAAA,MAAG,CAAC,OAAO,GAAX,EAAe;AACb,CAAA,mBAAe,SAAS,WAAT,CAAqB,MAArB,EAA4B;AACzC,CAAA,UAAI,aAAa,6BAA6B,IAA7B,EAAmC,MAAnC,CAAjB;AACA,CAAA,WAAK,EAAL,GAAgB,UAAU,IAAV,CAAe,MAAM,UAAN,CAAf,EAAkC,CAAlC,CAAhB;AACA,CAAA,WAAK,OAAL,IAAgB,UAAhB;AACD,CAAA,KAJD;;AAMA,CAAA,gBAAY,SAAS,QAAT,CAAkB,MAAlB,EAA0B,UAA1B,EAAsC,UAAtC,EAAiD;AAC3D,CAAA,iBAAW,IAAX,EAAiB,SAAjB,EAA4B,SAA5B;AACA,CAAA,iBAAW,MAAX,EAAmB,YAAnB,EAAiC,SAAjC;AACA,CAAA,UAAI,eAAe,OAAO,OAAP,CAAnB;AAAA,CAAA,UACI,SAAe,UAAU,UAAV,CADnB;AAEA,CAAA,UAAG,SAAS,CAAT,IAAc,SAAS,YAA1B,EAAuC,MAAM,WAAW,eAAX,CAAN;AACvC,CAAA,mBAAa,eAAe,SAAf,GAA2B,eAAe,MAA1C,GAAmD,SAAS,UAAT,CAAhE;AACA,CAAA,UAAG,SAAS,UAAT,GAAsB,YAAzB,EAAsC,MAAM,WAAW,YAAX,CAAN;AACtC,CAAA,WAAK,OAAL,IAAgB,MAAhB;AACA,CAAA,WAAK,OAAL,IAAgB,MAAhB;AACA,CAAA,WAAK,OAAL,IAAgB,UAAhB;AACD,CAAA,KAXD;;AAaA,CAAA,QAAG,WAAH,EAAe;AACb,CAAA,gBAAU,YAAV,EAAwB,WAAxB,EAAqC,IAArC;AACA,CAAA,gBAAU,SAAV,EAAqB,MAArB,EAA6B,IAA7B;AACA,CAAA,gBAAU,SAAV,EAAqB,WAArB,EAAkC,IAAlC;AACA,CAAA,gBAAU,SAAV,EAAqB,WAArB,EAAkC,IAAlC;AACD,CAAA;;AAED,CAAA,gBAAY,UAAU,SAAV,CAAZ,EAAkC;AAChC,CAAA,eAAS,SAAS,OAAT,CAAiB,UAAjB,EAA4B;AACnC,CAAA,eAAO,IAAI,IAAJ,EAAU,CAAV,EAAa,UAAb,EAAyB,CAAzB,KAA+B,EAA/B,IAAqC,EAA5C;AACD,CAAA,OAH+B;AAIhC,CAAA,gBAAU,SAAS,QAAT,CAAkB,UAAlB,EAA6B;AACrC,CAAA,eAAO,IAAI,IAAJ,EAAU,CAAV,EAAa,UAAb,EAAyB,CAAzB,CAAP;AACD,CAAA,OAN+B;AAOhC,CAAA,gBAAU,SAAS,QAAT,CAAkB,UAAlB,sBAAiD;AACzD,CAAA,YAAI,QAAQ,IAAI,IAAJ,EAAU,CAAV,EAAa,UAAb,EAAyB,UAAU,CAAV,CAAzB,CAAZ;AACA,CAAA,eAAO,CAAC,MAAM,CAAN,KAAY,CAAZ,GAAgB,MAAM,CAAN,CAAjB,KAA8B,EAA9B,IAAoC,EAA3C;AACD,CAAA,OAV+B;AAWhC,CAAA,iBAAW,SAAS,SAAT,CAAmB,UAAnB,sBAAkD;AAC3D,CAAA,YAAI,QAAQ,IAAI,IAAJ,EAAU,CAAV,EAAa,UAAb,EAAyB,UAAU,CAAV,CAAzB,CAAZ;AACA,CAAA,eAAO,MAAM,CAAN,KAAY,CAAZ,GAAgB,MAAM,CAAN,CAAvB;AACD,CAAA,OAd+B;AAehC,CAAA,gBAAU,SAAS,QAAT,CAAkB,UAAlB,sBAAiD;AACzD,CAAA,eAAO,UAAU,IAAI,IAAJ,EAAU,CAAV,EAAa,UAAb,EAAyB,UAAU,CAAV,CAAzB,CAAV,CAAP;AACD,CAAA,OAjB+B;AAkBhC,CAAA,iBAAW,SAAS,SAAT,CAAmB,UAAnB,sBAAkD;AAC3D,CAAA,eAAO,UAAU,IAAI,IAAJ,EAAU,CAAV,EAAa,UAAb,EAAyB,UAAU,CAAV,CAAzB,CAAV,MAAsD,CAA7D;AACD,CAAA,OApB+B;AAqBhC,CAAA,kBAAY,SAAS,UAAT,CAAoB,UAApB,sBAAmD;AAC7D,CAAA,eAAO,cAAc,IAAI,IAAJ,EAAU,CAAV,EAAa,UAAb,EAAyB,UAAU,CAAV,CAAzB,CAAd,EAAsD,EAAtD,EAA0D,CAA1D,CAAP;AACD,CAAA,OAvB+B;AAwBhC,CAAA,kBAAY,SAAS,UAAT,CAAoB,UAApB,sBAAmD;AAC7D,CAAA,eAAO,cAAc,IAAI,IAAJ,EAAU,CAAV,EAAa,UAAb,EAAyB,UAAU,CAAV,CAAzB,CAAd,EAAsD,EAAtD,EAA0D,CAA1D,CAAP;AACD,CAAA,OA1B+B;AA2BhC,CAAA,eAAS,SAAS,OAAT,CAAiB,UAAjB,EAA6B,KAA7B,EAAmC;AAC1C,CAAA,YAAI,IAAJ,EAAU,CAAV,EAAa,UAAb,EAAyB,MAAzB,EAAiC,KAAjC;AACD,CAAA,OA7B+B;AA8BhC,CAAA,gBAAU,SAAS,QAAT,CAAkB,UAAlB,EAA8B,KAA9B,EAAoC;AAC5C,CAAA,YAAI,IAAJ,EAAU,CAAV,EAAa,UAAb,EAAyB,MAAzB,EAAiC,KAAjC;AACD,CAAA,OAhC+B;AAiChC,CAAA,gBAAU,SAAS,QAAT,CAAkB,UAAlB,EAA8B,KAA9B,sBAAwD;AAChE,CAAA,YAAI,IAAJ,EAAU,CAAV,EAAa,UAAb,EAAyB,OAAzB,EAAkC,KAAlC,EAAyC,UAAU,CAAV,CAAzC;AACD,CAAA,OAnC+B;AAoChC,CAAA,iBAAW,SAAS,SAAT,CAAmB,UAAnB,EAA+B,KAA/B,sBAAyD;AAClE,CAAA,YAAI,IAAJ,EAAU,CAAV,EAAa,UAAb,EAAyB,OAAzB,EAAkC,KAAlC,EAAyC,UAAU,CAAV,CAAzC;AACD,CAAA,OAtC+B;AAuChC,CAAA,gBAAU,SAAS,QAAT,CAAkB,UAAlB,EAA8B,KAA9B,sBAAwD;AAChE,CAAA,YAAI,IAAJ,EAAU,CAAV,EAAa,UAAb,EAAyB,OAAzB,EAAkC,KAAlC,EAAyC,UAAU,CAAV,CAAzC;AACD,CAAA,OAzC+B;AA0ChC,CAAA,iBAAW,SAAS,SAAT,CAAmB,UAAnB,EAA+B,KAA/B,sBAAyD;AAClE,CAAA,YAAI,IAAJ,EAAU,CAAV,EAAa,UAAb,EAAyB,OAAzB,EAAkC,KAAlC,EAAyC,UAAU,CAAV,CAAzC;AACD,CAAA,OA5C+B;AA6ChC,CAAA,kBAAY,SAAS,UAAT,CAAoB,UAApB,EAAgC,KAAhC,sBAA0D;AACpE,CAAA,YAAI,IAAJ,EAAU,CAAV,EAAa,UAAb,EAAyB,OAAzB,EAAkC,KAAlC,EAAyC,UAAU,CAAV,CAAzC;AACD,CAAA,OA/C+B;AAgDhC,CAAA,kBAAY,SAAS,UAAT,CAAoB,UAApB,EAAgC,KAAhC,sBAA0D;AACpE,CAAA,YAAI,IAAJ,EAAU,CAAV,EAAa,UAAb,EAAyB,OAAzB,EAAkC,KAAlC,EAAyC,UAAU,CAAV,CAAzC;AACD,CAAA;AAlD+B,CAAA,KAAlC;AAoDD,CAAA,GA/ED,MA+EO;AACL,CAAA,QAAG,CAAC,MAAM,YAAU;AAClB,CAAA,UAAI,YAAJ,GADkB;AAEnB,CAAA,KAFG,CAAD,IAEG,CAAC,MAAM,YAAU;AACrB,CAAA,UAAI,YAAJ,CAAiB,EAAjB,EADqB;AAEtB,CAAA,KAFM,CAFP,EAIG;AACD,CAAA,qBAAe,SAAS,WAAT,CAAqB,MAArB,EAA4B;AACzC,CAAA,eAAO,IAAI,UAAJ,CAAe,6BAA6B,IAA7B,EAAmC,MAAnC,CAAf,CAAP;AACD,CAAA,OAFD;AAGA,CAAA,UAAI,mBAAmB,aAAa,SAAb,IAA0B,WAAW,SAAX,CAAjD;AACA,CAAA,WAAI,IAAI,OAAO,KAAK,UAAL,CAAX,EAA6B,IAAI,CAAjC,EAAoC,GAAxC,EAA6C,KAAK,MAAL,GAAc,CAA3D,GAA+D;AAC7D,CAAA,YAAG,EAAE,CAAC,MAAM,KAAK,GAAL,CAAP,KAAqB,YAAvB,CAAH,EAAwC,KAAK,YAAL,EAAmB,GAAnB,EAAwB,WAAW,GAAX,CAAxB;AACzC,CAAA;AACD,CAAA,UAAG,CAAC,OAAJ,EAAY,iBAAiB,WAAjB,GAA+B,YAA/B;AACb,CAAA;;AAED,CAAA,QAAI,OAAO,IAAI,SAAJ,CAAc,IAAI,YAAJ,CAAiB,CAAjB,CAAd,CAAX;AAAA,CAAA,QACI,WAAW,UAAU,SAAV,EAAqB,OADpC;AAEA,CAAA,SAAK,OAAL,CAAa,CAAb,EAAgB,UAAhB;AACA,CAAA,SAAK,OAAL,CAAa,CAAb,EAAgB,UAAhB;AACA,CAAA,QAAG,KAAK,OAAL,CAAa,CAAb,KAAmB,CAAC,KAAK,OAAL,CAAa,CAAb,CAAvB,EAAuC,YAAY,UAAU,SAAV,CAAZ,EAAkC;AACvE,CAAA,eAAS,SAAS,OAAT,CAAiB,UAAjB,EAA6B,KAA7B,EAAmC;AAC1C,CAAA,iBAAS,IAAT,CAAc,IAAd,EAAoB,UAApB,EAAgC,SAAS,EAAT,IAAe,EAA/C;AACD,CAAA,OAHsE;AAIvE,CAAA,gBAAU,SAAS,QAAT,CAAkB,UAAlB,EAA8B,KAA9B,EAAoC;AAC5C,CAAA,iBAAS,IAAT,CAAc,IAAd,EAAoB,UAApB,EAAgC,SAAS,EAAT,IAAe,EAA/C;AACD,CAAA;AANsE,CAAA,KAAlC,EAOpC,IAPoC;AAQxC,CAAA;AACD,CAAA,iBAAe,YAAf,EAA6B,YAA7B;AACA,CAAA,iBAAe,SAAf,EAA0B,SAA1B;AACA,CAAA,OAAK,UAAU,SAAV,CAAL,EAA2B,OAAO,IAAlC,EAAwC,IAAxC;AACA,CAAA,UAAQ,YAAR,IAAwB,YAAxB;AACA,CAAA,UAAQ,SAAR,IAAqB,SAArB;;;;;;;;;;AChRA,CAAA;;AACA,CAAA,MAAI,UAAeA,cAAA,aAAA,CAAnB;AAAA,CAAA,MACI,SAAeA,cAAA,YAAA,CADnB;AAAA,CAAA,MAEI,SAAeA,cAAA,YAAA,CAFnB;AAAA,CAAA,MAGI,WAAeA,cAAA,WAAA,CAHnB;AAAA,CAAA,MAII,UAAeA,cAAA,YAAA,CAJnB;AAAA,CAAA,MAKI,WAAeA,cAAA,aAAA,CALnB;AAAA,CAAA,MAMI,WAAeA,cAAA,aAAA,CANnB;AAAA,CAAA,MAOI,cAAeA,cAAA,WAAA,EAAqB,WAPxC;AAAA,CAAA,MAQI,qBAAqBA,cAAA,WAAA,CARzB;AAAA,CAAA,MASI,eAAe,OAAO,WAT1B;AAAA,CAAA,MAUI,YAAe,OAAO,QAV1B;AAAA,CAAA,MAWI,UAAe,OAAO,GAAP,IAAc,YAAY,MAX7C;AAAA,CAAA,MAYI,SAAe,aAAa,SAAb,CAAuB,KAZ1C;AAAA,CAAA,MAaI,OAAe,OAAO,IAb1B;AAAA,CAAA,MAcI,eAAe,aAdnB;;AAgBA,CAAA,UAAQ,QAAQ,CAAR,GAAY,QAAQ,CAApB,GAAwB,QAAQ,CAAR,IAAa,gBAAgB,YAA7B,CAAhC,EAA4E,EAAC,aAAa,YAAd,EAA5E;;AAEA,CAAA,UAAQ,QAAQ,CAAR,GAAY,QAAQ,CAAR,GAAY,CAAC,OAAO,MAAxC,EAAgD,YAAhD,EAA8D;;AAE5D,CAAA,YAAQ,SAAS,MAAT,CAAgB,EAAhB,EAAmB;AACzB,CAAA,aAAO,WAAW,QAAQ,EAAR,CAAX,IAA0B,SAAS,EAAT,KAAgB,QAAQ,EAAzD;AACD,CAAA;AAJ2D,CAAA,GAA9D;;AAOA,CAAA,UAAQ,QAAQ,CAAR,GAAY,QAAQ,CAApB,GAAwB,QAAQ,CAAR,GAAYA,cAAA,aAAA,EAAoB,YAAU;AACxE,CAAA,WAAO,CAAC,IAAI,YAAJ,CAAiB,CAAjB,EAAoB,KAApB,CAA0B,CAA1B,EAA6B,SAA7B,EAAwC,UAAhD;AACD,CAAA,GAF2C,CAA5C,EAEI,YAFJ,EAEkB;;AAEhB,CAAA,WAAO,SAAS,KAAT,CAAe,KAAf,EAAsB,GAAtB,EAA0B;AAC/B,CAAA,UAAG,WAAW,SAAX,IAAwB,QAAQ,SAAnC,EAA6C,OAAO,OAAO,IAAP,CAAY,SAAS,IAAT,CAAZ,EAA4B,KAA5B,CAAP,CADd;AAE/B,CAAA,UAAI,MAAS,SAAS,IAAT,EAAe,UAA5B;AAAA,CAAA,UACI,QAAS,QAAQ,KAAR,EAAe,GAAf,CADb;AAAA,CAAA,UAEI,QAAS,QAAQ,QAAQ,SAAR,GAAoB,GAApB,GAA0B,GAAlC,EAAuC,GAAvC,CAFb;AAAA,CAAA,UAGI,SAAS,KAAK,mBAAmB,IAAnB,EAAyB,YAAzB,CAAL,EAA6C,SAAS,QAAQ,KAAjB,CAA7C,CAHb;AAAA,CAAA,UAII,QAAS,IAAI,SAAJ,CAAc,IAAd,CAJb;AAAA,CAAA,UAKI,QAAS,IAAI,SAAJ,CAAc,MAAd,CALb;AAAA,CAAA,UAMI,QAAS,CANb;AAOA,CAAA,aAAM,QAAQ,KAAd,EAAoB;AAClB,CAAA,cAAM,QAAN,CAAe,OAAf,EAAwB,MAAM,QAAN,CAAe,OAAf,CAAxB;AACD,CAAA,OAAC,OAAO,MAAP;AACH,CAAA;AAde,CAAA,GAFlB;;AAmBA,CAAA,gBAAA,cAAA,EAA0B,YAA1B;;;;;;AC7CA,CAAA,MAAI,UAAUA,cAAA,aAAA,CAAd;AACA,CAAA,UAAQ,QAAQ,CAAR,GAAY,QAAQ,CAApB,GAAwB,QAAQ,CAAR,GAAY,CAACA,cAAA,YAAA,EAAoB,GAAjE,EAAsE;AACpE,CAAA,cAAUA,cAAA,YAAA,EAA2B;AAD+B,CAAA,GAAtE;;;;;;ACDA,CAAA;;AACA,CAAA,MAAGA,cAAA,WAAA,CAAH,EAA6B;AAC3B,CAAA,QAAI,UAAsBA,cAAA,aAAA,CAA1B;AAAA,CAAA,QACI,SAAsBA,cAAA,WAAA,CAD1B;AAAA,CAAA,QAEI,QAAsBA,cAAA,aAAA,CAF1B;AAAA,CAAA,QAGI,UAAsBA,cAAA,aAAA,CAH1B;AAAA,CAAA,QAII,SAAsBA,cAAA,YAAA,CAJ1B;AAAA,CAAA,QAKI,UAAsBA,cAAA,YAAA,CAL1B;AAAA,CAAA,QAMI,MAAsBA,cAAA,YAAA,CAN1B;AAAA,CAAA,QAOI,aAAsBA,cAAA,aAAA,CAP1B;AAAA,CAAA,QAQI,eAAsBA,cAAA,aAAA,CAR1B;AAAA,CAAA,QASI,OAAsBA,cAAA,WAAA,CAT1B;AAAA,CAAA,QAUI,cAAsBA,cAAA,aAAA,CAV1B;AAAA,CAAA,QAWI,YAAsBA,cAAA,YAAA,CAX1B;AAAA,CAAA,QAYI,WAAsBA,cAAA,aAAA,CAZ1B;AAAA,CAAA,QAaI,UAAsBA,cAAA,YAAA,CAb1B;AAAA,CAAA,QAcI,cAAsBA,cAAA,aAAA,CAd1B;AAAA,CAAA,QAeI,MAAsBA,cAAA,WAAA,CAf1B;AAAA,CAAA,QAgBI,OAAsBA,cAAA,YAAA,CAhB1B;AAAA,CAAA,QAiBI,UAAsBA,cAAA,cAAA,CAjB1B;AAAA,CAAA,QAkBI,WAAsBA,cAAA,aAAA,CAlB1B;AAAA,CAAA,QAmBI,WAAsBA,cAAA,aAAA,CAnB1B;AAAA,CAAA,QAoBI,cAAsBA,cAAA,YAAA,CApB1B;AAAA,CAAA,QAqBI,SAAsBA,cAAA,aAAA,CArB1B;AAAA,CAAA,QAsBI,iBAAsBA,cAAA,cAAA,CAtB1B;AAAA,CAAA,QAuBI,OAAsBA,cAAA,aAAA,EAA0B,CAvBpD;AAAA,CAAA,QAwBI,YAAsBA,cAAA,YAAA,CAxB1B;AAAA,CAAA,QAyBI,MAAsBA,cAAA,YAAA,CAzB1B;AAAA,CAAA,QA0BI,MAAsBA,cAAA,aAAA,CA1B1B;AAAA,CAAA,QA2BI,oBAAsBA,cAAA,YAAA,CA3B1B;AAAA,CAAA,QA4BI,sBAAsBA,cAAA,aAAA,CA5B1B;AAAA,CAAA,QA6BI,qBAAsBA,cAAA,WAAA,CA7B1B;AAAA,CAAA,QA8BI,iBAAsBA,cAAA,aAAA,CA9B1B;AAAA,CAAA,QA+BI,YAAsBA,cAAA,cAAA,CA/B1B;AAAA,CAAA,QAgCI,cAAsBA,cAAA,aAAA,CAhC1B;AAAA,CAAA,QAiCI,aAAsBA,cAAA,cAAA,CAjC1B;AAAA,CAAA,QAkCI,YAAsBA,cAAA,aAAA,CAlC1B;AAAA,CAAA,QAmCI,kBAAsBA,cAAA,aAAA,CAnC1B;AAAA,CAAA,QAoCI,MAAsBA,cAAA,aAAA,CApC1B;AAAA,CAAA,QAqCI,QAAsBA,cAAA,aAAA,CArC1B;AAAA,CAAA,QAsCI,KAAsB,IAAI,CAtC9B;AAAA,CAAA,QAuCI,OAAsB,MAAM,CAvChC;AAAA,CAAA,QAwCI,aAAsB,OAAO,UAxCjC;AAAA,CAAA,QAyCI,YAAsB,OAAO,SAzCjC;AAAA,CAAA,QA0CI,aAAsB,OAAO,UA1CjC;AAAA,CAAA,QA2CI,eAAsB,aA3C1B;AAAA,CAAA,QA4CI,gBAAsB,WAAW,YA5CrC;AAAA,CAAA,QA6CI,oBAAsB,mBA7C1B;AAAA,CAAA,QA8CI,YAAsB,WA9C1B;AAAA,CAAA,QA+CI,aAAsB,MAAM,SAAN,CA/C1B;AAAA,CAAA,QAgDI,eAAsB,QAAQ,WAhDlC;AAAA,CAAA,QAiDI,YAAsB,QAAQ,QAjDlC;AAAA,CAAA,QAkDI,eAAsB,kBAAkB,CAAlB,CAlD1B;AAAA,CAAA,QAmDI,cAAsB,kBAAkB,CAAlB,CAnD1B;AAAA,CAAA,QAoDI,YAAsB,kBAAkB,CAAlB,CApD1B;AAAA,CAAA,QAqDI,aAAsB,kBAAkB,CAAlB,CArD1B;AAAA,CAAA,QAsDI,YAAsB,kBAAkB,CAAlB,CAtD1B;AAAA,CAAA,QAuDI,iBAAsB,kBAAkB,CAAlB,CAvD1B;AAAA,CAAA,QAwDI,gBAAsB,oBAAoB,IAApB,CAxD1B;AAAA,CAAA,QAyDI,eAAsB,oBAAoB,KAApB,CAzD1B;AAAA,CAAA,QA0DI,cAAsB,eAAe,MA1DzC;AAAA,CAAA,QA2DI,YAAsB,eAAe,IA3DzC;AAAA,CAAA,QA4DI,eAAsB,eAAe,OA5DzC;AAAA,CAAA,QA6DI,mBAAsB,WAAW,WA7DrC;AAAA,CAAA,QA8DI,cAAsB,WAAW,MA9DrC;AAAA,CAAA,QA+DI,mBAAsB,WAAW,WA/DrC;AAAA,CAAA,QAgEI,YAAsB,WAAW,IAhErC;AAAA,CAAA,QAiEI,YAAsB,WAAW,IAjErC;AAAA,CAAA,QAkEI,aAAsB,WAAW,KAlErC;AAAA,CAAA,QAmEI,gBAAsB,WAAW,QAnErC;AAAA,CAAA,QAoEI,sBAAsB,WAAW,cApErC;AAAA,CAAA,QAqEI,WAAsB,IAAI,UAAJ,CArE1B;AAAA,CAAA,QAsEI,MAAsB,IAAI,aAAJ,CAtE1B;AAAA,CAAA,QAuEI,oBAAsB,IAAI,mBAAJ,CAvE1B;AAAA,CAAA,QAwEI,kBAAsB,IAAI,iBAAJ,CAxE1B;AAAA,CAAA,QAyEI,mBAAsB,OAAO,MAzEjC;AAAA,CAAA,QA0EI,cAAsB,OAAO,KA1EjC;AAAA,CAAA,QA2EI,OAAsB,OAAO,IA3EjC;AAAA,CAAA,QA4EI,eAAsB,eA5E1B;;AA8EA,CAAA,QAAI,OAAO,kBAAkB,CAAlB,EAAqB,UAAS,CAAT,EAAY,MAAZ,EAAmB;AACjD,CAAA,aAAO,SAAS,mBAAmB,CAAnB,EAAsB,EAAE,eAAF,CAAtB,CAAT,EAAoD,MAApD,CAAP;AACD,CAAA,KAFU,CAAX;;AAIA,CAAA,QAAI,gBAAgB,MAAM,YAAU;AAClC,CAAA,aAAO,IAAI,UAAJ,CAAe,IAAI,WAAJ,CAAgB,CAAC,CAAD,CAAhB,EAAqB,MAApC,EAA4C,CAA5C,MAAmD,CAA1D;AACD,CAAA,KAFmB,CAApB;;AAIA,CAAA,QAAI,aAAa,CAAC,CAAC,UAAF,IAAgB,CAAC,CAAC,WAAW,SAAX,EAAsB,GAAxC,IAA+C,MAAM,YAAU;AAC9E,CAAA,UAAI,UAAJ,CAAe,CAAf,EAAkB,GAAlB,CAAsB,EAAtB;AACD,CAAA,KAF+D,CAAhE;;AAIA,CAAA,QAAI,iBAAiB,SAAjB,cAAiB,CAAS,EAAT,EAAa,IAAb,EAAkB;AACrC,CAAA,UAAG,OAAO,SAAV,EAAoB,MAAM,UAAU,YAAV,CAAN;AACpB,CAAA,UAAI,SAAS,CAAC,EAAd;AAAA,CAAA,UACI,SAAS,SAAS,EAAT,CADb;AAEA,CAAA,UAAG,QAAQ,CAAC,KAAK,MAAL,EAAa,MAAb,CAAZ,EAAiC,MAAM,WAAW,YAAX,CAAN;AACjC,CAAA,aAAO,MAAP;AACD,CAAA,KAND;;AAQA,CAAA,QAAI,WAAW,SAAX,QAAW,CAAS,EAAT,EAAa,KAAb,EAAmB;AAChC,CAAA,UAAI,SAAS,UAAU,EAAV,CAAb;AACA,CAAA,UAAG,SAAS,CAAT,IAAc,SAAS,KAA1B,EAAgC,MAAM,WAAW,eAAX,CAAN;AAChC,CAAA,aAAO,MAAP;AACD,CAAA,KAJD;;AAMA,CAAA,QAAI,WAAW,SAAX,QAAW,CAAS,EAAT,EAAY;AACzB,CAAA,UAAG,SAAS,EAAT,KAAgB,eAAe,EAAlC,EAAqC,OAAO,EAAP;AACrC,CAAA,YAAM,UAAU,KAAK,wBAAf,CAAN;AACD,CAAA,KAHD;;AAKA,CAAA,QAAI,WAAW,SAAX,QAAW,CAAS,CAAT,EAAY,MAAZ,EAAmB;AAChC,CAAA,UAAG,EAAE,SAAS,CAAT,KAAe,qBAAqB,CAAtC,CAAH,EAA4C;AAC1C,CAAA,cAAM,UAAU,sCAAV,CAAN;AACD,CAAA,OAAC,OAAO,IAAI,CAAJ,CAAM,MAAN,CAAP;AACH,CAAA,KAJD;;AAMA,CAAA,QAAI,kBAAkB,SAAlB,eAAkB,CAAS,CAAT,EAAY,IAAZ,EAAiB;AACrC,CAAA,aAAO,SAAS,mBAAmB,CAAnB,EAAsB,EAAE,eAAF,CAAtB,CAAT,EAAoD,IAApD,CAAP;AACD,CAAA,KAFD;;AAIA,CAAA,QAAI,WAAW,SAAX,QAAW,CAAS,CAAT,EAAY,IAAZ,EAAiB;AAC9B,CAAA,UAAI,QAAS,CAAb;AAAA,CAAA,UACI,SAAS,KAAK,MADlB;AAAA,CAAA,UAEI,SAAS,SAAS,CAAT,EAAY,MAAZ,CAFb;AAGA,CAAA,aAAM,SAAS,KAAf;AAAqB,CAAA,eAAO,KAAP,IAAgB,KAAK,OAAL,CAAhB;AAArB,CAAA,OACA,OAAO,MAAP;AACD,CAAA,KAND;;AAQA,CAAA,QAAI,YAAY,SAAZ,SAAY,CAAS,EAAT,EAAa,GAAb,EAAkB,QAAlB,EAA2B;AACzC,CAAA,SAAG,EAAH,EAAO,GAAP,EAAY,EAAC,KAAK,eAAU;AAAE,CAAA,iBAAO,KAAK,EAAL,CAAQ,QAAR,CAAP;AAA2B,CAAA,SAA7C,EAAZ;AACD,CAAA,KAFD;;AAIA,CAAA,QAAI,QAAQ,SAAS,IAAT,CAAc,MAAd,wBAA2C;AACrD,CAAA,UAAI,IAAU,SAAS,MAAT,CAAd;AAAA,CAAA,UACI,OAAU,UAAU,MADxB;AAAA,CAAA,UAEI,QAAU,OAAO,CAAP,GAAW,UAAU,CAAV,CAAX,GAA0B,SAFxC;AAAA,CAAA,UAGI,UAAU,UAAU,SAHxB;AAAA,CAAA,UAII,SAAU,UAAU,CAAV,CAJd;AAAA,CAAA,UAKI,CALJ;AAAA,CAAA,UAKO,MALP;AAAA,CAAA,UAKe,MALf;AAAA,CAAA,UAKuB,MALvB;AAAA,CAAA,UAK+B,IAL/B;AAAA,CAAA,UAKqC,QALrC;AAMA,CAAA,UAAG,UAAU,SAAV,IAAuB,CAAC,YAAY,MAAZ,CAA3B,EAA+C;AAC7C,CAAA,aAAI,WAAW,OAAO,IAAP,CAAY,CAAZ,CAAX,EAA2B,SAAS,EAApC,EAAwC,IAAI,CAAhD,EAAmD,CAAC,CAAC,OAAO,SAAS,IAAT,EAAR,EAAyB,IAA7E,EAAmF,GAAnF,EAAuF;AACrF,CAAA,iBAAO,IAAP,CAAY,KAAK,KAAjB;AACD,CAAA,SAAC,IAAI,MAAJ;AACH,CAAA;AACD,CAAA,UAAG,WAAW,OAAO,CAArB,EAAuB,QAAQ,IAAI,KAAJ,EAAW,UAAU,CAAV,CAAX,EAAyB,CAAzB,CAAR;AACvB,CAAA,WAAI,IAAI,CAAJ,EAAO,SAAS,SAAS,EAAE,MAAX,CAAhB,EAAoC,SAAS,SAAS,IAAT,EAAe,MAAf,CAAjD,EAAyE,SAAS,CAAlF,EAAqF,GAArF,EAAyF;AACvF,CAAA,eAAO,CAAP,IAAY,UAAU,MAAM,EAAE,CAAF,CAAN,EAAY,CAAZ,CAAV,GAA2B,EAAE,CAAF,CAAvC;AACD,CAAA;AACD,CAAA,aAAO,MAAP;AACD,CAAA,KAjBD;;AAmBA,CAAA,QAAI,MAAM,SAAS,EAAT,eAAyB;AACjC,CAAA,UAAI,QAAS,CAAb;AAAA,CAAA,UACI,SAAS,UAAU,MADvB;AAAA,CAAA,UAEI,SAAS,SAAS,IAAT,EAAe,MAAf,CAFb;AAGA,CAAA,aAAM,SAAS,KAAf;AAAqB,CAAA,eAAO,KAAP,IAAgB,UAAU,OAAV,CAAhB;AAArB,CAAA,OACA,OAAO,MAAP;AACD,CAAA,KAND;;;AASA,CAAA,QAAI,gBAAgB,CAAC,CAAC,UAAF,IAAgB,MAAM,YAAU;AAAE,CAAA,0BAAoB,IAApB,CAAyB,IAAI,UAAJ,CAAe,CAAf,CAAzB;AAA8C,CAAA,KAAhE,CAApC;;AAEA,CAAA,QAAI,kBAAkB,SAAS,cAAT,GAAyB;AAC7C,CAAA,aAAO,oBAAoB,KAApB,CAA0B,gBAAgB,WAAW,IAAX,CAAgB,SAAS,IAAT,CAAhB,CAAhB,GAAkD,SAAS,IAAT,CAA5E,EAA4F,SAA5F,CAAP;AACD,CAAA,KAFD;;AAIA,CAAA,QAAI,QAAQ;AACV,CAAA,kBAAY,SAAS,UAAT,CAAoB,MAApB,EAA4B,KAA5B,aAA6C;AACvD,CAAA,eAAO,gBAAgB,IAAhB,CAAqB,SAAS,IAAT,CAArB,EAAqC,MAArC,EAA6C,KAA7C,EAAoD,UAAU,MAAV,GAAmB,CAAnB,GAAuB,UAAU,CAAV,CAAvB,GAAsC,SAA1F,CAAP;AACD,CAAA,OAHS;AAIV,CAAA,aAAO,SAAS,KAAT,CAAe,UAAf,iBAAyC;AAC9C,CAAA,eAAO,WAAW,SAAS,IAAT,CAAX,EAA2B,UAA3B,EAAuC,UAAU,MAAV,GAAmB,CAAnB,GAAuB,UAAU,CAAV,CAAvB,GAAsC,SAA7E,CAAP;AACD,CAAA,OANS;AAOV,CAAA,YAAM,SAAS,IAAT,CAAc,KAAd,oBAAsC;;AAC1C,CAAA,eAAO,UAAU,KAAV,CAAgB,SAAS,IAAT,CAAhB,EAAgC,SAAhC,CAAP;AACD,CAAA,OATS;AAUV,CAAA,cAAQ,SAAS,MAAT,CAAgB,UAAhB,iBAA0C;AAChD,CAAA,eAAO,gBAAgB,IAAhB,EAAsB,YAAY,SAAS,IAAT,CAAZ,EAA4B,UAA5B,EAC3B,UAAU,MAAV,GAAmB,CAAnB,GAAuB,UAAU,CAAV,CAAvB,GAAsC,SADX,CAAtB,CAAP;AAED,CAAA,OAbS;AAcV,CAAA,YAAM,SAAS,IAAT,CAAc,SAAd,iBAAuC;AAC3C,CAAA,eAAO,UAAU,SAAS,IAAT,CAAV,EAA0B,SAA1B,EAAqC,UAAU,MAAV,GAAmB,CAAnB,GAAuB,UAAU,CAAV,CAAvB,GAAsC,SAA3E,CAAP;AACD,CAAA,OAhBS;AAiBV,CAAA,iBAAW,SAAS,SAAT,CAAmB,SAAnB,iBAA4C;AACrD,CAAA,eAAO,eAAe,SAAS,IAAT,CAAf,EAA+B,SAA/B,EAA0C,UAAU,MAAV,GAAmB,CAAnB,GAAuB,UAAU,CAAV,CAAvB,GAAsC,SAAhF,CAAP;AACD,CAAA,OAnBS;AAoBV,CAAA,eAAS,SAAS,OAAT,CAAiB,UAAjB,iBAA2C;AAClD,CAAA,qBAAa,SAAS,IAAT,CAAb,EAA6B,UAA7B,EAAyC,UAAU,MAAV,GAAmB,CAAnB,GAAuB,UAAU,CAAV,CAAvB,GAAsC,SAA/E;AACD,CAAA,OAtBS;AAuBV,CAAA,eAAS,SAAS,OAAT,CAAiB,aAAjB,mBAAgD;AACvD,CAAA,eAAO,aAAa,SAAS,IAAT,CAAb,EAA6B,aAA7B,EAA4C,UAAU,MAAV,GAAmB,CAAnB,GAAuB,UAAU,CAAV,CAAvB,GAAsC,SAAlF,CAAP;AACD,CAAA,OAzBS;AA0BV,CAAA,gBAAU,SAAS,QAAT,CAAkB,aAAlB,mBAAiD;AACzD,CAAA,eAAO,cAAc,SAAS,IAAT,CAAd,EAA8B,aAA9B,EAA6C,UAAU,MAAV,GAAmB,CAAnB,GAAuB,UAAU,CAAV,CAAvB,GAAsC,SAAnF,CAAP;AACD,CAAA,OA5BS;AA6BV,CAAA,YAAM,SAAS,IAAT,CAAc,SAAd,EAAwB;;AAC5B,CAAA,eAAO,UAAU,KAAV,CAAgB,SAAS,IAAT,CAAhB,EAAgC,SAAhC,CAAP;AACD,CAAA,OA/BS;AAgCV,CAAA,mBAAa,SAAS,WAAT,CAAqB,aAArB,mBAAoD;;AAC/D,CAAA,eAAO,iBAAiB,KAAjB,CAAuB,SAAS,IAAT,CAAvB,EAAuC,SAAvC,CAAP;AACD,CAAA,OAlCS;AAmCV,CAAA,WAAK,SAAS,GAAT,CAAa,KAAb,iBAAkC;AACrC,CAAA,eAAO,KAAK,SAAS,IAAT,CAAL,EAAqB,KAArB,EAA4B,UAAU,MAAV,GAAmB,CAAnB,GAAuB,UAAU,CAAV,CAAvB,GAAsC,SAAlE,CAAP;AACD,CAAA,OArCS;AAsCV,CAAA,cAAQ,SAAS,MAAT,CAAgB,UAAhB,sBAA+C;;AACrD,CAAA,eAAO,YAAY,KAAZ,CAAkB,SAAS,IAAT,CAAlB,EAAkC,SAAlC,CAAP;AACD,CAAA,OAxCS;AAyCV,CAAA,mBAAa,SAAS,WAAT,CAAqB,UAArB,sBAAoD;;AAC/D,CAAA,eAAO,iBAAiB,KAAjB,CAAuB,SAAS,IAAT,CAAvB,EAAuC,SAAvC,CAAP;AACD,CAAA,OA3CS;AA4CV,CAAA,eAAS,SAAS,OAAT,GAAkB;AACzB,CAAA,YAAI,OAAS,IAAb;AAAA,CAAA,YACI,SAAS,SAAS,IAAT,EAAe,MAD5B;AAAA,CAAA,YAEI,SAAS,KAAK,KAAL,CAAW,SAAS,CAApB,CAFb;AAAA,CAAA,YAGI,QAAS,CAHb;AAAA,CAAA,YAII,KAJJ;AAKA,CAAA,eAAM,QAAQ,MAAd,EAAqB;AACnB,CAAA,kBAAgB,KAAK,KAAL,CAAhB;AACA,CAAA,eAAK,OAAL,IAAgB,KAAK,EAAE,MAAP,CAAhB;AACA,CAAA,eAAK,MAAL,IAAgB,KAAhB;AACD,CAAA,SAAC,OAAO,IAAP;AACH,CAAA,OAvDS;AAwDV,CAAA,YAAM,SAAS,IAAT,CAAc,UAAd,iBAAwC;AAC5C,CAAA,eAAO,UAAU,SAAS,IAAT,CAAV,EAA0B,UAA1B,EAAsC,UAAU,MAAV,GAAmB,CAAnB,GAAuB,UAAU,CAAV,CAAvB,GAAsC,SAA5E,CAAP;AACD,CAAA,OA1DS;AA2DV,CAAA,YAAM,SAAS,IAAT,CAAc,SAAd,EAAwB;AAC5B,CAAA,eAAO,UAAU,IAAV,CAAe,SAAS,IAAT,CAAf,EAA+B,SAA/B,CAAP;AACD,CAAA,OA7DS;AA8DV,CAAA,gBAAU,SAAS,QAAT,CAAkB,KAAlB,EAAyB,GAAzB,EAA6B;AACrC,CAAA,YAAI,IAAS,SAAS,IAAT,CAAb;AAAA,CAAA,YACI,SAAS,EAAE,MADf;AAAA,CAAA,YAEI,SAAS,QAAQ,KAAR,EAAe,MAAf,CAFb;AAGA,CAAA,eAAO,KAAK,mBAAmB,CAAnB,EAAsB,EAAE,eAAF,CAAtB,CAAL,EACL,EAAE,MADG,EAEL,EAAE,UAAF,GAAe,SAAS,EAAE,iBAFrB,EAGL,SAAS,CAAC,QAAQ,SAAR,GAAoB,MAApB,GAA6B,QAAQ,GAAR,EAAa,MAAb,CAA9B,IAAsD,MAA/D,CAHK,CAAP;AAKD,CAAA;AAvES,CAAA,KAAZ;;AA0EA,CAAA,QAAI,SAAS,SAAS,KAAT,CAAe,KAAf,EAAsB,GAAtB,EAA0B;AACrC,CAAA,aAAO,gBAAgB,IAAhB,EAAsB,WAAW,IAAX,CAAgB,SAAS,IAAT,CAAhB,EAAgC,KAAhC,EAAuC,GAAvC,CAAtB,CAAP;AACD,CAAA,KAFD;;AAIA,CAAA,QAAI,OAAO,SAAS,GAAT,CAAa,SAAb,gBAAqC;AAC9C,CAAA,eAAS,IAAT;AACA,CAAA,UAAI,SAAS,SAAS,UAAU,CAAV,CAAT,EAAuB,CAAvB,CAAb;AAAA,CAAA,UACI,SAAS,KAAK,MADlB;AAAA,CAAA,UAEI,MAAS,SAAS,SAAT,CAFb;AAAA,CAAA,UAGI,MAAS,SAAS,IAAI,MAAb,CAHb;AAAA,CAAA,UAII,QAAS,CAJb;AAKA,CAAA,UAAG,MAAM,MAAN,GAAe,MAAlB,EAAyB,MAAM,WAAW,YAAX,CAAN;AACzB,CAAA,aAAM,QAAQ,GAAd;AAAkB,CAAA,aAAK,SAAS,KAAd,IAAuB,IAAI,OAAJ,CAAvB;AAAlB,CAAA;AACD,CAAA,KATD;;AAWA,CAAA,QAAI,aAAa;AACf,CAAA,eAAS,SAAS,OAAT,GAAkB;AACzB,CAAA,eAAO,aAAa,IAAb,CAAkB,SAAS,IAAT,CAAlB,CAAP;AACD,CAAA,OAHc;AAIf,CAAA,YAAM,SAAS,IAAT,GAAe;AACnB,CAAA,eAAO,UAAU,IAAV,CAAe,SAAS,IAAT,CAAf,CAAP;AACD,CAAA,OANc;AAOf,CAAA,cAAQ,SAAS,MAAT,GAAiB;AACvB,CAAA,eAAO,YAAY,IAAZ,CAAiB,SAAS,IAAT,CAAjB,CAAP;AACD,CAAA;AATc,CAAA,KAAjB;;AAYA,CAAA,QAAI,YAAY,SAAZ,SAAY,CAAS,MAAT,EAAiB,GAAjB,EAAqB;AACnC,CAAA,aAAO,SAAS,MAAT,KACF,OAAO,WAAP,CADE,IAEF,QAAO,GAAP,yCAAO,GAAP,MAAc,QAFZ,IAGF,OAAO,MAHL,IAIF,OAAO,CAAC,GAAR,KAAgB,OAAO,GAAP,CAJrB;AAKD,CAAA,KAND;AAOA,CAAA,QAAI,WAAW,SAAS,wBAAT,CAAkC,MAAlC,EAA0C,GAA1C,EAA8C;AAC3D,CAAA,aAAO,UAAU,MAAV,EAAkB,MAAM,YAAY,GAAZ,EAAiB,IAAjB,CAAxB,IACH,aAAa,CAAb,EAAgB,OAAO,GAAP,CAAhB,CADG,GAEH,KAAK,MAAL,EAAa,GAAb,CAFJ;AAGD,CAAA,KAJD;AAKA,CAAA,QAAI,WAAW,SAAS,cAAT,CAAwB,MAAxB,EAAgC,GAAhC,EAAqC,IAArC,EAA0C;AACvD,CAAA,UAAG,UAAU,MAAV,EAAkB,MAAM,YAAY,GAAZ,EAAiB,IAAjB,CAAxB,KACE,SAAS,IAAT,CADF,IAEE,IAAI,IAAJ,EAAU,OAAV,CAFF,IAGE,CAAC,IAAI,IAAJ,EAAU,KAAV,CAHH,IAIE,CAAC,IAAI,IAAJ,EAAU,KAAV;;AAJH,CAAA,SAME,CAAC,KAAK,YANR,KAOG,CAAC,IAAI,IAAJ,EAAU,UAAV,CAAD,IAA0B,KAAK,QAPlC,MAQG,CAAC,IAAI,IAAJ,EAAU,YAAV,CAAD,IAA4B,KAAK,UARpC,CAAH,EASC;AACC,CAAA,eAAO,GAAP,IAAc,KAAK,KAAnB;AACA,CAAA,eAAO,MAAP;AACD,CAAA,OAZD,MAYO,OAAO,GAAG,MAAH,EAAW,GAAX,EAAgB,IAAhB,CAAP;AACR,CAAA,KAdD;;AAgBA,CAAA,QAAG,CAAC,gBAAJ,EAAqB;AACnB,CAAA,YAAM,CAAN,GAAU,QAAV;AACA,CAAA,UAAI,CAAJ,GAAU,QAAV;AACD,CAAA;;AAED,CAAA,YAAQ,QAAQ,CAAR,GAAY,QAAQ,CAAR,GAAY,CAAC,gBAAjC,EAAmD,QAAnD,EAA6D;AAC3D,CAAA,gCAA0B,QADiC;AAE3D,CAAA,sBAA0B;AAFiC,CAAA,KAA7D;;AAKA,CAAA,QAAG,MAAM,YAAU;AAAE,CAAA,oBAAc,IAAd,CAAmB,EAAnB;AAAyB,CAAA,KAA3C,CAAH,EAAgD;AAC9C,CAAA,sBAAgB,sBAAsB,SAAS,QAAT,GAAmB;AACvD,CAAA,eAAO,UAAU,IAAV,CAAe,IAAf,CAAP;AACD,CAAA,OAFD;AAGD,CAAA;;AAED,CAAA,QAAI,wBAAwB,YAAY,EAAZ,EAAgB,KAAhB,CAA5B;AACA,CAAA,gBAAY,qBAAZ,EAAmC,UAAnC;AACA,CAAA,SAAK,qBAAL,EAA4B,QAA5B,EAAsC,WAAW,MAAjD;AACA,CAAA,gBAAY,qBAAZ,EAAmC;AACjC,CAAA,aAAgB,MADiB;AAEjC,CAAA,WAAgB,IAFiB;AAGjC,CAAA,mBAAgB,uBAAU,YAHO;AAIjC,CAAA,gBAAgB,aAJiB;AAKjC,CAAA,sBAAgB;AALiB,CAAA,KAAnC;AAOA,CAAA,cAAU,qBAAV,EAAiC,QAAjC,EAA2C,GAA3C;AACA,CAAA,cAAU,qBAAV,EAAiC,YAAjC,EAA+C,GAA/C;AACA,CAAA,cAAU,qBAAV,EAAiC,YAAjC,EAA+C,GAA/C;AACA,CAAA,cAAU,qBAAV,EAAiC,QAAjC,EAA2C,GAA3C;AACA,CAAA,OAAG,qBAAH,EAA0B,GAA1B,EAA+B;AAC7B,CAAA,WAAK,eAAU;AAAE,CAAA,eAAO,KAAK,WAAL,CAAP;AAA2B,CAAA;AADf,CAAA,KAA/B;;AAIA,CAAA,WAAO,OAAP,GAAiB,UAAS,GAAT,EAAc,KAAd,EAAqB,OAArB,EAA8B,OAA9B,EAAsC;AACrD,CAAA,gBAAU,CAAC,CAAC,OAAZ;AACA,CAAA,UAAI,OAAa,OAAO,UAAU,SAAV,GAAsB,EAA7B,IAAmC,OAApD;AAAA,CAAA,UACI,aAAa,QAAQ,YADzB;AAAA,CAAA,UAEI,SAAa,QAAQ,GAFzB;AAAA,CAAA,UAGI,SAAa,QAAQ,GAHzB;AAAA,CAAA,UAII,aAAa,OAAO,IAAP,CAJjB;AAAA,CAAA,UAKI,OAAa,cAAc,EAL/B;AAAA,CAAA,UAMI,MAAa,cAAc,eAAe,UAAf,CAN/B;AAAA,CAAA,UAOI,SAAa,CAAC,UAAD,IAAe,CAAC,OAAO,GAPxC;AAAA,CAAA,UAQI,IAAa,EARjB;AAAA,CAAA,UASI,sBAAsB,cAAc,WAAW,SAAX,CATxC;AAUA,CAAA,UAAI,SAAS,SAAT,MAAS,CAAS,IAAT,EAAe,KAAf,EAAqB;AAChC,CAAA,YAAI,OAAO,KAAK,EAAhB;AACA,CAAA,eAAO,KAAK,CAAL,CAAO,MAAP,EAAe,QAAQ,KAAR,GAAgB,KAAK,CAApC,EAAuC,aAAvC,CAAP;AACD,CAAA,OAHD;AAIA,CAAA,UAAI,SAAS,SAAT,MAAS,CAAS,IAAT,EAAe,KAAf,EAAsB,KAAtB,EAA4B;AACvC,CAAA,YAAI,OAAO,KAAK,EAAhB;AACA,CAAA,YAAG,OAAH,EAAW,QAAQ,CAAC,QAAQ,KAAK,KAAL,CAAW,KAAX,CAAT,IAA8B,CAA9B,GAAkC,CAAlC,GAAsC,QAAQ,IAAR,GAAe,IAAf,GAAsB,QAAQ,IAA5E;AACX,CAAA,aAAK,CAAL,CAAO,MAAP,EAAe,QAAQ,KAAR,GAAgB,KAAK,CAApC,EAAuC,KAAvC,EAA8C,aAA9C;AACD,CAAA,OAJD;AAKA,CAAA,UAAI,aAAa,SAAb,UAAa,CAAS,IAAT,EAAe,KAAf,EAAqB;AACpC,CAAA,WAAG,IAAH,EAAS,KAAT,EAAgB;AACd,CAAA,eAAK,eAAU;AACb,CAAA,mBAAO,OAAO,IAAP,EAAa,KAAb,CAAP;AACD,CAAA,WAHa;AAId,CAAA,eAAK,aAAS,KAAT,EAAe;AAClB,CAAA,mBAAO,OAAO,IAAP,EAAa,KAAb,EAAoB,KAApB,CAAP;AACD,CAAA,WANa;AAOd,CAAA,sBAAY;AAPE,CAAA,SAAhB;AASD,CAAA,OAVD;AAWA,CAAA,UAAG,MAAH,EAAU;AACR,CAAA,qBAAa,QAAQ,UAAS,IAAT,EAAe,IAAf,EAAqB,OAArB,EAA8B,OAA9B,EAAsC;AACzD,CAAA,qBAAW,IAAX,EAAiB,UAAjB,EAA6B,IAA7B,EAAmC,IAAnC;AACA,CAAA,cAAI,QAAS,CAAb;AAAA,CAAA,cACI,SAAS,CADb;AAAA,CAAA,cAEI,MAFJ;AAAA,CAAA,cAEY,UAFZ;AAAA,CAAA,cAEwB,MAFxB;AAAA,CAAA,cAEgC,KAFhC;AAGA,CAAA,cAAG,CAAC,SAAS,IAAT,CAAJ,EAAmB;AACjB,CAAA,qBAAa,eAAe,IAAf,EAAqB,IAArB,CAAb;AACA,CAAA,yBAAa,SAAS,KAAtB;AACA,CAAA,qBAAa,IAAI,YAAJ,CAAiB,UAAjB,CAAb;AACD,CAAA,WAJD,MAIO,IAAG,gBAAgB,YAAhB,IAAgC,CAAC,QAAQ,QAAQ,IAAR,CAAT,KAA2B,YAA3D,IAA2E,SAAS,aAAvF,EAAqG;AAC1G,CAAA,qBAAS,IAAT;AACA,CAAA,qBAAS,SAAS,OAAT,EAAkB,KAAlB,CAAT;AACA,CAAA,gBAAI,OAAO,KAAK,UAAhB;AACA,CAAA,gBAAG,YAAY,SAAf,EAAyB;AACvB,CAAA,kBAAG,OAAO,KAAV,EAAgB,MAAM,WAAW,YAAX,CAAN;AAChB,CAAA,2BAAa,OAAO,MAApB;AACA,CAAA,kBAAG,aAAa,CAAhB,EAAkB,MAAM,WAAW,YAAX,CAAN;AACnB,CAAA,aAJD,MAIO;AACL,CAAA,2BAAa,SAAS,OAAT,IAAoB,KAAjC;AACA,CAAA,kBAAG,aAAa,MAAb,GAAsB,IAAzB,EAA8B,MAAM,WAAW,YAAX,CAAN;AAC/B,CAAA;AACD,CAAA,qBAAS,aAAa,KAAtB;AACD,CAAA,WAbM,MAaA,IAAG,eAAe,IAAlB,EAAuB;AAC5B,CAAA,mBAAO,SAAS,UAAT,EAAqB,IAArB,CAAP;AACD,CAAA,WAFM,MAEA;AACL,CAAA,mBAAO,MAAM,IAAN,CAAW,UAAX,EAAuB,IAAvB,CAAP;AACD,CAAA;AACD,CAAA,eAAK,IAAL,EAAW,IAAX,EAAiB;AACf,CAAA,eAAG,MADY;AAEf,CAAA,eAAG,MAFY;AAGf,CAAA,eAAG,UAHY;AAIf,CAAA,eAAG,MAJY;AAKf,CAAA,eAAG,IAAI,SAAJ,CAAc,MAAd;AALY,CAAA,WAAjB;AAOA,CAAA,iBAAM,QAAQ,MAAd;AAAqB,CAAA,uBAAW,IAAX,EAAiB,OAAjB;AAArB,CAAA;AACD,CAAA,SAnCY,CAAb;AAoCA,CAAA,8BAAsB,WAAW,SAAX,IAAwB,OAAO,qBAAP,CAA9C;AACA,CAAA,aAAK,mBAAL,EAA0B,aAA1B,EAAyC,UAAzC;AACD,CAAA,OAvCD,MAuCO,IAAG,CAAC,YAAY,UAAS,IAAT,EAAc;;;AAGnC,CAAA,YAAI,UAAJ,CAAe,IAAf,EAHmC;AAInC,CAAA,YAAI,UAAJ,CAAe,IAAf,EAJmC;AAKpC,CAAA,OALU,EAKR,IALQ,CAAJ,EAKE;AACP,CAAA,qBAAa,QAAQ,UAAS,IAAT,EAAe,IAAf,EAAqB,OAArB,EAA8B,OAA9B,EAAsC;AACzD,CAAA,qBAAW,IAAX,EAAiB,UAAjB,EAA6B,IAA7B;AACA,CAAA,cAAI,KAAJ;;;AAGA,CAAA,cAAG,CAAC,SAAS,IAAT,CAAJ,EAAmB,OAAO,IAAI,IAAJ,CAAS,eAAe,IAAf,EAAqB,UAArB,CAAT,CAAP;AACnB,CAAA,cAAG,gBAAgB,YAAhB,IAAgC,CAAC,QAAQ,QAAQ,IAAR,CAAT,KAA2B,YAA3D,IAA2E,SAAS,aAAvF,EAAqG;AACnG,CAAA,mBAAO,YAAY,SAAZ,GACH,IAAI,IAAJ,CAAS,IAAT,EAAe,SAAS,OAAT,EAAkB,KAAlB,CAAf,EAAyC,OAAzC,CADG,GAEH,YAAY,SAAZ,GACE,IAAI,IAAJ,CAAS,IAAT,EAAe,SAAS,OAAT,EAAkB,KAAlB,CAAf,CADF,GAEE,IAAI,IAAJ,CAAS,IAAT,CAJN;AAKD,CAAA;AACD,CAAA,cAAG,eAAe,IAAlB,EAAuB,OAAO,SAAS,UAAT,EAAqB,IAArB,CAAP;AACvB,CAAA,iBAAO,MAAM,IAAN,CAAW,UAAX,EAAuB,IAAvB,CAAP;AACD,CAAA,SAfY,CAAb;AAgBA,CAAA,qBAAa,QAAQ,SAAS,SAAjB,GAA6B,KAAK,IAAL,EAAW,MAAX,CAAkB,KAAK,GAAL,CAAlB,CAA7B,GAA4D,KAAK,IAAL,CAAzE,EAAqF,UAAS,GAAT,EAAa;AAChG,CAAA,cAAG,EAAE,OAAO,UAAT,CAAH,EAAwB,KAAK,UAAL,EAAiB,GAAjB,EAAsB,KAAK,GAAL,CAAtB;AACzB,CAAA,SAFD;AAGA,CAAA,mBAAW,SAAX,IAAwB,mBAAxB;AACA,CAAA,YAAG,CAAC,OAAJ,EAAY,oBAAoB,WAApB,GAAkC,UAAlC;AACb,CAAA;AACD,CAAA,UAAI,kBAAoB,oBAAoB,QAApB,CAAxB;AAAA,CAAA,UACI,oBAAoB,CAAC,CAAC,eAAF,KAAsB,gBAAgB,IAAhB,IAAwB,QAAxB,IAAoC,gBAAgB,IAAhB,IAAwB,SAAlF,CADxB;AAAA,CAAA,UAEI,YAAoB,WAAW,MAFnC;AAGA,CAAA,WAAK,UAAL,EAAiB,iBAAjB,EAAoC,IAApC;AACA,CAAA,WAAK,mBAAL,EAA0B,WAA1B,EAAuC,IAAvC;AACA,CAAA,WAAK,mBAAL,EAA0B,IAA1B,EAAgC,IAAhC;AACA,CAAA,WAAK,mBAAL,EAA0B,eAA1B,EAA2C,UAA3C;;AAEA,CAAA,UAAG,UAAU,IAAI,UAAJ,CAAe,CAAf,EAAkB,GAAlB,KAA0B,IAApC,GAA2C,EAAE,OAAO,mBAAT,CAA9C,EAA4E;AAC1E,CAAA,WAAG,mBAAH,EAAwB,GAAxB,EAA6B;AAC3B,CAAA,eAAK,eAAU;AAAE,CAAA,mBAAO,IAAP;AAAc,CAAA;AADJ,CAAA,SAA7B;AAGD,CAAA;;AAED,CAAA,QAAE,IAAF,IAAU,UAAV;;AAEA,CAAA,cAAQ,QAAQ,CAAR,GAAY,QAAQ,CAApB,GAAwB,QAAQ,CAAR,IAAa,cAAc,IAA3B,CAAhC,EAAkE,CAAlE;;AAEA,CAAA,cAAQ,QAAQ,CAAhB,EAAmB,IAAnB,EAAyB;AACvB,CAAA,2BAAmB,KADI;AAEvB,CAAA,cAAM,KAFiB;AAGvB,CAAA,YAAI;AAHmB,CAAA,OAAzB;;AAMA,CAAA,UAAG,EAAE,qBAAqB,mBAAvB,CAAH,EAA+C,KAAK,mBAAL,EAA0B,iBAA1B,EAA6C,KAA7C;;AAE/C,CAAA,cAAQ,QAAQ,CAAhB,EAAmB,IAAnB,EAAyB,KAAzB;;AAEA,CAAA,iBAAW,IAAX;;AAEA,CAAA,cAAQ,QAAQ,CAAR,GAAY,QAAQ,CAAR,GAAY,UAAhC,EAA4C,IAA5C,EAAkD,EAAC,KAAK,IAAN,EAAlD;;AAEA,CAAA,cAAQ,QAAQ,CAAR,GAAY,QAAQ,CAAR,GAAY,CAAC,iBAAjC,EAAoD,IAApD,EAA0D,UAA1D;;AAEA,CAAA,cAAQ,QAAQ,CAAR,GAAY,QAAQ,CAAR,IAAa,oBAAoB,QAApB,IAAgC,aAA7C,CAApB,EAAiF,IAAjF,EAAuF,EAAC,UAAU,aAAX,EAAvF;;AAEA,CAAA,cAAQ,QAAQ,CAAR,GAAY,QAAQ,CAAR,GAAY,MAAM,YAAU;AAC9C,CAAA,YAAI,UAAJ,CAAe,CAAf,EAAkB,KAAlB;AACD,CAAA,OAF+B,CAAhC,EAEI,IAFJ,EAEU,EAAC,OAAO,MAAR,EAFV;;AAIA,CAAA,cAAQ,QAAQ,CAAR,GAAY,QAAQ,CAAR,IAAa,MAAM,YAAU;AAC/C,CAAA,eAAO,CAAC,CAAD,EAAI,CAAJ,EAAO,cAAP,MAA2B,IAAI,UAAJ,CAAe,CAAC,CAAD,EAAI,CAAJ,CAAf,EAAuB,cAAvB,EAAlC;AACD,CAAA,OAFgC,KAE3B,CAAC,MAAM,YAAU;AACrB,CAAA,4BAAoB,cAApB,CAAmC,IAAnC,CAAwC,CAAC,CAAD,EAAI,CAAJ,CAAxC;AACD,CAAA,OAFM,CAFa,CAApB,EAIK,IAJL,EAIW,EAAC,gBAAgB,eAAjB,EAJX;;AAMA,CAAA,gBAAU,IAAV,IAAkB,oBAAoB,eAApB,GAAsC,SAAxD;AACA,CAAA,UAAG,CAAC,OAAD,IAAY,CAAC,iBAAhB,EAAkC,KAAK,mBAAL,EAA0B,QAA1B,EAAoC,SAApC;AACnC,CAAA,KAnJD;AAoJD,CAAA,GA7dD,MA6dO,OAAO,OAAP,GAAiB,YAAU,aAA3B;;;;;;;;;;;;AC9dP,CAAA,gBAAA,cAAA,EAA0B,MAA1B,EAAkC,CAAlC,EAAqC,UAAS,IAAT,EAAc;AACjD,CAAA,WAAO,SAAS,SAAT,CAAmB,IAAnB,EAAyB,UAAzB,EAAqC,MAArC,EAA4C;AACjD,CAAA,aAAO,KAAK,IAAL,EAAW,IAAX,EAAiB,UAAjB,EAA6B,MAA7B,CAAP;AACD,CAAA,KAFD;AAGD,CAAA,GAJD;;;;;;ACAA,CAAA,gBAAA,cAAA,EAA0B,OAA1B,EAAmC,CAAnC,EAAsC,UAAS,IAAT,EAAc;AAClD,CAAA,WAAO,SAAS,UAAT,CAAoB,IAApB,EAA0B,UAA1B,EAAsC,MAAtC,EAA6C;AAClD,CAAA,aAAO,KAAK,IAAL,EAAW,IAAX,EAAiB,UAAjB,EAA6B,MAA7B,CAAP;AACD,CAAA,KAFD;AAGD,CAAA,GAJD;;;;;;ACAA,CAAA,gBAAA,cAAA,EAA0B,OAA1B,EAAmC,CAAnC,EAAsC,UAAS,IAAT,EAAc;AAClD,CAAA,WAAO,SAAS,iBAAT,CAA2B,IAA3B,EAAiC,UAAjC,EAA6C,MAA7C,EAAoD;AACzD,CAAA,aAAO,KAAK,IAAL,EAAW,IAAX,EAAiB,UAAjB,EAA6B,MAA7B,CAAP;AACD,CAAA,KAFD;AAGD,CAAA,GAJD,EAIG,IAJH;;;;;;ACAA,CAAA,gBAAA,cAAA,EAA0B,OAA1B,EAAmC,CAAnC,EAAsC,UAAS,IAAT,EAAc;AAClD,CAAA,WAAO,SAAS,UAAT,CAAoB,IAApB,EAA0B,UAA1B,EAAsC,MAAtC,EAA6C;AAClD,CAAA,aAAO,KAAK,IAAL,EAAW,IAAX,EAAiB,UAAjB,EAA6B,MAA7B,CAAP;AACD,CAAA,KAFD;AAGD,CAAA,GAJD;;;;;;ACAA,CAAA,gBAAA,cAAA,EAA0B,QAA1B,EAAoC,CAApC,EAAuC,UAAS,IAAT,EAAc;AACnD,CAAA,WAAO,SAAS,WAAT,CAAqB,IAArB,EAA2B,UAA3B,EAAuC,MAAvC,EAA8C;AACnD,CAAA,aAAO,KAAK,IAAL,EAAW,IAAX,EAAiB,UAAjB,EAA6B,MAA7B,CAAP;AACD,CAAA,KAFD;AAGD,CAAA,GAJD;;;;;;ACAA,CAAA,gBAAA,cAAA,EAA0B,OAA1B,EAAmC,CAAnC,EAAsC,UAAS,IAAT,EAAc;AAClD,CAAA,WAAO,SAAS,UAAT,CAAoB,IAApB,EAA0B,UAA1B,EAAsC,MAAtC,EAA6C;AAClD,CAAA,aAAO,KAAK,IAAL,EAAW,IAAX,EAAiB,UAAjB,EAA6B,MAA7B,CAAP;AACD,CAAA,KAFD;AAGD,CAAA,GAJD;;;;;;ACAA,CAAA,gBAAA,cAAA,EAA0B,QAA1B,EAAoC,CAApC,EAAuC,UAAS,IAAT,EAAc;AACnD,CAAA,WAAO,SAAS,WAAT,CAAqB,IAArB,EAA2B,UAA3B,EAAuC,MAAvC,EAA8C;AACnD,CAAA,aAAO,KAAK,IAAL,EAAW,IAAX,EAAiB,UAAjB,EAA6B,MAA7B,CAAP;AACD,CAAA,KAFD;AAGD,CAAA,GAJD;;;;;;ACAA,CAAA,gBAAA,cAAA,EAA0B,SAA1B,EAAqC,CAArC,EAAwC,UAAS,IAAT,EAAc;AACpD,CAAA,WAAO,SAAS,YAAT,CAAsB,IAAtB,EAA4B,UAA5B,EAAwC,MAAxC,EAA+C;AACpD,CAAA,aAAO,KAAK,IAAL,EAAW,IAAX,EAAiB,UAAjB,EAA6B,MAA7B,CAAP;AACD,CAAA,KAFD;AAGD,CAAA,GAJD;;;;;;ACAA,CAAA,gBAAA,cAAA,EAA0B,SAA1B,EAAqC,CAArC,EAAwC,UAAS,IAAT,EAAc;AACpD,CAAA,WAAO,SAAS,YAAT,CAAsB,IAAtB,EAA4B,UAA5B,EAAwC,MAAxC,EAA+C;AACpD,CAAA,aAAO,KAAK,IAAL,EAAW,IAAX,EAAiB,UAAjB,EAA6B,MAA7B,CAAP;AACD,CAAA,KAFD;AAGD,CAAA,GAJD;;;;;;ACAA,CAAA;AACA,CAAA,MAAI,UAAYA,cAAA,aAAA,CAAhB;AAAA,CAAA,MACI,YAAYA,cAAA,aAAA,CADhB;AAAA,CAAA,MAEI,WAAYA,cAAA,WAAA,CAFhB;AAAA,CAAA,MAGI,SAAY,CAACA,cAAA,WAAA,EAAqB,OAArB,IAAgC,EAAjC,EAAqC,KAHrD;AAAA,CAAA,MAII,SAAY,SAAS,KAJzB;;AAMA,CAAA,UAAQ,QAAQ,CAAR,GAAY,QAAQ,CAAR,GAAY,CAACA,cAAA,aAAA,EAAoB,YAAU;AAC7D,CAAA,WAAO,YAAU,EAAjB;AACD,CAAA,GAFgC,CAAjC,EAEI,SAFJ,EAEe;AACb,CAAA,WAAO,SAAS,KAAT,CAAe,MAAf,EAAuB,YAAvB,EAAqC,aAArC,EAAmD;AACxD,CAAA,UAAI,IAAI,UAAU,MAAV,CAAR;AAAA,CAAA,UACI,IAAI,SAAS,aAAT,CADR;AAEA,CAAA,aAAO,SAAS,OAAO,CAAP,EAAU,YAAV,EAAwB,CAAxB,CAAT,GAAsC,OAAO,IAAP,CAAY,CAAZ,EAAe,YAAf,EAA6B,CAA7B,CAA7C;AACD,CAAA;AALY,CAAA,GAFf;;;;;;ACPA,CAAA;AACA,CAAA,MAAI,UAAaA,cAAA,aAAA,CAAjB;AAAA,CAAA,MACI,SAAaA,cAAA,aAAA,CADjB;AAAA,CAAA,MAEI,YAAaA,cAAA,aAAA,CAFjB;AAAA,CAAA,MAGI,WAAaA,cAAA,WAAA,CAHjB;AAAA,CAAA,MAII,WAAaA,cAAA,aAAA,CAJjB;AAAA,CAAA,MAKI,QAAaA,cAAA,aAAA,CALjB;AAAA,CAAA,MAMI,OAAaA,cAAA,cAAA,CANjB;AAAA,CAAA,MAOI,aAAa,CAACA,cAAA,WAAA,EAAqB,OAArB,IAAgC,EAAjC,EAAqC,SAPtD;;;;AAWA,CAAA,MAAI,iBAAiB,MAAM,YAAU;AACnC,CAAA,aAAS,CAAT,GAAY;AACZ,CAAA,WAAO,EAAE,WAAW,YAAU,EAArB,EAAyB,EAAzB,EAA6B,CAA7B,aAA2C,CAA7C,CAAP;AACD,CAAA,GAHoB,CAArB;AAIA,CAAA,MAAI,WAAW,CAAC,MAAM,YAAU;AAC9B,CAAA,eAAW,YAAU,EAArB;AACD,CAAA,GAFe,CAAhB;;AAIA,CAAA,UAAQ,QAAQ,CAAR,GAAY,QAAQ,CAAR,IAAa,kBAAkB,QAA/B,CAApB,EAA8D,SAA9D,EAAyE;AACvE,CAAA,eAAW,SAAS,SAAT,CAAmB,MAAnB,EAA2B,IAA3B,kBAAgD;AACzD,CAAA,gBAAU,MAAV;AACA,CAAA,eAAS,IAAT;AACA,CAAA,UAAI,YAAY,UAAU,MAAV,GAAmB,CAAnB,GAAuB,MAAvB,GAAgC,UAAU,UAAU,CAAV,CAAV,CAAhD;AACA,CAAA,UAAG,YAAY,CAAC,cAAhB,EAA+B,OAAO,WAAW,MAAX,EAAmB,IAAnB,EAAyB,SAAzB,CAAP;AAC/B,CAAA,UAAG,UAAU,SAAb,EAAuB;;AAErB,CAAA,gBAAO,KAAK,MAAZ;AACE,CAAA,eAAK,CAAL;AAAQ,CAAA,mBAAO,IAAI,MAAJ,EAAP;AACR,CAAA,eAAK,CAAL;AAAQ,CAAA,mBAAO,IAAI,MAAJ,CAAW,KAAK,CAAL,CAAX,CAAP;AACR,CAAA,eAAK,CAAL;AAAQ,CAAA,mBAAO,IAAI,MAAJ,CAAW,KAAK,CAAL,CAAX,EAAoB,KAAK,CAAL,CAApB,CAAP;AACR,CAAA,eAAK,CAAL;AAAQ,CAAA,mBAAO,IAAI,MAAJ,CAAW,KAAK,CAAL,CAAX,EAAoB,KAAK,CAAL,CAApB,EAA6B,KAAK,CAAL,CAA7B,CAAP;AACR,CAAA,eAAK,CAAL;AAAQ,CAAA,mBAAO,IAAI,MAAJ,CAAW,KAAK,CAAL,CAAX,EAAoB,KAAK,CAAL,CAApB,EAA6B,KAAK,CAAL,CAA7B,EAAsC,KAAK,CAAL,CAAtC,CAAP;AALV,CAAA;;AAQA,CAAA,YAAI,QAAQ,CAAC,IAAD,CAAZ;AACA,CAAA,cAAM,IAAN,CAAW,KAAX,CAAiB,KAAjB,EAAwB,IAAxB;AACA,CAAA,eAAO,KAAK,KAAK,KAAL,CAAW,MAAX,EAAmB,KAAnB,CAAL,GAAP;AACD,CAAA;;AAED,CAAA,UAAI,QAAW,UAAU,SAAzB;AAAA,CAAA,UACI,WAAW,OAAO,SAAS,KAAT,IAAkB,KAAlB,GAA0B,OAAO,SAAxC,CADf;AAAA,CAAA,UAEI,SAAW,SAAS,KAAT,CAAe,IAAf,CAAoB,MAApB,EAA4B,QAA5B,EAAsC,IAAtC,CAFf;AAGA,CAAA,aAAO,SAAS,MAAT,IAAmB,MAAnB,GAA4B,QAAnC;AACD,CAAA;AAzBsE,CAAA,GAAzE;;;;;;ACpBA,CAAA;AACA,CAAA,MAAI,KAAcA,cAAA,aAAA,CAAlB;AAAA,CAAA,MACI,UAAcA,cAAA,aAAA,CADlB;AAAA,CAAA,MAEI,WAAcA,cAAA,WAAA,CAFlB;AAAA,CAAA,MAGI,cAAcA,cAAA,aAAA,CAHlB;;;AAMA,CAAA,UAAQ,QAAQ,CAAR,GAAY,QAAQ,CAAR,GAAYA,cAAA,aAAA,EAAoB,YAAU;AAC5D,CAAA,YAAQ,cAAR,CAAuB,GAAG,CAAH,CAAK,EAAL,EAAS,CAAT,EAAY,EAAC,OAAO,CAAR,EAAZ,CAAvB,EAAgD,CAAhD,EAAmD,EAAC,OAAO,CAAR,EAAnD;AACD,CAAA,GAF+B,CAAhC,EAEI,SAFJ,EAEe;AACb,CAAA,oBAAgB,SAAS,cAAT,CAAwB,MAAxB,EAAgC,WAAhC,EAA6C,UAA7C,EAAwD;AACtE,CAAA,eAAS,MAAT;AACA,CAAA,oBAAc,YAAY,WAAZ,EAAyB,IAAzB,CAAd;AACA,CAAA,eAAS,UAAT;AACA,CAAA,UAAI;AACF,CAAA,WAAG,CAAH,CAAK,MAAL,EAAa,WAAb,EAA0B,UAA1B;AACA,CAAA,eAAO,IAAP;AACD,CAAA,OAHD,CAGE,OAAM,CAAN,EAAQ;AACR,CAAA,eAAO,KAAP;AACD,CAAA;AACF,CAAA;AAXY,CAAA,GAFf;;;;;;ACPA,CAAA;AACA,CAAA,MAAI,UAAWA,cAAA,aAAA,CAAf;AAAA,CAAA,MACI,OAAWA,cAAA,aAAA,EAA0B,CADzC;AAAA,CAAA,MAEI,WAAWA,cAAA,WAAA,CAFf;;AAIA,CAAA,UAAQ,QAAQ,CAAhB,EAAmB,SAAnB,EAA8B;AAC5B,CAAA,oBAAgB,SAAS,cAAT,CAAwB,MAAxB,EAAgC,WAAhC,EAA4C;AAC1D,CAAA,UAAI,OAAO,KAAK,SAAS,MAAT,CAAL,EAAuB,WAAvB,CAAX;AACA,CAAA,aAAO,QAAQ,CAAC,KAAK,YAAd,GAA6B,KAA7B,GAAqC,OAAO,OAAO,WAAP,CAAnD;AACD,CAAA;AAJ2B,CAAA,GAA9B;;;;;;ACLA,CAAA;;;AAEA,CAAA,MAAI,UAAWA,cAAA,aAAA,CAAf;AAAA,CAAA,MACI,WAAWA,cAAA,WAAA,CADf;AAEA,CAAA,MAAI,YAAY,SAAZ,SAAY,CAAS,QAAT,EAAkB;AAChC,CAAA,SAAK,EAAL,GAAU,SAAS,QAAT,CAAV,CADgC;AAEhC,CAAA,SAAK,EAAL,GAAU,CAAV,CAFgC;AAGhC,CAAA,QAAI,OAAO,KAAK,EAAL,GAAU,EAArB;AAAA,CAAA;AAAA,CAAA,QACI,GADJ;AAEA,CAAA,SAAI,GAAJ,IAAW,QAAX;AAAoB,CAAA,WAAK,IAAL,CAAU,GAAV;AAApB,CAAA;AACD,CAAA,GAND;AAOA,CAAA,gBAAA,cAAA,EAA0B,SAA1B,EAAqC,QAArC,EAA+C,YAAU;AACvD,CAAA,QAAI,OAAO,IAAX;AAAA,CAAA,QACI,OAAO,KAAK,EADhB;AAAA,CAAA,QAEI,GAFJ;AAGA,CAAA,OAAG;AACD,CAAA,UAAG,KAAK,EAAL,IAAW,KAAK,MAAnB,EAA0B,OAAO,EAAC,OAAO,SAAR,EAAmB,MAAM,IAAzB,EAAP;AAC3B,CAAA,KAFD,QAEQ,EAAE,CAAC,MAAM,KAAK,KAAK,EAAL,EAAL,CAAP,KAA2B,KAAK,EAAlC,CAFR;AAGA,CAAA,WAAO,EAAC,OAAO,GAAR,EAAa,MAAM,KAAnB,EAAP;AACD,CAAA,GARD;;AAUA,CAAA,UAAQ,QAAQ,CAAhB,EAAmB,SAAnB,EAA8B;AAC5B,CAAA,eAAW,SAAS,SAAT,CAAmB,MAAnB,EAA0B;AACnC,CAAA,aAAO,IAAI,SAAJ,CAAc,MAAd,CAAP;AACD,CAAA;AAH2B,CAAA,GAA9B;;;;;;ACrBA,CAAA;AACA,CAAA,MAAI,OAAiBA,cAAA,aAAA,CAArB;AAAA,CAAA,MACI,iBAAiBA,cAAA,cAAA,CADrB;AAAA,CAAA,MAEI,MAAiBA,cAAA,WAAA,CAFrB;AAAA,CAAA,MAGI,UAAiBA,cAAA,aAAA,CAHrB;AAAA,CAAA,MAII,WAAiBA,cAAA,aAAA,CAJrB;AAAA,CAAA,MAKI,WAAiBA,cAAA,WAAA,CALrB;;AAOA,CAAA,WAAS,GAAT,CAAa,MAAb,EAAqB,WAArB,iBAA+C;AAC7C,CAAA,QAAI,WAAW,UAAU,MAAV,GAAmB,CAAnB,GAAuB,MAAvB,GAAgC,UAAU,CAAV,CAA/C;AAAA,CAAA,QACI,IADJ;AAAA,CAAA,QACU,KADV;AAEA,CAAA,QAAG,SAAS,MAAT,MAAqB,QAAxB,EAAiC,OAAO,OAAO,WAAP,CAAP;AACjC,CAAA,QAAG,OAAO,KAAK,CAAL,CAAO,MAAP,EAAe,WAAf,CAAV,EAAsC,OAAO,IAAI,IAAJ,EAAU,OAAV,IACzC,KAAK,KADoC,GAEzC,KAAK,GAAL,KAAa,SAAb,GACE,KAAK,GAAL,CAAS,IAAT,CAAc,QAAd,CADF,GAEE,SAJgC;AAKtC,CAAA,QAAG,SAAS,QAAQ,eAAe,MAAf,CAAjB,CAAH,EAA4C,OAAO,IAAI,KAAJ,EAAW,WAAX,EAAwB,QAAxB,CAAP;AAC7C,CAAA;;AAED,CAAA,UAAQ,QAAQ,CAAhB,EAAmB,SAAnB,EAA8B,EAAC,KAAK,GAAN,EAA9B;;;;;;ACpBA,CAAA;AACA,CAAA,MAAI,OAAWA,cAAA,aAAA,CAAf;AAAA,CAAA,MACI,UAAWA,cAAA,aAAA,CADf;AAAA,CAAA,MAEI,WAAWA,cAAA,WAAA,CAFf;;AAIA,CAAA,UAAQ,QAAQ,CAAhB,EAAmB,SAAnB,EAA8B;AAC5B,CAAA,8BAA0B,SAAS,wBAAT,CAAkC,MAAlC,EAA0C,WAA1C,EAAsD;AAC9E,CAAA,aAAO,KAAK,CAAL,CAAO,SAAS,MAAT,CAAP,EAAyB,WAAzB,CAAP;AACD,CAAA;AAH2B,CAAA,GAA9B;;;;;;ACLA,CAAA;AACA,CAAA,MAAI,UAAWA,cAAA,aAAA,CAAf;AAAA,CAAA,MACI,WAAWA,cAAA,cAAA,CADf;AAAA,CAAA,MAEI,WAAWA,cAAA,WAAA,CAFf;;AAIA,CAAA,UAAQ,QAAQ,CAAhB,EAAmB,SAAnB,EAA8B;AAC5B,CAAA,oBAAgB,SAAS,cAAT,CAAwB,MAAxB,EAA+B;AAC7C,CAAA,aAAO,SAAS,SAAS,MAAT,CAAT,CAAP;AACD,CAAA;AAH2B,CAAA,GAA9B;;;;;;ACLA,CAAA;AACA,CAAA,MAAI,UAAUA,cAAA,aAAA,CAAd;;AAEA,CAAA,UAAQ,QAAQ,CAAhB,EAAmB,SAAnB,EAA8B;AAC5B,CAAA,SAAK,SAAS,GAAT,CAAa,MAAb,EAAqB,WAArB,EAAiC;AACpC,CAAA,aAAO,eAAe,MAAtB;AACD,CAAA;AAH2B,CAAA,GAA9B;;;;;;ACHA,CAAA;AACA,CAAA,MAAI,UAAgBA,cAAA,aAAA,CAApB;AAAA,CAAA,MACI,WAAgBA,cAAA,WAAA,CADpB;AAAA,CAAA,MAEI,gBAAgB,OAAO,YAF3B;;AAIA,CAAA,UAAQ,QAAQ,CAAhB,EAAmB,SAAnB,EAA8B;AAC5B,CAAA,kBAAc,SAAS,YAAT,CAAsB,MAAtB,EAA6B;AACzC,CAAA,eAAS,MAAT;AACA,CAAA,aAAO,gBAAgB,cAAc,MAAd,CAAhB,GAAwC,IAA/C;AACD,CAAA;AAJ2B,CAAA,GAA9B;;;;;;ACLA,CAAA;AACA,CAAA,MAAI,OAAWA,cAAA,aAAA,CAAf;AAAA,CAAA,MACI,OAAWA,cAAA,aAAA,CADf;AAAA,CAAA,MAEI,WAAWA,cAAA,WAAA,CAFf;AAAA,CAAA,MAGI,UAAWA,cAAA,WAAA,EAAqB,OAHpC;AAIA,CAAA,SAAO,OAAP,GAAiB,WAAW,QAAQ,OAAnB,IAA8B,SAAS,OAAT,CAAiB,EAAjB,EAAoB;AACjE,CAAA,QAAI,OAAa,KAAK,CAAL,CAAO,SAAS,EAAT,CAAP,CAAjB;AAAA,CAAA,QACI,aAAa,KAAK,CADtB;AAEA,CAAA,WAAO,aAAa,KAAK,MAAL,CAAY,WAAW,EAAX,CAAZ,CAAb,GAA2C,IAAlD;AACD,CAAA,GAJD;;;;;;;;;;ACLA,CAAA;AACA,CAAA,MAAI,UAAUA,cAAA,aAAA,CAAd;;AAEA,CAAA,UAAQ,QAAQ,CAAhB,EAAmB,SAAnB,EAA8B,EAAC,SAASA,cAAA,aAAA,CAAV,EAA9B;;;;;;ACHA,CAAA;AACA,CAAA,MAAI,UAAqBA,cAAA,aAAA,CAAzB;AAAA,CAAA,MACI,WAAqBA,cAAA,WAAA,CADzB;AAAA,CAAA,MAEI,qBAAqB,OAAO,iBAFhC;;AAIA,CAAA,UAAQ,QAAQ,CAAhB,EAAmB,SAAnB,EAA8B;AAC5B,CAAA,uBAAmB,SAAS,iBAAT,CAA2B,MAA3B,EAAkC;AACnD,CAAA,eAAS,MAAT;AACA,CAAA,UAAI;AACF,CAAA,YAAG,kBAAH,EAAsB,mBAAmB,MAAnB;AACtB,CAAA,eAAO,IAAP;AACD,CAAA,OAHD,CAGE,OAAM,CAAN,EAAQ;AACR,CAAA,eAAO,KAAP;AACD,CAAA;AACF,CAAA;AAT2B,CAAA,GAA9B;;;;;;ACLA,CAAA;AACA,CAAA,MAAI,KAAiBA,cAAA,aAAA,CAArB;AAAA,CAAA,MACI,OAAiBA,cAAA,aAAA,CADrB;AAAA,CAAA,MAEI,iBAAiBA,cAAA,cAAA,CAFrB;AAAA,CAAA,MAGI,MAAiBA,cAAA,WAAA,CAHrB;AAAA,CAAA,MAII,UAAiBA,cAAA,aAAA,CAJrB;AAAA,CAAA,MAKI,aAAiBA,cAAA,aAAA,CALrB;AAAA,CAAA,MAMI,WAAiBA,cAAA,WAAA,CANrB;AAAA,CAAA,MAOI,WAAiBA,cAAA,aAAA,CAPrB;;AASA,CAAA,WAAS,GAAT,CAAa,MAAb,EAAqB,WAArB,EAAkC,CAAlC,iBAAkD;AAChD,CAAA,QAAI,WAAW,UAAU,MAAV,GAAmB,CAAnB,GAAuB,MAAvB,GAAgC,UAAU,CAAV,CAA/C;AAAA,CAAA,QACI,UAAW,KAAK,CAAL,CAAO,SAAS,MAAT,CAAP,EAAyB,WAAzB,CADf;AAAA,CAAA,QAEI,kBAFJ;AAAA,CAAA,QAEwB,KAFxB;AAGA,CAAA,QAAG,CAAC,OAAJ,EAAY;AACV,CAAA,UAAG,SAAS,QAAQ,eAAe,MAAf,CAAjB,CAAH,EAA4C;AAC1C,CAAA,eAAO,IAAI,KAAJ,EAAW,WAAX,EAAwB,CAAxB,EAA2B,QAA3B,CAAP;AACD,CAAA;AACD,CAAA,gBAAU,WAAW,CAAX,CAAV;AACD,CAAA;AACD,CAAA,QAAG,IAAI,OAAJ,EAAa,OAAb,CAAH,EAAyB;AACvB,CAAA,UAAG,QAAQ,QAAR,KAAqB,KAArB,IAA8B,CAAC,SAAS,QAAT,CAAlC,EAAqD,OAAO,KAAP;AACrD,CAAA,2BAAqB,KAAK,CAAL,CAAO,QAAP,EAAiB,WAAjB,KAAiC,WAAW,CAAX,CAAtD;AACA,CAAA,yBAAmB,KAAnB,GAA2B,CAA3B;AACA,CAAA,SAAG,CAAH,CAAK,QAAL,EAAe,WAAf,EAA4B,kBAA5B;AACA,CAAA,aAAO,IAAP;AACD,CAAA;AACD,CAAA,WAAO,QAAQ,GAAR,KAAgB,SAAhB,GAA4B,KAA5B,IAAqC,QAAQ,GAAR,CAAY,IAAZ,CAAiB,QAAjB,EAA2B,CAA3B,GAA+B,IAApE,CAAP;AACD,CAAA;;AAED,CAAA,UAAQ,QAAQ,CAAhB,EAAmB,SAAnB,EAA8B,EAAC,KAAK,GAAN,EAA9B;;;;;;AC9BA,CAAA;AACA,CAAA,MAAI,UAAWA,cAAA,aAAA,CAAf;AAAA,CAAA,MACI,WAAWA,cAAA,cAAA,CADf;;AAGA,CAAA,MAAG,QAAH,EAAY,QAAQ,QAAQ,CAAhB,EAAmB,SAAnB,EAA8B;AACxC,CAAA,oBAAgB,SAAS,cAAT,CAAwB,MAAxB,EAAgC,KAAhC,EAAsC;AACpD,CAAA,eAAS,KAAT,CAAe,MAAf,EAAuB,KAAvB;AACA,CAAA,UAAI;AACF,CAAA,iBAAS,GAAT,CAAa,MAAb,EAAqB,KAArB;AACA,CAAA,eAAO,IAAP;AACD,CAAA,OAHD,CAGE,OAAM,CAAN,EAAQ;AACR,CAAA,eAAO,KAAP;AACD,CAAA;AACF,CAAA;AATuC,CAAA,GAA9B;;;;;;ACJZ,CAAA;;;AAEA,CAAA,MAAI,UAAYA,cAAA,aAAA,CAAhB;AAAA,CAAA,MACI,YAAYA,cAAA,aAAA,EAA6B,IAA7B,CADhB;;AAGA,CAAA,UAAQ,QAAQ,CAAhB,EAAmB,OAAnB,EAA4B;AAC1B,CAAA,cAAU,SAAS,QAAT,CAAkB,EAAlB,uBAA0C;AAClD,CAAA,aAAO,UAAU,IAAV,EAAgB,EAAhB,EAAoB,UAAU,MAAV,GAAmB,CAAnB,GAAuB,UAAU,CAAV,CAAvB,GAAsC,SAA1D,CAAP;AACD,CAAA;AAHyB,CAAA,GAA5B;;AAMA,CAAA,gBAAA,cAAA,EAAiC,UAAjC;;;;;;ACXA,CAAA;;;AAEA,CAAA,MAAI,UAAUA,cAAA,aAAA,CAAd;AAAA,CAAA,MACI,MAAUA,cAAA,cAAA,EAAwB,IAAxB,CADd;;AAGA,CAAA,UAAQ,QAAQ,CAAhB,EAAmB,QAAnB,EAA6B;AAC3B,CAAA,QAAI,SAAS,EAAT,CAAY,GAAZ,EAAgB;AAClB,CAAA,aAAO,IAAI,IAAJ,EAAU,GAAV,CAAP;AACD,CAAA;AAH0B,CAAA,GAA7B;;;;;;ACLA,CAAA;AACA,CAAA,MAAI,WAAWA,cAAA,aAAA,CAAf;AAAA,CAAA,MACI,SAAWA,cAAA,cAAA,CADf;AAAA,CAAA,MAEI,UAAWA,cAAA,aAAA,CAFf;;AAIA,CAAA,SAAO,OAAP,GAAiB,UAAS,IAAT,EAAe,SAAf,EAA0B,UAA1B,EAAsC,IAAtC,EAA2C;AAC1D,CAAA,QAAI,IAAe,OAAO,QAAQ,IAAR,CAAP,CAAnB;AAAA,CAAA,QACI,eAAe,EAAE,MADrB;AAAA,CAAA,QAEI,UAAe,eAAe,SAAf,GAA2B,GAA3B,GAAiC,OAAO,UAAP,CAFpD;AAAA,CAAA,QAGI,eAAe,SAAS,SAAT,CAHnB;AAIA,CAAA,QAAG,gBAAgB,YAAhB,IAAgC,WAAW,EAA9C,EAAiD,OAAO,CAAP;AACjD,CAAA,QAAI,UAAU,eAAe,YAA7B;AAAA,CAAA,QACI,eAAe,OAAO,IAAP,CAAY,OAAZ,EAAqB,KAAK,IAAL,CAAU,UAAU,QAAQ,MAA5B,CAArB,CADnB;AAEA,CAAA,QAAG,aAAa,MAAb,GAAsB,OAAzB,EAAiC,eAAe,aAAa,KAAb,CAAmB,CAAnB,EAAsB,OAAtB,CAAf;AACjC,CAAA,WAAO,OAAO,eAAe,CAAtB,GAA0B,IAAI,YAArC;AACD,CAAA,GAVD;;;;;;;;;;ACLA,CAAA;;;AAEA,CAAA,MAAI,UAAUA,cAAA,aAAA,CAAd;AAAA,CAAA,MACI,OAAUA,cAAA,cAAA,CADd;;AAGA,CAAA,UAAQ,QAAQ,CAAhB,EAAmB,QAAnB,EAA6B;AAC3B,CAAA,cAAU,SAAS,QAAT,CAAkB,SAAlB,0BAAoD;AAC5D,CAAA,aAAO,KAAK,IAAL,EAAW,SAAX,EAAsB,UAAU,MAAV,GAAmB,CAAnB,GAAuB,UAAU,CAAV,CAAvB,GAAsC,SAA5D,EAAuE,IAAvE,CAAP;AACD,CAAA;AAH0B,CAAA,GAA7B;;;;;;ACLA,CAAA;;;AAEA,CAAA,MAAI,UAAUA,cAAA,aAAA,CAAd;AAAA,CAAA,MACI,OAAUA,cAAA,cAAA,CADd;;AAGA,CAAA,UAAQ,QAAQ,CAAhB,EAAmB,QAAnB,EAA6B;AAC3B,CAAA,YAAQ,SAAS,MAAT,CAAgB,SAAhB,0BAAkD;AACxD,CAAA,aAAO,KAAK,IAAL,EAAW,SAAX,EAAsB,UAAU,MAAV,GAAmB,CAAnB,GAAuB,UAAU,CAAV,CAAvB,GAAsC,SAA5D,EAAuE,KAAvE,CAAP;AACD,CAAA;AAH0B,CAAA,GAA7B;;;;;;ACLA,CAAA;;;AAEA,CAAA,gBAAA,cAAA,EAA0B,UAA1B,EAAsC,UAAS,KAAT,EAAe;AACnD,CAAA,WAAO,SAAS,QAAT,GAAmB;AACxB,CAAA,aAAO,MAAM,IAAN,EAAY,CAAZ,CAAP;AACD,CAAA,KAFD;AAGD,CAAA,GAJD,EAIG,WAJH;;;;;;ACFA,CAAA;;;AAEA,CAAA,gBAAA,cAAA,EAA0B,WAA1B,EAAuC,UAAS,KAAT,EAAe;AACpD,CAAA,WAAO,SAAS,SAAT,GAAoB;AACzB,CAAA,aAAO,MAAM,IAAN,EAAY,CAAZ,CAAP;AACD,CAAA,KAFD;AAGD,CAAA,GAJD,EAIG,SAJH;;;;;;ACFA,CAAA;;;AAEA,CAAA,MAAI,UAAcA,cAAA,aAAA,CAAlB;AAAA,CAAA,MACI,UAAcA,cAAA,aAAA,CADlB;AAAA,CAAA,MAEI,WAAcA,cAAA,aAAA,CAFlB;AAAA,CAAA,MAGI,WAAcA,cAAA,aAAA,CAHlB;AAAA,CAAA,MAII,WAAcA,cAAA,cAAA,CAJlB;AAAA,CAAA,MAKI,cAAc,OAAO,SALzB;;AAOA,CAAA,MAAI,wBAAwB,SAAxB,qBAAwB,CAAS,MAAT,EAAiB,MAAjB,EAAwB;AAClD,CAAA,SAAK,EAAL,GAAU,MAAV;AACA,CAAA,SAAK,EAAL,GAAU,MAAV;AACD,CAAA,GAHD;;AAKA,CAAA,gBAAA,cAAA,EAA0B,qBAA1B,EAAiD,eAAjD,EAAkE,SAAS,IAAT,GAAe;AAC/E,CAAA,QAAI,QAAQ,KAAK,EAAL,CAAQ,IAAR,CAAa,KAAK,EAAlB,CAAZ;AACA,CAAA,WAAO,EAAC,OAAO,KAAR,EAAe,MAAM,UAAU,IAA/B,EAAP;AACD,CAAA,GAHD;;AAKA,CAAA,UAAQ,QAAQ,CAAhB,EAAmB,QAAnB,EAA6B;AAC3B,CAAA,cAAU,SAAS,QAAT,CAAkB,MAAlB,EAAyB;AACjC,CAAA,cAAQ,IAAR;AACA,CAAA,UAAG,CAAC,SAAS,MAAT,CAAJ,EAAqB,MAAM,UAAU,SAAS,mBAAnB,CAAN;AACrB,CAAA,UAAI,IAAQ,OAAO,IAAP,CAAZ;AAAA,CAAA,UACI,QAAQ,WAAW,WAAX,GAAyB,OAAO,OAAO,KAAd,CAAzB,GAAgD,SAAS,IAAT,CAAc,MAAd,CAD5D;AAAA,CAAA,UAEI,KAAQ,IAAI,MAAJ,CAAW,OAAO,MAAlB,EAA0B,CAAC,MAAM,OAAN,CAAc,GAAd,CAAD,GAAsB,KAAtB,GAA8B,MAAM,KAA9D,CAFZ;AAGA,CAAA,SAAG,SAAH,GAAe,SAAS,OAAO,SAAhB,CAAf;AACA,CAAA,aAAO,IAAI,qBAAJ,CAA0B,EAA1B,EAA8B,CAA9B,CAAP;AACD,CAAA;AAT0B,CAAA,GAA7B;;;;;;ACnBA,CAAA,gBAAA,aAAA,EAAyB,eAAzB;;;;;;ACAA,CAAA,gBAAA,aAAA,EAAyB,YAAzB;;;;;;ACAA,CAAA;AACA,CAAA,MAAI,UAAiBA,cAAA,aAAA,CAArB;AAAA,CAAA,MACI,UAAiBA,cAAA,aAAA,CADrB;AAAA,CAAA,MAEI,YAAiBA,cAAA,aAAA,CAFrB;AAAA,CAAA,MAGI,OAAiBA,cAAA,aAAA,CAHrB;AAAA,CAAA,MAII,iBAAiBA,cAAA,cAAA,CAJrB;;AAMA,CAAA,UAAQ,QAAQ,CAAhB,EAAmB,QAAnB,EAA6B;AAC3B,CAAA,+BAA2B,SAAS,yBAAT,CAAmC,MAAnC,EAA0C;AACnE,CAAA,UAAI,IAAU,UAAU,MAAV,CAAd;AAAA,CAAA,UACI,UAAU,KAAK,CADnB;AAAA,CAAA,UAEI,OAAU,QAAQ,CAAR,CAFd;AAAA,CAAA,UAGI,SAAU,EAHd;AAAA,CAAA,UAII,IAAU,CAJd;AAAA,CAAA,UAKI,GALJ;AAMA,CAAA,aAAM,KAAK,MAAL,GAAc,CAApB;AAAsB,CAAA,uBAAe,MAAf,EAAuB,MAAM,KAAK,GAAL,CAA7B,EAAwC,QAAQ,CAAR,EAAW,GAAX,CAAxC;AAAtB,CAAA,OACA,OAAO,MAAP;AACD,CAAA;AAV0B,CAAA,GAA7B;;;;;;ACPA,CAAA,MAAI,UAAYA,cAAA,aAAA,CAAhB;AAAA,CAAA,MACI,YAAYA,cAAA,aAAA,CADhB;AAAA,CAAA,MAEI,SAAYA,cAAA,aAAA,EAAyB,CAFzC;AAGA,CAAA,SAAO,OAAP,GAAiB,UAAS,SAAT,EAAmB;AAClC,CAAA,WAAO,UAAS,EAAT,EAAY;AACjB,CAAA,UAAI,IAAS,UAAU,EAAV,CAAb;AAAA,CAAA,UACI,OAAS,QAAQ,CAAR,CADb;AAAA,CAAA,UAEI,SAAS,KAAK,MAFlB;AAAA,CAAA,UAGI,IAAS,CAHb;AAAA,CAAA,UAII,SAAS,EAJb;AAAA,CAAA,UAKI,GALJ;AAMA,CAAA,aAAM,SAAS,CAAf;AAAiB,CAAA,YAAG,OAAO,IAAP,CAAY,CAAZ,EAAe,MAAM,KAAK,GAAL,CAArB,CAAH,EAAmC;AAClD,CAAA,iBAAO,IAAP,CAAY,YAAY,CAAC,GAAD,EAAM,EAAE,GAAF,CAAN,CAAZ,GAA4B,EAAE,GAAF,CAAxC;AACD,CAAA;AAFD,CAAA,OAEE,OAAO,MAAP;AACH,CAAA,KAVD;AAWD,CAAA,GAZD;;;;;;;;;;ACHA,CAAA;AACA,CAAA,MAAI,UAAUA,cAAA,aAAA,CAAd;AAAA,CAAA,MACI,UAAUA,cAAA,cAAA,EAA8B,KAA9B,CADd;;AAGA,CAAA,UAAQ,QAAQ,CAAhB,EAAmB,QAAnB,EAA6B;AAC3B,CAAA,YAAQ,SAAS,MAAT,CAAgB,EAAhB,EAAmB;AACzB,CAAA,aAAO,QAAQ,EAAR,CAAP;AACD,CAAA;AAH0B,CAAA,GAA7B;;;;;;ACJA,CAAA;AACA,CAAA,MAAI,UAAWA,cAAA,aAAA,CAAf;AAAA,CAAA,MACI,WAAWA,cAAA,cAAA,EAA8B,IAA9B,CADf;;AAGA,CAAA,UAAQ,QAAQ,CAAhB,EAAmB,QAAnB,EAA6B;AAC3B,CAAA,aAAS,SAAS,OAAT,CAAiB,EAAjB,EAAoB;AAC3B,CAAA,aAAO,SAAS,EAAT,CAAP;AACD,CAAA;AAH0B,CAAA,GAA7B;;;;;;ACJA,CAAA;AACA,CAAA,SAAO,OAAP,GAAiBA,cAAA,aAAA,KAAwB,CAACA,cAAA,aAAA,EAAoB,YAAU;AACtE,CAAA,QAAI,IAAI,KAAK,MAAL,EAAR;;AAEA,CAAA,qBAAiB,IAAjB,CAAsB,IAAtB,EAA4B,CAA5B,EAA+B,YAAU,aAAzC;AACA,CAAA,WAAOA,cAAA,WAAA,EAAqB,CAArB,CAAP;AACD,CAAA,GALyC,CAA1C;;;;;;;;;;ACDA,CAAA;;AACA,CAAA,MAAI,UAAkBA,cAAA,aAAA,CAAtB;AAAA,CAAA,MACI,WAAkBA,cAAA,aAAA,CADtB;AAAA,CAAA,MAEI,YAAkBA,cAAA,aAAA,CAFtB;AAAA,CAAA,MAGI,kBAAkBA,cAAA,aAAA,CAHtB;;;AAMA,CAAA,gBAAA,WAAA,KAA6B,QAAQ,QAAQ,CAAR,GAAYA,cAAA,cAAA,CAApB,EAAqD,QAArD,EAA+D;AAC1F,CAAA,sBAAkB,SAAS,gBAAT,CAA0B,CAA1B,EAA6B,MAA7B,EAAoC;AACpD,CAAA,sBAAgB,CAAhB,CAAkB,SAAS,IAAT,CAAlB,EAAkC,CAAlC,EAAqC,EAAC,KAAK,UAAU,MAAV,CAAN,EAAyB,YAAY,IAArC,EAA2C,cAAc,IAAzD,EAArC;AACD,CAAA;AAHyF,CAAA,GAA/D,CAA7B;;;;;;ACPA,CAAA;;AACA,CAAA,MAAI,UAAkBA,cAAA,aAAA,CAAtB;AAAA,CAAA,MACI,WAAkBA,cAAA,aAAA,CADtB;AAAA,CAAA,MAEI,YAAkBA,cAAA,aAAA,CAFtB;AAAA,CAAA,MAGI,kBAAkBA,cAAA,aAAA,CAHtB;;;AAMA,CAAA,gBAAA,WAAA,KAA6B,QAAQ,QAAQ,CAAR,GAAYA,cAAA,cAAA,CAApB,EAAqD,QAArD,EAA+D;AAC1F,CAAA,sBAAkB,SAAS,gBAAT,CAA0B,CAA1B,EAA6B,MAA7B,EAAoC;AACpD,CAAA,sBAAgB,CAAhB,CAAkB,SAAS,IAAT,CAAlB,EAAkC,CAAlC,EAAqC,EAAC,KAAK,UAAU,MAAV,CAAN,EAAyB,YAAY,IAArC,EAA2C,cAAc,IAAzD,EAArC;AACD,CAAA;AAHyF,CAAA,GAA/D,CAA7B;;;;;;ACPA,CAAA;;AACA,CAAA,MAAI,UAA2BA,cAAA,aAAA,CAA/B;AAAA,CAAA,MACI,WAA2BA,cAAA,aAAA,CAD/B;AAAA,CAAA,MAEI,cAA2BA,cAAA,aAAA,CAF/B;AAAA,CAAA,MAGI,iBAA2BA,cAAA,cAAA,CAH/B;AAAA,CAAA,MAII,2BAA2BA,cAAA,aAAA,EAA0B,CAJzD;;;AAOA,CAAA,gBAAA,WAAA,KAA6B,QAAQ,QAAQ,CAAR,GAAYA,cAAA,cAAA,CAApB,EAAqD,QAArD,EAA+D;AAC1F,CAAA,sBAAkB,SAAS,gBAAT,CAA0B,CAA1B,EAA4B;AAC5C,CAAA,UAAI,IAAI,SAAS,IAAT,CAAR;AAAA,CAAA,UACI,IAAI,YAAY,CAAZ,EAAe,IAAf,CADR;AAAA,CAAA,UAEI,CAFJ;AAGA,CAAA,SAAG;AACD,CAAA,YAAG,IAAI,yBAAyB,CAAzB,EAA4B,CAA5B,CAAP,EAAsC,OAAO,EAAE,GAAT;AACvC,CAAA,OAFD,QAEQ,IAAI,eAAe,CAAf,CAFZ;AAGD,CAAA;AARyF,CAAA,GAA/D,CAA7B;;;;;;ACRA,CAAA;;AACA,CAAA,MAAI,UAA2BA,cAAA,aAAA,CAA/B;AAAA,CAAA,MACI,WAA2BA,cAAA,aAAA,CAD/B;AAAA,CAAA,MAEI,cAA2BA,cAAA,aAAA,CAF/B;AAAA,CAAA,MAGI,iBAA2BA,cAAA,cAAA,CAH/B;AAAA,CAAA,MAII,2BAA2BA,cAAA,aAAA,EAA0B,CAJzD;;;AAOA,CAAA,gBAAA,WAAA,KAA6B,QAAQ,QAAQ,CAAR,GAAYA,cAAA,cAAA,CAApB,EAAqD,QAArD,EAA+D;AAC1F,CAAA,sBAAkB,SAAS,gBAAT,CAA0B,CAA1B,EAA4B;AAC5C,CAAA,UAAI,IAAI,SAAS,IAAT,CAAR;AAAA,CAAA,UACI,IAAI,YAAY,CAAZ,EAAe,IAAf,CADR;AAAA,CAAA,UAEI,CAFJ;AAGA,CAAA,SAAG;AACD,CAAA,YAAG,IAAI,yBAAyB,CAAzB,EAA4B,CAA5B,CAAP,EAAsC,OAAO,EAAE,GAAT;AACvC,CAAA,OAFD,QAEQ,IAAI,eAAe,CAAf,CAFZ;AAGD,CAAA;AARyF,CAAA,GAA/D,CAA7B;;;;;;ACRA,CAAA,MAAI,QAAQA,cAAA,cAAA,CAAZ;;AAEA,CAAA,SAAO,OAAP,GAAiB,UAAS,IAAT,EAAe,QAAf,EAAwB;AACvC,CAAA,QAAI,SAAS,EAAb;AACA,CAAA,UAAM,IAAN,EAAY,KAAZ,EAAmB,OAAO,IAA1B,EAAgC,MAAhC,EAAwC,QAAxC;AACA,CAAA,WAAO,MAAP;AACD,CAAA,GAJD;;;;;;;;;;ACFA,CAAA;AACA,CAAA,MAAI,UAAUA,cAAA,cAAA,CAAd;AAAA,CAAA,MACI,OAAUA,cAAA,cAAA,CADd;AAEA,CAAA,SAAO,OAAP,GAAiB,UAAS,IAAT,EAAc;AAC7B,CAAA,WAAO,SAAS,MAAT,GAAiB;AACtB,CAAA,UAAG,QAAQ,IAAR,KAAiB,IAApB,EAAyB,MAAM,UAAU,OAAO,uBAAjB,CAAN;AACzB,CAAA,aAAO,KAAK,IAAL,CAAP;AACD,CAAA,KAHD;AAID,CAAA,GALD;;;;;;;;;;ACHA,CAAA;AACA,CAAA,MAAI,UAAWA,cAAA,aAAA,CAAf;;AAEA,CAAA,UAAQ,QAAQ,CAAR,GAAY,QAAQ,CAA5B,EAA+B,KAA/B,EAAsC,EAAC,QAAQA,cAAA,cAAA,EAAiC,KAAjC,CAAT,EAAtC;;;;;;ACHA,CAAA;AACA,CAAA,MAAI,UAAWA,cAAA,aAAA,CAAf;;AAEA,CAAA,UAAQ,QAAQ,CAAR,GAAY,QAAQ,CAA5B,EAA+B,KAA/B,EAAsC,EAAC,QAAQA,cAAA,cAAA,EAAiC,KAAjC,CAAT,EAAtC;;;;;;ACHA,CAAA;AACA,CAAA,MAAI,UAAUA,cAAA,aAAA,CAAd;;AAEA,CAAA,UAAQ,QAAQ,CAAhB,EAAmB,QAAnB,EAA6B,EAAC,QAAQA,cAAA,WAAA,CAAT,EAA7B;;;;;;ACHA,CAAA;AACA,CAAA,MAAI,UAAUA,cAAA,aAAA,CAAd;AAAA,CAAA,MACI,MAAUA,cAAA,aAAA,CADd;;AAGA,CAAA,UAAQ,QAAQ,CAAhB,EAAmB,OAAnB,EAA4B;AAC1B,CAAA,aAAS,SAAS,OAAT,CAAiB,EAAjB,EAAoB;AAC3B,CAAA,aAAO,IAAI,EAAJ,MAAY,OAAnB;AACD,CAAA;AAHyB,CAAA,GAA5B;;;;;;ACJA,CAAA;AACA,CAAA,MAAI,UAAUA,cAAA,aAAA,CAAd;;AAEA,CAAA,UAAQ,QAAQ,CAAhB,EAAmB,MAAnB,EAA2B;AACzB,CAAA,WAAO,SAAS,KAAT,CAAe,EAAf,EAAmB,EAAnB,EAAuB,EAAvB,EAA2B,EAA3B,EAA8B;AACnC,CAAA,UAAI,MAAM,OAAO,CAAjB;AAAA,CAAA,UACI,MAAM,OAAO,CADjB;AAAA,CAAA,UAEI,MAAM,OAAO,CAFjB;AAGA,CAAA,aAAO,OAAO,OAAO,CAAd,KAAoB,CAAC,MAAM,GAAN,GAAY,CAAC,MAAM,GAAP,IAAc,EAAE,MAAM,GAAN,KAAc,CAAhB,CAA3B,MAAmD,EAAvE,IAA6E,CAApF;AACD,CAAA;AANwB,CAAA,GAA3B;;;;;;ACHA,CAAA;AACA,CAAA,MAAI,UAAUA,cAAA,aAAA,CAAd;;AAEA,CAAA,UAAQ,QAAQ,CAAhB,EAAmB,MAAnB,EAA2B;AACzB,CAAA,WAAO,SAAS,KAAT,CAAe,EAAf,EAAmB,EAAnB,EAAuB,EAAvB,EAA2B,EAA3B,EAA8B;AACnC,CAAA,UAAI,MAAM,OAAO,CAAjB;AAAA,CAAA,UACI,MAAM,OAAO,CADjB;AAAA,CAAA,UAEI,MAAM,OAAO,CAFjB;AAGA,CAAA,aAAO,OAAO,OAAO,CAAd,KAAoB,CAAC,CAAC,GAAD,GAAO,GAAP,GAAa,EAAE,MAAM,GAAR,IAAe,MAAM,GAAN,KAAc,CAA3C,MAAkD,EAAtE,IAA4E,CAAnF;AACD,CAAA;AANwB,CAAA,GAA3B;;;;;;ACHA,CAAA;AACA,CAAA,MAAI,UAAUA,cAAA,aAAA,CAAd;;AAEA,CAAA,UAAQ,QAAQ,CAAhB,EAAmB,MAAnB,EAA2B;AACzB,CAAA,WAAO,SAAS,KAAT,CAAe,CAAf,EAAkB,CAAlB,EAAoB;AACzB,CAAA,UAAI,SAAS,MAAb;AAAA,CAAA,UACI,KAAK,CAAC,CADV;AAAA,CAAA,UAEI,KAAK,CAAC,CAFV;AAAA,CAAA,UAGI,KAAK,KAAK,MAHd;AAAA,CAAA,UAII,KAAK,KAAK,MAJd;AAAA,CAAA,UAKI,KAAK,MAAM,EALf;AAAA,CAAA,UAMI,KAAK,MAAM,EANf;AAAA,CAAA,UAOI,IAAK,CAAC,KAAK,EAAL,KAAY,CAAb,KAAmB,KAAK,EAAL,KAAY,EAA/B,CAPT;AAQA,CAAA,aAAO,KAAK,EAAL,IAAW,KAAK,EAAhB,KAAuB,CAAC,KAAK,EAAL,KAAY,CAAb,KAAmB,IAAI,MAAvB,KAAkC,EAAzD,CAAP;AACD,CAAA;AAXwB,CAAA,GAA3B;;;;;;ACHA,CAAA;AACA,CAAA,MAAI,UAAUA,cAAA,aAAA,CAAd;;AAEA,CAAA,UAAQ,QAAQ,CAAhB,EAAmB,MAAnB,EAA2B;AACzB,CAAA,WAAO,SAAS,KAAT,CAAe,CAAf,EAAkB,CAAlB,EAAoB;AACzB,CAAA,UAAI,SAAS,MAAb;AAAA,CAAA,UACI,KAAK,CAAC,CADV;AAAA,CAAA,UAEI,KAAK,CAAC,CAFV;AAAA,CAAA,UAGI,KAAK,KAAK,MAHd;AAAA,CAAA,UAII,KAAK,KAAK,MAJd;AAAA,CAAA,UAKI,KAAK,OAAO,EALhB;AAAA,CAAA,UAMI,KAAK,OAAO,EANhB;AAAA,CAAA,UAOI,IAAK,CAAC,KAAK,EAAL,KAAY,CAAb,KAAmB,KAAK,EAAL,KAAY,EAA/B,CAPT;AAQA,CAAA,aAAO,KAAK,EAAL,IAAW,MAAM,EAAjB,KAAwB,CAAC,KAAK,EAAL,KAAY,CAAb,KAAmB,IAAI,MAAvB,MAAmC,EAA3D,CAAP;AACD,CAAA;AAXwB,CAAA,GAA3B;;;;;;ACHA,CAAA,MAAI,MAAUA,cAAA,aAAA,CAAd;AAAA,CAAA,MACI,UAAUA,cAAA,aAAA,CADd;AAAA,CAAA,MAEI,SAAUA,cAAA,aAAA,EAAqB,UAArB,CAFd;AAAA,CAAA,MAGI,QAAU,OAAO,KAAP,KAAiB,OAAO,KAAP,GAAe,KAAKA,cAAA,cAAA,CAAL,GAAhC,CAHd;;AAKA,CAAA,MAAI,yBAAyB,SAAzB,sBAAyB,CAAS,MAAT,EAAiB,SAAjB,EAA4B,MAA5B,EAAmC;AAC9D,CAAA,QAAI,iBAAiB,MAAM,GAAN,CAAU,MAAV,CAArB;AACA,CAAA,QAAG,CAAC,cAAJ,EAAmB;AACjB,CAAA,UAAG,CAAC,MAAJ,EAAW,OAAO,SAAP;AACX,CAAA,YAAM,GAAN,CAAU,MAAV,EAAkB,iBAAiB,IAAI,GAAJ,EAAnC;AACD,CAAA;AACD,CAAA,QAAI,cAAc,eAAe,GAAf,CAAmB,SAAnB,CAAlB;AACA,CAAA,QAAG,CAAC,WAAJ,EAAgB;AACd,CAAA,UAAG,CAAC,MAAJ,EAAW,OAAO,SAAP;AACX,CAAA,qBAAe,GAAf,CAAmB,SAAnB,EAA8B,cAAc,IAAI,GAAJ,EAA5C;AACD,CAAA,KAAC,OAAO,WAAP;AACH,CAAA,GAXD;AAYA,CAAA,MAAI,yBAAyB,SAAzB,sBAAyB,CAAS,WAAT,EAAsB,CAAtB,EAAyB,CAAzB,EAA2B;AACtD,CAAA,QAAI,cAAc,uBAAuB,CAAvB,EAA0B,CAA1B,EAA6B,KAA7B,CAAlB;AACA,CAAA,WAAO,gBAAgB,SAAhB,GAA4B,KAA5B,GAAoC,YAAY,GAAZ,CAAgB,WAAhB,CAA3C;AACD,CAAA,GAHD;AAIA,CAAA,MAAI,yBAAyB,SAAzB,sBAAyB,CAAS,WAAT,EAAsB,CAAtB,EAAyB,CAAzB,EAA2B;AACtD,CAAA,QAAI,cAAc,uBAAuB,CAAvB,EAA0B,CAA1B,EAA6B,KAA7B,CAAlB;AACA,CAAA,WAAO,gBAAgB,SAAhB,GAA4B,SAA5B,GAAwC,YAAY,GAAZ,CAAgB,WAAhB,CAA/C;AACD,CAAA,GAHD;AAIA,CAAA,MAAI,4BAA4B,SAA5B,yBAA4B,CAAS,WAAT,EAAsB,aAAtB,EAAqC,CAArC,EAAwC,CAAxC,EAA0C;AACxE,CAAA,2BAAuB,CAAvB,EAA0B,CAA1B,EAA6B,IAA7B,EAAmC,GAAnC,CAAuC,WAAvC,EAAoD,aAApD;AACD,CAAA,GAFD;AAGA,CAAA,MAAI,0BAA0B,SAA1B,uBAA0B,CAAS,MAAT,EAAiB,SAAjB,EAA2B;AACvD,CAAA,QAAI,cAAc,uBAAuB,MAAvB,EAA+B,SAA/B,EAA0C,KAA1C,CAAlB;AAAA,CAAA,QACI,OAAc,EADlB;AAEA,CAAA,QAAG,WAAH,EAAe,YAAY,OAAZ,CAAoB,UAAS,CAAT,EAAY,GAAZ,EAAgB;AAAE,CAAA,WAAK,IAAL,CAAU,GAAV;AAAiB,CAAA,KAAvD;AACf,CAAA,WAAO,IAAP;AACD,CAAA,GALD;AAMA,CAAA,MAAI,YAAY,SAAZ,SAAY,CAAS,EAAT,EAAY;AAC1B,CAAA,WAAO,OAAO,SAAP,IAAoB,QAAO,EAAP,yCAAO,EAAP,MAAa,QAAjC,GAA4C,EAA5C,GAAiD,OAAO,EAAP,CAAxD;AACD,CAAA,GAFD;AAGA,CAAA,MAAI,MAAM,SAAN,GAAM,CAAS,CAAT,EAAW;AACnB,CAAA,YAAQ,QAAQ,CAAhB,EAAmB,SAAnB,EAA8B,CAA9B;AACD,CAAA,GAFD;;AAIA,CAAA,SAAO,OAAP,GAAiB;AACf,CAAA,WAAO,KADQ;AAEf,CAAA,SAAK,sBAFU;AAGf,CAAA,SAAK,sBAHU;AAIf,CAAA,SAAK,sBAJU;AAKf,CAAA,SAAK,yBALU;AAMf,CAAA,UAAM,uBANS;AAOf,CAAA,SAAK,SAPU;AAQf,CAAA,SAAK;AARU,CAAA,GAAjB;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACzCA,CAAA,MAAI,WAA4BA,cAAA,cAAA,CAAhC;AAAA,CAAA,MACI,WAA4BA,cAAA,WAAA,CADhC;AAAA,CAAA,MAEI,YAA4B,SAAS,GAFzC;AAAA,CAAA,MAGI,4BAA4B,SAAS,GAHzC;;AAKA,CAAA,WAAS,GAAT,CAAa,EAAC,gBAAgB,SAAS,cAAT,CAAwB,WAAxB,EAAqC,aAArC,EAAoD,MAApD,EAA4D,SAA5D,EAAsE;AAClG,CAAA,gCAA0B,WAA1B,EAAuC,aAAvC,EAAsD,SAAS,MAAT,CAAtD,EAAwE,UAAU,SAAV,CAAxE;AACD,CAAA,KAFY,EAAb;;;;;;ACLA,CAAA,MAAI,WAAyBA,cAAA,cAAA,CAA7B;AAAA,CAAA,MACI,WAAyBA,cAAA,WAAA,CAD7B;AAAA,CAAA,MAEI,YAAyB,SAAS,GAFtC;AAAA,CAAA,MAGI,yBAAyB,SAAS,GAHtC;AAAA,CAAA,MAII,QAAyB,SAAS,KAJtC;;AAMA,CAAA,WAAS,GAAT,CAAa,EAAC,gBAAgB,SAAS,cAAT,CAAwB,WAAxB,EAAqC,MAArC,mBAA6D;AACzF,CAAA,UAAI,YAAc,UAAU,MAAV,GAAmB,CAAnB,GAAuB,SAAvB,GAAmC,UAAU,UAAU,CAAV,CAAV,CAArD;AAAA,CAAA,UACI,cAAc,uBAAuB,SAAS,MAAT,CAAvB,EAAyC,SAAzC,EAAoD,KAApD,CADlB;AAEA,CAAA,UAAG,gBAAgB,SAAhB,IAA6B,CAAC,YAAY,QAAZ,EAAsB,WAAtB,CAAjC,EAAoE,OAAO,KAAP;AACpE,CAAA,UAAG,YAAY,IAAf,EAAoB,OAAO,IAAP;AACpB,CAAA,UAAI,iBAAiB,MAAM,GAAN,CAAU,MAAV,CAArB;AACA,CAAA,qBAAe,QAAf,EAAyB,SAAzB;AACA,CAAA,aAAO,CAAC,CAAC,eAAe,IAAjB,IAAyB,MAAM,QAAN,EAAgB,MAAhB,CAAhC;AACD,CAAA,KARY,EAAb;;;;;;ACNA,CAAA,MAAI,WAAyBA,cAAA,cAAA,CAA7B;AAAA,CAAA,MACI,WAAyBA,cAAA,WAAA,CAD7B;AAAA,CAAA,MAEI,iBAAyBA,cAAA,cAAA,CAF7B;AAAA,CAAA,MAGI,yBAAyB,SAAS,GAHtC;AAAA,CAAA,MAII,yBAAyB,SAAS,GAJtC;AAAA,CAAA,MAKI,YAAyB,SAAS,GALtC;;AAOA,CAAA,MAAI,sBAAsB,SAAtB,mBAAsB,CAAS,WAAT,EAAsB,CAAtB,EAAyB,CAAzB,EAA2B;AACnD,CAAA,QAAI,SAAS,uBAAuB,WAAvB,EAAoC,CAApC,EAAuC,CAAvC,CAAb;AACA,CAAA,QAAG,MAAH,EAAU,OAAO,uBAAuB,WAAvB,EAAoC,CAApC,EAAuC,CAAvC,CAAP;AACV,CAAA,QAAI,SAAS,eAAe,CAAf,CAAb;AACA,CAAA,WAAO,WAAW,IAAX,GAAkB,oBAAoB,WAApB,EAAiC,MAAjC,EAAyC,CAAzC,CAAlB,GAAgE,SAAvE;AACD,CAAA,GALD;;AAOA,CAAA,WAAS,GAAT,CAAa,EAAC,aAAa,SAAS,WAAT,CAAqB,WAArB,EAAkC,MAAlC,mBAA0D;AACnF,CAAA,aAAO,oBAAoB,WAApB,EAAiC,SAAS,MAAT,CAAjC,EAAmD,UAAU,MAAV,GAAmB,CAAnB,GAAuB,SAAvB,GAAmC,UAAU,UAAU,CAAV,CAAV,CAAtF,CAAP;AACD,CAAA,KAFY,EAAb;;;;;;ACdA,CAAA,MAAI,MAA0BA,cAAA,aAAA,CAA9B;AAAA,CAAA,MACI,OAA0BA,cAAA,cAAA,CAD9B;AAAA,CAAA,MAEI,WAA0BA,cAAA,cAAA,CAF9B;AAAA,CAAA,MAGI,WAA0BA,cAAA,WAAA,CAH9B;AAAA,CAAA,MAII,iBAA0BA,cAAA,cAAA,CAJ9B;AAAA,CAAA,MAKI,0BAA0B,SAAS,IALvC;AAAA,CAAA,MAMI,YAA0B,SAAS,GANvC;;AAQA,CAAA,MAAI,uBAAuB,SAAvB,oBAAuB,CAAS,CAAT,EAAY,CAAZ,EAAc;AACvC,CAAA,QAAI,QAAS,wBAAwB,CAAxB,EAA2B,CAA3B,CAAb;AAAA,CAAA,QACI,SAAS,eAAe,CAAf,CADb;AAEA,CAAA,QAAG,WAAW,IAAd,EAAmB,OAAO,KAAP;AACnB,CAAA,QAAI,QAAS,qBAAqB,MAArB,EAA6B,CAA7B,CAAb;AACA,CAAA,WAAO,MAAM,MAAN,GAAe,MAAM,MAAN,GAAe,KAAK,IAAI,GAAJ,CAAQ,MAAM,MAAN,CAAa,KAAb,CAAR,CAAL,CAAf,GAAoD,KAAnE,GAA2E,KAAlF;AACD,CAAA,GAND;;AAQA,CAAA,WAAS,GAAT,CAAa,EAAC,iBAAiB,SAAS,eAAT,CAAyB,MAAzB,mBAAiD;AAC9E,CAAA,aAAO,qBAAqB,SAAS,MAAT,CAArB,EAAuC,UAAU,MAAV,GAAmB,CAAnB,GAAuB,SAAvB,GAAmC,UAAU,UAAU,CAAV,CAAV,CAA1E,CAAP;AACD,CAAA,KAFY,EAAb;;;;;;AChBA,CAAA,MAAI,WAAyBA,cAAA,cAAA,CAA7B;AAAA,CAAA,MACI,WAAyBA,cAAA,WAAA,CAD7B;AAAA,CAAA,MAEI,yBAAyB,SAAS,GAFtC;AAAA,CAAA,MAGI,YAAyB,SAAS,GAHtC;;AAKA,CAAA,WAAS,GAAT,CAAa,EAAC,gBAAgB,SAAS,cAAT,CAAwB,WAAxB,EAAqC,MAArC,mBAA6D;AACzF,CAAA,aAAO,uBAAuB,WAAvB,EAAoC,SAAS,MAAT,CAApC,EACH,UAAU,MAAV,GAAmB,CAAnB,GAAuB,SAAvB,GAAmC,UAAU,UAAU,CAAV,CAAV,CADhC,CAAP;AAED,CAAA,KAHY,EAAb;;;;;;ACLA,CAAA,MAAI,WAA0BA,cAAA,cAAA,CAA9B;AAAA,CAAA,MACI,WAA0BA,cAAA,WAAA,CAD9B;AAAA,CAAA,MAEI,0BAA0B,SAAS,IAFvC;AAAA,CAAA,MAGI,YAA0B,SAAS,GAHvC;;AAKA,CAAA,WAAS,GAAT,CAAa,EAAC,oBAAoB,SAAS,kBAAT,CAA4B,MAA5B,mBAAoD;AACpF,CAAA,aAAO,wBAAwB,SAAS,MAAT,CAAxB,EAA0C,UAAU,MAAV,GAAmB,CAAnB,GAAuB,SAAvB,GAAmC,UAAU,UAAU,CAAV,CAAV,CAA7E,CAAP;AACD,CAAA,KAFY,EAAb;;;;;;ACLA,CAAA,MAAI,WAAyBA,cAAA,cAAA,CAA7B;AAAA,CAAA,MACI,WAAyBA,cAAA,WAAA,CAD7B;AAAA,CAAA,MAEI,iBAAyBA,cAAA,cAAA,CAF7B;AAAA,CAAA,MAGI,yBAAyB,SAAS,GAHtC;AAAA,CAAA,MAII,YAAyB,SAAS,GAJtC;;AAMA,CAAA,MAAI,sBAAsB,SAAtB,mBAAsB,CAAS,WAAT,EAAsB,CAAtB,EAAyB,CAAzB,EAA2B;AACnD,CAAA,QAAI,SAAS,uBAAuB,WAAvB,EAAoC,CAApC,EAAuC,CAAvC,CAAb;AACA,CAAA,QAAG,MAAH,EAAU,OAAO,IAAP;AACV,CAAA,QAAI,SAAS,eAAe,CAAf,CAAb;AACA,CAAA,WAAO,WAAW,IAAX,GAAkB,oBAAoB,WAApB,EAAiC,MAAjC,EAAyC,CAAzC,CAAlB,GAAgE,KAAvE;AACD,CAAA,GALD;;AAOA,CAAA,WAAS,GAAT,CAAa,EAAC,aAAa,SAAS,WAAT,CAAqB,WAArB,EAAkC,MAAlC,mBAA0D;AACnF,CAAA,aAAO,oBAAoB,WAApB,EAAiC,SAAS,MAAT,CAAjC,EAAmD,UAAU,MAAV,GAAmB,CAAnB,GAAuB,SAAvB,GAAmC,UAAU,UAAU,CAAV,CAAV,CAAtF,CAAP;AACD,CAAA,KAFY,EAAb;;;;;;ACbA,CAAA,MAAI,WAAyBA,cAAA,cAAA,CAA7B;AAAA,CAAA,MACI,WAAyBA,cAAA,WAAA,CAD7B;AAAA,CAAA,MAEI,yBAAyB,SAAS,GAFtC;AAAA,CAAA,MAGI,YAAyB,SAAS,GAHtC;;AAKA,CAAA,WAAS,GAAT,CAAa,EAAC,gBAAgB,SAAS,cAAT,CAAwB,WAAxB,EAAqC,MAArC,mBAA6D;AACzF,CAAA,aAAO,uBAAuB,WAAvB,EAAoC,SAAS,MAAT,CAApC,EACH,UAAU,MAAV,GAAmB,CAAnB,GAAuB,SAAvB,GAAmC,UAAU,UAAU,CAAV,CAAV,CADhC,CAAP;AAED,CAAA,KAHY,EAAb;;;;;;ACLA,CAAA,MAAI,WAA4BA,cAAA,cAAA,CAAhC;AAAA,CAAA,MACI,WAA4BA,cAAA,WAAA,CADhC;AAAA,CAAA,MAEI,YAA4BA,cAAA,aAAA,CAFhC;AAAA,CAAA,MAGI,YAA4B,SAAS,GAHzC;AAAA,CAAA,MAII,4BAA4B,SAAS,GAJzC;;AAMA,CAAA,WAAS,GAAT,CAAa,EAAC,UAAU,SAAS,QAAT,CAAkB,WAAlB,EAA+B,aAA/B,EAA6C;AACnE,CAAA,aAAO,SAAS,SAAT,CAAmB,MAAnB,EAA2B,SAA3B,EAAqC;AAC1C,CAAA,kCACE,WADF,EACe,aADf,EAEE,CAAC,cAAc,SAAd,GAA0B,QAA1B,GAAqC,SAAtC,EAAiD,MAAjD,CAFF,EAGE,UAAU,SAAV,CAHF;AAKD,CAAA,OAND;AAOD,CAAA,KARY,EAAb;;;;;;ACNA,CAAA;AACA,CAAA,MAAI,UAAYA,cAAA,aAAA,CAAhB;AAAA,CAAA,MACI,YAAYA,cAAA,aAAA,GADhB;AAAA,CAAA,MAEI,UAAYA,cAAA,WAAA,EAAqB,OAFrC;AAAA,CAAA,MAGI,SAAYA,cAAA,aAAA,EAAkB,OAAlB,KAA8B,SAH9C;;AAKA,CAAA,UAAQ,QAAQ,CAAhB,EAAmB;AACjB,CAAA,UAAM,SAAS,IAAT,CAAc,EAAd,EAAiB;AACrB,CAAA,UAAI,SAAS,UAAU,QAAQ,MAA/B;AACA,CAAA,gBAAU,SAAS,OAAO,IAAP,CAAY,EAAZ,CAAT,GAA2B,EAArC;AACD,CAAA;AAJgB,CAAA,GAAnB;;;;;;ACNA,CAAA;;;AAEA,CAAA,MAAI,UAAcA,cAAA,aAAA,CAAlB;AAAA,CAAA,MACI,SAAcA,cAAA,WAAA,CADlB;AAAA,CAAA,MAEI,OAAcA,cAAA,WAAA,CAFlB;AAAA,CAAA,MAGI,YAAcA,cAAA,aAAA,GAHlB;AAAA,CAAA,MAII,aAAcA,cAAA,aAAA,EAAkB,YAAlB,CAJlB;AAAA,CAAA,MAKI,YAAcA,cAAA,aAAA,CALlB;AAAA,CAAA,MAMI,WAAcA,cAAA,WAAA,CANlB;AAAA,CAAA,MAOI,aAAcA,cAAA,aAAA,CAPlB;AAAA,CAAA,MAQI,cAAcA,cAAA,aAAA,CARlB;AAAA,CAAA,MASI,OAAcA,cAAA,WAAA,CATlB;AAAA,CAAA,MAUI,QAAcA,cAAA,cAAA,CAVlB;AAAA,CAAA,MAWI,SAAc,MAAM,MAXxB;;AAaA,CAAA,MAAI,YAAY,SAAZ,SAAY,CAAS,EAAT,EAAY;AAC1B,CAAA,WAAO,MAAM,IAAN,GAAa,SAAb,GAAyB,UAAU,EAAV,CAAhC;AACD,CAAA,GAFD;;AAIA,CAAA,MAAI,sBAAsB,SAAtB,mBAAsB,CAAS,YAAT,EAAsB;AAC9C,CAAA,QAAI,UAAU,aAAa,EAA3B;AACA,CAAA,QAAG,OAAH,EAAW;AACT,CAAA,mBAAa,EAAb,GAAkB,SAAlB;AACA,CAAA;AACD,CAAA;AACF,CAAA,GAND;;AAQA,CAAA,MAAI,qBAAqB,SAArB,kBAAqB,CAAS,YAAT,EAAsB;AAC7C,CAAA,WAAO,aAAa,EAAb,KAAoB,SAA3B;AACD,CAAA,GAFD;;AAIA,CAAA,MAAI,oBAAoB,SAApB,iBAAoB,CAAS,YAAT,EAAsB;AAC5C,CAAA,QAAG,CAAC,mBAAmB,YAAnB,CAAJ,EAAqC;AACnC,CAAA,mBAAa,EAAb,GAAkB,SAAlB;AACA,CAAA,0BAAoB,YAApB;AACD,CAAA;AACF,CAAA,GALD;;AAOA,CAAA,MAAI,eAAe,SAAf,YAAe,CAAS,QAAT,EAAmB,UAAnB,EAA8B;AAC/C,CAAA,aAAS,QAAT;AACA,CAAA,SAAK,EAAL,GAAU,SAAV;AACA,CAAA,SAAK,EAAL,GAAU,QAAV;AACA,CAAA,eAAW,IAAI,oBAAJ,CAAyB,IAAzB,CAAX;AACA,CAAA,QAAI;AACF,CAAA,UAAI,UAAe,WAAW,QAAX,CAAnB;AAAA,CAAA,UACI,eAAe,OADnB;AAEA,CAAA,UAAG,WAAW,IAAd,EAAmB;AACjB,CAAA,YAAG,OAAO,QAAQ,WAAf,KAA+B,UAAlC,EAA6C,UAAU,mBAAU;AAAE,CAAA,uBAAa,WAAb;AAA6B,CAAA,SAAnD,CAA7C,KACK,UAAU,OAAV;AACL,CAAA,aAAK,EAAL,GAAU,OAAV;AACD,CAAA;AACF,CAAA,KARD,CAQE,OAAM,CAAN,EAAQ;AACR,CAAA,eAAS,KAAT,CAAe,CAAf;AACA,CAAA;AACD,CAAA,KAAC,IAAG,mBAAmB,IAAnB,CAAH,EAA4B,oBAAoB,IAApB;AAC/B,CAAA,GAjBD;;AAmBA,CAAA,eAAa,SAAb,GAAyB,YAAY,EAAZ,EAAgB;AACvC,CAAA,iBAAa,SAAS,WAAT,GAAsB;AAAE,CAAA,wBAAkB,IAAlB;AAA0B,CAAA;AADxB,CAAA,GAAhB,CAAzB;;AAIA,CAAA,MAAI,uBAAuB,SAAvB,oBAAuB,CAAS,YAAT,EAAsB;AAC/C,CAAA,SAAK,EAAL,GAAU,YAAV;AACD,CAAA,GAFD;;AAIA,CAAA,uBAAqB,SAArB,GAAiC,YAAY,EAAZ,EAAgB;AAC/C,CAAA,UAAM,SAAS,IAAT,CAAc,KAAd,EAAoB;AACxB,CAAA,UAAI,eAAe,KAAK,EAAxB;AACA,CAAA,UAAG,CAAC,mBAAmB,YAAnB,CAAJ,EAAqC;AACnC,CAAA,YAAI,WAAW,aAAa,EAA5B;AACA,CAAA,YAAI;AACF,CAAA,cAAI,IAAI,UAAU,SAAS,IAAnB,CAAR;AACA,CAAA,cAAG,CAAH,EAAK,OAAO,EAAE,IAAF,CAAO,QAAP,EAAiB,KAAjB,CAAP;AACN,CAAA,SAHD,CAGE,OAAM,CAAN,EAAQ;AACR,CAAA,cAAI;AACF,CAAA,8BAAkB,YAAlB;AACD,CAAA,WAFD,SAEU;AACR,CAAA,kBAAM,CAAN;AACD,CAAA;AACF,CAAA;AACF,CAAA;AACF,CAAA,KAhB8C;AAiB/C,CAAA,WAAO,SAAS,KAAT,CAAe,KAAf,EAAqB;AAC1B,CAAA,UAAI,eAAe,KAAK,EAAxB;AACA,CAAA,UAAG,mBAAmB,YAAnB,CAAH,EAAoC,MAAM,KAAN;AACpC,CAAA,UAAI,WAAW,aAAa,EAA5B;AACA,CAAA,mBAAa,EAAb,GAAkB,SAAlB;AACA,CAAA,UAAI;AACF,CAAA,YAAI,IAAI,UAAU,SAAS,KAAnB,CAAR;AACA,CAAA,YAAG,CAAC,CAAJ,EAAM,MAAM,KAAN;AACN,CAAA,gBAAQ,EAAE,IAAF,CAAO,QAAP,EAAiB,KAAjB,CAAR;AACD,CAAA,OAJD,CAIE,OAAM,CAAN,EAAQ;AACR,CAAA,YAAI;AACF,CAAA,8BAAoB,YAApB;AACD,CAAA,SAFD,SAEU;AACR,CAAA,gBAAM,CAAN;AACD,CAAA;AACF,CAAA,OAAC,oBAAoB,YAApB;AACF,CAAA,aAAO,KAAP;AACD,CAAA,KAlC8C;AAmC/C,CAAA,cAAU,SAAS,QAAT,CAAkB,KAAlB,EAAwB;AAChC,CAAA,UAAI,eAAe,KAAK,EAAxB;AACA,CAAA,UAAG,CAAC,mBAAmB,YAAnB,CAAJ,EAAqC;AACnC,CAAA,YAAI,WAAW,aAAa,EAA5B;AACA,CAAA,qBAAa,EAAb,GAAkB,SAAlB;AACA,CAAA,YAAI;AACF,CAAA,cAAI,IAAI,UAAU,SAAS,QAAnB,CAAR;AACA,CAAA,kBAAQ,IAAI,EAAE,IAAF,CAAO,QAAP,EAAiB,KAAjB,CAAJ,GAA8B,SAAtC;AACD,CAAA,SAHD,CAGE,OAAM,CAAN,EAAQ;AACR,CAAA,cAAI;AACF,CAAA,gCAAoB,YAApB;AACD,CAAA,WAFD,SAEU;AACR,CAAA,kBAAM,CAAN;AACD,CAAA;AACF,CAAA,SAAC,oBAAoB,YAApB;AACF,CAAA,eAAO,KAAP;AACD,CAAA;AACF,CAAA;AApD8C,CAAA,GAAhB,CAAjC;;AAuDA,CAAA,MAAI,cAAc,SAAS,UAAT,CAAoB,UAApB,EAA+B;AAC/C,CAAA,eAAW,IAAX,EAAiB,WAAjB,EAA8B,YAA9B,EAA4C,IAA5C,EAAkD,EAAlD,GAAuD,UAAU,UAAV,CAAvD;AACD,CAAA,GAFD;;AAIA,CAAA,cAAY,YAAY,SAAxB,EAAmC;AACjC,CAAA,eAAW,SAAS,SAAT,CAAmB,QAAnB,EAA4B;AACrC,CAAA,aAAO,IAAI,YAAJ,CAAiB,QAAjB,EAA2B,KAAK,EAAhC,CAAP;AACD,CAAA,KAHgC;AAIjC,CAAA,aAAS,SAAS,OAAT,CAAiB,EAAjB,EAAoB;AAC3B,CAAA,UAAI,OAAO,IAAX;AACA,CAAA,aAAO,KAAK,KAAK,OAAL,IAAgB,OAAO,OAA5B,EAAqC,UAAS,OAAT,EAAkB,MAAlB,EAAyB;AACnE,CAAA,kBAAU,EAAV;AACA,CAAA,YAAI,eAAe,KAAK,SAAL,CAAe;AAChC,CAAA,gBAAO,cAAS,KAAT,EAAe;AACpB,CAAA,gBAAI;AACF,CAAA,qBAAO,GAAG,KAAH,CAAP;AACD,CAAA,aAFD,CAEE,OAAM,CAAN,EAAQ;AACR,CAAA,qBAAO,CAAP;AACA,CAAA,2BAAa,WAAb;AACD,CAAA;AACF,CAAA,WAR+B;AAShC,CAAA,iBAAO,MATyB;AAUhC,CAAA,oBAAU;AAVsB,CAAA,SAAf,CAAnB;AAYD,CAAA,OAdM,CAAP;AAeD,CAAA;AArBgC,CAAA,GAAnC;;AAwBA,CAAA,cAAY,WAAZ,EAAyB;AACvB,CAAA,UAAM,SAAS,IAAT,CAAc,CAAd,EAAgB;AACpB,CAAA,UAAI,IAAI,OAAO,IAAP,KAAgB,UAAhB,GAA6B,IAA7B,GAAoC,WAA5C;AACA,CAAA,UAAI,SAAS,UAAU,SAAS,CAAT,EAAY,UAAZ,CAAV,CAAb;AACA,CAAA,UAAG,MAAH,EAAU;AACR,CAAA,YAAI,aAAa,SAAS,OAAO,IAAP,CAAY,CAAZ,CAAT,CAAjB;AACA,CAAA,eAAO,WAAW,WAAX,KAA2B,CAA3B,GAA+B,UAA/B,GAA4C,IAAI,CAAJ,CAAM,UAAS,QAAT,EAAkB;AACzE,CAAA,iBAAO,WAAW,SAAX,CAAqB,QAArB,CAAP;AACD,CAAA,SAFkD,CAAnD;AAGD,CAAA;AACD,CAAA,aAAO,IAAI,CAAJ,CAAM,UAAS,QAAT,EAAkB;AAC7B,CAAA,YAAI,OAAO,KAAX;AACA,CAAA,kBAAU,YAAU;AAClB,CAAA,cAAG,CAAC,IAAJ,EAAS;AACP,CAAA,gBAAI;AACF,CAAA,kBAAG,MAAM,CAAN,EAAS,KAAT,EAAgB,UAAS,EAAT,EAAY;AAC7B,CAAA,yBAAS,IAAT,CAAc,EAAd;AACA,CAAA,oBAAG,IAAH,EAAQ,OAAO,MAAP;AACT,CAAA,eAHE,MAGI,MAHP,EAGc;AACf,CAAA,aALD,CAKE,OAAM,CAAN,EAAQ;AACR,CAAA,kBAAG,IAAH,EAAQ,MAAM,CAAN;AACR,CAAA,uBAAS,KAAT,CAAe,CAAf;AACA,CAAA;AACD,CAAA,aAAC,SAAS,QAAT;AACH,CAAA;AACF,CAAA,SAbD;AAcA,CAAA,eAAO,YAAU;AAAE,CAAA,iBAAO,IAAP;AAAc,CAAA,SAAjC;AACD,CAAA,OAjBM,CAAP;AAkBD,CAAA,KA5BsB;AA6BvB,CAAA,QAAI,SAAS,EAAT,GAAa;AACf,CAAA,WAAI,IAAI,IAAI,CAAR,EAAW,IAAI,UAAU,MAAzB,EAAiC,QAAQ,MAAM,CAAN,CAA7C,EAAuD,IAAI,CAA3D;AAA8D,CAAA,cAAM,CAAN,IAAW,UAAU,GAAV,CAAX;AAA9D,CAAA,OACA,OAAO,KAAK,OAAO,IAAP,KAAgB,UAAhB,GAA6B,IAA7B,GAAoC,WAAzC,EAAsD,UAAS,QAAT,EAAkB;AAC7E,CAAA,YAAI,OAAO,KAAX;AACA,CAAA,kBAAU,YAAU;AAClB,CAAA,cAAG,CAAC,IAAJ,EAAS;AACP,CAAA,iBAAI,IAAI,IAAI,CAAZ,EAAe,IAAI,MAAM,MAAzB,EAAiC,EAAE,CAAnC,EAAqC;AACnC,CAAA,uBAAS,IAAT,CAAc,MAAM,CAAN,CAAd;AACA,CAAA,kBAAG,IAAH,EAAQ;AACT,CAAA,aAAC,SAAS,QAAT;AACH,CAAA;AACF,CAAA,SAPD;AAQA,CAAA,eAAO,YAAU;AAAE,CAAA,iBAAO,IAAP;AAAc,CAAA,SAAjC;AACD,CAAA,OAXM,CAAP;AAYD,CAAA;AA3CsB,CAAA,GAAzB;;AA8CA,CAAA,OAAK,YAAY,SAAjB,EAA4B,UAA5B,EAAwC,YAAU;AAAE,CAAA,WAAO,IAAP;AAAc,CAAA,GAAlE;;AAEA,CAAA,UAAQ,QAAQ,CAAhB,EAAmB,EAAC,YAAY,WAAb,EAAnB;;AAEA,CAAA,gBAAA,cAAA,EAA0B,YAA1B;;;;;;ACtMA,CAAA,SAAO,OAAP,GAAiBA,cAAA,WAAA,CAAjB;;;;;;;;;;ACAA,CAAA;;AACA,CAAA,MAAI,OAAYA,cAAA,cAAA,CAAhB;AAAA,CAAA,MACI,SAAYA,cAAA,cAAA,CADhB;AAAA,CAAA,MAEI,YAAYA,cAAA,aAAA,CAFhB;AAGA,CAAA,SAAO,OAAP,GAAiB,0BAAwB;AACvC,CAAA,QAAI,KAAS,UAAU,IAAV,CAAb;AAAA,CAAA,QACI,SAAS,UAAU,MADvB;AAAA,CAAA,QAEI,QAAS,MAAM,MAAN,CAFb;AAAA,CAAA,QAGI,IAAS,CAHb;AAAA,CAAA,QAII,IAAS,KAAK,CAJlB;AAAA,CAAA,QAKI,SAAS,KALb;AAMA,CAAA,WAAM,SAAS,CAAf;AAAiB,CAAA,UAAG,CAAC,MAAM,CAAN,IAAW,UAAU,GAAV,CAAZ,MAAgC,CAAnC,EAAqC,SAAS,IAAT;AAAtD,CAAA,KACA,OAAO,yBAAuB;AAC5B,CAAA,UAAI,OAAO,IAAX;AAAA,CAAA,UACI,OAAO,UAAU,MADrB;AAAA,CAAA,UAEI,IAAI,CAFR;AAAA,CAAA,UAEW,IAAI,CAFf;AAAA,CAAA,UAEkB,IAFlB;AAGA,CAAA,UAAG,CAAC,MAAD,IAAW,CAAC,IAAf,EAAoB,OAAO,OAAO,EAAP,EAAW,KAAX,EAAkB,IAAlB,CAAP;AACpB,CAAA,aAAO,MAAM,KAAN,EAAP;AACA,CAAA,UAAG,MAAH,EAAU,OAAK,SAAS,CAAd,EAAiB,GAAjB;AAAqB,CAAA,YAAG,KAAK,CAAL,MAAY,CAAf,EAAiB,KAAK,CAAL,IAAU,UAAU,GAAV,CAAV;AAAtC,CAAA,OACV,OAAM,OAAO,CAAb;AAAe,CAAA,aAAK,IAAL,CAAU,UAAU,GAAV,CAAV;AAAf,CAAA,OACA,OAAO,OAAO,EAAP,EAAW,IAAX,EAAiB,IAAjB,CAAP;AACD,CAAA,KATD;AAUD,CAAA,GAlBD;;;;;;;;;;ACJA,CAAA;AACA,CAAA,MAAI,SAAaA,cAAA,WAAA,CAAjB;AAAA,CAAA,MACI,UAAaA,cAAA,aAAA,CADjB;AAAA,CAAA,MAEI,SAAaA,cAAA,cAAA,CAFjB;AAAA,CAAA,MAGI,UAAaA,cAAA,cAAA,CAHjB;AAAA,CAAA,MAII,YAAa,OAAO,SAJxB;AAAA,CAAA,MAKI,OAAa,CAAC,CAAC,SAAF,IAAe,WAAW,IAAX,CAAgB,UAAU,SAA1B,CALhC;AAMA,CAAA,MAAI,OAAO,SAAP,IAAO,CAAS,GAAT,EAAa;AACtB,CAAA,WAAO,OAAO,UAAS,EAAT,EAAa,IAAb,iBAAiC;AAC7C,CAAA,aAAO,IAAI,OACT,OADS,EAET,GAAG,KAAH,CAAS,IAAT,CAAc,SAAd,EAAyB,CAAzB,CAFS,EAGT,OAAO,EAAP,IAAa,UAAb,GAA0B,EAA1B,GAA+B,SAAS,EAAT,CAHtB,CAAJ,EAIJ,IAJI,CAAP;AAKD,CAAA,KANM,GAMH,GANJ;AAOD,CAAA,GARD;AASA,CAAA,UAAQ,QAAQ,CAAR,GAAY,QAAQ,CAApB,GAAwB,QAAQ,CAAR,GAAY,IAA5C,EAAkD;AAChD,CAAA,gBAAa,KAAK,OAAO,UAAZ,CADmC;AAEhD,CAAA,iBAAa,KAAK,OAAO,WAAZ;AAFmC,CAAA,GAAlD;;;;;;AChBA,CAAA,MAAI,UAAUA,cAAA,aAAA,CAAd;AAAA,CAAA,MACI,QAAUA,cAAA,cAAA,CADd;AAEA,CAAA,UAAQ,QAAQ,CAAR,GAAY,QAAQ,CAA5B,EAA+B;AAC7B,CAAA,kBAAgB,MAAM,GADO;AAE7B,CAAA,oBAAgB,MAAM;AAFO,CAAA,GAA/B;;;;;;ACFA,CAAA,MAAI,aAAgBA,cAAA,aAAA,CAApB;AAAA,CAAA,MACI,WAAgBA,cAAA,aAAA,CADpB;AAAA,CAAA,MAEI,SAAgBA,cAAA,WAAA,CAFpB;AAAA,CAAA,MAGI,OAAgBA,cAAA,WAAA,CAHpB;AAAA,CAAA,MAII,YAAgBA,cAAA,cAAA,CAJpB;AAAA,CAAA,MAKI,MAAgBA,cAAA,aAAA,CALpB;AAAA,CAAA,MAMI,WAAgB,IAAI,UAAJ,CANpB;AAAA,CAAA,MAOI,gBAAgB,IAAI,aAAJ,CAPpB;AAAA,CAAA,MAQI,cAAgB,UAAU,KAR9B;;AAUA,CAAA,OAAI,IAAI,cAAc,CAAC,UAAD,EAAa,cAAb,EAA6B,WAA7B,EAA0C,gBAA1C,EAA4D,aAA5D,CAAlB,EAA8F,IAAI,CAAtG,EAAyG,IAAI,CAA7G,EAAgH,GAAhH,EAAoH;AAClH,CAAA,QAAI,OAAa,YAAY,CAAZ,CAAjB;AAAA,CAAA,QACI,aAAa,OAAO,IAAP,CADjB;AAAA,CAAA,QAEI,QAAa,cAAc,WAAW,SAF1C;AAAA,CAAA,QAGI,GAHJ;AAIA,CAAA,QAAG,KAAH,EAAS;AACP,CAAA,UAAG,CAAC,MAAM,QAAN,CAAJ,EAAoB,KAAK,KAAL,EAAY,QAAZ,EAAsB,WAAtB;AACpB,CAAA,UAAG,CAAC,MAAM,aAAN,CAAJ,EAAyB,KAAK,KAAL,EAAY,aAAZ,EAA2B,IAA3B;AACzB,CAAA,gBAAU,IAAV,IAAkB,WAAlB;AACA,CAAA,WAAI,GAAJ,IAAW,UAAX;AAAsB,CAAA,YAAG,CAAC,MAAM,GAAN,CAAJ,EAAe,SAAS,KAAT,EAAgB,GAAhB,EAAqB,WAAW,GAAX,CAArB,EAAsC,IAAtC;AAArC,CAAA;AACD,CAAA;;;;;;;AC2JH,CAAA,SAAO,OAAP,GAAiBA,cAAA,WAAA,CAAjB;;;;;;AC/KA,CAAA;;;;;;;;;;AAUA,CAAA,GAAE,UAAS,MAAT,EAAiB;AACjB,CAAA;;AAEA,CAAA,QAAI,SAAS,OAAO,SAAP,CAAiB,cAA9B;AACA,CAAA,QAAI,SAAJ,CAJiB;AAKjB,CAAA,QAAI,UAAU,OAAO,MAAP,KAAkB,UAAlB,GAA+B,MAA/B,GAAwC,EAAtD;AACA,CAAA,QAAI,iBAAiB,QAAQ,QAAR,IAAoB,YAAzC;AACA,CAAA,QAAI,oBAAoB,QAAQ,WAAR,IAAuB,eAA/C;;AAEA,CAAA,QAAI,WAAW,QAAO,MAAP,yCAAO,MAAP,OAAkB,QAAjC;AACA,CAAA,QAAI,UAAU,OAAO,kBAArB;AACA,CAAA,QAAI,OAAJ,EAAa;AACX,CAAA,UAAI,QAAJ,EAAc;;;AAGZ,CAAA,eAAO,OAAP,GAAiB,OAAjB;AACD,CAAA;;;AAGD,CAAA;AACD,CAAA;;;;AAID,CAAA,cAAU,OAAO,kBAAP,GAA4B,WAAW,OAAO,OAAlB,GAA4B,EAAlE;;AAEA,CAAA,aAAS,IAAT,CAAc,OAAd,EAAuB,OAAvB,EAAgC,IAAhC,EAAsC,WAAtC,EAAmD;;AAEjD,CAAA,UAAI,YAAY,OAAO,MAAP,CAAc,CAAC,WAAW,SAAZ,EAAuB,SAArC,CAAhB;AACA,CAAA,UAAI,UAAU,IAAI,OAAJ,CAAY,eAAe,EAA3B,CAAd;;;;AAIA,CAAA,gBAAU,OAAV,GAAoB,iBAAiB,OAAjB,EAA0B,IAA1B,EAAgC,OAAhC,CAApB;;AAEA,CAAA,aAAO,SAAP;AACD,CAAA;AACD,CAAA,YAAQ,IAAR,GAAe,IAAf;;;;;;;;;;;;AAYA,CAAA,aAAS,QAAT,CAAkB,EAAlB,EAAsB,GAAtB,EAA2B,GAA3B,EAAgC;AAC9B,CAAA,UAAI;AACF,CAAA,eAAO,EAAE,MAAM,QAAR,EAAkB,KAAK,GAAG,IAAH,CAAQ,GAAR,EAAa,GAAb,CAAvB,EAAP;AACD,CAAA,OAFD,CAEE,OAAO,GAAP,EAAY;AACZ,CAAA,eAAO,EAAE,MAAM,OAAR,EAAiB,KAAK,GAAtB,EAAP;AACD,CAAA;AACF,CAAA;;AAED,CAAA,QAAI,yBAAyB,gBAA7B;AACA,CAAA,QAAI,yBAAyB,gBAA7B;AACA,CAAA,QAAI,oBAAoB,WAAxB;AACA,CAAA,QAAI,oBAAoB,WAAxB;;;;AAIA,CAAA,QAAI,mBAAmB,EAAvB;;;;;;AAMA,CAAA,aAAS,SAAT,GAAqB;AACrB,CAAA,aAAS,iBAAT,GAA6B;AAC7B,CAAA,aAAS,0BAAT,GAAsC;;AAEtC,CAAA,QAAI,KAAK,2BAA2B,SAA3B,GAAuC,UAAU,SAA1D;AACA,CAAA,sBAAkB,SAAlB,GAA8B,GAAG,WAAH,GAAiB,0BAA/C;AACA,CAAA,+BAA2B,WAA3B,GAAyC,iBAAzC;AACA,CAAA,+BAA2B,iBAA3B,IAAgD,kBAAkB,WAAlB,GAAgC,mBAAhF;;;;AAIA,CAAA,aAAS,qBAAT,CAA+B,SAA/B,EAA0C;AACxC,CAAA,OAAC,MAAD,EAAS,OAAT,EAAkB,QAAlB,EAA4B,OAA5B,CAAoC,UAAS,MAAT,EAAiB;AACnD,CAAA,kBAAU,MAAV,IAAoB,UAAS,GAAT,EAAc;AAChC,CAAA,iBAAO,KAAK,OAAL,CAAa,MAAb,EAAqB,GAArB,CAAP;AACD,CAAA,SAFD;AAGD,CAAA,OAJD;AAKD,CAAA;;AAED,CAAA,YAAQ,mBAAR,GAA8B,UAAS,MAAT,EAAiB;AAC7C,CAAA,UAAI,OAAO,OAAO,MAAP,KAAkB,UAAlB,IAAgC,OAAO,WAAlD;AACA,CAAA,aAAO,OACH,SAAS,iBAAT;;;AAGA,CAAA,OAAC,KAAK,WAAL,IAAoB,KAAK,IAA1B,MAAoC,mBAJjC,GAKH,KALJ;AAMD,CAAA,KARD;;AAUA,CAAA,YAAQ,IAAR,GAAe,UAAS,MAAT,EAAiB;AAC9B,CAAA,UAAI,OAAO,cAAX,EAA2B;AACzB,CAAA,eAAO,cAAP,CAAsB,MAAtB,EAA8B,0BAA9B;AACD,CAAA,OAFD,MAEO;AACL,CAAA,eAAO,SAAP,GAAmB,0BAAnB;AACA,CAAA,YAAI,EAAE,qBAAqB,MAAvB,CAAJ,EAAoC;AAClC,CAAA,iBAAO,iBAAP,IAA4B,mBAA5B;AACD,CAAA;AACF,CAAA;AACD,CAAA,aAAO,SAAP,GAAmB,OAAO,MAAP,CAAc,EAAd,CAAnB;AACA,CAAA,aAAO,MAAP;AACD,CAAA,KAXD;;;;;;;AAkBA,CAAA,YAAQ,KAAR,GAAgB,UAAS,GAAT,EAAc;AAC5B,CAAA,aAAO,IAAI,aAAJ,CAAkB,GAAlB,CAAP;AACD,CAAA,KAFD;;AAIA,CAAA,aAAS,aAAT,CAAuB,GAAvB,EAA4B;AAC1B,CAAA,WAAK,GAAL,GAAW,GAAX;AACD,CAAA;;AAED,CAAA,aAAS,aAAT,CAAuB,SAAvB,EAAkC;AAChC,CAAA,eAAS,MAAT,CAAgB,MAAhB,EAAwB,GAAxB,EAA6B,OAA7B,EAAsC,MAAtC,EAA8C;AAC5C,CAAA,YAAI,SAAS,SAAS,UAAU,MAAV,CAAT,EAA4B,SAA5B,EAAuC,GAAvC,CAAb;AACA,CAAA,YAAI,OAAO,IAAP,KAAgB,OAApB,EAA6B;AAC3B,CAAA,iBAAO,OAAO,GAAd;AACD,CAAA,SAFD,MAEO;AACL,CAAA,cAAI,SAAS,OAAO,GAApB;AACA,CAAA,cAAI,QAAQ,OAAO,KAAnB;AACA,CAAA,cAAI,iBAAiB,aAArB,EAAoC;AAClC,CAAA,mBAAO,QAAQ,OAAR,CAAgB,MAAM,GAAtB,EAA2B,IAA3B,CAAgC,UAAS,KAAT,EAAgB;AACrD,CAAA,qBAAO,MAAP,EAAe,KAAf,EAAsB,OAAtB,EAA+B,MAA/B;AACD,CAAA,aAFM,EAEJ,UAAS,GAAT,EAAc;AACf,CAAA,qBAAO,OAAP,EAAgB,GAAhB,EAAqB,OAArB,EAA8B,MAA9B;AACD,CAAA,aAJM,CAAP;AAKD,CAAA;;AAED,CAAA,iBAAO,QAAQ,OAAR,CAAgB,KAAhB,EAAuB,IAAvB,CAA4B,UAAS,SAAT,EAAoB;;;;;;;;;;;;;;;;AAgBrD,CAAA,mBAAO,KAAP,GAAe,SAAf;AACA,CAAA,oBAAQ,MAAR;AACD,CAAA,WAlBM,EAkBJ,MAlBI,CAAP;AAmBD,CAAA;AACF,CAAA;;AAED,CAAA,UAAI,QAAO,OAAP,yCAAO,OAAP,OAAmB,QAAnB,IAA+B,QAAQ,MAA3C,EAAmD;AACjD,CAAA,iBAAS,QAAQ,MAAR,CAAe,IAAf,CAAoB,MAApB,CAAT;AACD,CAAA;;AAED,CAAA,UAAI,eAAJ;;AAEA,CAAA,eAAS,OAAT,CAAiB,MAAjB,EAAyB,GAAzB,EAA8B;AAC5B,CAAA,iBAAS,0BAAT,GAAsC;AACpC,CAAA,iBAAO,IAAI,OAAJ,CAAY,UAAS,OAAT,EAAkB,MAAlB,EAA0B;AAC3C,CAAA,mBAAO,MAAP,EAAe,GAAf,EAAoB,OAApB,EAA6B,MAA7B;AACD,CAAA,WAFM,CAAP;AAGD,CAAA;;AAED,CAAA,eAAO;;;;;;;;;;;;;AAaL,CAAA,0BAAkB,gBAAgB,IAAhB,CAChB,0BADgB;;;AAIhB,CAAA,kCAJgB,CAAlB,GAKI,4BAlBN;AAmBD,CAAA;;;;AAID,CAAA,WAAK,OAAL,GAAe,OAAf;AACD,CAAA;;AAED,CAAA,0BAAsB,cAAc,SAApC;;;;;AAKA,CAAA,YAAQ,KAAR,GAAgB,UAAS,OAAT,EAAkB,OAAlB,EAA2B,IAA3B,EAAiC,WAAjC,EAA8C;AAC5D,CAAA,UAAI,OAAO,IAAI,aAAJ,CACT,KAAK,OAAL,EAAc,OAAd,EAAuB,IAAvB,EAA6B,WAA7B,CADS,CAAX;;AAIA,CAAA,aAAO,QAAQ,mBAAR,CAA4B,OAA5B,IACH,IADG;AAAA,CAAA,QAEH,KAAK,IAAL,GAAY,IAAZ,CAAiB,UAAS,MAAT,EAAiB;AAChC,CAAA,eAAO,OAAO,IAAP,GAAc,OAAO,KAArB,GAA6B,KAAK,IAAL,EAApC;AACD,CAAA,OAFD,CAFJ;AAKD,CAAA,KAVD;;AAYA,CAAA,aAAS,gBAAT,CAA0B,OAA1B,EAAmC,IAAnC,EAAyC,OAAzC,EAAkD;AAChD,CAAA,UAAI,QAAQ,sBAAZ;;AAEA,CAAA,aAAO,SAAS,MAAT,CAAgB,MAAhB,EAAwB,GAAxB,EAA6B;AAClC,CAAA,YAAI,UAAU,iBAAd,EAAiC;AAC/B,CAAA,gBAAM,IAAI,KAAJ,CAAU,8BAAV,CAAN;AACD,CAAA;;AAED,CAAA,YAAI,UAAU,iBAAd,EAAiC;AAC/B,CAAA,cAAI,WAAW,OAAf,EAAwB;AACtB,CAAA,kBAAM,GAAN;AACD,CAAA;;;;AAID,CAAA,iBAAO,YAAP;AACD,CAAA;;AAED,CAAA,eAAO,IAAP,EAAa;AACX,CAAA,cAAI,WAAW,QAAQ,QAAvB;AACA,CAAA,cAAI,QAAJ,EAAc;AACZ,CAAA,gBAAI,WAAW,QAAX,IACC,WAAW,OAAX,IAAsB,SAAS,QAAT,CAAkB,MAAlB,MAA8B,SADzD,EACqE;;;AAGnE,CAAA,sBAAQ,QAAR,GAAmB,IAAnB;;;;AAIA,CAAA,kBAAI,eAAe,SAAS,QAAT,CAAkB,QAAlB,CAAnB;AACA,CAAA,kBAAI,YAAJ,EAAkB;AAChB,CAAA,oBAAI,SAAS,SAAS,YAAT,EAAuB,SAAS,QAAhC,EAA0C,GAA1C,CAAb;AACA,CAAA,oBAAI,OAAO,IAAP,KAAgB,OAApB,EAA6B;;;AAG3B,CAAA,2BAAS,OAAT;AACA,CAAA,wBAAM,OAAO,GAAb;AACA,CAAA;AACD,CAAA;AACF,CAAA;;AAED,CAAA,kBAAI,WAAW,QAAf,EAAyB;;;AAGvB,CAAA;AACD,CAAA;AACF,CAAA;;AAED,CAAA,gBAAI,SAAS,SACX,SAAS,QAAT,CAAkB,MAAlB,CADW,EAEX,SAAS,QAFE,EAGX,GAHW,CAAb;;AAMA,CAAA,gBAAI,OAAO,IAAP,KAAgB,OAApB,EAA6B;AAC3B,CAAA,sBAAQ,QAAR,GAAmB,IAAnB;;;;AAIA,CAAA,uBAAS,OAAT;AACA,CAAA,oBAAM,OAAO,GAAb;AACA,CAAA;AACD,CAAA;;;;;AAKD,CAAA,qBAAS,MAAT;AACA,CAAA,kBAAM,SAAN;;AAEA,CAAA,gBAAI,OAAO,OAAO,GAAlB;AACA,CAAA,gBAAI,KAAK,IAAT,EAAe;AACb,CAAA,sBAAQ,SAAS,UAAjB,IAA+B,KAAK,KAApC;AACA,CAAA,sBAAQ,IAAR,GAAe,SAAS,OAAxB;AACD,CAAA,aAHD,MAGO;AACL,CAAA,sBAAQ,sBAAR;AACA,CAAA,qBAAO,IAAP;AACD,CAAA;;AAED,CAAA,oBAAQ,QAAR,GAAmB,IAAnB;AACD,CAAA;;AAED,CAAA,cAAI,WAAW,MAAf,EAAuB;;;AAGrB,CAAA,oBAAQ,IAAR,GAAe,QAAQ,KAAR,GAAgB,GAA/B;AAED,CAAA,WALD,MAKO,IAAI,WAAW,OAAf,EAAwB;AAC7B,CAAA,gBAAI,UAAU,sBAAd,EAAsC;AACpC,CAAA,sBAAQ,iBAAR;AACA,CAAA,oBAAM,GAAN;AACD,CAAA;;AAED,CAAA,gBAAI,QAAQ,iBAAR,CAA0B,GAA1B,CAAJ,EAAoC;;;AAGlC,CAAA,uBAAS,MAAT;AACA,CAAA,oBAAM,SAAN;AACD,CAAA;AAEF,CAAA,WAbM,MAaA,IAAI,WAAW,QAAf,EAAyB;AAC9B,CAAA,oBAAQ,MAAR,CAAe,QAAf,EAAyB,GAAzB;AACD,CAAA;;AAED,CAAA,kBAAQ,iBAAR;;AAEA,CAAA,cAAI,SAAS,SAAS,OAAT,EAAkB,IAAlB,EAAwB,OAAxB,CAAb;AACA,CAAA,cAAI,OAAO,IAAP,KAAgB,QAApB,EAA8B;;;AAG5B,CAAA,oBAAQ,QAAQ,IAAR,GACJ,iBADI,GAEJ,sBAFJ;;AAIA,CAAA,gBAAI,OAAO;AACT,CAAA,qBAAO,OAAO,GADL;AAET,CAAA,oBAAM,QAAQ;AAFL,CAAA,aAAX;;AAKA,CAAA,gBAAI,OAAO,GAAP,KAAe,gBAAnB,EAAqC;AACnC,CAAA,kBAAI,QAAQ,QAAR,IAAoB,WAAW,MAAnC,EAA2C;;;AAGzC,CAAA,sBAAM,SAAN;AACD,CAAA;AACF,CAAA,aAND,MAMO;AACL,CAAA,qBAAO,IAAP;AACD,CAAA;AAEF,CAAA,WAtBD,MAsBO,IAAI,OAAO,IAAP,KAAgB,OAApB,EAA6B;AAClC,CAAA,oBAAQ,iBAAR;;;AAGA,CAAA,qBAAS,OAAT;AACA,CAAA,kBAAM,OAAO,GAAb;AACD,CAAA;AACF,CAAA;AACF,CAAA,OAtID;AAuID,CAAA;;;;AAID,CAAA,0BAAsB,EAAtB;;AAEA,CAAA,OAAG,cAAH,IAAqB,YAAW;AAC9B,CAAA,aAAO,IAAP;AACD,CAAA,KAFD;;AAIA,CAAA,OAAG,iBAAH,IAAwB,WAAxB;;AAEA,CAAA,OAAG,QAAH,GAAc,YAAW;AACvB,CAAA,aAAO,oBAAP;AACD,CAAA,KAFD;;AAIA,CAAA,aAAS,YAAT,CAAsB,IAAtB,EAA4B;AAC1B,CAAA,UAAI,QAAQ,EAAE,QAAQ,KAAK,CAAL,CAAV,EAAZ;;AAEA,CAAA,UAAI,KAAK,IAAT,EAAe;AACb,CAAA,cAAM,QAAN,GAAiB,KAAK,CAAL,CAAjB;AACD,CAAA;;AAED,CAAA,UAAI,KAAK,IAAT,EAAe;AACb,CAAA,cAAM,UAAN,GAAmB,KAAK,CAAL,CAAnB;AACA,CAAA,cAAM,QAAN,GAAiB,KAAK,CAAL,CAAjB;AACD,CAAA;;AAED,CAAA,WAAK,UAAL,CAAgB,IAAhB,CAAqB,KAArB;AACD,CAAA;;AAED,CAAA,aAAS,aAAT,CAAuB,KAAvB,EAA8B;AAC5B,CAAA,UAAI,SAAS,MAAM,UAAN,IAAoB,EAAjC;AACA,CAAA,aAAO,IAAP,GAAc,QAAd;AACA,CAAA,aAAO,OAAO,GAAd;AACA,CAAA,YAAM,UAAN,GAAmB,MAAnB;AACD,CAAA;;AAED,CAAA,aAAS,OAAT,CAAiB,WAAjB,EAA8B;;;;AAI5B,CAAA,WAAK,UAAL,GAAkB,CAAC,EAAE,QAAQ,MAAV,EAAD,CAAlB;AACA,CAAA,kBAAY,OAAZ,CAAoB,YAApB,EAAkC,IAAlC;AACA,CAAA,WAAK,KAAL,CAAW,IAAX;AACD,CAAA;;AAED,CAAA,YAAQ,IAAR,GAAe,UAAS,MAAT,EAAiB;AAC9B,CAAA,UAAI,OAAO,EAAX;AACA,CAAA,WAAK,IAAI,GAAT,IAAgB,MAAhB,EAAwB;AACtB,CAAA,aAAK,IAAL,CAAU,GAAV;AACD,CAAA;AACD,CAAA,WAAK,OAAL;;;;AAIA,CAAA,aAAO,SAAS,IAAT,GAAgB;AACrB,CAAA,eAAO,KAAK,MAAZ,EAAoB;AAClB,CAAA,cAAI,MAAM,KAAK,GAAL,EAAV;AACA,CAAA,cAAI,OAAO,MAAX,EAAmB;AACjB,CAAA,iBAAK,KAAL,GAAa,GAAb;AACA,CAAA,iBAAK,IAAL,GAAY,KAAZ;AACA,CAAA,mBAAO,IAAP;AACD,CAAA;AACF,CAAA;;;;;AAKD,CAAA,aAAK,IAAL,GAAY,IAAZ;AACA,CAAA,eAAO,IAAP;AACD,CAAA,OAfD;AAgBD,CAAA,KAzBD;;AA2BA,CAAA,aAAS,MAAT,CAAgB,QAAhB,EAA0B;AACxB,CAAA,UAAI,QAAJ,EAAc;AACZ,CAAA,YAAI,iBAAiB,SAAS,cAAT,CAArB;AACA,CAAA,YAAI,cAAJ,EAAoB;AAClB,CAAA,iBAAO,eAAe,IAAf,CAAoB,QAApB,CAAP;AACD,CAAA;;AAED,CAAA,YAAI,OAAO,SAAS,IAAhB,KAAyB,UAA7B,EAAyC;AACvC,CAAA,iBAAO,QAAP;AACD,CAAA;;AAED,CAAA,YAAI,CAAC,MAAM,SAAS,MAAf,CAAL,EAA6B;AAC3B,CAAA,cAAI,IAAI,CAAC,CAAT;AAAA,CAAA,cAAY,OAAO,SAAS,IAAT,GAAgB;AACjC,CAAA,mBAAO,EAAE,CAAF,GAAM,SAAS,MAAtB,EAA8B;AAC5B,CAAA,kBAAI,OAAO,IAAP,CAAY,QAAZ,EAAsB,CAAtB,CAAJ,EAA8B;AAC5B,CAAA,qBAAK,KAAL,GAAa,SAAS,CAAT,CAAb;AACA,CAAA,qBAAK,IAAL,GAAY,KAAZ;AACA,CAAA,uBAAO,IAAP;AACD,CAAA;AACF,CAAA;;AAED,CAAA,iBAAK,KAAL,GAAa,SAAb;AACA,CAAA,iBAAK,IAAL,GAAY,IAAZ;;AAEA,CAAA,mBAAO,IAAP;AACD,CAAA,WAbD;;AAeA,CAAA,iBAAO,KAAK,IAAL,GAAY,IAAnB;AACD,CAAA;AACF,CAAA;;;AAGD,CAAA,aAAO,EAAE,MAAM,UAAR,EAAP;AACD,CAAA;AACD,CAAA,YAAQ,MAAR,GAAiB,MAAjB;;AAEA,CAAA,aAAS,UAAT,GAAsB;AACpB,CAAA,aAAO,EAAE,OAAO,SAAT,EAAoB,MAAM,IAA1B,EAAP;AACD,CAAA;;AAED,CAAA,YAAQ,SAAR,GAAoB;AAClB,CAAA,mBAAa,OADK;;AAGlB,CAAA,aAAO,eAAS,aAAT,EAAwB;AAC7B,CAAA,aAAK,IAAL,GAAY,CAAZ;AACA,CAAA,aAAK,IAAL,GAAY,CAAZ;;;AAGA,CAAA,aAAK,IAAL,GAAY,KAAK,KAAL,GAAa,SAAzB;AACA,CAAA,aAAK,IAAL,GAAY,KAAZ;AACA,CAAA,aAAK,QAAL,GAAgB,IAAhB;;AAEA,CAAA,aAAK,UAAL,CAAgB,OAAhB,CAAwB,aAAxB;;AAEA,CAAA,YAAI,CAAC,aAAL,EAAoB;AAClB,CAAA,eAAK,IAAI,IAAT,IAAiB,IAAjB,EAAuB;;AAErB,CAAA,gBAAI,KAAK,MAAL,CAAY,CAAZ,MAAmB,GAAnB,IACA,OAAO,IAAP,CAAY,IAAZ,EAAkB,IAAlB,CADA,IAEA,CAAC,MAAM,CAAC,KAAK,KAAL,CAAW,CAAX,CAAP,CAFL,EAE4B;AAC1B,CAAA,mBAAK,IAAL,IAAa,SAAb;AACD,CAAA;AACF,CAAA;AACF,CAAA;AACF,CAAA,OAxBiB;;AA0BlB,CAAA,YAAM,gBAAW;AACf,CAAA,aAAK,IAAL,GAAY,IAAZ;;AAEA,CAAA,YAAI,YAAY,KAAK,UAAL,CAAgB,CAAhB,CAAhB;AACA,CAAA,YAAI,aAAa,UAAU,UAA3B;AACA,CAAA,YAAI,WAAW,IAAX,KAAoB,OAAxB,EAAiC;AAC/B,CAAA,gBAAM,WAAW,GAAjB;AACD,CAAA;;AAED,CAAA,eAAO,KAAK,IAAZ;AACD,CAAA,OApCiB;;AAsClB,CAAA,yBAAmB,2BAAS,SAAT,EAAoB;AACrC,CAAA,YAAI,KAAK,IAAT,EAAe;AACb,CAAA,gBAAM,SAAN;AACD,CAAA;;AAED,CAAA,YAAI,UAAU,IAAd;AACA,CAAA,iBAAS,MAAT,CAAgB,GAAhB,EAAqB,MAArB,EAA6B;AAC3B,CAAA,iBAAO,IAAP,GAAc,OAAd;AACA,CAAA,iBAAO,GAAP,GAAa,SAAb;AACA,CAAA,kBAAQ,IAAR,GAAe,GAAf;AACA,CAAA,iBAAO,CAAC,CAAC,MAAT;AACD,CAAA;;AAED,CAAA,aAAK,IAAI,IAAI,KAAK,UAAL,CAAgB,MAAhB,GAAyB,CAAtC,EAAyC,KAAK,CAA9C,EAAiD,EAAE,CAAnD,EAAsD;AACpD,CAAA,cAAI,QAAQ,KAAK,UAAL,CAAgB,CAAhB,CAAZ;AACA,CAAA,cAAI,SAAS,MAAM,UAAnB;;AAEA,CAAA,cAAI,MAAM,MAAN,KAAiB,MAArB,EAA6B;;;;AAI3B,CAAA,mBAAO,OAAO,KAAP,CAAP;AACD,CAAA;;AAED,CAAA,cAAI,MAAM,MAAN,IAAgB,KAAK,IAAzB,EAA+B;AAC7B,CAAA,gBAAI,WAAW,OAAO,IAAP,CAAY,KAAZ,EAAmB,UAAnB,CAAf;AACA,CAAA,gBAAI,aAAa,OAAO,IAAP,CAAY,KAAZ,EAAmB,YAAnB,CAAjB;;AAEA,CAAA,gBAAI,YAAY,UAAhB,EAA4B;AAC1B,CAAA,kBAAI,KAAK,IAAL,GAAY,MAAM,QAAtB,EAAgC;AAC9B,CAAA,uBAAO,OAAO,MAAM,QAAb,EAAuB,IAAvB,CAAP;AACD,CAAA,eAFD,MAEO,IAAI,KAAK,IAAL,GAAY,MAAM,UAAtB,EAAkC;AACvC,CAAA,uBAAO,OAAO,MAAM,UAAb,CAAP;AACD,CAAA;AAEF,CAAA,aAPD,MAOO,IAAI,QAAJ,EAAc;AACnB,CAAA,kBAAI,KAAK,IAAL,GAAY,MAAM,QAAtB,EAAgC;AAC9B,CAAA,uBAAO,OAAO,MAAM,QAAb,EAAuB,IAAvB,CAAP;AACD,CAAA;AAEF,CAAA,aALM,MAKA,IAAI,UAAJ,EAAgB;AACrB,CAAA,kBAAI,KAAK,IAAL,GAAY,MAAM,UAAtB,EAAkC;AAChC,CAAA,uBAAO,OAAO,MAAM,UAAb,CAAP;AACD,CAAA;AAEF,CAAA,aALM,MAKA;AACL,CAAA,oBAAM,IAAI,KAAJ,CAAU,wCAAV,CAAN;AACD,CAAA;AACF,CAAA;AACF,CAAA;AACF,CAAA,OAxFiB;;AA0FlB,CAAA,cAAQ,gBAAS,IAAT,EAAe,GAAf,EAAoB;AAC1B,CAAA,aAAK,IAAI,IAAI,KAAK,UAAL,CAAgB,MAAhB,GAAyB,CAAtC,EAAyC,KAAK,CAA9C,EAAiD,EAAE,CAAnD,EAAsD;AACpD,CAAA,cAAI,QAAQ,KAAK,UAAL,CAAgB,CAAhB,CAAZ;AACA,CAAA,cAAI,MAAM,MAAN,IAAgB,KAAK,IAArB,IACA,OAAO,IAAP,CAAY,KAAZ,EAAmB,YAAnB,CADA,IAEA,KAAK,IAAL,GAAY,MAAM,UAFtB,EAEkC;AAChC,CAAA,gBAAI,eAAe,KAAnB;AACA,CAAA;AACD,CAAA;AACF,CAAA;;AAED,CAAA,YAAI,iBACC,SAAS,OAAT,IACA,SAAS,UAFV,KAGA,aAAa,MAAb,IAAuB,GAHvB,IAIA,OAAO,aAAa,UAJxB,EAIoC;;;AAGlC,CAAA,yBAAe,IAAf;AACD,CAAA;;AAED,CAAA,YAAI,SAAS,eAAe,aAAa,UAA5B,GAAyC,EAAtD;AACA,CAAA,eAAO,IAAP,GAAc,IAAd;AACA,CAAA,eAAO,GAAP,GAAa,GAAb;;AAEA,CAAA,YAAI,YAAJ,EAAkB;AAChB,CAAA,eAAK,IAAL,GAAY,aAAa,UAAzB;AACD,CAAA,SAFD,MAEO;AACL,CAAA,eAAK,QAAL,CAAc,MAAd;AACD,CAAA;;AAED,CAAA,eAAO,gBAAP;AACD,CAAA,OA1HiB;;AA4HlB,CAAA,gBAAU,kBAAS,MAAT,EAAiB,QAAjB,EAA2B;AACnC,CAAA,YAAI,OAAO,IAAP,KAAgB,OAApB,EAA6B;AAC3B,CAAA,gBAAM,OAAO,GAAb;AACD,CAAA;;AAED,CAAA,YAAI,OAAO,IAAP,KAAgB,OAAhB,IACA,OAAO,IAAP,KAAgB,UADpB,EACgC;AAC9B,CAAA,eAAK,IAAL,GAAY,OAAO,GAAnB;AACD,CAAA,SAHD,MAGO,IAAI,OAAO,IAAP,KAAgB,QAApB,EAA8B;AACnC,CAAA,eAAK,IAAL,GAAY,OAAO,GAAnB;AACA,CAAA,eAAK,IAAL,GAAY,KAAZ;AACD,CAAA,SAHM,MAGA,IAAI,OAAO,IAAP,KAAgB,QAAhB,IAA4B,QAAhC,EAA0C;AAC/C,CAAA,eAAK,IAAL,GAAY,QAAZ;AACD,CAAA;AACF,CAAA,OA1IiB;;AA4IlB,CAAA,cAAQ,gBAAS,UAAT,EAAqB;AAC3B,CAAA,aAAK,IAAI,IAAI,KAAK,UAAL,CAAgB,MAAhB,GAAyB,CAAtC,EAAyC,KAAK,CAA9C,EAAiD,EAAE,CAAnD,EAAsD;AACpD,CAAA,cAAI,QAAQ,KAAK,UAAL,CAAgB,CAAhB,CAAZ;AACA,CAAA,cAAI,MAAM,UAAN,KAAqB,UAAzB,EAAqC;AACnC,CAAA,iBAAK,QAAL,CAAc,MAAM,UAApB,EAAgC,MAAM,QAAtC;AACA,CAAA,0BAAc,KAAd;AACA,CAAA,mBAAO,gBAAP;AACD,CAAA;AACF,CAAA;AACF,CAAA,OArJiB;;AAuJlB,CAAA,eAAS,gBAAS,MAAT,EAAiB;AACxB,CAAA,aAAK,IAAI,IAAI,KAAK,UAAL,CAAgB,MAAhB,GAAyB,CAAtC,EAAyC,KAAK,CAA9C,EAAiD,EAAE,CAAnD,EAAsD;AACpD,CAAA,cAAI,QAAQ,KAAK,UAAL,CAAgB,CAAhB,CAAZ;AACA,CAAA,cAAI,MAAM,MAAN,KAAiB,MAArB,EAA6B;AAC3B,CAAA,gBAAI,SAAS,MAAM,UAAnB;AACA,CAAA,gBAAI,OAAO,IAAP,KAAgB,OAApB,EAA6B;AAC3B,CAAA,kBAAI,SAAS,OAAO,GAApB;AACA,CAAA,4BAAc,KAAd;AACD,CAAA;AACD,CAAA,mBAAO,MAAP;AACD,CAAA;AACF,CAAA;;;;AAID,CAAA,cAAM,IAAI,KAAJ,CAAU,uBAAV,CAAN;AACD,CAAA,OAvKiB;;AAyKlB,CAAA,qBAAe,uBAAS,QAAT,EAAmB,UAAnB,EAA+B,OAA/B,EAAwC;AACrD,CAAA,aAAK,QAAL,GAAgB;AACd,CAAA,oBAAU,OAAO,QAAP,CADI;AAEd,CAAA,sBAAY,UAFE;AAGd,CAAA,mBAAS;AAHK,CAAA,SAAhB;;AAMA,CAAA,eAAO,gBAAP;AACD,CAAA;AAjLiB,CAAA,KAApB;AAmLD,CAAA,GA1oBA;;;;AA8oBC,CAAA,UAAOE,cAAP,MAAkB,QAAlB,GAA6BA,cAA7B,GACA,QAAO,MAAP,yCAAO,MAAP,OAAkB,QAAlB,GAA6B,MAA7B,GACA,QAAO,IAAP,yCAAO,IAAP,OAAgB,QAAhB,GAA2B,IAA3B,GAAkCC,cAhpBnC,CAAD;;;;;;ACVA,CAAA,SAAO,OAAP,GAAiB,UAAS,MAAT,EAAiB,OAAjB,EAAyB;AACxC,CAAA,QAAI,WAAW,YAAY,OAAO,OAAP,CAAZ,GAA8B,UAAS,IAAT,EAAc;AACzD,CAAA,aAAO,QAAQ,IAAR,CAAP;AACD,CAAA,KAFc,GAEX,OAFJ;AAGA,CAAA,WAAO,UAAS,EAAT,EAAY;AACjB,CAAA,aAAO,OAAO,EAAP,EAAW,OAAX,CAAmB,MAAnB,EAA2B,QAA3B,CAAP;AACD,CAAA,KAFD;AAGD,CAAA,GAPD;;;;;;;;;;ACAA,CAAA;AACA,CAAA,MAAI,UAAUH,cAAA,aAAA,CAAd;AAAA,CAAA,MACI,MAAUA,cAAA,cAAA,EAAuB,qBAAvB,EAA8C,MAA9C,CADd;;AAGA,CAAA,UAAQ,QAAQ,CAAhB,EAAmB,QAAnB,EAA6B,EAAC,QAAQ,SAAS,MAAT,CAAgB,EAAhB,EAAmB;AAAE,CAAA,aAAO,IAAI,EAAJ,CAAP;AAAiB,CAAA,KAA/C,EAA7B;;;;;;ACHA,CAAA,SAAO,OAAP,GAAiBA,cAAA,WAAA,EAA+B,MAA/B,CAAsC,MAAvD;;;;;;ACDA,CAAA;;;;AAUA,CAAA,MAAIE,cAAA,CAAO,cAAX,EAA2B;AACzB,CAAA,UAAM,IAAI,KAAJ,CAAU,gDAAV,CAAN;AACD,CAAA;AACD,CAAA,gBAAA,CAAO,cAAP,GAAwB,IAAxB;;;;AAIA,CAAA,MAAI,kBAAkB,gBAAtB;AACA,CAAA,WAAS,MAAT,CAAgB,CAAhB,EAAmB,GAAnB,EAAwB,KAAxB,EAA+B;AAC7B,CAAA,MAAE,GAAF,KAAU,OAAO,eAAP,EAAwB,CAAxB,EAA2B,GAA3B,EAAgC;AACxC,CAAA,gBAAU,IAD8B;AAExC,CAAA,oBAAc,IAF0B;AAGxC,CAAA,aAAO;AAHiC,CAAA,KAAhC,CAAV;AAKD,CAAA;;AAED,CAAA,SAAO,OAAO,SAAd,EAAyB,SAAzB,EAAoC,GAAG,QAAvC;AACA,CAAA,SAAO,OAAO,SAAd,EAAyB,UAAzB,EAAqC,GAAG,MAAxC;;AAEA,CAAA,kMAAgM,KAAhM,CAAsM,GAAtM,EAA2M,OAA3M,CAAmN,UAAU,GAAV,EAAe;AAChO,CAAA,OAAG,GAAH,KAAW,OAAO,KAAP,EAAc,GAAd,EAAmB,SAAS,IAAT,CAAc,IAAd,CAAmB,GAAG,GAAH,CAAnB,CAAnB,CAAX;AACD,CAAA,GAFD;;;;;CC7BA;;;;IAMA,GAAI,aAAA,GAAkB,WAAtB,CAAmC,CACjC,eAAM,CAAU,yCAAV,CAAN,CACD,CAED,CAAC,SAAU,CAAV,CAAa,CACZ,YAAc,EAAE,EAAF,CAAK,MAAL,CAAY,KAAZ,CAAkB,GAAlB,EAAuB,CAAvB,EAA0B,KAA1B,CAAgC,GAAhC,CAAd,CACA,GAAK,QAAQ,CAAR,EAAa,CAAb,EAAkB,QAAQ,CAAR,EAAa,CAAhC,EAAuC,QAAQ,CAAR,GAAc,CAAd,EAAmB,QAAQ,CAAR,GAAc,CAAjC,EAAsC,QAAQ,CAAR,EAAa,CAA1F,EAAiG,QAAQ,CAAR,GAAc,CAAnH,CAAuH,CACrH,eAAM,CAAU,8EAAV,CAAN,CACD,CACF,CALA,CAKC,MALD,CAAD,CAQA,CAAC,SAAU,CAAV,CAAa;;;;;IASd,aAEA,SAAW,YAAA,CAAa,EAAb,CAAiB,GAAjB,CAAsB,GAAtB,CAA2B,CAAE,WAAa,IAAb,CAAmB,UAAW,MAAO,MAAP,CAAe,CAAE,WAAa,EAAb,CAAiB,SAAW,GAA5B,CAAiC,SAAW,GAA5C,CAAiD,OAAS,KAAT,CAAgB,GAAI,SAAW,IAAf,CAAqB,OAAS,SAAS,SAAlB,CAA6B,SAAW,OAAO,wBAAP,CAAgC,MAAhC,CAAwC,QAAxC,CAAX,CAA8D,GAAI,OAAS,SAAb,CAAwB,CAAE,WAAa,OAAO,cAAP,CAAsB,MAAtB,CAAb,CAA4C,GAAI,SAAW,IAAf,CAAqB,CAAE,gBAAA,CAAmB,CAA1C,IAAgD,CAAE,GAAK,MAAL,CAAa,IAAM,QAAN,CAAgB,IAAM,QAAN,CAAgB,OAAS,IAAT,CAAe,KAAO,OAAS,SAAhB,CAA2B,kBAAA,CAAqB,CAAE,CAAtO,QAAgP,cAAJ,CAAqB,CAAE,YAAY,KAAZ,CAAoB,CAA3C,IAAiD,CAAE,WAAa,KAAK,GAAlB,CAAuB,GAAI,SAAW,SAAf,CAA0B,CAAE,gBAAA,CAAmB,CAAC,cAAc,IAAP,CAAY,QAAZ,CAAP,CAA+B,CAAE,CAAE,CAAjpB,CAEA,iBAAoB,UAAY,CAAE,yBAAA,CAA0B,MAA1B,CAAkC,KAAlC,CAAyC,CAAE,IAAK,MAAQ,CAAb,CAAgB,EAAI,MAAM,MAA1B,CAAkC,GAAlC,CAAuC,CAAE,eAAiB,MAAM,CAAN,CAAjB,CAA2B,WAAW,UAAX,CAAwB,WAAW,UAAX,EAAyB,KAAjD,CAAwD,WAAW,YAAX,CAA0B,IAA1B,CAAgC,GAAI,oBAAJ,CAA2B,WAAW,QAAX,CAAsB,IAAtB,CAA4B,OAAO,cAAP,CAAsB,MAAtB,CAA8B,WAAW,GAAzC,CAA8C,UAA9C,EAA4D,CAAE,CAAC,gBAAiB,WAAV,CAAuB,UAAvB,CAAmC,WAAnC,CAAgD,CAAE,GAAI,UAAJ,CAAgB,iBAAiB,YAAY,SAA7B,CAAwC,UAAxC,EAAqD,GAAI,WAAJ,CAAiB,iBAAiB,WAAjB,CAA8B,WAA9B,EAA4C,kBAAA,CAAqB,CAAhN,CAAmN,CAA/hB,EAAnB,CAEA,kBAAA,CAAmB,QAAnB,CAA6B,UAA7B,CAAyC,CAAE,GAAI,iBAAA,GAAsB,UAAtB,EAAoC,aAAe,IAAvD,CAA6D,CAAE,mBAAM,CAAc,6EAAA,mCAAoE,UAApE,EAAd,CAAN,CAAsG,CAAC,SAAS,SAAT,CAAqB,OAAO,MAAP,CAAc,YAAc,WAAW,SAAvC,CAAkD,CAAE,YAAa,CAAE,MAAO,QAAT,CAAmB,WAAY,KAA/B,CAAsC,SAAU,IAAhD,CAAsD,aAAc,IAApE,CAAf,CAAlD,CAArB,CAAqK,GAAI,UAAJ,CAAgB,OAAO,cAAP,CAAwB,OAAO,cAAP,CAAsB,QAAtB,CAAgC,UAAhC,CAAxB,CAAsE,SAAS,SAAT,CAAqB,UAA3F,CAAwG,CAE9e,wBAAA,CAAyB,QAAzB,CAAmC,WAAnC,CAAgD,CAAE,GAAI,EAAE,+BAAF,CAAJ,CAAwC,CAAE,mBAAM,CAAc,mCAAd,CAAN,CAA2D,CAAE,CAEzJ,SAAY,SAAU,CAAV,CAAa;;;;MAQvB,eAAiB,KAAjB,CAEA,YAAc,OAAd,CAEA,uBAAyB,CACvB,iBAAkB,qBADK,CAEvB,cAAe,eAFQ,CAGvB,YAAa,+BAHU,CAIvB,WAAY,eAJW,CAAzB,CAOA;AACA,CAAA,eAAA,CAAgB,GAAhB,CAAqB,CACnB,MAAQ,EAAD,CAAK,QAAL,CAAc,IAAd,CAAmB,GAAnB,EAAwB,KAAxB,CAA8B,eAA9B,EAA+C,CAA/C,EAAkD,WAAlD,EAAP,CACD,CAED,kBAAA,CAAmB,GAAnB,CAAwB,CACtB,MAAO,CAAC,IAAI,CAAJ,GAAU,GAAX,EAAgB,QAAvB,CACD,CAED,qCAAA,EAAwC,CACtC,MAAO,CACL,SAAU,WAAW,GADhB,CAEL,aAAc,WAAW,GAFpB,CAGL,OAAQ,eAAA,CAAgB,KAAhB,CAAuB,CAC7B,GAAI,EAAE,MAAM,MAAR,EAAgB,EAAhB,CAAmB,IAAnB,CAAJ,CAA8B,CAC5B,aAAa,SAAN,CAAgB,OAAhB,CAAwB,KAAxB,CAA8B,IAA9B,CAAoC,SAApC,CAAP,CAAuD;AACxD,CAAA,CACD,gBAAA,CACD,CARI,CAAP,CAUD,CAED,0BAAA,EAA6B,CAC3B,GAAI,OAAO,KAAX,CAAkB,CAChB,YAAA,CACD,CAED,OAAS,SAAS,aAAT,CAAuB,WAAvB,CAAT,CAEA,IAAK,SAAL,sBAAA,CAAsC,CACpC,GAAI,GAAG,KAAH,CAAS,KAAT,IAAoB,SAAxB,CAAmC,CACjC,MAAO,CAAE,IAAK,mBAAmB,KAAnB,CAAP,CAAP,CACD,CACF,CAED,YAAA,CACD,CAED,8BAAA,CAA+B,QAA/B,CAAyC,CACvC,UAAY,IAAZ,CAEA,WAAa,KAAb,CAEA,EAAE,IAAF,EAAQ,GAAR,CAAY,KAAK,cAAjB,CAAiC,UAAY,CAC3C,OAAS,IAAT,CACD,CAFD,EAIA,WAAW,UAAY,CACrB,GAAI,CAAC,MAAL,CAAa,CACX,KAAK,oBAAL,CAA0B,KAA1B,EACD,CACF,CAJD,CAIG,QAJH,EAMA,WAAA,CACD,CAED,gCAAA,EAAmC,CACjC,WAAa,mBAAb,CAEA,EAAE,EAAF,CAAK,oBAAL,CAA4B,qBAA5B,CAEA,GAAI,KAAK,qBAAL,EAAJ,CAAkC,CAChC,EAAE,KAAF,CAAQ,OAAR,CAAgB,KAAK,cAArB,EAAuC,8BAAvC,CACD,CACF,CAED;;;;MAMA,SAAW,CAET,eAAgB,iBAFP,CAIT,OAAQ,eAAA,CAAgB,MAAhB,CAAwB,CAC9B,EAAG,gCAED,QAAU,CAAE,EAAE,KAAK,MAAL,GAAgB,OAAlB,CAAZ,CAAwC;AACxC,CAAA,+BAHF,MAIS,SAAS,cAAT,CAAwB,MAAxB,CAJT,EAKA,aAAA,CACD,CAXQ,CAaT,uBAAwB,+BAAA,CAAgC,OAAhC,CAAyC,CAC/D,aAAe,QAAQ,YAAR,CAAqB,aAArB,CAAf,CAEA,GAAI,CAAC,QAAL,CAAe,CACb,SAAW,QAAQ,YAAR,CAAqB,MAArB,GAAgC,EAA3C,CACA,SAAW,WAAW,IAAX,CAAgB,QAAhB,EAA4B,QAA5B,CAAuC,IAAlD,CACD,CAED,eAAA,CACD,CAtBQ,CAwBT,OAAQ,eAAA,CAAgB,OAAhB,CAAyB,CAC/B,YAAA,CAAa,IAAb,CAAmB,WAAnB,EAAgC,QAAQ,YAAxC,EACD,CA1BQ,CA4BT,qBAAsB,6BAAA,CAA8B,OAA9B,CAAuC,CAC3D,EAAE,OAAF,EAAW,OAAX,CAAmB,WAAW,GAA9B,EACD,CA9BQ,CAgCT,sBAAuB,8BAAA,EAAiC,CACtD,eAAe,UAAR,CAAP,CACD,CAlCQ,CAoCT,gBAAiB,wBAAA,CAAyB,aAAzB,CAAwC,MAAxC,CAAgD,WAAhD,CAA6D,CAC5E,IAAK,YAAL,eAAA,CAAkC,CAChC,GAAI,YAAY,cAAZ,CAA2B,QAA3B,CAAJ,CAA0C,CACxC,kBAAoB,YAAY,QAAZ,CAApB,CACA,UAAY,OAAO,QAAP,CAAZ,CACA,cAAgB,SAAhB,CAEA,GAAI,OAAS,UAAU,KAAV,CAAb,CAA+B,CAC7B,UAAY,SAAZ,CACD,CAFD,IAEO,CACL,UAAY,OAAO,KAAP,CAAZ,CACD,CAED,GAAI,CAAC,UAAA,CAAW,aAAX,EAA0B,IAA1B,CAA+B,SAA/B,CAAL,CAAgD,CAC9C,eAAM,CAAU,cAAc,WAAd,GAA8B,IAA9B,EAAsC,WAAa,QAAb,CAAwB,mBAAxB,CAA8C,SAA9C,CAA0D,IAAhG,GAAyG,sBAAwB,aAAxB,CAAwC,IAAjJ,CAAV,CAAN,CACD,CACF,CACF,CACF,CAtDQ,CAAX,CAyDA,0BAEA,WAAA,CACD,CAvJU,CAuJR,MAvJQ,CAAX,CAyJA;;;;;IAOA,UAAa,SAAU,CAAV,CAAa;;;;MAQxB,SAAW,OAAX,CACA,YAAc,eAAd,CACA,aAAe,UAAf,CACA,cAAgB,IAAM,QAAtB,CACA,iBAAmB,WAAnB,CACA,uBAAyB,EAAE,EAAF,CAAK,IAAL,CAAzB,CACA,wBAA0B,GAA1B,CAEA,aAAe,CACb,QAAS,wBADI,CAAf,CAIA,UAAY,CACV,MAAO,QAAU,SADP,CAEV,OAAQ,SAAW,SAFT,CAGV,eAAgB,QAAU,SAAV,CAAsB,YAH5B,CAAZ,CAMA,cAAgB,CACd,MAAO,OADO,CAEd,KAAM,MAFQ,CAGd,GAAI,IAHU,CAAhB,CAMA;;;;MAMA,UAAa,UAAY,CACvB,cAAA,CAAe,OAAf,CAAwB,CACtB,gBAAgB,IAAhB,CAAsB,KAAtB,EAEA,KAAK,QAAL,CAAgB,OAAhB,CACD,CAED;;;;;AAQA,CAAA,aAAa,KAAb,CAAoB,CAAC,CACnB,IAAK,OADc;AAKnB,CAAA,MAAO,cAAA,CAAe,OAAf,CAAwB,CAC7B,QAAU,SAAW,KAAK,QAA1B,CAEA,gBAAkB,KAAK,eAAL,CAAqB,OAArB,CAAlB,CACA,gBAAkB,KAAK,kBAAL,CAAwB,WAAxB,CAAlB,CAEA,GAAI,YAAY,kBAAZ,EAAJ,CAAsC,CACpC,OACD,CAED,KAAK,cAAL,CAAoB,WAApB,EACD,CAhBkB,CAAD,CAiBjB,CACD,IAAK,SADJ,CAED,MAAO,gBAAA,EAAmB,CACxB,EAAE,UAAF,CAAa,KAAK,QAAlB,CAA4B,QAA5B,EACA,KAAK,QAAL,CAAgB,IAAhB,CACD,CAED;AAPC,CAAA,CAjBiB,CA0BjB,CACD,IAAK,iBADJ,CAED,MAAO,wBAAA,CAAyB,OAAzB,CAAkC,CACvC,aAAe,KAAK,sBAAL,CAA4B,OAA5B,CAAf,CACA,WAAa,KAAb,CAEA,GAAI,QAAJ,CAAc,CACZ,OAAS,EAAE,QAAF,EAAY,CAAZ,CAAT,CACD,CAED,GAAI,CAAC,MAAL,CAAa,CACX,OAAS,EAAE,OAAF,EAAW,OAAX,CAAmB,IAAM,UAAU,KAAnC,EAA0C,CAA1C,CAAT,CACD,CAED,aAAA,CACD,CAfA,CA1BiB,CA0CjB,CACD,IAAK,oBADJ,CAED,MAAO,2BAAA,CAA4B,OAA5B,CAAqC,CAC1C,eAAiB,EAAE,KAAF,CAAQ,MAAM,KAAd,CAAjB,CAEA,EAAE,OAAF,EAAW,OAAX,CAAmB,UAAnB,EACA,iBAAA,CACD,CAPA,CA1CiB,CAkDjB,CACD,IAAK,gBADJ,CAED,MAAO,uBAAA,CAAwB,OAAxB,CAAiC,CACtC,EAAE,OAAF,EAAW,WAAX,CAAuB,UAAU,EAAjC,EAEA,GAAI,CAAC,KAAK,qBAAL,EAAD,EAAiC,CAAC,EAAE,OAAF,EAAW,QAAX,CAAoB,UAAU,IAA9B,CAAtC,CAA2E,CACzE,KAAK,eAAL,CAAqB,OAArB,EACA,OACD,CAED,EAAE,OAAF,EAAW,GAAX,CAAe,KAAK,cAApB,CAAoC,EAAE,KAAF,CAAQ,KAAK,eAAb,CAA8B,IAA9B,CAAoC,OAApC,CAApC,EAAkF,oBAAlF,CAAuG,mBAAvG,EACD,CAXA,CAlDiB,CA8DjB,CACD,IAAK,iBADJ,CAED,MAAO,wBAAA,CAAyB,OAAzB,CAAkC,CACvC,EAAE,OAAF,EAAW,MAAX,GAAoB,OAApB,CAA4B,MAAM,MAAlC,EAA0C,MAA1C,GACD,CAED;AANC,CAAA,CA9DiB,CAApB,CAsEI,CAAC,CACH,IAAK,kBADF,CAEH,MAAO,yBAAA,CAA0B,MAA1B,CAAkC,CACvC,YAAY,IAAL,CAAU,UAAY,CAC3B,aAAe,EAAE,IAAF,CAAf,CACA,SAAW,SAAS,IAAT,CAAc,QAAd,CAAX,CAEA,GAAI,CAAC,IAAL,CAAW,CACT,KAAO,SAAA,CAAU,IAAV,CAAP,CACA,SAAS,IAAT,CAAc,QAAd,CAAwB,IAAxB,EACD,CAED,GAAI,SAAW,OAAf,CAAwB,CACtB,KAAK,MAAL,EAAa,IAAb,EACD,CACF,CAZM,CAAP,CAaD,CAhBE,CAAD,CAiBD,CACD,IAAK,gBADJ,CAED,MAAO,uBAAA,CAAwB,aAAxB,CAAuC,CAC5C,gBAAiB,KAAV,CAAiB,CACtB,GAAI,KAAJ,CAAW,CACT,MAAM,cAAN,GACD,CAED,cAAc,KAAd,CAAoB,IAApB,EACD,CAND,CAOD,CAVA,CAjBC,CA4BD,CACD,IAAK,SADJ,CAED,IAAK,YAAA,EAAe,CAClB,cAAA,CACD,CAJA,CA5BC,CAtEJ,EAyGA,YAAA,CACD,CAzHW,EAAZ,CA2HA,EAAE,QAAF,EAAY,EAAZ,CAAe,MAAM,cAArB,CAAqC,SAAS,OAA9C,CAAuD,MAAM,cAAN,CAAqB,SAAA,EAArB,CAAvD,EAEA;;;;MAMA,EAAE,EAAF,CAAK,IAAL,EAAa,MAAM,gBAAnB,CACA,EAAE,EAAF,CAAK,IAAL,EAAW,WAAX,CAAyB,KAAzB,CACA,EAAE,EAAF,CAAK,IAAL,EAAW,UAAX,CAAwB,UAAY,CAClC,EAAE,EAAF,CAAK,IAAL,EAAa,kBAAb,CACA,aAAa,gBAAb,CACD,CAHD,CAKA,YAAA,CACD,CAjLW,CAiLT,MAjLS,CAAZ,CAmLA;;;;;IAOA,WAAc,SAAU,CAAV,CAAa;;;;MAQzB,SAAW,QAAX,CACA,YAAc,eAAd,CACA,aAAe,WAAf,CACA,cAAgB,IAAM,QAAtB,CACA,iBAAmB,WAAnB,CACA,uBAAyB,EAAE,EAAF,CAAK,IAAL,CAAzB,CAEA,cAAgB,CACd,OAAQ,QADM,CAEd,OAAQ,KAFM,CAGd,MAAO,OAHO,CAAhB,CAMA,aAAe,CACb,mBAAoB,yBADP,CAEb,YAAa,yBAFA,CAGb,MAAO,OAHM,CAIb,OAAQ,SAJK,CAKb,OAAQ,MALK,CAAf,CAQA,UAAY,CACV,eAAgB,QAAU,SAAV,CAAsB,YAD5B,CAEV,oBAAqB,QAAU,SAAV,CAAsB,YAAtB,CAAqC,GAArC,EAA4C,OAAS,SAAT,CAAqB,YAAjE,CAFX,CAAZ,CAKA;;;;MAMA,WAAc,UAAY,CACxB,eAAA,CAAgB,OAAhB,CAAyB,CACvB,gBAAgB,IAAhB,CAAsB,MAAtB,EAEA,KAAK,QAAL,CAAgB,OAAhB,CACD,CAED;;;;;AAQA,CAAA,aAAa,MAAb,CAAqB,CAAC,CACpB,IAAK,QADe;AAKpB,CAAA,MAAO,eAAA,EAAkB,CACvB,uBAAyB,IAAzB,CACA,gBAAkB,EAAE,KAAK,QAAP,EAAiB,OAAjB,CAAyB,SAAS,WAAlC,EAA+C,CAA/C,CAAlB,CAEA,GAAI,WAAJ,CAAiB,CACf,UAAY,EAAE,KAAK,QAAP,EAAiB,IAAjB,CAAsB,SAAS,KAA/B,EAAsC,CAAtC,CAAZ,CAEA,GAAI,KAAJ,CAAW,CACT,GAAI,MAAM,IAAN,GAAe,OAAnB,CAA4B,CAC1B,GAAI,MAAM,OAAN,EAAiB,EAAE,KAAK,QAAP,EAAiB,QAAjB,CAA0B,UAAU,MAApC,CAArB,CAAkE,CAChE,mBAAqB,KAArB,CACD,CAFD,IAEO,CACL,kBAAoB,EAAE,WAAF,EAAe,IAAf,CAAoB,SAAS,MAA7B,EAAqC,CAArC,CAApB,CAEA,GAAI,aAAJ,CAAmB,CACjB,EAAE,aAAF,EAAiB,WAAjB,CAA6B,UAAU,MAAvC,EACD,CACF,CACF,CAED,GAAI,kBAAJ,CAAwB,CACtB,MAAM,OAAN,CAAgB,CAAC,EAAE,KAAK,QAAP,EAAiB,QAAjB,CAA0B,UAAU,MAApC,CAAjB,CACA,EAAE,KAAK,QAAP,EAAiB,OAAjB,CAAyB,QAAzB,EACD,CAED,MAAM,KAAN,GACD,CACF,CAvBD,IAuBO,CACL,KAAK,QAAL,CAAc,YAAd,CAA2B,cAA3B,CAA2C,CAAC,EAAE,KAAK,QAAP,EAAiB,QAAjB,CAA0B,UAAU,MAApC,CAA5C,EACD,CAED,GAAI,kBAAJ,CAAwB,CACtB,EAAE,KAAK,QAAP,EAAiB,WAAjB,CAA6B,UAAU,MAAvC,EACD,CACF,CAvCmB,CAAD,CAwClB,CACD,IAAK,SADJ,CAED,MAAO,gBAAA,EAAmB,CACxB,EAAE,UAAF,CAAa,KAAK,QAAlB,CAA4B,QAA5B,EACA,KAAK,QAAL,CAAgB,IAAhB,CACD,CAED;AAPC,CAAA,CAxCkB,CAArB,CAiDI,CAAC,CACH,IAAK,kBADF,CAEH,MAAO,yBAAA,CAA0B,MAA1B,CAAkC,CACvC,YAAY,IAAL,CAAU,UAAY,CAC3B,SAAW,EAAE,IAAF,EAAQ,IAAR,CAAa,QAAb,CAAX,CAEA,GAAI,CAAC,IAAL,CAAW,CACT,KAAO,UAAA,CAAW,IAAX,CAAP,CACA,EAAE,IAAF,EAAQ,IAAR,CAAa,QAAb,CAAuB,IAAvB,EACD,CAED,GAAI,SAAW,QAAf,CAAyB,CACvB,KAAK,MAAL,IACD,CACF,CAXM,CAAP,CAYD,CAfE,CAAD,CAgBD,CACD,IAAK,SADJ,CAED,IAAK,YAAA,EAAe,CAClB,cAAA,CACD,CAJA,CAhBC,CAjDJ,EAwEA,aAAA,CACD,CAxFY,EAAb,CA0FA,EAAE,QAAF,EAAY,EAAZ,CAAe,MAAM,cAArB,CAAqC,SAAS,kBAA9C,CAAkE,SAAU,KAAV,CAAiB,CACjF,MAAM,cAAN,GAEA,WAAa,MAAM,MAAnB,CAEA,GAAI,CAAC,EAAE,MAAF,EAAU,QAAV,CAAmB,UAAU,MAA7B,CAAL,CAA2C,CACzC,OAAS,EAAE,MAAF,EAAU,OAAV,CAAkB,SAAS,MAA3B,CAAT,CACD,CAED,OAAO,gBAAP,CAAwB,IAAxB,CAA6B,EAAE,MAAF,CAA7B,CAAwC,QAAxC,EACD,CAVD,EAUG,EAVH,CAUM,MAAM,mBAVZ,CAUiC,SAAS,kBAV1C,CAU8D,SAAU,KAAV,CAAiB,CAC7E,WAAa,EAAE,MAAM,MAAR,EAAgB,OAAhB,CAAwB,SAAS,MAAjC,EAAyC,CAAzC,CAAb,CACA,EAAE,MAAF,EAAU,WAAV,CAAsB,UAAU,KAAhC,CAAuC,eAAe,IAAf,CAAoB,MAAM,IAA1B,CAAvC,EACD,CAbD,EAeA;;;;MAMA,EAAE,EAAF,CAAK,IAAL,EAAa,OAAO,gBAApB,CACA,EAAE,EAAF,CAAK,IAAL,EAAW,WAAX,CAAyB,MAAzB,CACA,EAAE,EAAF,CAAK,IAAL,EAAW,UAAX,CAAwB,UAAY,CAClC,EAAE,EAAF,CAAK,IAAL,EAAa,kBAAb,CACA,cAAc,gBAAd,CACD,CAHD,CAKA,aAAA,CACD,CA/JY,CA+JV,MA/JU,CAAb,CAiKA;;;;;IAOA,aAAgB,SAAU,CAAV,CAAa;;;;MAQ3B,SAAW,UAAX,CACA,YAAc,eAAd,CACA,aAAe,aAAf,CACA,cAAgB,IAAM,QAAtB,CACA,iBAAmB,WAAnB,CACA,uBAAyB,EAAE,EAAF,CAAK,IAAL,CAAzB,CACA,wBAA0B,GAA1B,CACA,uBAAyB,EAAzB,CAA6B;AAC7B,CAAA,wBAA0B,EAA1B,CAA8B;AAE9B,CAAA,YAAc,CACZ,SAAU,IADE,CAEZ,SAAU,IAFE,CAGZ,MAAO,KAHK,CAIZ,MAAO,OAJK,CAKZ,KAAM,IALM,CAAd,CAQA,gBAAkB,CAChB,SAAU,kBADM,CAEhB,SAAU,SAFM,CAGhB,MAAO,kBAHS,CAIhB,MAAO,kBAJS,CAKhB,KAAM,SALU,CAAlB,CAQA,cAAgB,CACd,KAAM,MADQ,CAEd,SAAU,MAFI,CAAhB,CAKA,UAAY,CACV,MAAO,QAAU,SADP,CAEV,KAAM,OAAS,SAFL,CAGV,QAAS,UAAY,SAHX,CAIV,WAAY,aAAe,SAJjB,CAKV,WAAY,aAAe,SALjB,CAMV,cAAe,OAAS,SAAT,CAAqB,YAN1B,CAOV,eAAgB,QAAU,SAAV,CAAsB,YAP5B,CAAZ,CAUA,cAAgB,CACd,SAAU,UADI,CAEd,OAAQ,QAFM,CAGd,MAAO,OAHO,CAId,MAAO,OAJO,CAKd,KAAM,MALQ,CAMd,KAAM,eANQ,CAAhB,CASA,aAAe,CACb,OAAQ,SADK,CAEb,YAAa,uBAFA,CAGb,KAAM,gBAHO,CAIb,UAAW,cAJE,CAKb,WAAY,sBALC,CAMb,WAAY,+BANC,CAOb,UAAW,wBAPE,CAAf,CAUA;;;;MAMA,aAAgB,UAAY,CAC1B,iBAAA,CAAkB,OAAlB,CAA2B,MAA3B,CAAmC,CACjC,gBAAgB,IAAhB,CAAsB,QAAtB,EAEA,KAAK,MAAL,CAAc,IAAd,CACA,KAAK,SAAL,CAAiB,IAAjB,CACA,KAAK,cAAL,CAAsB,IAAtB,CAEA,KAAK,SAAL,CAAiB,KAAjB,CACA,KAAK,UAAL,CAAkB,KAAlB,CAEA,KAAK,OAAL,CAAe,KAAK,UAAL,CAAgB,MAAhB,CAAf,CACA,KAAK,QAAL,CAAgB,EAAE,OAAF,EAAW,CAAX,CAAhB,CACA,KAAK,kBAAL,CAA0B,EAAE,KAAK,QAAP,EAAiB,IAAjB,CAAsB,SAAS,UAA/B,EAA2C,CAA3C,CAA1B,CAEA,KAAK,kBAAL,GACD,CAED;;;;;AAQA,CAAA,aAAa,QAAb,CAAuB,CAAC,CACtB,IAAK,MADiB;AAKtB,CAAA,MAAO,aAAA,EAAgB,CACrB,GAAI,CAAC,KAAK,UAAV,CAAsB,CACpB,KAAK,MAAL,CAAY,UAAU,IAAtB,EACD,CACF,CATqB,CAAD,CAUpB,CACD,IAAK,iBADJ,CAED,MAAO,wBAAA,EAA2B;AAEhC,CAAA,GAAI,CAAC,SAAS,MAAd,CAAsB,CACpB,KAAK,IAAL,GACD,CACF,CAPA,CAVoB,CAkBpB,CACD,IAAK,MADJ,CAED,MAAO,aAAA,EAAgB,CACrB,GAAI,CAAC,KAAK,UAAV,CAAsB,CACpB,KAAK,MAAL,CAAY,UAAU,QAAtB,EACD,CACF,CANA,CAlBoB,CAyBpB,CACD,IAAK,OADJ,CAED,MAAO,cAAA,CAAe,KAAf,CAAsB,CAC3B,GAAI,CAAC,KAAL,CAAY,CACV,KAAK,SAAL,CAAiB,IAAjB,CACD,CAED,GAAI,EAAE,KAAK,QAAP,EAAiB,IAAjB,CAAsB,SAAS,SAA/B,EAA0C,CAA1C,GAAgD,KAAK,qBAAL,EAApD,CAAkF,CAChF,KAAK,oBAAL,CAA0B,KAAK,QAA/B,EACA,KAAK,KAAL,CAAW,IAAX,EACD,CAED,cAAc,KAAK,SAAnB,EACA,KAAK,SAAL,CAAiB,IAAjB,CACD,CAdA,CAzBoB,CAwCpB,CACD,IAAK,OADJ,CAED,MAAO,cAAA,CAAe,KAAf,CAAsB,CAC3B,GAAI,CAAC,KAAL,CAAY,CACV,KAAK,SAAL,CAAiB,KAAjB,CACD,CAED,GAAI,KAAK,SAAT,CAAoB,CAClB,cAAc,KAAK,SAAnB,EACA,KAAK,SAAL,CAAiB,IAAjB,CACD,CAED,GAAI,KAAK,OAAL,CAAa,QAAb,EAAyB,CAAC,KAAK,SAAnC,CAA8C,CAC5C,KAAK,SAAL,CAAiB,YAAY,EAAE,KAAF,CAAQ,SAAS,eAAT,CAA2B,KAAK,eAAhC,CAAkD,KAAK,IAA/D,CAAqE,IAArE,CAAZ,CAAwF,KAAK,OAAL,CAAa,QAArG,CAAjB,CACD,CACF,CAfA,CAxCoB,CAwDpB,CACD,IAAK,IADJ,CAED,MAAO,WAAA,CAAY,KAAZ,CAAmB,CACxB,WAAa,IAAb,CAEA,KAAK,cAAL,CAAsB,EAAE,KAAK,QAAP,EAAiB,IAAjB,CAAsB,SAAS,WAA/B,EAA4C,CAA5C,CAAtB,CAEA,gBAAkB,KAAK,aAAL,CAAmB,KAAK,cAAxB,CAAlB,CAEA,GAAI,MAAQ,KAAK,MAAL,CAAY,MAAZ,CAAqB,CAA7B,EAAkC,MAAQ,CAA9C,CAAiD,CAC/C,OACD,CAED,GAAI,KAAK,UAAT,CAAqB,CACnB,EAAE,KAAK,QAAP,EAAiB,GAAjB,CAAqB,MAAM,IAA3B,CAAiC,UAAY,CAC3C,cAAc,EAAP,CAAU,KAAV,CAAP,CACD,CAFD,EAGA,OACD,CAED,GAAI,cAAgB,KAApB,CAA2B,CACzB,KAAK,KAAL,GACA,KAAK,KAAL,GACA,OACD,CAED,cAAgB,MAAQ,WAAR,CAAsB,UAAU,IAAhC,CAAuC,UAAU,QAAjE,CAEA,KAAK,MAAL,CAAY,SAAZ,CAAuB,KAAK,MAAL,CAAY,KAAZ,CAAvB,EACD,CA7BA,CAxDoB,CAsFpB,CACD,IAAK,SADJ,CAED,MAAO,gBAAA,EAAmB,CACxB,EAAE,KAAK,QAAP,EAAiB,GAAjB,CAAqB,SAArB,EACA,EAAE,UAAF,CAAa,KAAK,QAAlB,CAA4B,QAA5B,EAEA,KAAK,MAAL,CAAc,IAAd,CACA,KAAK,OAAL,CAAe,IAAf,CACA,KAAK,QAAL,CAAgB,IAAhB,CACA,KAAK,SAAL,CAAiB,IAAjB,CACA,KAAK,SAAL,CAAiB,IAAjB,CACA,KAAK,UAAL,CAAkB,IAAlB,CACA,KAAK,cAAL,CAAsB,IAAtB,CACA,KAAK,kBAAL,CAA0B,IAA1B,CACD,CAED;AAhBC,CAAA,CAtFoB,CAwGpB,CACD,IAAK,YADJ,CAED,MAAO,mBAAA,CAAoB,MAApB,CAA4B,CACjC,OAAS,EAAE,MAAF,CAAS,EAAT,CAAa,OAAb,CAAsB,MAAtB,CAAT,CACA,KAAK,eAAL,CAAqB,IAArB,CAA2B,MAA3B,CAAmC,WAAnC,EACA,aAAA,CACD,CANA,CAxGoB,CA+GpB,CACD,IAAK,oBADJ,CAED,MAAO,2BAAA,EAA8B,CACnC,GAAI,KAAK,OAAL,CAAa,QAAjB,CAA2B,CACzB,EAAE,KAAK,QAAP,EAAiB,EAAjB,CAAoB,MAAM,OAA1B,CAAmC,EAAE,KAAF,CAAQ,KAAK,QAAb,CAAuB,IAAvB,CAAnC,EACD,CAED,GAAI,KAAK,OAAL,CAAa,KAAb,GAAuB,OAAvB,EAAkC,EAAE,0BAA2B,eAA7B,CAAtC,CAAqF,CACnF,EAAE,KAAK,QAAP,EAAiB,EAAjB,CAAoB,MAAM,UAA1B,CAAsC,EAAE,KAAF,CAAQ,KAAK,KAAb,CAAoB,IAApB,CAAtC,EAAiE,EAAjE,CAAoE,MAAM,UAA1E,CAAsF,EAAE,KAAF,CAAQ,KAAK,KAAb,CAAoB,IAApB,CAAtF,EACD,CACF,CAVA,CA/GoB,CA0HpB,CACD,IAAK,UADJ,CAED,MAAO,iBAAA,CAAkB,KAAlB,CAAyB,CAC9B,MAAM,cAAN,GAEA,GAAI,kBAAkB,IAAlB,CAAuB,MAAM,MAAN,CAAa,OAApC,CAAJ,CAAkD,CAChD,OACD,CAED,OAAQ,MAAM,KAAd,EACE,uBAAA,CACE,KAAK,IAAL,GACA,MACF,wBAAA,CACE,KAAK,IAAL,GACA,MACF,QACE,OARJ,CAUD,CAnBA,CA1HoB,CA8IpB,CACD,IAAK,eADJ,CAED,MAAO,sBAAA,CAAuB,OAAvB,CAAgC,CACrC,KAAK,MAAL,CAAc,EAAE,SAAF,CAAY,EAAE,OAAF,EAAW,MAAX,GAAoB,IAApB,CAAyB,SAAS,IAAlC,CAAZ,CAAd,CACA,YAAY,MAAL,CAAY,OAAZ,CAAoB,OAApB,CAAP,CACD,CALA,CA9IoB,CAoJpB,CACD,IAAK,qBADJ,CAED,MAAO,4BAAA,CAA6B,SAA7B,CAAwC,aAAxC,CAAuD,CAC5D,oBAAsB,YAAc,UAAU,IAA9C,CACA,oBAAsB,YAAc,UAAU,QAA9C,CACA,gBAAkB,KAAK,aAAL,CAAmB,aAAnB,CAAlB,CACA,kBAAoB,KAAK,MAAL,CAAY,MAAZ,CAAqB,CAAzC,CACA,kBAAoB,iBAAmB,cAAgB,CAAnC,EAAwC,iBAAmB,cAAgB,aAA/F,CAEA,GAAI,eAAiB,CAAC,KAAK,OAAL,CAAa,IAAnC,CAAyC,CACvC,oBAAA,CACD,CAED,UAAY,YAAc,UAAU,QAAxB,CAAmC,CAAC,CAApC,CAAwC,CAApD,CACA,cAAgB,CAAC,YAAc,KAAf,EAAwB,KAAK,MAAL,CAAY,MAApD,CAEA,mBAAqB,CAAC,CAAf,CAAmB,KAAK,MAAL,CAAY,KAAK,MAAL,CAAY,MAAZ,CAAqB,CAAjC,CAAnB,CAAyD,KAAK,MAAL,CAAY,SAAZ,CAAhE,CACD,CAjBA,CApJoB,CAsKpB,CACD,IAAK,oBADJ,CAED,MAAO,2BAAA,CAA4B,aAA5B,CAA2C,oBAA3C,CAAiE,CACtE,eAAiB,EAAE,KAAF,CAAQ,MAAM,KAAd,CAAqB,CACpC,cAAe,aADqB,CAEpC,UAAW,oBAFyB,CAArB,CAAjB,CAKA,EAAE,KAAK,QAAP,EAAiB,OAAjB,CAAyB,UAAzB,EAEA,iBAAA,CACD,CAXA,CAtKoB,CAkLpB,CACD,IAAK,4BADJ,CAED,MAAO,mCAAA,CAAoC,OAApC,CAA6C,CAClD,GAAI,KAAK,kBAAT,CAA6B,CAC3B,EAAE,KAAK,kBAAP,EAA2B,IAA3B,CAAgC,SAAS,MAAzC,EAAiD,WAAjD,CAA6D,UAAU,MAAvE,EAEA,kBAAoB,KAAK,kBAAL,CAAwB,QAAxB,CAAiC,KAAK,aAAL,CAAmB,OAAnB,CAAjC,CAApB,CAEA,GAAI,aAAJ,CAAmB,CACjB,EAAE,aAAF,EAAiB,QAAjB,CAA0B,UAAU,MAApC,EACD,CACF,CACF,CAZA,CAlLoB,CA+LpB,CACD,IAAK,QADJ,CAED,MAAO,eAAA,CAAgB,SAAhB,CAA2B,OAA3B,CAAoC,CACzC,WAAa,IAAb,CAEA,kBAAoB,EAAE,KAAK,QAAP,EAAiB,IAAjB,CAAsB,SAAS,WAA/B,EAA4C,CAA5C,CAApB,CACA,gBAAkB,SAAW,eAAiB,KAAK,mBAAL,CAAyB,SAAzB,CAAoC,aAApC,CAA9C,CAEA,cAAgB,QAAQ,KAAK,SAAb,CAAhB,CAEA,yBAA2B,YAAc,UAAU,IAAxB,CAA+B,UAAU,IAAzC,CAAgD,UAAU,KAArF,CAEA,GAAI,aAAe,EAAE,WAAF,EAAe,QAAf,CAAwB,UAAU,MAAlC,CAAnB,CAA8D,CAC5D,KAAK,UAAL,CAAkB,KAAlB,CACA,OACD,CAED,eAAiB,KAAK,kBAAL,CAAwB,WAAxB,CAAqC,oBAArC,CAAjB,CACA,GAAI,WAAW,kBAAX,EAAJ,CAAqC,CACnC,OACD,CAED,GAAI,CAAC,aAAD,EAAkB,CAAC,WAAvB,CAAoC;AAElC,CAAA,OACD,CAED,KAAK,UAAL,CAAkB,IAAlB,CAEA,GAAI,SAAJ,CAAe,CACb,KAAK,KAAL,GACD,CAED,KAAK,0BAAL,CAAgC,WAAhC,EAEA,cAAgB,EAAE,KAAF,CAAQ,MAAM,IAAd,CAAoB,CAClC,cAAe,WADmB,CAElC,UAAW,oBAFuB,CAApB,CAAhB,CAKA,GAAI,KAAK,qBAAL,IAAgC,EAAE,KAAK,QAAP,EAAiB,QAAjB,CAA0B,UAAU,KAApC,CAApC,CAAgF,CAE9E,EAAE,WAAF,EAAe,QAAf,CAAwB,SAAxB,EAEA,KAAK,MAAL,CAAY,WAAZ,EAEA,EAAE,aAAF,EAAiB,QAAjB,CAA0B,oBAA1B,EACA,EAAE,WAAF,EAAe,QAAf,CAAwB,oBAAxB,EAEA,EAAE,aAAF,EAAiB,GAAjB,CAAqB,KAAK,cAA1B,CAA0C,UAAY,CACpD,EAAE,WAAF,EAAe,WAAf,CAA2B,oBAA3B,EAAiD,WAAjD,CAA6D,SAA7D,EAEA,EAAE,WAAF,EAAe,QAAf,CAAwB,UAAU,MAAlC,EAEA,EAAE,aAAF,EAAiB,WAAjB,CAA6B,UAAU,MAAvC,EAA+C,WAA/C,CAA2D,SAA3D,EAAsE,WAAtE,CAAkF,oBAAlF,EAEA,OAAO,UAAP,CAAoB,KAApB,CAEA,WAAW,UAAY,CACrB,SAAS,OAAO,QAAT,EAAmB,OAAnB,CAA2B,SAA3B,CAAP,CACD,CAFD,CAEG,CAFH,EAGD,CAZD,EAYG,oBAZH,CAYwB,mBAZxB,EAaD,CAtBD,IAsBO,CACL,EAAE,aAAF,EAAiB,WAAjB,CAA6B,UAAU,MAAvC,EACA,EAAE,WAAF,EAAe,QAAf,CAAwB,UAAU,MAAlC,EAEA,KAAK,UAAL,CAAkB,KAAlB,CACA,EAAE,KAAK,QAAP,EAAiB,OAAjB,CAAyB,SAAzB,EACD,CAED,GAAI,SAAJ,CAAe,CACb,KAAK,KAAL,GACD,CACF,CAED;AA3EC,CAAA,CA/LoB,CAAvB,CA4QI,CAAC,CACH,IAAK,kBADF,CAEH,MAAO,yBAAA,CAA0B,MAA1B,CAAkC,CACvC,YAAY,IAAL,CAAU,UAAY,CAC3B,SAAW,EAAE,IAAF,EAAQ,IAAR,CAAa,QAAb,CAAX,CACA,YAAc,EAAE,MAAF,CAAS,EAAT,CAAa,OAAb,CAAsB,EAAE,IAAF,EAAQ,IAAR,EAAtB,CAAd,CAEA,GAAI,cAAA,mCAAO,MAAP,KAAkB,QAAtB,CAAgC,CAC9B,EAAE,MAAF,CAAS,OAAT,CAAkB,MAAlB,EACD,CAED,WAAa,aAAA,GAAkB,QAAlB,CAA6B,MAA7B,CAAsC,QAAQ,KAA3D,CAEA,GAAI,CAAC,IAAL,CAAW,CACT,KAAO,YAAA,CAAa,IAAb,CAAmB,OAAnB,CAAP,CACA,EAAE,IAAF,EAAQ,IAAR,CAAa,QAAb,CAAuB,IAAvB,EACD,CAED,GAAI,aAAA,GAAkB,QAAtB,CAAgC,CAC9B,KAAK,EAAL,CAAQ,MAAR,EACD,CAFD,QAEW,aAAA,GAAkB,QAAtB,CAAgC,CACrC,GAAI,KAAK,MAAL,IAAiB,SAArB,CAAgC,CAC9B,eAAM,CAAU,oBAAsB,MAAtB,CAA+B,GAAzC,CAAN,CACD,CACD,KAAK,MAAL,IACD,CALM,QAKI,QAAQ,QAAZ,CAAsB,CAC3B,KAAK,KAAL,GACA,KAAK,KAAL,GACD,CACF,CA1BM,CAAP,CA2BD,CA9BE,CAAD,CA+BD,CACD,IAAK,sBADJ,CAED,MAAO,6BAAA,CAA8B,KAA9B,CAAqC,CAC1C,aAAe,KAAK,sBAAL,CAA4B,IAA5B,CAAf,CAEA,GAAI,CAAC,QAAL,CAAe,CACb,OACD,CAED,WAAa,EAAE,QAAF,EAAY,CAAZ,CAAb,CAEA,GAAI,CAAC,MAAD,EAAW,CAAC,EAAE,MAAF,EAAU,QAAV,CAAmB,UAAU,QAA7B,CAAhB,CAAwD,CACtD,OACD,CAED,WAAa,EAAE,MAAF,CAAS,EAAT,CAAa,EAAE,MAAF,EAAU,IAAV,EAAb,CAA+B,EAAE,IAAF,EAAQ,IAAR,EAA/B,CAAb,CACA,eAAiB,KAAK,YAAL,CAAkB,eAAlB,CAAjB,CAEA,GAAI,UAAJ,CAAgB,CACd,OAAO,QAAP,CAAkB,KAAlB,CACD,CAED,SAAS,gBAAT,CAA0B,IAA1B,CAA+B,EAAE,MAAF,CAA/B,CAA0C,MAA1C,EAEA,GAAI,UAAJ,CAAgB,CACd,EAAE,MAAF,EAAU,IAAV,CAAe,QAAf,EAAyB,EAAzB,CAA4B,UAA5B,EACD,CAED,MAAM,cAAN,GACD,CA7BA,CA/BC,CA6DD,CACD,IAAK,SADJ,CAED,IAAK,YAAA,EAAe,CAClB,cAAA,CACD,CAJA,CA7DC,CAkED,CACD,IAAK,SADJ,CAED,IAAK,YAAA,EAAe,CAClB,cAAA,CACD,CAJA,CAlEC,CA5QJ,EAqVA,eAAA,CACD,CAhXc,EAAf,CAkXA,EAAE,QAAF,EAAY,EAAZ,CAAe,MAAM,cAArB,CAAqC,SAAS,UAA9C,CAA0D,SAAS,oBAAnE,EAEA,EAAE,MAAF,EAAU,EAAV,CAAa,MAAM,aAAnB,CAAkC,UAAY,CAC5C,EAAE,SAAS,SAAX,EAAsB,IAAtB,CAA2B,UAAY,CACrC,cAAgB,EAAE,IAAF,CAAhB,CACA,SAAS,gBAAT,CAA0B,IAA1B,CAA+B,SAA/B,CAA0C,UAAU,IAAV,EAA1C,EACD,CAHD,EAID,CALD,EAOA;;;;MAMA,EAAE,EAAF,CAAK,IAAL,EAAa,SAAS,gBAAtB,CACA,EAAE,EAAF,CAAK,IAAL,EAAW,WAAX,CAAyB,QAAzB,CACA,EAAE,EAAF,CAAK,IAAL,EAAW,UAAX,CAAwB,UAAY,CAClC,EAAE,EAAF,CAAK,IAAL,EAAa,kBAAb,CACA,gBAAgB,gBAAhB,CACD,CAHD,CAKA,eAAA,CACD,CAndc,CAmdZ,MAndY,CAAf,CAqdA;;;;;IAOA,aAAgB,SAAU,CAAV,CAAa;;;;MAQ3B,SAAW,UAAX,CACA,YAAc,eAAd,CACA,aAAe,aAAf,CACA,cAAgB,IAAM,QAAtB,CACA,iBAAmB,WAAnB,CACA,uBAAyB,EAAE,EAAF,CAAK,IAAL,CAAzB,CACA,wBAA0B,GAA1B,CAEA,YAAc,CACZ,OAAQ,IADI,CAEZ,OAAQ,EAFI,CAAd,CAKA,gBAAkB,CAChB,OAAQ,SADQ,CAEhB,OAAQ,QAFQ,CAAlB,CAKA,UAAY,CACV,KAAM,OAAS,SADL,CAEV,MAAO,QAAU,SAFP,CAGV,KAAM,OAAS,SAHL,CAIV,OAAQ,SAAW,SAJT,CAKV,eAAgB,QAAU,SAAV,CAAsB,YAL5B,CAAZ,CAQA,cAAgB,CACd,GAAI,IADU,CAEd,SAAU,UAFI,CAGd,WAAY,YAHE,CAId,UAAW,WAJG,CAAhB,CAOA,cAAgB,CACd,MAAO,OADO,CAEd,OAAQ,QAFM,CAAhB,CAKA,aAAe,CACb,QAAS,oCADI,CAEb,YAAa,0BAFA,CAAf,CAKA;;;;MAMA,aAAgB,UAAY,CAC1B,iBAAA,CAAkB,OAAlB,CAA2B,MAA3B,CAAmC,CACjC,gBAAgB,IAAhB,CAAsB,QAAtB,EAEA,KAAK,gBAAL,CAAwB,KAAxB,CACA,KAAK,QAAL,CAAgB,OAAhB,CACA,KAAK,OAAL,CAAe,KAAK,UAAL,CAAgB,MAAhB,CAAf,CACA,KAAK,aAAL,CAAqB,EAAE,SAAF,CAAY,EAAE,mCAAqC,QAAQ,EAA7C,CAAkD,KAAlD,EAA2D,0CAA4C,QAAQ,EAApD,CAAyD,IAApH,CAAF,CAAZ,CAArB,CAEA,KAAK,OAAL,CAAe,KAAK,OAAL,CAAa,MAAb,CAAsB,KAAK,UAAL,EAAtB,CAA0C,IAAzD,CAEA,GAAI,CAAC,KAAK,OAAL,CAAa,MAAlB,CAA0B,CACxB,KAAK,yBAAL,CAA+B,KAAK,QAApC,CAA8C,KAAK,aAAnD,EACD,CAED,GAAI,KAAK,OAAL,CAAa,MAAjB,CAAyB,CACvB,KAAK,MAAL,GACD,CACF,CAED;;;;;AAQA,CAAA,aAAa,QAAb,CAAuB,CAAC,CACtB,IAAK,QADiB;AAKtB,CAAA,MAAO,eAAA,EAAkB,CACvB,GAAI,EAAE,KAAK,QAAP,EAAiB,QAAjB,CAA0B,UAAU,EAApC,CAAJ,CAA6C,CAC3C,KAAK,IAAL,GACD,CAFD,IAEO,CACL,KAAK,IAAL,GACD,CACF,CAXqB,CAAD,CAYpB,CACD,IAAK,MADJ,CAED,MAAO,aAAA,EAAgB,CACrB,WAAa,IAAb,CAEA,GAAI,KAAK,gBAAL,EAAyB,EAAE,KAAK,QAAP,EAAiB,QAAjB,CAA0B,UAAU,EAApC,CAA7B,CAAsE,CACpE,OACD,CAED,YAAc,SAAd,CACA,gBAAkB,SAAlB,CAEA,GAAI,KAAK,OAAT,CAAkB,CAChB,QAAU,EAAE,SAAF,CAAY,EAAE,SAAS,OAAX,CAAZ,CAAV,CACA,GAAI,CAAC,QAAQ,MAAb,CAAqB,CACnB,QAAU,IAAV,CACD,CACF,CAED,GAAI,OAAJ,CAAa,CACX,YAAc,EAAE,OAAF,EAAW,IAAX,CAAgB,QAAhB,CAAd,CACA,GAAI,aAAe,YAAY,gBAA/B,CAAiD,CAC/C,OACD,CACF,CAED,eAAiB,EAAE,KAAF,CAAQ,MAAM,IAAd,CAAjB,CACA,EAAE,KAAK,QAAP,EAAiB,OAAjB,CAAyB,UAAzB,EACA,GAAI,WAAW,kBAAX,EAAJ,CAAqC,CACnC,OACD,CAED,GAAI,OAAJ,CAAa,CACX,SAAS,gBAAT,CAA0B,IAA1B,CAA+B,EAAE,OAAF,CAA/B,CAA2C,MAA3C,EACA,GAAI,CAAC,WAAL,CAAkB,CAChB,EAAE,OAAF,EAAW,IAAX,CAAgB,QAAhB,CAA0B,IAA1B,EACD,CACF,CAED,cAAgB,KAAK,aAAL,EAAhB,CAEA,EAAE,KAAK,QAAP,EAAiB,WAAjB,CAA6B,UAAU,QAAvC,EAAiD,QAAjD,CAA0D,UAAU,UAApE,EAEA,KAAK,QAAL,CAAc,KAAd,CAAoB,SAApB,EAAiC,CAAjC,CACA,KAAK,QAAL,CAAc,YAAd,CAA2B,eAA3B,CAA4C,IAA5C,EAEA,GAAI,KAAK,aAAL,CAAmB,MAAvB,CAA+B,CAC7B,EAAE,KAAK,aAAP,EAAsB,WAAtB,CAAkC,UAAU,SAA5C,EAAuD,IAAvD,CAA4D,eAA5D,CAA6E,IAA7E,EACD,CAED,KAAK,gBAAL,CAAsB,IAAtB,EAEA,aAAe,iBAAA,EAAoB,CACjC,EAAE,OAAO,QAAT,EAAmB,WAAnB,CAA+B,UAAU,UAAzC,EAAqD,QAArD,CAA8D,UAAU,QAAxE,EAAkF,QAAlF,CAA2F,UAAU,EAArG,EAEA,OAAO,QAAP,CAAgB,KAAhB,CAAsB,SAAtB,EAAmC,EAAnC,CAEA,OAAO,gBAAP,CAAwB,KAAxB,EAEA,EAAE,OAAO,QAAT,EAAmB,OAAnB,CAA2B,MAAM,KAAjC,EACD,CARD,CAUA,GAAI,CAAC,KAAK,qBAAL,EAAL,CAAmC,CACjC,WACA,OACD,CAED,yBAA2B,UAAU,CAAV,EAAa,WAAb,GAA6B,UAAU,KAAV,CAAgB,CAAhB,CAAxD,CACA,eAAiB,SAAW,oBAA5B,CAEA,EAAE,KAAK,QAAP,EAAiB,GAAjB,CAAqB,KAAK,cAA1B,CAA0C,QAA1C,EAAoD,oBAApD,CAAyE,mBAAzE,EAEA,KAAK,QAAL,CAAc,KAAd,CAAoB,SAApB,EAAiC,KAAK,QAAL,CAAc,UAAd,EAA4B,IAA7D,CACD,CAzEA,CAZoB,CAsFpB,CACD,IAAK,MADJ,CAED,MAAO,aAAA,EAAgB,CACrB,WAAa,IAAb,CAEA,GAAI,KAAK,gBAAL,EAAyB,CAAC,EAAE,KAAK,QAAP,EAAiB,QAAjB,CAA0B,UAAU,EAApC,CAA9B,CAAuE,CACrE,OACD,CAED,eAAiB,EAAE,KAAF,CAAQ,MAAM,IAAd,CAAjB,CACA,EAAE,KAAK,QAAP,EAAiB,OAAjB,CAAyB,UAAzB,EACA,GAAI,WAAW,kBAAX,EAAJ,CAAqC,CACnC,OACD,CAED,cAAgB,KAAK,aAAL,EAAhB,CACA,oBAAsB,YAAc,UAAU,KAAxB,CAAgC,aAAhC,CAAgD,cAAtE,CAEA,KAAK,QAAL,CAAc,KAAd,CAAoB,SAApB,EAAiC,KAAK,QAAL,CAAc,eAAd,EAAiC,IAAlE,CAEA,KAAK,MAAL,CAAY,KAAK,QAAjB,EAEA,EAAE,KAAK,QAAP,EAAiB,QAAjB,CAA0B,UAAU,UAApC,EAAgD,WAAhD,CAA4D,UAAU,QAAtE,EAAgF,WAAhF,CAA4F,UAAU,EAAtG,EAEA,KAAK,QAAL,CAAc,YAAd,CAA2B,eAA3B,CAA4C,KAA5C,EAEA,GAAI,KAAK,aAAL,CAAmB,MAAvB,CAA+B,CAC7B,EAAE,KAAK,aAAP,EAAsB,QAAtB,CAA+B,UAAU,SAAzC,EAAoD,IAApD,CAAyD,eAAzD,CAA0E,KAA1E,EACD,CAED,KAAK,gBAAL,CAAsB,IAAtB,EAEA,aAAe,iBAAA,EAAoB,CACjC,OAAO,gBAAP,CAAwB,KAAxB,EACA,EAAE,OAAO,QAAT,EAAmB,WAAnB,CAA+B,UAAU,UAAzC,EAAqD,QAArD,CAA8D,UAAU,QAAxE,EAAkF,OAAlF,CAA0F,MAAM,MAAhG,EACD,CAHD,CAKA,KAAK,QAAL,CAAc,KAAd,CAAoB,SAApB,EAAiC,CAAjC,CAEA,GAAI,CAAC,KAAK,qBAAL,EAAL,CAAmC,CACjC,WACA,OACD,CAED,EAAE,KAAK,QAAP,EAAiB,GAAjB,CAAqB,KAAK,cAA1B,CAA0C,QAA1C,EAAoD,oBAApD,CAAyE,mBAAzE,EACD,CA7CA,CAtFoB,CAoIpB,CACD,IAAK,kBADJ,CAED,MAAO,yBAAA,CAA0B,eAA1B,CAA2C,CAChD,KAAK,gBAAL,CAAwB,eAAxB,CACD,CAJA,CApIoB,CAyIpB,CACD,IAAK,SADJ,CAED,MAAO,gBAAA,EAAmB,CACxB,EAAE,UAAF,CAAa,KAAK,QAAlB,CAA4B,QAA5B,EAEA,KAAK,OAAL,CAAe,IAAf,CACA,KAAK,OAAL,CAAe,IAAf,CACA,KAAK,QAAL,CAAgB,IAAhB,CACA,KAAK,aAAL,CAAqB,IAArB,CACA,KAAK,gBAAL,CAAwB,IAAxB,CACD,CAED;AAZC,CAAA,CAzIoB,CAuJpB,CACD,IAAK,YADJ,CAED,MAAO,mBAAA,CAAoB,MAApB,CAA4B,CACjC,OAAS,EAAE,MAAF,CAAS,EAAT,CAAa,OAAb,CAAsB,MAAtB,CAAT,CACA,OAAO,MAAP,CAAgB,QAAQ,OAAO,MAAf,CAAhB,CAAwC;AACxC,CAAA,KAAK,eAAL,CAAqB,IAArB,CAA2B,MAA3B,CAAmC,WAAnC,EACA,aAAA,CACD,CAPA,CAvJoB,CA+JpB,CACD,IAAK,eADJ,CAED,MAAO,sBAAA,EAAyB,CAC9B,aAAe,EAAE,KAAK,QAAP,EAAiB,QAAjB,CAA0B,UAAU,KAApC,CAAf,CACA,gBAAkB,UAAU,KAArB,CAA6B,UAAU,MAA9C,CACD,CALA,CA/JoB,CAqKpB,CACD,IAAK,YADJ,CAED,MAAO,mBAAA,EAAsB,CAC3B,WAAa,IAAb,CAEA,WAAa,EAAE,KAAK,OAAL,CAAa,MAAf,EAAuB,CAAvB,CAAb,CACA,aAAe,yCAA2C,KAAK,OAAL,CAAa,MAAxD,CAAiE,IAAhF,CAEA,EAAE,MAAF,EAAU,IAAV,CAAe,QAAf,EAAyB,IAAzB,CAA8B,SAAU,CAAV,CAAa,OAAb,CAAsB,CAClD,OAAO,yBAAP,CAAiC,SAAS,qBAAT,CAA+B,OAA/B,CAAjC,CAA0E,CAAC,OAAD,CAA1E,EACD,CAFD,EAIA,aAAA,CACD,CAbA,CArKoB,CAmLpB,CACD,IAAK,2BADJ,CAED,MAAO,kCAAA,CAAmC,OAAnC,CAA4C,YAA5C,CAA0D,CAC/D,GAAI,OAAJ,CAAa,CACX,WAAa,EAAE,OAAF,EAAW,QAAX,CAAoB,UAAU,EAA9B,CAAb,CACA,QAAQ,YAAR,CAAqB,eAArB,CAAsC,MAAtC,EAEA,GAAI,aAAa,MAAjB,CAAyB,CACvB,EAAE,YAAF,EAAgB,WAAhB,CAA4B,UAAU,SAAtC,CAAiD,CAAC,MAAlD,EAA0D,IAA1D,CAA+D,eAA/D,CAAgF,MAAhF,EACD,CACF,CACF,CAED;AAbC,CAAA,CAnLoB,CAAvB,CAkMI,CAAC,CACH,IAAK,uBADF,CAEH,MAAO,8BAAA,CAA+B,OAA/B,CAAwC,CAC7C,aAAe,KAAK,sBAAL,CAA4B,OAA5B,CAAf,CACA,gBAAkB,EAAE,QAAF,EAAY,CAAZ,CAAX,CAA4B,IAAnC,CACD,CALE,CAAD,CAMD,CACD,IAAK,kBADJ,CAED,MAAO,yBAAA,CAA0B,MAA1B,CAAkC,CACvC,YAAY,IAAL,CAAU,UAAY,CAC3B,UAAY,EAAE,IAAF,CAAZ,CACA,SAAW,MAAM,IAAN,CAAW,QAAX,CAAX,CACA,YAAc,EAAE,MAAF,CAAS,EAAT,CAAa,OAAb,CAAsB,MAAM,IAAN,EAAtB,CAAoC,cAAA,mCAAO,MAAP,KAAkB,QAAlB,EAA8B,MAAlE,CAAd,CAEA,GAAI,CAAC,IAAD,EAAS,QAAQ,MAAjB,EAA2B,YAAY,IAAZ,CAAiB,MAAjB,CAA/B,CAAyD,CACvD,QAAQ,MAAR,CAAiB,KAAjB,CACD,CAED,GAAI,CAAC,IAAL,CAAW,CACT,KAAO,YAAA,CAAa,IAAb,CAAmB,OAAnB,CAAP,CACA,MAAM,IAAN,CAAW,QAAX,CAAqB,IAArB,EACD,CAED,GAAI,aAAA,GAAkB,QAAtB,CAAgC,CAC9B,GAAI,KAAK,MAAL,IAAiB,SAArB,CAAgC,CAC9B,eAAM,CAAU,oBAAsB,MAAtB,CAA+B,GAAzC,CAAN,CACD,CACD,KAAK,MAAL,IACD,CACF,CApBM,CAAP,CAqBD,CAxBA,CANC,CA+BD,CACD,IAAK,SADJ,CAED,IAAK,YAAA,EAAe,CAClB,cAAA,CACD,CAJA,CA/BC,CAoCD,CACD,IAAK,SADJ,CAED,IAAK,YAAA,EAAe,CAClB,cAAA,CACD,CAJA,CApCC,CAlMJ,EA6OA,eAAA,CACD,CA1Qc,EAAf,CA4QA,EAAE,QAAF,EAAY,EAAZ,CAAe,MAAM,cAArB,CAAqC,SAAS,WAA9C,CAA2D,SAAU,KAAV,CAAiB,CAC1E,MAAM,cAAN,GAEA,WAAa,SAAS,qBAAT,CAA+B,IAA/B,CAAb,CACA,SAAW,EAAE,MAAF,EAAU,IAAV,CAAe,QAAf,CAAX,CACA,WAAa,KAAO,QAAP,CAAkB,EAAE,IAAF,EAAQ,IAAR,EAA/B,CAEA,SAAS,gBAAT,CAA0B,IAA1B,CAA+B,EAAE,MAAF,CAA/B,CAA0C,MAA1C,EACD,CARD,EAUA;;;;MAMA,EAAE,EAAF,CAAK,IAAL,EAAa,SAAS,gBAAtB,CACA,EAAE,EAAF,CAAK,IAAL,EAAW,WAAX,CAAyB,QAAzB,CACA,EAAE,EAAF,CAAK,IAAL,EAAW,UAAX,CAAwB,UAAY,CAClC,EAAE,EAAF,CAAK,IAAL,EAAa,kBAAb,CACA,gBAAgB,gBAAhB,CACD,CAHD,CAKA,eAAA,CACD,CA7Vc,CA6VZ,MA7VY,CAAf,CA+VA;;;;;IAOA,aAAgB,SAAU,CAAV,CAAa;;;;MAQ3B,SAAW,UAAX,CACA,YAAc,eAAd,CACA,aAAe,aAAf,CACA,cAAgB,IAAM,QAAtB,CACA,iBAAmB,WAAnB,CACA,uBAAyB,EAAE,EAAF,CAAK,IAAL,CAAzB,CACA,mBAAqB,EAArB,CAAyB;AACzB,CAAA,qBAAuB,EAAvB,CAA2B;AAC3B,CAAA,uBAAyB,EAAzB,CAA6B;AAC7B,CAAA,6BAA+B,CAA/B,CAAkC;AAElC,CAAA,UAAY,CACV,KAAM,OAAS,SADL,CAEV,OAAQ,SAAW,SAFT,CAGV,KAAM,OAAS,SAHL,CAIV,MAAO,QAAU,SAJP,CAKV,MAAO,QAAU,SALP,CAMV,eAAgB,QAAU,SAAV,CAAsB,YAN5B,CAOV,iBAAkB,UAAY,SAAZ,CAAwB,YAPhC,CAAZ,CAUA,cAAgB,CACd,SAAU,mBADI,CAEd,SAAU,UAFI,CAGd,KAAM,MAHQ,CAAhB,CAMA,aAAe,CACb,SAAU,oBADG,CAEb,YAAa,0BAFA,CAGb,WAAY,gBAHC,CAIb,UAAW,eAJE,CAKb,aAAc,kBALD,CAMb,WAAY,aANC,CAOb,cAAe,sCAAwC,sCAP1C,CAAf,CAUA;;;;MAMA,aAAgB,UAAY,CAC1B,iBAAA,CAAkB,OAAlB,CAA2B,CACzB,gBAAgB,IAAhB,CAAsB,QAAtB,EAEA,KAAK,QAAL,CAAgB,OAAhB,CAEA,KAAK,kBAAL,GACD,CAED;;;;;AAQA,CAAA,aAAa,QAAb,CAAuB,CAAC,CACtB,IAAK,QADiB;AAKtB,CAAA,MAAO,eAAA,EAAkB,CACvB,GAAI,KAAK,QAAL,EAAiB,EAAE,IAAF,EAAQ,QAAR,CAAiB,UAAU,QAA3B,CAArB,CAA2D,CACzD,YAAA,CACD,CAED,WAAa,SAAS,qBAAT,CAA+B,IAA/B,CAAb,CACA,aAAe,EAAE,MAAF,EAAU,QAAV,CAAmB,UAAU,IAA7B,CAAf,CAEA,SAAS,WAAT,GAEA,GAAI,QAAJ,CAAc,CACZ,YAAA,CACD,CAED,GAAI,0BAA2B,eAA3B,EAA8C,CAAC,EAAE,MAAF,EAAU,OAAV,CAAkB,SAAS,UAA3B,EAAuC,MAA1F,CAAkG;AAGhG,CAAA,aAAe,SAAS,aAAT,CAAuB,KAAvB,CAAf,CACA,SAAS,SAAT,CAAqB,UAAU,QAA/B,CACA,EAAE,QAAF,EAAY,YAAZ,CAAyB,IAAzB,EACA,EAAE,QAAF,EAAY,EAAZ,CAAe,OAAf,CAAwB,SAAS,WAAjC,EACD,CAED,kBAAoB,CAAE,cAAe,IAAjB,CAApB,CACA,cAAgB,EAAE,KAAF,CAAQ,MAAM,IAAd,CAAoB,aAApB,CAAhB,CAEA,EAAE,MAAF,EAAU,OAAV,CAAkB,SAAlB,EAEA,GAAI,UAAU,kBAAV,EAAJ,CAAoC,CAClC,YAAA,CACD,CAED,KAAK,KAAL,GACA,KAAK,YAAL,CAAkB,eAAlB,CAAmC,MAAnC,EAEA,EAAE,MAAF,EAAU,WAAV,CAAsB,UAAU,IAAhC,EACA,EAAE,MAAF,EAAU,OAAV,CAAkB,EAAE,KAAF,CAAQ,MAAM,KAAd,CAAqB,aAArB,CAAlB,EAEA,YAAA,CACD,CA5CqB,CAAD,CA6CpB,CACD,IAAK,SADJ,CAED,MAAO,gBAAA,EAAmB,CACxB,EAAE,UAAF,CAAa,KAAK,QAAlB,CAA4B,QAA5B,EACA,EAAE,KAAK,QAAP,EAAiB,GAAjB,CAAqB,SAArB,EACA,KAAK,QAAL,CAAgB,IAAhB,CACD,CAED;AARC,CAAA,CA7CoB,CAuDpB,CACD,IAAK,oBADJ,CAED,MAAO,2BAAA,EAA8B,CACnC,EAAE,KAAK,QAAP,EAAiB,EAAjB,CAAoB,MAAM,KAA1B,CAAiC,KAAK,MAAtC,EACD,CAED;AANC,CAAA,CAvDoB,CAAvB,CA+DI,CAAC,CACH,IAAK,kBADF,CAEH,MAAO,yBAAA,CAA0B,MAA1B,CAAkC,CACvC,YAAY,IAAL,CAAU,UAAY,CAC3B,SAAW,EAAE,IAAF,EAAQ,IAAR,CAAa,QAAb,CAAX,CAEA,GAAI,CAAC,IAAL,CAAW,CACT,EAAE,IAAF,EAAQ,IAAR,CAAa,QAAb,CAAuB,KAAO,YAAA,CAAa,IAAb,CAA9B,EACD,CAED,GAAI,aAAA,GAAkB,QAAtB,CAAgC,CAC9B,GAAI,KAAK,MAAL,IAAiB,SAArB,CAAgC,CAC9B,eAAM,CAAU,oBAAsB,MAAtB,CAA+B,GAAzC,CAAN,CACD,CACD,KAAK,MAAL,EAAa,IAAb,CAAkB,IAAlB,EACD,CACF,CAbM,CAAP,CAcD,CAjBE,CAAD,CAkBD,CACD,IAAK,aADJ,CAED,MAAO,oBAAA,CAAqB,KAArB,CAA4B,CACjC,GAAI,OAAS,MAAM,KAAN,GAAgB,wBAA7B,CAAuD,CACrD,OACD,CAED,aAAe,EAAE,SAAS,QAAX,EAAqB,CAArB,CAAf,CACA,GAAI,QAAJ,CAAc,CACZ,SAAS,UAAT,CAAoB,WAApB,CAAgC,QAAhC,EACD,CAED,YAAc,EAAE,SAAF,CAAY,EAAE,SAAS,WAAX,CAAZ,CAAd,CAEA,IAAK,MAAQ,CAAb,CAAgB,EAAI,QAAQ,MAA5B,CAAoC,GAApC,CAAyC,CACvC,YAAc,SAAS,qBAAT,CAA+B,QAAQ,CAAR,CAA/B,CAAd,CACA,kBAAoB,CAAE,cAAe,QAAQ,CAAR,CAAjB,CAApB,CAEA,GAAI,CAAC,EAAE,OAAF,EAAW,QAAX,CAAoB,UAAU,IAA9B,CAAL,CAA0C,CACxC,SACD,CAED,GAAI,OAAS,MAAM,IAAN,GAAe,OAAxB,EAAmC,kBAAkB,IAAlB,CAAuB,MAAM,MAAN,CAAa,OAApC,CAAnC,EAAmF,EAAE,QAAF,CAAW,OAAX,CAAoB,MAAM,MAA1B,CAAvF,CAA0H,CACxH,SACD,CAED,cAAgB,EAAE,KAAF,CAAQ,MAAM,IAAd,CAAoB,aAApB,CAAhB,CACA,EAAE,OAAF,EAAW,OAAX,CAAmB,SAAnB,EACA,GAAI,UAAU,kBAAV,EAAJ,CAAoC,CAClC,SACD,CAED,QAAQ,CAAR,EAAW,YAAX,CAAwB,eAAxB,CAAyC,OAAzC,EAEA,EAAE,OAAF,EAAW,WAAX,CAAuB,UAAU,IAAjC,EAAuC,OAAvC,CAA+C,EAAE,KAAF,CAAQ,MAAM,MAAd,CAAsB,aAAtB,CAA/C,EACD,CACF,CApCA,CAlBC,CAuDD,CACD,IAAK,uBADJ,CAED,MAAO,8BAAA,CAA+B,OAA/B,CAAwC,CAC7C,WAAa,SAAb,CACA,aAAe,KAAK,sBAAL,CAA4B,OAA5B,CAAf,CAEA,GAAI,QAAJ,CAAc,CACZ,OAAS,EAAE,QAAF,EAAY,CAAZ,CAAT,CACD,CAED,eAAiB,QAAQ,UAAzB,CACD,CAXA,CAvDC,CAmED,CACD,IAAK,wBADJ,CAED,MAAO,+BAAA,CAAgC,KAAhC,CAAuC,CAC5C,GAAI,CAAC,gBAAgB,IAAhB,CAAqB,MAAM,KAA3B,CAAD,EAAsC,kBAAkB,IAAlB,CAAuB,MAAM,MAAN,CAAa,OAApC,CAA1C,CAAwF,CACtF,OACD,CAED,MAAM,cAAN,GACA,MAAM,eAAN,GAEA,GAAI,KAAK,QAAL,EAAiB,EAAE,IAAF,EAAQ,QAAR,CAAiB,UAAU,QAA3B,CAArB,CAA2D,CACzD,OACD,CAED,WAAa,SAAS,qBAAT,CAA+B,IAA/B,CAAb,CACA,aAAe,EAAE,MAAF,EAAU,QAAV,CAAmB,UAAU,IAA7B,CAAf,CAEA,GAAI,CAAC,QAAD,EAAa,MAAM,KAAN,GAAgB,cAA7B,EAA+C,UAAY,MAAM,KAAN,GAAgB,cAA/E,CAA+F,CAE7F,GAAI,MAAM,KAAN,GAAgB,cAApB,CAAoC,CAClC,WAAa,EAAE,MAAF,EAAU,IAAV,CAAe,SAAS,WAAxB,EAAqC,CAArC,CAAb,CACA,EAAE,MAAF,EAAU,OAAV,CAAkB,OAAlB,EACD,CAED,EAAE,IAAF,EAAQ,OAAR,CAAgB,OAAhB,EACA,OACD,CAED,UAAY,EAAE,SAAF,CAAY,EAAE,SAAS,aAAX,CAAZ,CAAZ,CAEA,MAAQ,MAAM,MAAN,CAAa,SAAU,IAAV,CAAgB,CACnC,YAAY,WAAL,EAAoB,KAAK,YAAhC,CACD,CAFO,CAAR,CAIA,GAAI,CAAC,MAAM,MAAX,CAAmB,CACjB,OACD,CAED,UAAY,MAAM,OAAN,CAAc,MAAM,MAApB,CAAZ,CAEA,GAAI,MAAM,KAAN,GAAgB,gBAAhB,EAAoC,MAAQ,CAAhD,CAAmD;AAEjD,CAAA,QACD,CAED,GAAI,MAAM,KAAN,GAAgB,kBAAhB,EAAsC,MAAQ,MAAM,MAAN,CAAe,CAAjE,CAAoE;AAElE,CAAA,QACD,CAED,GAAI,MAAQ,CAAZ,CAAe,CACb,MAAQ,CAAR,CACD,CAED,MAAM,KAAN,EAAa,KAAb,GACD,CAvDA,CAnEC,CA2HD,CACD,IAAK,SADJ,CAED,IAAK,YAAA,EAAe,CAClB,cAAA,CACD,CAJA,CA3HC,CA/DJ,EAiMA,eAAA,CACD,CAnNc,EAAf,CAqNA,EAAE,QAAF,EAAY,EAAZ,CAAe,MAAM,gBAArB,CAAuC,SAAS,WAAhD,CAA6D,SAAS,sBAAtE,EAA8F,EAA9F,CAAiG,MAAM,gBAAvG,CAAyH,SAAS,SAAlI,CAA6I,SAAS,sBAAtJ,EAA8K,EAA9K,CAAiL,MAAM,gBAAvL,CAAyM,SAAS,YAAlN,CAAgO,SAAS,sBAAzO,EAAiQ,EAAjQ,CAAoQ,MAAM,cAA1Q,CAA0R,SAAS,WAAnS,EAAgT,EAAhT,CAAmT,MAAM,cAAzT,CAAyU,SAAS,WAAlV,CAA+V,SAAS,SAAT,CAAmB,MAAlX,EAA0X,EAA1X,CAA6X,MAAM,cAAnY,CAAmZ,SAAS,UAA5Z,CAAwa,SAAU,CAAV,CAAa,CACnb,EAAE,eAAF,GACD,CAFD,EAIA;;;;MAMA,EAAE,EAAF,CAAK,IAAL,EAAa,SAAS,gBAAtB,CACA,EAAE,EAAF,CAAK,IAAL,EAAW,WAAX,CAAyB,QAAzB,CACA,EAAE,EAAF,CAAK,IAAL,EAAW,UAAX,CAAwB,UAAY,CAClC,EAAE,EAAF,CAAK,IAAL,EAAa,kBAAb,CACA,gBAAgB,gBAAhB,CACD,CAHD,CAKA,eAAA,CACD,CA1Rc,CA0RZ,MA1RY,CAAf,CA4RA;;;;;IAOA,UAAa,SAAU,CAAV,CAAa;;;;MAQxB,SAAW,OAAX,CACA,YAAc,eAAd,CACA,aAAe,UAAf,CACA,cAAgB,IAAM,QAAtB,CACA,iBAAmB,WAAnB,CACA,uBAAyB,EAAE,EAAF,CAAK,IAAL,CAAzB,CACA,wBAA0B,GAA1B,CACA,iCAAmC,GAAnC,CACA,mBAAqB,EAArB,CAAyB;AAEzB,CAAA,YAAc,CACZ,SAAU,IADE,CAEZ,SAAU,IAFE,CAGZ,MAAO,IAHK,CAIZ,KAAM,IAJM,CAAd,CAOA,gBAAkB,CAChB,SAAU,kBADM,CAEhB,SAAU,SAFM,CAGhB,MAAO,SAHS,CAIhB,KAAM,SAJU,CAAlB,CAOA,UAAY,CACV,KAAM,OAAS,SADL,CAEV,OAAQ,SAAW,SAFT,CAGV,KAAM,OAAS,SAHL,CAIV,MAAO,QAAU,SAJP,CAKV,QAAS,UAAY,SALX,CAMV,OAAQ,SAAW,SANT,CAOV,cAAe,gBAAkB,SAPvB,CAQV,gBAAiB,kBAAoB,SAR3B,CASV,gBAAiB,kBAAoB,SAT3B,CAUV,kBAAmB,oBAAsB,SAV/B,CAWV,eAAgB,QAAU,SAAV,CAAsB,YAX5B,CAAZ,CAcA,cAAgB,CACd,mBAAoB,yBADN,CAEd,SAAU,gBAFI,CAGd,KAAM,YAHQ,CAId,KAAM,MAJQ,CAKd,GAAI,IALU,CAAhB,CAQA,aAAe,CACb,OAAQ,eADK,CAEb,YAAa,uBAFA,CAGb,aAAc,wBAHD,CAIb,cAAe,oDAJF,CAAf,CAOA;;;;MAMA,UAAa,UAAY,CACvB,cAAA,CAAe,OAAf,CAAwB,MAAxB,CAAgC,CAC9B,gBAAgB,IAAhB,CAAsB,KAAtB,EAEA,KAAK,OAAL,CAAe,KAAK,UAAL,CAAgB,MAAhB,CAAf,CACA,KAAK,QAAL,CAAgB,OAAhB,CACA,KAAK,OAAL,CAAe,EAAE,OAAF,EAAW,IAAX,CAAgB,SAAS,MAAzB,EAAiC,CAAjC,CAAf,CACA,KAAK,SAAL,CAAiB,IAAjB,CACA,KAAK,QAAL,CAAgB,KAAhB,CACA,KAAK,kBAAL,CAA0B,KAA1B,CACA,KAAK,oBAAL,CAA4B,KAA5B,CACA,KAAK,oBAAL,CAA4B,CAA5B,CACA,KAAK,eAAL,CAAuB,CAAvB,CACD,CAED;;;;;AAQA,CAAA,aAAa,KAAb,CAAoB,CAAC,CACnB,IAAK,QADc;AAKnB,CAAA,MAAO,eAAA,CAAgB,aAAhB,CAA+B,CACpC,YAAY,QAAL,CAAgB,KAAK,IAAL,EAAhB,CAA8B,KAAK,IAAL,CAAU,aAAV,CAArC,CACD,CAPkB,CAAD,CAQjB,CACD,IAAK,MADJ,CAED,MAAO,aAAA,CAAc,aAAd,CAA6B,CAClC,WAAa,IAAb,CAEA,cAAgB,EAAE,KAAF,CAAQ,MAAM,IAAd,CAAoB,CAClC,cAAe,aADmB,CAApB,CAAhB,CAIA,EAAE,KAAK,QAAP,EAAiB,OAAjB,CAAyB,SAAzB,EAEA,GAAI,KAAK,QAAL,EAAiB,UAAU,kBAAV,EAArB,CAAqD,CACnD,OACD,CAED,KAAK,QAAL,CAAgB,IAAhB,CAEA,KAAK,eAAL,GACA,KAAK,aAAL,GAEA,EAAE,SAAS,IAAX,EAAiB,QAAjB,CAA0B,UAAU,IAApC,EAEA,KAAK,eAAL,GACA,KAAK,eAAL,GAEA,EAAE,KAAK,QAAP,EAAiB,EAAjB,CAAoB,MAAM,aAA1B,CAAyC,SAAS,YAAlD,CAAgE,EAAE,KAAF,CAAQ,KAAK,IAAb,CAAmB,IAAnB,CAAhE,EAEA,EAAE,KAAK,OAAP,EAAgB,EAAhB,CAAmB,MAAM,iBAAzB,CAA4C,UAAY,CACtD,EAAE,OAAO,QAAT,EAAmB,GAAnB,CAAuB,MAAM,eAA7B,CAA8C,SAAU,KAAV,CAAiB,CAC7D,GAAI,EAAE,MAAM,MAAR,EAAgB,EAAhB,CAAmB,OAAO,QAA1B,CAAJ,CAAyC,CACvC,OAAO,oBAAP,CAA8B,IAA9B,CACD,CACF,CAJD,EAKD,CAND,EAQA,KAAK,aAAL,CAAmB,EAAE,KAAF,CAAQ,KAAK,YAAb,CAA2B,IAA3B,CAAiC,aAAjC,CAAnB,EACD,CApCA,CARiB,CA6CjB,CACD,IAAK,MADJ,CAED,MAAO,aAAA,CAAc,KAAd,CAAqB,CAC1B,GAAI,KAAJ,CAAW,CACT,MAAM,cAAN,GACD,CAED,cAAgB,EAAE,KAAF,CAAQ,MAAM,IAAd,CAAhB,CAEA,EAAE,KAAK,QAAP,EAAiB,OAAjB,CAAyB,SAAzB,EAEA,GAAI,CAAC,KAAK,QAAN,EAAkB,UAAU,kBAAV,EAAtB,CAAsD,CACpD,OACD,CAED,KAAK,QAAL,CAAgB,KAAhB,CAEA,KAAK,eAAL,GACA,KAAK,eAAL,GAEA,EAAE,QAAF,EAAY,GAAZ,CAAgB,MAAM,OAAtB,EAEA,EAAE,KAAK,QAAP,EAAiB,WAAjB,CAA6B,UAAU,EAAvC,EAEA,EAAE,KAAK,QAAP,EAAiB,GAAjB,CAAqB,MAAM,aAA3B,EACA,EAAE,KAAK,OAAP,EAAgB,GAAhB,CAAoB,MAAM,iBAA1B,EAEA,GAAI,KAAK,qBAAL,IAAgC,EAAE,KAAK,QAAP,EAAiB,QAAjB,CAA0B,UAAU,IAApC,CAApC,CAA+E,CAE7E,EAAE,KAAK,QAAP,EAAiB,GAAjB,CAAqB,KAAK,cAA1B,CAA0C,EAAE,KAAF,CAAQ,KAAK,UAAb,CAAyB,IAAzB,CAA1C,EAA0E,oBAA1E,CAA+F,mBAA/F,EACD,CAHD,IAGO,CACL,KAAK,UAAL,GACD,CACF,CAjCA,CA7CiB,CA+EjB,CACD,IAAK,SADJ,CAED,MAAO,gBAAA,EAAmB,CACxB,EAAE,UAAF,CAAa,KAAK,QAAlB,CAA4B,QAA5B,EAEA,EAAE,MAAF,EAAU,GAAV,CAAc,SAAd,EACA,EAAE,QAAF,EAAY,GAAZ,CAAgB,SAAhB,EACA,EAAE,KAAK,QAAP,EAAiB,GAAjB,CAAqB,SAArB,EACA,EAAE,KAAK,SAAP,EAAkB,GAAlB,CAAsB,SAAtB,EAEA,KAAK,OAAL,CAAe,IAAf,CACA,KAAK,QAAL,CAAgB,IAAhB,CACA,KAAK,OAAL,CAAe,IAAf,CACA,KAAK,SAAL,CAAiB,IAAjB,CACA,KAAK,QAAL,CAAgB,IAAhB,CACA,KAAK,kBAAL,CAA0B,IAA1B,CACA,KAAK,oBAAL,CAA4B,IAA5B,CACA,KAAK,oBAAL,CAA4B,IAA5B,CACA,KAAK,eAAL,CAAuB,IAAvB,CACD,CAED;AArBC,CAAA,CA/EiB,CAsGjB,CACD,IAAK,YADJ,CAED,MAAO,mBAAA,CAAoB,MAApB,CAA4B,CACjC,OAAS,EAAE,MAAF,CAAS,EAAT,CAAa,OAAb,CAAsB,MAAtB,CAAT,CACA,KAAK,eAAL,CAAqB,IAArB,CAA2B,MAA3B,CAAmC,WAAnC,EACA,aAAA,CACD,CANA,CAtGiB,CA6GjB,CACD,IAAK,cADJ,CAED,MAAO,qBAAA,CAAsB,aAAtB,CAAqC,CAC1C,WAAa,IAAb,CAEA,eAAiB,KAAK,qBAAL,IAAgC,EAAE,KAAK,QAAP,EAAiB,QAAjB,CAA0B,UAAU,IAApC,CAAjD,CAEA,GAAI,CAAC,KAAK,QAAL,CAAc,UAAf,EAA6B,KAAK,QAAL,CAAc,UAAd,CAAyB,QAAzB,GAAsC,KAAK,YAA5E,CAA0F;AAExF,CAAA,SAAS,IAAT,CAAc,WAAd,CAA0B,KAAK,QAA/B,EACD,CAED,KAAK,QAAL,CAAc,KAAd,CAAoB,OAApB,CAA8B,OAA9B,CACA,KAAK,QAAL,CAAc,eAAd,CAA8B,aAA9B,EACA,KAAK,QAAL,CAAc,SAAd,CAA0B,CAA1B,CAEA,GAAI,UAAJ,CAAgB,CACd,KAAK,MAAL,CAAY,KAAK,QAAjB,EACD,CAED,EAAE,KAAK,QAAP,EAAiB,QAAjB,CAA0B,UAAU,EAApC,EAEA,GAAI,KAAK,OAAL,CAAa,KAAjB,CAAwB,CACtB,KAAK,aAAL,GACD,CAED,eAAiB,EAAE,KAAF,CAAQ,MAAM,KAAd,CAAqB,CACpC,cAAe,aADqB,CAArB,CAAjB,CAIA,uBAAyB,2BAAA,EAA8B,CACrD,GAAI,OAAO,OAAP,CAAe,KAAnB,CAA0B,CACxB,OAAO,QAAP,CAAgB,KAAhB,GACD,CACD,EAAE,OAAO,QAAT,EAAmB,OAAnB,CAA2B,UAA3B,EACD,CALD,CAOA,GAAI,UAAJ,CAAgB,CACd,EAAE,KAAK,OAAP,EAAgB,GAAhB,CAAoB,KAAK,cAAzB,CAAyC,kBAAzC,EAA6D,oBAA7D,CAAkF,mBAAlF,EACD,CAFD,IAEO,CACL,qBACD,CACF,CA1CA,CA7GiB,CAwJjB,CACD,IAAK,eADJ,CAED,MAAO,sBAAA,EAAyB,CAC9B,WAAa,IAAb,CAEA,EAAE,QAAF,EAAY,GAAZ,CAAgB,MAAM,OAAtB,CAA+B;AAA/B,CAAA,CACC,EADD,CACI,MAAM,OADV,CACmB,SAAU,KAAV,CAAiB,CAClC,GAAI,WAAa,MAAM,MAAnB,EAA6B,OAAO,QAAP,GAAoB,MAAM,MAAvD,EAAiE,CAAC,EAAE,OAAO,QAAT,EAAmB,GAAnB,CAAuB,MAAM,MAA7B,EAAqC,MAA3G,CAAmH,CACjH,OAAO,QAAP,CAAgB,KAAhB,GACD,CACF,CALD,EAMD,CAXA,CAxJiB,CAoKjB,CACD,IAAK,iBADJ,CAED,MAAO,wBAAA,EAA2B,CAChC,YAAc,IAAd,CAEA,GAAI,KAAK,QAAL,EAAiB,KAAK,OAAL,CAAa,QAAlC,CAA4C,CAC1C,EAAE,KAAK,QAAP,EAAiB,EAAjB,CAAoB,MAAM,eAA1B,CAA2C,SAAU,KAAV,CAAiB,CAC1D,GAAI,MAAM,KAAN,GAAgB,cAApB,CAAoC,CAClC,QAAQ,IAAR,GACD,CACF,CAJD,EAKD,CAND,QAMW,CAAC,KAAK,QAAV,CAAoB,CACzB,EAAE,KAAK,QAAP,EAAiB,GAAjB,CAAqB,MAAM,eAA3B,EACD,CACF,CAdA,CApKiB,CAmLjB,CACD,IAAK,iBADJ,CAED,MAAO,wBAAA,EAA2B,CAChC,GAAI,KAAK,QAAT,CAAmB,CACjB,EAAE,MAAF,EAAU,EAAV,CAAa,MAAM,MAAnB,CAA2B,EAAE,KAAF,CAAQ,KAAK,aAAb,CAA4B,IAA5B,CAA3B,EACD,CAFD,IAEO,CACL,EAAE,MAAF,EAAU,GAAV,CAAc,MAAM,MAApB,EACD,CACF,CARA,CAnLiB,CA4LjB,CACD,IAAK,YADJ,CAED,MAAO,mBAAA,EAAsB,CAC3B,YAAc,IAAd,CAEA,KAAK,QAAL,CAAc,KAAd,CAAoB,OAApB,CAA8B,MAA9B,CACA,KAAK,QAAL,CAAc,YAAd,CAA2B,aAA3B,CAA0C,MAA1C,EACA,KAAK,aAAL,CAAmB,UAAY,CAC7B,EAAE,SAAS,IAAX,EAAiB,WAAjB,CAA6B,UAAU,IAAvC,EACA,QAAQ,iBAAR,GACA,QAAQ,eAAR,GACA,EAAE,QAAQ,QAAV,EAAoB,OAApB,CAA4B,MAAM,MAAlC,EACD,CALD,EAMD,CAbA,CA5LiB,CA0MjB,CACD,IAAK,iBADJ,CAED,MAAO,wBAAA,EAA2B,CAChC,GAAI,KAAK,SAAT,CAAoB,CAClB,EAAE,KAAK,SAAP,EAAkB,MAAlB,GACA,KAAK,SAAL,CAAiB,IAAjB,CACD,CACF,CAPA,CA1MiB,CAkNjB,CACD,IAAK,eADJ,CAED,MAAO,sBAAA,CAAuB,QAAvB,CAAiC,CACtC,YAAc,IAAd,CAEA,YAAc,EAAE,KAAK,QAAP,EAAiB,QAAjB,CAA0B,UAAU,IAApC,EAA4C,UAAU,IAAtD,CAA6D,EAA3E,CAEA,GAAI,KAAK,QAAL,EAAiB,KAAK,OAAL,CAAa,QAAlC,CAA4C,CAC1C,cAAgB,KAAK,qBAAL,IAAgC,OAAhD,CAEA,KAAK,SAAL,CAAiB,SAAS,aAAT,CAAuB,KAAvB,CAAjB,CACA,KAAK,SAAL,CAAe,SAAf,CAA2B,UAAU,QAArC,CAEA,GAAI,OAAJ,CAAa,CACX,EAAE,KAAK,SAAP,EAAkB,QAAlB,CAA2B,OAA3B,EACD,CAED,EAAE,KAAK,SAAP,EAAkB,QAAlB,CAA2B,SAAS,IAApC,EAEA,EAAE,KAAK,QAAP,EAAiB,EAAjB,CAAoB,MAAM,aAA1B,CAAyC,SAAU,KAAV,CAAiB,CACxD,GAAI,QAAQ,oBAAZ,CAAkC,CAChC,QAAQ,oBAAR,CAA+B,KAA/B,CACA,OACD,CACD,GAAI,MAAM,MAAN,GAAiB,MAAM,aAA3B,CAA0C,CACxC,OACD,CACD,GAAI,QAAQ,OAAR,CAAgB,QAAhB,GAA6B,QAAjC,CAA2C,CACzC,QAAQ,QAAR,CAAiB,KAAjB,GACD,CAFD,IAEO,CACL,QAAQ,IAAR,GACD,CACF,CAbD,EAeA,GAAI,SAAJ,CAAe,CACb,KAAK,MAAL,CAAY,KAAK,SAAjB,EACD,CAED,EAAE,KAAK,SAAP,EAAkB,QAAlB,CAA2B,UAAU,EAArC,EAEA,GAAI,CAAC,QAAL,CAAe,CACb,OACD,CAED,GAAI,CAAC,SAAL,CAAgB,CACd,WACA,OACD,CAED,EAAE,KAAK,SAAP,EAAkB,GAAlB,CAAsB,KAAK,cAA3B,CAA2C,QAA3C,EAAqD,oBAArD,CAA0E,4BAA1E,EACD,CA3CD,QA2CW,CAAC,KAAK,QAAN,EAAkB,KAAK,SAA3B,CAAsC,CAC3C,EAAE,KAAK,SAAP,EAAkB,WAAlB,CAA8B,UAAU,EAAxC,EAEA,mBAAqB,uBAAA,EAA0B,CAC7C,QAAQ,eAAR,GACA,GAAI,QAAJ,CAAc,CACZ,WACD,CACF,CALD,CAOA,GAAI,KAAK,qBAAL,IAAgC,EAAE,KAAK,QAAP,EAAiB,QAAjB,CAA0B,UAAU,IAApC,CAApC,CAA+E,CAC7E,EAAE,KAAK,SAAP,EAAkB,GAAlB,CAAsB,KAAK,cAA3B,CAA2C,cAA3C,EAA2D,oBAA3D,CAAgF,4BAAhF,EACD,CAFD,IAEO,CACL,iBACD,CACF,CAfM,QAeI,QAAJ,CAAc,CACnB,WACD,CACF,CAED;AACA,CAAA;AACA,CAAA;AACA,CAAA;AAzEC,CAAA,CAlNiB,CA6RjB,CACD,IAAK,eADJ,CAED,MAAO,sBAAA,EAAyB,CAC9B,KAAK,aAAL,GACD,CAJA,CA7RiB,CAkSjB,CACD,IAAK,eADJ,CAED,MAAO,sBAAA,EAAyB,CAC9B,uBAAyB,KAAK,QAAL,CAAc,YAAd,CAA6B,SAAS,eAAT,CAAyB,YAA/E,CAEA,GAAI,CAAC,KAAK,kBAAN,EAA4B,kBAAhC,CAAoD,CAClD,KAAK,QAAL,CAAc,KAAd,CAAoB,WAApB,CAAkC,KAAK,eAAL,CAAuB,IAAzD,CACD,CAED,GAAI,KAAK,kBAAL,EAA2B,CAAC,kBAAhC,CAAoD,CAClD,KAAK,QAAL,CAAc,KAAd,CAAoB,YAApB,CAAmC,KAAK,eAAL,CAAuB,IAA1D,CACD,CACF,CAZA,CAlSiB,CA+SjB,CACD,IAAK,mBADJ,CAED,MAAO,0BAAA,EAA6B,CAClC,KAAK,QAAL,CAAc,KAAd,CAAoB,WAApB,CAAkC,EAAlC,CACA,KAAK,QAAL,CAAc,KAAd,CAAoB,YAApB,CAAmC,EAAnC,CACD,CALA,CA/SiB,CAqTjB,CACD,IAAK,iBADJ,CAED,MAAO,wBAAA,EAA2B,CAChC,KAAK,kBAAL,CAA0B,SAAS,IAAT,CAAc,WAAd,CAA4B,OAAO,UAA7D,CACA,KAAK,eAAL,CAAuB,KAAK,kBAAL,EAAvB,CACD,CALA,CArTiB,CA2TjB,CACD,IAAK,eADJ,CAED,MAAO,sBAAA,EAAyB,CAC9B,gBAAkB,SAAS,EAAE,SAAS,aAAX,EAA0B,GAA1B,CAA8B,eAA9B,GAAkD,CAA3D,CAA8D,EAA9D,CAAlB,CAEA,KAAK,oBAAL,CAA4B,SAAS,IAAT,CAAc,KAAd,CAAoB,YAApB,EAAoC,EAAhE,CAEA,GAAI,KAAK,kBAAT,CAA6B,CAC3B,SAAS,IAAT,CAAc,KAAd,CAAoB,YAApB,CAAmC,YAAc,KAAK,eAAnB,CAAqC,IAAxE,CACD,CACF,CAVA,CA3TiB,CAsUjB,CACD,IAAK,iBADJ,CAED,MAAO,wBAAA,EAA2B,CAChC,SAAS,IAAT,CAAc,KAAd,CAAoB,YAApB,CAAmC,KAAK,oBAAxC,CACD,CAJA,CAtUiB,CA2UjB,CACD,IAAK,oBADJ,CAED,MAAO,2BAAA,EAA8B;AAEnC,CAAA,cAAgB,SAAS,aAAT,CAAuB,KAAvB,CAAhB,CACA,UAAU,SAAV,CAAsB,UAAU,kBAAhC,CACA,SAAS,IAAT,CAAc,WAAd,CAA0B,SAA1B,EACA,mBAAqB,UAAU,WAAV,CAAwB,UAAU,WAAvD,CACA,SAAS,IAAT,CAAc,WAAd,CAA0B,SAA1B,EACA,qBAAA,CACD,CAED;AAZC,CAAA,CA3UiB,CAApB,CAyVI,CAAC,CACH,IAAK,kBADF,CAEH,MAAO,yBAAA,CAA0B,MAA1B,CAAkC,aAAlC,CAAiD,CACtD,YAAY,IAAL,CAAU,UAAY,CAC3B,SAAW,EAAE,IAAF,EAAQ,IAAR,CAAa,QAAb,CAAX,CACA,YAAc,EAAE,MAAF,CAAS,EAAT,CAAa,MAAM,OAAnB,CAA4B,EAAE,IAAF,EAAQ,IAAR,EAA5B,CAA4C,cAAA,mCAAO,MAAP,KAAkB,QAAlB,EAA8B,MAA1E,CAAd,CAEA,GAAI,CAAC,IAAL,CAAW,CACT,KAAO,SAAA,CAAU,IAAV,CAAgB,OAAhB,CAAP,CACA,EAAE,IAAF,EAAQ,IAAR,CAAa,QAAb,CAAuB,IAAvB,EACD,CAED,GAAI,aAAA,GAAkB,QAAtB,CAAgC,CAC9B,GAAI,KAAK,MAAL,IAAiB,SAArB,CAAgC,CAC9B,eAAM,CAAU,oBAAsB,MAAtB,CAA+B,GAAzC,CAAN,CACD,CACD,KAAK,MAAL,EAAa,aAAb,EACD,CALD,QAKW,QAAQ,IAAZ,CAAkB,CACvB,KAAK,IAAL,CAAU,aAAV,EACD,CACF,CAjBM,CAAP,CAkBD,CArBE,CAAD,CAsBD,CACD,IAAK,SADJ,CAED,IAAK,YAAA,EAAe,CAClB,cAAA,CACD,CAJA,CAtBC,CA2BD,CACD,IAAK,SADJ,CAED,IAAK,YAAA,EAAe,CAClB,cAAA,CACD,CAJA,CA3BC,CAzVJ,EA2XA,YAAA,CACD,CAnZW,EAAZ,CAqZA,EAAE,QAAF,EAAY,EAAZ,CAAe,MAAM,cAArB,CAAqC,SAAS,WAA9C,CAA2D,SAAU,KAAV,CAAiB,CAC1E,YAAc,IAAd,CAEA,WAAa,SAAb,CACA,aAAe,KAAK,sBAAL,CAA4B,IAA5B,CAAf,CAEA,GAAI,QAAJ,CAAc,CACZ,OAAS,EAAE,QAAF,EAAY,CAAZ,CAAT,CACD,CAED,WAAa,EAAE,MAAF,EAAU,IAAV,CAAe,QAAf,EAA2B,QAA3B,CAAsC,EAAE,MAAF,CAAS,EAAT,CAAa,EAAE,MAAF,EAAU,IAAV,EAAb,CAA+B,EAAE,IAAF,EAAQ,IAAR,EAA/B,CAAnD,CAEA,GAAI,KAAK,OAAL,GAAiB,GAArB,CAA0B,CACxB,MAAM,cAAN,GACD,CAED,YAAc,EAAE,MAAF,EAAU,GAAV,CAAc,MAAM,IAApB,CAA0B,SAAU,SAAV,CAAqB,CAC3D,GAAI,UAAU,kBAAV,EAAJ,CAAoC;AAElC,CAAA,OACD,CAED,QAAQ,GAAR,CAAY,MAAM,MAAlB,CAA0B,UAAY,CACpC,GAAI,EAAE,OAAF,EAAW,EAAX,CAAc,UAAd,CAAJ,CAA+B,CAC7B,QAAQ,KAAR,GACD,CACF,CAJD,EAKD,CAXa,CAAd,CAaA,MAAM,gBAAN,CAAuB,IAAvB,CAA4B,EAAE,MAAF,CAA5B,CAAuC,MAAvC,CAA+C,IAA/C,EACD,CA9BD,EAgCA;;;;MAMA,EAAE,EAAF,CAAK,IAAL,EAAa,MAAM,gBAAnB,CACA,EAAE,EAAF,CAAK,IAAL,EAAW,WAAX,CAAyB,KAAzB,CACA,EAAE,EAAF,CAAK,IAAL,EAAW,UAAX,CAAwB,UAAY,CAClC,EAAE,EAAF,CAAK,IAAL,EAAa,kBAAb,CACA,aAAa,gBAAb,CACD,CAHD,CAKA,YAAA,CACD,CAtgBW,CAsgBT,MAtgBS,CAAZ,CAwgBA;;;;;IAOA,cAAiB,SAAU,CAAV,CAAa;;;;MAQ5B,SAAW,WAAX,CACA,YAAc,eAAd,CACA,aAAe,cAAf,CACA,cAAgB,IAAM,QAAtB,CACA,iBAAmB,WAAnB,CACA,uBAAyB,EAAE,EAAF,CAAK,IAAL,CAAzB,CAEA,YAAc,CACZ,OAAQ,EADI,CAEZ,OAAQ,MAFI,CAGZ,OAAQ,EAHI,CAAd,CAMA,gBAAkB,CAChB,OAAQ,QADQ,CAEhB,OAAQ,QAFQ,CAGhB,OAAQ,kBAHQ,CAAlB,CAMA,UAAY,CACV,SAAU,WAAa,SADb,CAEV,OAAQ,SAAW,SAFT,CAGV,cAAe,OAAS,SAAT,CAAqB,YAH1B,CAAZ,CAMA,cAAgB,CACd,cAAe,eADD,CAEd,cAAe,eAFD,CAGd,SAAU,UAHI,CAId,IAAK,KAJS,CAKd,OAAQ,QALM,CAAhB,CAQA,aAAe,CACb,SAAU,qBADG,CAEb,OAAQ,SAFK,CAGb,UAAW,YAHE,CAIb,GAAI,IAJS,CAKb,YAAa,aALA,CAMb,UAAW,WANE,CAOb,SAAU,WAPG,CAQb,eAAgB,gBARH,CASb,gBAAiB,kBATJ,CAAf,CAYA,iBAAmB,CACjB,OAAQ,QADS,CAEjB,SAAU,UAFO,CAAnB,CAKA;;;;MAMA,cAAiB,UAAY,CAC3B,kBAAA,CAAmB,OAAnB,CAA4B,MAA5B,CAAoC,CAClC,gBAAgB,IAAhB,CAAsB,SAAtB,EAEA,KAAK,QAAL,CAAgB,OAAhB,CACA,KAAK,cAAL,CAAsB,QAAQ,OAAR,GAAoB,MAApB,CAA6B,MAA7B,CAAsC,OAA5D,CACA,KAAK,OAAL,CAAe,KAAK,UAAL,CAAgB,MAAhB,CAAf,CACA,KAAK,SAAL,CAAiB,KAAK,OAAL,CAAa,MAAb,CAAsB,GAAtB,CAA4B,SAAS,SAArC,CAAiD,GAAjD,EAAwD,KAAK,OAAL,CAAa,MAAb,CAAsB,GAAtB,CAA4B,SAAS,cAA7F,CAAjB,CACA,KAAK,QAAL,CAAgB,EAAhB,CACA,KAAK,QAAL,CAAgB,EAAhB,CACA,KAAK,aAAL,CAAqB,IAArB,CACA,KAAK,aAAL,CAAqB,CAArB,CAEA,EAAE,KAAK,cAAP,EAAuB,EAAvB,CAA0B,MAAM,MAAhC,CAAwC,EAAE,KAAF,CAAQ,KAAK,QAAb,CAAuB,IAAvB,CAAxC,EAEA,KAAK,OAAL,GACA,KAAK,QAAL,GACD,CAED;;;;;AAQA,CAAA,aAAa,SAAb,CAAwB,CAAC,CACvB,IAAK,SADkB;AAKvB,CAAA,MAAO,gBAAA,EAAmB,CACxB,YAAc,IAAd,CAEA,eAAiB,KAAK,cAAL,GAAwB,KAAK,cAAL,CAAoB,MAA5C,CAAqD,aAAa,QAAlE,CAA6E,aAAa,MAA3G,CAEA,iBAAmB,KAAK,OAAL,CAAa,MAAb,GAAwB,MAAxB,CAAiC,UAAjC,CAA8C,KAAK,OAAL,CAAa,MAA9E,CAEA,eAAiB,eAAiB,aAAa,QAA9B,CAAyC,KAAK,aAAL,EAAzC,CAAgE,CAAjF,CAEA,KAAK,QAAL,CAAgB,EAAhB,CACA,KAAK,QAAL,CAAgB,EAAhB,CAEA,KAAK,aAAL,CAAqB,KAAK,gBAAL,EAArB,CAEA,YAAc,EAAE,SAAF,CAAY,EAAE,KAAK,SAAP,CAAZ,CAAd,CAEA,QAAQ,GAAR,CAAY,SAAU,OAAV,CAAmB,CAC7B,WAAa,SAAb,CACA,mBAAqB,KAAK,sBAAL,CAA4B,OAA5B,CAArB,CAEA,GAAI,cAAJ,CAAoB,CAClB,OAAS,EAAE,cAAF,EAAkB,CAAlB,CAAT,CACD,CAED,GAAI,SAAW,OAAO,WAAP,EAAsB,OAAO,YAAxC,CAAJ,CAA2D;AAEzD,CAAA,MAAO,CAAC,EAAE,MAAF,EAAU,YAAV,IAA0B,GAA1B,CAAgC,UAAjC,CAA6C,cAA7C,CAAP,CACD,CACD,WAAA,CACD,CAbD,EAaG,MAbH,CAaU,SAAU,IAAV,CAAgB,CACxB,WAAA,CACD,CAfD,EAeG,IAfH,CAeQ,SAAU,CAAV,CAAa,CAAb,CAAgB,CACtB,SAAS,CAAF,EAAO,EAAE,CAAF,CAAd,CACD,CAjBD,EAiBG,OAjBH,CAiBW,SAAU,IAAV,CAAgB,CACzB,QAAQ,QAAR,CAAiB,IAAjB,CAAsB,KAAK,CAAL,CAAtB,EACA,QAAQ,QAAR,CAAiB,IAAjB,CAAsB,KAAK,CAAL,CAAtB,EACD,CApBD,EAqBD,CA1CsB,CAAD,CA2CrB,CACD,IAAK,SADJ,CAED,MAAO,gBAAA,EAAmB,CACxB,EAAE,UAAF,CAAa,KAAK,QAAlB,CAA4B,QAA5B,EACA,EAAE,KAAK,cAAP,EAAuB,GAAvB,CAA2B,SAA3B,EAEA,KAAK,QAAL,CAAgB,IAAhB,CACA,KAAK,cAAL,CAAsB,IAAtB,CACA,KAAK,OAAL,CAAe,IAAf,CACA,KAAK,SAAL,CAAiB,IAAjB,CACA,KAAK,QAAL,CAAgB,IAAhB,CACA,KAAK,QAAL,CAAgB,IAAhB,CACA,KAAK,aAAL,CAAqB,IAArB,CACA,KAAK,aAAL,CAAqB,IAArB,CACD,CAED;AAhBC,CAAA,CA3CqB,CA6DrB,CACD,IAAK,YADJ,CAED,MAAO,mBAAA,CAAoB,MAApB,CAA4B,CACjC,OAAS,EAAE,MAAF,CAAS,EAAT,CAAa,OAAb,CAAsB,MAAtB,CAAT,CAEA,GAAI,cAAc,MAAd,GAAyB,QAA7B,CAAuC,CACrC,OAAS,EAAE,OAAO,MAAT,EAAiB,IAAjB,CAAsB,IAAtB,CAAT,CACA,GAAI,CAAC,EAAL,CAAS,CACP,GAAK,KAAK,MAAL,CAAY,IAAZ,CAAL,CACA,EAAE,OAAO,MAAT,EAAiB,IAAjB,CAAsB,IAAtB,CAA4B,EAA5B,EACD,CACD,OAAO,MAAP,CAAgB,IAAM,EAAtB,CACD,CAED,KAAK,eAAL,CAAqB,IAArB,CAA2B,MAA3B,CAAmC,WAAnC,EAEA,aAAA,CACD,CAjBA,CA7DqB,CA+ErB,CACD,IAAK,eADJ,CAED,MAAO,sBAAA,EAAyB,CAC9B,YAAY,cAAL,GAAwB,MAAxB,CAAiC,KAAK,cAAL,CAAoB,OAArD,CAA+D,KAAK,cAAL,CAAoB,SAA1F,CACD,CAJA,CA/EqB,CAoFrB,CACD,IAAK,kBADJ,CAED,MAAO,yBAAA,EAA4B,CACjC,YAAY,cAAL,CAAoB,YAApB,EAAoC,KAAK,GAAL,CAAS,SAAS,IAAT,CAAc,YAAvB,CAAqC,SAAS,eAAT,CAAyB,YAA9D,CAA3C,CACD,CAJA,CApFqB,CAyFrB,CACD,IAAK,UADJ,CAED,MAAO,iBAAA,EAAoB,CACzB,cAAgB,KAAK,aAAL,GAAuB,KAAK,OAAL,CAAa,MAApD,CACA,iBAAmB,KAAK,gBAAL,EAAnB,CACA,cAAgB,KAAK,OAAL,CAAa,MAAb,CAAsB,YAAtB,CAAqC,KAAK,cAAL,CAAoB,YAAzE,CAEA,GAAI,KAAK,aAAL,GAAuB,YAA3B,CAAyC,CACvC,KAAK,OAAL,GACD,CAED,GAAI,WAAa,SAAjB,CAA4B,CAC1B,WAAa,KAAK,QAAL,CAAc,KAAK,QAAL,CAAc,MAAd,CAAuB,CAArC,CAAb,CAEA,GAAI,KAAK,aAAL,GAAuB,MAA3B,CAAmC,CACjC,KAAK,SAAL,CAAe,MAAf,EACD,CACF,CAED,GAAI,KAAK,aAAL,EAAsB,UAAY,KAAK,QAAL,CAAc,CAAd,CAAtC,CAAwD,CACtD,KAAK,aAAL,CAAqB,IAArB,CACA,KAAK,MAAL,GACA,OACD,CAED,IAAK,MAAQ,KAAK,QAAL,CAAc,MAA3B,CAAmC,GAAnC,EAAyC,CACvC,mBAAqB,KAAK,aAAL,GAAuB,KAAK,QAAL,CAAc,CAAd,CAAvB,EAA2C,WAAa,KAAK,QAAL,CAAc,CAAd,CAAxD,GAA6E,KAAK,QAAL,CAAc,EAAI,CAAlB,IAAyB,SAAzB,EAAsC,UAAY,KAAK,QAAL,CAAc,EAAI,CAAlB,CAA/H,CAArB,CAEA,GAAI,cAAJ,CAAoB,CAClB,KAAK,SAAL,CAAe,KAAK,QAAL,CAAc,CAAd,CAAf,EACD,CACF,CACF,CAhCA,CAzFqB,CA0HrB,CACD,IAAK,WADJ,CAED,MAAO,kBAAA,CAAmB,MAAnB,CAA2B,CAChC,KAAK,aAAL,CAAqB,MAArB,CAEA,KAAK,MAAL,GAEA,YAAc,KAAK,SAAL,CAAe,KAAf,CAAqB,GAArB,CAAd,CACA,QAAU,QAAQ,GAAR,CAAY,SAAU,QAAV,CAAoB,CACxC,gBAAkB,gBAAX,CAA8B,MAA9B,CAAuC,KAAvC,EAAgD,SAAW,SAAX,CAAuB,MAAvB,CAAgC,IAAhF,CAAP,CACD,CAFS,CAAV,CAIA,UAAY,EAAE,QAAQ,IAAR,CAAa,GAAb,CAAF,CAAZ,CAEA,GAAI,MAAM,QAAN,CAAe,UAAU,aAAzB,CAAJ,CAA6C,CAC3C,MAAM,OAAN,CAAc,SAAS,QAAvB,EAAiC,IAAjC,CAAsC,SAAS,eAA/C,EAAgE,QAAhE,CAAyE,UAAU,MAAnF,EACA,MAAM,QAAN,CAAe,UAAU,MAAzB,EACD,CAHD,IAGO;AAEL,CAAA;AACA,CAAA,MAAM,OAAN,CAAc,SAAS,EAAvB,EAA2B,IAA3B,CAAgC,SAAS,SAAzC,EAAoD,QAApD,CAA6D,UAAU,MAAvE,EACD,CAED,EAAE,KAAK,cAAP,EAAuB,OAAvB,CAA+B,MAAM,QAArC,CAA+C,CAC7C,cAAe,MAD8B,CAA/C,EAGD,CA1BA,CA1HqB,CAqJrB,CACD,IAAK,QADJ,CAED,MAAO,eAAA,EAAkB,CACvB,EAAE,KAAK,SAAP,EAAkB,MAAlB,CAAyB,SAAS,MAAlC,EAA0C,WAA1C,CAAsD,UAAU,MAAhE,EACD,CAED;AANC,CAAA,CArJqB,CAAxB,CA6JI,CAAC,CACH,IAAK,kBADF,CAEH,MAAO,yBAAA,CAA0B,MAA1B,CAAkC,CACvC,YAAY,IAAL,CAAU,UAAY,CAC3B,SAAW,EAAE,IAAF,EAAQ,IAAR,CAAa,QAAb,CAAX,CACA,YAAc,cAAA,mCAAO,MAAP,KAAkB,QAAlB,EAA8B,MAA9B,EAAwC,IAAtD,CAEA,GAAI,CAAC,IAAL,CAAW,CACT,KAAO,aAAA,CAAc,IAAd,CAAoB,OAApB,CAAP,CACA,EAAE,IAAF,EAAQ,IAAR,CAAa,QAAb,CAAuB,IAAvB,EACD,CAED,GAAI,aAAA,GAAkB,QAAtB,CAAgC,CAC9B,GAAI,KAAK,MAAL,IAAiB,SAArB,CAAgC,CAC9B,eAAM,CAAU,oBAAsB,MAAtB,CAA+B,GAAzC,CAAN,CACD,CACD,KAAK,MAAL,IACD,CACF,CAfM,CAAP,CAgBD,CAnBE,CAAD,CAoBD,CACD,IAAK,SADJ,CAED,IAAK,YAAA,EAAe,CAClB,cAAA,CACD,CAJA,CApBC,CAyBD,CACD,IAAK,SADJ,CAED,IAAK,YAAA,EAAe,CAClB,cAAA,CACD,CAJA,CAzBC,CA7JJ,EA6LA,gBAAA,CACD,CAzNe,EAAhB,CA2NA,EAAE,MAAF,EAAU,EAAV,CAAa,MAAM,aAAnB,CAAkC,UAAY,CAC5C,eAAiB,EAAE,SAAF,CAAY,EAAE,SAAS,QAAX,CAAZ,CAAjB,CAEA,IAAK,MAAQ,WAAW,MAAxB,CAAgC,GAAhC,EAAsC,CACpC,SAAW,EAAE,WAAW,CAAX,CAAF,CAAX,CACA,UAAU,gBAAV,CAA2B,IAA3B,CAAgC,IAAhC,CAAsC,KAAK,IAAL,EAAtC,EACD,CACF,CAPD,EASA;;;;MAMA,EAAE,EAAF,CAAK,IAAL,EAAa,UAAU,gBAAvB,CACA,EAAE,EAAF,CAAK,IAAL,EAAW,WAAX,CAAyB,SAAzB,CACA,EAAE,EAAF,CAAK,IAAL,EAAW,UAAX,CAAwB,UAAY,CAClC,EAAE,EAAF,CAAK,IAAL,EAAa,kBAAb,CACA,iBAAiB,gBAAjB,CACD,CAHD,CAKA,gBAAA,CACD,CAlTe,CAkTb,MAlTa,CAAhB,CAoTA;;;;;IAOA,QAAW,SAAU,CAAV,CAAa;;;;MAQtB,SAAW,KAAX,CACA,YAAc,eAAd,CACA,aAAe,QAAf,CACA,cAAgB,IAAM,QAAtB,CACA,iBAAmB,WAAnB,CACA,uBAAyB,EAAE,EAAF,CAAK,IAAL,CAAzB,CACA,wBAA0B,GAA1B,CAEA,UAAY,CACV,KAAM,OAAS,SADL,CAEV,OAAQ,SAAW,SAFT,CAGV,KAAM,OAAS,SAHL,CAIV,MAAO,QAAU,SAJP,CAKV,eAAgB,QAAU,SAAV,CAAsB,YAL5B,CAAZ,CAQA,cAAgB,CACd,cAAe,eADD,CAEd,OAAQ,QAFM,CAGd,KAAM,MAHQ,CAId,GAAI,IAJU,CAAhB,CAOA,aAAe,CACb,EAAG,GADU,CAEb,GAAI,IAFS,CAGb,SAAU,WAHG,CAIb,GAAI,wBAJS,CAKb,WAAY,4BALC,CAMb,OAAQ,SANK,CAOb,aAAc,kCAPD,CAQb,YAAa,2CARA,CASb,gBAAiB,kBATJ,CAUb,sBAAuB,0BAVV,CAAf,CAaA;;;;MAMA,QAAW,UAAY,CACrB,YAAA,CAAa,OAAb,CAAsB,CACpB,gBAAgB,IAAhB,CAAsB,GAAtB,EAEA,KAAK,QAAL,CAAgB,OAAhB,CACD,CAED;;;;;AAQA,CAAA,aAAa,GAAb,CAAkB,CAAC,CACjB,IAAK,MADY;AAKjB,CAAA,MAAO,aAAA,EAAgB,CACrB,YAAc,IAAd,CAEA,GAAI,KAAK,QAAL,CAAc,UAAd,EAA4B,KAAK,QAAL,CAAc,UAAd,CAAyB,QAAzB,GAAsC,KAAK,YAAvE,EAAuF,EAAE,KAAK,QAAP,EAAiB,QAAjB,CAA0B,UAAU,MAApC,CAA3F,CAAwI,CACtI,OACD,CAED,WAAa,SAAb,CACA,aAAe,SAAf,CACA,cAAgB,EAAE,KAAK,QAAP,EAAiB,OAAjB,CAAyB,SAAS,EAAlC,EAAsC,CAAtC,CAAhB,CACA,aAAe,KAAK,sBAAL,CAA4B,KAAK,QAAjC,CAAf,CAEA,GAAI,SAAJ,CAAe,CACb,SAAW,EAAE,SAAF,CAAY,EAAE,SAAF,EAAa,IAAb,CAAkB,SAAS,MAA3B,CAAZ,CAAX,CACA,SAAW,SAAS,SAAS,MAAT,CAAkB,CAA3B,CAAX,CACD,CAED,cAAgB,EAAE,KAAF,CAAQ,MAAM,IAAd,CAAoB,CAClC,cAAe,KAAK,QADc,CAApB,CAAhB,CAIA,cAAgB,EAAE,KAAF,CAAQ,MAAM,IAAd,CAAoB,CAClC,cAAe,QADmB,CAApB,CAAhB,CAIA,GAAI,QAAJ,CAAc,CACZ,EAAE,QAAF,EAAY,OAAZ,CAAoB,SAApB,EACD,CAED,EAAE,KAAK,QAAP,EAAiB,OAAjB,CAAyB,SAAzB,EAEA,GAAI,UAAU,kBAAV,IAAkC,UAAU,kBAAV,EAAtC,CAAsE,CACpE,OACD,CAED,GAAI,QAAJ,CAAc,CACZ,OAAS,EAAE,QAAF,EAAY,CAAZ,CAAT,CACD,CAED,KAAK,SAAL,CAAe,KAAK,QAApB,CAA8B,SAA9B,EAEA,aAAe,iBAAA,EAAoB,CACjC,gBAAkB,EAAE,KAAF,CAAQ,MAAM,MAAd,CAAsB,CACtC,cAAe,QAAQ,QADe,CAAtB,CAAlB,CAIA,eAAiB,EAAE,KAAF,CAAQ,MAAM,KAAd,CAAqB,CACpC,cAAe,QADqB,CAArB,CAAjB,CAIA,EAAE,QAAF,EAAY,OAAZ,CAAoB,WAApB,EACA,EAAE,QAAQ,QAAV,EAAoB,OAApB,CAA4B,UAA5B,EACD,CAXD,CAaA,GAAI,MAAJ,CAAY,CACV,KAAK,SAAL,CAAe,MAAf,CAAuB,OAAO,UAA9B,CAA0C,QAA1C,EACD,CAFD,IAEO,CACL,WACD,CACF,CAhEgB,CAAD,CAiEf,CACD,IAAK,SADJ,CAED,MAAO,gBAAA,EAAmB,CACxB,EAAE,WAAF,CAAc,KAAK,QAAnB,CAA6B,QAA7B,EACA,KAAK,QAAL,CAAgB,IAAhB,CACD,CAED;AAPC,CAAA,CAjEe,CA0Ef,CACD,IAAK,WADJ,CAED,MAAO,kBAAA,CAAmB,OAAnB,CAA4B,SAA5B,CAAuC,QAAvC,CAAiD,CACtD,WAAa,EAAE,SAAF,EAAa,IAAb,CAAkB,SAAS,YAA3B,EAAyC,CAAzC,CAAb,CACA,oBAAsB,UAAY,KAAK,qBAAL,EAAZ,GAA6C,QAAU,EAAE,MAAF,EAAU,QAAV,CAAmB,UAAU,IAA7B,CAAV,EAAgD,QAAQ,EAAE,SAAF,EAAa,IAAb,CAAkB,SAAS,UAA3B,EAAuC,CAAvC,CAAR,CAA7F,CAAtB,CAEA,aAAe,EAAE,KAAF,CAAQ,KAAK,mBAAb,CAAkC,IAAlC,CAAwC,OAAxC,CAAiD,MAAjD,CAAyD,eAAzD,CAA0E,QAA1E,CAAf,CAEA,GAAI,QAAU,eAAd,CAA+B,CAC7B,EAAE,MAAF,EAAU,GAAV,CAAc,KAAK,cAAnB,CAAmC,QAAnC,EAA6C,oBAA7C,CAAkE,mBAAlE,EACD,CAFD,IAEO,CACL,WACD,CAED,GAAI,MAAJ,CAAY,CACV,EAAE,MAAF,EAAU,WAAV,CAAsB,UAAU,EAAhC,EACD,CACF,CAjBA,CA1Ee,CA4Ff,CACD,IAAK,qBADJ,CAED,MAAO,4BAAA,CAA6B,OAA7B,CAAsC,MAAtC,CAA8C,eAA9C,CAA+D,QAA/D,CAAyE,CAC9E,GAAI,MAAJ,CAAY,CACV,EAAE,MAAF,EAAU,WAAV,CAAsB,UAAU,MAAhC,EAEA,kBAAoB,EAAE,MAAF,EAAU,IAAV,CAAe,SAAS,qBAAxB,EAA+C,CAA/C,CAApB,CAEA,GAAI,aAAJ,CAAmB,CACjB,EAAE,aAAF,EAAiB,WAAjB,CAA6B,UAAU,MAAvC,EACD,CAED,OAAO,YAAP,CAAoB,eAApB,CAAqC,KAArC,EACD,CAED,EAAE,OAAF,EAAW,QAAX,CAAoB,UAAU,MAA9B,EACA,QAAQ,YAAR,CAAqB,eAArB,CAAsC,IAAtC,EAEA,GAAI,eAAJ,CAAqB,CACnB,KAAK,MAAL,CAAY,OAAZ,EACA,EAAE,OAAF,EAAW,QAAX,CAAoB,UAAU,EAA9B,EACD,CAHD,IAGO,CACL,EAAE,OAAF,EAAW,WAAX,CAAuB,UAAU,IAAjC,EACD,CAED,GAAI,QAAQ,UAAR,EAAsB,EAAE,QAAQ,UAAV,EAAsB,QAAtB,CAA+B,UAAU,aAAzC,CAA1B,CAAmF,CAEjF,oBAAsB,EAAE,OAAF,EAAW,OAAX,CAAmB,SAAS,QAA5B,EAAsC,CAAtC,CAAtB,CACA,GAAI,eAAJ,CAAqB,CACnB,EAAE,eAAF,EAAmB,IAAnB,CAAwB,SAAS,eAAjC,EAAkD,QAAlD,CAA2D,UAAU,MAArE,EACD,CAED,QAAQ,YAAR,CAAqB,eAArB,CAAsC,IAAtC,EACD,CAED,GAAI,QAAJ,CAAc,CACZ,WACD,CACF,CAED;AAxCC,CAAA,CA5Fe,CAAlB,CAsII,CAAC,CACH,IAAK,kBADF,CAEH,MAAO,yBAAA,CAA0B,MAA1B,CAAkC,CACvC,YAAY,IAAL,CAAU,UAAY,CAC3B,UAAY,EAAE,IAAF,CAAZ,CACA,SAAW,MAAM,IAAN,CAAW,QAAX,CAAX,CAEA,GAAI,CAAC,IAAL,CAAW,CACT,KAAO,KAAO,OAAA,CAAQ,IAAR,CAAd,CACA,MAAM,IAAN,CAAW,QAAX,CAAqB,IAArB,EACD,CAED,GAAI,aAAA,GAAkB,QAAtB,CAAgC,CAC9B,GAAI,KAAK,MAAL,IAAiB,SAArB,CAAgC,CAC9B,eAAM,CAAU,oBAAsB,MAAtB,CAA+B,GAAzC,CAAN,CACD,CACD,KAAK,MAAL,IACD,CACF,CAfM,CAAP,CAgBD,CAnBE,CAAD,CAoBD,CACD,IAAK,SADJ,CAED,IAAK,YAAA,EAAe,CAClB,cAAA,CACD,CAJA,CApBC,CAtIJ,EAiKA,UAAA,CACD,CAjLS,EAAV,CAmLA,EAAE,QAAF,EAAY,EAAZ,CAAe,MAAM,cAArB,CAAqC,SAAS,WAA9C,CAA2D,SAAU,KAAV,CAAiB,CAC1E,MAAM,cAAN,GACA,IAAI,gBAAJ,CAAqB,IAArB,CAA0B,EAAE,IAAF,CAA1B,CAAmC,MAAnC,EACD,CAHD,EAKA;;;;MAMA,EAAE,EAAF,CAAK,IAAL,EAAa,IAAI,gBAAjB,CACA,EAAE,EAAF,CAAK,IAAL,EAAW,WAAX,CAAyB,GAAzB,CACA,EAAE,EAAF,CAAK,IAAL,EAAW,UAAX,CAAwB,UAAY,CAClC,EAAE,EAAF,CAAK,IAAL,EAAa,kBAAb,CACA,WAAW,gBAAX,CACD,CAHD,CAKA,UAAA,CACD,CAxPS,CAwPP,MAxPO,CAAV,CA0PA;;;;;IASA,YAAe,SAAU,CAAV,CAAa;;;MAM1B,GAAI,OAAO,MAAP,GAAkB,SAAtB,CAAiC,CAC/B,eAAM,CAAU,uEAAV,CAAN,CACD,CAED;;;;MAMA,SAAW,SAAX,CACA,YAAc,eAAd,CACA,aAAe,YAAf,CACA,cAAgB,IAAM,QAAtB,CACA,uBAAyB,EAAE,EAAF,CAAK,IAAL,CAAzB,CACA,wBAA0B,GAA1B,CACA,iBAAmB,WAAnB,CAEA,YAAc,CACZ,UAAW,IADC,CAEZ,SAAU,uCAAyC,mCAAzC,CAA+E,yCAF7E,CAGZ,QAAS,aAHG,CAIZ,MAAO,EAJK,CAKZ,MAAO,CALK,CAMZ,KAAM,KANM,CAOZ,SAAU,KAPE,CAQZ,UAAW,KARC,CASZ,OAAQ,KATI,CAUZ,YAAa,EAVD,CAAd,CAaA,gBAAkB,CAChB,UAAW,SADK,CAEhB,SAAU,QAFM,CAGhB,MAAO,2BAHS,CAIhB,QAAS,QAJO,CAKhB,MAAO,iBALS,CAMhB,KAAM,SANU,CAOhB,SAAU,kBAPM,CAQhB,UAAW,mBARK,CAShB,OAAQ,QATQ,CAUhB,YAAa,OAVG,CAAlB,CAaA,kBAAoB,CAClB,IAAK,eADa,CAElB,MAAO,aAFW,CAGlB,OAAQ,YAHU,CAIlB,KAAM,cAJY,CAApB,CAOA,eAAiB,CACf,GAAI,IADW,CAEf,IAAK,KAFU,CAAjB,CAKA,UAAY,CACV,KAAM,OAAS,SADL,CAEV,OAAQ,SAAW,SAFT,CAGV,KAAM,OAAS,SAHL,CAIV,MAAO,QAAU,SAJP,CAKV,SAAU,WAAa,SALb,CAMV,MAAO,QAAU,SANP,CAOV,QAAS,UAAY,SAPX,CAQV,SAAU,WAAa,SARb,CASV,WAAY,aAAe,SATjB,CAUV,WAAY,aAAe,SAVjB,CAAZ,CAaA,cAAgB,CACd,KAAM,MADQ,CAEd,GAAI,IAFU,CAAhB,CAKA,aAAe,CACb,QAAS,UADI,CAEb,cAAe,gBAFF,CAAf,CAKA,gBAAkB,CAChB,QAAS,KADO,CAEhB,QAAS,KAFO,CAAlB,CAKA,YAAc,CACZ,MAAO,OADK,CAEZ,MAAO,OAFK,CAGZ,MAAO,OAHK,CAIZ,OAAQ,QAJI,CAAd,CAOA;;;;MAMA,YAAe,UAAY,CACzB,gBAAA,CAAiB,OAAjB,CAA0B,MAA1B,CAAkC,CAChC,gBAAgB,IAAhB,CAAsB,OAAtB,EAEA;AACA,CAAA,KAAK,UAAL,CAAkB,IAAlB,CACA,KAAK,QAAL,CAAgB,CAAhB,CACA,KAAK,WAAL,CAAmB,EAAnB,CACA,KAAK,cAAL,CAAsB,EAAtB,CACA,KAAK,OAAL,CAAe,IAAf,CAEA;AACA,CAAA,KAAK,OAAL,CAAe,OAAf,CACA,KAAK,MAAL,CAAc,KAAK,UAAL,CAAgB,MAAhB,CAAd,CACA,KAAK,GAAL,CAAW,IAAX,CAEA,KAAK,aAAL,GACD,CAED;;;;;AAQA,CAAA,aAAa,OAAb,CAAsB,CAAC,CACrB,IAAK,QADgB;AAKrB,CAAA,MAAO,eAAA,EAAkB,CACvB,KAAK,UAAL,CAAkB,IAAlB,CACD,CAPoB,CAAD,CAQnB,CACD,IAAK,SADJ,CAED,MAAO,gBAAA,EAAmB,CACxB,KAAK,UAAL,CAAkB,KAAlB,CACD,CAJA,CARmB,CAanB,CACD,IAAK,eADJ,CAED,MAAO,sBAAA,EAAyB,CAC9B,KAAK,UAAL,CAAkB,CAAC,KAAK,UAAxB,CACD,CAJA,CAbmB,CAkBnB,CACD,IAAK,QADJ,CAED,MAAO,eAAA,CAAgB,KAAhB,CAAuB,CAC5B,GAAI,KAAJ,CAAW,CACT,YAAc,KAAK,WAAL,CAAiB,QAA/B,CACA,YAAc,EAAE,MAAM,aAAR,EAAuB,IAAvB,CAA4B,OAA5B,CAAd,CAEA,GAAI,CAAC,OAAL,CAAc,CACZ,QAAU,SAAS,WAAT,CAAqB,MAAM,aAA3B,CAA0C,KAAK,kBAAL,EAA1C,CAAV,CACA,EAAE,MAAM,aAAR,EAAuB,IAAvB,CAA4B,OAA5B,CAAqC,OAArC,EACD,CAED,QAAQ,cAAR,CAAuB,KAAvB,CAA+B,CAAC,QAAQ,cAAR,CAAuB,KAAvD,CAEA,GAAI,QAAQ,oBAAR,EAAJ,CAAoC,CAClC,QAAQ,MAAR,CAAe,IAAf,CAAqB,OAArB,EACD,CAFD,IAEO,CACL,QAAQ,MAAR,CAAe,IAAf,CAAqB,OAArB,EACD,CACF,CAhBD,IAgBO,CAEL,GAAI,EAAE,KAAK,aAAL,EAAF,EAAwB,QAAxB,CAAiC,UAAU,EAA3C,CAAJ,CAAoD,CAClD,KAAK,MAAL,CAAY,IAAZ,CAAkB,IAAlB,EACA,OACD,CAED,KAAK,MAAL,CAAY,IAAZ,CAAkB,IAAlB,EACD,CACF,CA5BA,CAlBmB,CA+CnB,CACD,IAAK,SADJ,CAED,MAAO,gBAAA,EAAmB,CACxB,aAAa,KAAK,QAAlB,EAEA,KAAK,aAAL,GAEA,EAAE,UAAF,CAAa,KAAK,OAAlB,CAA2B,KAAK,WAAL,CAAiB,QAA5C,EAEA,EAAE,KAAK,OAAP,EAAgB,GAAhB,CAAoB,KAAK,WAAL,CAAiB,SAArC,EAEA,GAAI,KAAK,GAAT,CAAc,CACZ,EAAE,KAAK,GAAP,EAAY,MAAZ,GACD,CAED,KAAK,UAAL,CAAkB,IAAlB,CACA,KAAK,QAAL,CAAgB,IAAhB,CACA,KAAK,WAAL,CAAmB,IAAnB,CACA,KAAK,cAAL,CAAsB,IAAtB,CACA,KAAK,OAAL,CAAe,IAAf,CAEA,KAAK,OAAL,CAAe,IAAf,CACA,KAAK,MAAL,CAAc,IAAd,CACA,KAAK,GAAL,CAAW,IAAX,CACD,CAxBA,CA/CmB,CAwEnB,CACD,IAAK,MADJ,CAED,MAAO,aAAA,EAAgB,CACrB,YAAc,IAAd,CAEA,cAAgB,EAAE,KAAF,CAAQ,KAAK,WAAL,CAAiB,KAAjB,CAAuB,IAA/B,CAAhB,CAEA,GAAI,KAAK,aAAL,IAAwB,KAAK,UAAjC,CAA6C,CAC3C,EAAE,KAAK,OAAP,EAAgB,OAAhB,CAAwB,SAAxB,EAEA,eAAiB,EAAE,QAAF,CAAW,KAAK,OAAL,CAAa,aAAb,CAA2B,eAAtC,CAAuD,KAAK,OAA5D,CAAjB,CAEA,GAAI,UAAU,kBAAV,IAAkC,CAAC,UAAvC,CAAmD,CACjD,OACD,CAED,QAAU,KAAK,aAAL,EAAV,CACA,UAAY,KAAK,MAAL,CAAY,KAAK,WAAL,CAAiB,IAA7B,CAAZ,CAEA,IAAI,YAAJ,CAAiB,IAAjB,CAAuB,KAAvB,EACA,KAAK,OAAL,CAAa,YAAb,CAA0B,kBAA1B,CAA8C,KAA9C,EAEA,KAAK,UAAL,GAEA,GAAI,KAAK,MAAL,CAAY,SAAhB,CAA2B,CACzB,EAAE,GAAF,EAAO,QAAP,CAAgB,UAAU,IAA1B,EACD,CAED,cAAgB,YAAY,MAAL,CAAY,SAAnB,GAAiC,UAAjC,CAA8C,KAAK,MAAL,CAAY,SAAZ,CAAsB,IAAtB,CAA2B,IAA3B,CAAiC,GAAjC,CAAsC,KAAK,OAA3C,CAA9C,CAAoG,KAAK,MAAL,CAAY,SAAhI,CAEA,eAAiB,KAAK,cAAL,CAAoB,SAApB,CAAjB,CAEA,EAAE,GAAF,EAAO,IAAP,CAAY,KAAK,WAAL,CAAiB,QAA7B,CAAuC,IAAvC,EAA6C,QAA7C,CAAsD,SAAS,IAA/D,EAEA,EAAE,KAAK,OAAP,EAAgB,OAAhB,CAAwB,KAAK,WAAL,CAAiB,KAAjB,CAAuB,QAA/C,EAEA,KAAK,OAAL,CAAe,UAAA,CAAW,CACxB,WAAY,UADY,CAExB,QAAS,GAFe,CAGxB,OAAQ,KAAK,OAHW,CAIxB,QAAS,WAJe,CAKxB,YAAa,YALW,CAMxB,OAAQ,KAAK,MAAL,CAAY,MANI,CAOxB,YAAa,KAAK,MAAL,CAAY,WAPD,CAQxB,iBAAkB,KARM,CAAX,CAAf,CAWA,KAAK,MAAL,CAAY,GAAZ,EACA,KAAK,OAAL,CAAa,QAAb,GAEA,EAAE,GAAF,EAAO,QAAP,CAAgB,UAAU,EAA1B,EAEA,aAAe,iBAAA,EAAoB,CACjC,mBAAqB,QAAQ,WAA7B,CACA,QAAQ,WAAR,CAAsB,IAAtB,CAEA,EAAE,QAAQ,OAAV,EAAmB,OAAnB,CAA2B,QAAQ,WAAR,CAAoB,KAApB,CAA0B,KAArD,EAEA,GAAI,iBAAmB,WAAW,GAAlC,CAAuC,CACrC,QAAQ,MAAR,CAAe,IAAf,CAAqB,OAArB,EACD,CACF,CATD,CAWA,GAAI,KAAK,qBAAL,IAAgC,EAAE,KAAK,GAAP,EAAY,QAAZ,CAAqB,UAAU,IAA/B,CAApC,CAA0E,CACxE,EAAE,KAAK,GAAP,EAAY,GAAZ,CAAgB,KAAK,cAArB,CAAqC,QAArC,EAA+C,oBAA/C,CAAoE,QAAQ,oBAA5E,EACA,OACD,CAED,WACD,CACF,CAtEA,CAxEmB,CA+InB,CACD,IAAK,MADJ,CAED,MAAO,aAAA,CAAc,QAAd,CAAwB,CAC7B,YAAc,IAAd,CAEA,QAAU,KAAK,aAAL,EAAV,CACA,cAAgB,EAAE,KAAF,CAAQ,KAAK,WAAL,CAAiB,KAAjB,CAAuB,IAA/B,CAAhB,CACA,aAAe,iBAAA,EAAoB,CACjC,GAAI,QAAQ,WAAR,GAAwB,WAAW,EAAnC,EAAyC,IAAI,UAAjD,CAA6D,CAC3D,IAAI,UAAJ,CAAe,WAAf,CAA2B,GAA3B,EACD,CAED,QAAQ,OAAR,CAAgB,eAAhB,CAAgC,kBAAhC,EACA,EAAE,QAAQ,OAAV,EAAmB,OAAnB,CAA2B,QAAQ,WAAR,CAAoB,KAApB,CAA0B,MAArD,EACA,QAAQ,aAAR,GAEA,GAAI,QAAJ,CAAc,CACZ,WACD,CACF,CAZD,CAcA,EAAE,KAAK,OAAP,EAAgB,OAAhB,CAAwB,SAAxB,EAEA,GAAI,UAAU,kBAAV,EAAJ,CAAoC,CAClC,OACD,CAED,EAAE,GAAF,EAAO,WAAP,CAAmB,UAAU,EAA7B,EAEA,GAAI,KAAK,qBAAL,IAAgC,EAAE,KAAK,GAAP,EAAY,QAAZ,CAAqB,UAAU,IAA/B,CAApC,CAA0E,CAExE,EAAE,GAAF,EAAO,GAAP,CAAW,KAAK,cAAhB,CAAgC,QAAhC,EAA0C,oBAA1C,CAA+D,mBAA/D,EACD,CAHD,IAGO,CACL,WACD,CAED,KAAK,WAAL,CAAmB,EAAnB,CACD,CAED;AAvCC,CAAA,CA/ImB,CAwLnB,CACD,IAAK,eADJ,CAED,MAAO,sBAAA,EAAyB,CAC9B,eAAe,KAAK,QAAL,EAAR,CAAP,CACD,CAJA,CAxLmB,CA6LnB,CACD,IAAK,eADJ,CAED,MAAO,sBAAA,EAAyB,CAC9B,YAAY,GAAL,CAAW,KAAK,GAAL,EAAY,EAAE,KAAK,MAAL,CAAY,QAAd,EAAwB,CAAxB,CAA9B,CACD,CAJA,CA7LmB,CAkMnB,CACD,IAAK,YADJ,CAED,MAAO,mBAAA,EAAsB,CAC3B,SAAW,EAAE,KAAK,aAAL,EAAF,CAAX,CAEA,KAAK,iBAAL,CAAuB,KAAK,IAAL,CAAU,SAAS,aAAnB,CAAvB,CAA0D,KAAK,QAAL,EAA1D,EAEA,KAAK,WAAL,CAAiB,UAAU,IAA3B,EAAiC,WAAjC,CAA6C,UAAU,EAAvD,EAEA,KAAK,aAAL,GACD,CAVA,CAlMmB,CA6MnB,CACD,IAAK,mBADJ,CAED,MAAO,0BAAA,CAA2B,QAA3B,CAAqC,OAArC,CAA8C,CACnD,SAAW,KAAK,MAAL,CAAY,IAAvB,CACA,GAAI,eAAA,mCAAO,OAAP,KAAmB,QAAnB,GAAgC,QAAQ,QAAR,EAAoB,QAAQ,MAA5D,CAAJ,CAAyE;AAEvE,CAAA,GAAI,IAAJ,CAAU,CACR,GAAI,CAAC,EAAE,OAAF,EAAW,MAAX,GAAoB,EAApB,CAAuB,QAAvB,CAAL,CAAuC,CACrC,SAAS,KAAT,GAAiB,MAAjB,CAAwB,OAAxB,EACD,CACF,CAJD,IAIO,CACL,SAAS,IAAT,CAAc,EAAE,OAAF,EAAW,IAAX,EAAd,EACD,CACF,CATD,IASO,CACL,SAAS,KAAO,MAAP,CAAgB,MAAzB,EAAiC,OAAjC,EACD,CACF,CAhBA,CA7MmB,CA8NnB,CACD,IAAK,UADJ,CAED,MAAO,iBAAA,EAAoB,CACzB,UAAY,KAAK,OAAL,CAAa,YAAb,CAA0B,qBAA1B,CAAZ,CAEA,GAAI,CAAC,KAAL,CAAY,CACV,MAAQ,YAAY,MAAL,CAAY,KAAnB,GAA6B,UAA7B,CAA0C,KAAK,MAAL,CAAY,KAAZ,CAAkB,IAAlB,CAAuB,KAAK,OAA5B,CAA1C,CAAiF,KAAK,MAAL,CAAY,KAArG,CACD,CAED,YAAA,CACD,CAVA,CA9NmB,CAyOnB,CACD,IAAK,eADJ,CAED,MAAO,sBAAA,EAAyB,CAC9B,GAAI,KAAK,OAAT,CAAkB,CAChB,KAAK,OAAL,CAAa,OAAb,GACD,CACF,CAED;AARC,CAAA,CAzOmB,CAmPnB,CACD,IAAK,gBADJ,CAED,MAAO,uBAAA,CAAwB,SAAxB,CAAmC,CACxC,qBAAqB,UAAU,WAAV,EAAd,CAAP,CACD,CAJA,CAnPmB,CAwPnB,CACD,IAAK,eADJ,CAED,MAAO,sBAAA,EAAyB,CAC9B,YAAc,IAAd,CAEA,aAAe,KAAK,MAAL,CAAY,OAAZ,CAAoB,KAApB,CAA0B,GAA1B,CAAf,CAEA,SAAS,OAAT,CAAiB,SAAU,OAAV,CAAmB,CAClC,GAAI,UAAY,OAAhB,CAAyB,CACvB,EAAE,QAAQ,OAAV,EAAmB,EAAnB,CAAsB,QAAQ,WAAR,CAAoB,KAApB,CAA0B,KAAhD,CAAuD,QAAQ,MAAR,CAAe,QAAtE,CAAgF,EAAE,KAAF,CAAQ,QAAQ,MAAhB,CAAwB,OAAxB,CAAhF,EACD,CAFD,QAEW,UAAY,QAAQ,MAAxB,CAAgC,CACrC,YAAc,UAAY,QAAQ,KAApB,CAA4B,QAAQ,WAAR,CAAoB,KAApB,CAA0B,UAAtD,CAAmE,QAAQ,WAAR,CAAoB,KAApB,CAA0B,OAA3G,CACA,aAAe,UAAY,QAAQ,KAApB,CAA4B,QAAQ,WAAR,CAAoB,KAApB,CAA0B,UAAtD,CAAmE,QAAQ,WAAR,CAAoB,KAApB,CAA0B,QAA5G,CAEA,EAAE,QAAQ,OAAV,EAAmB,EAAnB,CAAsB,OAAtB,CAA+B,QAAQ,MAAR,CAAe,QAA9C,CAAwD,EAAE,KAAF,CAAQ,QAAQ,MAAhB,CAAwB,OAAxB,CAAxD,EAA0F,EAA1F,CAA6F,QAA7F,CAAuG,QAAQ,MAAR,CAAe,QAAtH,CAAgI,EAAE,KAAF,CAAQ,QAAQ,MAAhB,CAAwB,OAAxB,CAAhI,EACD,CACF,CATD,EAWA,GAAI,KAAK,MAAL,CAAY,QAAhB,CAA0B,CACxB,KAAK,MAAL,CAAc,EAAE,MAAF,CAAS,EAAT,CAAa,KAAK,MAAlB,CAA0B,CACtC,QAAS,QAD6B,CAEtC,SAAU,EAF4B,CAA1B,CAAd,CAID,CALD,IAKO,CACL,KAAK,SAAL,GACD,CACF,CA1BA,CAxPmB,CAmRnB,CACD,IAAK,WADJ,CAED,MAAO,kBAAA,EAAqB,CAC1B,sBAAuB,KAAK,OAAL,CAAa,YAAb,CAA0B,qBAA1B,CAAnB,CAAJ,CACA,GAAI,KAAK,OAAL,CAAa,YAAb,CAA0B,OAA1B,GAAsC,YAAc,QAAxD,CAAkE,CAChE,KAAK,OAAL,CAAa,YAAb,CAA0B,qBAA1B,CAAiD,KAAK,OAAL,CAAa,YAAb,CAA0B,OAA1B,GAAsC,EAAvF,EACA,KAAK,OAAL,CAAa,YAAb,CAA0B,OAA1B,CAAmC,EAAnC,EACD,CACF,CARA,CAnRmB,CA4RnB,CACD,IAAK,QADJ,CAED,MAAO,eAAA,CAAgB,KAAhB,CAAuB,OAAvB,CAAgC,CACrC,YAAc,KAAK,WAAL,CAAiB,QAA/B,CAEA,QAAU,SAAW,EAAE,MAAM,aAAR,EAAuB,IAAvB,CAA4B,OAA5B,CAArB,CAEA,GAAI,CAAC,OAAL,CAAc,CACZ,QAAU,SAAS,WAAT,CAAqB,MAAM,aAA3B,CAA0C,KAAK,kBAAL,EAA1C,CAAV,CACA,EAAE,MAAM,aAAR,EAAuB,IAAvB,CAA4B,OAA5B,CAAqC,OAArC,EACD,CAED,GAAI,KAAJ,CAAW,CACT,QAAQ,cAAR,CAAuB,MAAM,IAAN,GAAe,SAAf,CAA2B,QAAQ,KAAnC,CAA2C,QAAQ,KAA1E,EAAmF,IAAnF,CACD,CAED,GAAI,EAAE,QAAQ,aAAR,EAAF,EAA2B,QAA3B,CAAoC,UAAU,EAA9C,GAAqD,QAAQ,WAAR,GAAwB,WAAW,EAA5F,CAAgG,CAC9F,QAAQ,WAAR,CAAsB,WAAW,EAAjC,CACA,OACD,CAED,aAAa,QAAQ,QAArB,EAEA,QAAQ,WAAR,CAAsB,WAAW,EAAjC,CAEA,GAAI,CAAC,QAAQ,MAAR,CAAe,KAAhB,EAAyB,CAAC,QAAQ,MAAR,CAAe,KAAf,CAAqB,IAAnD,CAAyD,CACvD,QAAQ,IAAR,GACA,OACD,CAED,QAAQ,QAAR,CAAmB,WAAW,UAAY,CACxC,GAAI,QAAQ,WAAR,GAAwB,WAAW,EAAvC,CAA2C,CACzC,QAAQ,IAAR,GACD,CACF,CAJkB,CAIhB,QAAQ,MAAR,CAAe,KAAf,CAAqB,IAJL,CAAnB,CAKD,CAnCA,CA5RmB,CAgUnB,CACD,IAAK,QADJ,CAED,MAAO,eAAA,CAAgB,KAAhB,CAAuB,OAAvB,CAAgC,CACrC,YAAc,KAAK,WAAL,CAAiB,QAA/B,CAEA,QAAU,SAAW,EAAE,MAAM,aAAR,EAAuB,IAAvB,CAA4B,OAA5B,CAArB,CAEA,GAAI,CAAC,OAAL,CAAc,CACZ,QAAU,SAAS,WAAT,CAAqB,MAAM,aAA3B,CAA0C,KAAK,kBAAL,EAA1C,CAAV,CACA,EAAE,MAAM,aAAR,EAAuB,IAAvB,CAA4B,OAA5B,CAAqC,OAArC,EACD,CAED,GAAI,KAAJ,CAAW,CACT,QAAQ,cAAR,CAAuB,MAAM,IAAN,GAAe,UAAf,CAA4B,QAAQ,KAApC,CAA4C,QAAQ,KAA3E,EAAoF,KAApF,CACD,CAED,GAAI,QAAQ,oBAAR,EAAJ,CAAoC,CAClC,OACD,CAED,aAAa,QAAQ,QAArB,EAEA,QAAQ,WAAR,CAAsB,WAAW,GAAjC,CAEA,GAAI,CAAC,QAAQ,MAAR,CAAe,KAAhB,EAAyB,CAAC,QAAQ,MAAR,CAAe,KAAf,CAAqB,IAAnD,CAAyD,CACvD,QAAQ,IAAR,GACA,OACD,CAED,QAAQ,QAAR,CAAmB,WAAW,UAAY,CACxC,GAAI,QAAQ,WAAR,GAAwB,WAAW,GAAvC,CAA4C,CAC1C,QAAQ,IAAR,GACD,CACF,CAJkB,CAIhB,QAAQ,MAAR,CAAe,KAAf,CAAqB,IAJL,CAAnB,CAKD,CAlCA,CAhUmB,CAmWnB,CACD,IAAK,sBADJ,CAED,MAAO,6BAAA,EAAgC,CACrC,IAAK,WAAL,SAAyB,cAAzB,CAAyC,CACvC,GAAI,KAAK,cAAL,CAAoB,OAApB,CAAJ,CAAkC,CAChC,WAAA,CACD,CACF,CAED,YAAA,CACD,CAVA,CAnWmB,CA8WnB,CACD,IAAK,YADJ,CAED,MAAO,mBAAA,CAAoB,MAApB,CAA4B,CACjC,OAAS,EAAE,MAAF,CAAS,EAAT,CAAa,KAAK,WAAL,CAAiB,OAA9B,CAAuC,EAAE,KAAK,OAAP,EAAgB,IAAhB,EAAvC,CAA+D,MAA/D,CAAT,CAEA,GAAI,OAAO,KAAP,EAAgB,cAAc,KAAd,GAAwB,QAA5C,CAAsD,CACpD,OAAO,KAAP,CAAe,CACb,KAAM,OAAO,KADA,CAEb,KAAM,OAAO,KAFA,CAAf,CAID,CAED,KAAK,eAAL,CAAqB,IAArB,CAA2B,MAA3B,CAAmC,KAAK,WAAL,CAAiB,WAApD,EAEA,aAAA,CACD,CAfA,CA9WmB,CA8XnB,CACD,IAAK,oBADJ,CAED,MAAO,2BAAA,EAA8B,CACnC,WAAa,EAAb,CAEA,GAAI,KAAK,MAAT,CAAiB,CACf,IAAK,OAAL,SAAqB,MAArB,CAA6B,CAC3B,GAAI,KAAK,WAAL,CAAiB,OAAjB,CAAyB,GAAzB,IAAkC,KAAK,MAAL,CAAY,GAAZ,CAAtC,CAAwD,CACtD,OAAO,GAAP,EAAc,KAAK,MAAL,CAAY,GAAZ,CAAd,CACD,CACF,CACF,CAED,aAAA,CACD,CAED;AAhBC,CAAA,CA9XmB,CAAtB,CAgZI,CAAC,CACH,IAAK,kBADF,CAEH,MAAO,yBAAA,CAA0B,MAA1B,CAAkC,CACvC,YAAY,IAAL,CAAU,UAAY,CAC3B,SAAW,EAAE,IAAF,EAAQ,IAAR,CAAa,QAAb,CAAX,CACA,YAAc,cAAA,mCAAO,MAAP,KAAkB,QAAlB,CAA6B,MAA7B,CAAsC,IAApD,CAEA,GAAI,CAAC,IAAD,EAAS,eAAe,IAAf,CAAoB,MAApB,CAAb,CAA0C,CACxC,OACD,CAED,GAAI,CAAC,IAAL,CAAW,CACT,KAAO,WAAA,CAAY,IAAZ,CAAkB,OAAlB,CAAP,CACA,EAAE,IAAF,EAAQ,IAAR,CAAa,QAAb,CAAuB,IAAvB,EACD,CAED,GAAI,aAAA,GAAkB,QAAtB,CAAgC,CAC9B,GAAI,KAAK,MAAL,IAAiB,SAArB,CAAgC,CAC9B,eAAM,CAAU,oBAAsB,MAAtB,CAA+B,GAAzC,CAAN,CACD,CACD,KAAK,MAAL,IACD,CACF,CAnBM,CAAP,CAoBD,CAvBE,CAAD,CAwBD,CACD,IAAK,SADJ,CAED,IAAK,YAAA,EAAe,CAClB,cAAA,CACD,CAJA,CAxBC,CA6BD,CACD,IAAK,SADJ,CAED,IAAK,YAAA,EAAe,CAClB,cAAA,CACD,CAJA,CA7BC,CAkCD,CACD,IAAK,MADJ,CAED,IAAK,YAAA,EAAe,CAClB,WAAA,CACD,CAJA,CAlCC,CAuCD,CACD,IAAK,UADJ,CAED,IAAK,YAAA,EAAe,CAClB,eAAA,CACD,CAJA,CAvCC,CA4CD,CACD,IAAK,OADJ,CAED,IAAK,YAAA,EAAe,CAClB,YAAA,CACD,CAJA,CA5CC,CAiDD,CACD,IAAK,WADJ,CAED,IAAK,YAAA,EAAe,CAClB,gBAAA,CACD,CAJA,CAjDC,CAsDD,CACD,IAAK,aADJ,CAED,IAAK,YAAA,EAAe,CAClB,kBAAA,CACD,CAJA,CAtDC,CAhZJ,EA6cA,cAAA,CACD,CAzea,EAAd,CA2eA,EAAE,EAAF,CAAK,IAAL,EAAa,QAAQ,gBAArB,CACA,EAAE,EAAF,CAAK,IAAL,EAAW,WAAX,CAAyB,OAAzB,CACA,EAAE,EAAF,CAAK,IAAL,EAAW,UAAX,CAAwB,UAAY,CAClC,EAAE,EAAF,CAAK,IAAL,EAAa,kBAAb,CACA,eAAe,gBAAf,CACD,CAHD,CAKA,cAAA,CACD,CA1lBa,CA0lBX,MA1lBW,CAAd,CA4lBA;;;;;IAOA,YAAe,SAAU,CAAV,CAAa;;;;MAQ1B,SAAW,SAAX,CACA,YAAc,eAAd,CACA,aAAe,YAAf,CACA,cAAgB,IAAM,QAAtB,CACA,uBAAyB,EAAE,EAAF,CAAK,IAAL,CAAzB,CAEA,YAAc,EAAE,MAAF,CAAS,EAAT,CAAa,QAAQ,OAArB,CAA8B,CAC1C,UAAW,OAD+B,CAE1C,QAAS,OAFiC,CAG1C,QAAS,EAHiC,CAI1C,SAAU,uCAAyC,mCAAzC,CAA+E,iCAA/E,CAAmH,2CAJnF,CAA9B,CAAd,CAOA,gBAAkB,EAAE,MAAF,CAAS,EAAT,CAAa,QAAQ,WAArB,CAAkC,CAClD,QAAS,2BADyC,CAAlC,CAAlB,CAIA,cAAgB,CACd,KAAM,MADQ,CAEd,GAAI,IAFU,CAAhB,CAKA,aAAe,CACb,MAAO,gBADM,CAEb,QAAS,kBAFI,CAGb,MAAO,gBAHM,CAAf,CAMA,UAAY,CACV,KAAM,OAAS,SADL,CAEV,OAAQ,SAAW,SAFT,CAGV,KAAM,OAAS,SAHL,CAIV,MAAO,QAAU,SAJP,CAKV,SAAU,WAAa,SALb,CAMV,MAAO,QAAU,SANP,CAOV,QAAS,UAAY,SAPX,CAQV,SAAU,WAAa,SARb,CASV,WAAY,aAAe,SATjB,CAUV,WAAY,aAAe,SAVjB,CAAZ,CAaA;;;;MAMA,YAAe,SAAU,QAAV,CAAoB,CACjC,UAAU,OAAV,CAAmB,QAAnB,EAEA,gBAAA,EAAmB,CACjB,gBAAgB,IAAhB,CAAsB,OAAtB,EAEA,KAAK,OAAO,cAAP,CAAsB,QAAQ,SAA9B,CAAL,CAA+C,aAA/C,CAA8D,IAA9D,EAAoE,KAApE,CAA0E,IAA1E,CAAgF,SAAhF,EACD,CAED;;;;QAMA,aAAa,OAAb,CAAsB,CAAC,CACrB,IAAK,eADgB;AAKrB,CAAA,MAAO,sBAAA,EAAyB,CAC9B,YAAY,QAAL,IAAmB,KAAK,WAAL,EAA1B,CACD,CAPoB,CAAD,CAQnB,CACD,IAAK,eADJ,CAED,MAAO,sBAAA,EAAyB,CAC9B,YAAY,GAAL,CAAW,KAAK,GAAL,EAAY,EAAE,KAAK,MAAL,CAAY,QAAd,EAAwB,CAAxB,CAA9B,CACD,CAJA,CARmB,CAanB,CACD,IAAK,YADJ,CAED,MAAO,mBAAA,EAAsB,CAC3B,SAAW,EAAE,KAAK,aAAL,EAAF,CAAX,CAEA;AACA,CAAA,KAAK,iBAAL,CAAuB,KAAK,IAAL,CAAU,SAAS,KAAnB,CAAvB,CAAkD,KAAK,QAAL,EAAlD,EACA,KAAK,iBAAL,CAAuB,KAAK,IAAL,CAAU,SAAS,OAAnB,CAAvB,CAAoD,KAAK,WAAL,EAApD,EAEA,KAAK,WAAL,CAAiB,UAAU,IAA3B,EAAiC,WAAjC,CAA6C,UAAU,EAAvD,EAEA,KAAK,aAAL,GACD,CAED;AAdC,CAAA,CAbmB,CA6BnB,CACD,IAAK,aADJ,CAED,MAAO,oBAAA,EAAuB,CAC5B,YAAY,OAAL,CAAa,YAAb,CAA0B,cAA1B,IAA8C,YAAY,MAAL,CAAY,OAAnB,GAA+B,UAA/B,CAA4C,KAAK,MAAL,CAAY,OAAZ,CAAoB,IAApB,CAAyB,KAAK,OAA9B,CAA5C,CAAqF,KAAK,MAAL,CAAY,OAA/I,CAAP,CACD,CAED;AANC,CAAA,CA7BmB,CAAtB,CAqCI,CAAC,CACH,IAAK,kBADF,CAEH,MAAO,yBAAA,CAA0B,MAA1B,CAAkC,CACvC,YAAY,IAAL,CAAU,UAAY,CAC3B,SAAW,EAAE,IAAF,EAAQ,IAAR,CAAa,QAAb,CAAX,CACA,YAAc,cAAA,mCAAO,MAAP,KAAkB,QAAlB,CAA6B,MAA7B,CAAsC,IAApD,CAEA,GAAI,CAAC,IAAD,EAAS,eAAe,IAAf,CAAoB,MAApB,CAAb,CAA0C,CACxC,OACD,CAED,GAAI,CAAC,IAAL,CAAW,CACT,KAAO,WAAA,CAAY,IAAZ,CAAkB,OAAlB,CAAP,CACA,EAAE,IAAF,EAAQ,IAAR,CAAa,QAAb,CAAuB,IAAvB,EACD,CAED,GAAI,aAAA,GAAkB,QAAtB,CAAgC,CAC9B,GAAI,KAAK,MAAL,IAAiB,SAArB,CAAgC,CAC9B,eAAM,CAAU,oBAAsB,MAAtB,CAA+B,GAAzC,CAAN,CACD,CACD,KAAK,MAAL,IACD,CACF,CAnBM,CAAP,CAoBD,CAvBE,CAAD,CAwBD,CACD,IAAK,SADJ;AAKD,CAAA,IAAK,YAAA,EAAe,CAClB,cAAA,CACD,CAPA,CAxBC,CAgCD,CACD,IAAK,SADJ,CAED,IAAK,YAAA,EAAe,CAClB,cAAA,CACD,CAJA,CAhCC,CAqCD,CACD,IAAK,MADJ,CAED,IAAK,YAAA,EAAe,CAClB,WAAA,CACD,CAJA,CArCC,CA0CD,CACD,IAAK,UADJ,CAED,IAAK,YAAA,EAAe,CAClB,eAAA,CACD,CAJA,CA1CC,CA+CD,CACD,IAAK,OADJ,CAED,IAAK,YAAA,EAAe,CAClB,YAAA,CACD,CAJA,CA/CC,CAoDD,CACD,IAAK,WADJ,CAED,IAAK,YAAA,EAAe,CAClB,gBAAA,CACD,CAJA,CApDC,CAyDD,CACD,IAAK,aADJ,CAED,IAAK,YAAA,EAAe,CAClB,kBAAA,CACD,CAJA,CAzDC,CArCJ,EAqGA,cAAA,CACD,CArHa,CAqHX,OArHW,CAAd,CAuHA,EAAE,EAAF,CAAK,IAAL,EAAa,QAAQ,gBAArB,CACA,EAAE,EAAF,CAAK,IAAL,EAAW,WAAX,CAAyB,OAAzB,CACA,EAAE,EAAF,CAAK,IAAL,EAAW,UAAX,CAAwB,UAAY,CAClC,EAAE,EAAF,CAAK,IAAL,EAAa,kBAAb,CACA,eAAe,gBAAf,CACD,CAHD,CAKA,cAAA,CACD,CAtLa,CAsLX,MAtLW,CAAd,CAwLC,CAl+GA,CAk+GC,MAl+GD,CAAD;;CClBA,IAAM,OAAQ,YAAM;;AAElB,CAAA;;;;;;AAMA,CAAA,MAAI,gBAAgB,KAApB;AACA,CAAA,MAAI,yBAAwB,EAA5B;;AAEA,CAAA,MAAM,qBAAqB;AACzB,CAAA,sBAAkB,qBADO;AAEzB,CAAA,mBAAe,eAFU;AAGzB,CAAA,iBAAa,+BAHY;AAIzB,CAAA,gBAAY;AAJa,CAAA,GAA3B;;AAOA,CAAA,WAAS,iBAAT,GAA6B;AAC3B,CAAA,QAAI,OAAO,KAAX,EAAkB;AAChB,CAAA,aAAO,KAAP;AACD,CAAA;;AAED,CAAA,QAAI,KAAK,SAAS,aAAT,CAAuB,KAAvB,CAAT;;AAEA,CAAA,SAAK,IAAI,IAAT,IAAiB,kBAAjB,EAAqC;AACnC,CAAA,UAAI,GAAG,KAAH,CAAS,IAAT,MAAmB,SAAvB,EAAkC;AAChC,CAAA,eAAO,mBAAmB,IAAnB,CAAP,CADgC;AAEjC,CAAA;AACF,CAAA;;AAED,CAAA,WAAO,KAAP;AACD,CAAA;;AAED,CAAA,WAAS,uBAAT,GAAmC;AACjC,CAAA,oBAAgB,mBAAhB;;AAEA,CAAA;AACA,CAAA,SAAK,IAAI,IAAT,IAAiB,kBAAjB,EAAqC;AACnC,CAAA,sCAA6B,mBAAmB,IAAnB,CAA7B;AACD,CAAA;AACF,CAAA;;AAED,CAAA;;;;;;AAMA,CAAA,MAAI,OAAO;AAET,CAAA,0BAFS,oCAEgB;AACvB,CAAA,aAAO,aAAP;AACD,CAAA,KAJQ;AAMT,CAAA,yBANS,mCAMgB;AACvB,CAAA,aAAO,sBAAP;AACD,CAAA,KARQ;AAUT,CAAA,UAVS,kBAUF,KAVE,EAUK;AACZ,CAAA,UAAI,OAAO,MAAM,KAAb,KAAuB,WAA3B,EAAwC;AACtC,CAAA,eAAO,IAAP;AACD,CAAA,OAFD,MAEO,IAAI,OAAO,MAAM,KAAb,KAAuB,QAAvB,IAAmC,MAAM,KAAN,GAAc,CAArD,EAAwD;AAC7D,CAAA,eACE,CAAC,MAAM,OAAP,IACG,CAAC,MAAM,OADV,IAEG,CAAC,MAAM,MAFV,IAGG,MAAM,KAAN,KAAgB,CAHnB;AAAA,CAAA,WAIG,MAAM,KAAN,KAAgB,CAJnB;AAAA,CAAA,WAKG,MAAM,KAAN,KAAgB,EALnB;AAAA,CAAA,WAMG,MAAM,KAAN,KAAgB,EANnB;AAAA,CAAA,WAOG,MAAM,KAAN,KAAgB,EAPnB;AAAA,CAAA,WAQG,MAAM,KAAN,KAAgB,EARnB;AAAA,CAAA,WASG,MAAM,KAAN,KAAgB,EAVrB;AAAA,CAAA;AAYD,CAAA;AACD,CAAA,aAAO,KAAP;AACD,CAAA,KA5BQ;AA8BT,CAAA,UA9BS,kBA8BF,QA9BE,EA8BQ,WA9BR,EA8BqB,OA9BrB,EA8B8B;AACrC,CAAA,UAAI,WAAJ,EAAiB;AACf,CAAA,YAAI,CAAC,QAAD,KAAc,SAAlB,EAA6B;AAC3B,CAAA,mBAAS,GAAT,CAAa,QAAb,EAAuB,eAAvB;AACD,CAAA;AACD,CAAA,gBAAQ,KAAR,CAAc,OAAd,EAAuB,QAAvB,EAJe;AAKf,CAAA,cAAM,OAAN;AACD,CAAA;AACF,CAAA,KAtCQ;AAwCT,CAAA,YAxCS,oBAwCA,QAxCA,EAwCU;AACjB,CAAA,UAAI,aAAa,SAAjB,EAA4B;AAC1B,CAAA,eAAO,WAAP;AACD,CAAA,OAFD,MAEO,IAAI,SAAS,MAAT,KAAoB,CAAxB,EAA2B;AAChC,CAAA,eAAO,wBAAP;AACD,CAAA;AACD,CAAA,aAAU,SAAS,CAAT,EAAY,SAAZ,CAAsB,KAAtB,CAA4B,GAA5B,EAAiC,CAAjC,CAAV;AACD,CAAA;AA/CQ,CAAA,GAAX;;AAkDA,CAAA;AACA,CAAA,SAAO,IAAP;AAED,CAAA,CAtGY,CAsGV,MAtGU,CAAb,CAwGA;;CCtGA,IAAM,OAAQ,UAAC,CAAD,EAAO;;AAEnB,CAAA,MAAM,YAAY;AAChB,CAAA,oBAAgB,gBADA;AAEhB,CAAA,eAAW,WAFK;AAGhB,CAAA,gBAAY;AAHI,CAAA,GAAlB;;AAMA,CAAA,MAAM,WAAW;AACf,CAAA,0BAAoB,UAAU;AADf,CAAA,GAAjB;;AAIA,CAAA,MAAM,UAAU,EAAhB;;AAEA,CAAA;;;;;;AAdmB,CAAA,MAmBb,IAnBa;;AAqBjB,CAAA;;;;;;AAMA,CAAA,kBAAY,QAAZ,EAAsB,MAAtB,EAA+C;AAAA,CAAA,UAAjB,UAAiB,yDAAJ,EAAI;AAAA,CAAA;;AAC7C,CAAA,WAAK,QAAL,GAAgB,QAAhB;AACA,CAAA,WAAK,MAAL,GAAc,EAAE,MAAF,CAAS,IAAT,EAAe,EAAf,EAAmB,OAAnB,EAA4B,MAA5B,CAAd;;AAEA,CAAA;AACA,CAAA,WAAK,IAAI,GAAT,IAAgB,UAAhB,EAA4B;AAC1B,CAAA,aAAK,GAAL,IAAY,WAAW,GAAX,CAAZ;AACD,CAAA;AACF,CAAA;;AAnCgB,CAAA;AAAA,CAAA;AAAA,CAAA,8BAqCT,OArCS,EAqCA;AACf,CAAA,aAAK,QAAL,CAAc,IAAd,CAAmB,OAAnB,EAA4B,IAA5B;AACA,CAAA,aAAK,QAAL,GAAgB,IAAhB;AACA,CAAA,aAAK,MAAL,GAAc,IAAd;AACD,CAAA;;AAED,CAAA;AACA,CAAA;;AA5CiB,CAAA;AAAA,CAAA;AAAA,CAAA,0CA8CG;AAClB,CAAA,YAAI,CAAC,KAAK,QAAL,CAAc,IAAd,CAAmB,UAAnB,CAAL,EAAqC;AACnC,CAAA,eAAK,aAAL,CAAmB,QAAnB,CAA4B,UAAU,UAAtC;AACD,CAAA;AACF,CAAA;AAlDgB,CAAA;AAAA,CAAA;AAAA,CAAA,6CAoDM;AACrB,CAAA,aAAK,aAAL,CAAmB,WAAnB,CAA+B,UAAU,UAAzC;AACD,CAAA;AAtDgB,CAAA;AAAA,CAAA;AAAA,CAAA,uCAwDA;AACf,CAAA,aAAK,aAAL,CAAmB,WAAnB,CAA+B,UAAU,SAAzC;AACD,CAAA;AA1DgB,CAAA;AAAA,CAAA;AAAA,CAAA,oCA4DH;AACZ,CAAA,aAAK,aAAL,CAAmB,QAAnB,CAA4B,UAAU,SAAtC;AACD,CAAA;;AAED,CAAA;;AAhEiB,CAAA;AAAA,CAAA;AAAA,CAAA,yCAiEmB;AAAA,CAAA,YAAnB,UAAmB,yDAAN,IAAM;;AAClC,CAAA,YAAI,MAAM,KAAK,QAAL,CAAc,OAAd,CAAsB,SAAS,cAA/B,CAAV;AACA,CAAA,YAAI,IAAI,MAAJ,KAAe,CAAf,IAAoB,UAAxB,EAAoC;AAClC,CAAA,YAAE,KAAF,qBAA0B,SAAS,cAAnC,aAAyD,KAAK,QAAL,CAAc,KAAK,QAAnB,CAAzD;AACD,CAAA;AACD,CAAA,eAAO,GAAP;AACD,CAAA;;AAED,CAAA;AACA,CAAA;;AAEA,CAAA;AACA,CAAA;;AA7EiB,CAAA;AAAA,CAAA;AAAA,CAAA;;AAiFnB,CAAA,SAAO,IAAP;AAED,CAAA,CAnFY,CAmFV,MAnFU,CAAb,CAqFA;;CCpFA,IAAM,YAAa,UAAC,CAAD,EAAO;;AAExB,CAAA,MAAM,YAAY;AAChB,CAAA,gBAAY,YADI;AAEhB,CAAA,oBAAgB,gBAFA;AAGhB,CAAA,eAAW,WAHK;AAIhB,CAAA,sBAAkB,kBAJF;AAKhB,CAAA,2BAAuB,uBALP;AAMhB,CAAA,wBAAoB,oBANJ;AAOhB,CAAA,gBAAY,YAPI;AAQhB,CAAA,eAAW,WARK;AAShB,CAAA,gBAAY,YATI;AAUhB,CAAA,iBAAa;AAVG,CAAA,GAAlB;;AAaA,CAAA,MAAM,WAAW;AACf,CAAA,sBAAgB,UAAU,UADX;AAEf,CAAA,0BAAoB,UAAU,cAFf;AAGf,CAAA,4CAAqC,UAAU,SAA/C,6BAA8E,UAAU,SAAxF,QAHe;AAAA,CAAA,GAAjB;;AAMA,CAAA,MAAM,UAAU;AACd,CAAA,cAAU,KADI;AAEd,CAAA,eAAW;AACT,CAAA,gBAAU;AADD,CAAA,KAFG;AAKd,CAAA,kBAAc;AACZ,CAAA,mCAA0B,UAAU,cAApC,eADY;AAEZ,CAAA,cAAQ,IAFI;AAGZ,CAAA,gBAAU,IAHE;AAAA,CAAA,KALA;AAUd,CAAA,WAAO;AACL,CAAA,gBAAU,KADL;;AAGL,CAAA;AACA,CAAA;AACA,CAAA;AACA,CAAA;AACA,CAAA;AACA,CAAA;AACA,CAAA,iBAAW;AAAA,CAAA;AAAA,CAAA,OATN;AAaL,CAAA,iBAAW,UAAU;AAbhB,CAAA,KAVO;AAyBd,CAAA,qBAAiB,EAzBH;AA0Bd,CAAA,6BAAyB,EA1BX;AA2Bd,CAAA,gCAA4B;AA3Bd,CAAA,GAAhB;;AA8BA,CAAA,MAAM,yBAAyB;AAC7B,CAAA,uBAAmB,mBADU;AAE7B,CAAA,uBAAmB;AAFU,CAAA,GAA/B;;AAKA,CAAA;;;;;;AAxDwB,CAAA,MA6DlB,SA7DkB;AAAA,CAAA;;AA+DtB,CAAA;;;;;;AAMA,CAAA,uBAAY,QAAZ,EAAsB,MAAtB,EAA+C;AAAA,CAAA,UAAjB,UAAiB,yDAAJ,EAAI;AAAA,CAAA;;AAG7C,CAAA;AAH6C,CAAA,8FACvC,QADuC,EAC7B,EAAE,MAAF,CAAS,IAAT,EAAe,EAAf,EAAmB,OAAnB,EAA4B,MAA5B,CAD6B,EACQ,UADR;;AAI7C,CAAA,YAAK,8BAAL;;AAEA,CAAA;AACA,CAAA,YAAK,8BAAL;;AAEA,CAAA;AACA,CAAA,YAAK,6BAAL;;AAEA,CAAA;AACA,CAAA;AACA,CAAA,YAAK,UAAL,GAAkB,MAAK,aAAL,CAAmB,MAAK,MAAL,CAAY,SAAZ,CAAsB,QAAzC,CAAlB;;AAEA,CAAA;AACA,CAAA;AACA,CAAA;AACA,CAAA,YAAK,aAAL,GAAqB,MAAK,mBAAL,EAArB;;AAEA,CAAA;AACA,CAAA,YAAK,SAAL,GAAiB,MAAK,eAAL,EAAjB;;AAEA,CAAA;AACA,CAAA,YAAK,yBAAL;;AAEA,CAAA,YAAK,gBAAL;AACA,CAAA,YAAK,iBAAL;;AAEA,CAAA,UAAG,MAAK,QAAL,CAAc,GAAd,MAAuB,EAA1B,EAA6B;AAC3B,CAAA,cAAK,WAAL;AACD,CAAA;AAhC4C,CAAA;AAiC9C,CAAA;;AAtGqB,CAAA;AAAA,CAAA;AAAA,CAAA,8BAwGd,OAxGc,EAwGL;AACf,CAAA,oFAAc,OAAd;AACA,CAAA,aAAK,aAAL,GAAqB,IAArB;AACA,CAAA,aAAK,UAAL,GAAkB,IAAlB;AACD,CAAA;;AAED,CAAA;AACA,CAAA;;AA/GsB,CAAA;AAAA,CAAA;AAAA,CAAA,uDAiHW;AAC/B,CAAA;AACD,CAAA;AAnHqB,CAAA;AAAA,CAAA;AAAA,CAAA,yCAqHH;AAAA,CAAA;;AACjB,CAAA,aAAK,QAAL,CACG,EADH,CACM,OADN,EACe,YAAM;AACjB,CAAA,iBAAK,iBAAL;AACD,CAAA,SAHH,EAIG,EAJH,CAIM,MAJN,EAIc,YAAM;AAChB,CAAA,iBAAK,oBAAL;AACD,CAAA,SANH;AAOD,CAAA;AA7HqB,CAAA;AAAA,CAAA;AAAA,CAAA,0CA+HF;AAAA,CAAA;;AAClB,CAAA,aAAK,QAAL,CACG,EADH,CACM,eADN,EACuB,UAAC,KAAD,EAAW;AAC9B,CAAA,cAAI,KAAK,MAAL,CAAY,KAAZ,CAAJ,EAAwB;AACtB,CAAA,mBAAK,WAAL;AACD,CAAA;AACF,CAAA,SALH,EAMG,EANH,CAMM,cANN,EAMsB,YAAM;;AAExB,CAAA;AACA,CAAA;AACA,CAAA,cAAI,OAAK,OAAL,EAAJ,EAAoB;AAClB,CAAA,mBAAK,cAAL;AACD,CAAA,WAFD,MAEO;AACL,CAAA,mBAAK,WAAL;AACD,CAAA;;AAED,CAAA,cAAI,OAAK,MAAL,CAAY,QAAhB,EAA0B;AACxB,CAAA;AACA,CAAA;AACA,CAAA;AACA,CAAA;AACA,CAAA;AACA,CAAA;AACA,CAAA,gBAAI,UAAW,OAAO,OAAK,QAAL,CAAc,CAAd,EAAiB,aAAxB,KAA0C,WAA1C,IAAyD,OAAK,QAAL,CAAc,CAAd,EAAiB,aAAjB,EAAxE;AACA,CAAA,gBAAI,OAAJ,EAAa;AACX,CAAA,qBAAK,eAAL;AACD,CAAA,aAFD,MAEO;AACL,CAAA,qBAAK,YAAL;AACD,CAAA;AACF,CAAA;AACF,CAAA,SA9BH;AA+BD,CAAA;AA/JqB,CAAA;AAAA,CAAA;AAAA,CAAA,qCAiKP;AACb,CAAA,aAAK,aAAL,CAAmB,QAAnB,CAA4B,UAAU,UAAtC;AACD,CAAA;AAnKqB,CAAA;AAAA,CAAA;AAAA,CAAA,wCAqKJ;AAChB,CAAA,aAAK,aAAL,CAAmB,WAAnB,CAA+B,UAAU,UAAzC;AACD,CAAA;AAvKqB,CAAA;AAAA,CAAA;AAAA,CAAA,gCAyKZ;AACR,CAAA,eAAQ,KAAK,QAAL,CAAc,GAAd,OAAwB,IAAxB,IAAgC,KAAK,QAAL,CAAc,GAAd,OAAwB,SAAxD,IAAqE,KAAK,QAAL,CAAc,GAAd,OAAwB,EAArG;AACD,CAAA;;AAED,CAAA;;AA7KsB,CAAA;AAAA,CAAA;AAAA,CAAA,4CA8KA;AACpB,CAAA,YAAI,MAAM,KAAK,gBAAL,CAAsB,KAAtB,CAAV;AACA,CAAA,YAAI,QAAQ,SAAR,IAAqB,IAAI,MAAJ,KAAe,CAAxC,EAA2C;AACzC,CAAA,cAAI,KAAK,MAAL,CAAY,YAAZ,CAAyB,MAAzB,KAAoC,KAAK,UAAL,KAAoB,SAApB,IAAiC,KAAK,UAAL,CAAgB,MAAhB,KAA2B,CAAhG,CAAJ,EAAwG;AACtG,CAAA;AACA,CAAA;;AAEA,CAAA;AACA,CAAA,gBAAG,KAAK,YAAL,GAAoB,MAApB,GAA6B,QAA7B,CAAsC,UAAU,WAAhD,CAAH,EAAgE;AAC9D,CAAA,mBAAK,YAAL,GAAoB,MAApB,GAA6B,IAA7B,CAAkC,KAAK,MAAL,CAAY,YAAZ,CAAyB,QAA3D;AACD,CAAA,aAFD,MAGI;AACF,CAAA,mBAAK,YAAL,GAAoB,IAApB,CAAyB,KAAK,MAAL,CAAY,YAAZ,CAAyB,QAAlD;AACD,CAAA;AACF,CAAA,WAXD,MAWO;AACL,CAAA;AACA,CAAA,iBAAK,UAAL,CAAgB,QAAhB,CAAyB,UAAU,cAAnC;;AAEA,CAAA;AACA,CAAA;AACA,CAAA;AACD,CAAA;;AAED,CAAA,gBAAM,KAAK,gBAAL,CAAsB,KAAK,MAAL,CAAY,YAAZ,CAAyB,QAA/C,CAAN;AACD,CAAA;;AAED,CAAA,eAAO,GAAP;AACD,CAAA;;AAED,CAAA;AACA,CAAA;;AA5MsB,CAAA;AAAA,CAAA;AAAA,CAAA,qCA6MP;AACb,CAAA,eAAO,KAAK,QAAZ;AACD,CAAA;;AAED,CAAA;;AAjNsB,CAAA;AAAA,CAAA;AAAA,CAAA,wCAkNJ;;AAEhB,CAAA,YAAI,QAAQ,KAAK,aAAL,CAAmB,IAAnB,CAAwB,SAAS,kBAAjC,CAAZ;AACA,CAAA,YAAI,UAAU,SAAV,IAAuB,MAAM,MAAN,KAAiB,CAA5C,EAA+C;AAC7C,CAAA;AACA,CAAA,kBAAQ,KAAK,YAAL,CAAkB,KAAK,MAAL,CAAY,KAAZ,CAAkB,QAApC,CAAR;;AAEA,CAAA,cAAI,UAAU,SAAV,IAAuB,MAAM,MAAN,KAAiB,CAA5C,EAA+C;AAC7C,CAAA;AACD,CAAA,WAFD,MAEO;AACL,CAAA;AACA,CAAA,kBAAM,QAAN,CAAe,KAAK,MAAL,CAAY,KAAZ,CAAkB,SAAjC;AACD,CAAA;AACF,CAAA;;AAED,CAAA,eAAO,KAAP;AACD,CAAA;;AAED,CAAA;;AApOsB,CAAA;AAAA,CAAA;AAAA,CAAA,qCAqOU;AAAA,CAAA,YAAnB,UAAmB,yDAAN,IAAM;;AAC9B,CAAA,YAAI,QAAQ,IAAZ;;AAEA,CAAA;AAH8B,CAAA;AAAA,CAAA;AAAA,CAAA;;AAAA,CAAA;AAI9B,CAAA,+BAAqB,KAAK,MAAL,CAAY,KAAZ,CAAkB,SAAvC,8HAAkD;AAAA,CAAA,gBAAzC,QAAyC;;AAChD,CAAA,gBAAI,EAAE,UAAF,CAAa,QAAb,CAAJ,EAA4B;AAC1B,CAAA,sBAAQ,SAAS,IAAT,CAAR;AACD,CAAA,aAFD,MAEO;AACL,CAAA,sBAAQ,KAAK,aAAL,CAAmB,IAAnB,CAAwB,QAAxB,CAAR;AACD,CAAA;;AAED,CAAA,gBAAI,UAAU,SAAV,IAAuB,MAAM,MAAN,GAAe,CAA1C,EAA6C;AAC3C,CAAA;AACD,CAAA;AACF,CAAA;AAd6B,CAAA;AAAA,CAAA;AAAA,CAAA;AAAA,CAAA;AAAA,CAAA;AAAA,CAAA;AAAA,CAAA;AAAA,CAAA;AAAA,CAAA;AAAA,CAAA;AAAA,CAAA;AAAA,CAAA;AAAA,CAAA;AAAA,CAAA;;AAgB9B,CAAA,YAAI,MAAM,MAAN,KAAiB,CAAjB,IAAsB,UAA1B,EAAsC;AACpC,CAAA,YAAE,KAAF,qBAA0B,SAAS,kBAAnC,+BAA+E,KAAK,QAAL,CAAc,KAAK,QAAnB,CAA/E;AACD,CAAA;AACD,CAAA,eAAO,KAAP;AACD,CAAA;;AAED,CAAA;;AA3PsB,CAAA;AAAA,CAAA;AAAA,CAAA,sCA4PW;AAAA,CAAA,YAAnB,UAAmB,yDAAN,IAAM;;AAC/B,CAAA,YAAI,KAAK,KAAK,QAAL,CAAc,OAAd,CAAsB,SAAS,UAA/B,CAAT;AACA,CAAA,YAAI,GAAG,MAAH,KAAc,CAAd,IAAmB,UAAvB,EAAmC;AACjC,CAAA,YAAE,KAAF,qBAA0B,SAAS,UAAnC,aAAqD,KAAK,QAAL,CAAc,KAAK,QAAnB,CAArD;AACD,CAAA;AACD,CAAA,eAAO,EAAP;AACD,CAAA;;AAED,CAAA;AACA,CAAA;;AArQsB,CAAA;AAAA,CAAA;AAAA,CAAA,kDAsQM;AAC1B,CAAA,YAAI,CAAC,KAAK,MAAL,CAAY,0BAAjB,EAA6C;AAC3C,CAAA;AACD,CAAA;;AAED,CAAA;AACA,CAAA,aAAK,IAAI,SAAT,IAAsB,sBAAtB,EAA8C;AAC5C,CAAA,cAAI,KAAK,QAAL,CAAc,QAAd,CAAuB,SAAvB,CAAJ,EAAuC;AACrC,CAAA;AACA,CAAA,iBAAK,aAAL,CAAmB,QAAnB,CAA4B,uBAAuB,SAAvB,CAA5B;AACD,CAAA;AACF,CAAA;AACF,CAAA;;AAED,CAAA;AACA,CAAA;;AArRsB,CAAA;AAAA,CAAA;AAAA,CAAA,uDAsRW;AAAA,CAAA;AAAA,CAAA;AAAA,CAAA;;AAAA,CAAA;AAC/B,CAAA,gCAA2B,KAAK,MAAL,CAAY,uBAAvC,mIAAgE;AAAA,CAAA,gBAAvD,cAAuD;;AAC9D,CAAA,2BAAe,WAAf,CAA2B,KAAK,WAAL,CAAiB,IAA5C,EAAkD,KAAK,QAAvD;AACD,CAAA;AAH8B,CAAA;AAAA,CAAA;AAAA,CAAA;AAAA,CAAA;AAAA,CAAA;AAAA,CAAA;AAAA,CAAA;AAAA,CAAA;AAAA,CAAA;AAAA,CAAA;AAAA,CAAA;AAAA,CAAA;AAAA,CAAA;AAAA,CAAA;AAIhC,CAAA;AA1RqB,CAAA;AAAA,CAAA;AAAA,CAAA,sDA4RU;AAAA,CAAA;AAAA,CAAA;AAAA,CAAA;;AAAA,CAAA;AAC9B,CAAA,gCAA0B,KAAK,MAAL,CAAY,eAAtC,mIAAuD;AAAA,CAAA,gBAA9C,aAA8C;;;AAErD,CAAA,gBAAI,QAAQ,KAAZ;AACA,CAAA;AACA,CAAA,gBAAI,cAAc,OAAd,CAAsB,IAAtB,MAAgC,CAAC,CAArC,EAAwC;AACtC,CAAA,kBAAI,QAAQ,cAAc,KAAd,CAAoB,IAApB,CAAZ;AADsC,CAAA;AAAA,CAAA;AAAA,CAAA;;AAAA,CAAA;AAEtC,CAAA,sCAA0B,KAA1B,mIAAiC;AAAA,CAAA,sBAAxB,cAAwB;;AAC/B,CAAA,sBAAI,KAAK,QAAL,CAAc,QAAd,CAAuB,cAAvB,CAAJ,EAA2C;AACzC,CAAA,4BAAQ,IAAR;AACA,CAAA;AACD,CAAA;AACF,CAAA;AAPqC,CAAA;AAAA,CAAA;AAAA,CAAA;AAAA,CAAA;AAAA,CAAA;AAAA,CAAA;AAAA,CAAA;AAAA,CAAA;AAAA,CAAA;AAAA,CAAA;AAAA,CAAA;AAAA,CAAA;AAAA,CAAA;AAAA,CAAA;AAQvC,CAAA,aARD,MAQO,IAAI,KAAK,QAAL,CAAc,QAAd,CAAuB,aAAvB,CAAJ,EAA2C;AAChD,CAAA,sBAAQ,IAAR;AACD,CAAA;;AAED,CAAA;AACA,CAAA,gBAAI,CAAC,KAAL,EAAY;AACV,CAAA,gBAAE,KAAF,CAAW,KAAK,WAAL,CAAiB,IAA5B,kBAA6C,KAAK,QAAL,CAAc,KAAK,QAAnB,CAA7C,yBAA6F,aAA7F;AACD,CAAA;AACF,CAAA;AArB6B,CAAA;AAAA,CAAA;AAAA,CAAA;AAAA,CAAA;AAAA,CAAA;AAAA,CAAA;AAAA,CAAA;AAAA,CAAA;AAAA,CAAA;AAAA,CAAA;AAAA,CAAA;AAAA,CAAA;AAAA,CAAA;AAAA,CAAA;AAsB/B,CAAA;;AAED,CAAA;AACA,CAAA;;AArTsB,CAAA;AAAA,CAAA;AAAA,CAAA,IA6DA,IA7DA;;AAyTxB,CAAA,SAAO,SAAP;AAED,CAAA,CA3TiB,CA2Tf,MA3Te,CAAlB,CA6TA;;CC7TA,IAAM,gBAAiB,UAAC,CAAD,EAAO;;AAE5B,CAAA;;;;;AAKA,CAAA,MAAM,UAAU;AACd,CAAA,WAAO;AACL,CAAA,gBAAU;;AAEV,CAAA;AACA,CAAA;AACA,CAAA;AACA,CAAA;AACA,CAAA;AACA,CAAA;AACA,CAAA;AACA,CAAA;AACA,CAAA;AACA,CAAA;AAZK,CAAA;AADO,CAAA,GAAhB;;AAiBA,CAAA,MAAM,WAAW;AACf,CAAA,WAAO;AADQ,CAAA,GAAjB;;AAIA,CAAA;;;;;;AA5B4B,CAAA,MAiCtB,aAjCsB;AAAA,CAAA;;AAmC1B,CAAA,2BAAY,QAAZ,EAAsB,MAAtB,EAA8B,UAA9B,EAA0C;AAAA,CAAA;;AAAA,CAAA,kGAKlC,QALkC,EAKxB,EAAE,MAAF,CAAS,IAAT,EAAe,EAAf,EAAmB,OAAnB,EAA4B,MAA5B,CALwB,EAKa,UALb;AACxC,CAAA;AACA,CAAA;AACA,CAAA;;AAGA,CAAA,YAAK,cAAL;AANwC,CAAA;AAOzC,CAAA;;AAED,CAAA;AACA,CAAA;;AA7C0B,CAAA;AAAA,CAAA;AAAA,CAAA,uCA+CT;AACf,CAAA,aAAK,QAAL,CAAc,KAAd,CAAoB,KAAK,MAAL,CAAY,QAAhC;AACD,CAAA;;AAED,CAAA;;AAnD0B,CAAA;AAAA,CAAA;AAAA,CAAA,qCAoDX;AACb,CAAA;AACA,CAAA;AACA,CAAA;AACA,CAAA,eAAO,KAAK,QAAL,CAAc,MAAd,GAAuB,OAAvB,OAAmC,KAAK,UAAxC,CAAP;AACD,CAAA;AAzDyB,CAAA;AAAA,CAAA;AAAA,CAAA,uDA2DO;AAC/B,CAAA;AACA,CAAA;AACA,CAAA,aAAK,MAAL,CAAY,KAAK,QAAjB,EAA2B,CAAC,KAAK,QAAL,CAAc,MAAd,GAAuB,IAAvB,CAA4B,SAA5B,CAAD,KAA4C,OAAvE,EAAmF,KAAK,WAAL,CAAiB,IAApG,YAA8G,KAAK,QAAL,CAAc,KAAK,QAAnB,CAA9G;AACA,CAAA,aAAK,MAAL,CAAY,KAAK,QAAjB,EAA2B,CAAC,KAAK,YAAL,GAAoB,QAApB,CAA6B,KAAK,UAAlC,CAA5B,EAA8E,KAAK,WAAL,CAAiB,IAA/F,YAAyG,KAAK,QAAL,CAAc,KAAK,QAAnB,CAAzG,yCAAyK,KAAK,UAA9K;AACD,CAAA;AAhEyB,CAAA;AAAA,CAAA;AAAA,CAAA,yCAkEP;AAAA,CAAA;;AACjB,CAAA;AACA,CAAA,aAAK,QAAL,CAAc,OAAd,CAAsB,SAAS,KAA/B,EAAsC,KAAtC,CAA4C,YAAM;AAChD,CAAA,iBAAK,iBAAL;AACD,CAAA,SAFD,EAEG,YAAM;AACP,CAAA,iBAAK,oBAAL;AACD,CAAA,SAJD;AAKD,CAAA;AAzEyB,CAAA;AAAA,CAAA;AAAA,CAAA,0CA2EN;AAAA,CAAA;;AAClB,CAAA,aAAK,QAAL,CAAc,MAAd,CAAqB,YAAM;AACzB,CAAA,iBAAK,QAAL,CAAc,IAAd;AACD,CAAA,SAFD;AAGD,CAAA;;AAED,CAAA;AACA,CAAA;;AAlF0B,CAAA;AAAA,CAAA;AAAA,CAAA,IAiCA,SAjCA;;AAqF5B,CAAA,SAAO,aAAP;AAED,CAAA,CAvFqB,CAuFnB,MAvFmB,CAAtB,CAyFA;;CCpFA,IAAM,WAAY,UAAC,CAAD,EAAO;;AAEvB,CAAA;;;;;AAKA,CAAA,MAAM,OAAO,UAAb;AACA,CAAA,MAAM,oBAAkB,IAAxB;AACA,CAAA,MAAM,uBAAoB,KAAK,MAAL,CAAY,CAAZ,EAAe,WAAf,KAA+B,KAAK,KAAL,CAAW,CAAX,CAAnD,CAAN;AACA,CAAA,MAAM,qBAAqB,EAAE,EAAF,CAAK,WAAL,CAA3B;;AAEA,CAAA,MAAM,UAAU;AACd,CAAA;AADc,CAAA,GAAhB;;AAIA,CAAA;;;;;;AAhBuB,CAAA,MAqBjB,QArBiB;AAAA,CAAA;;AAuBrB,CAAA,sBAAY,QAAZ,EAAsB,MAAtB,EAAgF;AAAA,CAAA,UAAlD,UAAkD,yDAArC,EAAC,WAAW,IAAZ,EAAkB,YAAY,IAA9B,EAAqC;AAAA,CAAA;AAAA,CAAA,wFACxE,QADwE,EAC9D,EAAE,MAAF,CAAS,IAAT;AACd,CAAA;AACA,CAAA,aAFc,EAEL,MAFK,CAD8D,EAG1D,UAH0D;AAI/E,CAAA;;AA3BoB,CAAA;AAAA,CAAA;AAAA,CAAA,gCA6BO;AAAA,CAAA,YAApB,OAAoB,yDAAV,QAAU;;AAC1B,CAAA,mFAAc,OAAd;AACD,CAAA;AA/BoB,CAAA;AAAA,CAAA;AAAA,CAAA,8BAiCN,QAjCM,EAiCI;AACvB,CAAA;AACA,CAAA,YAAI,SAAS,IAAT,CAAc,MAAd,MAA0B,UAA9B,EAA0C;AACxC,CAAA,iBAAO,IAAP;AACD,CAAA;AACD,CAAA,eAAO,KAAP;AACD,CAAA;AAvCoB,CAAA;AAAA,CAAA;AAAA,CAAA,kCAyCF,SAzCE,EAyCS,QAzCT,EAyCmB;AACtC,CAAA,aAAK,MAAL,CAAY,KAAK,QAAjB,EAA2B,KAAK,OAAL,CAAa,QAAb,CAA3B,EAAsD,SAAtD,2BAAqF,KAAK,QAAL,CAAc,QAAd,CAArF;AACD,CAAA;;AAED,CAAA;AACA,CAAA;;AAEA,CAAA;AACA,CAAA;;AAEA,CAAA;AACA,CAAA;;AAEA,CAAA;AACA,CAAA;;AAvDqB,CAAA;AAAA,CAAA;AAAA,CAAA,uCAwDG,MAxDH,EAwDW;AAC9B,CAAA,eAAO,KAAK,IAAL,CAAU,YAAY;AAC3B,CAAA,cAAI,WAAW,EAAE,IAAF,CAAf;AACA,CAAA,cAAI,OAAO,SAAS,IAAT,CAAc,QAAd,CAAX;;AAEA,CAAA,cAAI,CAAC,IAAL,EAAW;AACT,CAAA,mBAAO,IAAI,QAAJ,CAAa,QAAb,EAAuB,MAAvB,CAAP;AACA,CAAA,qBAAS,IAAT,CAAc,QAAd,EAAwB,IAAxB;AACD,CAAA;AACF,CAAA,SARM,CAAP;AASD,CAAA;AAlEoB,CAAA;AAAA,CAAA;AAAA,CAAA,IAqBA,aArBA;;AAqEvB,CAAA;;;;;;;AAKA,CAAA,IAAE,EAAF,CAAK,WAAL,IAAoB,SAAS,gBAA7B;AACA,CAAA,IAAE,EAAF,CAAK,WAAL,EAAkB,WAAlB,GAAgC,QAAhC;AACA,CAAA,IAAE,EAAF,CAAK,WAAL,EAAkB,UAAlB,GAA+B,YAAM;AACnC,CAAA,MAAE,EAAF,CAAK,WAAL,IAAoB,kBAApB;AACA,CAAA,WAAO,SAAS,gBAAhB;AACD,CAAA,GAHD;;AAKA,CAAA,SAAO,QAAP;AAED,CAAA,CAnFgB,CAmFd,MAnFc,CAAjB,CAqFA;;CC3FA,IAAM,iBAAkB,UAAC,CAAD,EAAO;;AAE7B,CAAA;;;;;AAKA,CAAA,MAAM,OAAO,gBAAb;AACA,CAAA,MAAM,oBAAkB,IAAxB;AACA,CAAA,MAAM,uBAAoB,KAAK,MAAL,CAAY,CAAZ,EAAe,WAAf,KAA+B,KAAK,KAAL,CAAW,CAAX,CAAnD,CAAN;AACA,CAAA,MAAM,qBAAqB,EAAE,EAAF,CAAK,WAAL,CAA3B;;AAEA,CAAA,MAAM,UAAU;AACd,CAAA,kBAAc;AACZ,CAAA,cAAQ,KADI;AAEZ,CAAA,gBAAU;AAFE,CAAA;AADA,CAAA,GAAhB;;AAOA,CAAA;;;;;;AAnB6B,CAAA,MAwBvB,cAxBuB;AAAA,CAAA;;AA0B3B,CAAA,4BAAY,QAAZ,EAAsB,MAAtB,EAAmG;AAAA,CAAA,UAArE,UAAqE,yDAAxD,EAAC,WAAW,UAAZ,EAAwB,YAAY,iBAApC,EAAwD;AAAA,CAAA;AAAA,CAAA,8FAC3F,QAD2F,EACjF,EAAE,MAAF,CAAS,IAAT,EAAe,EAAf,EAAmB,OAAnB,EAA4B,MAA5B,CADiF,EAC5C,UAD4C;AAElG,CAAA;;AA5B0B,CAAA;AAAA,CAAA;AAAA,CAAA,gCA8BjB;AACR,CAAA,yFAAc,QAAd;AACD,CAAA;;AAED,CAAA;AACA,CAAA;AACA,CAAA;AACA,CAAA;AACA,CAAA;AACA,CAAA;AACA,CAAA;AACA,CAAA;AACA,CAAA;AACA,CAAA;AACA,CAAA;;AAEA,CAAA;AACA,CAAA;;AAEA,CAAA;AACA,CAAA;;AAEA,CAAA;AACA,CAAA;;AAEA,CAAA;AACA,CAAA;;AAxD2B,CAAA;AAAA,CAAA;AAAA,CAAA,uCAyDH,MAzDG,EAyDK;AAC9B,CAAA,eAAO,KAAK,IAAL,CAAU,YAAY;AAC3B,CAAA,cAAI,WAAW,EAAE,IAAF,CAAf;AACA,CAAA,cAAI,OAAO,SAAS,IAAT,CAAc,QAAd,CAAX;;AAEA,CAAA,cAAI,CAAC,IAAL,EAAW;AACT,CAAA,mBAAO,IAAI,cAAJ,CAAmB,QAAnB,EAA6B,MAA7B,CAAP;AACA,CAAA,qBAAS,IAAT,CAAc,QAAd,EAAwB,IAAxB;AACD,CAAA;AACF,CAAA,SARM,CAAP;AASD,CAAA;AAnE0B,CAAA;AAAA,CAAA;AAAA,CAAA,IAwBA,QAxBA;;AAsE7B,CAAA;;;;;;;AAKA,CAAA,IAAE,EAAF,CAAK,WAAL,IAAoB,eAAe,gBAAnC;AACA,CAAA,IAAE,EAAF,CAAK,WAAL,EAAkB,WAAlB,GAAgC,cAAhC;AACA,CAAA,IAAE,EAAF,CAAK,WAAL,EAAkB,UAAlB,GAA+B,YAAM;AACnC,CAAA,MAAE,EAAF,CAAK,WAAL,IAAoB,kBAApB;AACA,CAAA,WAAO,eAAe,gBAAtB;AACD,CAAA,GAHD;;AAKA,CAAA,SAAO,cAAP;AAED,CAAA,CApFsB,CAoFpB,MApFoB,CAAvB,CAsFA;;CCrFA,IAAM,iBAAkB,UAAC,CAAD,EAAO;;AAE7B,CAAA;;;;;AAKA,CAAA,MAAM,OAAO,gBAAb;AACA,CAAA,MAAM,oBAAkB,IAAxB;AACA,CAAA,MAAM,uBAAoB,KAAK,MAAL,CAAY,CAAZ,EAAe,WAAf,KAA+B,KAAK,KAAL,CAAW,CAAX,CAAnD,CAAN;AACA,CAAA,MAAM,qBAAqB,EAAE,EAAF,CAAK,WAAL,CAA3B;;AAEA,CAAA,MAAM,WAAW;AACf,CAAA,eAAW;AADI,CAAA,GAAjB;;AAIA,CAAA,MAAM,YAAY;AAChB,CAAA,QAAI,IADY;AAEhB,CAAA,cAAU,UAFM;AAGhB,CAAA,gBAAY,YAHI;AAIhB,CAAA,eAAW,WAJK;AAKhB,CAAA,WAAO;AALS,CAAA,GAAlB;AAOA,CAAA,MAAM,UAAU,EAAhB;;AAEA,CAAA;;;;;;AAzB6B,CAAA,MA8BvB,cA9BuB;AAAA,CAAA;;AAgC3B,CAAA;AACA,CAAA;AACA,CAAA,4BAAY,QAAZ,EAAsB,MAAtB,EAA8B;AAAA,CAAA;;AAAA,CAAA,mGACtB,QADsB,EACZ,EAAE,MAAF,CAAS,IAAT,EAAe,EAAf,EAAmB,OAAnB,EAA4B,MAA5B,CADY;;AAE5B,CAAA,YAAK,aAAL,GAAqB,MAAK,gBAAL,CAAsB,IAAtB,CAArB;;AAEA,CAAA,UAAI,mBAAmB,SAAS,IAAT,CAAc,QAAd,CAAvB;AACA,CAAA,YAAK,SAAL,GAAiB,EAAE,gBAAF,CAAjB;;AAEA,CAAA,WAAK,MAAL,CAAY,QAAZ,EAAsB,MAAK,SAAL,CAAe,MAAf,KAA0B,CAAhD,uCAAsF,KAAK,QAAL,CAAc,QAAd,CAAtF;AACA,CAAA,WAAK,MAAL,CAAY,MAAK,SAAjB,EAA4B,CAAC,MAAK,SAAL,CAAe,QAAf,CAAwB,UAAU,QAAlC,CAA7B,EAA6E,KAAK,QAAL,CAAc,MAAK,SAAnB,CAA7E,mCAAuI,UAAU,QAAjJ,2CAA8L,KAAK,QAAL,CAAc,QAAd,CAA9L;;AAEA,CAAA;AACA,CAAA,UAAI,UAAU,MAAK,aAAL,CAAmB,IAAnB,CAAwB,SAAS,SAAjC,CAAd;AACA,CAAA,UAAI,QAAQ,MAAR,GAAiB,CAArB,EAAwB;AACtB,CAAA,cAAK,MAAL,GAAc,QAAQ,KAAR,EAAd;AACD,CAAA;;AAED,CAAA;AACA,CAAA,UAAI,CAAC,MAAK,SAAL,CAAe,QAAf,CAAwB,UAAU,KAAlC,CAAL,EAA+C;AAC7C,CAAA,cAAK,SAAL,CAAe,QAAf,CAAwB,UAAU,KAAlC;AACD,CAAA;;AAED,CAAA,UAAI,MAAK,MAAT,EAAiB;AACf,CAAA;AACA,CAAA,cAAK,SAAL,CAAe,EAAf,CAAkB,mBAAlB,EAAuC,YAAM;AAC3C,CAAA,gBAAK,MAAL,CAAY,KAAZ;AACD,CAAA,SAFD;;AAIA,CAAA;AACA,CAAA,cAAK,MAAL,CAAY,IAAZ,CAAiB,YAAM;AACrB,CAAA,gBAAK,SAAL,CAAe,QAAf,CAAwB,MAAxB;AACD,CAAA,SAFD;AAGD,CAAA;AA/B2B,CAAA;AAgC7B,CAAA;;AAlE0B,CAAA;AAAA,CAAA;AAAA,CAAA,gCAoEjB;AACR,CAAA,yFAAc,QAAd;AACA,CAAA,aAAK,aAAL,GAAqB,IAArB;AACA,CAAA,aAAK,SAAL,GAAiB,IAAjB;AACA,CAAA,aAAK,MAAL,GAAc,IAAd;AACD,CAAA;;AAED,CAAA;AACA,CAAA;;AAEA,CAAA;AACA,CAAA;;AA/E2B,CAAA;AAAA,CAAA;AAAA,CAAA,uCAgFH,MAhFG,EAgFK;AAC9B,CAAA,eAAO,KAAK,IAAL,CAAU,YAAY;AAC3B,CAAA,cAAI,WAAW,EAAE,IAAF,CAAf;AACA,CAAA,cAAI,OAAO,SAAS,IAAT,CAAc,QAAd,CAAX;;AAEA,CAAA,cAAI,CAAC,IAAL,EAAW;AACT,CAAA,mBAAO,IAAI,cAAJ,CAAmB,QAAnB,EAA6B,MAA7B,CAAP;AACA,CAAA,qBAAS,IAAT,CAAc,QAAd,EAAwB,IAAxB;AACD,CAAA;AACF,CAAA,SARM,CAAP;AASD,CAAA;AA1F0B,CAAA;AAAA,CAAA;AAAA,CAAA,IA8BA,IA9BA;;AA6F7B,CAAA;;;;;;;AAKA,CAAA,IAAE,EAAF,CAAK,WAAL,IAAoB,eAAe,gBAAnC;AACA,CAAA,IAAE,EAAF,CAAK,WAAL,EAAkB,WAAlB,GAAgC,cAAhC;AACA,CAAA,IAAE,EAAF,CAAK,WAAL,EAAkB,UAAlB,GAA+B,YAAM;AACnC,CAAA,MAAE,EAAF,CAAK,WAAL,IAAoB,kBAApB;AACA,CAAA,WAAO,eAAe,gBAAtB;AACD,CAAA,GAHD;;AAKA,CAAA,SAAO,cAAP;AAED,CAAA,CA3GsB,CA2GpB,MA3GoB,CAAvB,CA6GA;;CCvGA,IAAM,OAAQ,UAAC,CAAD,EAAO;;AAEnB,CAAA;;;;;AAKA,CAAA,MAAM,OAAO,MAAb;AACA,CAAA,MAAM,oBAAkB,IAAxB;AACA,CAAA,MAAM,uBAAoB,KAAK,MAAL,CAAY,CAAZ,EAAe,WAAf,KAA+B,KAAK,KAAL,CAAW,CAAX,CAAnD,CAAN;AACA,CAAA,MAAM,qBAAqB,EAAE,EAAF,CAAK,WAAL,CAA3B;;AAEA,CAAA,MAAM,UAAU,EAAhB;;AAEA,CAAA,MAAM,YAAY;AAChB,CAAA,UAAM,IADU;AAEhB,CAAA,aAAS;AAFO,CAAA,GAAlB;;AAKA,CAAA,MAAM,WAAW;AACf,CAAA,eAAW;AADI,CAAA,GAAjB;;AAIA,CAAA;;;;;;AAvBmB,CAAA,MA4Bb,IA5Ba;AAAA,CAAA;;AA8BjB,CAAA,kBAAY,QAAZ,EAAsB,MAAtB,EAA8B;AAAA,CAAA;;AAAA,CAAA,yFACtB,QADsB,EACZ,EAAE,MAAF,CAAS,IAAT;AACd,CAAA;AACA,CAAA,aAFc,EAEL,MAFK,CADY;;AAK5B,CAAA,YAAK,aAAL,CAAmB,QAAnB,CAA4B,UAAU,OAAtC;AAL4B,CAAA;AAM7B,CAAA;;AApCgB,CAAA;AAAA,CAAA;AAAA,CAAA,gCAsCP;AACR,CAAA,+EAAc,QAAd;AACD,CAAA;AAxCgB,CAAA;AAAA,CAAA;;;AAqDjB,CAAA;AACA,CAAA;;AAEA,CAAA;AAxDiB,CAAA,qCAyDF;AACb,CAAA;AACA,CAAA,eAAO,KAAK,QAAL,CAAc,MAAd,GAAuB,OAAvB,OAAmC,UAAU,IAA7C,CAAP;AACD,CAAA;AA5DgB,CAAA;AAAA,CAAA;AAAA,CAAA,uDA8DgB;AAC/B,CAAA;AACA,CAAA,aAAK,MAAL,CAAY,KAAK,QAAjB,EAA2B,CAAC,KAAK,YAAL,GAAoB,IAApB,CAAyB,SAAzB,CAAD,KAAyC,OAApE,EAAgF,KAAK,WAAL,CAAiB,IAAjG,YAA2G,KAAK,QAAL,CAAc,KAAK,QAAnB,CAA3G,wBAA0J,KAAK,QAAL,CAAc,KAAK,YAAL,EAAd,CAA1J;AACA,CAAA,aAAK,MAAL,CAAY,KAAK,QAAjB,EAA2B,CAAC,KAAK,YAAL,GAAoB,QAApB,CAA6B,UAAU,IAAvC,CAA5B,EAA6E,KAAK,WAAL,CAAiB,IAA9F,YAAwG,KAAK,QAAL,CAAc,KAAK,QAAnB,CAAxG,wBAAuJ,KAAK,QAAL,CAAc,KAAK,YAAL,EAAd,CAAvJ,4BAAgN,UAAU,IAA1N;AACD,CAAA;AAlEgB,CAAA;AAAA,CAAA;AAAA,CAAA,yCAoEE;AAAA,CAAA;;AACjB,CAAA,aAAK,aAAL,CACG,EADH,CACM,OADN,EACe,YAAM;AACjB,CAAA,iBAAK,iBAAL;AACD,CAAA,SAHH,EAIG,EAJH,CAIM,MAJN,EAIc,YAAM;AAChB,CAAA,iBAAK,oBAAL;AACD,CAAA,SANH;AAOD,CAAA;AA5EgB,CAAA;AAAA,CAAA;AAAA,CAAA,0CA8EG;AAAA,CAAA;;AAClB,CAAA;AACA,CAAA,aAAK,QAAL,CAAc,EAAd,CAAiB,QAAjB,EAA2B,YAAM;AAC/B,CAAA,cAAI,QAAQ,EAAZ;AACA,CAAA,YAAE,IAAF,CAAO,OAAK,QAAL,CAAc,KAArB,EAA4B,UAAC,CAAD,EAAI,IAAJ,EAAa;AACvC,CAAA,qBAAY,KAAK,IAAjB;AACD,CAAA,WAFD;AAGA,CAAA,kBAAQ,MAAM,SAAN,CAAgB,CAAhB,EAAmB,MAAM,MAAN,GAAe,CAAlC,CAAR;AACA,CAAA,cAAI,KAAJ,EAAW;AACT,CAAA,mBAAK,WAAL;AACD,CAAA,WAFD,MAEO;AACL,CAAA,mBAAK,cAAL;AACD,CAAA;AACD,CAAA,iBAAK,aAAL,CAAmB,IAAnB,CAAwB,SAAS,SAAjC,EAA4C,GAA5C,CAAgD,KAAhD;AACD,CAAA,SAZD;AAaD,CAAA;;AAED,CAAA;AACA,CAAA;;AAEA,CAAA;AACA,CAAA;;AAnGiB,CAAA;AAAA,CAAA;AAAA,CAAA,8BA0CF,QA1CE,EA0CQ;AACvB,CAAA,YAAI,SAAS,IAAT,CAAc,MAAd,MAA0B,MAA9B,EAAsC;AACpC,CAAA,iBAAO,IAAP;AACD,CAAA;AACD,CAAA,eAAO,KAAP;AACD,CAAA;AA/CgB,CAAA;AAAA,CAAA;AAAA,CAAA,kCAiDE,SAjDF,EAiDa,QAjDb,EAiDuB;AACtC,CAAA,aAAK,MAAL,CAAY,KAAK,QAAjB,EAA2B,KAAK,OAAL,CAAa,QAAb,CAA3B,EAAsD,SAAtD,2BAAqF,KAAK,QAAL,CAAc,QAAd,CAArF;AACD,CAAA;AAnDgB,CAAA;AAAA,CAAA;AAAA,CAAA,uCAoGO,MApGP,EAoGe;AAC9B,CAAA,eAAO,KAAK,IAAL,CAAU,YAAY;AAC3B,CAAA,cAAI,WAAW,EAAE,IAAF,CAAf;AACA,CAAA,cAAI,OAAO,SAAS,IAAT,CAAc,QAAd,CAAX;;AAEA,CAAA,cAAI,CAAC,IAAL,EAAW;AACT,CAAA,mBAAO,IAAI,IAAJ,CAAS,QAAT,EAAmB,MAAnB,CAAP;AACA,CAAA,qBAAS,IAAT,CAAc,QAAd,EAAwB,IAAxB;AACD,CAAA;AACF,CAAA,SARM,CAAP;AASD,CAAA;AA9GgB,CAAA;AAAA,CAAA;AAAA,CAAA,IA4BA,SA5BA;;AAiHnB,CAAA;;;;;;;AAKA,CAAA,IAAE,EAAF,CAAK,WAAL,IAAoB,KAAK,gBAAzB;AACA,CAAA,IAAE,EAAF,CAAK,WAAL,EAAkB,WAAlB,GAAgC,IAAhC;AACA,CAAA,IAAE,EAAF,CAAK,WAAL,EAAkB,UAAlB,GAA+B,YAAM;AACnC,CAAA,MAAE,EAAF,CAAK,WAAL,IAAoB,kBAApB;AACA,CAAA,WAAO,KAAK,gBAAZ;AACD,CAAA,GAHD;;AAKA,CAAA,SAAO,IAAP;AAED,CAAA,CA/HY,CA+HV,MA/HU,CAAb,CAiIA;;CCnIA,IAAM,QAAS,UAAC,CAAD,EAAO;;AAEpB,CAAA;;;;;AAKA,CAAA,MAAM,OAAO,OAAb;AACA,CAAA,MAAM,oBAAkB,IAAxB;AACA,CAAA,MAAM,uBAAoB,KAAK,MAAL,CAAY,CAAZ,EAAe,WAAf,KAA+B,KAAK,KAAL,CAAW,CAAX,CAAnD,CAAN;AACA,CAAA,MAAM,qBAAqB,EAAE,EAAF,CAAK,WAAL,CAA3B;;AAEA,CAAA,MAAM,UAAU;AACd,CAAA;AADc,CAAA,GAAhB;;AAIA,CAAA;;;;;;AAhBoB,CAAA,MAqBd,KArBc;AAAA,CAAA;;AAuBlB,CAAA,mBAAY,QAAZ,EAAsB,MAAtB,EAAgF;AAAA,CAAA,UAAlD,UAAkD,yDAArC,EAAC,WAAW,IAAZ,EAAkB,YAAY,IAA9B,EAAqC;AAAA,CAAA;AAAA,CAAA,qFACxE,QADwE,EAC9D,EAAE,MAAF,CAAS,IAAT;AACd,CAAA;AACA,CAAA,aAFc,EAEL,MAFK,CAD8D,EAG1D,UAH0D;AAI/E,CAAA;;AA3BiB,CAAA;AAAA,CAAA;AAAA,CAAA,gCA6BU;AAAA,CAAA,YAApB,OAAoB,yDAAV,QAAU;;AAC1B,CAAA,gFAAc,OAAd;AACD,CAAA;AA/BiB,CAAA;AAAA,CAAA;AAAA,CAAA,8BAiCH,QAjCG,EAiCO;AACvB,CAAA;AACA,CAAA,YAAI,SAAS,IAAT,CAAc,MAAd,MAA0B,OAA9B,EAAuC;AACrC,CAAA,iBAAO,IAAP;AACD,CAAA;AACD,CAAA,eAAO,KAAP;AACD,CAAA;AAvCiB,CAAA;AAAA,CAAA;AAAA,CAAA,kCAyCC,SAzCD,EAyCY,QAzCZ,EAyCsB;AACtC,CAAA,aAAK,MAAL,CAAY,KAAK,QAAjB,EAA2B,KAAK,OAAL,CAAa,QAAb,CAA3B,EAAsD,SAAtD,2BAAqF,KAAK,QAAL,CAAc,QAAd,CAArF;AACD,CAAA;;AAED,CAAA;AACA,CAAA;;AAEA,CAAA;AACA,CAAA;AACA,CAAA;;;AAGA,CAAA;AACA,CAAA;;AAEA,CAAA;AACA,CAAA;;AAzDkB,CAAA;AAAA,CAAA;AAAA,CAAA,uCA0DM,MA1DN,EA0Dc;AAC9B,CAAA,eAAO,KAAK,IAAL,CAAU,YAAY;AAC3B,CAAA,cAAI,WAAW,EAAE,IAAF,CAAf;AACA,CAAA,cAAI,OAAO,SAAS,IAAT,CAAc,QAAd,CAAX;;AAEA,CAAA,cAAI,CAAC,IAAL,EAAW;AACT,CAAA,mBAAO,IAAI,KAAJ,CAAU,QAAV,EAAoB,MAApB,CAAP;AACA,CAAA,qBAAS,IAAT,CAAc,QAAd,EAAwB,IAAxB;AACD,CAAA;AACF,CAAA,SARM,CAAP;AASD,CAAA;AApEiB,CAAA;AAAA,CAAA;AAAA,CAAA,IAqBA,aArBA;;AAuEpB,CAAA;;;;;;;AAKA,CAAA,IAAE,EAAF,CAAK,WAAL,IAAoB,MAAM,gBAA1B;AACA,CAAA,IAAE,EAAF,CAAK,WAAL,EAAkB,WAAlB,GAAgC,KAAhC;AACA,CAAA,IAAE,EAAF,CAAK,WAAL,EAAkB,UAAlB,GAA+B,YAAM;AACnC,CAAA,MAAE,EAAF,CAAK,WAAL,IAAoB,kBAApB;AACA,CAAA,WAAO,MAAM,gBAAb;AACD,CAAA,GAHD;;AAKA,CAAA,SAAO,KAAP;AAED,CAAA,CArFa,CAqFX,MArFW,CAAd,CAuFA;;CC5FA,IAAM,cAAe,UAAC,CAAD,EAAO;;AAE1B,CAAA;;;;;AAKA,CAAA,MAAM,OAAO,aAAb;AACA,CAAA,MAAM,oBAAkB,IAAxB;AACA,CAAA,MAAM,uBAAoB,KAAK,MAAL,CAAY,CAAZ,EAAe,WAAf,KAA+B,KAAK,KAAL,CAAW,CAAX,CAAnD,CAAN;AACA,CAAA,MAAM,qBAAqB,EAAE,EAAF,CAAK,WAAL,CAA3B;;AAEA,CAAA,MAAM,UAAU;AACd,CAAA,kBAAc;AACZ,CAAA,cAAQ,KADI;AAEZ,CAAA,gBAAU;AAFE,CAAA;AADA,CAAA,GAAhB;;AAOA,CAAA;;;;;;AAnB0B,CAAA,MAwBpB,WAxBoB;AAAA,CAAA;;AA0BxB,CAAA,yBAAY,QAAZ,EAAsB,MAAtB,EAA6F;AAAA,CAAA,UAA/D,UAA+D,yDAAlD,EAAC,WAAW,OAAZ,EAAqB,YAAY,cAAjC,EAAkD;AAAA,CAAA;AAAA,CAAA,2FACrF,QADqF,EAC3E,EAAE,MAAF,CAAS,IAAT,EAAe,EAAf,EAAmB,OAAnB,EAA4B,MAA5B,CAD2E,EACtC,UADsC;AAE5F,CAAA;;AA5BuB,CAAA;AAAA,CAAA;AAAA,CAAA,gCA8Bd;AACR,CAAA,sFAAc,QAAd;AACD,CAAA;;AAED,CAAA;AACA,CAAA;;AAEA,CAAA;AACA,CAAA;;AAEA,CAAA;AACA,CAAA;;AAEA,CAAA;AACA,CAAA;;AA5CwB,CAAA;AAAA,CAAA;AAAA,CAAA,uCA6CA,MA7CA,EA6CQ;AAC9B,CAAA,eAAO,KAAK,IAAL,CAAU,YAAY;AAC3B,CAAA,cAAI,WAAW,EAAE,IAAF,CAAf;AACA,CAAA,cAAI,OAAO,SAAS,IAAT,CAAc,QAAd,CAAX;;AAEA,CAAA,cAAI,CAAC,IAAL,EAAW;AACT,CAAA,mBAAO,IAAI,WAAJ,CAAgB,QAAhB,EAA0B,MAA1B,CAAP;AACA,CAAA,qBAAS,IAAT,CAAc,QAAd,EAAwB,IAAxB;AACD,CAAA;AACF,CAAA,SARM,CAAP;AASD,CAAA;AAvDuB,CAAA;AAAA,CAAA;AAAA,CAAA,IAwBA,KAxBA;;AA0D1B,CAAA;;;;;;;AAKA,CAAA,IAAE,EAAF,CAAK,WAAL,IAAoB,YAAY,gBAAhC;AACA,CAAA,IAAE,EAAF,CAAK,WAAL,EAAkB,WAAlB,GAAgC,WAAhC;AACA,CAAA,IAAE,EAAF,CAAK,WAAL,EAAkB,UAAlB,GAA+B,YAAM;AACnC,CAAA,MAAE,EAAF,CAAK,WAAL,IAAoB,kBAApB;AACA,CAAA,WAAO,YAAY,gBAAnB;AACD,CAAA,GAHD;;AAKA,CAAA,SAAO,WAAP;AAED,CAAA,CAxEmB,CAwEjB,MAxEiB,CAApB,CA0EA;;CC1EA,IAAM,kBAAmB,UAAC,CAAD,EAAO;;AAE9B,CAAA;;;;;AAKA,CAAA,MAAM,UAAU;AACd,CAAA,qBAAiB,CAAC,cAAD;AADH,CAAA,GAAhB;;AAIA,CAAA;;;;;;AAX8B,CAAA,MAgBxB,eAhBwB;AAAA,CAAA;;AAkB5B,CAAA,6BAAY,QAAZ,EAAsB,MAAtB,EAA8B;AAAA,CAAA;;AAG5B,CAAA;AAH4B,CAAA,oGACtB,QADsB,EACZ,EAAE,MAAF,CAAS,IAAT,EAAe,OAAf,EAAwB,MAAxB,CADY;;AAI5B,CAAA,UAAI,MAAK,OAAL,EAAJ,EAAoB;AAClB,CAAA,cAAK,cAAL;AACD,CAAA;AAN2B,CAAA;AAO7B,CAAA;;AAzB2B,CAAA;AAAA,CAAA,IAgBA,SAhBA;;AA6B9B,CAAA,SAAO,eAAP;AAED,CAAA,CA/BuB,CA+BrB,MA/BqB,CAAxB,CAiCA;;CC1BA,IAAM,SAAU,UAAC,CAAD,EAAO;;AAErB,CAAA;;;;;AAKA,CAAA,MAAM,OAAO,QAAb;AACA,CAAA,MAAM,oBAAkB,IAAxB;AACA,CAAA,MAAM,uBAAoB,KAAK,MAAL,CAAY,CAAZ,EAAe,WAAf,KAA+B,KAAK,KAAL,CAAW,CAAX,CAAnD,CAAN;AACA,CAAA,MAAM,qBAAqB,EAAE,EAAF,CAAK,WAAL,CAA3B;;AAEA,CAAA,MAAM,UAAU;AACd,CAAA,qBAAiB,CAAC,6BAAD;AADH,CAAA,GAAhB;;AAIA,CAAA;;;;;;AAhBqB,CAAA,MAqBf,MArBe;AAAA,CAAA;;AAuBnB,CAAA,oBAAY,QAAZ,EAAsB,MAAtB,EAA8B;AAAA,CAAA;;AAK5B,CAAA;AAL4B,CAAA,2FACtB,QADsB,EACZ,EAAE,MAAF,CAAS,IAAT;AACd,CAAA;AACA,CAAA,aAFc,EAEL,MAFK,CADY;;AAM5B,CAAA,YAAK,WAAL;AAN4B,CAAA;AAO7B,CAAA;;AA9BkB,CAAA;AAAA,CAAA;AAAA,CAAA,gCAgCT;AACR,CAAA,iFAAc,QAAd;AACD,CAAA;AAlCkB,CAAA;AAAA,CAAA;AAAA,CAAA,8BAoCJ,QApCI,EAoCM;AACvB,CAAA,YAAI,SAAS,IAAT,CAAc,SAAd,MAA6B,QAAjC,EAA2C;AACzC,CAAA,iBAAO,IAAP;AACD,CAAA;AACD,CAAA,eAAO,KAAP;AACD,CAAA;AAzCkB,CAAA;AAAA,CAAA;AAAA,CAAA,kCA2CA,SA3CA,EA2CW,QA3CX,EA2CqB;AACtC,CAAA,aAAK,MAAL,CAAY,KAAK,QAAjB,EAA2B,KAAK,OAAL,CAAa,QAAb,CAA3B,EAAsD,SAAtD,2BAAqF,KAAK,QAAL,CAAc,QAAd,CAArF;AACD,CAAA;;AAED,CAAA;AACA,CAAA;;AAEA,CAAA;AACA,CAAA;;AAEA,CAAA;AACA,CAAA;;AAtDmB,CAAA;AAAA,CAAA;AAAA,CAAA,uCAuDK,MAvDL,EAuDa;AAC9B,CAAA,eAAO,KAAK,IAAL,CAAU,YAAY;AAC3B,CAAA,cAAI,WAAW,EAAE,IAAF,CAAf;AACA,CAAA,cAAI,OAAO,SAAS,IAAT,CAAc,QAAd,CAAX;;AAEA,CAAA,cAAI,CAAC,IAAL,EAAW;AACT,CAAA,mBAAO,IAAI,MAAJ,CAAW,QAAX,EAAqB,MAArB,CAAP;AACA,CAAA,qBAAS,IAAT,CAAc,QAAd,EAAwB,IAAxB;AACD,CAAA;AACF,CAAA,SARM,CAAP;AASD,CAAA;AAjEkB,CAAA;AAAA,CAAA;AAAA,CAAA,IAqBA,eArBA;;AAoErB,CAAA;;;;;;;AAKA,CAAA,IAAE,EAAF,CAAK,WAAL,IAAoB,OAAO,gBAA3B;AACA,CAAA,IAAE,EAAF,CAAK,WAAL,EAAkB,WAAlB,GAAgC,MAAhC;AACA,CAAA,IAAE,EAAF,CAAK,WAAL,EAAkB,UAAlB,GAA+B,YAAM;AACnC,CAAA,MAAE,EAAF,CAAK,WAAL,IAAoB,kBAApB;AACA,CAAA,WAAO,OAAO,gBAAd;AACD,CAAA,GAHD;;AAKA,CAAA,SAAO,MAAP;AAED,CAAA,CAlFc,CAkFZ,MAlFY,CAAf,CAoFA;;CC3FA,IAAM,SAAU,UAAC,CAAD,EAAO;;AAErB,CAAA;;;;;AAKA,CAAA,MAAM,OAAO,QAAb;AACA,CAAA,MAAM,oBAAkB,IAAxB;AACA,CAAA,MAAM,uBAAoB,KAAK,MAAL,CAAY,CAAZ,EAAe,WAAf,KAA+B,KAAK,KAAL,CAAW,CAAX,CAAnD,CAAN;AACA,CAAA,MAAM,qBAAqB,EAAE,EAAF,CAAK,WAAL,CAA3B;;AAEA,CAAA,MAAM,UAAU;AACd,CAAA;AADc,CAAA,GAAhB;;AAIA,CAAA;;;;;;AAhBqB,CAAA,MAqBf,MArBe;AAAA,CAAA;;AAuBnB,CAAA,oBAAY,QAAZ,EAAsB,MAAtB,EAA0F;AAAA,CAAA,UAA5D,UAA4D,yDAA/C,EAAC,WAAW,UAAZ,EAAwB,YAAY,QAApC,EAA+C;AAAA,CAAA;AAAA,CAAA,sFAClF,QADkF,EACxE,EAAE,MAAF,CAAS,IAAT,EAAe,EAAf,EAAmB,OAAnB,EAA4B,MAA5B,CADwE,EACnC,UADmC;AAExF,CAAA;AACD,CAAA;;AA1BkB,CAAA;AAAA,CAAA;AAAA,CAAA,gCA4BT;AACR,CAAA,iFAAc,QAAd;AACD,CAAA;;AAED,CAAA;AACA,CAAA;;AAEA,CAAA;AACA,CAAA;;AAEA,CAAA;AACA,CAAA;;AAvCmB,CAAA;AAAA,CAAA;AAAA,CAAA,uCAwCK,MAxCL,EAwCa;AAC9B,CAAA,eAAO,KAAK,IAAL,CAAU,YAAY;AAC3B,CAAA,cAAI,WAAW,EAAE,IAAF,CAAf;AACA,CAAA,cAAI,OAAO,SAAS,IAAT,CAAc,QAAd,CAAX;;AAEA,CAAA,cAAI,CAAC,IAAL,EAAW;AACT,CAAA,mBAAO,IAAI,MAAJ,CAAW,QAAX,EAAqB,MAArB,CAAP;AACA,CAAA,qBAAS,IAAT,CAAc,QAAd,EAAwB,IAAxB;AACD,CAAA;AACF,CAAA,SARM,CAAP;AASD,CAAA;AAlDkB,CAAA;AAAA,CAAA;AAAA,CAAA,IAqBA,QArBA;;AAqDrB,CAAA;;;;;;;AAKA,CAAA,IAAE,EAAF,CAAK,WAAL,IAAoB,OAAO,gBAA3B;AACA,CAAA,IAAE,EAAF,CAAK,WAAL,EAAkB,WAAlB,GAAgC,MAAhC;AACA,CAAA,IAAE,EAAF,CAAK,WAAL,EAAkB,UAAlB,GAA+B,YAAM;AACnC,CAAA,MAAE,EAAF,CAAK,WAAL,IAAoB,kBAApB;AACA,CAAA,WAAO,OAAO,gBAAd;AACD,CAAA,GAHD;;AAKA,CAAA,SAAO,MAAP;AAED,CAAA,CAnEc,CAmEZ,MAnEY,CAAf,CAqEA;;CC9DA,IAAM,OAAQ,UAAC,CAAD,EAAO;;AAEnB,CAAA;;;;;AAKA,CAAA,MAAM,OAAO,MAAb;AACA,CAAA,MAAM,oBAAkB,IAAxB;AACA,CAAA,MAAM,uBAAoB,KAAK,MAAL,CAAY,CAAZ,EAAe,WAAf,KAA+B,KAAK,KAAL,CAAW,CAAX,CAAnD,CAAN;AACA,CAAA,MAAM,qBAAqB,EAAE,EAAF,CAAK,WAAL,CAA3B;;AAEA,CAAA,MAAM,UAAU,EAAhB;;AAEA,CAAA;;;;;;AAdmB,CAAA,MAmBb,IAnBa;AAAA,CAAA;;AAqBjB,CAAA,kBAAY,QAAZ,EAAsB,MAAtB,EAA8B;AAAA,CAAA;AAAA,CAAA,oFACtB,QADsB,EACZ,EAAE,MAAF,CAAS,IAAT;AACd,CAAA;AACA,CAAA,aAFc,EAEL,MAFK,CADY;AAI7B,CAAA;;AAzBgB,CAAA;AAAA,CAAA;AAAA,CAAA,gCA2BW;AAAA,CAAA,YAApB,OAAoB,yDAAV,QAAU;;AAC1B,CAAA,+EAAc,OAAd;AACD,CAAA;AA7BgB,CAAA;AAAA,CAAA;AAAA,CAAA,8BA+BF,QA/BE,EA+BQ;AACvB,CAAA,YAAI,SAAS,IAAT,CAAc,MAAd,MAA0B,MAA9B,EAAsC;AACpC,CAAA,iBAAO,IAAP;AACD,CAAA;AACD,CAAA,eAAO,KAAP;AACD,CAAA;AApCgB,CAAA;AAAA,CAAA;AAAA,CAAA,kCAsCE,SAtCF,EAsCa,QAtCb,EAsCuB;AACtC,CAAA,aAAK,MAAL,CAAY,KAAK,QAAjB,EAA2B,KAAK,OAAL,CAAa,QAAb,CAA3B,EAAsD,SAAtD,2BAAqF,KAAK,QAAL,CAAc,QAAd,CAArF;AACD,CAAA;;AAED,CAAA;AACA,CAAA;;AAEA,CAAA;AACA,CAAA;;AAEA,CAAA;AACA,CAAA;;AAjDiB,CAAA;AAAA,CAAA;AAAA,CAAA,uCAkDO,MAlDP,EAkDe;AAC9B,CAAA,eAAO,KAAK,IAAL,CAAU,YAAY;AAC3B,CAAA,cAAI,WAAW,EAAE,IAAF,CAAf;AACA,CAAA,cAAI,OAAO,SAAS,IAAT,CAAc,QAAd,CAAX;;AAEA,CAAA,cAAI,CAAC,IAAL,EAAW;AACT,CAAA,mBAAO,IAAI,IAAJ,CAAS,QAAT,EAAmB,MAAnB,CAAP;AACA,CAAA,qBAAS,IAAT,CAAc,QAAd,EAAwB,IAAxB;AACD,CAAA;AACF,CAAA,SARM,CAAP;AASD,CAAA;AA5DgB,CAAA;AAAA,CAAA;AAAA,CAAA,IAmBA,eAnBA;;AA+DnB,CAAA;;;;;;;AAKA,CAAA,IAAE,EAAF,CAAK,WAAL,IAAoB,KAAK,gBAAzB;AACA,CAAA,IAAE,EAAF,CAAK,WAAL,EAAkB,WAAlB,GAAgC,IAAhC;AACA,CAAA,IAAE,EAAF,CAAK,WAAL,EAAkB,UAAlB,GAA+B,YAAM;AACnC,CAAA,MAAE,EAAF,CAAK,WAAL,IAAoB,kBAApB;AACA,CAAA,WAAO,KAAK,gBAAZ;AACD,CAAA,GAHD;;AAKA,CAAA,SAAO,IAAP;AAED,CAAA,CA7EY,CA6EV,MA7EU,CAAb,CA+EA;;CC/EA,IAAM,WAAY,UAAC,CAAD,EAAO;;AAEvB,CAAA;;;;;AAKA,CAAA,MAAM,OAAO,UAAb;AACA,CAAA,MAAM,oBAAkB,IAAxB;AACA,CAAA,MAAM,uBAAoB,KAAK,MAAL,CAAY,CAAZ,EAAe,WAAf,KAA+B,KAAK,KAAL,CAAW,CAAX,CAAnD,CAAN;AACA,CAAA,MAAM,qBAAqB,EAAE,EAAF,CAAK,WAAL,CAA3B;;AAEA,CAAA,MAAM,UAAU,EAAhB;;AAEA,CAAA;;;;;;AAduB,CAAA,MAmBjB,QAnBiB;AAAA,CAAA;;AAqBrB,CAAA,sBAAY,QAAZ,EAAsB,MAAtB,EAA8B;AAAA,CAAA;AAAA,CAAA,wFACtB,QADsB,EACZ,EAAE,MAAF,CAAS,IAAT;AACd,CAAA;AACA,CAAA,aAFc,EAEL,MAFK,CADY;AAI7B,CAAA;;AAzBoB,CAAA;AAAA,CAAA;AAAA,CAAA,gCA2BX;AACR,CAAA,mFAAc,QAAd;AACD,CAAA;AA7BoB,CAAA;AAAA,CAAA;AAAA,CAAA,8BA+BN,QA/BM,EA+BI;AACvB,CAAA,YAAI,SAAS,IAAT,CAAc,SAAd,MAA6B,UAAjC,EAA6C;AAC3C,CAAA,iBAAO,IAAP;AACD,CAAA;AACD,CAAA,eAAO,KAAP;AACD,CAAA;AApCoB,CAAA;AAAA,CAAA;AAAA,CAAA,kCAsCF,SAtCE,EAsCS,QAtCT,EAsCmB;AACtC,CAAA,aAAK,MAAL,CAAY,KAAK,QAAjB,EAA2B,KAAK,OAAL,CAAa,QAAb,CAA3B,EAAsD,SAAtD,2BAAqF,KAAK,QAAL,CAAc,QAAd,CAArF;AACD,CAAA;;AAED,CAAA;AACA,CAAA;;AAEA,CAAA;AACA,CAAA;;AAEA,CAAA;AACA,CAAA;;AAjDqB,CAAA;AAAA,CAAA;AAAA,CAAA,uCAkDG,MAlDH,EAkDW;AAC9B,CAAA,eAAO,KAAK,IAAL,CAAU,YAAY;AAC3B,CAAA,cAAI,WAAW,EAAE,IAAF,CAAf;AACA,CAAA,cAAI,OAAO,SAAS,IAAT,CAAc,QAAd,CAAX;;AAEA,CAAA,cAAI,CAAC,IAAL,EAAW;AACT,CAAA,mBAAO,IAAI,QAAJ,CAAa,QAAb,EAAuB,MAAvB,CAAP;AACA,CAAA,qBAAS,IAAT,CAAc,QAAd,EAAwB,IAAxB;AACD,CAAA;AACF,CAAA,SARM,CAAP;AASD,CAAA;AA5DoB,CAAA;AAAA,CAAA;AAAA,CAAA,IAmBA,eAnBA;;AA+DvB,CAAA;;;;;;;AAKA,CAAA,IAAE,EAAF,CAAK,WAAL,IAAoB,SAAS,gBAA7B;AACA,CAAA,IAAE,EAAF,CAAK,WAAL,EAAkB,WAAlB,GAAgC,QAAhC;AACA,CAAA,IAAE,EAAF,CAAK,WAAL,EAAkB,UAAlB,GAA+B,YAAM;AACnC,CAAA,MAAE,EAAF,CAAK,WAAL,IAAoB,kBAApB;AACA,CAAA,WAAO,SAAS,gBAAhB;AACD,CAAA,GAHD;;AAKA,CAAA,SAAO,QAAP;AAED,CAAA,CA7EgB,CA6Ed,MA7Ec,CAAjB,CA+EA;;CCrFA,IAAM,aAAc,UAAC,CAAD,EAAO;;AAEzB,CAAA,MAAM,YAAY;AAChB,CAAA,YAAQ,mBADQ;AAEhB,CAAA,eAAW,sBAFK;AAGhB,CAAA;AAHgB,CAAA,GAAlB;;AAMA,CAAA,MAAM,WAAW;AACf,CAAA,kBAAY,UAAU,MADP;AAEf,CAAA,qBAAe,UAAU,SAFV;AAGf,CAAA,oBAAc,UAAU;AAHT,CAAA,GAAjB;;AAMA,CAAA,MAAM,UAAU;AACd,CAAA,YAAQ;AACN,CAAA,cAAQ,IADF;AAEN,CAAA,gBAAU,IAFJ;AAGN,CAAA,iCAAyB,UAAU,MAAnC;AAHM,CAAA,KADM;AAMd,CAAA,cAAU;AACR,CAAA,cAAQ,IADA;AAER,CAAA,gBAAU,IAFF;AAGR,CAAA,iCAAyB,UAAU,QAAnC;AAHQ,CAAA;AANI,CAAA,GAAhB;;AAaA,CAAA;;;;;;AA3ByB,CAAA,MAgCnB,UAhCmB;AAAA,CAAA;;AAkCvB,CAAA,wBAAY,QAAZ,EAAsB,MAAtB,EAA+C;AAAA,CAAA,UAAjB,UAAiB,yDAAJ,EAAI;AAAA,CAAA;;AAAA,CAAA,+FACvC,QADuC,EAC7B,EAAE,MAAF,CAAS,IAAT,EAAe,EAAf,EAAmB,OAAnB,EAA4B,MAA5B,CAD6B,EACQ,UADR;;AAG7C,CAAA,YAAK,UAAL,GAAkB,MAAK,aAAL,CAAmB,IAAnB,CAAlB;AACA,CAAA,YAAK,SAAL,GAAiB,MAAK,eAAL,EAAjB;AACA,CAAA,YAAK,aAAL;AAL6C,CAAA;AAM9C,CAAA;;AAxCsB,CAAA;AAAA,CAAA;AAAA,CAAA,8BA0Cf,OA1Ce,EA0CN;AACf,CAAA,qFAAc,OAAd;AACA,CAAA,aAAK,UAAL,GAAkB,IAAlB;AACA,CAAA,aAAK,SAAL,GAAiB,IAAjB;AACD,CAAA;;AAED,CAAA;AACA,CAAA;;AAEA,CAAA;;AAnDuB,CAAA;AAAA,CAAA;AAAA,CAAA,sCAoDP;AACd,CAAA,YAAI,KAAK,KAAK,UAAL,CAAgB,KAAhB,CAAT;AACA,CAAA,YAAI,OAAO,SAAP,IAAoB,GAAG,MAAH,KAAc,CAAtC,EAAyC;AACvC,CAAA,cAAI,KAAK,MAAL,CAAY,MAAZ,CAAmB,MAAvB,EAA+B;AAC7B,CAAA,iBAAK,UAAL,CAAgB,IAAhB,CAAqB,KAAK,MAAL,CAAY,MAAZ,CAAmB,QAAxC;AACD,CAAA;;AAED,CAAA,eAAK,KAAK,UAAL,CAAgB,KAAK,MAAL,CAAY,MAAZ,CAAmB,QAAnC,CAAL;AACD,CAAA;;AAED,CAAA,eAAO,EAAP;AACD,CAAA;;AAED,CAAA;;AAjEuB,CAAA;AAAA,CAAA;AAAA,CAAA,mCAkEkC;AAAA,CAAA,YAA9C,UAA8C,yDAAjC,IAAiC;AAAA,CAAA,YAA3B,OAA2B,yDAAjB,KAAK,UAAY;;AACvD,CAAA,YAAI,SAAS,QAAQ,OAAR,CAAgB,SAAS,MAAzB,CAAb;AACA,CAAA,YAAI,OAAO,MAAP,KAAkB,CAAlB,IAAuB,UAA3B,EAAuC;AACrC,CAAA,YAAE,KAAF,qBAA0B,SAAS,MAAnC,aAAiD,KAAK,QAAL,CAAc,OAAd,CAAjD;AACD,CAAA;AACD,CAAA,eAAO,MAAP;AACD,CAAA;;AAED,CAAA;;AA1EuB,CAAA;AAAA,CAAA;AAAA,CAAA,wCA2EL;AAChB,CAAA,YAAI,KAAK,KAAK,YAAL,CAAkB,KAAlB,CAAT;AACA,CAAA,YAAI,OAAO,SAAP,IAAoB,GAAG,MAAH,KAAc,CAAtC,EAAyC;AACvC,CAAA,cAAI,KAAK,MAAL,CAAY,QAAZ,CAAqB,MAAzB,EAAiC;AAC/B,CAAA,iBAAK,UAAL,CAAgB,MAAhB,CAAuB,KAAK,MAAL,CAAY,QAAZ,CAAqB,QAA5C;AACD,CAAA;;AAED,CAAA,eAAK,KAAK,YAAL,CAAkB,KAAK,MAAL,CAAY,QAAZ,CAAqB,QAAvC,CAAL;AACD,CAAA;;AAED,CAAA,eAAO,EAAP;AACD,CAAA;;AAED,CAAA;;AAxFuB,CAAA;AAAA,CAAA;AAAA,CAAA,qCAyFoC;AAAA,CAAA,YAA9C,UAA8C,yDAAjC,IAAiC;AAAA,CAAA,YAA3B,OAA2B,yDAAjB,KAAK,UAAY;;AACzD,CAAA,YAAI,WAAW,QAAQ,IAAR,QAAkB,SAAS,QAA3B,CAAf;AACA,CAAA,YAAI,SAAS,MAAT,KAAoB,CAApB,IAAyB,UAA7B,EAAyC;AACvC,CAAA,YAAE,KAAF,qBAA0B,SAAS,QAAnC,aAAmD,KAAK,QAAL,CAAc,OAAd,CAAnD;AACD,CAAA;AACD,CAAA,eAAO,QAAP;AACD,CAAA;;AAED,CAAA;;AAjGuB,CAAA;AAAA,CAAA;AAAA,CAAA,sCAkGmC;AAAA,CAAA,YAA5C,UAA4C,yDAA/B,IAA+B;AAAA,CAAA,YAAzB,OAAyB,yDAAf,KAAK,QAAU;;AACxD,CAAA,YAAI,YAAY,QAAQ,OAAR,CAAgB,SAAS,SAAzB,CAAhB;AACA,CAAA,YAAI,UAAU,MAAV,KAAqB,CAArB,IAA0B,UAA9B,EAA0C;AACxC,CAAA,YAAE,KAAF,qBAA0B,SAAS,SAAnC,aAAoD,KAAK,QAAL,CAAc,OAAd,CAApD;AACD,CAAA;AACD,CAAA,eAAO,SAAP;AACD,CAAA;;AAED,CAAA;AACA,CAAA;;AAEA,CAAA;AACA,CAAA;;AA9GuB,CAAA;AAAA,CAAA;AAAA,CAAA,IAgCA,IAhCA;;AAkHzB,CAAA,SAAO,UAAP;AAED,CAAA,CApHkB,CAoHhB,MApHgB,CAAnB,CAsHA;;CCvHA,IAAM,SAAU,UAAC,CAAD,EAAO;;AAErB,CAAA;;;;;AAKA,CAAA,MAAM,OAAO,QAAb;AACA,CAAA,MAAM,oBAAkB,IAAxB;AACA,CAAA,MAAM,uBAAoB,KAAK,MAAL,CAAY,CAAZ,EAAe,WAAf,KAA+B,KAAK,KAAL,CAAW,CAAX,CAAnD,CAAN;AACA,CAAA,MAAM,qBAAqB,EAAE,EAAF,CAAK,WAAL,CAA3B;;AAEA,CAAA,MAAM,WAAW;AACf,CAAA,YAAQ;AACR,CAAA;AACA,CAAA;AAHe,CAAA,GAAjB;;AAMA,CAAA,MAAM,YAAY;AAChB,CAAA,QAAI,IADY;AAEhB,CAAA,8BAFgB;AAGhB,CAAA,gCAHgB;AAIhB,CAAA,YAAQ,mBAJQ;AAKhB,CAAA,eAAW;AALK,CAAA,GAAlB;;AAQA,CAAA,MAAM,UAAU;AACd,CAAA;AADc,CAAA,GAAhB;;AAIA,CAAA;;;;;;AA9BqB,CAAA,MAmCf,MAnCe;AAAA,CAAA;;AAqCnB,CAAA;AACA,CAAA;AACA,CAAA,oBAAY,QAAZ,EAAsB,MAAtB,EAA8B;AAAA,CAAA;;AAAA,CAAA,2FACtB,QADsB,EACZ,EAAE,MAAF,CAAS,IAAT,EAAe,EAAf,EAAmB,OAAnB,EAA4B,MAA5B,CADY;;AAG5B,CAAA,YAAK,QAAL,GAAgB,qCAAmC,MAAK,QAAL,CAAc,CAAd,EAAiB,EAApD,iDAAkG,MAAK,QAAL,CAAc,CAAd,EAAiB,EAAnH,QAAhB;;AAEA,CAAA,YAAK,QAAL;;AAEA,CAAA;AACA,CAAA,YAAK,SAAL,CAAe,OAAf,CAAuB,UAAC,EAAD,EAAQ;AAC7B,CAAA,YAAI,GAAG,KAAH,KAAa,SAAS,MAA1B,EAAkC;AAChC,CAAA,gBAAK,IAAL;AACD,CAAA;AACF,CAAA,OAJD,EAIG,KAJH,CAIS,YAAM;AACb,CAAA,cAAK,IAAL;AACD,CAAA,OAND;;AAQA,CAAA;AACA,CAAA,YAAK,QAAL,CAAc,OAAd,CAAsB,UAAC,EAAD,EAAQ;AAC5B,CAAA,YAAI,GAAG,KAAH,KAAa,SAAS,MAA1B,EAAkC;AAChC,CAAA,gBAAK,IAAL;AACD,CAAA;AACF,CAAA,OAJD;;AAMA,CAAA;AACA,CAAA,YAAK,QAAL,CAAc,KAAd,CAAoB,YAAM;AACxB,CAAA,cAAK,MAAL;AACD,CAAA,OAFD;AAxB4B,CAAA;AA2B7B,CAAA;;AAlEkB,CAAA;AAAA,CAAA;AAAA,CAAA,gCAoET;AACR,CAAA,iFAAc,QAAd;AACA,CAAA,aAAK,QAAL,GAAgB,IAAhB;AACD,CAAA;AAvEkB,CAAA;AAAA,CAAA;AAAA,CAAA,+BAyEV;AACP,CAAA,YAAI,KAAK,OAAL,EAAJ,EAAoB;AAClB,CAAA,eAAK,IAAL;AACD,CAAA,SAFD,MAEO;AACL,CAAA,eAAK,IAAL;AACD,CAAA;AACF,CAAA;AA/EkB,CAAA;AAAA,CAAA;AAAA,CAAA,6BAiFZ;AACL,CAAA,YAAI,KAAK,eAAL,MAA0B,KAAK,OAAL,EAA9B,EAA8C;AAC5C,CAAA;AACD,CAAA;;AAED,CAAA,aAAK,QAAL,CAAc,IAAd,CAAmB,eAAnB,EAAoC,IAApC;AACA,CAAA,aAAK,QAAL,CAAc,IAAd,CAAmB,eAAnB,EAAoC,IAApC;AACA,CAAA,aAAK,QAAL,CAAc,IAAd,CAAmB,aAAnB,EAAkC,KAAlC;;AAEA,CAAA;AACA,CAAA,YAAI,WAAW,KAAK,QAAL,CAAc,IAAd,CAAmB,KAAK,MAAL,CAAY,aAA/B,CAAf;AACA,CAAA,YAAI,SAAS,MAAT,GAAkB,CAAtB,EAAyB;AACvB,CAAA,mBAAS,KAAT,GAAiB,KAAjB;AACD,CAAA;;AAED,CAAA,aAAK,UAAL,CAAgB,QAAhB,CAAyB,UAAU,SAAnC;AACA,CAAA;AACA,CAAA,aAAK,SAAL,CAAe,QAAf,CAAwB,UAAU,EAAlC;AACD,CAAA;AAnGkB,CAAA;AAAA,CAAA;AAAA,CAAA,6BAqGZ;AACL,CAAA,YAAI,CAAC,KAAK,OAAL,EAAL,EAAqB;AACnB,CAAA;AACD,CAAA;;AAED,CAAA,aAAK,QAAL,CAAc,IAAd,CAAmB,eAAnB,EAAoC,KAApC;AACA,CAAA,aAAK,QAAL,CAAc,IAAd,CAAmB,eAAnB,EAAoC,KAApC;AACA,CAAA,aAAK,QAAL,CAAc,IAAd,CAAmB,aAAnB,EAAkC,IAAlC;;AAEA,CAAA,aAAK,UAAL,CAAgB,WAAhB,CAA4B,UAAU,SAAtC;AACA,CAAA,aAAK,SAAL,CAAe,WAAf,CAA2B,UAAU,EAArC;AACD,CAAA;;AAGD,CAAA;AACA,CAAA;;AApHmB,CAAA;AAAA,CAAA;AAAA,CAAA,gCAsHT;AACR,CAAA,eAAO,KAAK,UAAL,CAAgB,QAAhB,CAAyB,UAAU,SAAnC,CAAP;AACD,CAAA;AAxHkB,CAAA;AAAA,CAAA;AAAA,CAAA,wCA0HD;AAChB,CAAA,eAAO,KAAK,UAAL,CAAgB,QAAhB,CAAyB,UAAU,UAAnC,CAAP;AACD,CAAA;AA5HkB,CAAA;AAAA,CAAA;AAAA,CAAA,iCA8HR;AACT,CAAA,YAAI,SAAS,KAAK,OAAL,EAAb;AACA,CAAA,aAAK,QAAL,CAAc,IAAd,CAAmB,eAAnB,EAAoC,MAApC;AACA,CAAA,aAAK,QAAL,CAAc,IAAd,CAAmB,aAAnB,EAAkC,MAAlC;;AAEA,CAAA,YAAI,KAAK,QAAL,CAAc,MAAlB,EAA0B;AACxB,CAAA,eAAK,QAAL,CAAc,IAAd,CAAmB,eAAnB,EAAoC,MAApC;AACD,CAAA;AACF,CAAA;;AAED,CAAA;AACA,CAAA;;AAzImB,CAAA;AAAA,CAAA;AAAA,CAAA,uCA0IK,MA1IL,EA0Ia;AAC9B,CAAA,eAAO,KAAK,IAAL,CAAU,YAAY;AAC3B,CAAA,cAAI,WAAW,EAAE,IAAF,CAAf;AACA,CAAA,cAAI,OAAO,SAAS,IAAT,CAAc,QAAd,CAAX;;AAEA,CAAA,cAAI,CAAC,IAAL,EAAW;AACT,CAAA,mBAAO,IAAI,MAAJ,CAAW,QAAX,EAAqB,MAArB,CAAP;AACA,CAAA,qBAAS,IAAT,CAAc,QAAd,EAAwB,IAAxB;AACD,CAAA;AACF,CAAA,SARM,CAAP;AASD,CAAA;AApJkB,CAAA;AAAA,CAAA;AAAA,CAAA,IAmCA,UAnCA;;AAuJrB,CAAA;;;;;;;AAKA,CAAA,IAAE,EAAF,CAAK,WAAL,IAAoB,OAAO,gBAA3B;AACA,CAAA,IAAE,EAAF,CAAK,WAAL,EAAkB,WAAlB,GAAgC,MAAhC;AACA,CAAA,IAAE,EAAF,CAAK,WAAL,EAAkB,UAAlB,GAA+B,YAAM;AACnC,CAAA,MAAE,EAAF,CAAK,WAAL,IAAoB,kBAApB;AACA,CAAA,WAAO,OAAO,gBAAd;AACD,CAAA,GAHD;;AAKA,CAAA,SAAO,MAAP;AAED,CAAA,CArKc,CAqKZ,MArKY,CAAf,CAuKA;;CCvKA,IAAM,UAAW,UAAC,CAAD,EAAO;;AAEtB,CAAA;;;;;AAKA,CAAA,MAAM,OAAO,SAAb;AACA,CAAA,MAAM,oBAAkB,IAAxB;AACA,CAAA,MAAM,uBAAoB,KAAK,MAAL,CAAY,CAAZ,EAAe,WAAf,KAA+B,KAAK,KAAL,CAAW,CAAX,CAAnD,CAAN;AACA,CAAA,MAAM,qBAAqB,EAAE,EAAF,CAAK,WAAL,CAA3B;;AAEA,CAAA,MAAM,YAAY;AAChB,CAAA,eAAW,kBADK;AAEhB,CAAA,eAAW;AAFK,CAAA,GAAlB;;AAKA,CAAA,MAAM,WAAW;AACf,CAAA,qBAAe,UAAU,SADV;AAEf,CAAA,qBAAe,UAAU,SAFV;AAAA,CAAA,GAAjB;;AAMA,CAAA,MAAM,UAAU;AACd,CAAA,eAAW;AACT,CAAA,kCAAyB,UAAU,SAAnC;AADS,CAAA,KADG;AAId,CAAA,eAAW;AACT,CAAA,kCAAyB,UAAU,SAAnC;AADS,CAAA,KAJG;AAOd,CAAA,aAAS;AACP,CAAA,aAAO,sBADA;AAEP,CAAA,WAAK;AAFE,CAAA,KAPK;AAWd,CAAA,yBAAqB,gEAXP;AAYd,CAAA,cAAU;AAZI,CAAA,GAAhB;;AAeA,CAAA;;;;;;AAtCsB,CAAA,MA2ChB,OA3CgB;AA6CpB,CAAA,qBAAY,QAAZ,EAAsB,MAAtB,EAA8B;AAAA,CAAA;;AAAA,CAAA;;AAC5B,CAAA,WAAK,QAAL,GAAgB,QAAhB;;AAEA,CAAA;AACA,CAAA,WAAK,MAAL,GAAc,EAAE,MAAF,CAAS,IAAT,EAAe,EAAf,EAAmB,OAAnB,EAA4B,MAA5B,CAAd;;AAEA,CAAA;AACA,CAAA,WAAK,QAAL,CAAc,EAAd,CAAiB,KAAK,MAAL,CAAY,OAAZ,CAAoB,KAArC,EAA4C,UAAC,KAAD,EAAW;AACrD,CAAA,cAAK,cAAL,CAAoB,KAApB;AACD,CAAA,OAFD;AAGD,CAAA;;AAvDmB,CAAA;AAAA,CAAA;AAAA,CAAA,gCA0DV;AACR,CAAA,aAAK,QAAL,CAAc,IAAd,CAAmB,QAAnB,EAA6B,IAA7B;AACA,CAAA,aAAK,QAAL,GAAgB,IAAhB;AACA,CAAA,aAAK,UAAL,GAAkB,IAAlB;AACA,CAAA,aAAK,UAAL,GAAkB,IAAlB;AACA,CAAA,aAAK,MAAL,GAAc,IAAd;AACD,CAAA;;AAED,CAAA;AACA,CAAA;;AAnEoB,CAAA;AAAA,CAAA;AAAA,CAAA,qCAqEL,KArEK,EAqEE;AAAA,CAAA;;AAEpB,CAAA;AACA,CAAA,YAAI,KAAK,QAAL,MAAmB,MAAM,IAAN,KAAe,WAAtC,EAAmD;AACjD,CAAA;AACD,CAAA;;AAED,CAAA;AACA,CAAA,aAAK,sBAAL;;AAEA,CAAA;AACA,CAAA,YAAI,OAAO,KAAK,QAAL,CAAc,KAAd,CAAX;AACA,CAAA,YAAI,OAAO,KAAK,QAAL,CAAc,KAAd,CAAX;;AAEA,CAAA;AACA,CAAA,YAAI,CAAC,IAAD,IAAS,CAAC,IAAd,EAAoB;AAClB,CAAA;AACD,CAAA;;AAED,CAAA;AACA,CAAA,aAAK,UAAL,CAAgB,GAAhB,CAAoB;AAClB,CAAA,gBAAM,IADY;AAElB,CAAA,eAAK,IAFa;AAGlB,CAAA,8BAAoB,KAAK,gBAAL;AAHF,CAAA,SAApB;;AAMA,CAAA;AACA,CAAA,aAAK,sBAAL;;AAEA,CAAA;AACA,CAAA,aAAK,QAAL;;AAEA,CAAA;AACA,CAAA,mBAAW,YAAM;AACf,CAAA,iBAAK,SAAL;AACD,CAAA,SAFD,EAEG,KAAK,MAAL,CAAY,QAFf;;AAIA,CAAA;AACA,CAAA,aAAK,QAAL,CAAc,EAAd,CAAiB,KAAK,MAAL,CAAY,OAAZ,CAAoB,GAArC,EAA0C,YAAM;AAC9C,CAAA,cAAI,OAAK,UAAT,EAAqB;AAAE,CAAA;AACrB,CAAA,mBAAK,UAAL,CAAgB,IAAhB,CAAqB,WAArB,EAAkC,KAAlC;;AAEA,CAAA,gBAAI,OAAK,UAAL,CAAgB,IAAhB,CAAqB,WAArB,MAAsC,KAA1C,EAAiD;AAC/C,CAAA,qBAAK,SAAL;AACD,CAAA;AACF,CAAA;AACF,CAAA,SARD;AASD,CAAA;AApHmB,CAAA;AAAA,CAAA;AAAA,CAAA,+CAsHK;AACvB,CAAA,YAAI,CAAC,KAAK,UAAN,IAAoB,CAAC,KAAK,UAAL,CAAgB,MAAjB,GAA0B,CAAlD,EAAqD;AACnD,CAAA,eAAK,QAAL,CAAc,MAAd,CAAqB,KAAK,MAAL,CAAY,SAAZ,CAAsB,QAA3C;AACA,CAAA,eAAK,UAAL,GAAkB,KAAK,QAAL,CAAc,IAAd,CAAmB,SAAS,SAA5B,CAAlB;AACD,CAAA;;AAED,CAAA;AACA,CAAA,aAAK,UAAL,CAAgB,MAAhB,CAAuB,KAAK,MAAL,CAAY,SAAZ,CAAsB,QAA7C;AACA,CAAA,aAAK,UAAL,GAAkB,KAAK,UAAL,CAAgB,IAAhB,CAAqB,SAAS,SAA9B,CAAlB;AACD,CAAA;;AAED,CAAA;;AAjIoB,CAAA;AAAA,CAAA;AAAA,CAAA,+CAkIK;AACvB,CAAA,eAAO,OAAO,gBAAP,CAAwB,KAAK,UAAL,CAAgB,CAAhB,CAAxB,EAA4C,OAAnD;AACD,CAAA;;AAGD,CAAA;;;;AAvIoB,CAAA;AAAA,CAAA;AAAA,CAAA,+BA0IX,KA1IW,EA0IJ;AACd,CAAA,YAAI,gBAAgB,KAAK,UAAL,CAAgB,MAAhB,EAApB;;AAEA,CAAA,YAAI,SAAS,IAAb;AACA,CAAA,YAAI,CAAC,KAAK,QAAL,EAAL,EAAsB;AACpB,CAAA;AACA,CAAA,mBAAS,MAAM,KAAN,GAAc,cAAc,IAArC;AACD,CAAA,SAHD,MAGO;AACL,CAAA;AACA,CAAA;AACA,CAAA,kBAAQ,MAAM,aAAd;;AAEA,CAAA,cAAI,MAAM,OAAN,CAAc,MAAd,KAAyB,CAA7B,EAAgC;AAC9B,CAAA,qBAAS,MAAM,OAAN,CAAc,CAAd,EAAiB,KAAjB,GAAyB,cAAc,IAAhD;AACD,CAAA,WAFD,MAEO;AACL,CAAA,qBAAS,KAAT;AACD,CAAA;AACF,CAAA;;AAED,CAAA,eAAO,MAAP;AACD,CAAA;;AAED,CAAA;;;;AAhKoB,CAAA;AAAA,CAAA;AAAA,CAAA,+BAmKX,KAnKW,EAmKJ;AACd,CAAA,YAAI,kBAAkB,KAAK,UAAL,CAAgB,MAAhB,EAAtB;AACA,CAAA,YAAI,SAAS,IAAb;;AAEA,CAAA,YAAI,CAAC,KAAK,QAAL,EAAL,EAAsB;AACpB,CAAA;;;AAGA,CAAA,mBAAS,MAAM,KAAN,GAAc,gBAAgB,GAAvC;AACD,CAAA,SALD,MAKO;AACL,CAAA;;;;AAIA,CAAA,kBAAQ,MAAM,aAAd;;AAEA,CAAA,cAAI,MAAM,OAAN,CAAc,MAAd,KAAyB,CAA7B,EAAgC;AAC9B,CAAA,qBAAS,MAAM,OAAN,CAAc,CAAd,EAAiB,KAAjB,GAAyB,gBAAgB,GAAlD;AACD,CAAA,WAFD,MAEO;AACL,CAAA,qBAAS,KAAT;AACD,CAAA;AACF,CAAA;;AAED,CAAA,eAAO,MAAP;AACD,CAAA;;AAED,CAAA;;;;AA7LoB,CAAA;AAAA,CAAA;AAAA,CAAA,yCAgMD;AACjB,CAAA,YAAI,QAAQ,KAAK,QAAL,CAAc,IAAd,CAAmB,cAAnB,IAAqC,KAAK,QAAL,CAAc,IAAd,CAAmB,cAAnB,CAArC,GAA0E,OAAO,gBAAP,CAAwB,KAAK,QAAL,CAAc,CAAd,CAAxB,EAA0C,KAAhI;AACA,CAAA,eAAO,KAAP;AACD,CAAA;;AAED,CAAA;;;;AArMoB,CAAA;AAAA,CAAA;AAAA,CAAA,iCAwMT;AACT,CAAA,eAAO,KAAK,MAAL,CAAY,mBAAZ,CAAgC,IAAhC,CAAqC,UAAU,SAA/C,CAAP;AACD,CAAA;;AAED,CAAA;;;;AA5MoB,CAAA;AAAA,CAAA;AAAA,CAAA,kCA+MR;AACV,CAAA,YAAI,KAAK,UAAT,EAAqB;AAAE,CAAA;AACrB,CAAA,eAAK,UAAL,CAAgB,IAAhB,CAAqB,WAArB,EAAkC,KAAlC;;AAEA,CAAA,cAAI,KAAK,UAAL,CAAgB,IAAhB,CAAqB,WAArB,MAAsC,KAA1C,EAAiD;AAC/C,CAAA,iBAAK,SAAL,CAAe,KAAK,UAApB;AACD,CAAA;AACF,CAAA;AACF,CAAA;;AAED,CAAA;;;;AAzNoB,CAAA;AAAA,CAAA;AAAA,CAAA,kCA4NR;AAAA,CAAA;;AACV,CAAA,aAAK,UAAL,CAAgB,GAAhB;;AAEA,CAAA,YAAI,KAAK,sBAAL,EAAJ,EAAmC;AACjC,CAAA,eAAK,UAAL,CAAgB,QAAhB,CAAyB,YAAzB;AACD,CAAA,SAFD,MAEO;AACL,CAAA,eAAK,UAAL,CAAgB,OAAhB,CAAwB,EAAC,SAAS,CAAV,EAAxB,EAAsC,GAAtC,EAA2C,YAAM;AAC/C,CAAA,mBAAK,UAAL,CAAgB,OAAhB,CAAwB,eAAxB;AACD,CAAA,WAFD;AAGD,CAAA;;AAED,CAAA,aAAK,UAAL,CAAgB,EAAhB,CAAmB,KAAK,qBAAL,EAAnB,EAAiD,YAAM;AACrD,CAAA,cAAI,OAAK,UAAT,EAAqB;AACnB,CAAA,mBAAK,UAAL,CAAgB,MAAhB;AACA,CAAA,mBAAK,UAAL,GAAkB,IAAlB;AACD,CAAA;AACF,CAAA,SALD;AAMD,CAAA;;AAED,CAAA;;;;AA/OoB,CAAA;AAAA,CAAA;AAAA,CAAA,iCAkPT;AAAA,CAAA;;AACT,CAAA,YAAI,OAAO,KAAK,WAAL,EAAX;;AAEA,CAAA,YAAI,KAAK,sBAAL,EAAJ,EAAmC;AACjC,CAAA,eAAK,UAAL,CACG,GADH,CACO;AACH,CAAA,wCAA0B,IAA1B,MADG;AAEH,CAAA,yCAA2B,IAA3B,MAFG;AAGH,CAAA,4CAA8B,IAA9B,MAHG;AAIH,CAAA,kCAAoB,IAApB;AAJG,CAAA,WADP,EAOG,QAPH,CAOY,WAPZ,EAQG,IARH,CAQQ,WARR,EAQqB,IARrB,EASG,IATH,CASQ,WATR,EASqB,IATrB;AAUD,CAAA,SAXD,MAWO;AACL,CAAA,eAAK,UAAL,CAAgB,OAAhB,CAAwB;AACtB,CAAA,mBAAO,KAAK,GAAL,CAAS,KAAK,QAAL,CAAc,UAAd,EAAT,EAAqC,KAAK,QAAL,CAAc,WAAd,EAArC,IAAoE,CADrD;AAEtB,CAAA,oBAAQ,KAAK,GAAL,CAAS,KAAK,QAAL,CAAc,UAAd,EAAT,EAAqC,KAAK,QAAL,CAAc,WAAd,EAArC,IAAoE,CAFtD;AAGtB,CAAA,2BAAe,KAAK,GAAL,CAAS,KAAK,QAAL,CAAc,UAAd,EAAT,EAAqC,KAAK,QAAL,CAAc,WAAd,EAArC,IAAqE,CAAC,CAH/D;AAItB,CAAA,0BAAc,KAAK,GAAL,CAAS,KAAK,QAAL,CAAc,UAAd,EAAT,EAAqC,KAAK,QAAL,CAAc,WAAd,EAArC,IAAqE,CAAC,CAJ9D;AAKtB,CAAA,qBAAS;AALa,CAAA,WAAxB,EAMG,KAAK,MAAL,CAAY,QANf,EAMyB,YAAM;AAC7B,CAAA,mBAAK,UAAL,CAAgB,OAAhB,CAAwB,eAAxB;AACD,CAAA,WARD;AASD,CAAA;AACF,CAAA;;AAED,CAAA;;;;AA7QoB,CAAA;AAAA,CAAA;AAAA,CAAA,oCAgRN;AACZ,CAAA,eAAQ,KAAK,GAAL,CAAS,KAAK,QAAL,CAAc,UAAd,EAAT,EAAqC,KAAK,QAAL,CAAc,WAAd,EAArC,IAAoE,KAAK,UAAL,CAAgB,UAAhB,EAArE,GAAqG,GAA5G;AACD,CAAA;;AAED,CAAA;AACA,CAAA;;AArRoB,CAAA;AAAA,CAAA;AAAA,CAAA,uCAuRI,MAvRJ,EAuRY;AAC9B,CAAA,eAAO,KAAK,IAAL,CAAU,YAAY;AAC3B,CAAA,cAAI,WAAW,EAAE,IAAF,CAAf;AACA,CAAA,cAAI,OAAO,SAAS,IAAT,CAAc,QAAd,CAAX;;AAEA,CAAA,cAAI,CAAC,IAAL,EAAW;AACT,CAAA,mBAAO,IAAI,OAAJ,CAAY,QAAZ,EAAsB,MAAtB,CAAP;AACA,CAAA,qBAAS,IAAT,CAAc,QAAd,EAAwB,IAAxB;AACD,CAAA;AACF,CAAA,SARM,CAAP;AASD,CAAA;AAjSmB,CAAA;AAAA,CAAA;AAAA,CAAA;;AAoStB,CAAA;;;;;;;AAKA,CAAA,IAAE,EAAF,CAAK,WAAL,IAAoB,QAAQ,gBAA5B;AACA,CAAA,IAAE,EAAF,CAAK,WAAL,EAAkB,WAAlB,GAAgC,OAAhC;AACA,CAAA,IAAE,EAAF,CAAK,WAAL,EAAkB,UAAlB,GAA+B,YAAM;AACnC,CAAA,MAAE,EAAF,CAAK,WAAL,IAAoB,kBAApB;AACA,CAAA,WAAO,QAAQ,gBAAf;AACD,CAAA,GAHD;;AAKA,CAAA,SAAO,OAAP;AAED,CAAA,CAlTe,CAkTb,MAlTa,CAAhB,CAoTA;;CCpTA,IAAM,WAAY,UAAC,CAAD,EAAO;;AAEvB,CAAA;;;;;AAKA,CAAA,MAAM,OAAO,UAAb;AACA,CAAA,MAAM,oBAAkB,IAAxB;AACA,CAAA,MAAM,uBAAoB,KAAK,MAAL,CAAY,CAAZ,EAAe,WAAf,KAA+B,KAAK,KAAL,CAAW,CAAX,CAAnD,CAAN;AACA,CAAA,MAAM,qBAAqB,EAAE,EAAF,CAAK,WAAL,CAA3B;;AAEA,CAAA,MAAM,UAAU,EAAhB;;AAEA,CAAA;;;;;;AAduB,CAAA,MAmBjB,QAnBiB;AAAA,CAAA;;AAqBrB,CAAA,sBAAY,QAAZ,EAAsB,MAAtB,EAA8B;AAAA,CAAA;;AAAA,CAAA,6FACtB,QADsB,EACZ,EAAE,MAAF,CAAS,IAAT,EAAe,EAAf,EAAmB,OAAnB,EAA4B,MAA5B,CADY;;AAG5B,CAAA,YAAK,aAAL;AACA,CAAA,YAAK,oBAAL;AAJ4B,CAAA;AAK7B,CAAA;;AA1BoB,CAAA;AAAA,CAAA;AAAA,CAAA,gCA4BX;AACR,CAAA,mFAAc,QAAd;AACD,CAAA;;AAED,CAAA;AACA,CAAA;;AAjCqB,CAAA;AAAA,CAAA;AAAA,CAAA,sCAmCL;AAAA,CAAA;;AACd,CAAA;AACA,CAAA,mBAAW,YAAM;AACf,CAAA,wBAAc,OAAK,UAAnB;AACD,CAAA,SAFD,EAEG,KAFH;AAGD,CAAA;;AAED,CAAA;;AA1CqB,CAAA;AAAA,CAAA;AAAA,CAAA,mCA2CR;AACX,CAAA,oBAAY,YAAM;AAChB,CAAA,YAAE,uBAAF,EAA2B,IAA3B,CAAgC,UAAC,KAAD,EAAQ,OAAR,EAAoB;AAClD,CAAA,gBAAI,WAAW,EAAE,OAAF,CAAf;AACA,CAAA,gBAAI,SAAS,GAAT,MAAkB,SAAS,GAAT,OAAmB,SAAS,IAAT,CAAc,OAAd,CAAzC,EAAiE;AAC/D,CAAA,uBAAS,OAAT,CAAiB,QAAjB;AACD,CAAA;AACF,CAAA,WALD;AAMD,CAAA,SAPD,EAOG,GAPH;AAQD,CAAA;AApDoB,CAAA;AAAA,CAAA;AAAA,CAAA,6CAsDE;AACrB,CAAA;AACA,CAAA;AACA,CAAA,YAAI,UAAU,IAAd;AACA,CAAA,UAAE,QAAF,EACG,EADH,CACM,OADN,EACe,OADf,EACwB,UAAC,KAAD,EAAW;AAC/B,CAAA,cAAI,UAAU,EAAE,MAAM,aAAR,EAAuB,OAAvB,CAA+B,MAA/B,EAAuC,IAAvC,CAA4C,OAA5C,EAAqD,GAArD,CAAyD,aAAzD,CAAd;AACA,CAAA,oBAAU,YAAY,YAAM;AAC1B,CAAA,oBAAQ,IAAR,CAAa,UAAC,KAAD,EAAQ,OAAR,EAAoB;AAC/B,CAAA,kBAAI,WAAW,EAAE,OAAF,CAAf;AACA,CAAA,kBAAI,SAAS,GAAT,OAAmB,SAAS,IAAT,CAAc,OAAd,CAAvB,EAA+C;AAC7C,CAAA,yBAAS,OAAT,CAAiB,QAAjB;AACD,CAAA;AACF,CAAA,aALD;AAMD,CAAA,WAPS,EAOP,GAPO,CAAV;AAQD,CAAA,SAXH,EAYG,EAZH,CAYM,MAZN,EAYc,mBAZd,EAYmC,YAAM;AACrC,CAAA,wBAAc,OAAd;AACD,CAAA,SAdH;AAeD,CAAA;;AAED,CAAA;AACA,CAAA;;AA5EqB,CAAA;AAAA,CAAA;AAAA,CAAA,uCA6EG,MA7EH,EA6EW;AAC9B,CAAA,eAAO,KAAK,IAAL,CAAU,YAAY;AAC3B,CAAA,cAAI,WAAW,EAAE,IAAF,CAAf;AACA,CAAA,cAAI,OAAO,SAAS,IAAT,CAAc,QAAd,CAAX;;AAEA,CAAA,cAAI,CAAC,IAAL,EAAW;AACT,CAAA,mBAAO,IAAI,QAAJ,CAAa,QAAb,EAAuB,MAAvB,CAAP;AACA,CAAA,qBAAS,IAAT,CAAc,QAAd,EAAwB,IAAxB;AACD,CAAA;AACF,CAAA,SARM,CAAP;AASD,CAAA;AAvFoB,CAAA;AAAA,CAAA;AAAA,CAAA,IAmBA,IAnBA;;AA0FvB,CAAA;;;;;;;AAKA,CAAA,IAAE,EAAF,CAAK,WAAL,IAAoB,SAAS,gBAA7B;AACA,CAAA,IAAE,EAAF,CAAK,WAAL,EAAkB,WAAlB,GAAgC,QAAhC;AACA,CAAA,IAAE,EAAF,CAAK,WAAL,EAAkB,UAAlB,GAA+B,YAAM;AACnC,CAAA,MAAE,EAAF,CAAK,WAAL,IAAoB,kBAApB;AACA,CAAA,WAAO,SAAS,gBAAhB;AACD,CAAA,GAHD;;AAKA,CAAA,SAAO,QAAP;AAED,CAAA,CAxGgB,CAwGd,MAxGc,CAAjB,CA0GA;;CC5GA;;;;;;AAMA,CAAA,IAAM,0BAA2B,UAAC,CAAD,EAAO;;AAEtC,CAAA;;;;;AAKA,CAAA,MAAM,OAAO,yBAAb;AACA,CAAA,MAAM,oBAAkB,IAAxB;AACA,CAAA,MAAM,cAAc,IAApB,CATsC;AAUtC,CAAA,MAAM,qBAAqB,EAAE,EAAF,CAAK,WAAL,CAA3B;;AAEA,CAAA;;;;;;;;;;;;AAYA,CAAA,MAAM,UAAU;AACd,CAAA,YAAQ;AACN,CAAA,gBAAU,KADJ;AAEN,CAAA,aAAO;AACL,CAAA,mBAAW,kBADN;AAAA,CAAA;AAFD,CAAA,KADM;AAOd,CAAA,cAAU;AACR,CAAA,gBAAU;AADF,CAAA,KAPI;AAUd,CAAA,cAAU;AACR,CAAA,gBAAU;AADF,CAAA,KAVI;AAad,CAAA,oBAAgB;AACd,CAAA,gBAAU;AADI,CAAA,KAbF;AAgBd,CAAA,oBAAgB;AACd,CAAA,gBAAU;AADI,CAAA,KAhBF;AAmBd,CAAA,YAAQ;AACN,CAAA,gBAAU;AADJ,CAAA,KAnBM;AAsBd,CAAA,UAAM;AACJ,CAAA,gBAAU;AADN,CAAA,KAtBQ;AAyBd,CAAA,WAAO;AACL,CAAA,gBAAU;AADL,CAAA,KAzBO;AA4Bd,CAAA,iBAAa;AACX,CAAA,gBAAU;AADC,CAAA,KA5BC;AA+Bd,CAAA,aAAS;AACP,CAAA;AACA,CAAA,gBAAU,CACR,uCADQ,EAER,+BAFQ,EAGR,6BAHQ,EAIR,oCAJQ,EAKR,+BALQ,EAMR,gEANQ,EAOR,SAPQ;AAAA,CAAA;AAFH,CAAA,KA/BK;AA2Cd,CAAA,YAAQ;AACN,CAAA,gBAAU,CAAC,QAAD;AADJ,CAAA,KA3CM;AA8Cd,CAAA,YAAQ;AACN,CAAA,gBAAU;AADJ,CAAA,KA9CM;AAiDd,CAAA,UAAM;AACJ,CAAA;AACA,CAAA,gBAAU;AAFN,CAAA,KAjDQ;AAqDd,CAAA,cAAU;AACR,CAAA,gBAAU,CAAC,UAAD;AADF,CAAA,KArDI;AAwDd,CAAA,YAAQ,IAxDM;AAyDd,CAAA;AACA,CAAA,mBAAe,CACb,SADa,EAEb,UAFa,EAGb,gBAHa,EAIb,gBAJa,EAKb,QALa;AAMb,CAAA;AACA,CAAA,WAPa,EAQb,aARa,EASb,QATa,EAUb,MAVa,EAWb,UAXa,EAYb,QAZa,EAab,UAba;AA1DD,CAAA,GAAhB;;AA2EA,CAAA;;;;;;AAnGsC,CAAA,MAwGhC,uBAxGgC;AA0GpC,CAAA,qCAAY,QAAZ,EAAsB,MAAtB,EAA8B;AAAA,CAAA;;AAAA,CAAA;;AAC5B,CAAA,WAAK,QAAL,GAAgB,QAAhB;AACA,CAAA,WAAK,MAAL,GAAc,EAAE,MAAF,CAAS,IAAT,EAAe,EAAf,EAAmB,OAAnB,EAA4B,MAA5B,CAAd;AACA,CAAA,UAAI,YAAY,EAAE,QAAF,CAAhB;;AAH4B,CAAA;AAAA,CAAA;AAAA,CAAA;;AAAA,CAAA;AAAA,CAAA;AAAA,CAAA,cAKnB,SALmB;;;AAO1B,CAAA;AACA,CAAA,cAAI,kBAAkB,MAAK,MAAL,CAAY,SAAZ,CAAtB;;AAEA,CAAA;AACA,CAAA,cAAI,eAAJ,EAAqB;AAAA,CAAA;;AAEnB,CAAA;AACA,CAAA,kBAAI,WAAW,MAAK,gBAAL,CAAsB,eAAtB,CAAf;;AAEA,CAAA;AACA,CAAA,gCAAkB,EAAE,MAAF,CAAS,IAAT,EAAe,EAAf,EAAmB,MAAK,MAAL,CAAY,MAA/B,EAAuC,eAAvC,CAAlB;;AAEA,CAAA;AACA,CAAA,kBAAI,sBAAmB,UAAU,MAAV,CAAiB,CAAjB,EAAoB,WAApB,KAAoC,UAAU,KAAV,CAAgB,CAAhB,CAAvD,CAAJ;AACA,CAAA,kBAAI,mBAAiB,aAArB;;AAEA,CAAA,kBAAI;AACF,CAAA;AACA,CAAA;AACA,CAAA,kBAAE,QAAF,EAAY,QAAZ,EAAsB,eAAtB;;AAEA,CAAA;AACA,CAAA,oBAAI,SAAS,MAAT,IAAmB,MAAK,MAAL,CAAY,MAAnC,EAA2C;AACzC,CAAA,4BAAU,MAAV,CAAiB,QAAjB,EAA2B,YAAU;AAAG,CAAA;AACtC,CAAA,sBAAE,IAAF,EAAQ,QAAR,EAAkB,eAAlB;AACD,CAAA,mBAFD;AAGD,CAAA;AACF,CAAA,eAXD,CAWE,OAAO,CAAP,EAAU;AACV,CAAA,oBAAI,oDAAiD,QAAjD,YAA+D,QAA/D,UAA4E,eAA5E,MAAJ;AACA,CAAA,wBAAQ,KAAR,CAAc,OAAd,EAAuB,CAAvB,2BAAmD,EAAE,QAAF,CAAnD,EAFU;AAGV,CAAA,sBAAM,CAAN;AACD,CAAA;AA3BkB,CAAA;AA4BpB,CAAA;AAvCyB,CAAA;;AAK5B,CAAA,6BAAsB,KAAK,MAAL,CAAY,aAAlC,8HAAiD;AAAA,CAAA;AAmChD,CAAA;AAxC2B,CAAA;AAAA,CAAA;AAAA,CAAA;AAAA,CAAA;AAAA,CAAA;AAAA,CAAA;AAAA,CAAA;AAAA,CAAA;AAAA,CAAA;AAAA,CAAA;AAAA,CAAA;AAAA,CAAA;AAAA,CAAA;AAAA,CAAA;AAyC7B,CAAA;;AAnJmC,CAAA;AAAA,CAAA;AAAA,CAAA,gCAqJ1B;AACR,CAAA,aAAK,QAAL,CAAc,IAAd,CAAmB,QAAnB,EAA6B,IAA7B;AACA,CAAA,aAAK,QAAL,GAAgB,IAAhB;AACA,CAAA,aAAK,MAAL,GAAc,IAAd;AACD,CAAA;;AAED,CAAA;AACA,CAAA;;AA5JoC,CAAA;AAAA,CAAA;AAAA,CAAA,uCA8JnB,eA9JmB,EA8JF;AAChC,CAAA,YAAI,WAAW,gBAAgB,QAA/B;AACA,CAAA,YAAI,MAAM,OAAN,CAAc,QAAd,CAAJ,EAA6B;AAC3B,CAAA,qBAAW,SAAS,IAAT,CAAc,IAAd,CAAX;AACD,CAAA;;AAED,CAAA,eAAO,QAAP;AACD,CAAA;;AAED,CAAA;AACA,CAAA;;AAxKoC,CAAA;AAAA,CAAA;AAAA,CAAA,uCAyKZ,MAzKY,EAyKJ;AAC9B,CAAA,eAAO,KAAK,IAAL,CAAU,YAAY;AAC3B,CAAA,cAAI,WAAW,EAAE,IAAF,CAAf;AACA,CAAA,cAAI,OAAO,SAAS,IAAT,CAAc,QAAd,CAAX;;AAEA,CAAA,cAAI,CAAC,IAAL,EAAW;AACT,CAAA,mBAAO,IAAI,uBAAJ,CAA4B,QAA5B,EAAsC,MAAtC,CAAP;AACA,CAAA,qBAAS,IAAT,CAAc,QAAd,EAAwB,IAAxB;AACD,CAAA;AACF,CAAA,SARM,CAAP;AASD,CAAA;AAnLmC,CAAA;AAAA,CAAA;AAAA,CAAA;;AAsLtC,CAAA;;;;;;;AAKA,CAAA,IAAE,EAAF,CAAK,WAAL,IAAoB,wBAAwB,gBAA5C;AACA,CAAA,IAAE,EAAF,CAAK,WAAL,EAAkB,WAAlB,GAAgC,uBAAhC;AACA,CAAA,IAAE,EAAF,CAAK,WAAL,EAAkB,UAAlB,GAA+B,YAAM;AACnC,CAAA,MAAE,EAAF,CAAK,WAAL,IAAoB,kBAApB;AACA,CAAA,WAAO,wBAAwB,gBAA/B;AACD,CAAA,GAHD;;AAKA,CAAA,SAAO,uBAAP;AAED,CAAA,CApM+B,CAoM7B,MApM6B,CAAhC,CAsMA;;"} \ No newline at end of file
diff --git a/templates/assets/bootstrap-material-design/dist/bootstrap-material-design.iife.min.js b/templates/assets/bootstrap-material-design/dist/bootstrap-material-design.iife.min.js
new file mode 100644
index 0000000..e98f914
--- /dev/null
+++ b/templates/assets/bootstrap-material-design/dist/bootstrap-material-design.iife.min.js
@@ -0,0 +1,9 @@
+!function(){"use strict";function interopDefault(ex){return ex&&"object"==typeof ex&&"default"in ex?ex["default"]:ex}function createCommonjsModule(fn,module){return module={exports:{}},fn(module,module.exports),module.exports}var commonjsGlobal="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},_global=createCommonjsModule(function(module){var global=module.exports="undefined"!=typeof window&&window.Math==Math?window:"undefined"!=typeof self&&self.Math==Math?self:Function("return this")();"number"==typeof __g&&(__g=global)}),_global$1=interopDefault(_global),require$$3=Object.freeze({"default":_global$1}),_has=createCommonjsModule(function(module){var hasOwnProperty={}.hasOwnProperty;module.exports=function(it,key){return hasOwnProperty.call(it,key)}}),_has$1=interopDefault(_has),require$$4=Object.freeze({"default":_has$1}),_fails=createCommonjsModule(function(module){module.exports=function(exec){try{return!!exec()}catch(e){return!0}}}),_fails$1=interopDefault(_fails),require$$1$1=Object.freeze({"default":_fails$1}),_descriptors=createCommonjsModule(function(module){module.exports=!interopDefault(require$$1$1)(function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})}),_descriptors$1=interopDefault(_descriptors),require$$1=Object.freeze({"default":_descriptors$1}),_core=createCommonjsModule(function(module){var core=module.exports={version:"2.4.0"};"number"==typeof __e&&(__e=core)}),_core$1=interopDefault(_core),version=_core.version,require$$0=Object.freeze({"default":_core$1,version:version}),_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(obj){return typeof obj}:function(obj){return obj&&"function"==typeof Symbol&&obj.constructor===Symbol?"symbol":typeof obj},classCallCheck=function(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")},createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){return protoProps&&defineProperties(Constructor.prototype,protoProps),staticProps&&defineProperties(Constructor,staticProps),Constructor}}(),get=function get(object,property,receiver){null===object&&(object=Function.prototype);var desc=Object.getOwnPropertyDescriptor(object,property);if(void 0===desc){var parent=Object.getPrototypeOf(object);return null===parent?void 0:get(parent,property,receiver)}if("value"in desc)return desc.value;var getter=desc.get;if(void 0!==getter)return getter.call(receiver)},inherits=function(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function, not "+typeof superClass);subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)},possibleConstructorReturn=function(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!=typeof call&&"function"!=typeof call?self:call},_isObject=createCommonjsModule(function(module){module.exports=function(it){return"object"===("undefined"==typeof it?"undefined":_typeof(it))?null!==it:"function"==typeof it}}),_isObject$1=interopDefault(_isObject),require$$0$1=Object.freeze({"default":_isObject$1}),_anObject=createCommonjsModule(function(module){var isObject=interopDefault(require$$0$1);module.exports=function(it){if(!isObject(it))throw TypeError(it+" is not an object!");return it}}),_anObject$1=interopDefault(_anObject),require$$5=Object.freeze({"default":_anObject$1}),_domCreate=createCommonjsModule(function(module){var isObject=interopDefault(require$$0$1),document=interopDefault(require$$3).document,is=isObject(document)&&isObject(document.createElement);module.exports=function(it){return is?document.createElement(it):{}}}),_domCreate$1=interopDefault(_domCreate),require$$2$2=Object.freeze({"default":_domCreate$1}),_ie8DomDefine=createCommonjsModule(function(module){module.exports=!interopDefault(require$$1)&&!interopDefault(require$$1$1)(function(){return 7!=Object.defineProperty(interopDefault(require$$2$2)("div"),"a",{get:function(){return 7}}).a})}),_ie8DomDefine$1=interopDefault(_ie8DomDefine),require$$1$3=Object.freeze({"default":_ie8DomDefine$1}),_toPrimitive=createCommonjsModule(function(module){var isObject=interopDefault(require$$0$1);module.exports=function(it,S){if(!isObject(it))return it;var fn,val;if(S&&"function"==typeof(fn=it.toString)&&!isObject(val=fn.call(it)))return val;if("function"==typeof(fn=it.valueOf)&&!isObject(val=fn.call(it)))return val;if(!S&&"function"==typeof(fn=it.toString)&&!isObject(val=fn.call(it)))return val;throw TypeError("Can't convert object to primitive value")}}),_toPrimitive$1=interopDefault(_toPrimitive),require$$4$1=Object.freeze({"default":_toPrimitive$1}),_objectDp=createCommonjsModule(function(module,exports){var anObject=interopDefault(require$$5),IE8_DOM_DEFINE=interopDefault(require$$1$3),toPrimitive=interopDefault(require$$4$1),dP=Object.defineProperty;exports.f=interopDefault(require$$1)?Object.defineProperty:function(O,P,Attributes){if(anObject(O),P=toPrimitive(P,!0),anObject(Attributes),IE8_DOM_DEFINE)try{return dP(O,P,Attributes)}catch(e){}if("get"in Attributes||"set"in Attributes)throw TypeError("Accessors not supported!");return"value"in Attributes&&(O[P]=Attributes.value),O}}),_objectDp$1=interopDefault(_objectDp),f=_objectDp.f,require$$2$1=Object.freeze({"default":_objectDp$1,f:f}),_propertyDesc=createCommonjsModule(function(module){module.exports=function(bitmap,value){return{enumerable:!(1&bitmap),configurable:!(2&bitmap),writable:!(4&bitmap),value:value}}}),_propertyDesc$1=interopDefault(_propertyDesc),require$$2$3=Object.freeze({"default":_propertyDesc$1}),_hide=createCommonjsModule(function(module){var dP=interopDefault(require$$2$1),createDesc=interopDefault(require$$2$3);module.exports=interopDefault(require$$1)?function(object,key,value){return dP.f(object,key,createDesc(1,value))}:function(object,key,value){return object[key]=value,object}}),_hide$1=interopDefault(_hide),require$$2=Object.freeze({"default":_hide$1}),_uid=createCommonjsModule(function(module){var id=0,px=Math.random();module.exports=function(key){return"Symbol(".concat(void 0===key?"":key,")_",(++id+px).toString(36))}}),_uid$1=interopDefault(_uid),require$$12=Object.freeze({"default":_uid$1}),_redefine=createCommonjsModule(function(module){var global=interopDefault(require$$3),hide=interopDefault(require$$2),has=interopDefault(require$$4),SRC=interopDefault(require$$12)("src"),TO_STRING="toString",$toString=Function[TO_STRING],TPL=(""+$toString).split(TO_STRING);interopDefault(require$$0).inspectSource=function(it){return $toString.call(it)},(module.exports=function(O,key,val,safe){var isFunction="function"==typeof val;isFunction&&(has(val,"name")||hide(val,"name",key)),O[key]!==val&&(isFunction&&(has(val,SRC)||hide(val,SRC,O[key]?""+O[key]:TPL.join(String(key)))),O===global?O[key]=val:safe?O[key]?O[key]=val:hide(O,key,val):(delete O[key],hide(O,key,val)))})(Function.prototype,TO_STRING,function(){return"function"==typeof this&&this[SRC]||$toString.call(this)})}),_redefine$1=interopDefault(_redefine),require$$4$2=Object.freeze({"default":_redefine$1}),_aFunction=createCommonjsModule(function(module){module.exports=function(it){if("function"!=typeof it)throw TypeError(it+" is not a function!");return it}}),_aFunction$1=interopDefault(_aFunction),require$$0$2=Object.freeze({"default":_aFunction$1}),_ctx=createCommonjsModule(function(module){var aFunction=interopDefault(require$$0$2);module.exports=function(fn,that,length){if(aFunction(fn),void 0===that)return fn;switch(length){case 1:return function(a){return fn.call(that,a)};case 2:return function(a,b){return fn.call(that,a,b)};case 3:return function(a,b,c){return fn.call(that,a,b,c)}}return function(){return fn.apply(that,arguments)}}}),_ctx$1=interopDefault(_ctx),require$$31=Object.freeze({"default":_ctx$1}),_export=createCommonjsModule(function(module){var global=interopDefault(require$$3),core=interopDefault(require$$0),hide=interopDefault(require$$2),redefine=interopDefault(require$$4$2),ctx=interopDefault(require$$31),PROTOTYPE="prototype",$export=function $export(type,name,source){var key,own,out,exp,IS_FORCED=type&$export.F,IS_GLOBAL=type&$export.G,IS_STATIC=type&$export.S,IS_PROTO=type&$export.P,IS_BIND=type&$export.B,target=IS_GLOBAL?global:IS_STATIC?global[name]||(global[name]={}):(global[name]||{})[PROTOTYPE],exports=IS_GLOBAL?core:core[name]||(core[name]={}),expProto=exports[PROTOTYPE]||(exports[PROTOTYPE]={});IS_GLOBAL&&(source=name);for(key in source)own=!IS_FORCED&&target&&void 0!==target[key],out=(own?target:source)[key],exp=IS_BIND&&own?ctx(out,global):IS_PROTO&&"function"==typeof out?ctx(Function.call,out):out,target&&redefine(target,key,out,type&$export.U),exports[key]!=out&&hide(exports,key,exp),IS_PROTO&&expProto[key]!=out&&(expProto[key]=out)};global.core=core,$export.F=1,$export.G=2,$export.S=4,$export.P=8,$export.B=16,$export.W=32,$export.U=64,$export.R=128,module.exports=$export}),_export$1=interopDefault(_export),require$$1$2=Object.freeze({"default":_export$1}),_meta=createCommonjsModule(function(module){var META=interopDefault(require$$12)("meta"),isObject=interopDefault(require$$0$1),has=interopDefault(require$$4),setDesc=interopDefault(require$$2$1).f,id=0,isExtensible=Object.isExtensible||function(){return!0},FREEZE=!interopDefault(require$$1$1)(function(){return isExtensible(Object.preventExtensions({}))}),setMeta=function(it){setDesc(it,META,{value:{i:"O"+ ++id,w:{}}})},fastKey=function(it,create){if(!isObject(it))return"symbol"==("undefined"==typeof it?"undefined":_typeof(it))?it:("string"==typeof it?"S":"P")+it;if(!has(it,META)){if(!isExtensible(it))return"F";if(!create)return"E";setMeta(it)}return it[META].i},getWeak=function(it,create){if(!has(it,META)){if(!isExtensible(it))return!0;if(!create)return!1;setMeta(it)}return it[META].w},onFreeze=function(it){return FREEZE&&meta.NEED&&isExtensible(it)&&!has(it,META)&&setMeta(it),it},meta=module.exports={KEY:META,NEED:!1,fastKey:fastKey,getWeak:getWeak,onFreeze:onFreeze}}),_meta$1=interopDefault(_meta),KEY=_meta.KEY,NEED=_meta.NEED,fastKey=_meta.fastKey,getWeak=_meta.getWeak,onFreeze=_meta.onFreeze,require$$6=Object.freeze({"default":_meta$1,KEY:KEY,NEED:NEED,fastKey:fastKey,getWeak:getWeak,onFreeze:onFreeze}),_shared=createCommonjsModule(function(module){var global=interopDefault(require$$3),SHARED="__core-js_shared__",store=global[SHARED]||(global[SHARED]={});module.exports=function(key){return store[key]||(store[key]={})}}),_shared$1=interopDefault(_shared),require$$1$4=Object.freeze({"default":_shared$1}),_wks=createCommonjsModule(function(module){var store=interopDefault(require$$1$4)("wks"),uid=interopDefault(require$$12),_Symbol=interopDefault(require$$3).Symbol,USE_SYMBOL="function"==typeof _Symbol,$exports=module.exports=function(name){return store[name]||(store[name]=USE_SYMBOL&&_Symbol[name]||(USE_SYMBOL?_Symbol:uid)("Symbol."+name))};$exports.store=store}),_wks$1=interopDefault(_wks),require$$0$4=Object.freeze({"default":_wks$1}),_setToStringTag=createCommonjsModule(function(module){var def=interopDefault(require$$2$1).f,has=interopDefault(require$$4),TAG=interopDefault(require$$0$4)("toStringTag");module.exports=function(it,tag,stat){it&&!has(it=stat?it:it.prototype,TAG)&&def(it,TAG,{configurable:!0,value:tag})}}),_setToStringTag$1=interopDefault(_setToStringTag),require$$0$3=Object.freeze({"default":_setToStringTag$1}),_wksExt=createCommonjsModule(function(module,exports){exports.f=interopDefault(require$$0$4)}),_wksExt$1=interopDefault(_wksExt),f$1=_wksExt.f,require$$1$5=Object.freeze({"default":_wksExt$1,f:f$1}),_library=createCommonjsModule(function(module){module.exports=!1}),_library$1=interopDefault(_library),require$$2$4=Object.freeze({"default":_library$1}),_wksDefine=createCommonjsModule(function(module){var global=interopDefault(require$$3),core=interopDefault(require$$0),LIBRARY=interopDefault(require$$2$4),wksExt=interopDefault(require$$1$5),defineProperty=interopDefault(require$$2$1).f;module.exports=function(name){var $Symbol=core.Symbol||(core.Symbol=LIBRARY?{}:global.Symbol||{});"_"==name.charAt(0)||name in $Symbol||defineProperty($Symbol,name,{value:wksExt.f(name)})}}),_wksDefine$1=interopDefault(_wksDefine),require$$0$5=Object.freeze({"default":_wksDefine$1}),_cof=createCommonjsModule(function(module){var toString={}.toString;module.exports=function(it){return toString.call(it).slice(8,-1)}}),_cof$1=interopDefault(_cof),require$$0$6=Object.freeze({"default":_cof$1}),_iobject=createCommonjsModule(function(module){var cof=interopDefault(require$$0$6);module.exports=Object("z").propertyIsEnumerable(0)?Object:function(it){return"String"==cof(it)?it.split(""):Object(it)}}),_iobject$1=interopDefault(_iobject),require$$1$8=Object.freeze({"default":_iobject$1}),_defined=createCommonjsModule(function(module){module.exports=function(it){if(void 0==it)throw TypeError("Can't call method on "+it);return it}}),_defined$1=interopDefault(_defined),require$$4$3=Object.freeze({"default":_defined$1}),_toIobject=createCommonjsModule(function(module){var IObject=interopDefault(require$$1$8),defined=interopDefault(require$$4$3);module.exports=function(it){return IObject(defined(it))}}),_toIobject$1=interopDefault(_toIobject),require$$1$7=Object.freeze({"default":_toIobject$1}),_toInteger=createCommonjsModule(function(module){var ceil=Math.ceil,floor=Math.floor;module.exports=function(it){return isNaN(it=+it)?0:(it>0?floor:ceil)(it)}}),_toInteger$1=interopDefault(_toInteger),require$$26=Object.freeze({"default":_toInteger$1}),_toLength=createCommonjsModule(function(module){var toInteger=interopDefault(require$$26),min=Math.min;module.exports=function(it){return it>0?min(toInteger(it),9007199254740991):0}}),_toLength$1=interopDefault(_toLength),require$$3$1=Object.freeze({"default":_toLength$1}),_toIndex=createCommonjsModule(function(module){var toInteger=interopDefault(require$$26),max=Math.max,min=Math.min;module.exports=function(index,length){return index=toInteger(index),index<0?max(index+length,0):min(index,length)}}),_toIndex$1=interopDefault(_toIndex),require$$24=Object.freeze({"default":_toIndex$1}),_arrayIncludes=createCommonjsModule(function(module){var toIObject=interopDefault(require$$1$7),toLength=interopDefault(require$$3$1),toIndex=interopDefault(require$$24);module.exports=function(IS_INCLUDES){return function($this,el,fromIndex){var value,O=toIObject($this),length=toLength(O.length),index=toIndex(fromIndex,length);if(IS_INCLUDES&&el!=el){for(;length>index;)if(value=O[index++],value!=value)return!0}else for(;length>index;index++)if((IS_INCLUDES||index in O)&&O[index]===el)return IS_INCLUDES||index||0;return!IS_INCLUDES&&-1}}}),_arrayIncludes$1=interopDefault(_arrayIncludes),require$$1$9=Object.freeze({"default":_arrayIncludes$1}),_sharedKey=createCommonjsModule(function(module){var shared=interopDefault(require$$1$4)("keys"),uid=interopDefault(require$$12);module.exports=function(key){return shared[key]||(shared[key]=uid(key))}}),_sharedKey$1=interopDefault(_sharedKey),require$$0$7=Object.freeze({"default":_sharedKey$1}),_objectKeysInternal=createCommonjsModule(function(module){var has=interopDefault(require$$4),toIObject=interopDefault(require$$1$7),arrayIndexOf=interopDefault(require$$1$9)(!1),IE_PROTO=interopDefault(require$$0$7)("IE_PROTO");module.exports=function(object,names){var key,O=toIObject(object),i=0,result=[];for(key in O)key!=IE_PROTO&&has(O,key)&&result.push(key);for(;names.length>i;)has(O,key=names[i++])&&(~arrayIndexOf(result,key)||result.push(key));return result}}),_objectKeysInternal$1=interopDefault(_objectKeysInternal),require$$1$6=Object.freeze({"default":_objectKeysInternal$1}),_enumBugKeys=createCommonjsModule(function(module){module.exports="constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(",")}),_enumBugKeys$1=interopDefault(_enumBugKeys),require$$0$8=Object.freeze({"default":_enumBugKeys$1}),_objectKeys=createCommonjsModule(function(module){var $keys=interopDefault(require$$1$6),enumBugKeys=interopDefault(require$$0$8);module.exports=Object.keys||function(O){return $keys(O,enumBugKeys)}}),_objectKeys$1=interopDefault(_objectKeys),require$$2$5=Object.freeze({"default":_objectKeys$1}),_keyof=createCommonjsModule(function(module){var getKeys=interopDefault(require$$2$5),toIObject=interopDefault(require$$1$7);module.exports=function(object,el){for(var key,O=toIObject(object),keys=getKeys(O),length=keys.length,index=0;length>index;)if(O[key=keys[index++]]===el)return key}}),_keyof$1=interopDefault(_keyof),require$$16=Object.freeze({"default":_keyof$1}),_objectGops=createCommonjsModule(function(module,exports){exports.f=Object.getOwnPropertySymbols}),_objectGops$1=interopDefault(_objectGops),f$2=_objectGops.f,require$$2$6=Object.freeze({"default":_objectGops$1,f:f$2}),_objectPie=createCommonjsModule(function(module,exports){exports.f={}.propertyIsEnumerable}),_objectPie$1=interopDefault(_objectPie),f$3=_objectPie.f,require$$0$9=Object.freeze({"default":_objectPie$1,f:f$3}),_enumKeys=createCommonjsModule(function(module){var getKeys=interopDefault(require$$2$5),gOPS=interopDefault(require$$2$6),pIE=interopDefault(require$$0$9);module.exports=function(it){var result=getKeys(it),getSymbols=gOPS.f;if(getSymbols)for(var key,symbols=getSymbols(it),isEnum=pIE.f,i=0;symbols.length>i;)isEnum.call(it,key=symbols[i++])&&result.push(key);return result}}),_enumKeys$1=interopDefault(_enumKeys),require$$15=Object.freeze({"default":_enumKeys$1}),_isArray=createCommonjsModule(function(module){var cof=interopDefault(require$$0$6);module.exports=Array.isArray||function(arg){return"Array"==cof(arg)}}),_isArray$1=interopDefault(_isArray),require$$1$10=Object.freeze({"default":_isArray$1}),_objectDps=createCommonjsModule(function(module){var dP=interopDefault(require$$2$1),anObject=interopDefault(require$$5),getKeys=interopDefault(require$$2$5);module.exports=interopDefault(require$$1)?Object.defineProperties:function(O,Properties){anObject(O);for(var P,keys=getKeys(Properties),length=keys.length,i=0;length>i;)dP.f(O,P=keys[i++],Properties[P]);return O}}),_objectDps$1=interopDefault(_objectDps),require$$0$10=Object.freeze({"default":_objectDps$1}),_html=createCommonjsModule(function(module){module.exports=interopDefault(require$$3).document&&document.documentElement}),_html$1=interopDefault(_html),require$$3$2=Object.freeze({"default":_html$1}),_objectCreate=createCommonjsModule(function(module){var anObject=interopDefault(require$$5),dPs=interopDefault(require$$0$10),enumBugKeys=interopDefault(require$$0$8),IE_PROTO=interopDefault(require$$0$7)("IE_PROTO"),Empty=function(){},PROTOTYPE="prototype",_createDict=function(){var iframeDocument,iframe=interopDefault(require$$2$2)("iframe"),i=enumBugKeys.length,lt="<",gt=">";for(iframe.style.display="none",interopDefault(require$$3$2).appendChild(iframe),iframe.src="javascript:",iframeDocument=iframe.contentWindow.document,iframeDocument.open(),iframeDocument.write(lt+"script"+gt+"document.F=Object"+lt+"/script"+gt),iframeDocument.close(),_createDict=iframeDocument.F;i--;)delete _createDict[PROTOTYPE][enumBugKeys[i]];return _createDict()};module.exports=Object.create||function(O,Properties){var result;return null!==O?(Empty[PROTOTYPE]=anObject(O),result=new Empty,Empty[PROTOTYPE]=null,result[IE_PROTO]=O):result=_createDict(),void 0===Properties?result:dPs(result,Properties)}}),_objectCreate$1=interopDefault(_objectCreate),require$$6$1=Object.freeze({"default":_objectCreate$1}),_objectGopn=createCommonjsModule(function(module,exports){var $keys=interopDefault(require$$1$6),hiddenKeys=interopDefault(require$$0$8).concat("length","prototype");exports.f=Object.getOwnPropertyNames||function(O){return $keys(O,hiddenKeys)}}),_objectGopn$1=interopDefault(_objectGopn),f$5=_objectGopn.f,require$$3$3=Object.freeze({"default":_objectGopn$1,f:f$5}),_objectGopnExt=createCommonjsModule(function(module){var toIObject=interopDefault(require$$1$7),gOPN=interopDefault(require$$3$3).f,toString={}.toString,windowNames="object"==("undefined"==typeof window?"undefined":_typeof(window))&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[],getWindowNames=function(it){try{return gOPN(it)}catch(e){return windowNames.slice()}};module.exports.f=function(it){return windowNames&&"[object Window]"==toString.call(it)?getWindowNames(it):gOPN(toIObject(it))}}),_objectGopnExt$1=interopDefault(_objectGopnExt),f$4=_objectGopnExt.f,require$$0$11=Object.freeze({"default":_objectGopnExt$1,f:f$4}),_objectGopd=createCommonjsModule(function(module,exports){var pIE=interopDefault(require$$0$9),createDesc=interopDefault(require$$2$3),toIObject=interopDefault(require$$1$7),toPrimitive=interopDefault(require$$4$1),has=interopDefault(require$$4),IE8_DOM_DEFINE=interopDefault(require$$1$3),gOPD=Object.getOwnPropertyDescriptor;exports.f=interopDefault(require$$1)?gOPD:function(O,P){if(O=toIObject(O),P=toPrimitive(P,!0),IE8_DOM_DEFINE)try{return gOPD(O,P)}catch(e){}if(has(O,P))return createDesc(!pIE.f.call(O,P),O[P])}}),_objectGopd$1=interopDefault(_objectGopd),f$6=_objectGopd.f,require$$2$7=Object.freeze({"default":_objectGopd$1,f:f$6}),es6_symbol=createCommonjsModule(function(module){var global=interopDefault(require$$3),has=interopDefault(require$$4),DESCRIPTORS=interopDefault(require$$1),$export=interopDefault(require$$1$2),redefine=interopDefault(require$$4$2),META=interopDefault(require$$6).KEY,$fails=interopDefault(require$$1$1),shared=interopDefault(require$$1$4),setToStringTag=interopDefault(require$$0$3),uid=interopDefault(require$$12),wks=interopDefault(require$$0$4),wksExt=interopDefault(require$$1$5),wksDefine=interopDefault(require$$0$5),keyOf=interopDefault(require$$16),enumKeys=interopDefault(require$$15),isArray=interopDefault(require$$1$10),anObject=interopDefault(require$$5),toIObject=interopDefault(require$$1$7),toPrimitive=interopDefault(require$$4$1),createDesc=interopDefault(require$$2$3),_create=interopDefault(require$$6$1),gOPNExt=interopDefault(require$$0$11),$GOPD=interopDefault(require$$2$7),$DP=interopDefault(require$$2$1),$keys=interopDefault(require$$2$5),gOPD=$GOPD.f,dP=$DP.f,gOPN=gOPNExt.f,$Symbol=global.Symbol,$JSON=global.JSON,_stringify=$JSON&&$JSON.stringify,PROTOTYPE="prototype",HIDDEN=wks("_hidden"),TO_PRIMITIVE=wks("toPrimitive"),isEnum={}.propertyIsEnumerable,SymbolRegistry=shared("symbol-registry"),AllSymbols=shared("symbols"),OPSymbols=shared("op-symbols"),ObjectProto=Object[PROTOTYPE],USE_NATIVE="function"==typeof $Symbol,QObject=global.QObject,setter=!QObject||!QObject[PROTOTYPE]||!QObject[PROTOTYPE].findChild,setSymbolDesc=DESCRIPTORS&&$fails(function(){return 7!=_create(dP({},"a",{get:function(){return dP(this,"a",{value:7}).a}})).a})?function(it,key,D){var protoDesc=gOPD(ObjectProto,key);protoDesc&&delete ObjectProto[key],dP(it,key,D),protoDesc&&it!==ObjectProto&&dP(ObjectProto,key,protoDesc)}:dP,wrap=function(tag){var sym=AllSymbols[tag]=_create($Symbol[PROTOTYPE]);return sym._k=tag,sym},isSymbol=USE_NATIVE&&"symbol"==_typeof($Symbol.iterator)?function(it){return"symbol"==("undefined"==typeof it?"undefined":_typeof(it))}:function(it){return it instanceof $Symbol},$defineProperty=function(it,key,D){return it===ObjectProto&&$defineProperty(OPSymbols,key,D),anObject(it),key=toPrimitive(key,!0),anObject(D),has(AllSymbols,key)?(D.enumerable?(has(it,HIDDEN)&&it[HIDDEN][key]&&(it[HIDDEN][key]=!1),D=_create(D,{enumerable:createDesc(0,!1)})):(has(it,HIDDEN)||dP(it,HIDDEN,createDesc(1,{})),it[HIDDEN][key]=!0),setSymbolDesc(it,key,D)):dP(it,key,D)},$defineProperties=function(it,P){anObject(it);for(var key,keys=enumKeys(P=toIObject(P)),i=0,l=keys.length;l>i;)$defineProperty(it,key=keys[i++],P[key]);return it},$create=function(it,P){return void 0===P?_create(it):$defineProperties(_create(it),P)},$propertyIsEnumerable=function(key){var E=isEnum.call(this,key=toPrimitive(key,!0));return!(this===ObjectProto&&has(AllSymbols,key)&&!has(OPSymbols,key))&&(!(E||!has(this,key)||!has(AllSymbols,key)||has(this,HIDDEN)&&this[HIDDEN][key])||E)},$getOwnPropertyDescriptor=function(it,key){if(it=toIObject(it),key=toPrimitive(key,!0),it!==ObjectProto||!has(AllSymbols,key)||has(OPSymbols,key)){var D=gOPD(it,key);return!D||!has(AllSymbols,key)||has(it,HIDDEN)&&it[HIDDEN][key]||(D.enumerable=!0),D}},$getOwnPropertyNames=function(it){for(var key,names=gOPN(toIObject(it)),result=[],i=0;names.length>i;)has(AllSymbols,key=names[i++])||key==HIDDEN||key==META||result.push(key);return result},$getOwnPropertySymbols=function(it){for(var key,IS_OP=it===ObjectProto,names=gOPN(IS_OP?OPSymbols:toIObject(it)),result=[],i=0;names.length>i;)!has(AllSymbols,key=names[i++])||IS_OP&&!has(ObjectProto,key)||result.push(AllSymbols[key]);return result};USE_NATIVE||($Symbol=function(){if(this instanceof $Symbol)throw TypeError("Symbol is not a constructor!");var tag=uid(arguments.length>0?arguments[0]:void 0),$set=function $set(value){this===ObjectProto&&$set.call(OPSymbols,value),has(this,HIDDEN)&&has(this[HIDDEN],tag)&&(this[HIDDEN][tag]=!1),setSymbolDesc(this,tag,createDesc(1,value))};return DESCRIPTORS&&setter&&setSymbolDesc(ObjectProto,tag,{configurable:!0,set:$set}),wrap(tag)},redefine($Symbol[PROTOTYPE],"toString",function(){return this._k}),$GOPD.f=$getOwnPropertyDescriptor,$DP.f=$defineProperty,interopDefault(require$$3$3).f=gOPNExt.f=$getOwnPropertyNames,interopDefault(require$$0$9).f=$propertyIsEnumerable,interopDefault(require$$2$6).f=$getOwnPropertySymbols,DESCRIPTORS&&!interopDefault(require$$2$4)&&redefine(ObjectProto,"propertyIsEnumerable",$propertyIsEnumerable,!0),wksExt.f=function(name){return wrap(wks(name))}),$export($export.G+$export.W+$export.F*!USE_NATIVE,{Symbol:$Symbol});for(var symbols="hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables".split(","),i=0;symbols.length>i;)wks(symbols[i++]);for(var symbols=$keys(wks.store),i=0;symbols.length>i;)wksDefine(symbols[i++]);$export($export.S+$export.F*!USE_NATIVE,"Symbol",{"for":function(key){return has(SymbolRegistry,key+="")?SymbolRegistry[key]:SymbolRegistry[key]=$Symbol(key)},keyFor:function(key){if(isSymbol(key))return keyOf(SymbolRegistry,key);throw TypeError(key+" is not a symbol!")},useSetter:function(){setter=!0},useSimple:function(){setter=!1}}),$export($export.S+$export.F*!USE_NATIVE,"Object",{create:$create,defineProperty:$defineProperty,defineProperties:$defineProperties,getOwnPropertyDescriptor:$getOwnPropertyDescriptor,getOwnPropertyNames:$getOwnPropertyNames,getOwnPropertySymbols:$getOwnPropertySymbols}),$JSON&&$export($export.S+$export.F*(!USE_NATIVE||$fails(function(){var S=$Symbol();return"[null]"!=_stringify([S])||"{}"!=_stringify({a:S})||"{}"!=_stringify(Object(S))})),"JSON",{stringify:function(it){if(void 0!==it&&!isSymbol(it)){for(var replacer,$replacer,args=[it],i=1;arguments.length>i;)args.push(arguments[i++]);return replacer=args[1],"function"==typeof replacer&&($replacer=replacer),!$replacer&&isArray(replacer)||(replacer=function(key,value){if($replacer&&(value=$replacer.call(this,key,value)),!isSymbol(value))return value}),args[1]=replacer,_stringify.apply($JSON,args)}}}),$Symbol[PROTOTYPE][TO_PRIMITIVE]||interopDefault(require$$2)($Symbol[PROTOTYPE],TO_PRIMITIVE,$Symbol[PROTOTYPE].valueOf),setToStringTag($Symbol,"Symbol"),setToStringTag(Math,"Math",!0),setToStringTag(global.JSON,"JSON",!0)});interopDefault(es6_symbol);var es6_object_create=createCommonjsModule(function(module){var $export=interopDefault(require$$1$2);$export($export.S,"Object",{create:interopDefault(require$$6$1)})});interopDefault(es6_object_create);var es6_object_defineProperty=createCommonjsModule(function(module){var $export=interopDefault(require$$1$2);$export($export.S+$export.F*!interopDefault(require$$1),"Object",{defineProperty:interopDefault(require$$2$1).f})});interopDefault(es6_object_defineProperty);var es6_object_defineProperties=createCommonjsModule(function(module){var $export=interopDefault(require$$1$2);$export($export.S+$export.F*!interopDefault(require$$1),"Object",{defineProperties:interopDefault(require$$0$10)})});interopDefault(es6_object_defineProperties);var _objectSap=createCommonjsModule(function(module){var $export=interopDefault(require$$1$2),core=interopDefault(require$$0),fails=interopDefault(require$$1$1);module.exports=function(KEY,exec){var fn=(core.Object||{})[KEY]||Object[KEY],exp={};exp[KEY]=exec(fn),$export($export.S+$export.F*fails(function(){fn(1)}),"Object",exp)}}),_objectSap$1=interopDefault(_objectSap),require$$0$12=Object.freeze({"default":_objectSap$1}),es6_object_getOwnPropertyDescriptor=createCommonjsModule(function(module){var toIObject=interopDefault(require$$1$7),$getOwnPropertyDescriptor=interopDefault(require$$2$7).f;interopDefault(require$$0$12)("getOwnPropertyDescriptor",function(){return function(it,key){return $getOwnPropertyDescriptor(toIObject(it),key)}})});interopDefault(es6_object_getOwnPropertyDescriptor);var _toObject=createCommonjsModule(function(module){var defined=interopDefault(require$$4$3);module.exports=function(it){return Object(defined(it))}}),_toObject$1=interopDefault(_toObject),require$$5$1=Object.freeze({"default":_toObject$1}),_objectGpo=createCommonjsModule(function(module){var has=interopDefault(require$$4),toObject=interopDefault(require$$5$1),IE_PROTO=interopDefault(require$$0$7)("IE_PROTO"),ObjectProto=Object.prototype;module.exports=Object.getPrototypeOf||function(O){return O=toObject(O),has(O,IE_PROTO)?O[IE_PROTO]:"function"==typeof O.constructor&&O instanceof O.constructor?O.constructor.prototype:O instanceof Object?ObjectProto:null}}),_objectGpo$1=interopDefault(_objectGpo),require$$0$13=Object.freeze({"default":_objectGpo$1}),es6_object_getPrototypeOf=createCommonjsModule(function(module){var toObject=interopDefault(require$$5$1),$getPrototypeOf=interopDefault(require$$0$13);interopDefault(require$$0$12)("getPrototypeOf",function(){return function(it){return $getPrototypeOf(toObject(it))}})});interopDefault(es6_object_getPrototypeOf);var es6_object_keys=createCommonjsModule(function(module){var toObject=interopDefault(require$$5$1),$keys=interopDefault(require$$2$5);interopDefault(require$$0$12)("keys",function(){return function(it){return $keys(toObject(it))}})});interopDefault(es6_object_keys);var es6_object_getOwnPropertyNames=createCommonjsModule(function(module){interopDefault(require$$0$12)("getOwnPropertyNames",function(){return interopDefault(require$$0$11).f})});interopDefault(es6_object_getOwnPropertyNames);var es6_object_freeze=createCommonjsModule(function(module){var isObject=interopDefault(require$$0$1),meta=interopDefault(require$$6).onFreeze;interopDefault(require$$0$12)("freeze",function($freeze){return function(it){return $freeze&&isObject(it)?$freeze(meta(it)):it}})});interopDefault(es6_object_freeze);var es6_object_seal=createCommonjsModule(function(module){var isObject=interopDefault(require$$0$1),meta=interopDefault(require$$6).onFreeze;interopDefault(require$$0$12)("seal",function($seal){return function(it){return $seal&&isObject(it)?$seal(meta(it)):it}})});interopDefault(es6_object_seal);var es6_object_preventExtensions=createCommonjsModule(function(module){var isObject=interopDefault(require$$0$1),meta=interopDefault(require$$6).onFreeze;interopDefault(require$$0$12)("preventExtensions",function($preventExtensions){return function(it){return $preventExtensions&&isObject(it)?$preventExtensions(meta(it)):it;
+}})});interopDefault(es6_object_preventExtensions);var es6_object_isFrozen=createCommonjsModule(function(module){var isObject=interopDefault(require$$0$1);interopDefault(require$$0$12)("isFrozen",function($isFrozen){return function(it){return!isObject(it)||!!$isFrozen&&$isFrozen(it)}})});interopDefault(es6_object_isFrozen);var es6_object_isSealed=createCommonjsModule(function(module){var isObject=interopDefault(require$$0$1);interopDefault(require$$0$12)("isSealed",function($isSealed){return function(it){return!isObject(it)||!!$isSealed&&$isSealed(it)}})});interopDefault(es6_object_isSealed);var es6_object_isExtensible=createCommonjsModule(function(module){var isObject=interopDefault(require$$0$1);interopDefault(require$$0$12)("isExtensible",function($isExtensible){return function(it){return!!isObject(it)&&(!$isExtensible||$isExtensible(it))}})});interopDefault(es6_object_isExtensible);var _objectAssign=createCommonjsModule(function(module){var getKeys=interopDefault(require$$2$5),gOPS=interopDefault(require$$2$6),pIE=interopDefault(require$$0$9),toObject=interopDefault(require$$5$1),IObject=interopDefault(require$$1$8),$assign=Object.assign;module.exports=!$assign||interopDefault(require$$1$1)(function(){var A={},B={},S=Symbol(),K="abcdefghijklmnopqrst";return A[S]=7,K.split("").forEach(function(k){B[k]=k}),7!=$assign({},A)[S]||Object.keys($assign({},B)).join("")!=K})?function(target,source){for(var T=toObject(target),aLen=arguments.length,index=1,getSymbols=gOPS.f,isEnum=pIE.f;aLen>index;)for(var key,S=IObject(arguments[index++]),keys=getSymbols?getKeys(S).concat(getSymbols(S)):getKeys(S),length=keys.length,j=0;length>j;)isEnum.call(S,key=keys[j++])&&(T[key]=S[key]);return T}:$assign}),_objectAssign$1=interopDefault(_objectAssign),require$$3$4=Object.freeze({"default":_objectAssign$1}),es6_object_assign=createCommonjsModule(function(module){var $export=interopDefault(require$$1$2);$export($export.S+$export.F,"Object",{assign:interopDefault(require$$3$4)})});interopDefault(es6_object_assign);var _sameValue=createCommonjsModule(function(module){module.exports=Object.is||function(x,y){return x===y?0!==x||1/x===1/y:x!=x&&y!=y}}),_sameValue$1=interopDefault(_sameValue),require$$21=Object.freeze({"default":_sameValue$1}),es6_object_is=createCommonjsModule(function(module){var $export=interopDefault(require$$1$2);$export($export.S,"Object",{is:interopDefault(require$$21)})});interopDefault(es6_object_is);var _setProto=createCommonjsModule(function(module){var isObject=interopDefault(require$$0$1),anObject=interopDefault(require$$5),check=function(O,proto){if(anObject(O),!isObject(proto)&&null!==proto)throw TypeError(proto+": can't set as prototype!")};module.exports={set:Object.setPrototypeOf||("__proto__"in{}?function(test,buggy,set){try{set=interopDefault(require$$31)(Function.call,interopDefault(require$$2$7).f(Object.prototype,"__proto__").set,2),set(test,[]),buggy=!(test instanceof Array)}catch(e){buggy=!0}return function(O,proto){return check(O,proto),buggy?O.__proto__=proto:set(O,proto),O}}({},!1):void 0),check:check}}),_setProto$1=interopDefault(_setProto),set$1=_setProto.set,check=_setProto.check,require$$0$14=Object.freeze({"default":_setProto$1,set:set$1,check:check}),es6_object_setPrototypeOf=createCommonjsModule(function(module){var $export=interopDefault(require$$1$2);$export($export.S,"Object",{setPrototypeOf:interopDefault(require$$0$14).set})});interopDefault(es6_object_setPrototypeOf);var _classof=createCommonjsModule(function(module){var cof=interopDefault(require$$0$6),TAG=interopDefault(require$$0$4)("toStringTag"),ARG="Arguments"==cof(function(){return arguments}()),tryGet=function(it,key){try{return it[key]}catch(e){}};module.exports=function(it){var O,T,B;return void 0===it?"Undefined":null===it?"Null":"string"==typeof(T=tryGet(O=Object(it),TAG))?T:ARG?cof(O):"Object"==(B=cof(O))&&"function"==typeof O.callee?"Arguments":B}}),_classof$1=interopDefault(_classof),require$$1$11=Object.freeze({"default":_classof$1}),es6_object_toString=createCommonjsModule(function(module){var classof=interopDefault(require$$1$11),test={};test[interopDefault(require$$0$4)("toStringTag")]="z",test+""!="[object z]"&&interopDefault(require$$4$2)(Object.prototype,"toString",function(){return"[object "+classof(this)+"]"},!0)});interopDefault(es6_object_toString);var _invoke=createCommonjsModule(function(module){module.exports=function(fn,args,that){var un=void 0===that;switch(args.length){case 0:return un?fn():fn.call(that);case 1:return un?fn(args[0]):fn.call(that,args[0]);case 2:return un?fn(args[0],args[1]):fn.call(that,args[0],args[1]);case 3:return un?fn(args[0],args[1],args[2]):fn.call(that,args[0],args[1],args[2]);case 4:return un?fn(args[0],args[1],args[2],args[3]):fn.call(that,args[0],args[1],args[2],args[3])}return fn.apply(that,args)}}),_invoke$1=interopDefault(_invoke),require$$1$13=Object.freeze({"default":_invoke$1}),_bind=createCommonjsModule(function(module){var aFunction=interopDefault(require$$0$2),isObject=interopDefault(require$$0$1),invoke=interopDefault(require$$1$13),arraySlice=[].slice,factories={},construct=function(F,len,args){if(!(len in factories)){for(var n=[],i=0;i<len;i++)n[i]="a["+i+"]";factories[len]=Function("F,a","return new F("+n.join(",")+")")}return factories[len](F,args)};module.exports=Function.bind||function(that){var fn=aFunction(this),partArgs=arraySlice.call(arguments,1),bound=function bound(){var args=partArgs.concat(arraySlice.call(arguments));return this instanceof bound?construct(fn,args.length,args):invoke(fn,args,that)};return isObject(fn.prototype)&&(bound.prototype=fn.prototype),bound}}),_bind$1=interopDefault(_bind),require$$1$12=Object.freeze({"default":_bind$1}),es6_function_bind=createCommonjsModule(function(module){var $export=interopDefault(require$$1$2);$export($export.P,"Function",{bind:interopDefault(require$$1$12)})});interopDefault(es6_function_bind);var es6_function_name=createCommonjsModule(function(module){var dP=interopDefault(require$$2$1).f,createDesc=interopDefault(require$$2$3),has=interopDefault(require$$4),FProto=Function.prototype,nameRE=/^\s*function ([^ (]*)/,NAME="name",isExtensible=Object.isExtensible||function(){return!0};NAME in FProto||interopDefault(require$$1)&&dP(FProto,NAME,{configurable:!0,get:function(){try{var that=this,name=(""+that).match(nameRE)[1];return has(that,NAME)||!isExtensible(that)||dP(that,NAME,createDesc(5,name)),name}catch(e){return""}}})});interopDefault(es6_function_name);var es6_function_hasInstance=createCommonjsModule(function(module){var isObject=interopDefault(require$$0$1),getPrototypeOf=interopDefault(require$$0$13),HAS_INSTANCE=interopDefault(require$$0$4)("hasInstance"),FunctionProto=Function.prototype;HAS_INSTANCE in FunctionProto||interopDefault(require$$2$1).f(FunctionProto,HAS_INSTANCE,{value:function(O){if("function"!=typeof this||!isObject(O))return!1;if(!isObject(this.prototype))return O instanceof this;for(;O=getPrototypeOf(O);)if(this.prototype===O)return!0;return!1}})});interopDefault(es6_function_hasInstance);var _stringWs=createCommonjsModule(function(module){module.exports="\t\n\x0B\f\r   ᠎              \u2028\u2029\ufeff"}),_stringWs$1=interopDefault(_stringWs),require$$0$17=Object.freeze({"default":_stringWs$1}),_stringTrim=createCommonjsModule(function(module){var $export=interopDefault(require$$1$2),defined=interopDefault(require$$4$3),fails=interopDefault(require$$1$1),spaces=interopDefault(require$$0$17),space="["+spaces+"]",non="​…",ltrim=RegExp("^"+space+space+"*"),rtrim=RegExp(space+space+"*$"),exporter=function(KEY,exec,ALIAS){var exp={},FORCE=fails(function(){return!!spaces[KEY]()||non[KEY]()!=non}),fn=exp[KEY]=FORCE?exec(trim):spaces[KEY];ALIAS&&(exp[ALIAS]=fn),$export($export.P+$export.F*FORCE,"String",exp)},trim=exporter.trim=function(string,TYPE){return string=String(defined(string)),1&TYPE&&(string=string.replace(ltrim,"")),2&TYPE&&(string=string.replace(rtrim,"")),string};module.exports=exporter}),_stringTrim$1=interopDefault(_stringTrim),require$$0$16=Object.freeze({"default":_stringTrim$1}),_parseInt=createCommonjsModule(function(module){var $parseInt=interopDefault(require$$3).parseInt,$trim=interopDefault(require$$0$16).trim,ws=interopDefault(require$$0$17),hex=/^[\-+]?0[xX]/;module.exports=8!==$parseInt(ws+"08")||22!==$parseInt(ws+"0x16")?function(str,radix){var string=$trim(String(str),3);return $parseInt(string,radix>>>0||(hex.test(string)?16:10))}:$parseInt}),_parseInt$1=interopDefault(_parseInt),require$$0$15=Object.freeze({"default":_parseInt$1}),es6_parseInt=createCommonjsModule(function(module){var $export=interopDefault(require$$1$2),$parseInt=interopDefault(require$$0$15);$export($export.G+$export.F*(parseInt!=$parseInt),{parseInt:$parseInt})});interopDefault(es6_parseInt);var _parseFloat=createCommonjsModule(function(module){var $parseFloat=interopDefault(require$$3).parseFloat,$trim=interopDefault(require$$0$16).trim;module.exports=1/$parseFloat(interopDefault(require$$0$17)+"-0")!==-(1/0)?function(str){var string=$trim(String(str),3),result=$parseFloat(string);return 0===result&&"-"==string.charAt(0)?-0:result}:$parseFloat}),_parseFloat$1=interopDefault(_parseFloat),require$$0$18=Object.freeze({"default":_parseFloat$1}),es6_parseFloat=createCommonjsModule(function(module){var $export=interopDefault(require$$1$2),$parseFloat=interopDefault(require$$0$18);$export($export.G+$export.F*(parseFloat!=$parseFloat),{parseFloat:$parseFloat})});interopDefault(es6_parseFloat);var _inheritIfRequired=createCommonjsModule(function(module){var isObject=interopDefault(require$$0$1),setPrototypeOf=interopDefault(require$$0$14).set;module.exports=function(that,target,C){var P,S=target.constructor;return S!==C&&"function"==typeof S&&(P=S.prototype)!==C.prototype&&isObject(P)&&setPrototypeOf&&setPrototypeOf(that,P),that}}),_inheritIfRequired$1=interopDefault(_inheritIfRequired),require$$0$19=Object.freeze({"default":_inheritIfRequired$1}),es6_number_constructor=createCommonjsModule(function(module){var global=interopDefault(require$$3),has=interopDefault(require$$4),cof=interopDefault(require$$0$6),inheritIfRequired=interopDefault(require$$0$19),toPrimitive=interopDefault(require$$4$1),fails=interopDefault(require$$1$1),gOPN=interopDefault(require$$3$3).f,gOPD=interopDefault(require$$2$7).f,dP=interopDefault(require$$2$1).f,$trim=interopDefault(require$$0$16).trim,NUMBER="Number",$Number=global[NUMBER],Base=$Number,proto=$Number.prototype,BROKEN_COF=cof(interopDefault(require$$6$1)(proto))==NUMBER,TRIM="trim"in String.prototype,toNumber=function(argument){var it=toPrimitive(argument,!1);if("string"==typeof it&&it.length>2){it=TRIM?it.trim():$trim(it,3);var third,radix,maxCode,first=it.charCodeAt(0);if(43===first||45===first){if(third=it.charCodeAt(2),88===third||120===third)return NaN}else if(48===first){switch(it.charCodeAt(1)){case 66:case 98:radix=2,maxCode=49;break;case 79:case 111:radix=8,maxCode=55;break;default:return+it}for(var code,digits=it.slice(2),i=0,l=digits.length;i<l;i++)if(code=digits.charCodeAt(i),code<48||code>maxCode)return NaN;return parseInt(digits,radix)}}return+it};if(!$Number(" 0o1")||!$Number("0b1")||$Number("+0x1")){$Number=function(value){var it=arguments.length<1?0:value,that=this;return that instanceof $Number&&(BROKEN_COF?fails(function(){proto.valueOf.call(that)}):cof(that)!=NUMBER)?inheritIfRequired(new Base(toNumber(it)),that,$Number):toNumber(it)};for(var key,keys=interopDefault(require$$1)?gOPN(Base):"MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger".split(","),j=0;keys.length>j;j++)has(Base,key=keys[j])&&!has($Number,key)&&dP($Number,key,gOPD(Base,key));$Number.prototype=proto,proto.constructor=$Number,interopDefault(require$$4$2)(global,NUMBER,$Number)}});interopDefault(es6_number_constructor);var _aNumberValue=createCommonjsModule(function(module){var cof=interopDefault(require$$0$6);module.exports=function(it,msg){if("number"!=typeof it&&"Number"!=cof(it))throw TypeError(msg);return+it}}),_aNumberValue$1=interopDefault(_aNumberValue),require$$0$20=Object.freeze({"default":_aNumberValue$1}),_stringRepeat=createCommonjsModule(function(module){var toInteger=interopDefault(require$$26),defined=interopDefault(require$$4$3);module.exports=function(count){var str=String(defined(this)),res="",n=toInteger(count);if(n<0||n==1/0)throw RangeError("Count can't be negative");for(;n>0;(n>>>=1)&&(str+=str))1&n&&(res+=str);return res}}),_stringRepeat$1=interopDefault(_stringRepeat),require$$1$14=Object.freeze({"default":_stringRepeat$1}),es6_number_toFixed=createCommonjsModule(function(module){var $export=interopDefault(require$$1$2),toInteger=interopDefault(require$$26),aNumberValue=interopDefault(require$$0$20),repeat=interopDefault(require$$1$14),$toFixed=1..toFixed,floor=Math.floor,data=[0,0,0,0,0,0],ERROR="Number.toFixed: incorrect invocation!",ZERO="0",multiply=function(n,c){for(var i=-1,c2=c;++i<6;)c2+=n*data[i],data[i]=c2%1e7,c2=floor(c2/1e7)},divide=function(n){for(var i=6,c=0;--i>=0;)c+=data[i],data[i]=floor(c/n),c=c%n*1e7},numToString=function(){for(var i=6,s="";--i>=0;)if(""!==s||0===i||0!==data[i]){var t=String(data[i]);s=""===s?t:s+repeat.call(ZERO,7-t.length)+t}return s},pow=function pow(x,n,acc){return 0===n?acc:n%2===1?pow(x,n-1,acc*x):pow(x*x,n/2,acc)},log=function(x){for(var n=0,x2=x;x2>=4096;)n+=12,x2/=4096;for(;x2>=2;)n+=1,x2/=2;return n};$export($export.P+$export.F*(!!$toFixed&&("0.000"!==8e-5.toFixed(3)||"1"!==.9.toFixed(0)||"1.25"!==1.255.toFixed(2)||"1000000000000000128"!==(0xde0b6b3a7640080).toFixed(0))||!interopDefault(require$$1$1)(function(){$toFixed.call({})})),"Number",{toFixed:function(fractionDigits){var e,z,j,k,x=aNumberValue(this,ERROR),f=toInteger(fractionDigits),s="",m=ZERO;if(f<0||f>20)throw RangeError(ERROR);if(x!=x)return"NaN";if(x<=-1e21||x>=1e21)return String(x);if(x<0&&(s="-",x=-x),x>1e-21)if(e=log(x*pow(2,69,1))-69,z=e<0?x*pow(2,-e,1):x/pow(2,e,1),z*=4503599627370496,e=52-e,e>0){for(multiply(0,z),j=f;j>=7;)multiply(1e7,0),j-=7;for(multiply(pow(10,j,1),0),j=e-1;j>=23;)divide(1<<23),j-=23;divide(1<<j),multiply(1,1),divide(2),m=numToString()}else multiply(0,z),multiply(1<<-e,0),m=numToString()+repeat.call(ZERO,f);return f>0?(k=m.length,m=s+(k<=f?"0."+repeat.call(ZERO,f-k)+m:m.slice(0,k-f)+"."+m.slice(k-f))):m=s+m,m}})});interopDefault(es6_number_toFixed);var es6_number_toPrecision=createCommonjsModule(function(module){var $export=interopDefault(require$$1$2),$fails=interopDefault(require$$1$1),aNumberValue=interopDefault(require$$0$20),$toPrecision=1..toPrecision;$export($export.P+$export.F*($fails(function(){return"1"!==$toPrecision.call(1,void 0)})||!$fails(function(){$toPrecision.call({})})),"Number",{toPrecision:function(precision){var that=aNumberValue(this,"Number#toPrecision: incorrect invocation!");return void 0===precision?$toPrecision.call(that):$toPrecision.call(that,precision)}})});interopDefault(es6_number_toPrecision);var es6_number_epsilon=createCommonjsModule(function(module){var $export=interopDefault(require$$1$2);$export($export.S,"Number",{EPSILON:Math.pow(2,-52)})});interopDefault(es6_number_epsilon);var es6_number_isFinite=createCommonjsModule(function(module){var $export=interopDefault(require$$1$2),_isFinite=interopDefault(require$$3).isFinite;$export($export.S,"Number",{isFinite:function(it){return"number"==typeof it&&_isFinite(it)}})});interopDefault(es6_number_isFinite);var _isInteger=createCommonjsModule(function(module){var isObject=interopDefault(require$$0$1),floor=Math.floor;module.exports=function(it){return!isObject(it)&&isFinite(it)&&floor(it)===it}}),_isInteger$1=interopDefault(_isInteger),require$$0$21=Object.freeze({"default":_isInteger$1}),es6_number_isInteger=createCommonjsModule(function(module){var $export=interopDefault(require$$1$2);$export($export.S,"Number",{isInteger:interopDefault(require$$0$21)})});interopDefault(es6_number_isInteger);var es6_number_isNan=createCommonjsModule(function(module){var $export=interopDefault(require$$1$2);$export($export.S,"Number",{isNaN:function(number){return number!=number}})});interopDefault(es6_number_isNan);var es6_number_isSafeInteger=createCommonjsModule(function(module){var $export=interopDefault(require$$1$2),isInteger=interopDefault(require$$0$21),abs=Math.abs;$export($export.S,"Number",{isSafeInteger:function(number){return isInteger(number)&&abs(number)<=9007199254740991}})});interopDefault(es6_number_isSafeInteger);var es6_number_maxSafeInteger=createCommonjsModule(function(module){var $export=interopDefault(require$$1$2);$export($export.S,"Number",{MAX_SAFE_INTEGER:9007199254740991})});interopDefault(es6_number_maxSafeInteger);var es6_number_minSafeInteger=createCommonjsModule(function(module){var $export=interopDefault(require$$1$2);$export($export.S,"Number",{MIN_SAFE_INTEGER:-9007199254740991})});interopDefault(es6_number_minSafeInteger);var es6_number_parseFloat=createCommonjsModule(function(module){var $export=interopDefault(require$$1$2),$parseFloat=interopDefault(require$$0$18);$export($export.S+$export.F*(Number.parseFloat!=$parseFloat),"Number",{parseFloat:$parseFloat})});interopDefault(es6_number_parseFloat);var es6_number_parseInt=createCommonjsModule(function(module){var $export=interopDefault(require$$1$2),$parseInt=interopDefault(require$$0$15);$export($export.S+$export.F*(Number.parseInt!=$parseInt),"Number",{parseInt:$parseInt})});interopDefault(es6_number_parseInt);var _mathLog1p=createCommonjsModule(function(module){module.exports=Math.log1p||function(x){return(x=+x)>-1e-8&&x<1e-8?x-x*x/2:Math.log(1+x)}}),_mathLog1p$1=interopDefault(_mathLog1p),require$$0$22=Object.freeze({"default":_mathLog1p$1}),es6_math_acosh=createCommonjsModule(function(module){var $export=interopDefault(require$$1$2),log1p=interopDefault(require$$0$22),sqrt=Math.sqrt,$acosh=Math.acosh;$export($export.S+$export.F*!($acosh&&710==Math.floor($acosh(Number.MAX_VALUE))&&$acosh(1/0)==1/0),"Math",{acosh:function(x){return(x=+x)<1?NaN:x>94906265.62425156?Math.log(x)+Math.LN2:log1p(x-1+sqrt(x-1)*sqrt(x+1))}})});interopDefault(es6_math_acosh);var es6_math_asinh=createCommonjsModule(function(module){function asinh(x){return isFinite(x=+x)&&0!=x?x<0?-asinh(-x):Math.log(x+Math.sqrt(x*x+1)):x}var $export=interopDefault(require$$1$2),$asinh=Math.asinh;$export($export.S+$export.F*!($asinh&&1/$asinh(0)>0),"Math",{asinh:asinh})});interopDefault(es6_math_asinh);var es6_math_atanh=createCommonjsModule(function(module){var $export=interopDefault(require$$1$2),$atanh=Math.atanh;$export($export.S+$export.F*!($atanh&&1/$atanh(-0)<0),"Math",{atanh:function(x){return 0==(x=+x)?x:Math.log((1+x)/(1-x))/2}})});interopDefault(es6_math_atanh);var _mathSign=createCommonjsModule(function(module){module.exports=Math.sign||function(x){return 0==(x=+x)||x!=x?x:x<0?-1:1}}),_mathSign$1=interopDefault(_mathSign),require$$0$23=Object.freeze({"default":_mathSign$1}),es6_math_cbrt=createCommonjsModule(function(module){var $export=interopDefault(require$$1$2),sign=interopDefault(require$$0$23);$export($export.S,"Math",{cbrt:function(x){return sign(x=+x)*Math.pow(Math.abs(x),1/3)}})});interopDefault(es6_math_cbrt);var es6_math_clz32=createCommonjsModule(function(module){var $export=interopDefault(require$$1$2);$export($export.S,"Math",{clz32:function(x){return(x>>>=0)?31-Math.floor(Math.log(x+.5)*Math.LOG2E):32}})});interopDefault(es6_math_clz32);var es6_math_cosh=createCommonjsModule(function(module){var $export=interopDefault(require$$1$2),exp=Math.exp;$export($export.S,"Math",{cosh:function(x){return(exp(x=+x)+exp(-x))/2}})});interopDefault(es6_math_cosh);var _mathExpm1=createCommonjsModule(function(module){var $expm1=Math.expm1;module.exports=!$expm1||$expm1(10)>22025.465794806718||$expm1(10)<22025.465794806718||$expm1(-2e-17)!=-2e-17?function(x){return 0==(x=+x)?x:x>-1e-6&&x<1e-6?x+x*x/2:Math.exp(x)-1}:$expm1}),_mathExpm1$1=interopDefault(_mathExpm1),require$$0$24=Object.freeze({"default":_mathExpm1$1}),es6_math_expm1=createCommonjsModule(function(module){var $export=interopDefault(require$$1$2),$expm1=interopDefault(require$$0$24);$export($export.S+$export.F*($expm1!=Math.expm1),"Math",{expm1:$expm1})});interopDefault(es6_math_expm1);var es6_math_fround=createCommonjsModule(function(module){var $export=interopDefault(require$$1$2),sign=interopDefault(require$$0$23),pow=Math.pow,EPSILON=pow(2,-52),EPSILON32=pow(2,-23),MAX32=pow(2,127)*(2-EPSILON32),MIN32=pow(2,-126),roundTiesToEven=function(n){return n+1/EPSILON-1/EPSILON};$export($export.S,"Math",{fround:function(x){var a,result,$abs=Math.abs(x),$sign=sign(x);return $abs<MIN32?$sign*roundTiesToEven($abs/MIN32/EPSILON32)*MIN32*EPSILON32:(a=(1+EPSILON32/EPSILON)*$abs,result=a-(a-$abs),result>MAX32||result!=result?$sign*(1/0):$sign*result)}})});interopDefault(es6_math_fround);var es6_math_hypot=createCommonjsModule(function(module){var $export=interopDefault(require$$1$2),abs=Math.abs;$export($export.S,"Math",{hypot:function(value1,value2){for(var arg,div,sum=0,i=0,aLen=arguments.length,larg=0;i<aLen;)arg=abs(arguments[i++]),larg<arg?(div=larg/arg,sum=sum*div*div+1,larg=arg):arg>0?(div=arg/larg,sum+=div*div):sum+=arg;return larg===1/0?1/0:larg*Math.sqrt(sum)}})});interopDefault(es6_math_hypot);var es6_math_imul=createCommonjsModule(function(module){var $export=interopDefault(require$$1$2),$imul=Math.imul;$export($export.S+$export.F*interopDefault(require$$1$1)(function(){return $imul(4294967295,5)!=-5||2!=$imul.length}),"Math",{imul:function(x,y){var UINT16=65535,xn=+x,yn=+y,xl=UINT16&xn,yl=UINT16&yn;return 0|xl*yl+((UINT16&xn>>>16)*yl+xl*(UINT16&yn>>>16)<<16>>>0)}})});interopDefault(es6_math_imul);var es6_math_log10=createCommonjsModule(function(module){var $export=interopDefault(require$$1$2);$export($export.S,"Math",{log10:function(x){return Math.log(x)/Math.LN10}})});interopDefault(es6_math_log10);var es6_math_log1p=createCommonjsModule(function(module){var $export=interopDefault(require$$1$2);$export($export.S,"Math",{log1p:interopDefault(require$$0$22)})});interopDefault(es6_math_log1p);var es6_math_log2=createCommonjsModule(function(module){var $export=interopDefault(require$$1$2);$export($export.S,"Math",{log2:function(x){return Math.log(x)/Math.LN2}})});interopDefault(es6_math_log2);var es6_math_sign=createCommonjsModule(function(module){var $export=interopDefault(require$$1$2);$export($export.S,"Math",{sign:interopDefault(require$$0$23)})});interopDefault(es6_math_sign);var es6_math_sinh=createCommonjsModule(function(module){var $export=interopDefault(require$$1$2),expm1=interopDefault(require$$0$24),exp=Math.exp;$export($export.S+$export.F*interopDefault(require$$1$1)(function(){return!Math.sinh(-2e-17)!=-2e-17}),"Math",{sinh:function(x){return Math.abs(x=+x)<1?(expm1(x)-expm1(-x))/2:(exp(x-1)-exp(-x-1))*(Math.E/2)}})});interopDefault(es6_math_sinh);var es6_math_tanh=createCommonjsModule(function(module){var $export=interopDefault(require$$1$2),expm1=interopDefault(require$$0$24),exp=Math.exp;$export($export.S,"Math",{tanh:function(x){var a=expm1(x=+x),b=expm1(-x);return a==1/0?1:b==1/0?-1:(a-b)/(exp(x)+exp(-x))}})});interopDefault(es6_math_tanh);var es6_math_trunc=createCommonjsModule(function(module){var $export=interopDefault(require$$1$2);$export($export.S,"Math",{trunc:function(it){return(it>0?Math.floor:Math.ceil)(it)}})});interopDefault(es6_math_trunc);var es6_string_fromCodePoint=createCommonjsModule(function(module){var $export=interopDefault(require$$1$2),toIndex=interopDefault(require$$24),fromCharCode=String.fromCharCode,$fromCodePoint=String.fromCodePoint;$export($export.S+$export.F*(!!$fromCodePoint&&1!=$fromCodePoint.length),"String",{fromCodePoint:function(x){for(var code,res=[],aLen=arguments.length,i=0;aLen>i;){if(code=+arguments[i++],toIndex(code,1114111)!==code)throw RangeError(code+" is not a valid code point");res.push(code<65536?fromCharCode(code):fromCharCode(((code-=65536)>>10)+55296,code%1024+56320))}return res.join("")}})});interopDefault(es6_string_fromCodePoint);var es6_string_raw=createCommonjsModule(function(module){var $export=interopDefault(require$$1$2),toIObject=interopDefault(require$$1$7),toLength=interopDefault(require$$3$1);$export($export.S,"String",{raw:function(callSite){for(var tpl=toIObject(callSite.raw),len=toLength(tpl.length),aLen=arguments.length,res=[],i=0;len>i;)res.push(String(tpl[i++])),i<aLen&&res.push(String(arguments[i]));return res.join("")}})});interopDefault(es6_string_raw);var es6_string_trim=createCommonjsModule(function(module){interopDefault(require$$0$16)("trim",function($trim){return function(){return $trim(this,3)}})});interopDefault(es6_string_trim);var _stringAt=createCommonjsModule(function(module){var toInteger=interopDefault(require$$26),defined=interopDefault(require$$4$3);module.exports=function(TO_STRING){return function(that,pos){var a,b,s=String(defined(that)),i=toInteger(pos),l=s.length;return i<0||i>=l?TO_STRING?"":void 0:(a=s.charCodeAt(i),a<55296||a>56319||i+1===l||(b=s.charCodeAt(i+1))<56320||b>57343?TO_STRING?s.charAt(i):a:TO_STRING?s.slice(i,i+2):(a-55296<<10)+(b-56320)+65536)}}}),_stringAt$1=interopDefault(_stringAt),require$$0$25=Object.freeze({"default":_stringAt$1}),_iterators=createCommonjsModule(function(module){module.exports={}}),_iterators$1=interopDefault(_iterators),require$$1$15=Object.freeze({"default":_iterators$1}),_iterCreate=createCommonjsModule(function(module){var create=interopDefault(require$$6$1),descriptor=interopDefault(require$$2$3),setToStringTag=interopDefault(require$$0$3),IteratorPrototype={};interopDefault(require$$2)(IteratorPrototype,interopDefault(require$$0$4)("iterator"),function(){return this}),module.exports=function(Constructor,NAME,next){Constructor.prototype=create(IteratorPrototype,{next:descriptor(1,next)}),setToStringTag(Constructor,NAME+" Iterator")}}),_iterCreate$1=interopDefault(_iterCreate),require$$0$26=Object.freeze({"default":_iterCreate$1}),_iterDefine=createCommonjsModule(function(module){var LIBRARY=interopDefault(require$$2$4),$export=interopDefault(require$$1$2),redefine=interopDefault(require$$4$2),hide=interopDefault(require$$2),has=interopDefault(require$$4),Iterators=interopDefault(require$$1$15),$iterCreate=interopDefault(require$$0$26),setToStringTag=interopDefault(require$$0$3),getPrototypeOf=interopDefault(require$$0$13),ITERATOR=interopDefault(require$$0$4)("iterator"),BUGGY=!([].keys&&"next"in[].keys()),FF_ITERATOR="@@iterator",KEYS="keys",VALUES="values",returnThis=function(){return this};module.exports=function(Base,NAME,Constructor,next,DEFAULT,IS_SET,FORCED){$iterCreate(Constructor,NAME,next);var methods,key,IteratorPrototype,getMethod=function(kind){if(!BUGGY&&kind in proto)return proto[kind];switch(kind){case KEYS:return function(){return new Constructor(this,kind)};case VALUES:return function(){return new Constructor(this,kind)}}return function(){return new Constructor(this,kind)}},TAG=NAME+" Iterator",DEF_VALUES=DEFAULT==VALUES,VALUES_BUG=!1,proto=Base.prototype,$native=proto[ITERATOR]||proto[FF_ITERATOR]||DEFAULT&&proto[DEFAULT],$default=$native||getMethod(DEFAULT),$entries=DEFAULT?DEF_VALUES?getMethod("entries"):$default:void 0,$anyNative="Array"==NAME?proto.entries||$native:$native;if($anyNative&&(IteratorPrototype=getPrototypeOf($anyNative.call(new Base)),IteratorPrototype!==Object.prototype&&(setToStringTag(IteratorPrototype,TAG,!0),LIBRARY||has(IteratorPrototype,ITERATOR)||hide(IteratorPrototype,ITERATOR,returnThis))),DEF_VALUES&&$native&&$native.name!==VALUES&&(VALUES_BUG=!0,$default=function(){return $native.call(this)}),LIBRARY&&!FORCED||!BUGGY&&!VALUES_BUG&&proto[ITERATOR]||hide(proto,ITERATOR,$default),Iterators[NAME]=$default,Iterators[TAG]=returnThis,DEFAULT)if(methods={values:DEF_VALUES?$default:getMethod(VALUES),keys:IS_SET?$default:getMethod(KEYS),entries:$entries},FORCED)for(key in methods)key in proto||redefine(proto,key,methods[key]);else $export($export.P+$export.F*(BUGGY||VALUES_BUG),NAME,methods);return methods}}),_iterDefine$1=interopDefault(_iterDefine),require$$4$4=Object.freeze({"default":_iterDefine$1}),es6_string_iterator=createCommonjsModule(function(module){var $at=interopDefault(require$$0$25)(!0);interopDefault(require$$4$4)(String,"String",function(iterated){this._t=String(iterated),this._i=0},function(){var point,O=this._t,index=this._i;return index>=O.length?{value:void 0,done:!0}:(point=$at(O,index),this._i+=point.length,{value:point,done:!1})})});interopDefault(es6_string_iterator);var es6_string_codePointAt=createCommonjsModule(function(module){var $export=interopDefault(require$$1$2),$at=interopDefault(require$$0$25)(!1);$export($export.P,"String",{codePointAt:function(pos){return $at(this,pos)}})});interopDefault(es6_string_codePointAt);var _isRegexp=createCommonjsModule(function(module){var isObject=interopDefault(require$$0$1),cof=interopDefault(require$$0$6),MATCH=interopDefault(require$$0$4)("match");module.exports=function(it){var isRegExp;return isObject(it)&&(void 0!==(isRegExp=it[MATCH])?!!isRegExp:"RegExp"==cof(it))}}),_isRegexp$1=interopDefault(_isRegexp),require$$2$8=Object.freeze({"default":_isRegexp$1}),_stringContext=createCommonjsModule(function(module){var isRegExp=interopDefault(require$$2$8),defined=interopDefault(require$$4$3);module.exports=function(that,searchString,NAME){if(isRegExp(searchString))throw TypeError("String#"+NAME+" doesn't accept regex!");return String(defined(that))}}),_stringContext$1=interopDefault(_stringContext),require$$1$16=Object.freeze({"default":_stringContext$1}),_failsIsRegexp=createCommonjsModule(function(module){var MATCH=interopDefault(require$$0$4)("match");module.exports=function(KEY){var re=/./;try{"/./"[KEY](re)}catch(e){try{return re[MATCH]=!1,!"/./"[KEY](re)}catch(f){}}return!0}}),_failsIsRegexp$1=interopDefault(_failsIsRegexp),require$$0$27=Object.freeze({"default":_failsIsRegexp$1}),es6_string_endsWith=createCommonjsModule(function(module){var $export=interopDefault(require$$1$2),toLength=interopDefault(require$$3$1),context=interopDefault(require$$1$16),ENDS_WITH="endsWith",$endsWith=""[ENDS_WITH];$export($export.P+$export.F*interopDefault(require$$0$27)(ENDS_WITH),"String",{endsWith:function(searchString){var that=context(this,searchString,ENDS_WITH),endPosition=arguments.length>1?arguments[1]:void 0,len=toLength(that.length),end=void 0===endPosition?len:Math.min(toLength(endPosition),len),search=String(searchString);return $endsWith?$endsWith.call(that,search,end):that.slice(end-search.length,end)===search}})});interopDefault(es6_string_endsWith);var es6_string_includes=createCommonjsModule(function(module){var $export=interopDefault(require$$1$2),context=interopDefault(require$$1$16),INCLUDES="includes";$export($export.P+$export.F*interopDefault(require$$0$27)(INCLUDES),"String",{includes:function(searchString){return!!~context(this,searchString,INCLUDES).indexOf(searchString,arguments.length>1?arguments[1]:void 0)}})});interopDefault(es6_string_includes);var es6_string_repeat=createCommonjsModule(function(module){var $export=interopDefault(require$$1$2);$export($export.P,"String",{repeat:interopDefault(require$$1$14)})});interopDefault(es6_string_repeat);var es6_string_startsWith=createCommonjsModule(function(module){var $export=interopDefault(require$$1$2),toLength=interopDefault(require$$3$1),context=interopDefault(require$$1$16),STARTS_WITH="startsWith",$startsWith=""[STARTS_WITH];$export($export.P+$export.F*interopDefault(require$$0$27)(STARTS_WITH),"String",{startsWith:function(searchString){var that=context(this,searchString,STARTS_WITH),index=toLength(Math.min(arguments.length>1?arguments[1]:void 0,that.length)),search=String(searchString);return $startsWith?$startsWith.call(that,search,index):that.slice(index,index+search.length)===search}})});interopDefault(es6_string_startsWith);var _stringHtml=createCommonjsModule(function(module){var $export=interopDefault(require$$1$2),fails=interopDefault(require$$1$1),defined=interopDefault(require$$4$3),quot=/"/g,createHTML=function(string,tag,attribute,value){
+var S=String(defined(string)),p1="<"+tag;return""!==attribute&&(p1+=" "+attribute+'="'+String(value).replace(quot,"&quot;")+'"'),p1+">"+S+"</"+tag+">"};module.exports=function(NAME,exec){var O={};O[NAME]=exec(createHTML),$export($export.P+$export.F*fails(function(){var test=""[NAME]('"');return test!==test.toLowerCase()||test.split('"').length>3}),"String",O)}}),_stringHtml$1=interopDefault(_stringHtml),require$$0$28=Object.freeze({"default":_stringHtml$1}),es6_string_anchor=createCommonjsModule(function(module){interopDefault(require$$0$28)("anchor",function(createHTML){return function(name){return createHTML(this,"a","name",name)}})});interopDefault(es6_string_anchor);var es6_string_big=createCommonjsModule(function(module){interopDefault(require$$0$28)("big",function(createHTML){return function(){return createHTML(this,"big","","")}})});interopDefault(es6_string_big);var es6_string_blink=createCommonjsModule(function(module){interopDefault(require$$0$28)("blink",function(createHTML){return function(){return createHTML(this,"blink","","")}})});interopDefault(es6_string_blink);var es6_string_bold=createCommonjsModule(function(module){interopDefault(require$$0$28)("bold",function(createHTML){return function(){return createHTML(this,"b","","")}})});interopDefault(es6_string_bold);var es6_string_fixed=createCommonjsModule(function(module){interopDefault(require$$0$28)("fixed",function(createHTML){return function(){return createHTML(this,"tt","","")}})});interopDefault(es6_string_fixed);var es6_string_fontcolor=createCommonjsModule(function(module){interopDefault(require$$0$28)("fontcolor",function(createHTML){return function(color){return createHTML(this,"font","color",color)}})});interopDefault(es6_string_fontcolor);var es6_string_fontsize=createCommonjsModule(function(module){interopDefault(require$$0$28)("fontsize",function(createHTML){return function(size){return createHTML(this,"font","size",size)}})});interopDefault(es6_string_fontsize);var es6_string_italics=createCommonjsModule(function(module){interopDefault(require$$0$28)("italics",function(createHTML){return function(){return createHTML(this,"i","","")}})});interopDefault(es6_string_italics);var es6_string_link=createCommonjsModule(function(module){interopDefault(require$$0$28)("link",function(createHTML){return function(url){return createHTML(this,"a","href",url)}})});interopDefault(es6_string_link);var es6_string_small=createCommonjsModule(function(module){interopDefault(require$$0$28)("small",function(createHTML){return function(){return createHTML(this,"small","","")}})});interopDefault(es6_string_small);var es6_string_strike=createCommonjsModule(function(module){interopDefault(require$$0$28)("strike",function(createHTML){return function(){return createHTML(this,"strike","","")}})});interopDefault(es6_string_strike);var es6_string_sub=createCommonjsModule(function(module){interopDefault(require$$0$28)("sub",function(createHTML){return function(){return createHTML(this,"sub","","")}})});interopDefault(es6_string_sub);var es6_string_sup=createCommonjsModule(function(module){interopDefault(require$$0$28)("sup",function(createHTML){return function(){return createHTML(this,"sup","","")}})});interopDefault(es6_string_sup);var es6_date_now=createCommonjsModule(function(module){var $export=interopDefault(require$$1$2);$export($export.S,"Date",{now:function(){return(new Date).getTime()}})});interopDefault(es6_date_now);var es6_date_toJson=createCommonjsModule(function(module){var $export=interopDefault(require$$1$2),toObject=interopDefault(require$$5$1),toPrimitive=interopDefault(require$$4$1);$export($export.P+$export.F*interopDefault(require$$1$1)(function(){return null!==new Date(NaN).toJSON()||1!==Date.prototype.toJSON.call({toISOString:function(){return 1}})}),"Date",{toJSON:function(key){var O=toObject(this),pv=toPrimitive(O);return"number"!=typeof pv||isFinite(pv)?O.toISOString():null}})});interopDefault(es6_date_toJson);var es6_date_toIsoString=createCommonjsModule(function(module){var $export=interopDefault(require$$1$2),fails=interopDefault(require$$1$1),getTime=Date.prototype.getTime,lz=function(num){return num>9?num:"0"+num};$export($export.P+$export.F*(fails(function(){return"0385-07-25T07:06:39.999Z"!=new Date(-5e13-1).toISOString()})||!fails(function(){new Date(NaN).toISOString()})),"Date",{toISOString:function(){if(!isFinite(getTime.call(this)))throw RangeError("Invalid time value");var d=this,y=d.getUTCFullYear(),m=d.getUTCMilliseconds(),s=y<0?"-":y>9999?"+":"";return s+("00000"+Math.abs(y)).slice(s?-6:-4)+"-"+lz(d.getUTCMonth()+1)+"-"+lz(d.getUTCDate())+"T"+lz(d.getUTCHours())+":"+lz(d.getUTCMinutes())+":"+lz(d.getUTCSeconds())+"."+(m>99?m:"0"+lz(m))+"Z"}})});interopDefault(es6_date_toIsoString);var es6_date_toString=createCommonjsModule(function(module){var DateProto=Date.prototype,INVALID_DATE="Invalid Date",TO_STRING="toString",$toString=DateProto[TO_STRING],getTime=DateProto.getTime;new Date(NaN)+""!=INVALID_DATE&&interopDefault(require$$4$2)(DateProto,TO_STRING,function(){var value=getTime.call(this);return value===value?$toString.call(this):INVALID_DATE})});interopDefault(es6_date_toString);var _dateToPrimitive=createCommonjsModule(function(module){var anObject=interopDefault(require$$5),toPrimitive=interopDefault(require$$4$1),NUMBER="number";module.exports=function(hint){if("string"!==hint&&hint!==NUMBER&&"default"!==hint)throw TypeError("Incorrect hint");return toPrimitive(anObject(this),hint!=NUMBER)}}),_dateToPrimitive$1=interopDefault(_dateToPrimitive),require$$0$29=Object.freeze({"default":_dateToPrimitive$1}),es6_date_toPrimitive=createCommonjsModule(function(module){var TO_PRIMITIVE=interopDefault(require$$0$4)("toPrimitive"),proto=Date.prototype;TO_PRIMITIVE in proto||interopDefault(require$$2)(proto,TO_PRIMITIVE,interopDefault(require$$0$29))});interopDefault(es6_date_toPrimitive);var es6_array_isArray=createCommonjsModule(function(module){var $export=interopDefault(require$$1$2);$export($export.S,"Array",{isArray:interopDefault(require$$1$10)})});interopDefault(es6_array_isArray);var _iterCall=createCommonjsModule(function(module){var anObject=interopDefault(require$$5);module.exports=function(iterator,fn,value,entries){try{return entries?fn(anObject(value)[0],value[1]):fn(value)}catch(e){var ret=iterator["return"];throw void 0!==ret&&anObject(ret.call(iterator)),e}}}),_iterCall$1=interopDefault(_iterCall),require$$4$5=Object.freeze({"default":_iterCall$1}),_isArrayIter=createCommonjsModule(function(module){var Iterators=interopDefault(require$$1$15),ITERATOR=interopDefault(require$$0$4)("iterator"),ArrayProto=Array.prototype;module.exports=function(it){return void 0!==it&&(Iterators.Array===it||ArrayProto[ITERATOR]===it)}}),_isArrayIter$1=interopDefault(_isArrayIter),require$$17=Object.freeze({"default":_isArrayIter$1}),_createProperty=createCommonjsModule(function(module){var $defineProperty=interopDefault(require$$2$1),createDesc=interopDefault(require$$2$3);module.exports=function(object,index,value){index in object?$defineProperty.f(object,index,createDesc(0,value)):object[index]=value}}),_createProperty$1=interopDefault(_createProperty),require$$0$30=Object.freeze({"default":_createProperty$1}),core_getIteratorMethod=createCommonjsModule(function(module){var classof=interopDefault(require$$1$11),ITERATOR=interopDefault(require$$0$4)("iterator"),Iterators=interopDefault(require$$1$15);module.exports=interopDefault(require$$0).getIteratorMethod=function(it){if(void 0!=it)return it[ITERATOR]||it["@@iterator"]||Iterators[classof(it)]}}),core_getIteratorMethod$1=interopDefault(core_getIteratorMethod),require$$13=Object.freeze({"default":core_getIteratorMethod$1}),_iterDetect=createCommonjsModule(function(module){var ITERATOR=interopDefault(require$$0$4)("iterator"),SAFE_CLOSING=!1;try{var riter=[7][ITERATOR]();riter["return"]=function(){SAFE_CLOSING=!0},Array.from(riter,function(){throw 2})}catch(e){}module.exports=function(exec,skipClosing){if(!skipClosing&&!SAFE_CLOSING)return!1;var safe=!1;try{var arr=[7],iter=arr[ITERATOR]();iter.next=function(){return{done:safe=!0}},arr[ITERATOR]=function(){return iter},exec(arr)}catch(e){}return safe}}),_iterDetect$1=interopDefault(_iterDetect),require$$5$2=Object.freeze({"default":_iterDetect$1}),es6_array_from=createCommonjsModule(function(module){var ctx=interopDefault(require$$31),$export=interopDefault(require$$1$2),toObject=interopDefault(require$$5$1),call=interopDefault(require$$4$5),isArrayIter=interopDefault(require$$17),toLength=interopDefault(require$$3$1),createProperty=interopDefault(require$$0$30),getIterFn=interopDefault(require$$13);$export($export.S+$export.F*!interopDefault(require$$5$2)(function(iter){Array.from(iter)}),"Array",{from:function(arrayLike){var length,result,step,iterator,O=toObject(arrayLike),C="function"==typeof this?this:Array,aLen=arguments.length,mapfn=aLen>1?arguments[1]:void 0,mapping=void 0!==mapfn,index=0,iterFn=getIterFn(O);if(mapping&&(mapfn=ctx(mapfn,aLen>2?arguments[2]:void 0,2)),void 0==iterFn||C==Array&&isArrayIter(iterFn))for(length=toLength(O.length),result=new C(length);length>index;index++)createProperty(result,index,mapping?mapfn(O[index],index):O[index]);else for(iterator=iterFn.call(O),result=new C;!(step=iterator.next()).done;index++)createProperty(result,index,mapping?call(iterator,mapfn,[step.value,index],!0):step.value);return result.length=index,result}})});interopDefault(es6_array_from);var es6_array_of=createCommonjsModule(function(module){var $export=interopDefault(require$$1$2),createProperty=interopDefault(require$$0$30);$export($export.S+$export.F*interopDefault(require$$1$1)(function(){function F(){}return!(Array.of.call(F)instanceof F)}),"Array",{of:function(){for(var index=0,aLen=arguments.length,result=new("function"==typeof this?this:Array)(aLen);aLen>index;)createProperty(result,index,arguments[index++]);return result.length=aLen,result}})});interopDefault(es6_array_of);var _strictMethod=createCommonjsModule(function(module){var fails=interopDefault(require$$1$1);module.exports=function(method,arg){return!!method&&fails(function(){arg?method.call(null,function(){},1):method.call(null)})}}),_strictMethod$1=interopDefault(_strictMethod),require$$0$31=Object.freeze({"default":_strictMethod$1}),es6_array_join=createCommonjsModule(function(module){var $export=interopDefault(require$$1$2),toIObject=interopDefault(require$$1$7),arrayJoin=[].join;$export($export.P+$export.F*(interopDefault(require$$1$8)!=Object||!interopDefault(require$$0$31)(arrayJoin)),"Array",{join:function(separator){return arrayJoin.call(toIObject(this),void 0===separator?",":separator)}})});interopDefault(es6_array_join);var es6_array_slice=createCommonjsModule(function(module){var $export=interopDefault(require$$1$2),html=interopDefault(require$$3$2),cof=interopDefault(require$$0$6),toIndex=interopDefault(require$$24),toLength=interopDefault(require$$3$1),arraySlice=[].slice;$export($export.P+$export.F*interopDefault(require$$1$1)(function(){html&&arraySlice.call(html)}),"Array",{slice:function(begin,end){var len=toLength(this.length),klass=cof(this);if(end=void 0===end?len:end,"Array"==klass)return arraySlice.call(this,begin,end);for(var start=toIndex(begin,len),upTo=toIndex(end,len),size=toLength(upTo-start),cloned=Array(size),i=0;i<size;i++)cloned[i]="String"==klass?this.charAt(start+i):this[start+i];return cloned}})});interopDefault(es6_array_slice);var es6_array_sort=createCommonjsModule(function(module){var $export=interopDefault(require$$1$2),aFunction=interopDefault(require$$0$2),toObject=interopDefault(require$$5$1),fails=interopDefault(require$$1$1),$sort=[].sort,test=[1,2,3];$export($export.P+$export.F*(fails(function(){test.sort(void 0)})||!fails(function(){test.sort(null)})||!interopDefault(require$$0$31)($sort)),"Array",{sort:function(comparefn){return void 0===comparefn?$sort.call(toObject(this)):$sort.call(toObject(this),aFunction(comparefn))}})});interopDefault(es6_array_sort);var _arraySpeciesConstructor=createCommonjsModule(function(module){var isObject=interopDefault(require$$0$1),isArray=interopDefault(require$$1$10),SPECIES=interopDefault(require$$0$4)("species");module.exports=function(original){var C;return isArray(original)&&(C=original.constructor,"function"!=typeof C||C!==Array&&!isArray(C.prototype)||(C=void 0),isObject(C)&&(C=C[SPECIES],null===C&&(C=void 0))),void 0===C?Array:C}}),_arraySpeciesConstructor$1=interopDefault(_arraySpeciesConstructor),require$$0$33=Object.freeze({"default":_arraySpeciesConstructor$1}),_arraySpeciesCreate=createCommonjsModule(function(module){var speciesConstructor=interopDefault(require$$0$33);module.exports=function(original,length){return new(speciesConstructor(original))(length)}}),_arraySpeciesCreate$1=interopDefault(_arraySpeciesCreate),require$$0$32=Object.freeze({"default":_arraySpeciesCreate$1}),_arrayMethods=createCommonjsModule(function(module){var ctx=interopDefault(require$$31),IObject=interopDefault(require$$1$8),toObject=interopDefault(require$$5$1),toLength=interopDefault(require$$3$1),asc=interopDefault(require$$0$32);module.exports=function(TYPE,$create){var IS_MAP=1==TYPE,IS_FILTER=2==TYPE,IS_SOME=3==TYPE,IS_EVERY=4==TYPE,IS_FIND_INDEX=6==TYPE,NO_HOLES=5==TYPE||IS_FIND_INDEX,create=$create||asc;return function($this,callbackfn,that){for(var val,res,O=toObject($this),self=IObject(O),f=ctx(callbackfn,that,3),length=toLength(self.length),index=0,result=IS_MAP?create($this,length):IS_FILTER?create($this,0):void 0;length>index;index++)if((NO_HOLES||index in self)&&(val=self[index],res=f(val,index,O),TYPE))if(IS_MAP)result[index]=res;else if(res)switch(TYPE){case 3:return!0;case 5:return val;case 6:return index;case 2:result.push(val)}else if(IS_EVERY)return!1;return IS_FIND_INDEX?-1:IS_SOME||IS_EVERY?IS_EVERY:result}}}),_arrayMethods$1=interopDefault(_arrayMethods),require$$10=Object.freeze({"default":_arrayMethods$1}),es6_array_forEach=createCommonjsModule(function(module){var $export=interopDefault(require$$1$2),$forEach=interopDefault(require$$10)(0),STRICT=interopDefault(require$$0$31)([].forEach,!0);$export($export.P+$export.F*!STRICT,"Array",{forEach:function(callbackfn){return $forEach(this,callbackfn,arguments[1])}})});interopDefault(es6_array_forEach);var es6_array_map=createCommonjsModule(function(module){var $export=interopDefault(require$$1$2),$map=interopDefault(require$$10)(1);$export($export.P+$export.F*!interopDefault(require$$0$31)([].map,!0),"Array",{map:function(callbackfn){return $map(this,callbackfn,arguments[1])}})});interopDefault(es6_array_map);var es6_array_filter=createCommonjsModule(function(module){var $export=interopDefault(require$$1$2),$filter=interopDefault(require$$10)(2);$export($export.P+$export.F*!interopDefault(require$$0$31)([].filter,!0),"Array",{filter:function(callbackfn){return $filter(this,callbackfn,arguments[1])}})});interopDefault(es6_array_filter);var es6_array_some=createCommonjsModule(function(module){var $export=interopDefault(require$$1$2),$some=interopDefault(require$$10)(3);$export($export.P+$export.F*!interopDefault(require$$0$31)([].some,!0),"Array",{some:function(callbackfn){return $some(this,callbackfn,arguments[1])}})});interopDefault(es6_array_some);var es6_array_every=createCommonjsModule(function(module){var $export=interopDefault(require$$1$2),$every=interopDefault(require$$10)(4);$export($export.P+$export.F*!interopDefault(require$$0$31)([].every,!0),"Array",{every:function(callbackfn){return $every(this,callbackfn,arguments[1])}})});interopDefault(es6_array_every);var _arrayReduce=createCommonjsModule(function(module){var aFunction=interopDefault(require$$0$2),toObject=interopDefault(require$$5$1),IObject=interopDefault(require$$1$8),toLength=interopDefault(require$$3$1);module.exports=function(that,callbackfn,aLen,memo,isRight){aFunction(callbackfn);var O=toObject(that),self=IObject(O),length=toLength(O.length),index=isRight?length-1:0,i=isRight?-1:1;if(aLen<2)for(;;){if(index in self){memo=self[index],index+=i;break}if(index+=i,isRight?index<0:length<=index)throw TypeError("Reduce of empty array with no initial value")}for(;isRight?index>=0:length>index;index+=i)index in self&&(memo=callbackfn(memo,self[index],index,O));return memo}}),_arrayReduce$1=interopDefault(_arrayReduce),require$$1$17=Object.freeze({"default":_arrayReduce$1}),es6_array_reduce=createCommonjsModule(function(module){var $export=interopDefault(require$$1$2),$reduce=interopDefault(require$$1$17);$export($export.P+$export.F*!interopDefault(require$$0$31)([].reduce,!0),"Array",{reduce:function(callbackfn){return $reduce(this,callbackfn,arguments.length,arguments[1],!1)}})});interopDefault(es6_array_reduce);var es6_array_reduceRight=createCommonjsModule(function(module){var $export=interopDefault(require$$1$2),$reduce=interopDefault(require$$1$17);$export($export.P+$export.F*!interopDefault(require$$0$31)([].reduceRight,!0),"Array",{reduceRight:function(callbackfn){return $reduce(this,callbackfn,arguments.length,arguments[1],!0)}})});interopDefault(es6_array_reduceRight);var es6_array_indexOf=createCommonjsModule(function(module){var $export=interopDefault(require$$1$2),$indexOf=interopDefault(require$$1$9)(!1),$native=[].indexOf,NEGATIVE_ZERO=!!$native&&1/[1].indexOf(1,-0)<0;$export($export.P+$export.F*(NEGATIVE_ZERO||!interopDefault(require$$0$31)($native)),"Array",{indexOf:function(searchElement){return NEGATIVE_ZERO?$native.apply(this,arguments)||0:$indexOf(this,searchElement,arguments[1])}})});interopDefault(es6_array_indexOf);var es6_array_lastIndexOf=createCommonjsModule(function(module){var $export=interopDefault(require$$1$2),toIObject=interopDefault(require$$1$7),toInteger=interopDefault(require$$26),toLength=interopDefault(require$$3$1),$native=[].lastIndexOf,NEGATIVE_ZERO=!!$native&&1/[1].lastIndexOf(1,-0)<0;$export($export.P+$export.F*(NEGATIVE_ZERO||!interopDefault(require$$0$31)($native)),"Array",{lastIndexOf:function(searchElement){if(NEGATIVE_ZERO)return $native.apply(this,arguments)||0;var O=toIObject(this),length=toLength(O.length),index=length-1;for(arguments.length>1&&(index=Math.min(index,toInteger(arguments[1]))),index<0&&(index=length+index);index>=0;index--)if(index in O&&O[index]===searchElement)return index||0;return-1}})});interopDefault(es6_array_lastIndexOf);var _arrayCopyWithin=createCommonjsModule(function(module){var toObject=interopDefault(require$$5$1),toIndex=interopDefault(require$$24),toLength=interopDefault(require$$3$1);module.exports=[].copyWithin||function(target,start){var O=toObject(this),len=toLength(O.length),to=toIndex(target,len),from=toIndex(start,len),end=arguments.length>2?arguments[2]:void 0,count=Math.min((void 0===end?len:toIndex(end,len))-from,len-to),inc=1;for(from<to&&to<from+count&&(inc=-1,from+=count-1,to+=count-1);count-- >0;)from in O?O[to]=O[from]:delete O[to],to+=inc,from+=inc;return O}}),_arrayCopyWithin$1=interopDefault(_arrayCopyWithin),require$$2$9=Object.freeze({"default":_arrayCopyWithin$1}),_addToUnscopables=createCommonjsModule(function(module){var UNSCOPABLES=interopDefault(require$$0$4)("unscopables"),ArrayProto=Array.prototype;void 0==ArrayProto[UNSCOPABLES]&&interopDefault(require$$2)(ArrayProto,UNSCOPABLES,{}),module.exports=function(key){ArrayProto[UNSCOPABLES][key]=!0}}),_addToUnscopables$1=interopDefault(_addToUnscopables),require$$0$34=Object.freeze({"default":_addToUnscopables$1}),es6_array_copyWithin=createCommonjsModule(function(module){var $export=interopDefault(require$$1$2);$export($export.P,"Array",{copyWithin:interopDefault(require$$2$9)}),interopDefault(require$$0$34)("copyWithin")});interopDefault(es6_array_copyWithin);var _arrayFill=createCommonjsModule(function(module){var toObject=interopDefault(require$$5$1),toIndex=interopDefault(require$$24),toLength=interopDefault(require$$3$1);module.exports=function(value){for(var O=toObject(this),length=toLength(O.length),aLen=arguments.length,index=toIndex(aLen>1?arguments[1]:void 0,length),end=aLen>2?arguments[2]:void 0,endPos=void 0===end?length:toIndex(end,length);endPos>index;)O[index++]=value;return O}}),_arrayFill$1=interopDefault(_arrayFill),require$$3$5=Object.freeze({"default":_arrayFill$1}),es6_array_fill=createCommonjsModule(function(module){var $export=interopDefault(require$$1$2);$export($export.P,"Array",{fill:interopDefault(require$$3$5)}),interopDefault(require$$0$34)("fill")});interopDefault(es6_array_fill);var es6_array_find=createCommonjsModule(function(module){var $export=interopDefault(require$$1$2),$find=interopDefault(require$$10)(5),KEY="find",forced=!0;KEY in[]&&Array(1)[KEY](function(){forced=!1}),$export($export.P+$export.F*forced,"Array",{find:function(callbackfn){return $find(this,callbackfn,arguments.length>1?arguments[1]:void 0)}}),interopDefault(require$$0$34)(KEY)});interopDefault(es6_array_find);var es6_array_findIndex=createCommonjsModule(function(module){var $export=interopDefault(require$$1$2),$find=interopDefault(require$$10)(6),KEY="findIndex",forced=!0;KEY in[]&&Array(1)[KEY](function(){forced=!1}),$export($export.P+$export.F*forced,"Array",{findIndex:function(callbackfn){return $find(this,callbackfn,arguments.length>1?arguments[1]:void 0)}}),interopDefault(require$$0$34)(KEY)});interopDefault(es6_array_findIndex);var _setSpecies=createCommonjsModule(function(module){var global=interopDefault(require$$3),dP=interopDefault(require$$2$1),DESCRIPTORS=interopDefault(require$$1),SPECIES=interopDefault(require$$0$4)("species");module.exports=function(KEY){var C=global[KEY];DESCRIPTORS&&C&&!C[SPECIES]&&dP.f(C,SPECIES,{configurable:!0,get:function(){return this}})}}),_setSpecies$1=interopDefault(_setSpecies),require$$0$35=Object.freeze({"default":_setSpecies$1}),es6_array_species=createCommonjsModule(function(module){interopDefault(require$$0$35)("Array")});interopDefault(es6_array_species);var _iterStep=createCommonjsModule(function(module){module.exports=function(done,value){return{value:value,done:!!done}}}),_iterStep$1=interopDefault(_iterStep),require$$3$6=Object.freeze({"default":_iterStep$1}),es6_array_iterator=createCommonjsModule(function(module){var addToUnscopables=interopDefault(require$$0$34),step=interopDefault(require$$3$6),Iterators=interopDefault(require$$1$15),toIObject=interopDefault(require$$1$7);module.exports=interopDefault(require$$4$4)(Array,"Array",function(iterated,kind){this._t=toIObject(iterated),this._i=0,this._k=kind},function(){var O=this._t,kind=this._k,index=this._i++;return!O||index>=O.length?(this._t=void 0,step(1)):"keys"==kind?step(0,index):"values"==kind?step(0,O[index]):step(0,[index,O[index]])},"values"),Iterators.Arguments=Iterators.Array,addToUnscopables("keys"),addToUnscopables("values"),addToUnscopables("entries")}),es6_array_iterator$1=interopDefault(es6_array_iterator),require$$5$3=Object.freeze({"default":es6_array_iterator$1}),_flags=createCommonjsModule(function(module){var anObject=interopDefault(require$$5);module.exports=function(){var that=anObject(this),result="";return that.global&&(result+="g"),that.ignoreCase&&(result+="i"),that.multiline&&(result+="m"),that.unicode&&(result+="u"),that.sticky&&(result+="y"),result}}),_flags$1=interopDefault(_flags),require$$1$18=Object.freeze({"default":_flags$1}),es6_regexp_constructor=createCommonjsModule(function(module){var global=interopDefault(require$$3),inheritIfRequired=interopDefault(require$$0$19),dP=interopDefault(require$$2$1).f,gOPN=interopDefault(require$$3$3).f,isRegExp=interopDefault(require$$2$8),$flags=interopDefault(require$$1$18),$RegExp=global.RegExp,Base=$RegExp,proto=$RegExp.prototype,re1=/a/g,re2=/a/g,CORRECT_NEW=new $RegExp(re1)!==re1;if(interopDefault(require$$1)&&(!CORRECT_NEW||interopDefault(require$$1$1)(function(){return re2[interopDefault(require$$0$4)("match")]=!1,$RegExp(re1)!=re1||$RegExp(re2)==re2||"/a/i"!=$RegExp(re1,"i")}))){$RegExp=function(p,f){var tiRE=this instanceof $RegExp,piRE=isRegExp(p),fiU=void 0===f;return!tiRE&&piRE&&p.constructor===$RegExp&&fiU?p:inheritIfRequired(CORRECT_NEW?new Base(piRE&&!fiU?p.source:p,f):Base((piRE=p instanceof $RegExp)?p.source:p,piRE&&fiU?$flags.call(p):f),tiRE?this:proto,$RegExp)};for(var proxy=(function(key){key in $RegExp||dP($RegExp,key,{configurable:!0,get:function(){return Base[key]},set:function(it){Base[key]=it}})}),keys=gOPN(Base),i=0;keys.length>i;)proxy(keys[i++]);proto.constructor=$RegExp,$RegExp.prototype=proto,interopDefault(require$$4$2)(global,"RegExp",$RegExp)}interopDefault(require$$0$35)("RegExp")});interopDefault(es6_regexp_constructor);var es6_regexp_flags=createCommonjsModule(function(module){interopDefault(require$$1)&&"g"!=/./g.flags&&interopDefault(require$$2$1).f(RegExp.prototype,"flags",{configurable:!0,get:interopDefault(require$$1$18)})});interopDefault(es6_regexp_flags);var es6_regexp_toString=createCommonjsModule(function(module){var anObject=interopDefault(require$$5),$flags=interopDefault(require$$1$18),DESCRIPTORS=interopDefault(require$$1),TO_STRING="toString",$toString=/./[TO_STRING],define=function(fn){interopDefault(require$$4$2)(RegExp.prototype,TO_STRING,fn,!0)};interopDefault(require$$1$1)(function(){return"/a/b"!=$toString.call({source:"a",flags:"b"})})?define(function(){var R=anObject(this);return"/".concat(R.source,"/","flags"in R?R.flags:!DESCRIPTORS&&R instanceof RegExp?$flags.call(R):void 0)}):$toString.name!=TO_STRING&&define(function(){return $toString.call(this)})});interopDefault(es6_regexp_toString);var _fixReWks=createCommonjsModule(function(module){var hide=interopDefault(require$$2),redefine=interopDefault(require$$4$2),fails=interopDefault(require$$1$1),defined=interopDefault(require$$4$3),wks=interopDefault(require$$0$4);module.exports=function(KEY,length,exec){var SYMBOL=wks(KEY),fns=exec(defined,SYMBOL,""[KEY]),strfn=fns[0],rxfn=fns[1];fails(function(){var O={};return O[SYMBOL]=function(){return 7},7!=""[KEY](O)})&&(redefine(String.prototype,KEY,strfn),hide(RegExp.prototype,SYMBOL,2==length?function(string,arg){return rxfn.call(string,this,arg)}:function(string){return rxfn.call(string,this)}))}}),_fixReWks$1=interopDefault(_fixReWks),require$$1$19=Object.freeze({"default":_fixReWks$1}),es6_regexp_match=createCommonjsModule(function(module){interopDefault(require$$1$19)("match",1,function(defined,MATCH,$match){return[function(regexp){var O=defined(this),fn=void 0==regexp?void 0:regexp[MATCH];return void 0!==fn?fn.call(regexp,O):new RegExp(regexp)[MATCH](String(O))},$match]})});interopDefault(es6_regexp_match);var es6_regexp_replace=createCommonjsModule(function(module){interopDefault(require$$1$19)("replace",2,function(defined,REPLACE,$replace){return[function(searchValue,replaceValue){var O=defined(this),fn=void 0==searchValue?void 0:searchValue[REPLACE];return void 0!==fn?fn.call(searchValue,O,replaceValue):$replace.call(String(O),searchValue,replaceValue)},$replace]})});interopDefault(es6_regexp_replace);var es6_regexp_search=createCommonjsModule(function(module){interopDefault(require$$1$19)("search",1,function(defined,SEARCH,$search){return[function(regexp){var O=defined(this),fn=void 0==regexp?void 0:regexp[SEARCH];return void 0!==fn?fn.call(regexp,O):new RegExp(regexp)[SEARCH](String(O))},$search]})});interopDefault(es6_regexp_search);var es6_regexp_split=createCommonjsModule(function(module){interopDefault(require$$1$19)("split",2,function(defined,SPLIT,$split){var isRegExp=interopDefault(require$$2$8),_split=$split,$push=[].push,$SPLIT="split",LENGTH="length",LAST_INDEX="lastIndex";if("c"=="abbc"[$SPLIT](/(b)*/)[1]||4!="test"[$SPLIT](/(?:)/,-1)[LENGTH]||2!="ab"[$SPLIT](/(?:ab)*/)[LENGTH]||4!="."[$SPLIT](/(.?)(.?)/)[LENGTH]||"."[$SPLIT](/()()/)[LENGTH]>1||""[$SPLIT](/.?/)[LENGTH]){var NPCG=void 0===/()??/.exec("")[1];$split=function(separator,limit){var string=String(this);if(void 0===separator&&0===limit)return[];if(!isRegExp(separator))return _split.call(string,separator,limit);var separator2,match,lastIndex,lastLength,i,output=[],flags=(separator.ignoreCase?"i":"")+(separator.multiline?"m":"")+(separator.unicode?"u":"")+(separator.sticky?"y":""),lastLastIndex=0,splitLimit=void 0===limit?4294967295:limit>>>0,separatorCopy=new RegExp(separator.source,flags+"g");for(NPCG||(separator2=new RegExp("^"+separatorCopy.source+"$(?!\\s)",flags));(match=separatorCopy.exec(string))&&(lastIndex=match.index+match[0][LENGTH],!(lastIndex>lastLastIndex&&(output.push(string.slice(lastLastIndex,match.index)),!NPCG&&match[LENGTH]>1&&match[0].replace(separator2,function(){for(i=1;i<arguments[LENGTH]-2;i++)void 0===arguments[i]&&(match[i]=void 0)}),match[LENGTH]>1&&match.index<string[LENGTH]&&$push.apply(output,match.slice(1)),lastLength=match[0][LENGTH],lastLastIndex=lastIndex,output[LENGTH]>=splitLimit)));)separatorCopy[LAST_INDEX]===match.index&&separatorCopy[LAST_INDEX]++;return lastLastIndex===string[LENGTH]?!lastLength&&separatorCopy.test("")||output.push(""):output.push(string.slice(lastLastIndex)),output[LENGTH]>splitLimit?output.slice(0,splitLimit):output}}else"0"[$SPLIT](void 0,0)[LENGTH]&&($split=function(separator,limit){return void 0===separator&&0===limit?[]:_split.call(this,separator,limit)});return[function(separator,limit){var O=defined(this),fn=void 0==separator?void 0:separator[SPLIT];return void 0!==fn?fn.call(separator,O,limit):$split.call(String(O),separator,limit)},$split]})});interopDefault(es6_regexp_split);var _anInstance=createCommonjsModule(function(module){module.exports=function(it,Constructor,name,forbiddenField){if(!(it instanceof Constructor)||void 0!==forbiddenField&&forbiddenField in it)throw TypeError(name+": incorrect invocation!");return it}}),_anInstance$1=interopDefault(_anInstance),require$$4$6=Object.freeze({"default":_anInstance$1}),_forOf=createCommonjsModule(function(module){var ctx=interopDefault(require$$31),call=interopDefault(require$$4$5),isArrayIter=interopDefault(require$$17),anObject=interopDefault(require$$5),toLength=interopDefault(require$$3$1),getIterFn=interopDefault(require$$13),BREAK={},RETURN={},exports=module.exports=function(iterable,entries,fn,that,ITERATOR){var length,step,iterator,result,iterFn=ITERATOR?function(){return iterable}:getIterFn(iterable),f=ctx(fn,that,entries?2:1),index=0;if("function"!=typeof iterFn)throw TypeError(iterable+" is not iterable!");if(isArrayIter(iterFn)){for(length=toLength(iterable.length);length>index;index++)if(result=entries?f(anObject(step=iterable[index])[0],step[1]):f(iterable[index]),result===BREAK||result===RETURN)return result}else for(iterator=iterFn.call(iterable);!(step=iterator.next()).done;)if(result=call(iterator,f,step.value,entries),result===BREAK||result===RETURN)return result};exports.BREAK=BREAK,exports.RETURN=RETURN}),_forOf$1=interopDefault(_forOf),require$$1$20=Object.freeze({"default":_forOf$1}),_speciesConstructor=createCommonjsModule(function(module){var anObject=interopDefault(require$$5),aFunction=interopDefault(require$$0$2),SPECIES=interopDefault(require$$0$4)("species");module.exports=function(O,D){var S,C=anObject(O).constructor;return void 0===C||void 0==(S=anObject(C)[SPECIES])?D:aFunction(S)}}),_speciesConstructor$1=interopDefault(_speciesConstructor),require$$8=Object.freeze({"default":_speciesConstructor$1}),_task=createCommonjsModule(function(module){var defer,channel,port,ctx=interopDefault(require$$31),invoke=interopDefault(require$$1$13),html=interopDefault(require$$3$2),cel=interopDefault(require$$2$2),global=interopDefault(require$$3),process=global.process,setTask=global.setImmediate,clearTask=global.clearImmediate,MessageChannel=global.MessageChannel,counter=0,queue={},ONREADYSTATECHANGE="onreadystatechange",run=function(){var id=+this;if(queue.hasOwnProperty(id)){var fn=queue[id];delete queue[id],fn()}},listener=function(event){run.call(event.data)};setTask&&clearTask||(setTask=function(fn){for(var args=[],i=1;arguments.length>i;)args.push(arguments[i++]);return queue[++counter]=function(){invoke("function"==typeof fn?fn:Function(fn),args)},defer(counter),counter},clearTask=function(id){delete queue[id];
+},"process"==interopDefault(require$$0$6)(process)?defer=function(id){process.nextTick(ctx(run,id,1))}:MessageChannel?(channel=new MessageChannel,port=channel.port2,channel.port1.onmessage=listener,defer=ctx(port.postMessage,port,1)):global.addEventListener&&"function"==typeof postMessage&&!global.importScripts?(defer=function(id){global.postMessage(id+"","*")},global.addEventListener("message",listener,!1)):defer=ONREADYSTATECHANGE in cel("script")?function(id){html.appendChild(cel("script"))[ONREADYSTATECHANGE]=function(){html.removeChild(this),run.call(id)}}:function(id){setTimeout(ctx(run,id,1),0)}),module.exports={set:setTask,clear:clearTask}}),_task$1=interopDefault(_task),set$2=_task.set,clear=_task.clear,require$$0$36=Object.freeze({"default":_task$1,set:set$2,clear:clear}),_microtask=createCommonjsModule(function(module){var global=interopDefault(require$$3),macrotask=interopDefault(require$$0$36).set,Observer=global.MutationObserver||global.WebKitMutationObserver,process=global.process,Promise=global.Promise,isNode="process"==interopDefault(require$$0$6)(process);module.exports=function(){var head,last,notify,flush=function(){var parent,fn;for(isNode&&(parent=process.domain)&&parent.exit();head;){fn=head.fn,head=head.next;try{fn()}catch(e){throw head?notify():last=void 0,e}}last=void 0,parent&&parent.enter()};if(isNode)notify=function(){process.nextTick(flush)};else if(Observer){var toggle=!0,node=document.createTextNode("");new Observer(flush).observe(node,{characterData:!0}),notify=function(){node.data=toggle=!toggle}}else if(Promise&&Promise.resolve){var promise=Promise.resolve();notify=function(){promise.then(flush)}}else notify=function(){macrotask.call(global,flush)};return function(fn){var task={fn:fn,next:void 0};last&&(last.next=task),head||(head=task,notify()),last=task}}}),_microtask$1=interopDefault(_microtask),require$$8$1=Object.freeze({"default":_microtask$1}),_redefineAll=createCommonjsModule(function(module){var redefine=interopDefault(require$$4$2);module.exports=function(target,src,safe){for(var key in src)redefine(target,key,src[key],safe);return target}}),_redefineAll$1=interopDefault(_redefineAll),require$$3$7=Object.freeze({"default":_redefineAll$1}),es6_promise=createCommonjsModule(function(module){var Internal,GenericPromiseCapability,Wrapper,LIBRARY=interopDefault(require$$2$4),global=interopDefault(require$$3),ctx=interopDefault(require$$31),classof=interopDefault(require$$1$11),$export=interopDefault(require$$1$2),isObject=interopDefault(require$$0$1),aFunction=interopDefault(require$$0$2),anInstance=interopDefault(require$$4$6),forOf=interopDefault(require$$1$20),speciesConstructor=interopDefault(require$$8),task=interopDefault(require$$0$36).set,microtask=interopDefault(require$$8$1)(),PROMISE="Promise",TypeError=global.TypeError,process=global.process,$Promise=global[PROMISE],process=global.process,isNode="process"==classof(process),empty=function(){},USE_NATIVE=!!function(){try{var promise=$Promise.resolve(1),FakePromise=(promise.constructor={})[interopDefault(require$$0$4)("species")]=function(exec){exec(empty,empty)};return(isNode||"function"==typeof PromiseRejectionEvent)&&promise.then(empty)instanceof FakePromise}catch(e){}}(),sameConstructor=function(a,b){return a===b||a===$Promise&&b===Wrapper},isThenable=function(it){var then;return!(!isObject(it)||"function"!=typeof(then=it.then))&&then},newPromiseCapability=function(C){return sameConstructor($Promise,C)?new PromiseCapability(C):new GenericPromiseCapability(C)},PromiseCapability=GenericPromiseCapability=function(C){var resolve,reject;this.promise=new C(function($$resolve,$$reject){if(void 0!==resolve||void 0!==reject)throw TypeError("Bad Promise constructor");resolve=$$resolve,reject=$$reject}),this.resolve=aFunction(resolve),this.reject=aFunction(reject)},perform=function(exec){try{exec()}catch(e){return{error:e}}},notify=function(promise,isReject){if(!promise._n){promise._n=!0;var chain=promise._c;microtask(function(){for(var value=promise._v,ok=1==promise._s,i=0,run=function(reaction){var result,then,handler=ok?reaction.ok:reaction.fail,resolve=reaction.resolve,reject=reaction.reject,domain=reaction.domain;try{handler?(ok||(2==promise._h&&onHandleUnhandled(promise),promise._h=1),handler===!0?result=value:(domain&&domain.enter(),result=handler(value),domain&&domain.exit()),result===reaction.promise?reject(TypeError("Promise-chain cycle")):(then=isThenable(result))?then.call(result,resolve,reject):resolve(result)):reject(value)}catch(e){reject(e)}};chain.length>i;)run(chain[i++]);promise._c=[],promise._n=!1,isReject&&!promise._h&&onUnhandled(promise)})}},onUnhandled=function(promise){task.call(global,function(){var abrupt,handler,console,value=promise._v;if(isUnhandled(promise)&&(abrupt=perform(function(){isNode?process.emit("unhandledRejection",value,promise):(handler=global.onunhandledrejection)?handler({promise:promise,reason:value}):(console=global.console)&&console.error&&console.error("Unhandled promise rejection",value)}),promise._h=isNode||isUnhandled(promise)?2:1),promise._a=void 0,abrupt)throw abrupt.error})},isUnhandled=function isUnhandled(promise){if(1==promise._h)return!1;for(var reaction,chain=promise._a||promise._c,i=0;chain.length>i;)if(reaction=chain[i++],reaction.fail||!isUnhandled(reaction.promise))return!1;return!0},onHandleUnhandled=function(promise){task.call(global,function(){var handler;isNode?process.emit("rejectionHandled",promise):(handler=global.onrejectionhandled)&&handler({promise:promise,reason:promise._v})})},$reject=function(value){var promise=this;promise._d||(promise._d=!0,promise=promise._w||promise,promise._v=value,promise._s=2,promise._a||(promise._a=promise._c.slice()),notify(promise,!0))},$resolve=function $resolve(value){var then,promise=this;if(!promise._d){promise._d=!0,promise=promise._w||promise;try{if(promise===value)throw TypeError("Promise can't be resolved itself");(then=isThenable(value))?microtask(function(){var wrapper={_w:promise,_d:!1};try{then.call(value,ctx($resolve,wrapper,1),ctx($reject,wrapper,1))}catch(e){$reject.call(wrapper,e)}}):(promise._v=value,promise._s=1,notify(promise,!1))}catch(e){$reject.call({_w:promise,_d:!1},e)}}};USE_NATIVE||($Promise=function(executor){anInstance(this,$Promise,PROMISE,"_h"),aFunction(executor),Internal.call(this);try{executor(ctx($resolve,this,1),ctx($reject,this,1))}catch(err){$reject.call(this,err)}},Internal=function(executor){this._c=[],this._a=void 0,this._s=0,this._d=!1,this._v=void 0,this._h=0,this._n=!1},Internal.prototype=interopDefault(require$$3$7)($Promise.prototype,{then:function(onFulfilled,onRejected){var reaction=newPromiseCapability(speciesConstructor(this,$Promise));return reaction.ok="function"!=typeof onFulfilled||onFulfilled,reaction.fail="function"==typeof onRejected&&onRejected,reaction.domain=isNode?process.domain:void 0,this._c.push(reaction),this._a&&this._a.push(reaction),this._s&&notify(this,!1),reaction.promise},"catch":function(onRejected){return this.then(void 0,onRejected)}}),PromiseCapability=function(){var promise=new Internal;this.promise=promise,this.resolve=ctx($resolve,promise,1),this.reject=ctx($reject,promise,1)}),$export($export.G+$export.W+$export.F*!USE_NATIVE,{Promise:$Promise}),interopDefault(require$$0$3)($Promise,PROMISE),interopDefault(require$$0$35)(PROMISE),Wrapper=interopDefault(require$$0)[PROMISE],$export($export.S+$export.F*!USE_NATIVE,PROMISE,{reject:function(r){var capability=newPromiseCapability(this),$$reject=capability.reject;return $$reject(r),capability.promise}}),$export($export.S+$export.F*(LIBRARY||!USE_NATIVE),PROMISE,{resolve:function(x){if(x instanceof $Promise&&sameConstructor(x.constructor,this))return x;var capability=newPromiseCapability(this),$$resolve=capability.resolve;return $$resolve(x),capability.promise}}),$export($export.S+$export.F*!(USE_NATIVE&&interopDefault(require$$5$2)(function(iter){$Promise.all(iter)["catch"](empty)})),PROMISE,{all:function(iterable){var C=this,capability=newPromiseCapability(C),resolve=capability.resolve,reject=capability.reject,abrupt=perform(function(){var values=[],index=0,remaining=1;forOf(iterable,!1,function(promise){var $index=index++,alreadyCalled=!1;values.push(void 0),remaining++,C.resolve(promise).then(function(value){alreadyCalled||(alreadyCalled=!0,values[$index]=value,--remaining||resolve(values))},reject)}),--remaining||resolve(values)});return abrupt&&reject(abrupt.error),capability.promise},race:function(iterable){var C=this,capability=newPromiseCapability(C),reject=capability.reject,abrupt=perform(function(){forOf(iterable,!1,function(promise){C.resolve(promise).then(capability.resolve,reject)})});return abrupt&&reject(abrupt.error),capability.promise}})});interopDefault(es6_promise);var _collectionStrong=createCommonjsModule(function(module){var dP=interopDefault(require$$2$1).f,create=interopDefault(require$$6$1),redefineAll=interopDefault(require$$3$7),ctx=interopDefault(require$$31),anInstance=interopDefault(require$$4$6),defined=interopDefault(require$$4$3),forOf=interopDefault(require$$1$20),$iterDefine=interopDefault(require$$4$4),step=interopDefault(require$$3$6),setSpecies=interopDefault(require$$0$35),DESCRIPTORS=interopDefault(require$$1),fastKey=interopDefault(require$$6).fastKey,SIZE=DESCRIPTORS?"_s":"size",getEntry=function(that,key){var entry,index=fastKey(key);if("F"!==index)return that._i[index];for(entry=that._f;entry;entry=entry.n)if(entry.k==key)return entry};module.exports={getConstructor:function(wrapper,NAME,IS_MAP,ADDER){var C=wrapper(function(that,iterable){anInstance(that,C,NAME,"_i"),that._i=create(null),that._f=void 0,that._l=void 0,that[SIZE]=0,void 0!=iterable&&forOf(iterable,IS_MAP,that[ADDER],that)});return redefineAll(C.prototype,{clear:function(){for(var that=this,data=that._i,entry=that._f;entry;entry=entry.n)entry.r=!0,entry.p&&(entry.p=entry.p.n=void 0),delete data[entry.i];that._f=that._l=void 0,that[SIZE]=0},"delete":function(key){var that=this,entry=getEntry(that,key);if(entry){var next=entry.n,prev=entry.p;delete that._i[entry.i],entry.r=!0,prev&&(prev.n=next),next&&(next.p=prev),that._f==entry&&(that._f=next),that._l==entry&&(that._l=prev),that[SIZE]--}return!!entry},forEach:function(callbackfn){anInstance(this,C,"forEach");for(var entry,f=ctx(callbackfn,arguments.length>1?arguments[1]:void 0,3);entry=entry?entry.n:this._f;)for(f(entry.v,entry.k,this);entry&&entry.r;)entry=entry.p},has:function(key){return!!getEntry(this,key)}}),DESCRIPTORS&&dP(C.prototype,"size",{get:function(){return defined(this[SIZE])}}),C},def:function(that,key,value){var prev,index,entry=getEntry(that,key);return entry?entry.v=value:(that._l=entry={i:index=fastKey(key,!0),k:key,v:value,p:prev=that._l,n:void 0,r:!1},that._f||(that._f=entry),prev&&(prev.n=entry),that[SIZE]++,"F"!==index&&(that._i[index]=entry)),that},getEntry:getEntry,setStrong:function(C,NAME,IS_MAP){$iterDefine(C,NAME,function(iterated,kind){this._t=iterated,this._k=kind,this._l=void 0},function(){for(var that=this,kind=that._k,entry=that._l;entry&&entry.r;)entry=entry.p;return that._t&&(that._l=entry=entry?entry.n:that._t._f)?"keys"==kind?step(0,entry.k):"values"==kind?step(0,entry.v):step(0,[entry.k,entry.v]):(that._t=void 0,step(1))},IS_MAP?"entries":"values",!IS_MAP,!0),setSpecies(NAME)}}}),_collectionStrong$1=interopDefault(_collectionStrong),getConstructor=_collectionStrong.getConstructor,def=_collectionStrong.def,getEntry=_collectionStrong.getEntry,setStrong=_collectionStrong.setStrong,require$$1$21=Object.freeze({"default":_collectionStrong$1,getConstructor:getConstructor,def:def,getEntry:getEntry,setStrong:setStrong}),_collection=createCommonjsModule(function(module){var global=interopDefault(require$$3),$export=interopDefault(require$$1$2),redefine=interopDefault(require$$4$2),redefineAll=interopDefault(require$$3$7),meta=interopDefault(require$$6),forOf=interopDefault(require$$1$20),anInstance=interopDefault(require$$4$6),isObject=interopDefault(require$$0$1),fails=interopDefault(require$$1$1),$iterDetect=interopDefault(require$$5$2),setToStringTag=interopDefault(require$$0$3),inheritIfRequired=interopDefault(require$$0$19);module.exports=function(NAME,wrapper,methods,common,IS_MAP,IS_WEAK){var Base=global[NAME],C=Base,ADDER=IS_MAP?"set":"add",proto=C&&C.prototype,O={},fixMethod=function(KEY){var fn=proto[KEY];redefine(proto,KEY,"delete"==KEY?function(a){return!(IS_WEAK&&!isObject(a))&&fn.call(this,0===a?0:a)}:"has"==KEY?function(a){return!(IS_WEAK&&!isObject(a))&&fn.call(this,0===a?0:a)}:"get"==KEY?function(a){return IS_WEAK&&!isObject(a)?void 0:fn.call(this,0===a?0:a)}:"add"==KEY?function(a){return fn.call(this,0===a?0:a),this}:function(a,b){return fn.call(this,0===a?0:a,b),this})};if("function"==typeof C&&(IS_WEAK||proto.forEach&&!fails(function(){(new C).entries().next()}))){var instance=new C,HASNT_CHAINING=instance[ADDER](IS_WEAK?{}:-0,1)!=instance,THROWS_ON_PRIMITIVES=fails(function(){instance.has(1)}),ACCEPT_ITERABLES=$iterDetect(function(iter){new C(iter)}),BUGGY_ZERO=!IS_WEAK&&fails(function(){for(var $instance=new C,index=5;index--;)$instance[ADDER](index,index);return!$instance.has(-0)});ACCEPT_ITERABLES||(C=wrapper(function(target,iterable){anInstance(target,C,NAME);var that=inheritIfRequired(new Base,target,C);return void 0!=iterable&&forOf(iterable,IS_MAP,that[ADDER],that),that}),C.prototype=proto,proto.constructor=C),(THROWS_ON_PRIMITIVES||BUGGY_ZERO)&&(fixMethod("delete"),fixMethod("has"),IS_MAP&&fixMethod("get")),(BUGGY_ZERO||HASNT_CHAINING)&&fixMethod(ADDER),IS_WEAK&&proto.clear&&delete proto.clear}else C=common.getConstructor(wrapper,NAME,IS_MAP,ADDER),redefineAll(C.prototype,methods),meta.NEED=!0;return setToStringTag(C,NAME),O[NAME]=C,$export($export.G+$export.W+$export.F*(C!=Base),O),IS_WEAK||common.setStrong(C,NAME,IS_MAP),C}}),_collection$1=interopDefault(_collection),require$$0$37=Object.freeze({"default":_collection$1}),es6_map=createCommonjsModule(function(module){var strong=interopDefault(require$$1$21);module.exports=interopDefault(require$$0$37)("Map",function(get){return function(){return get(this,arguments.length>0?arguments[0]:void 0)}},{get:function(key){var entry=strong.getEntry(this,key);return entry&&entry.v},set:function(key,value){return strong.def(this,0===key?0:key,value)}},strong,!0)}),es6_map$1=interopDefault(es6_map),require$$3$8=Object.freeze({"default":es6_map$1}),es6_set=createCommonjsModule(function(module){var strong=interopDefault(require$$1$21);module.exports=interopDefault(require$$0$37)("Set",function(get){return function(){return get(this,arguments.length>0?arguments[0]:void 0)}},{add:function(value){return strong.def(this,value=0===value?0:value,value)}},strong)}),es6_set$1=interopDefault(es6_set),require$$4$7=Object.freeze({"default":es6_set$1}),_collectionWeak=createCommonjsModule(function(module){var redefineAll=interopDefault(require$$3$7),getWeak=interopDefault(require$$6).getWeak,anObject=interopDefault(require$$5),isObject=interopDefault(require$$0$1),anInstance=interopDefault(require$$4$6),forOf=interopDefault(require$$1$20),createArrayMethod=interopDefault(require$$10),$has=interopDefault(require$$4),arrayFind=createArrayMethod(5),arrayFindIndex=createArrayMethod(6),id=0,uncaughtFrozenStore=function(that){return that._l||(that._l=new UncaughtFrozenStore)},UncaughtFrozenStore=function(){this.a=[]},findUncaughtFrozen=function(store,key){return arrayFind(store.a,function(it){return it[0]===key})};UncaughtFrozenStore.prototype={get:function(key){var entry=findUncaughtFrozen(this,key);if(entry)return entry[1]},has:function(key){return!!findUncaughtFrozen(this,key)},set:function(key,value){var entry=findUncaughtFrozen(this,key);entry?entry[1]=value:this.a.push([key,value])},"delete":function(key){var index=arrayFindIndex(this.a,function(it){return it[0]===key});return~index&&this.a.splice(index,1),!!~index}},module.exports={getConstructor:function(wrapper,NAME,IS_MAP,ADDER){var C=wrapper(function(that,iterable){anInstance(that,C,NAME,"_i"),that._i=id++,that._l=void 0,void 0!=iterable&&forOf(iterable,IS_MAP,that[ADDER],that)});return redefineAll(C.prototype,{"delete":function(key){if(!isObject(key))return!1;var data=getWeak(key);return data===!0?uncaughtFrozenStore(this)["delete"](key):data&&$has(data,this._i)&&delete data[this._i]},has:function(key){if(!isObject(key))return!1;var data=getWeak(key);return data===!0?uncaughtFrozenStore(this).has(key):data&&$has(data,this._i)}}),C},def:function(that,key,value){var data=getWeak(anObject(key),!0);return data===!0?uncaughtFrozenStore(that).set(key,value):data[that._i]=value,that},ufstore:uncaughtFrozenStore}}),_collectionWeak$1=interopDefault(_collectionWeak),getConstructor$1=_collectionWeak.getConstructor,def$1=_collectionWeak.def,ufstore=_collectionWeak.ufstore,require$$1$22=Object.freeze({"default":_collectionWeak$1,getConstructor:getConstructor$1,def:def$1,ufstore:ufstore}),es6_weakMap=createCommonjsModule(function(module){var InternalMap,each=interopDefault(require$$10)(0),redefine=interopDefault(require$$4$2),meta=interopDefault(require$$6),assign=interopDefault(require$$3$4),weak=interopDefault(require$$1$22),isObject=interopDefault(require$$0$1),getWeak=meta.getWeak,isExtensible=Object.isExtensible,uncaughtFrozenStore=weak.ufstore,tmp={},wrapper=function(get){return function(){return get(this,arguments.length>0?arguments[0]:void 0)}},methods={get:function(key){if(isObject(key)){var data=getWeak(key);return data===!0?uncaughtFrozenStore(this).get(key):data?data[this._i]:void 0}},set:function(key,value){return weak.def(this,key,value)}},$WeakMap=module.exports=interopDefault(require$$0$37)("WeakMap",wrapper,methods,weak,!0,!0);7!=(new $WeakMap).set((Object.freeze||Object)(tmp),7).get(tmp)&&(InternalMap=weak.getConstructor(wrapper),assign(InternalMap.prototype,methods),meta.NEED=!0,each(["delete","has","get","set"],function(key){var proto=$WeakMap.prototype,method=proto[key];redefine(proto,key,function(a,b){if(isObject(a)&&!isExtensible(a)){this._f||(this._f=new InternalMap);var result=this._f[key](a,b);return"set"==key?this:result}return method.call(this,a,b)})}))}),es6_weakMap$1=interopDefault(es6_weakMap),require$$0$38=Object.freeze({"default":es6_weakMap$1}),es6_weakSet=createCommonjsModule(function(module){var weak=interopDefault(require$$1$22);interopDefault(require$$0$37)("WeakSet",function(get){return function(){return get(this,arguments.length>0?arguments[0]:void 0)}},{add:function(value){return weak.def(this,value,!0)}},weak,!1,!0)});interopDefault(es6_weakSet);var _typed=createCommonjsModule(function(module){for(var Typed,global=interopDefault(require$$3),hide=interopDefault(require$$2),uid=interopDefault(require$$12),TYPED=uid("typed_array"),VIEW=uid("view"),ABV=!(!global.ArrayBuffer||!global.DataView),CONSTR=ABV,i=0,l=9,TypedArrayConstructors="Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array".split(",");i<l;)(Typed=global[TypedArrayConstructors[i++]])?(hide(Typed.prototype,TYPED,!0),hide(Typed.prototype,VIEW,!0)):CONSTR=!1;module.exports={ABV:ABV,CONSTR:CONSTR,TYPED:TYPED,VIEW:VIEW}}),_typed$1=interopDefault(_typed),ABV=_typed.ABV,CONSTR=_typed.CONSTR,TYPED=_typed.TYPED,VIEW=_typed.VIEW,require$$33=Object.freeze({"default":_typed$1,ABV:ABV,CONSTR:CONSTR,TYPED:TYPED,VIEW:VIEW}),_typedBuffer=createCommonjsModule(function(module,exports){var global=interopDefault(require$$3),DESCRIPTORS=interopDefault(require$$1),LIBRARY=interopDefault(require$$2$4),$typed=interopDefault(require$$33),hide=interopDefault(require$$2),redefineAll=interopDefault(require$$3$7),fails=interopDefault(require$$1$1),anInstance=interopDefault(require$$4$6),toInteger=interopDefault(require$$26),toLength=interopDefault(require$$3$1),gOPN=interopDefault(require$$3$3).f,dP=interopDefault(require$$2$1).f,arrayFill=interopDefault(require$$3$5),setToStringTag=interopDefault(require$$0$3),ARRAY_BUFFER="ArrayBuffer",DATA_VIEW="DataView",PROTOTYPE="prototype",WRONG_LENGTH="Wrong length!",WRONG_INDEX="Wrong index!",$ArrayBuffer=global[ARRAY_BUFFER],$DataView=global[DATA_VIEW],Math=global.Math,RangeError=global.RangeError,Infinity=global.Infinity,BaseBuffer=$ArrayBuffer,abs=Math.abs,pow=Math.pow,floor=Math.floor,log=Math.log,LN2=Math.LN2,BUFFER="buffer",BYTE_LENGTH="byteLength",BYTE_OFFSET="byteOffset",$BUFFER=DESCRIPTORS?"_b":BUFFER,$LENGTH=DESCRIPTORS?"_l":BYTE_LENGTH,$OFFSET=DESCRIPTORS?"_o":BYTE_OFFSET,packIEEE754=function(value,mLen,nBytes){var e,m,c,buffer=Array(nBytes),eLen=8*nBytes-mLen-1,eMax=(1<<eLen)-1,eBias=eMax>>1,rt=23===mLen?pow(2,-24)-pow(2,-77):0,i=0,s=value<0||0===value&&1/value<0?1:0;for(value=abs(value),value!=value||value===Infinity?(m=value!=value?1:0,e=eMax):(e=floor(log(value)/LN2),value*(c=pow(2,-e))<1&&(e--,c*=2),value+=e+eBias>=1?rt/c:rt*pow(2,1-eBias),value*c>=2&&(e++,c/=2),e+eBias>=eMax?(m=0,e=eMax):e+eBias>=1?(m=(value*c-1)*pow(2,mLen),e+=eBias):(m=value*pow(2,eBias-1)*pow(2,mLen),e=0));mLen>=8;buffer[i++]=255&m,m/=256,mLen-=8);for(e=e<<mLen|m,eLen+=mLen;eLen>0;buffer[i++]=255&e,e/=256,eLen-=8);return buffer[--i]|=128*s,buffer},unpackIEEE754=function(buffer,mLen,nBytes){var m,eLen=8*nBytes-mLen-1,eMax=(1<<eLen)-1,eBias=eMax>>1,nBits=eLen-7,i=nBytes-1,s=buffer[i--],e=127&s;for(s>>=7;nBits>0;e=256*e+buffer[i],i--,nBits-=8);for(m=e&(1<<-nBits)-1,e>>=-nBits,nBits+=mLen;nBits>0;m=256*m+buffer[i],i--,nBits-=8);if(0===e)e=1-eBias;else{if(e===eMax)return m?NaN:s?-Infinity:Infinity;m+=pow(2,mLen),e-=eBias}return(s?-1:1)*m*pow(2,e-mLen)},unpackI32=function(bytes){return bytes[3]<<24|bytes[2]<<16|bytes[1]<<8|bytes[0]},packI8=function(it){return[255&it]},packI16=function(it){return[255&it,it>>8&255]},packI32=function(it){return[255&it,it>>8&255,it>>16&255,it>>24&255]},packF64=function(it){return packIEEE754(it,52,8)},packF32=function(it){return packIEEE754(it,23,4)},addGetter=function(C,key,internal){dP(C[PROTOTYPE],key,{get:function(){return this[internal]}})},get=function(view,bytes,index,isLittleEndian){var numIndex=+index,intIndex=toInteger(numIndex);if(numIndex!=intIndex||intIndex<0||intIndex+bytes>view[$LENGTH])throw RangeError(WRONG_INDEX);var store=view[$BUFFER]._b,start=intIndex+view[$OFFSET],pack=store.slice(start,start+bytes);return isLittleEndian?pack:pack.reverse()},set=function(view,bytes,index,conversion,value,isLittleEndian){var numIndex=+index,intIndex=toInteger(numIndex);if(numIndex!=intIndex||intIndex<0||intIndex+bytes>view[$LENGTH])throw RangeError(WRONG_INDEX);for(var store=view[$BUFFER]._b,start=intIndex+view[$OFFSET],pack=conversion(+value),i=0;i<bytes;i++)store[start+i]=pack[isLittleEndian?i:bytes-i-1]},validateArrayBufferArguments=function(that,length){anInstance(that,$ArrayBuffer,ARRAY_BUFFER);var numberLength=+length,byteLength=toLength(numberLength);if(numberLength!=byteLength)throw RangeError(WRONG_LENGTH);return byteLength};if($typed.ABV){if(!fails(function(){new $ArrayBuffer})||!fails(function(){new $ArrayBuffer(.5)})){$ArrayBuffer=function(length){return new BaseBuffer(validateArrayBufferArguments(this,length))};for(var key,ArrayBufferProto=$ArrayBuffer[PROTOTYPE]=BaseBuffer[PROTOTYPE],keys=gOPN(BaseBuffer),j=0;keys.length>j;)(key=keys[j++])in $ArrayBuffer||hide($ArrayBuffer,key,BaseBuffer[key]);LIBRARY||(ArrayBufferProto.constructor=$ArrayBuffer)}var view=new $DataView(new $ArrayBuffer(2)),$setInt8=$DataView[PROTOTYPE].setInt8;view.setInt8(0,2147483648),view.setInt8(1,2147483649),!view.getInt8(0)&&view.getInt8(1)||redefineAll($DataView[PROTOTYPE],{setInt8:function(byteOffset,value){$setInt8.call(this,byteOffset,value<<24>>24)},setUint8:function(byteOffset,value){$setInt8.call(this,byteOffset,value<<24>>24)}},!0)}else $ArrayBuffer=function(length){var byteLength=validateArrayBufferArguments(this,length);this._b=arrayFill.call(Array(byteLength),0),this[$LENGTH]=byteLength},$DataView=function(buffer,byteOffset,byteLength){anInstance(this,$DataView,DATA_VIEW),anInstance(buffer,$ArrayBuffer,DATA_VIEW);var bufferLength=buffer[$LENGTH],offset=toInteger(byteOffset);if(offset<0||offset>bufferLength)throw RangeError("Wrong offset!");if(byteLength=void 0===byteLength?bufferLength-offset:toLength(byteLength),offset+byteLength>bufferLength)throw RangeError(WRONG_LENGTH);this[$BUFFER]=buffer,this[$OFFSET]=offset,this[$LENGTH]=byteLength},DESCRIPTORS&&(addGetter($ArrayBuffer,BYTE_LENGTH,"_l"),addGetter($DataView,BUFFER,"_b"),addGetter($DataView,BYTE_LENGTH,"_l"),addGetter($DataView,BYTE_OFFSET,"_o")),redefineAll($DataView[PROTOTYPE],{getInt8:function(byteOffset){return get(this,1,byteOffset)[0]<<24>>24},getUint8:function(byteOffset){return get(this,1,byteOffset)[0]},getInt16:function(byteOffset){var bytes=get(this,2,byteOffset,arguments[1]);return(bytes[1]<<8|bytes[0])<<16>>16},getUint16:function(byteOffset){var bytes=get(this,2,byteOffset,arguments[1]);return bytes[1]<<8|bytes[0]},getInt32:function(byteOffset){return unpackI32(get(this,4,byteOffset,arguments[1]))},getUint32:function(byteOffset){return unpackI32(get(this,4,byteOffset,arguments[1]))>>>0},getFloat32:function(byteOffset){return unpackIEEE754(get(this,4,byteOffset,arguments[1]),23,4)},getFloat64:function(byteOffset){return unpackIEEE754(get(this,8,byteOffset,arguments[1]),52,8)},setInt8:function(byteOffset,value){set(this,1,byteOffset,packI8,value)},setUint8:function(byteOffset,value){set(this,1,byteOffset,packI8,value)},setInt16:function(byteOffset,value){set(this,2,byteOffset,packI16,value,arguments[2])},setUint16:function(byteOffset,value){set(this,2,byteOffset,packI16,value,arguments[2])},setInt32:function(byteOffset,value){set(this,4,byteOffset,packI32,value,arguments[2])},setUint32:function(byteOffset,value){set(this,4,byteOffset,packI32,value,arguments[2])},setFloat32:function(byteOffset,value){set(this,4,byteOffset,packF32,value,arguments[2])},setFloat64:function(byteOffset,value){set(this,8,byteOffset,packF64,value,arguments[2])}});setToStringTag($ArrayBuffer,ARRAY_BUFFER),setToStringTag($DataView,DATA_VIEW),hide($DataView[PROTOTYPE],$typed.VIEW,!0),exports[ARRAY_BUFFER]=$ArrayBuffer,exports[DATA_VIEW]=$DataView}),_typedBuffer$1=interopDefault(_typedBuffer),require$$32=Object.freeze({"default":_typedBuffer$1}),es6_typed_arrayBuffer=createCommonjsModule(function(module){var $export=interopDefault(require$$1$2),$typed=interopDefault(require$$33),buffer=interopDefault(require$$32),anObject=interopDefault(require$$5),toIndex=interopDefault(require$$24),toLength=interopDefault(require$$3$1),isObject=interopDefault(require$$0$1),ArrayBuffer=interopDefault(require$$3).ArrayBuffer,speciesConstructor=interopDefault(require$$8),$ArrayBuffer=buffer.ArrayBuffer,$DataView=buffer.DataView,$isView=$typed.ABV&&ArrayBuffer.isView,$slice=$ArrayBuffer.prototype.slice,VIEW=$typed.VIEW,ARRAY_BUFFER="ArrayBuffer";$export($export.G+$export.W+$export.F*(ArrayBuffer!==$ArrayBuffer),{ArrayBuffer:$ArrayBuffer}),$export($export.S+$export.F*!$typed.CONSTR,ARRAY_BUFFER,{isView:function(it){return $isView&&$isView(it)||isObject(it)&&VIEW in it}}),$export($export.P+$export.U+$export.F*interopDefault(require$$1$1)(function(){return!new $ArrayBuffer(2).slice(1,void 0).byteLength}),ARRAY_BUFFER,{slice:function(start,end){if(void 0!==$slice&&void 0===end)return $slice.call(anObject(this),start);for(var len=anObject(this).byteLength,first=toIndex(start,len),final=toIndex(void 0===end?len:end,len),result=new(speciesConstructor(this,$ArrayBuffer))(toLength(final-first)),viewS=new $DataView(this),viewT=new $DataView(result),index=0;first<final;)viewT.setUint8(index++,viewS.getUint8(first++));return result}}),interopDefault(require$$0$35)(ARRAY_BUFFER)});interopDefault(es6_typed_arrayBuffer);var es6_typed_dataView=createCommonjsModule(function(module){var $export=interopDefault(require$$1$2);$export($export.G+$export.W+$export.F*!interopDefault(require$$33).ABV,{DataView:interopDefault(require$$32).DataView})});interopDefault(es6_typed_dataView);var _typedArray=createCommonjsModule(function(module){if(interopDefault(require$$1)){var LIBRARY=interopDefault(require$$2$4),global=interopDefault(require$$3),fails=interopDefault(require$$1$1),$export=interopDefault(require$$1$2),$typed=interopDefault(require$$33),$buffer=interopDefault(require$$32),ctx=interopDefault(require$$31),anInstance=interopDefault(require$$4$6),propertyDesc=interopDefault(require$$2$3),hide=interopDefault(require$$2),redefineAll=interopDefault(require$$3$7),toInteger=interopDefault(require$$26),toLength=interopDefault(require$$3$1),toIndex=interopDefault(require$$24),toPrimitive=interopDefault(require$$4$1),has=interopDefault(require$$4),same=interopDefault(require$$21),classof=interopDefault(require$$1$11),isObject=interopDefault(require$$0$1),toObject=interopDefault(require$$5$1),isArrayIter=interopDefault(require$$17),create=interopDefault(require$$6$1),getPrototypeOf=interopDefault(require$$0$13),gOPN=interopDefault(require$$3$3).f,getIterFn=interopDefault(require$$13),uid=interopDefault(require$$12),wks=interopDefault(require$$0$4),createArrayMethod=interopDefault(require$$10),createArrayIncludes=interopDefault(require$$1$9),speciesConstructor=interopDefault(require$$8),ArrayIterators=interopDefault(require$$5$3),Iterators=interopDefault(require$$1$15),$iterDetect=interopDefault(require$$5$2),setSpecies=interopDefault(require$$0$35),arrayFill=interopDefault(require$$3$5),arrayCopyWithin=interopDefault(require$$2$9),$DP=interopDefault(require$$2$1),$GOPD=interopDefault(require$$2$7),dP=$DP.f,gOPD=$GOPD.f,RangeError=global.RangeError,TypeError=global.TypeError,Uint8Array=global.Uint8Array,ARRAY_BUFFER="ArrayBuffer",SHARED_BUFFER="Shared"+ARRAY_BUFFER,BYTES_PER_ELEMENT="BYTES_PER_ELEMENT",PROTOTYPE="prototype",ArrayProto=Array[PROTOTYPE],$ArrayBuffer=$buffer.ArrayBuffer,$DataView=$buffer.DataView,arrayForEach=createArrayMethod(0),arrayFilter=createArrayMethod(2),arraySome=createArrayMethod(3),arrayEvery=createArrayMethod(4),arrayFind=createArrayMethod(5),arrayFindIndex=createArrayMethod(6),arrayIncludes=createArrayIncludes(!0),arrayIndexOf=createArrayIncludes(!1),arrayValues=ArrayIterators.values,arrayKeys=ArrayIterators.keys,arrayEntries=ArrayIterators.entries,arrayLastIndexOf=ArrayProto.lastIndexOf,arrayReduce=ArrayProto.reduce,arrayReduceRight=ArrayProto.reduceRight,arrayJoin=ArrayProto.join,arraySort=ArrayProto.sort,arraySlice=ArrayProto.slice,arrayToString=ArrayProto.toString,arrayToLocaleString=ArrayProto.toLocaleString,ITERATOR=wks("iterator"),TAG=wks("toStringTag"),TYPED_CONSTRUCTOR=uid("typed_constructor"),DEF_CONSTRUCTOR=uid("def_constructor"),ALL_CONSTRUCTORS=$typed.CONSTR,TYPED_ARRAY=$typed.TYPED,VIEW=$typed.VIEW,WRONG_LENGTH="Wrong length!",$map=createArrayMethod(1,function(O,length){return allocate(speciesConstructor(O,O[DEF_CONSTRUCTOR]),length)}),LITTLE_ENDIAN=fails(function(){return 1===new Uint8Array(new Uint16Array([1]).buffer)[0]}),FORCED_SET=!!Uint8Array&&!!Uint8Array[PROTOTYPE].set&&fails(function(){new Uint8Array(1).set({})}),strictToLength=function(it,SAME){if(void 0===it)throw TypeError(WRONG_LENGTH);var number=+it,length=toLength(it);if(SAME&&!same(number,length))throw RangeError(WRONG_LENGTH);return length},toOffset=function(it,BYTES){var offset=toInteger(it);if(offset<0||offset%BYTES)throw RangeError("Wrong offset!");return offset},validate=function(it){if(isObject(it)&&TYPED_ARRAY in it)return it;throw TypeError(it+" is not a typed array!")},allocate=function(C,length){if(!(isObject(C)&&TYPED_CONSTRUCTOR in C))throw TypeError("It is not a typed array constructor!");return new C(length)},speciesFromList=function(O,list){return fromList(speciesConstructor(O,O[DEF_CONSTRUCTOR]),list)},fromList=function(C,list){for(var index=0,length=list.length,result=allocate(C,length);length>index;)result[index]=list[index++];return result},addGetter=function(it,key,internal){dP(it,key,{get:function(){return this._d[internal]}})},$from=function(source){var i,length,values,result,step,iterator,O=toObject(source),aLen=arguments.length,mapfn=aLen>1?arguments[1]:void 0,mapping=void 0!==mapfn,iterFn=getIterFn(O);
+if(void 0!=iterFn&&!isArrayIter(iterFn)){for(iterator=iterFn.call(O),values=[],i=0;!(step=iterator.next()).done;i++)values.push(step.value);O=values}for(mapping&&aLen>2&&(mapfn=ctx(mapfn,arguments[2],2)),i=0,length=toLength(O.length),result=allocate(this,length);length>i;i++)result[i]=mapping?mapfn(O[i],i):O[i];return result},$of=function(){for(var index=0,length=arguments.length,result=allocate(this,length);length>index;)result[index]=arguments[index++];return result},TO_LOCALE_BUG=!!Uint8Array&&fails(function(){arrayToLocaleString.call(new Uint8Array(1))}),$toLocaleString=function(){return arrayToLocaleString.apply(TO_LOCALE_BUG?arraySlice.call(validate(this)):validate(this),arguments)},proto={copyWithin:function(target,start){return arrayCopyWithin.call(validate(this),target,start,arguments.length>2?arguments[2]:void 0)},every:function(callbackfn){return arrayEvery(validate(this),callbackfn,arguments.length>1?arguments[1]:void 0)},fill:function(value){return arrayFill.apply(validate(this),arguments)},filter:function(callbackfn){return speciesFromList(this,arrayFilter(validate(this),callbackfn,arguments.length>1?arguments[1]:void 0))},find:function(predicate){return arrayFind(validate(this),predicate,arguments.length>1?arguments[1]:void 0)},findIndex:function(predicate){return arrayFindIndex(validate(this),predicate,arguments.length>1?arguments[1]:void 0)},forEach:function(callbackfn){arrayForEach(validate(this),callbackfn,arguments.length>1?arguments[1]:void 0)},indexOf:function(searchElement){return arrayIndexOf(validate(this),searchElement,arguments.length>1?arguments[1]:void 0)},includes:function(searchElement){return arrayIncludes(validate(this),searchElement,arguments.length>1?arguments[1]:void 0)},join:function(separator){return arrayJoin.apply(validate(this),arguments)},lastIndexOf:function(searchElement){return arrayLastIndexOf.apply(validate(this),arguments)},map:function(mapfn){return $map(validate(this),mapfn,arguments.length>1?arguments[1]:void 0)},reduce:function(callbackfn){return arrayReduce.apply(validate(this),arguments)},reduceRight:function(callbackfn){return arrayReduceRight.apply(validate(this),arguments)},reverse:function(){for(var value,that=this,length=validate(that).length,middle=Math.floor(length/2),index=0;index<middle;)value=that[index],that[index++]=that[--length],that[length]=value;return that},some:function(callbackfn){return arraySome(validate(this),callbackfn,arguments.length>1?arguments[1]:void 0)},sort:function(comparefn){return arraySort.call(validate(this),comparefn)},subarray:function(begin,end){var O=validate(this),length=O.length,$begin=toIndex(begin,length);return new(speciesConstructor(O,O[DEF_CONSTRUCTOR]))(O.buffer,O.byteOffset+$begin*O.BYTES_PER_ELEMENT,toLength((void 0===end?length:toIndex(end,length))-$begin))}},$slice=function(start,end){return speciesFromList(this,arraySlice.call(validate(this),start,end))},$set=function(arrayLike){validate(this);var offset=toOffset(arguments[1],1),length=this.length,src=toObject(arrayLike),len=toLength(src.length),index=0;if(len+offset>length)throw RangeError(WRONG_LENGTH);for(;index<len;)this[offset+index]=src[index++]},$iterators={entries:function(){return arrayEntries.call(validate(this))},keys:function(){return arrayKeys.call(validate(this))},values:function(){return arrayValues.call(validate(this))}},isTAIndex=function(target,key){return isObject(target)&&target[TYPED_ARRAY]&&"symbol"!=("undefined"==typeof key?"undefined":_typeof(key))&&key in target&&String(+key)==String(key)},$getDesc=function(target,key){return isTAIndex(target,key=toPrimitive(key,!0))?propertyDesc(2,target[key]):gOPD(target,key)},$setDesc=function(target,key,desc){return!(isTAIndex(target,key=toPrimitive(key,!0))&&isObject(desc)&&has(desc,"value"))||has(desc,"get")||has(desc,"set")||desc.configurable||has(desc,"writable")&&!desc.writable||has(desc,"enumerable")&&!desc.enumerable?dP(target,key,desc):(target[key]=desc.value,target)};ALL_CONSTRUCTORS||($GOPD.f=$getDesc,$DP.f=$setDesc),$export($export.S+$export.F*!ALL_CONSTRUCTORS,"Object",{getOwnPropertyDescriptor:$getDesc,defineProperty:$setDesc}),fails(function(){arrayToString.call({})})&&(arrayToString=arrayToLocaleString=function(){return arrayJoin.call(this)});var $TypedArrayPrototype$=redefineAll({},proto);redefineAll($TypedArrayPrototype$,$iterators),hide($TypedArrayPrototype$,ITERATOR,$iterators.values),redefineAll($TypedArrayPrototype$,{slice:$slice,set:$set,constructor:function(){},toString:arrayToString,toLocaleString:$toLocaleString}),addGetter($TypedArrayPrototype$,"buffer","b"),addGetter($TypedArrayPrototype$,"byteOffset","o"),addGetter($TypedArrayPrototype$,"byteLength","l"),addGetter($TypedArrayPrototype$,"length","e"),dP($TypedArrayPrototype$,TAG,{get:function(){return this[TYPED_ARRAY]}}),module.exports=function(KEY,BYTES,wrapper,CLAMPED){CLAMPED=!!CLAMPED;var NAME=KEY+(CLAMPED?"Clamped":"")+"Array",ISNT_UINT8="Uint8Array"!=NAME,GETTER="get"+KEY,SETTER="set"+KEY,TypedArray=global[NAME],Base=TypedArray||{},TAC=TypedArray&&getPrototypeOf(TypedArray),FORCED=!TypedArray||!$typed.ABV,O={},TypedArrayPrototype=TypedArray&&TypedArray[PROTOTYPE],getter=function(that,index){var data=that._d;return data.v[GETTER](index*BYTES+data.o,LITTLE_ENDIAN)},setter=function(that,index,value){var data=that._d;CLAMPED&&(value=(value=Math.round(value))<0?0:value>255?255:255&value),data.v[SETTER](index*BYTES+data.o,value,LITTLE_ENDIAN)},addElement=function(that,index){dP(that,index,{get:function(){return getter(this,index)},set:function(value){return setter(this,index,value)},enumerable:!0})};FORCED?(TypedArray=wrapper(function(that,data,$offset,$length){anInstance(that,TypedArray,NAME,"_d");var buffer,byteLength,length,klass,index=0,offset=0;if(isObject(data)){if(!(data instanceof $ArrayBuffer||(klass=classof(data))==ARRAY_BUFFER||klass==SHARED_BUFFER))return TYPED_ARRAY in data?fromList(TypedArray,data):$from.call(TypedArray,data);buffer=data,offset=toOffset($offset,BYTES);var $len=data.byteLength;if(void 0===$length){if($len%BYTES)throw RangeError(WRONG_LENGTH);if(byteLength=$len-offset,byteLength<0)throw RangeError(WRONG_LENGTH)}else if(byteLength=toLength($length)*BYTES,byteLength+offset>$len)throw RangeError(WRONG_LENGTH);length=byteLength/BYTES}else length=strictToLength(data,!0),byteLength=length*BYTES,buffer=new $ArrayBuffer(byteLength);for(hide(that,"_d",{b:buffer,o:offset,l:byteLength,e:length,v:new $DataView(buffer)});index<length;)addElement(that,index++)}),TypedArrayPrototype=TypedArray[PROTOTYPE]=create($TypedArrayPrototype$),hide(TypedArrayPrototype,"constructor",TypedArray)):$iterDetect(function(iter){new TypedArray(null),new TypedArray(iter)},!0)||(TypedArray=wrapper(function(that,data,$offset,$length){anInstance(that,TypedArray,NAME);var klass;return isObject(data)?data instanceof $ArrayBuffer||(klass=classof(data))==ARRAY_BUFFER||klass==SHARED_BUFFER?void 0!==$length?new Base(data,toOffset($offset,BYTES),$length):void 0!==$offset?new Base(data,toOffset($offset,BYTES)):new Base(data):TYPED_ARRAY in data?fromList(TypedArray,data):$from.call(TypedArray,data):new Base(strictToLength(data,ISNT_UINT8))}),arrayForEach(TAC!==Function.prototype?gOPN(Base).concat(gOPN(TAC)):gOPN(Base),function(key){key in TypedArray||hide(TypedArray,key,Base[key])}),TypedArray[PROTOTYPE]=TypedArrayPrototype,LIBRARY||(TypedArrayPrototype.constructor=TypedArray));var $nativeIterator=TypedArrayPrototype[ITERATOR],CORRECT_ITER_NAME=!!$nativeIterator&&("values"==$nativeIterator.name||void 0==$nativeIterator.name),$iterator=$iterators.values;hide(TypedArray,TYPED_CONSTRUCTOR,!0),hide(TypedArrayPrototype,TYPED_ARRAY,NAME),hide(TypedArrayPrototype,VIEW,!0),hide(TypedArrayPrototype,DEF_CONSTRUCTOR,TypedArray),(CLAMPED?new TypedArray(1)[TAG]==NAME:TAG in TypedArrayPrototype)||dP(TypedArrayPrototype,TAG,{get:function(){return NAME}}),O[NAME]=TypedArray,$export($export.G+$export.W+$export.F*(TypedArray!=Base),O),$export($export.S,NAME,{BYTES_PER_ELEMENT:BYTES,from:$from,of:$of}),BYTES_PER_ELEMENT in TypedArrayPrototype||hide(TypedArrayPrototype,BYTES_PER_ELEMENT,BYTES),$export($export.P,NAME,proto),setSpecies(NAME),$export($export.P+$export.F*FORCED_SET,NAME,{set:$set}),$export($export.P+$export.F*!CORRECT_ITER_NAME,NAME,$iterators),$export($export.P+$export.F*(TypedArrayPrototype.toString!=arrayToString),NAME,{toString:arrayToString}),$export($export.P+$export.F*fails(function(){new TypedArray(1).slice()}),NAME,{slice:$slice}),$export($export.P+$export.F*(fails(function(){return[1,2].toLocaleString()!=new TypedArray([1,2]).toLocaleString()})||!fails(function(){TypedArrayPrototype.toLocaleString.call([1,2])})),NAME,{toLocaleString:$toLocaleString}),Iterators[NAME]=CORRECT_ITER_NAME?$nativeIterator:$iterator,LIBRARY||CORRECT_ITER_NAME||hide(TypedArrayPrototype,ITERATOR,$iterator)}}else module.exports=function(){}}),_typedArray$1=interopDefault(_typedArray),require$$0$39=Object.freeze({"default":_typedArray$1}),es6_typed_int8Array=createCommonjsModule(function(module){interopDefault(require$$0$39)("Int8",1,function(init){return function(data,byteOffset,length){return init(this,data,byteOffset,length)}})});interopDefault(es6_typed_int8Array);var es6_typed_uint8Array=createCommonjsModule(function(module){interopDefault(require$$0$39)("Uint8",1,function(init){return function(data,byteOffset,length){return init(this,data,byteOffset,length)}})});interopDefault(es6_typed_uint8Array);var es6_typed_uint8ClampedArray=createCommonjsModule(function(module){interopDefault(require$$0$39)("Uint8",1,function(init){return function(data,byteOffset,length){return init(this,data,byteOffset,length)}},!0)});interopDefault(es6_typed_uint8ClampedArray);var es6_typed_int16Array=createCommonjsModule(function(module){interopDefault(require$$0$39)("Int16",2,function(init){return function(data,byteOffset,length){return init(this,data,byteOffset,length)}})});interopDefault(es6_typed_int16Array);var es6_typed_uint16Array=createCommonjsModule(function(module){interopDefault(require$$0$39)("Uint16",2,function(init){return function(data,byteOffset,length){return init(this,data,byteOffset,length)}})});interopDefault(es6_typed_uint16Array);var es6_typed_int32Array=createCommonjsModule(function(module){interopDefault(require$$0$39)("Int32",4,function(init){return function(data,byteOffset,length){return init(this,data,byteOffset,length)}})});interopDefault(es6_typed_int32Array);var es6_typed_uint32Array=createCommonjsModule(function(module){interopDefault(require$$0$39)("Uint32",4,function(init){return function(data,byteOffset,length){return init(this,data,byteOffset,length)}})});interopDefault(es6_typed_uint32Array);var es6_typed_float32Array=createCommonjsModule(function(module){interopDefault(require$$0$39)("Float32",4,function(init){return function(data,byteOffset,length){return init(this,data,byteOffset,length)}})});interopDefault(es6_typed_float32Array);var es6_typed_float64Array=createCommonjsModule(function(module){interopDefault(require$$0$39)("Float64",8,function(init){return function(data,byteOffset,length){return init(this,data,byteOffset,length)}})});interopDefault(es6_typed_float64Array);var es6_reflect_apply=createCommonjsModule(function(module){var $export=interopDefault(require$$1$2),aFunction=interopDefault(require$$0$2),anObject=interopDefault(require$$5),rApply=(interopDefault(require$$3).Reflect||{}).apply,fApply=Function.apply;$export($export.S+$export.F*!interopDefault(require$$1$1)(function(){rApply(function(){})}),"Reflect",{apply:function(target,thisArgument,argumentsList){var T=aFunction(target),L=anObject(argumentsList);return rApply?rApply(T,thisArgument,L):fApply.call(T,thisArgument,L)}})});interopDefault(es6_reflect_apply);var es6_reflect_construct=createCommonjsModule(function(module){var $export=interopDefault(require$$1$2),create=interopDefault(require$$6$1),aFunction=interopDefault(require$$0$2),anObject=interopDefault(require$$5),isObject=interopDefault(require$$0$1),fails=interopDefault(require$$1$1),bind=interopDefault(require$$1$12),rConstruct=(interopDefault(require$$3).Reflect||{}).construct,NEW_TARGET_BUG=fails(function(){function F(){}return!(rConstruct(function(){},[],F)instanceof F)}),ARGS_BUG=!fails(function(){rConstruct(function(){})});$export($export.S+$export.F*(NEW_TARGET_BUG||ARGS_BUG),"Reflect",{construct:function(Target,args){aFunction(Target),anObject(args);var newTarget=arguments.length<3?Target:aFunction(arguments[2]);if(ARGS_BUG&&!NEW_TARGET_BUG)return rConstruct(Target,args,newTarget);if(Target==newTarget){switch(args.length){case 0:return new Target;case 1:return new Target(args[0]);case 2:return new Target(args[0],args[1]);case 3:return new Target(args[0],args[1],args[2]);case 4:return new Target(args[0],args[1],args[2],args[3])}var $args=[null];return $args.push.apply($args,args),new(bind.apply(Target,$args))}var proto=newTarget.prototype,instance=create(isObject(proto)?proto:Object.prototype),result=Function.apply.call(Target,instance,args);return isObject(result)?result:instance}})});interopDefault(es6_reflect_construct);var es6_reflect_defineProperty=createCommonjsModule(function(module){var dP=interopDefault(require$$2$1),$export=interopDefault(require$$1$2),anObject=interopDefault(require$$5),toPrimitive=interopDefault(require$$4$1);$export($export.S+$export.F*interopDefault(require$$1$1)(function(){Reflect.defineProperty(dP.f({},1,{value:1}),1,{value:2})}),"Reflect",{defineProperty:function(target,propertyKey,attributes){anObject(target),propertyKey=toPrimitive(propertyKey,!0),anObject(attributes);try{return dP.f(target,propertyKey,attributes),!0}catch(e){return!1}}})});interopDefault(es6_reflect_defineProperty);var es6_reflect_deleteProperty=createCommonjsModule(function(module){var $export=interopDefault(require$$1$2),gOPD=interopDefault(require$$2$7).f,anObject=interopDefault(require$$5);$export($export.S,"Reflect",{deleteProperty:function(target,propertyKey){var desc=gOPD(anObject(target),propertyKey);return!(desc&&!desc.configurable)&&delete target[propertyKey]}})});interopDefault(es6_reflect_deleteProperty);var es6_reflect_enumerate=createCommonjsModule(function(module){var $export=interopDefault(require$$1$2),anObject=interopDefault(require$$5),Enumerate=function(iterated){this._t=anObject(iterated),this._i=0;var key,keys=this._k=[];for(key in iterated)keys.push(key)};interopDefault(require$$0$26)(Enumerate,"Object",function(){var key,that=this,keys=that._k;do if(that._i>=keys.length)return{value:void 0,done:!0};while(!((key=keys[that._i++])in that._t));return{value:key,done:!1}}),$export($export.S,"Reflect",{enumerate:function(target){return new Enumerate(target)}})});interopDefault(es6_reflect_enumerate);var es6_reflect_get=createCommonjsModule(function(module){function get(target,propertyKey){var desc,proto,receiver=arguments.length<3?target:arguments[2];return anObject(target)===receiver?target[propertyKey]:(desc=gOPD.f(target,propertyKey))?has(desc,"value")?desc.value:void 0!==desc.get?desc.get.call(receiver):void 0:isObject(proto=getPrototypeOf(target))?get(proto,propertyKey,receiver):void 0}var gOPD=interopDefault(require$$2$7),getPrototypeOf=interopDefault(require$$0$13),has=interopDefault(require$$4),$export=interopDefault(require$$1$2),isObject=interopDefault(require$$0$1),anObject=interopDefault(require$$5);$export($export.S,"Reflect",{get:get})});interopDefault(es6_reflect_get);var es6_reflect_getOwnPropertyDescriptor=createCommonjsModule(function(module){var gOPD=interopDefault(require$$2$7),$export=interopDefault(require$$1$2),anObject=interopDefault(require$$5);$export($export.S,"Reflect",{getOwnPropertyDescriptor:function(target,propertyKey){return gOPD.f(anObject(target),propertyKey)}})});interopDefault(es6_reflect_getOwnPropertyDescriptor);var es6_reflect_getPrototypeOf=createCommonjsModule(function(module){var $export=interopDefault(require$$1$2),getProto=interopDefault(require$$0$13),anObject=interopDefault(require$$5);$export($export.S,"Reflect",{getPrototypeOf:function(target){return getProto(anObject(target))}})});interopDefault(es6_reflect_getPrototypeOf);var es6_reflect_has=createCommonjsModule(function(module){var $export=interopDefault(require$$1$2);$export($export.S,"Reflect",{has:function(target,propertyKey){return propertyKey in target}})});interopDefault(es6_reflect_has);var es6_reflect_isExtensible=createCommonjsModule(function(module){var $export=interopDefault(require$$1$2),anObject=interopDefault(require$$5),$isExtensible=Object.isExtensible;$export($export.S,"Reflect",{isExtensible:function(target){return anObject(target),!$isExtensible||$isExtensible(target)}})});interopDefault(es6_reflect_isExtensible);var _ownKeys=createCommonjsModule(function(module){var gOPN=interopDefault(require$$3$3),gOPS=interopDefault(require$$2$6),anObject=interopDefault(require$$5),Reflect=interopDefault(require$$3).Reflect;module.exports=Reflect&&Reflect.ownKeys||function(it){var keys=gOPN.f(anObject(it)),getSymbols=gOPS.f;return getSymbols?keys.concat(getSymbols(it)):keys}}),_ownKeys$1=interopDefault(_ownKeys),require$$3$9=Object.freeze({"default":_ownKeys$1}),es6_reflect_ownKeys=createCommonjsModule(function(module){var $export=interopDefault(require$$1$2);$export($export.S,"Reflect",{ownKeys:interopDefault(require$$3$9)})});interopDefault(es6_reflect_ownKeys);var es6_reflect_preventExtensions=createCommonjsModule(function(module){var $export=interopDefault(require$$1$2),anObject=interopDefault(require$$5),$preventExtensions=Object.preventExtensions;$export($export.S,"Reflect",{preventExtensions:function(target){anObject(target);try{return $preventExtensions&&$preventExtensions(target),!0}catch(e){return!1}}})});interopDefault(es6_reflect_preventExtensions);var es6_reflect_set=createCommonjsModule(function(module){function set(target,propertyKey,V){var existingDescriptor,proto,receiver=arguments.length<4?target:arguments[3],ownDesc=gOPD.f(anObject(target),propertyKey);if(!ownDesc){if(isObject(proto=getPrototypeOf(target)))return set(proto,propertyKey,V,receiver);ownDesc=createDesc(0)}return has(ownDesc,"value")?!(ownDesc.writable===!1||!isObject(receiver))&&(existingDescriptor=gOPD.f(receiver,propertyKey)||createDesc(0),existingDescriptor.value=V,dP.f(receiver,propertyKey,existingDescriptor),!0):void 0!==ownDesc.set&&(ownDesc.set.call(receiver,V),!0)}var dP=interopDefault(require$$2$1),gOPD=interopDefault(require$$2$7),getPrototypeOf=interopDefault(require$$0$13),has=interopDefault(require$$4),$export=interopDefault(require$$1$2),createDesc=interopDefault(require$$2$3),anObject=interopDefault(require$$5),isObject=interopDefault(require$$0$1);$export($export.S,"Reflect",{set:set})});interopDefault(es6_reflect_set);var es6_reflect_setPrototypeOf=createCommonjsModule(function(module){var $export=interopDefault(require$$1$2),setProto=interopDefault(require$$0$14);setProto&&$export($export.S,"Reflect",{setPrototypeOf:function(target,proto){setProto.check(target,proto);try{return setProto.set(target,proto),!0}catch(e){return!1}}})});interopDefault(es6_reflect_setPrototypeOf);var es7_array_includes=createCommonjsModule(function(module){var $export=interopDefault(require$$1$2),$includes=interopDefault(require$$1$9)(!0);$export($export.P,"Array",{includes:function(el){return $includes(this,el,arguments.length>1?arguments[1]:void 0)}}),interopDefault(require$$0$34)("includes")});interopDefault(es7_array_includes);var es7_string_at=createCommonjsModule(function(module){var $export=interopDefault(require$$1$2),$at=interopDefault(require$$0$25)(!0);$export($export.P,"String",{at:function(pos){return $at(this,pos)}})});interopDefault(es7_string_at);var _stringPad=createCommonjsModule(function(module){var toLength=interopDefault(require$$3$1),repeat=interopDefault(require$$1$14),defined=interopDefault(require$$4$3);module.exports=function(that,maxLength,fillString,left){var S=String(defined(that)),stringLength=S.length,fillStr=void 0===fillString?" ":String(fillString),intMaxLength=toLength(maxLength);if(intMaxLength<=stringLength||""==fillStr)return S;var fillLen=intMaxLength-stringLength,stringFiller=repeat.call(fillStr,Math.ceil(fillLen/fillStr.length));return stringFiller.length>fillLen&&(stringFiller=stringFiller.slice(0,fillLen)),left?stringFiller+S:S+stringFiller}}),_stringPad$1=interopDefault(_stringPad),require$$0$40=Object.freeze({"default":_stringPad$1}),es7_string_padStart=createCommonjsModule(function(module){var $export=interopDefault(require$$1$2),$pad=interopDefault(require$$0$40);$export($export.P,"String",{padStart:function(maxLength){return $pad(this,maxLength,arguments.length>1?arguments[1]:void 0,!0)}})});interopDefault(es7_string_padStart);var es7_string_padEnd=createCommonjsModule(function(module){var $export=interopDefault(require$$1$2),$pad=interopDefault(require$$0$40);$export($export.P,"String",{padEnd:function(maxLength){return $pad(this,maxLength,arguments.length>1?arguments[1]:void 0,!1)}})});interopDefault(es7_string_padEnd);var es7_string_trimLeft=createCommonjsModule(function(module){interopDefault(require$$0$16)("trimLeft",function($trim){return function(){return $trim(this,1)}},"trimStart")});interopDefault(es7_string_trimLeft);var es7_string_trimRight=createCommonjsModule(function(module){interopDefault(require$$0$16)("trimRight",function($trim){return function(){return $trim(this,2)}},"trimEnd")});interopDefault(es7_string_trimRight);var es7_string_matchAll=createCommonjsModule(function(module){var $export=interopDefault(require$$1$2),defined=interopDefault(require$$4$3),toLength=interopDefault(require$$3$1),isRegExp=interopDefault(require$$2$8),getFlags=interopDefault(require$$1$18),RegExpProto=RegExp.prototype,$RegExpStringIterator=function(regexp,string){this._r=regexp,this._s=string};interopDefault(require$$0$26)($RegExpStringIterator,"RegExp String",function(){var match=this._r.exec(this._s);return{value:match,done:null===match}}),$export($export.P,"String",{matchAll:function(regexp){if(defined(this),!isRegExp(regexp))throw TypeError(regexp+" is not a regexp!");var S=String(this),flags="flags"in RegExpProto?String(regexp.flags):getFlags.call(regexp),rx=new RegExp(regexp.source,~flags.indexOf("g")?flags:"g"+flags);return rx.lastIndex=toLength(regexp.lastIndex),new $RegExpStringIterator(rx,S)}})});interopDefault(es7_string_matchAll);var es7_symbol_asyncIterator=createCommonjsModule(function(module){interopDefault(require$$0$5)("asyncIterator")});interopDefault(es7_symbol_asyncIterator);var es7_symbol_observable=createCommonjsModule(function(module){interopDefault(require$$0$5)("observable")});interopDefault(es7_symbol_observable);var es7_object_getOwnPropertyDescriptors=createCommonjsModule(function(module){var $export=interopDefault(require$$1$2),ownKeys=interopDefault(require$$3$9),toIObject=interopDefault(require$$1$7),gOPD=interopDefault(require$$2$7),createProperty=interopDefault(require$$0$30);$export($export.S,"Object",{getOwnPropertyDescriptors:function(object){for(var key,O=toIObject(object),getDesc=gOPD.f,keys=ownKeys(O),result={},i=0;keys.length>i;)createProperty(result,key=keys[i++],getDesc(O,key));return result}})});interopDefault(es7_object_getOwnPropertyDescriptors);var _objectToArray=createCommonjsModule(function(module){var getKeys=interopDefault(require$$2$5),toIObject=interopDefault(require$$1$7),isEnum=interopDefault(require$$0$9).f;module.exports=function(isEntries){return function(it){for(var key,O=toIObject(it),keys=getKeys(O),length=keys.length,i=0,result=[];length>i;)isEnum.call(O,key=keys[i++])&&result.push(isEntries?[key,O[key]]:O[key]);return result}}}),_objectToArray$1=interopDefault(_objectToArray),require$$0$41=Object.freeze({"default":_objectToArray$1}),es7_object_values=createCommonjsModule(function(module){var $export=interopDefault(require$$1$2),$values=interopDefault(require$$0$41)(!1);$export($export.S,"Object",{values:function(it){return $values(it)}})});interopDefault(es7_object_values);var es7_object_entries=createCommonjsModule(function(module){var $export=interopDefault(require$$1$2),$entries=interopDefault(require$$0$41)(!0);$export($export.S,"Object",{entries:function(it){return $entries(it)}})});interopDefault(es7_object_entries);var _objectForcedPam=createCommonjsModule(function(module){module.exports=interopDefault(require$$2$4)||!interopDefault(require$$1$1)(function(){var K=Math.random();__defineSetter__.call(null,K,function(){}),delete interopDefault(require$$3)[K]})}),_objectForcedPam$1=interopDefault(_objectForcedPam),require$$0$42=Object.freeze({"default":_objectForcedPam$1}),es7_object_defineGetter=createCommonjsModule(function(module){var $export=interopDefault(require$$1$2),toObject=interopDefault(require$$5$1),aFunction=interopDefault(require$$0$2),$defineProperty=interopDefault(require$$2$1);interopDefault(require$$1)&&$export($export.P+interopDefault(require$$0$42),"Object",{__defineGetter__:function(P,getter){$defineProperty.f(toObject(this),P,{get:aFunction(getter),enumerable:!0,configurable:!0})}})});interopDefault(es7_object_defineGetter);var es7_object_defineSetter=createCommonjsModule(function(module){var $export=interopDefault(require$$1$2),toObject=interopDefault(require$$5$1),aFunction=interopDefault(require$$0$2),$defineProperty=interopDefault(require$$2$1);interopDefault(require$$1)&&$export($export.P+interopDefault(require$$0$42),"Object",{__defineSetter__:function(P,setter){$defineProperty.f(toObject(this),P,{set:aFunction(setter),enumerable:!0,configurable:!0})}})});interopDefault(es7_object_defineSetter);var es7_object_lookupGetter=createCommonjsModule(function(module){var $export=interopDefault(require$$1$2),toObject=interopDefault(require$$5$1),toPrimitive=interopDefault(require$$4$1),getPrototypeOf=interopDefault(require$$0$13),getOwnPropertyDescriptor=interopDefault(require$$2$7).f;interopDefault(require$$1)&&$export($export.P+interopDefault(require$$0$42),"Object",{__lookupGetter__:function(P){var D,O=toObject(this),K=toPrimitive(P,!0);do if(D=getOwnPropertyDescriptor(O,K))return D.get;while(O=getPrototypeOf(O))}})});interopDefault(es7_object_lookupGetter);var es7_object_lookupSetter=createCommonjsModule(function(module){var $export=interopDefault(require$$1$2),toObject=interopDefault(require$$5$1),toPrimitive=interopDefault(require$$4$1),getPrototypeOf=interopDefault(require$$0$13),getOwnPropertyDescriptor=interopDefault(require$$2$7).f;interopDefault(require$$1)&&$export($export.P+interopDefault(require$$0$42),"Object",{__lookupSetter__:function(P){var D,O=toObject(this),K=toPrimitive(P,!0);do if(D=getOwnPropertyDescriptor(O,K))return D.set;while(O=getPrototypeOf(O))}})});interopDefault(es7_object_lookupSetter);var _arrayFromIterable=createCommonjsModule(function(module){var forOf=interopDefault(require$$1$20);module.exports=function(iter,ITERATOR){var result=[];return forOf(iter,!1,result.push,result,ITERATOR),result}}),_arrayFromIterable$1=interopDefault(_arrayFromIterable),require$$3$10=Object.freeze({"default":_arrayFromIterable$1}),_collectionToJson=createCommonjsModule(function(module){var classof=interopDefault(require$$1$11),from=interopDefault(require$$3$10);module.exports=function(NAME){return function(){if(classof(this)!=NAME)throw TypeError(NAME+"#toJSON isn't generic");return from(this)}}}),_collectionToJson$1=interopDefault(_collectionToJson),require$$0$43=Object.freeze({"default":_collectionToJson$1}),es7_map_toJson=createCommonjsModule(function(module){var $export=interopDefault(require$$1$2);$export($export.P+$export.R,"Map",{toJSON:interopDefault(require$$0$43)("Map")})});interopDefault(es7_map_toJson);var es7_set_toJson=createCommonjsModule(function(module){var $export=interopDefault(require$$1$2);$export($export.P+$export.R,"Set",{toJSON:interopDefault(require$$0$43)("Set")})});interopDefault(es7_set_toJson);var es7_system_global=createCommonjsModule(function(module){var $export=interopDefault(require$$1$2);$export($export.S,"System",{global:interopDefault(require$$3)})});interopDefault(es7_system_global);var es7_error_isError=createCommonjsModule(function(module){var $export=interopDefault(require$$1$2),cof=interopDefault(require$$0$6);$export($export.S,"Error",{isError:function(it){return"Error"===cof(it)}})});interopDefault(es7_error_isError);var es7_math_iaddh=createCommonjsModule(function(module){var $export=interopDefault(require$$1$2);$export($export.S,"Math",{iaddh:function(x0,x1,y0,y1){var $x0=x0>>>0,$x1=x1>>>0,$y0=y0>>>0;return $x1+(y1>>>0)+(($x0&$y0|($x0|$y0)&~($x0+$y0>>>0))>>>31)|0}})});interopDefault(es7_math_iaddh);var es7_math_isubh=createCommonjsModule(function(module){var $export=interopDefault(require$$1$2);$export($export.S,"Math",{isubh:function(x0,x1,y0,y1){var $x0=x0>>>0,$x1=x1>>>0,$y0=y0>>>0;return $x1-(y1>>>0)-((~$x0&$y0|~($x0^$y0)&$x0-$y0>>>0)>>>31)|0}})});interopDefault(es7_math_isubh);var es7_math_imulh=createCommonjsModule(function(module){var $export=interopDefault(require$$1$2);$export($export.S,"Math",{imulh:function(u,v){var UINT16=65535,$u=+u,$v=+v,u0=$u&UINT16,v0=$v&UINT16,u1=$u>>16,v1=$v>>16,t=(u1*v0>>>0)+(u0*v0>>>16);return u1*v1+(t>>16)+((u0*v1>>>0)+(t&UINT16)>>16)}})});interopDefault(es7_math_imulh);var es7_math_umulh=createCommonjsModule(function(module){var $export=interopDefault(require$$1$2);$export($export.S,"Math",{umulh:function(u,v){var UINT16=65535,$u=+u,$v=+v,u0=$u&UINT16,v0=$v&UINT16,u1=$u>>>16,v1=$v>>>16,t=(u1*v0>>>0)+(u0*v0>>>16);return u1*v1+(t>>>16)+((u0*v1>>>0)+(t&UINT16)>>>16)}})});interopDefault(es7_math_umulh);var _metadata=createCommonjsModule(function(module){var Map=interopDefault(require$$3$8),$export=interopDefault(require$$1$2),shared=interopDefault(require$$1$4)("metadata"),store=shared.store||(shared.store=new(interopDefault(require$$0$38))),getOrCreateMetadataMap=function(target,targetKey,create){var targetMetadata=store.get(target);if(!targetMetadata){if(!create)return;store.set(target,targetMetadata=new Map)}var keyMetadata=targetMetadata.get(targetKey);if(!keyMetadata){if(!create)return;targetMetadata.set(targetKey,keyMetadata=new Map)}return keyMetadata},ordinaryHasOwnMetadata=function(MetadataKey,O,P){var metadataMap=getOrCreateMetadataMap(O,P,!1);return void 0!==metadataMap&&metadataMap.has(MetadataKey)},ordinaryGetOwnMetadata=function(MetadataKey,O,P){var metadataMap=getOrCreateMetadataMap(O,P,!1);return void 0===metadataMap?void 0:metadataMap.get(MetadataKey)},ordinaryDefineOwnMetadata=function(MetadataKey,MetadataValue,O,P){getOrCreateMetadataMap(O,P,!0).set(MetadataKey,MetadataValue)},ordinaryOwnMetadataKeys=function(target,targetKey){var metadataMap=getOrCreateMetadataMap(target,targetKey,!1),keys=[];return metadataMap&&metadataMap.forEach(function(_,key){keys.push(key)}),keys},toMetaKey=function(it){return void 0===it||"symbol"==("undefined"==typeof it?"undefined":_typeof(it))?it:String(it)},exp=function(O){$export($export.S,"Reflect",O)};module.exports={store:store,map:getOrCreateMetadataMap,has:ordinaryHasOwnMetadata,get:ordinaryGetOwnMetadata,set:ordinaryDefineOwnMetadata,keys:ordinaryOwnMetadataKeys,key:toMetaKey,exp:exp}}),_metadata$1=interopDefault(_metadata),store=_metadata.store,map=_metadata.map,has=_metadata.has,get$1=_metadata.get,set$3=_metadata.set,keys=_metadata.keys,key=_metadata.key,exp=_metadata.exp,require$$2$10=Object.freeze({"default":_metadata$1,store:store,map:map,has:has,get:get$1,set:set$3,keys:keys,key:key,exp:exp}),es7_reflect_defineMetadata=createCommonjsModule(function(module){var metadata=interopDefault(require$$2$10),anObject=interopDefault(require$$5),toMetaKey=metadata.key,ordinaryDefineOwnMetadata=metadata.set;metadata.exp({defineMetadata:function(metadataKey,metadataValue,target,targetKey){ordinaryDefineOwnMetadata(metadataKey,metadataValue,anObject(target),toMetaKey(targetKey))}})});interopDefault(es7_reflect_defineMetadata);var es7_reflect_deleteMetadata=createCommonjsModule(function(module){var metadata=interopDefault(require$$2$10),anObject=interopDefault(require$$5),toMetaKey=metadata.key,getOrCreateMetadataMap=metadata.map,store=metadata.store;
+metadata.exp({deleteMetadata:function(metadataKey,target){var targetKey=arguments.length<3?void 0:toMetaKey(arguments[2]),metadataMap=getOrCreateMetadataMap(anObject(target),targetKey,!1);if(void 0===metadataMap||!metadataMap["delete"](metadataKey))return!1;if(metadataMap.size)return!0;var targetMetadata=store.get(target);return targetMetadata["delete"](targetKey),!!targetMetadata.size||store["delete"](target)}})});interopDefault(es7_reflect_deleteMetadata);var es7_reflect_getMetadata=createCommonjsModule(function(module){var metadata=interopDefault(require$$2$10),anObject=interopDefault(require$$5),getPrototypeOf=interopDefault(require$$0$13),ordinaryHasOwnMetadata=metadata.has,ordinaryGetOwnMetadata=metadata.get,toMetaKey=metadata.key,ordinaryGetMetadata=function ordinaryGetMetadata(MetadataKey,O,P){var hasOwn=ordinaryHasOwnMetadata(MetadataKey,O,P);if(hasOwn)return ordinaryGetOwnMetadata(MetadataKey,O,P);var parent=getPrototypeOf(O);return null!==parent?ordinaryGetMetadata(MetadataKey,parent,P):void 0};metadata.exp({getMetadata:function(metadataKey,target){return ordinaryGetMetadata(metadataKey,anObject(target),arguments.length<3?void 0:toMetaKey(arguments[2]))}})});interopDefault(es7_reflect_getMetadata);var es7_reflect_getMetadataKeys=createCommonjsModule(function(module){var Set=interopDefault(require$$4$7),from=interopDefault(require$$3$10),metadata=interopDefault(require$$2$10),anObject=interopDefault(require$$5),getPrototypeOf=interopDefault(require$$0$13),ordinaryOwnMetadataKeys=metadata.keys,toMetaKey=metadata.key,ordinaryMetadataKeys=function ordinaryMetadataKeys(O,P){var oKeys=ordinaryOwnMetadataKeys(O,P),parent=getPrototypeOf(O);if(null===parent)return oKeys;var pKeys=ordinaryMetadataKeys(parent,P);return pKeys.length?oKeys.length?from(new Set(oKeys.concat(pKeys))):pKeys:oKeys};metadata.exp({getMetadataKeys:function(target){return ordinaryMetadataKeys(anObject(target),arguments.length<2?void 0:toMetaKey(arguments[1]))}})});interopDefault(es7_reflect_getMetadataKeys);var es7_reflect_getOwnMetadata=createCommonjsModule(function(module){var metadata=interopDefault(require$$2$10),anObject=interopDefault(require$$5),ordinaryGetOwnMetadata=metadata.get,toMetaKey=metadata.key;metadata.exp({getOwnMetadata:function(metadataKey,target){return ordinaryGetOwnMetadata(metadataKey,anObject(target),arguments.length<3?void 0:toMetaKey(arguments[2]))}})});interopDefault(es7_reflect_getOwnMetadata);var es7_reflect_getOwnMetadataKeys=createCommonjsModule(function(module){var metadata=interopDefault(require$$2$10),anObject=interopDefault(require$$5),ordinaryOwnMetadataKeys=metadata.keys,toMetaKey=metadata.key;metadata.exp({getOwnMetadataKeys:function(target){return ordinaryOwnMetadataKeys(anObject(target),arguments.length<2?void 0:toMetaKey(arguments[1]))}})});interopDefault(es7_reflect_getOwnMetadataKeys);var es7_reflect_hasMetadata=createCommonjsModule(function(module){var metadata=interopDefault(require$$2$10),anObject=interopDefault(require$$5),getPrototypeOf=interopDefault(require$$0$13),ordinaryHasOwnMetadata=metadata.has,toMetaKey=metadata.key,ordinaryHasMetadata=function ordinaryHasMetadata(MetadataKey,O,P){var hasOwn=ordinaryHasOwnMetadata(MetadataKey,O,P);if(hasOwn)return!0;var parent=getPrototypeOf(O);return null!==parent&&ordinaryHasMetadata(MetadataKey,parent,P)};metadata.exp({hasMetadata:function(metadataKey,target){return ordinaryHasMetadata(metadataKey,anObject(target),arguments.length<3?void 0:toMetaKey(arguments[2]))}})});interopDefault(es7_reflect_hasMetadata);var es7_reflect_hasOwnMetadata=createCommonjsModule(function(module){var metadata=interopDefault(require$$2$10),anObject=interopDefault(require$$5),ordinaryHasOwnMetadata=metadata.has,toMetaKey=metadata.key;metadata.exp({hasOwnMetadata:function(metadataKey,target){return ordinaryHasOwnMetadata(metadataKey,anObject(target),arguments.length<3?void 0:toMetaKey(arguments[2]))}})});interopDefault(es7_reflect_hasOwnMetadata);var es7_reflect_metadata=createCommonjsModule(function(module){var metadata=interopDefault(require$$2$10),anObject=interopDefault(require$$5),aFunction=interopDefault(require$$0$2),toMetaKey=metadata.key,ordinaryDefineOwnMetadata=metadata.set;metadata.exp({metadata:function(metadataKey,metadataValue){return function(target,targetKey){ordinaryDefineOwnMetadata(metadataKey,metadataValue,(void 0!==targetKey?anObject:aFunction)(target),toMetaKey(targetKey))}}})});interopDefault(es7_reflect_metadata);var es7_asap=createCommonjsModule(function(module){var $export=interopDefault(require$$1$2),microtask=interopDefault(require$$8$1)(),process=interopDefault(require$$3).process,isNode="process"==interopDefault(require$$0$6)(process);$export($export.G,{asap:function(fn){var domain=isNode&&process.domain;microtask(domain?domain.bind(fn):fn)}})});interopDefault(es7_asap);var es7_observable=createCommonjsModule(function(module){var $export=interopDefault(require$$1$2),global=interopDefault(require$$3),core=interopDefault(require$$0),microtask=interopDefault(require$$8$1)(),OBSERVABLE=interopDefault(require$$0$4)("observable"),aFunction=interopDefault(require$$0$2),anObject=interopDefault(require$$5),anInstance=interopDefault(require$$4$6),redefineAll=interopDefault(require$$3$7),hide=interopDefault(require$$2),forOf=interopDefault(require$$1$20),RETURN=forOf.RETURN,getMethod=function(fn){return null==fn?void 0:aFunction(fn)},cleanupSubscription=function(subscription){var cleanup=subscription._c;cleanup&&(subscription._c=void 0,cleanup())},subscriptionClosed=function(subscription){return void 0===subscription._o},closeSubscription=function(subscription){subscriptionClosed(subscription)||(subscription._o=void 0,cleanupSubscription(subscription))},Subscription=function(observer,subscriber){anObject(observer),this._c=void 0,this._o=observer,observer=new SubscriptionObserver(this);try{var cleanup=subscriber(observer),subscription=cleanup;null!=cleanup&&("function"==typeof cleanup.unsubscribe?cleanup=function(){subscription.unsubscribe()}:aFunction(cleanup),this._c=cleanup)}catch(e){return void observer.error(e)}subscriptionClosed(this)&&cleanupSubscription(this)};Subscription.prototype=redefineAll({},{unsubscribe:function(){closeSubscription(this)}});var SubscriptionObserver=function(subscription){this._s=subscription};SubscriptionObserver.prototype=redefineAll({},{next:function(value){var subscription=this._s;if(!subscriptionClosed(subscription)){var observer=subscription._o;try{var m=getMethod(observer.next);if(m)return m.call(observer,value)}catch(e){try{closeSubscription(subscription)}finally{throw e}}}},error:function(value){var subscription=this._s;if(subscriptionClosed(subscription))throw value;var observer=subscription._o;subscription._o=void 0;try{var m=getMethod(observer.error);if(!m)throw value;value=m.call(observer,value)}catch(e){try{cleanupSubscription(subscription)}finally{throw e}}return cleanupSubscription(subscription),value},complete:function(value){var subscription=this._s;if(!subscriptionClosed(subscription)){var observer=subscription._o;subscription._o=void 0;try{var m=getMethod(observer.complete);value=m?m.call(observer,value):void 0}catch(e){try{cleanupSubscription(subscription)}finally{throw e}}return cleanupSubscription(subscription),value}}});var $Observable=function(subscriber){anInstance(this,$Observable,"Observable","_f")._f=aFunction(subscriber)};redefineAll($Observable.prototype,{subscribe:function(observer){return new Subscription(observer,this._f)},forEach:function(fn){var that=this;return new(core.Promise||global.Promise)(function(resolve,reject){aFunction(fn);var subscription=that.subscribe({next:function(value){try{return fn(value)}catch(e){reject(e),subscription.unsubscribe()}},error:reject,complete:resolve})})}}),redefineAll($Observable,{from:function(x){var C="function"==typeof this?this:$Observable,method=getMethod(anObject(x)[OBSERVABLE]);if(method){var observable=anObject(method.call(x));return observable.constructor===C?observable:new C(function(observer){return observable.subscribe(observer)})}return new C(function(observer){var done=!1;return microtask(function(){if(!done){try{if(forOf(x,!1,function(it){if(observer.next(it),done)return RETURN})===RETURN)return}catch(e){if(done)throw e;return void observer.error(e)}observer.complete()}}),function(){done=!0}})},of:function(){for(var i=0,l=arguments.length,items=Array(l);i<l;)items[i]=arguments[i++];return new("function"==typeof this?this:$Observable)(function(observer){var done=!1;return microtask(function(){if(!done){for(var i=0;i<items.length;++i)if(observer.next(items[i]),done)return;observer.complete()}}),function(){done=!0}})}}),hide($Observable.prototype,OBSERVABLE,function(){return this}),$export($export.G,{Observable:$Observable}),interopDefault(require$$0$35)("Observable")});interopDefault(es7_observable);var _path=createCommonjsModule(function(module){module.exports=interopDefault(require$$3)}),_path$1=interopDefault(_path),require$$2$11=Object.freeze({"default":_path$1}),_partial=createCommonjsModule(function(module){var path=interopDefault(require$$2$11),invoke=interopDefault(require$$1$13),aFunction=interopDefault(require$$0$2);module.exports=function(){for(var fn=aFunction(this),length=arguments.length,pargs=Array(length),i=0,_=path._,holder=!1;length>i;)(pargs[i]=arguments[i++])===_&&(holder=!0);return function(){var args,that=this,aLen=arguments.length,j=0,k=0;if(!holder&&!aLen)return invoke(fn,pargs,that);if(args=pargs.slice(),holder)for(;length>j;j++)args[j]===_&&(args[j]=arguments[k++]);for(;aLen>k;)args.push(arguments[k++]);return invoke(fn,args,that)}}}),_partial$1=interopDefault(_partial),require$$0$44=Object.freeze({"default":_partial$1}),web_timers=createCommonjsModule(function(module){var global=interopDefault(require$$3),$export=interopDefault(require$$1$2),invoke=interopDefault(require$$1$13),partial=interopDefault(require$$0$44),navigator=global.navigator,MSIE=!!navigator&&/MSIE .\./.test(navigator.userAgent),wrap=function(set){return MSIE?function(fn,time){return set(invoke(partial,[].slice.call(arguments,2),"function"==typeof fn?fn:Function(fn)),time)}:set};$export($export.G+$export.B+$export.F*MSIE,{setTimeout:wrap(global.setTimeout),setInterval:wrap(global.setInterval)})});interopDefault(web_timers);var web_immediate=createCommonjsModule(function(module){var $export=interopDefault(require$$1$2),$task=interopDefault(require$$0$36);$export($export.G+$export.B,{setImmediate:$task.set,clearImmediate:$task.clear})});interopDefault(web_immediate);var web_dom_iterable=createCommonjsModule(function(module){for(var $iterators=interopDefault(require$$5$3),redefine=interopDefault(require$$4$2),global=interopDefault(require$$3),hide=interopDefault(require$$2),Iterators=interopDefault(require$$1$15),wks=interopDefault(require$$0$4),ITERATOR=wks("iterator"),TO_STRING_TAG=wks("toStringTag"),ArrayValues=Iterators.Array,collections=["NodeList","DOMTokenList","MediaList","StyleSheetList","CSSRuleList"],i=0;i<5;i++){var key,NAME=collections[i],Collection=global[NAME],proto=Collection&&Collection.prototype;if(proto){proto[ITERATOR]||hide(proto,ITERATOR,ArrayValues),proto[TO_STRING_TAG]||hide(proto,TO_STRING_TAG,NAME),Iterators[NAME]=ArrayValues;for(key in $iterators)proto[key]||redefine(proto,key,$iterators[key],!0)}}});interopDefault(web_dom_iterable);var shim=createCommonjsModule(function(module){module.exports=interopDefault(require$$0)});interopDefault(shim);var runtime=createCommonjsModule(function(module){!function(global){function wrap(innerFn,outerFn,self,tryLocsList){var generator=Object.create((outerFn||Generator).prototype),context=new Context(tryLocsList||[]);return generator._invoke=makeInvokeMethod(innerFn,self,context),generator}function tryCatch(fn,obj,arg){try{return{type:"normal",arg:fn.call(obj,arg)}}catch(err){return{type:"throw",arg:err}}}function Generator(){}function GeneratorFunction(){}function GeneratorFunctionPrototype(){}function defineIteratorMethods(prototype){["next","throw","return"].forEach(function(method){prototype[method]=function(arg){return this._invoke(method,arg)}})}function AwaitArgument(arg){this.arg=arg}function AsyncIterator(generator){function invoke(method,arg,resolve,reject){var record=tryCatch(generator[method],generator,arg);if("throw"!==record.type){var result=record.arg,value=result.value;return value instanceof AwaitArgument?Promise.resolve(value.arg).then(function(value){invoke("next",value,resolve,reject)},function(err){invoke("throw",err,resolve,reject)}):Promise.resolve(value).then(function(unwrapped){result.value=unwrapped,resolve(result)},reject)}reject(record.arg)}function enqueue(method,arg){function callInvokeWithMethodAndArg(){return new Promise(function(resolve,reject){invoke(method,arg,resolve,reject)})}return previousPromise=previousPromise?previousPromise.then(callInvokeWithMethodAndArg,callInvokeWithMethodAndArg):callInvokeWithMethodAndArg()}"object"===("undefined"==typeof process?"undefined":_typeof(process))&&process.domain&&(invoke=process.domain.bind(invoke));var previousPromise;this._invoke=enqueue}function makeInvokeMethod(innerFn,self,context){var state=GenStateSuspendedStart;return function(method,arg){if(state===GenStateExecuting)throw new Error("Generator is already running");if(state===GenStateCompleted){if("throw"===method)throw arg;return doneResult()}for(;;){var delegate=context.delegate;if(delegate){if("return"===method||"throw"===method&&delegate.iterator[method]===undefined){context.delegate=null;var returnMethod=delegate.iterator["return"];if(returnMethod){var record=tryCatch(returnMethod,delegate.iterator,arg);if("throw"===record.type){method="throw",arg=record.arg;continue}}if("return"===method)continue}var record=tryCatch(delegate.iterator[method],delegate.iterator,arg);if("throw"===record.type){context.delegate=null,method="throw",arg=record.arg;continue}method="next",arg=undefined;var info=record.arg;if(!info.done)return state=GenStateSuspendedYield,info;context[delegate.resultName]=info.value,context.next=delegate.nextLoc,context.delegate=null}if("next"===method)context.sent=context._sent=arg;else if("throw"===method){if(state===GenStateSuspendedStart)throw state=GenStateCompleted,arg;context.dispatchException(arg)&&(method="next",arg=undefined)}else"return"===method&&context.abrupt("return",arg);state=GenStateExecuting;var record=tryCatch(innerFn,self,context);if("normal"===record.type){state=context.done?GenStateCompleted:GenStateSuspendedYield;var info={value:record.arg,done:context.done};if(record.arg!==ContinueSentinel)return info;context.delegate&&"next"===method&&(arg=undefined)}else"throw"===record.type&&(state=GenStateCompleted,method="throw",arg=record.arg)}}}function pushTryEntry(locs){var entry={tryLoc:locs[0]};1 in locs&&(entry.catchLoc=locs[1]),2 in locs&&(entry.finallyLoc=locs[2],entry.afterLoc=locs[3]),this.tryEntries.push(entry)}function resetTryEntry(entry){var record=entry.completion||{};record.type="normal",delete record.arg,entry.completion=record}function Context(tryLocsList){this.tryEntries=[{tryLoc:"root"}],tryLocsList.forEach(pushTryEntry,this),this.reset(!0)}function values(iterable){if(iterable){var iteratorMethod=iterable[iteratorSymbol];if(iteratorMethod)return iteratorMethod.call(iterable);if("function"==typeof iterable.next)return iterable;if(!isNaN(iterable.length)){var i=-1,next=function next(){for(;++i<iterable.length;)if(hasOwn.call(iterable,i))return next.value=iterable[i],next.done=!1,next;return next.value=undefined,next.done=!0,next};return next.next=next}}return{next:doneResult}}function doneResult(){return{value:undefined,done:!0}}var undefined,hasOwn=Object.prototype.hasOwnProperty,$Symbol="function"==typeof Symbol?Symbol:{},iteratorSymbol=$Symbol.iterator||"@@iterator",toStringTagSymbol=$Symbol.toStringTag||"@@toStringTag",inModule="object"===("undefined"==typeof module?"undefined":_typeof(module)),runtime=global.regeneratorRuntime;if(runtime)return void(inModule&&(module.exports=runtime));runtime=global.regeneratorRuntime=inModule?module.exports:{},runtime.wrap=wrap;var GenStateSuspendedStart="suspendedStart",GenStateSuspendedYield="suspendedYield",GenStateExecuting="executing",GenStateCompleted="completed",ContinueSentinel={},Gp=GeneratorFunctionPrototype.prototype=Generator.prototype;GeneratorFunction.prototype=Gp.constructor=GeneratorFunctionPrototype,GeneratorFunctionPrototype.constructor=GeneratorFunction,GeneratorFunctionPrototype[toStringTagSymbol]=GeneratorFunction.displayName="GeneratorFunction",runtime.isGeneratorFunction=function(genFun){var ctor="function"==typeof genFun&&genFun.constructor;return!!ctor&&(ctor===GeneratorFunction||"GeneratorFunction"===(ctor.displayName||ctor.name))},runtime.mark=function(genFun){return Object.setPrototypeOf?Object.setPrototypeOf(genFun,GeneratorFunctionPrototype):(genFun.__proto__=GeneratorFunctionPrototype,toStringTagSymbol in genFun||(genFun[toStringTagSymbol]="GeneratorFunction")),genFun.prototype=Object.create(Gp),genFun},runtime.awrap=function(arg){return new AwaitArgument(arg)},defineIteratorMethods(AsyncIterator.prototype),runtime.async=function(innerFn,outerFn,self,tryLocsList){var iter=new AsyncIterator(wrap(innerFn,outerFn,self,tryLocsList));return runtime.isGeneratorFunction(outerFn)?iter:iter.next().then(function(result){return result.done?result.value:iter.next()})},defineIteratorMethods(Gp),Gp[iteratorSymbol]=function(){return this},Gp[toStringTagSymbol]="Generator",Gp.toString=function(){return"[object Generator]"},runtime.keys=function(object){var keys=[];for(var key in object)keys.push(key);return keys.reverse(),function next(){for(;keys.length;){var key=keys.pop();if(key in object)return next.value=key,next.done=!1,next}return next.done=!0,next}},runtime.values=values,Context.prototype={constructor:Context,reset:function(skipTempReset){if(this.prev=0,this.next=0,this.sent=this._sent=undefined,this.done=!1,this.delegate=null,this.tryEntries.forEach(resetTryEntry),!skipTempReset)for(var name in this)"t"===name.charAt(0)&&hasOwn.call(this,name)&&!isNaN(+name.slice(1))&&(this[name]=undefined)},stop:function(){this.done=!0;var rootEntry=this.tryEntries[0],rootRecord=rootEntry.completion;if("throw"===rootRecord.type)throw rootRecord.arg;return this.rval},dispatchException:function(exception){function handle(loc,caught){return record.type="throw",record.arg=exception,context.next=loc,!!caught}if(this.done)throw exception;for(var context=this,i=this.tryEntries.length-1;i>=0;--i){var entry=this.tryEntries[i],record=entry.completion;if("root"===entry.tryLoc)return handle("end");if(entry.tryLoc<=this.prev){var hasCatch=hasOwn.call(entry,"catchLoc"),hasFinally=hasOwn.call(entry,"finallyLoc");if(hasCatch&&hasFinally){if(this.prev<entry.catchLoc)return handle(entry.catchLoc,!0);if(this.prev<entry.finallyLoc)return handle(entry.finallyLoc)}else if(hasCatch){if(this.prev<entry.catchLoc)return handle(entry.catchLoc,!0)}else{if(!hasFinally)throw new Error("try statement without catch or finally");if(this.prev<entry.finallyLoc)return handle(entry.finallyLoc)}}}},abrupt:function(type,arg){for(var i=this.tryEntries.length-1;i>=0;--i){var entry=this.tryEntries[i];if(entry.tryLoc<=this.prev&&hasOwn.call(entry,"finallyLoc")&&this.prev<entry.finallyLoc){var finallyEntry=entry;break}}finallyEntry&&("break"===type||"continue"===type)&&finallyEntry.tryLoc<=arg&&arg<=finallyEntry.finallyLoc&&(finallyEntry=null);var record=finallyEntry?finallyEntry.completion:{};return record.type=type,record.arg=arg,finallyEntry?this.next=finallyEntry.finallyLoc:this.complete(record),ContinueSentinel},complete:function(record,afterLoc){if("throw"===record.type)throw record.arg;"break"===record.type||"continue"===record.type?this.next=record.arg:"return"===record.type?(this.rval=record.arg,this.next="end"):"normal"===record.type&&afterLoc&&(this.next=afterLoc)},finish:function(finallyLoc){for(var i=this.tryEntries.length-1;i>=0;--i){var entry=this.tryEntries[i];if(entry.finallyLoc===finallyLoc)return this.complete(entry.completion,entry.afterLoc),resetTryEntry(entry),ContinueSentinel}},"catch":function(tryLoc){for(var i=this.tryEntries.length-1;i>=0;--i){var entry=this.tryEntries[i];if(entry.tryLoc===tryLoc){var record=entry.completion;if("throw"===record.type){var thrown=record.arg;resetTryEntry(entry)}return thrown}}throw new Error("illegal catch attempt")},delegateYield:function(iterable,resultName,nextLoc){return this.delegate={iterator:values(iterable),resultName:resultName,nextLoc:nextLoc},ContinueSentinel}}}("object"===_typeof(commonjsGlobal)?commonjsGlobal:"object"===("undefined"==typeof window?"undefined":_typeof(window))?window:"object"===("undefined"==typeof self?"undefined":_typeof(self))?self:commonjsGlobal)});interopDefault(runtime);var _replacer=createCommonjsModule(function(module){module.exports=function(regExp,replace){var replacer=replace===Object(replace)?function(part){return replace[part]}:replace;return function(it){return String(it).replace(regExp,replacer)}}}),_replacer$1=interopDefault(_replacer),require$$0$45=Object.freeze({"default":_replacer$1}),core_regexp_escape=createCommonjsModule(function(module){var $export=interopDefault(require$$1$2),$re=interopDefault(require$$0$45)(/[\\^$*+?.()|[\]{}]/g,"\\$&");$export($export.S,"RegExp",{escape:function(it){return $re(it)}})});interopDefault(core_regexp_escape);var _escape=createCommonjsModule(function(module){module.exports=interopDefault(require$$0).RegExp.escape});interopDefault(_escape);var index=createCommonjsModule(function(module){function define(O,key,value){O[key]||Object[DEFINE_PROPERTY](O,key,{writable:!0,configurable:!0,value:value})}if(commonjsGlobal._babelPolyfill)throw new Error("only one instance of babel-polyfill is allowed");commonjsGlobal._babelPolyfill=!0;var DEFINE_PROPERTY="defineProperty";define(String.prototype,"padLeft","".padStart),define(String.prototype,"padRight","".padEnd),"pop,reverse,shift,keys,values,entries,indexOf,every,some,forEach,map,filter,find,findIndex,includes,join,slice,concat,push,splice,unshift,sort,lastIndexOf,reduce,reduceRight,copyWithin,fill".split(",").forEach(function(key){[][key]&&define(Array,key,Function.call.bind([][key]))})});if(interopDefault(index),"undefined"==typeof jQuery)throw new Error("Bootstrap's JavaScript requires jQuery");+function($){var version=$.fn.jquery.split(" ")[0].split(".");if(version[0]<2&&version[1]<9||1==version[0]&&9==version[1]&&version[2]<1||version[0]>=4)throw new Error("Bootstrap's JavaScript requires at least jQuery v1.9.1 but less than v4.0.0")}(jQuery),+function($){function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function, not "+("undefined"==typeof superClass?"undefined":_typeof(superClass)));subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}var _get=function(_x,_x2,_x3){for(var _again=!0;_again;){var object=_x,property=_x2,receiver=_x3;_again=!1,null===object&&(object=Function.prototype);var desc=Object.getOwnPropertyDescriptor(object,property);if(void 0!==desc){if("value"in desc)return desc.value;var getter=desc.get;if(void 0===getter)return;return getter.call(receiver)}var parent=Object.getPrototypeOf(object);if(null===parent)return;_x=parent,_x2=property,_x3=receiver,_again=!0,desc=parent=void 0}},_createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){return protoProps&&defineProperties(Constructor.prototype,protoProps),staticProps&&defineProperties(Constructor,staticProps),Constructor}}(),Util=function($){function toType(obj){return{}.toString.call(obj).match(/\s([a-zA-Z]+)/)[1].toLowerCase()}function isElement(obj){return(obj[0]||obj).nodeType}function getSpecialTransitionEndEvent(){return{bindType:transition.end,delegateType:transition.end,handle:function(event){if($(event.target).is(this))return event.handleObj.handler.apply(this,arguments)}}}function transitionEndTest(){if(window.QUnit)return!1;var el=document.createElement("bootstrap");for(var _name in TransitionEndEvent)if(void 0!==el.style[_name])return{end:TransitionEndEvent[_name]};return!1}function transitionEndEmulator(duration){var _this=this,called=!1;return $(this).one(Util.TRANSITION_END,function(){called=!0}),setTimeout(function(){called||Util.triggerTransitionEnd(_this)},duration),this}function setTransitionEndSupport(){transition=transitionEndTest(),$.fn.emulateTransitionEnd=transitionEndEmulator,Util.supportsTransitionEnd()&&($.event.special[Util.TRANSITION_END]=getSpecialTransitionEndEvent())}var transition=!1,MAX_UID=1e6,TransitionEndEvent={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"},Util={TRANSITION_END:"bsTransitionEnd",getUID:function(prefix){do prefix+=~~(Math.random()*MAX_UID);while(document.getElementById(prefix));return prefix},getSelectorFromElement:function(element){var selector=element.getAttribute("data-target");return selector||(selector=element.getAttribute("href")||"",selector=/^#[a-z]/i.test(selector)?selector:null),selector},reflow:function(element){new Function("bs","return bs")(element.offsetHeight)},triggerTransitionEnd:function(element){$(element).trigger(transition.end)},supportsTransitionEnd:function(){return Boolean(transition)},typeCheckConfig:function(componentName,config,configTypes){for(var property in configTypes)if(configTypes.hasOwnProperty(property)){var expectedTypes=configTypes[property],value=config[property],valueType=void 0;if(valueType=value&&isElement(value)?"element":toType(value),!new RegExp(expectedTypes).test(valueType))throw new Error(componentName.toUpperCase()+": "+('Option "'+property+'" provided type "'+valueType+'" ')+('but expected type "'+expectedTypes+'".'))}}};return setTransitionEndSupport(),Util}(jQuery),Tooltip=(function($){var NAME="alert",VERSION="4.0.0-alpha.3",DATA_KEY="bs.alert",EVENT_KEY="."+DATA_KEY,DATA_API_KEY=".data-api",JQUERY_NO_CONFLICT=$.fn[NAME],TRANSITION_DURATION=150,Selector={DISMISS:'[data-dismiss="alert"]'},Event={CLOSE:"close"+EVENT_KEY,CLOSED:"closed"+EVENT_KEY,CLICK_DATA_API:"click"+EVENT_KEY+DATA_API_KEY},ClassName={ALERT:"alert",FADE:"fade",IN:"in"},Alert=function(){function Alert(element){_classCallCheck(this,Alert),this._element=element}return _createClass(Alert,[{key:"close",value:function(element){element=element||this._element;var rootElement=this._getRootElement(element),customEvent=this._triggerCloseEvent(rootElement);customEvent.isDefaultPrevented()||this._removeElement(rootElement)}},{key:"dispose",value:function(){$.removeData(this._element,DATA_KEY),this._element=null}},{key:"_getRootElement",value:function(element){var selector=Util.getSelectorFromElement(element),parent=!1;return selector&&(parent=$(selector)[0]),parent||(parent=$(element).closest("."+ClassName.ALERT)[0]),parent}},{key:"_triggerCloseEvent",value:function(element){var closeEvent=$.Event(Event.CLOSE);return $(element).trigger(closeEvent),closeEvent}},{key:"_removeElement",value:function(element){return $(element).removeClass(ClassName.IN),Util.supportsTransitionEnd()&&$(element).hasClass(ClassName.FADE)?void $(element).one(Util.TRANSITION_END,$.proxy(this._destroyElement,this,element)).emulateTransitionEnd(TRANSITION_DURATION):void this._destroyElement(element)}},{key:"_destroyElement",value:function(element){$(element).detach().trigger(Event.CLOSED).remove()}}],[{key:"_jQueryInterface",value:function(config){return this.each(function(){var $element=$(this),data=$element.data(DATA_KEY);data||(data=new Alert(this),$element.data(DATA_KEY,data)),"close"===config&&data[config](this)})}},{key:"_handleDismiss",value:function(alertInstance){return function(event){event&&event.preventDefault(),alertInstance.close(this)}}},{key:"VERSION",get:function(){return VERSION}}]),Alert}();return $(document).on(Event.CLICK_DATA_API,Selector.DISMISS,Alert._handleDismiss(new Alert)),$.fn[NAME]=Alert._jQueryInterface,$.fn[NAME].Constructor=Alert,$.fn[NAME].noConflict=function(){return $.fn[NAME]=JQUERY_NO_CONFLICT,Alert._jQueryInterface},Alert}(jQuery),function($){var NAME="button",VERSION="4.0.0-alpha.3",DATA_KEY="bs.button",EVENT_KEY="."+DATA_KEY,DATA_API_KEY=".data-api",JQUERY_NO_CONFLICT=$.fn[NAME],ClassName={ACTIVE:"active",BUTTON:"btn",FOCUS:"focus"},Selector={DATA_TOGGLE_CARROT:'[data-toggle^="button"]',DATA_TOGGLE:'[data-toggle="buttons"]',INPUT:"input",ACTIVE:".active",BUTTON:".btn"},Event={CLICK_DATA_API:"click"+EVENT_KEY+DATA_API_KEY,FOCUS_BLUR_DATA_API:"focus"+EVENT_KEY+DATA_API_KEY+" "+("blur"+EVENT_KEY+DATA_API_KEY)},Button=function(){function Button(element){_classCallCheck(this,Button),this._element=element}return _createClass(Button,[{key:"toggle",value:function(){var triggerChangeEvent=!0,rootElement=$(this._element).closest(Selector.DATA_TOGGLE)[0];if(rootElement){var input=$(this._element).find(Selector.INPUT)[0];if(input){if("radio"===input.type)if(input.checked&&$(this._element).hasClass(ClassName.ACTIVE))triggerChangeEvent=!1;else{var activeElement=$(rootElement).find(Selector.ACTIVE)[0];activeElement&&$(activeElement).removeClass(ClassName.ACTIVE)}triggerChangeEvent&&(input.checked=!$(this._element).hasClass(ClassName.ACTIVE),$(this._element).trigger("change")),input.focus()}}else this._element.setAttribute("aria-pressed",!$(this._element).hasClass(ClassName.ACTIVE));triggerChangeEvent&&$(this._element).toggleClass(ClassName.ACTIVE)}},{key:"dispose",value:function(){$.removeData(this._element,DATA_KEY),this._element=null}}],[{key:"_jQueryInterface",value:function(config){return this.each(function(){var data=$(this).data(DATA_KEY);data||(data=new Button(this),$(this).data(DATA_KEY,data)),"toggle"===config&&data[config]()})}},{key:"VERSION",get:function(){return VERSION}}]),Button}();return $(document).on(Event.CLICK_DATA_API,Selector.DATA_TOGGLE_CARROT,function(event){event.preventDefault();var button=event.target;$(button).hasClass(ClassName.BUTTON)||(button=$(button).closest(Selector.BUTTON)),Button._jQueryInterface.call($(button),"toggle")}).on(Event.FOCUS_BLUR_DATA_API,Selector.DATA_TOGGLE_CARROT,function(event){var button=$(event.target).closest(Selector.BUTTON)[0];$(button).toggleClass(ClassName.FOCUS,/^focus(in)?$/.test(event.type))}),$.fn[NAME]=Button._jQueryInterface,$.fn[NAME].Constructor=Button,$.fn[NAME].noConflict=function(){return $.fn[NAME]=JQUERY_NO_CONFLICT,Button._jQueryInterface},Button}(jQuery),function($){var NAME="carousel",VERSION="4.0.0-alpha.3",DATA_KEY="bs.carousel",EVENT_KEY="."+DATA_KEY,DATA_API_KEY=".data-api",JQUERY_NO_CONFLICT=$.fn[NAME],TRANSITION_DURATION=600,ARROW_LEFT_KEYCODE=37,ARROW_RIGHT_KEYCODE=39,Default={interval:5e3,keyboard:!0,slide:!1,pause:"hover",wrap:!0},DefaultType={interval:"(number|boolean)",keyboard:"boolean",slide:"(boolean|string)",pause:"(string|boolean)",wrap:"boolean"},Direction={NEXT:"next",PREVIOUS:"prev"},Event={SLIDE:"slide"+EVENT_KEY,SLID:"slid"+EVENT_KEY,KEYDOWN:"keydown"+EVENT_KEY,MOUSEENTER:"mouseenter"+EVENT_KEY,MOUSELEAVE:"mouseleave"+EVENT_KEY,LOAD_DATA_API:"load"+EVENT_KEY+DATA_API_KEY,CLICK_DATA_API:"click"+EVENT_KEY+DATA_API_KEY},ClassName={CAROUSEL:"carousel",ACTIVE:"active",SLIDE:"slide",RIGHT:"right",LEFT:"left",ITEM:"carousel-item"},Selector={ACTIVE:".active",ACTIVE_ITEM:".active.carousel-item",ITEM:".carousel-item",NEXT_PREV:".next, .prev",INDICATORS:".carousel-indicators",
+DATA_SLIDE:"[data-slide], [data-slide-to]",DATA_RIDE:'[data-ride="carousel"]'},Carousel=function(){function Carousel(element,config){_classCallCheck(this,Carousel),this._items=null,this._interval=null,this._activeElement=null,this._isPaused=!1,this._isSliding=!1,this._config=this._getConfig(config),this._element=$(element)[0],this._indicatorsElement=$(this._element).find(Selector.INDICATORS)[0],this._addEventListeners()}return _createClass(Carousel,[{key:"next",value:function(){this._isSliding||this._slide(Direction.NEXT)}},{key:"nextWhenVisible",value:function(){document.hidden||this.next()}},{key:"prev",value:function(){this._isSliding||this._slide(Direction.PREVIOUS)}},{key:"pause",value:function(event){event||(this._isPaused=!0),$(this._element).find(Selector.NEXT_PREV)[0]&&Util.supportsTransitionEnd()&&(Util.triggerTransitionEnd(this._element),this.cycle(!0)),clearInterval(this._interval),this._interval=null}},{key:"cycle",value:function(event){event||(this._isPaused=!1),this._interval&&(clearInterval(this._interval),this._interval=null),this._config.interval&&!this._isPaused&&(this._interval=setInterval($.proxy(document.visibilityState?this.nextWhenVisible:this.next,this),this._config.interval))}},{key:"to",value:function(index){var _this2=this;this._activeElement=$(this._element).find(Selector.ACTIVE_ITEM)[0];var activeIndex=this._getItemIndex(this._activeElement);if(!(index>this._items.length-1||index<0)){if(this._isSliding)return void $(this._element).one(Event.SLID,function(){return _this2.to(index)});if(activeIndex===index)return this.pause(),void this.cycle();var direction=index>activeIndex?Direction.NEXT:Direction.PREVIOUS;this._slide(direction,this._items[index])}}},{key:"dispose",value:function(){$(this._element).off(EVENT_KEY),$.removeData(this._element,DATA_KEY),this._items=null,this._config=null,this._element=null,this._interval=null,this._isPaused=null,this._isSliding=null,this._activeElement=null,this._indicatorsElement=null}},{key:"_getConfig",value:function(config){return config=$.extend({},Default,config),Util.typeCheckConfig(NAME,config,DefaultType),config}},{key:"_addEventListeners",value:function(){this._config.keyboard&&$(this._element).on(Event.KEYDOWN,$.proxy(this._keydown,this)),"hover"!==this._config.pause||"ontouchstart"in document.documentElement||$(this._element).on(Event.MOUSEENTER,$.proxy(this.pause,this)).on(Event.MOUSELEAVE,$.proxy(this.cycle,this))}},{key:"_keydown",value:function(event){if(event.preventDefault(),!/input|textarea/i.test(event.target.tagName))switch(event.which){case ARROW_LEFT_KEYCODE:this.prev();break;case ARROW_RIGHT_KEYCODE:this.next();break;default:return}}},{key:"_getItemIndex",value:function(element){return this._items=$.makeArray($(element).parent().find(Selector.ITEM)),this._items.indexOf(element)}},{key:"_getItemByDirection",value:function(direction,activeElement){var isNextDirection=direction===Direction.NEXT,isPrevDirection=direction===Direction.PREVIOUS,activeIndex=this._getItemIndex(activeElement),lastItemIndex=this._items.length-1,isGoingToWrap=isPrevDirection&&0===activeIndex||isNextDirection&&activeIndex===lastItemIndex;if(isGoingToWrap&&!this._config.wrap)return activeElement;var delta=direction===Direction.PREVIOUS?-1:1,itemIndex=(activeIndex+delta)%this._items.length;return itemIndex===-1?this._items[this._items.length-1]:this._items[itemIndex]}},{key:"_triggerSlideEvent",value:function(relatedTarget,directionalClassname){var slideEvent=$.Event(Event.SLIDE,{relatedTarget:relatedTarget,direction:directionalClassname});return $(this._element).trigger(slideEvent),slideEvent}},{key:"_setActiveIndicatorElement",value:function(element){if(this._indicatorsElement){$(this._indicatorsElement).find(Selector.ACTIVE).removeClass(ClassName.ACTIVE);var nextIndicator=this._indicatorsElement.children[this._getItemIndex(element)];nextIndicator&&$(nextIndicator).addClass(ClassName.ACTIVE)}}},{key:"_slide",value:function(direction,element){var _this3=this,activeElement=$(this._element).find(Selector.ACTIVE_ITEM)[0],nextElement=element||activeElement&&this._getItemByDirection(direction,activeElement),isCycling=Boolean(this._interval),directionalClassName=direction===Direction.NEXT?ClassName.LEFT:ClassName.RIGHT;if(nextElement&&$(nextElement).hasClass(ClassName.ACTIVE))return void(this._isSliding=!1);var slideEvent=this._triggerSlideEvent(nextElement,directionalClassName);if(!slideEvent.isDefaultPrevented()&&activeElement&&nextElement){this._isSliding=!0,isCycling&&this.pause(),this._setActiveIndicatorElement(nextElement);var slidEvent=$.Event(Event.SLID,{relatedTarget:nextElement,direction:directionalClassName});Util.supportsTransitionEnd()&&$(this._element).hasClass(ClassName.SLIDE)?($(nextElement).addClass(direction),Util.reflow(nextElement),$(activeElement).addClass(directionalClassName),$(nextElement).addClass(directionalClassName),$(activeElement).one(Util.TRANSITION_END,function(){$(nextElement).removeClass(directionalClassName).removeClass(direction),$(nextElement).addClass(ClassName.ACTIVE),$(activeElement).removeClass(ClassName.ACTIVE).removeClass(direction).removeClass(directionalClassName),_this3._isSliding=!1,setTimeout(function(){return $(_this3._element).trigger(slidEvent)},0)}).emulateTransitionEnd(TRANSITION_DURATION)):($(activeElement).removeClass(ClassName.ACTIVE),$(nextElement).addClass(ClassName.ACTIVE),this._isSliding=!1,$(this._element).trigger(slidEvent)),isCycling&&this.cycle()}}}],[{key:"_jQueryInterface",value:function(config){return this.each(function(){var data=$(this).data(DATA_KEY),_config=$.extend({},Default,$(this).data());"object"===("undefined"==typeof config?"undefined":_typeof(config))&&$.extend(_config,config);var action="string"==typeof config?config:_config.slide;if(data||(data=new Carousel(this,_config),$(this).data(DATA_KEY,data)),"number"==typeof config)data.to(config);else if("string"==typeof action){if(void 0===data[action])throw new Error('No method named "'+action+'"');data[action]()}else _config.interval&&(data.pause(),data.cycle())})}},{key:"_dataApiClickHandler",value:function(event){var selector=Util.getSelectorFromElement(this);if(selector){var target=$(selector)[0];if(target&&$(target).hasClass(ClassName.CAROUSEL)){var config=$.extend({},$(target).data(),$(this).data()),slideIndex=this.getAttribute("data-slide-to");slideIndex&&(config.interval=!1),Carousel._jQueryInterface.call($(target),config),slideIndex&&$(target).data(DATA_KEY).to(slideIndex),event.preventDefault()}}}},{key:"VERSION",get:function(){return VERSION}},{key:"Default",get:function(){return Default}}]),Carousel}();return $(document).on(Event.CLICK_DATA_API,Selector.DATA_SLIDE,Carousel._dataApiClickHandler),$(window).on(Event.LOAD_DATA_API,function(){$(Selector.DATA_RIDE).each(function(){var $carousel=$(this);Carousel._jQueryInterface.call($carousel,$carousel.data())})}),$.fn[NAME]=Carousel._jQueryInterface,$.fn[NAME].Constructor=Carousel,$.fn[NAME].noConflict=function(){return $.fn[NAME]=JQUERY_NO_CONFLICT,Carousel._jQueryInterface},Carousel}(jQuery),function($){var NAME="collapse",VERSION="4.0.0-alpha.3",DATA_KEY="bs.collapse",EVENT_KEY="."+DATA_KEY,DATA_API_KEY=".data-api",JQUERY_NO_CONFLICT=$.fn[NAME],TRANSITION_DURATION=600,Default={toggle:!0,parent:""},DefaultType={toggle:"boolean",parent:"string"},Event={SHOW:"show"+EVENT_KEY,SHOWN:"shown"+EVENT_KEY,HIDE:"hide"+EVENT_KEY,HIDDEN:"hidden"+EVENT_KEY,CLICK_DATA_API:"click"+EVENT_KEY+DATA_API_KEY},ClassName={IN:"in",COLLAPSE:"collapse",COLLAPSING:"collapsing",COLLAPSED:"collapsed"},Dimension={WIDTH:"width",HEIGHT:"height"},Selector={ACTIVES:".panel > .in, .panel > .collapsing",DATA_TOGGLE:'[data-toggle="collapse"]'},Collapse=function(){function Collapse(element,config){_classCallCheck(this,Collapse),this._isTransitioning=!1,this._element=element,this._config=this._getConfig(config),this._triggerArray=$.makeArray($('[data-toggle="collapse"][href="#'+element.id+'"],'+('[data-toggle="collapse"][data-target="#'+element.id+'"]'))),this._parent=this._config.parent?this._getParent():null,this._config.parent||this._addAriaAndCollapsedClass(this._element,this._triggerArray),this._config.toggle&&this.toggle()}return _createClass(Collapse,[{key:"toggle",value:function(){$(this._element).hasClass(ClassName.IN)?this.hide():this.show()}},{key:"show",value:function(){var _this4=this;if(!this._isTransitioning&&!$(this._element).hasClass(ClassName.IN)){var actives=void 0,activesData=void 0;if(this._parent&&(actives=$.makeArray($(Selector.ACTIVES)),actives.length||(actives=null)),!(actives&&(activesData=$(actives).data(DATA_KEY),activesData&&activesData._isTransitioning))){var startEvent=$.Event(Event.SHOW);if($(this._element).trigger(startEvent),!startEvent.isDefaultPrevented()){actives&&(Collapse._jQueryInterface.call($(actives),"hide"),activesData||$(actives).data(DATA_KEY,null));var dimension=this._getDimension();$(this._element).removeClass(ClassName.COLLAPSE).addClass(ClassName.COLLAPSING),this._element.style[dimension]=0,this._element.setAttribute("aria-expanded",!0),this._triggerArray.length&&$(this._triggerArray).removeClass(ClassName.COLLAPSED).attr("aria-expanded",!0),this.setTransitioning(!0);var complete=function(){$(_this4._element).removeClass(ClassName.COLLAPSING).addClass(ClassName.COLLAPSE).addClass(ClassName.IN),_this4._element.style[dimension]="",_this4.setTransitioning(!1),$(_this4._element).trigger(Event.SHOWN)};if(!Util.supportsTransitionEnd())return void complete();var capitalizedDimension=dimension[0].toUpperCase()+dimension.slice(1),scrollSize="scroll"+capitalizedDimension;$(this._element).one(Util.TRANSITION_END,complete).emulateTransitionEnd(TRANSITION_DURATION),this._element.style[dimension]=this._element[scrollSize]+"px"}}}}},{key:"hide",value:function(){var _this5=this;if(!this._isTransitioning&&$(this._element).hasClass(ClassName.IN)){var startEvent=$.Event(Event.HIDE);if($(this._element).trigger(startEvent),!startEvent.isDefaultPrevented()){var dimension=this._getDimension(),offsetDimension=dimension===Dimension.WIDTH?"offsetWidth":"offsetHeight";this._element.style[dimension]=this._element[offsetDimension]+"px",Util.reflow(this._element),$(this._element).addClass(ClassName.COLLAPSING).removeClass(ClassName.COLLAPSE).removeClass(ClassName.IN),this._element.setAttribute("aria-expanded",!1),this._triggerArray.length&&$(this._triggerArray).addClass(ClassName.COLLAPSED).attr("aria-expanded",!1),this.setTransitioning(!0);var complete=function(){_this5.setTransitioning(!1),$(_this5._element).removeClass(ClassName.COLLAPSING).addClass(ClassName.COLLAPSE).trigger(Event.HIDDEN)};return this._element.style[dimension]=0,Util.supportsTransitionEnd()?void $(this._element).one(Util.TRANSITION_END,complete).emulateTransitionEnd(TRANSITION_DURATION):void complete()}}}},{key:"setTransitioning",value:function(isTransitioning){this._isTransitioning=isTransitioning}},{key:"dispose",value:function(){$.removeData(this._element,DATA_KEY),this._config=null,this._parent=null,this._element=null,this._triggerArray=null,this._isTransitioning=null}},{key:"_getConfig",value:function(config){return config=$.extend({},Default,config),config.toggle=Boolean(config.toggle),Util.typeCheckConfig(NAME,config,DefaultType),config}},{key:"_getDimension",value:function(){var hasWidth=$(this._element).hasClass(Dimension.WIDTH);return hasWidth?Dimension.WIDTH:Dimension.HEIGHT}},{key:"_getParent",value:function(){var _this6=this,parent=$(this._config.parent)[0],selector='[data-toggle="collapse"][data-parent="'+this._config.parent+'"]';return $(parent).find(selector).each(function(i,element){_this6._addAriaAndCollapsedClass(Collapse._getTargetFromElement(element),[element])}),parent}},{key:"_addAriaAndCollapsedClass",value:function(element,triggerArray){if(element){var isOpen=$(element).hasClass(ClassName.IN);element.setAttribute("aria-expanded",isOpen),triggerArray.length&&$(triggerArray).toggleClass(ClassName.COLLAPSED,!isOpen).attr("aria-expanded",isOpen)}}}],[{key:"_getTargetFromElement",value:function(element){var selector=Util.getSelectorFromElement(element);return selector?$(selector)[0]:null}},{key:"_jQueryInterface",value:function(config){return this.each(function(){var $this=$(this),data=$this.data(DATA_KEY),_config=$.extend({},Default,$this.data(),"object"===("undefined"==typeof config?"undefined":_typeof(config))&&config);if(!data&&_config.toggle&&/show|hide/.test(config)&&(_config.toggle=!1),data||(data=new Collapse(this,_config),$this.data(DATA_KEY,data)),"string"==typeof config){if(void 0===data[config])throw new Error('No method named "'+config+'"');data[config]()}})}},{key:"VERSION",get:function(){return VERSION}},{key:"Default",get:function(){return Default}}]),Collapse}();return $(document).on(Event.CLICK_DATA_API,Selector.DATA_TOGGLE,function(event){event.preventDefault();var target=Collapse._getTargetFromElement(this),data=$(target).data(DATA_KEY),config=data?"toggle":$(this).data();Collapse._jQueryInterface.call($(target),config)}),$.fn[NAME]=Collapse._jQueryInterface,$.fn[NAME].Constructor=Collapse,$.fn[NAME].noConflict=function(){return $.fn[NAME]=JQUERY_NO_CONFLICT,Collapse._jQueryInterface},Collapse}(jQuery),function($){var NAME="dropdown",VERSION="4.0.0-alpha.3",DATA_KEY="bs.dropdown",EVENT_KEY="."+DATA_KEY,DATA_API_KEY=".data-api",JQUERY_NO_CONFLICT=$.fn[NAME],ESCAPE_KEYCODE=27,ARROW_UP_KEYCODE=38,ARROW_DOWN_KEYCODE=40,RIGHT_MOUSE_BUTTON_WHICH=3,Event={HIDE:"hide"+EVENT_KEY,HIDDEN:"hidden"+EVENT_KEY,SHOW:"show"+EVENT_KEY,SHOWN:"shown"+EVENT_KEY,CLICK:"click"+EVENT_KEY,CLICK_DATA_API:"click"+EVENT_KEY+DATA_API_KEY,KEYDOWN_DATA_API:"keydown"+EVENT_KEY+DATA_API_KEY},ClassName={BACKDROP:"dropdown-backdrop",DISABLED:"disabled",OPEN:"open"},Selector={BACKDROP:".dropdown-backdrop",DATA_TOGGLE:'[data-toggle="dropdown"]',FORM_CHILD:".dropdown form",ROLE_MENU:'[role="menu"]',ROLE_LISTBOX:'[role="listbox"]',NAVBAR_NAV:".navbar-nav",VISIBLE_ITEMS:'[role="menu"] li:not(.disabled) a, [role="listbox"] li:not(.disabled) a'},Dropdown=function(){function Dropdown(element){_classCallCheck(this,Dropdown),this._element=element,this._addEventListeners()}return _createClass(Dropdown,[{key:"toggle",value:function(){if(this.disabled||$(this).hasClass(ClassName.DISABLED))return!1;var parent=Dropdown._getParentFromElement(this),isActive=$(parent).hasClass(ClassName.OPEN);if(Dropdown._clearMenus(),isActive)return!1;if("ontouchstart"in document.documentElement&&!$(parent).closest(Selector.NAVBAR_NAV).length){var dropdown=document.createElement("div");dropdown.className=ClassName.BACKDROP,$(dropdown).insertBefore(this),$(dropdown).on("click",Dropdown._clearMenus)}var relatedTarget={relatedTarget:this},showEvent=$.Event(Event.SHOW,relatedTarget);return $(parent).trigger(showEvent),!showEvent.isDefaultPrevented()&&(this.focus(),this.setAttribute("aria-expanded","true"),$(parent).toggleClass(ClassName.OPEN),$(parent).trigger($.Event(Event.SHOWN,relatedTarget)),!1)}},{key:"dispose",value:function(){$.removeData(this._element,DATA_KEY),$(this._element).off(EVENT_KEY),this._element=null}},{key:"_addEventListeners",value:function(){$(this._element).on(Event.CLICK,this.toggle)}}],[{key:"_jQueryInterface",value:function(config){return this.each(function(){var data=$(this).data(DATA_KEY);if(data||$(this).data(DATA_KEY,data=new Dropdown(this)),"string"==typeof config){if(void 0===data[config])throw new Error('No method named "'+config+'"');data[config].call(this)}})}},{key:"_clearMenus",value:function(event){if(!event||event.which!==RIGHT_MOUSE_BUTTON_WHICH){var backdrop=$(Selector.BACKDROP)[0];backdrop&&backdrop.parentNode.removeChild(backdrop);for(var toggles=$.makeArray($(Selector.DATA_TOGGLE)),i=0;i<toggles.length;i++){var _parent=Dropdown._getParentFromElement(toggles[i]),relatedTarget={relatedTarget:toggles[i]};if($(_parent).hasClass(ClassName.OPEN)&&!(event&&"click"===event.type&&/input|textarea/i.test(event.target.tagName)&&$.contains(_parent,event.target))){var hideEvent=$.Event(Event.HIDE,relatedTarget);$(_parent).trigger(hideEvent),hideEvent.isDefaultPrevented()||(toggles[i].setAttribute("aria-expanded","false"),$(_parent).removeClass(ClassName.OPEN).trigger($.Event(Event.HIDDEN,relatedTarget)))}}}}},{key:"_getParentFromElement",value:function(element){var parent=void 0,selector=Util.getSelectorFromElement(element);return selector&&(parent=$(selector)[0]),parent||element.parentNode}},{key:"_dataApiKeydownHandler",value:function(event){if(/(38|40|27|32)/.test(event.which)&&!/input|textarea/i.test(event.target.tagName)&&(event.preventDefault(),event.stopPropagation(),!this.disabled&&!$(this).hasClass(ClassName.DISABLED))){var parent=Dropdown._getParentFromElement(this),isActive=$(parent).hasClass(ClassName.OPEN);if(!isActive&&event.which!==ESCAPE_KEYCODE||isActive&&event.which===ESCAPE_KEYCODE){if(event.which===ESCAPE_KEYCODE){var toggle=$(parent).find(Selector.DATA_TOGGLE)[0];$(toggle).trigger("focus")}return void $(this).trigger("click")}var items=$.makeArray($(Selector.VISIBLE_ITEMS));if(items=items.filter(function(item){return item.offsetWidth||item.offsetHeight}),items.length){var index=items.indexOf(event.target);event.which===ARROW_UP_KEYCODE&&index>0&&index--,event.which===ARROW_DOWN_KEYCODE&&index<items.length-1&&index++,index<0&&(index=0),items[index].focus()}}}},{key:"VERSION",get:function(){return VERSION}}]),Dropdown}();return $(document).on(Event.KEYDOWN_DATA_API,Selector.DATA_TOGGLE,Dropdown._dataApiKeydownHandler).on(Event.KEYDOWN_DATA_API,Selector.ROLE_MENU,Dropdown._dataApiKeydownHandler).on(Event.KEYDOWN_DATA_API,Selector.ROLE_LISTBOX,Dropdown._dataApiKeydownHandler).on(Event.CLICK_DATA_API,Dropdown._clearMenus).on(Event.CLICK_DATA_API,Selector.DATA_TOGGLE,Dropdown.prototype.toggle).on(Event.CLICK_DATA_API,Selector.FORM_CHILD,function(e){e.stopPropagation()}),$.fn[NAME]=Dropdown._jQueryInterface,$.fn[NAME].Constructor=Dropdown,$.fn[NAME].noConflict=function(){return $.fn[NAME]=JQUERY_NO_CONFLICT,Dropdown._jQueryInterface},Dropdown}(jQuery),function($){var NAME="modal",VERSION="4.0.0-alpha.3",DATA_KEY="bs.modal",EVENT_KEY="."+DATA_KEY,DATA_API_KEY=".data-api",JQUERY_NO_CONFLICT=$.fn[NAME],TRANSITION_DURATION=300,BACKDROP_TRANSITION_DURATION=150,ESCAPE_KEYCODE=27,Default={backdrop:!0,keyboard:!0,focus:!0,show:!0},DefaultType={backdrop:"(boolean|string)",keyboard:"boolean",focus:"boolean",show:"boolean"},Event={HIDE:"hide"+EVENT_KEY,HIDDEN:"hidden"+EVENT_KEY,SHOW:"show"+EVENT_KEY,SHOWN:"shown"+EVENT_KEY,FOCUSIN:"focusin"+EVENT_KEY,RESIZE:"resize"+EVENT_KEY,CLICK_DISMISS:"click.dismiss"+EVENT_KEY,KEYDOWN_DISMISS:"keydown.dismiss"+EVENT_KEY,MOUSEUP_DISMISS:"mouseup.dismiss"+EVENT_KEY,MOUSEDOWN_DISMISS:"mousedown.dismiss"+EVENT_KEY,CLICK_DATA_API:"click"+EVENT_KEY+DATA_API_KEY},ClassName={SCROLLBAR_MEASURER:"modal-scrollbar-measure",BACKDROP:"modal-backdrop",OPEN:"modal-open",FADE:"fade",IN:"in"},Selector={DIALOG:".modal-dialog",DATA_TOGGLE:'[data-toggle="modal"]',DATA_DISMISS:'[data-dismiss="modal"]',FIXED_CONTENT:".navbar-fixed-top, .navbar-fixed-bottom, .is-fixed"},Modal=function(){function Modal(element,config){_classCallCheck(this,Modal),this._config=this._getConfig(config),this._element=element,this._dialog=$(element).find(Selector.DIALOG)[0],this._backdrop=null,this._isShown=!1,this._isBodyOverflowing=!1,this._ignoreBackdropClick=!1,this._originalBodyPadding=0,this._scrollbarWidth=0}return _createClass(Modal,[{key:"toggle",value:function(relatedTarget){return this._isShown?this.hide():this.show(relatedTarget)}},{key:"show",value:function(relatedTarget){var _this7=this,showEvent=$.Event(Event.SHOW,{relatedTarget:relatedTarget});$(this._element).trigger(showEvent),this._isShown||showEvent.isDefaultPrevented()||(this._isShown=!0,this._checkScrollbar(),this._setScrollbar(),$(document.body).addClass(ClassName.OPEN),this._setEscapeEvent(),this._setResizeEvent(),$(this._element).on(Event.CLICK_DISMISS,Selector.DATA_DISMISS,$.proxy(this.hide,this)),$(this._dialog).on(Event.MOUSEDOWN_DISMISS,function(){$(_this7._element).one(Event.MOUSEUP_DISMISS,function(event){$(event.target).is(_this7._element)&&(_this7._ignoreBackdropClick=!0)})}),this._showBackdrop($.proxy(this._showElement,this,relatedTarget)))}},{key:"hide",value:function(event){event&&event.preventDefault();var hideEvent=$.Event(Event.HIDE);$(this._element).trigger(hideEvent),this._isShown&&!hideEvent.isDefaultPrevented()&&(this._isShown=!1,this._setEscapeEvent(),this._setResizeEvent(),$(document).off(Event.FOCUSIN),$(this._element).removeClass(ClassName.IN),$(this._element).off(Event.CLICK_DISMISS),$(this._dialog).off(Event.MOUSEDOWN_DISMISS),Util.supportsTransitionEnd()&&$(this._element).hasClass(ClassName.FADE)?$(this._element).one(Util.TRANSITION_END,$.proxy(this._hideModal,this)).emulateTransitionEnd(TRANSITION_DURATION):this._hideModal())}},{key:"dispose",value:function(){$.removeData(this._element,DATA_KEY),$(window).off(EVENT_KEY),$(document).off(EVENT_KEY),$(this._element).off(EVENT_KEY),$(this._backdrop).off(EVENT_KEY),this._config=null,this._element=null,this._dialog=null,this._backdrop=null,this._isShown=null,this._isBodyOverflowing=null,this._ignoreBackdropClick=null,this._originalBodyPadding=null,this._scrollbarWidth=null}},{key:"_getConfig",value:function(config){return config=$.extend({},Default,config),Util.typeCheckConfig(NAME,config,DefaultType),config}},{key:"_showElement",value:function(relatedTarget){var _this8=this,transition=Util.supportsTransitionEnd()&&$(this._element).hasClass(ClassName.FADE);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.scrollTop=0,transition&&Util.reflow(this._element),$(this._element).addClass(ClassName.IN),this._config.focus&&this._enforceFocus();var shownEvent=$.Event(Event.SHOWN,{relatedTarget:relatedTarget}),transitionComplete=function(){_this8._config.focus&&_this8._element.focus(),$(_this8._element).trigger(shownEvent)};transition?$(this._dialog).one(Util.TRANSITION_END,transitionComplete).emulateTransitionEnd(TRANSITION_DURATION):transitionComplete()}},{key:"_enforceFocus",value:function(){var _this9=this;$(document).off(Event.FOCUSIN).on(Event.FOCUSIN,function(event){document===event.target||_this9._element===event.target||$(_this9._element).has(event.target).length||_this9._element.focus()})}},{key:"_setEscapeEvent",value:function(){var _this10=this;this._isShown&&this._config.keyboard?$(this._element).on(Event.KEYDOWN_DISMISS,function(event){event.which===ESCAPE_KEYCODE&&_this10.hide()}):this._isShown||$(this._element).off(Event.KEYDOWN_DISMISS)}},{key:"_setResizeEvent",value:function(){this._isShown?$(window).on(Event.RESIZE,$.proxy(this._handleUpdate,this)):$(window).off(Event.RESIZE)}},{key:"_hideModal",value:function(){var _this11=this;this._element.style.display="none",this._element.setAttribute("aria-hidden","true"),this._showBackdrop(function(){$(document.body).removeClass(ClassName.OPEN),_this11._resetAdjustments(),_this11._resetScrollbar(),$(_this11._element).trigger(Event.HIDDEN)})}},{key:"_removeBackdrop",value:function(){this._backdrop&&($(this._backdrop).remove(),this._backdrop=null)}},{key:"_showBackdrop",value:function(callback){var _this12=this,animate=$(this._element).hasClass(ClassName.FADE)?ClassName.FADE:"";if(this._isShown&&this._config.backdrop){var doAnimate=Util.supportsTransitionEnd()&&animate;if(this._backdrop=document.createElement("div"),this._backdrop.className=ClassName.BACKDROP,animate&&$(this._backdrop).addClass(animate),$(this._backdrop).appendTo(document.body),$(this._element).on(Event.CLICK_DISMISS,function(event){return _this12._ignoreBackdropClick?void(_this12._ignoreBackdropClick=!1):void(event.target===event.currentTarget&&("static"===_this12._config.backdrop?_this12._element.focus():_this12.hide()))}),doAnimate&&Util.reflow(this._backdrop),$(this._backdrop).addClass(ClassName.IN),!callback)return;if(!doAnimate)return void callback();$(this._backdrop).one(Util.TRANSITION_END,callback).emulateTransitionEnd(BACKDROP_TRANSITION_DURATION)}else if(!this._isShown&&this._backdrop){$(this._backdrop).removeClass(ClassName.IN);var callbackRemove=function(){_this12._removeBackdrop(),callback&&callback()};Util.supportsTransitionEnd()&&$(this._element).hasClass(ClassName.FADE)?$(this._backdrop).one(Util.TRANSITION_END,callbackRemove).emulateTransitionEnd(BACKDROP_TRANSITION_DURATION):callbackRemove()}else callback&&callback()}},{key:"_handleUpdate",value:function(){this._adjustDialog()}},{key:"_adjustDialog",value:function(){var isModalOverflowing=this._element.scrollHeight>document.documentElement.clientHeight;!this._isBodyOverflowing&&isModalOverflowing&&(this._element.style.paddingLeft=this._scrollbarWidth+"px"),this._isBodyOverflowing&&!isModalOverflowing&&(this._element.style.paddingRight=this._scrollbarWidth+"px")}},{key:"_resetAdjustments",value:function(){this._element.style.paddingLeft="",this._element.style.paddingRight=""}},{key:"_checkScrollbar",value:function(){this._isBodyOverflowing=document.body.clientWidth<window.innerWidth,this._scrollbarWidth=this._getScrollbarWidth()}},{key:"_setScrollbar",value:function(){var bodyPadding=parseInt($(Selector.FIXED_CONTENT).css("padding-right")||0,10);this._originalBodyPadding=document.body.style.paddingRight||"",this._isBodyOverflowing&&(document.body.style.paddingRight=bodyPadding+this._scrollbarWidth+"px")}},{key:"_resetScrollbar",value:function(){document.body.style.paddingRight=this._originalBodyPadding}},{key:"_getScrollbarWidth",value:function(){var scrollDiv=document.createElement("div");scrollDiv.className=ClassName.SCROLLBAR_MEASURER,document.body.appendChild(scrollDiv);var scrollbarWidth=scrollDiv.offsetWidth-scrollDiv.clientWidth;return document.body.removeChild(scrollDiv),scrollbarWidth}}],[{key:"_jQueryInterface",value:function(config,relatedTarget){return this.each(function(){var data=$(this).data(DATA_KEY),_config=$.extend({},Modal.Default,$(this).data(),"object"===("undefined"==typeof config?"undefined":_typeof(config))&&config);if(data||(data=new Modal(this,_config),$(this).data(DATA_KEY,data)),"string"==typeof config){if(void 0===data[config])throw new Error('No method named "'+config+'"');data[config](relatedTarget)}else _config.show&&data.show(relatedTarget)})}},{key:"VERSION",get:function(){return VERSION}},{key:"Default",get:function(){return Default}}]),Modal}();return $(document).on(Event.CLICK_DATA_API,Selector.DATA_TOGGLE,function(event){var _this13=this,target=void 0,selector=Util.getSelectorFromElement(this);selector&&(target=$(selector)[0]);var config=$(target).data(DATA_KEY)?"toggle":$.extend({},$(target).data(),$(this).data());"A"===this.tagName&&event.preventDefault();var $target=$(target).one(Event.SHOW,function(showEvent){showEvent.isDefaultPrevented()||$target.one(Event.HIDDEN,function(){$(_this13).is(":visible")&&_this13.focus()})});Modal._jQueryInterface.call($(target),config,this)}),$.fn[NAME]=Modal._jQueryInterface,$.fn[NAME].Constructor=Modal,$.fn[NAME].noConflict=function(){return $.fn[NAME]=JQUERY_NO_CONFLICT,Modal._jQueryInterface},Modal}(jQuery),function($){var NAME="scrollspy",VERSION="4.0.0-alpha.3",DATA_KEY="bs.scrollspy",EVENT_KEY="."+DATA_KEY,DATA_API_KEY=".data-api",JQUERY_NO_CONFLICT=$.fn[NAME],Default={offset:10,method:"auto",target:""},DefaultType={offset:"number",method:"string",target:"(string|element)"},Event={ACTIVATE:"activate"+EVENT_KEY,SCROLL:"scroll"+EVENT_KEY,LOAD_DATA_API:"load"+EVENT_KEY+DATA_API_KEY},ClassName={DROPDOWN_ITEM:"dropdown-item",DROPDOWN_MENU:"dropdown-menu",NAV_LINK:"nav-link",NAV:"nav",ACTIVE:"active"},Selector={DATA_SPY:'[data-spy="scroll"]',ACTIVE:".active",LIST_ITEM:".list-item",LI:"li",LI_DROPDOWN:"li.dropdown",NAV_LINKS:".nav-link",DROPDOWN:".dropdown",DROPDOWN_ITEMS:".dropdown-item",DROPDOWN_TOGGLE:".dropdown-toggle"},OffsetMethod={OFFSET:"offset",POSITION:"position"},ScrollSpy=function(){function ScrollSpy(element,config){_classCallCheck(this,ScrollSpy),this._element=element,this._scrollElement="BODY"===element.tagName?window:element,this._config=this._getConfig(config),this._selector=this._config.target+" "+Selector.NAV_LINKS+","+(this._config.target+" "+Selector.DROPDOWN_ITEMS),this._offsets=[],this._targets=[],this._activeTarget=null,this._scrollHeight=0,$(this._scrollElement).on(Event.SCROLL,$.proxy(this._process,this)),this.refresh(),this._process()}return _createClass(ScrollSpy,[{key:"refresh",value:function(){var _this14=this,autoMethod=this._scrollElement!==this._scrollElement.window?OffsetMethod.POSITION:OffsetMethod.OFFSET,offsetMethod="auto"===this._config.method?autoMethod:this._config.method,offsetBase=offsetMethod===OffsetMethod.POSITION?this._getScrollTop():0;this._offsets=[],this._targets=[],this._scrollHeight=this._getScrollHeight();var targets=$.makeArray($(this._selector));targets.map(function(element){var target=void 0,targetSelector=Util.getSelectorFromElement(element);return targetSelector&&(target=$(targetSelector)[0]),target&&(target.offsetWidth||target.offsetHeight)?[$(target)[offsetMethod]().top+offsetBase,targetSelector]:null}).filter(function(item){return item}).sort(function(a,b){return a[0]-b[0]}).forEach(function(item){_this14._offsets.push(item[0]),_this14._targets.push(item[1])})}},{key:"dispose",value:function(){$.removeData(this._element,DATA_KEY),$(this._scrollElement).off(EVENT_KEY),this._element=null,this._scrollElement=null,this._config=null,this._selector=null,this._offsets=null,this._targets=null,this._activeTarget=null,this._scrollHeight=null}},{key:"_getConfig",value:function(config){if(config=$.extend({},Default,config),"string"!=typeof config.target){var id=$(config.target).attr("id");id||(id=Util.getUID(NAME),$(config.target).attr("id",id)),config.target="#"+id}return Util.typeCheckConfig(NAME,config,DefaultType),config}},{key:"_getScrollTop",value:function(){return this._scrollElement===window?this._scrollElement.scrollY:this._scrollElement.scrollTop}},{key:"_getScrollHeight",value:function(){return this._scrollElement.scrollHeight||Math.max(document.body.scrollHeight,document.documentElement.scrollHeight)}},{key:"_process",value:function(){var scrollTop=this._getScrollTop()+this._config.offset,scrollHeight=this._getScrollHeight(),maxScroll=this._config.offset+scrollHeight-this._scrollElement.offsetHeight;if(this._scrollHeight!==scrollHeight&&this.refresh(),scrollTop>=maxScroll){var target=this._targets[this._targets.length-1];this._activeTarget!==target&&this._activate(target)}if(this._activeTarget&&scrollTop<this._offsets[0])return this._activeTarget=null,void this._clear();for(var i=this._offsets.length;i--;){var isActiveTarget=this._activeTarget!==this._targets[i]&&scrollTop>=this._offsets[i]&&(void 0===this._offsets[i+1]||scrollTop<this._offsets[i+1]);isActiveTarget&&this._activate(this._targets[i])}}},{key:"_activate",value:function(target){this._activeTarget=target,this._clear();var queries=this._selector.split(",");queries=queries.map(function(selector){return selector+'[data-target="'+target+'"],'+(selector+'[href="'+target+'"]')});var $link=$(queries.join(","));$link.hasClass(ClassName.DROPDOWN_ITEM)?($link.closest(Selector.DROPDOWN).find(Selector.DROPDOWN_TOGGLE).addClass(ClassName.ACTIVE),$link.addClass(ClassName.ACTIVE)):$link.parents(Selector.LI).find(Selector.NAV_LINKS).addClass(ClassName.ACTIVE),$(this._scrollElement).trigger(Event.ACTIVATE,{relatedTarget:target})}},{key:"_clear",value:function(){$(this._selector).filter(Selector.ACTIVE).removeClass(ClassName.ACTIVE)}}],[{key:"_jQueryInterface",value:function(config){return this.each(function(){var data=$(this).data(DATA_KEY),_config="object"===("undefined"==typeof config?"undefined":_typeof(config))&&config||null;if(data||(data=new ScrollSpy(this,_config),$(this).data(DATA_KEY,data)),"string"==typeof config){if(void 0===data[config])throw new Error('No method named "'+config+'"');data[config]()}})}},{key:"VERSION",get:function(){
+return VERSION}},{key:"Default",get:function(){return Default}}]),ScrollSpy}();return $(window).on(Event.LOAD_DATA_API,function(){for(var scrollSpys=$.makeArray($(Selector.DATA_SPY)),i=scrollSpys.length;i--;){var $spy=$(scrollSpys[i]);ScrollSpy._jQueryInterface.call($spy,$spy.data())}}),$.fn[NAME]=ScrollSpy._jQueryInterface,$.fn[NAME].Constructor=ScrollSpy,$.fn[NAME].noConflict=function(){return $.fn[NAME]=JQUERY_NO_CONFLICT,ScrollSpy._jQueryInterface},ScrollSpy}(jQuery),function($){var NAME="tab",VERSION="4.0.0-alpha.3",DATA_KEY="bs.tab",EVENT_KEY="."+DATA_KEY,DATA_API_KEY=".data-api",JQUERY_NO_CONFLICT=$.fn[NAME],TRANSITION_DURATION=150,Event={HIDE:"hide"+EVENT_KEY,HIDDEN:"hidden"+EVENT_KEY,SHOW:"show"+EVENT_KEY,SHOWN:"shown"+EVENT_KEY,CLICK_DATA_API:"click"+EVENT_KEY+DATA_API_KEY},ClassName={DROPDOWN_MENU:"dropdown-menu",ACTIVE:"active",FADE:"fade",IN:"in"},Selector={A:"a",LI:"li",DROPDOWN:".dropdown",UL:"ul:not(.dropdown-menu)",FADE_CHILD:"> .nav-item .fade, > .fade",ACTIVE:".active",ACTIVE_CHILD:"> .nav-item > .active, > .active",DATA_TOGGLE:'[data-toggle="tab"], [data-toggle="pill"]',DROPDOWN_TOGGLE:".dropdown-toggle",DROPDOWN_ACTIVE_CHILD:"> .dropdown-menu .active"},Tab=function(){function Tab(element){_classCallCheck(this,Tab),this._element=element}return _createClass(Tab,[{key:"show",value:function(){var _this15=this;if(!this._element.parentNode||this._element.parentNode.nodeType!==Node.ELEMENT_NODE||!$(this._element).hasClass(ClassName.ACTIVE)){var target=void 0,previous=void 0,ulElement=$(this._element).closest(Selector.UL)[0],selector=Util.getSelectorFromElement(this._element);ulElement&&(previous=$.makeArray($(ulElement).find(Selector.ACTIVE)),previous=previous[previous.length-1]);var hideEvent=$.Event(Event.HIDE,{relatedTarget:this._element}),showEvent=$.Event(Event.SHOW,{relatedTarget:previous});if(previous&&$(previous).trigger(hideEvent),$(this._element).trigger(showEvent),!showEvent.isDefaultPrevented()&&!hideEvent.isDefaultPrevented()){selector&&(target=$(selector)[0]),this._activate(this._element,ulElement);var complete=function(){var hiddenEvent=$.Event(Event.HIDDEN,{relatedTarget:_this15._element}),shownEvent=$.Event(Event.SHOWN,{relatedTarget:previous});$(previous).trigger(hiddenEvent),$(_this15._element).trigger(shownEvent)};target?this._activate(target,target.parentNode,complete):complete()}}}},{key:"dispose",value:function(){$.removeClass(this._element,DATA_KEY),this._element=null}},{key:"_activate",value:function(element,container,callback){var active=$(container).find(Selector.ACTIVE_CHILD)[0],isTransitioning=callback&&Util.supportsTransitionEnd()&&(active&&$(active).hasClass(ClassName.FADE)||Boolean($(container).find(Selector.FADE_CHILD)[0])),complete=$.proxy(this._transitionComplete,this,element,active,isTransitioning,callback);active&&isTransitioning?$(active).one(Util.TRANSITION_END,complete).emulateTransitionEnd(TRANSITION_DURATION):complete(),active&&$(active).removeClass(ClassName.IN)}},{key:"_transitionComplete",value:function(element,active,isTransitioning,callback){if(active){$(active).removeClass(ClassName.ACTIVE);var dropdownChild=$(active).find(Selector.DROPDOWN_ACTIVE_CHILD)[0];dropdownChild&&$(dropdownChild).removeClass(ClassName.ACTIVE),active.setAttribute("aria-expanded",!1)}if($(element).addClass(ClassName.ACTIVE),element.setAttribute("aria-expanded",!0),isTransitioning?(Util.reflow(element),$(element).addClass(ClassName.IN)):$(element).removeClass(ClassName.FADE),element.parentNode&&$(element.parentNode).hasClass(ClassName.DROPDOWN_MENU)){var dropdownElement=$(element).closest(Selector.DROPDOWN)[0];dropdownElement&&$(dropdownElement).find(Selector.DROPDOWN_TOGGLE).addClass(ClassName.ACTIVE),element.setAttribute("aria-expanded",!0)}callback&&callback()}}],[{key:"_jQueryInterface",value:function(config){return this.each(function(){var $this=$(this),data=$this.data(DATA_KEY);if(data||(data=data=new Tab(this),$this.data(DATA_KEY,data)),"string"==typeof config){if(void 0===data[config])throw new Error('No method named "'+config+'"');data[config]()}})}},{key:"VERSION",get:function(){return VERSION}}]),Tab}();return $(document).on(Event.CLICK_DATA_API,Selector.DATA_TOGGLE,function(event){event.preventDefault(),Tab._jQueryInterface.call($(this),"show")}),$.fn[NAME]=Tab._jQueryInterface,$.fn[NAME].Constructor=Tab,$.fn[NAME].noConflict=function(){return $.fn[NAME]=JQUERY_NO_CONFLICT,Tab._jQueryInterface},Tab}(jQuery),function($){if(void 0===window.Tether)throw new Error("Bootstrap tooltips require Tether (http://github.hubspot.com/tether/)");var NAME="tooltip",VERSION="4.0.0-alpha.3",DATA_KEY="bs.tooltip",EVENT_KEY="."+DATA_KEY,JQUERY_NO_CONFLICT=$.fn[NAME],TRANSITION_DURATION=150,CLASS_PREFIX="bs-tether",Default={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 0",constraints:[]},DefaultType={animation:"boolean",template:"string",title:"(string|element|function)",trigger:"string",delay:"(number|object)",html:"boolean",selector:"(string|boolean)",placement:"(string|function)",offset:"string",constraints:"array"},AttachmentMap={TOP:"bottom center",RIGHT:"middle left",BOTTOM:"top center",LEFT:"middle right"},HoverState={IN:"in",OUT:"out"},Event={HIDE:"hide"+EVENT_KEY,HIDDEN:"hidden"+EVENT_KEY,SHOW:"show"+EVENT_KEY,SHOWN:"shown"+EVENT_KEY,INSERTED:"inserted"+EVENT_KEY,CLICK:"click"+EVENT_KEY,FOCUSIN:"focusin"+EVENT_KEY,FOCUSOUT:"focusout"+EVENT_KEY,MOUSEENTER:"mouseenter"+EVENT_KEY,MOUSELEAVE:"mouseleave"+EVENT_KEY},ClassName={FADE:"fade",IN:"in"},Selector={TOOLTIP:".tooltip",TOOLTIP_INNER:".tooltip-inner"},TetherClass={element:!1,enabled:!1},Trigger={HOVER:"hover",FOCUS:"focus",CLICK:"click",MANUAL:"manual"},Tooltip=function(){function Tooltip(element,config){_classCallCheck(this,Tooltip),this._isEnabled=!0,this._timeout=0,this._hoverState="",this._activeTrigger={},this._tether=null,this.element=element,this.config=this._getConfig(config),this.tip=null,this._setListeners()}return _createClass(Tooltip,[{key:"enable",value:function(){this._isEnabled=!0}},{key:"disable",value:function(){this._isEnabled=!1}},{key:"toggleEnabled",value:function(){this._isEnabled=!this._isEnabled}},{key:"toggle",value:function(event){if(event){var dataKey=this.constructor.DATA_KEY,context=$(event.currentTarget).data(dataKey);context||(context=new this.constructor(event.currentTarget,this._getDelegateConfig()),$(event.currentTarget).data(dataKey,context)),context._activeTrigger.click=!context._activeTrigger.click,context._isWithActiveTrigger()?context._enter(null,context):context._leave(null,context)}else{if($(this.getTipElement()).hasClass(ClassName.IN))return void this._leave(null,this);this._enter(null,this)}}},{key:"dispose",value:function(){clearTimeout(this._timeout),this.cleanupTether(),$.removeData(this.element,this.constructor.DATA_KEY),$(this.element).off(this.constructor.EVENT_KEY),this.tip&&$(this.tip).remove(),this._isEnabled=null,this._timeout=null,this._hoverState=null,this._activeTrigger=null,this._tether=null,this.element=null,this.config=null,this.tip=null}},{key:"show",value:function(){var _this16=this,showEvent=$.Event(this.constructor.Event.SHOW);if(this.isWithContent()&&this._isEnabled){$(this.element).trigger(showEvent);var isInTheDom=$.contains(this.element.ownerDocument.documentElement,this.element);if(showEvent.isDefaultPrevented()||!isInTheDom)return;var tip=this.getTipElement(),tipId=Util.getUID(this.constructor.NAME);tip.setAttribute("id",tipId),this.element.setAttribute("aria-describedby",tipId),this.setContent(),this.config.animation&&$(tip).addClass(ClassName.FADE);var placement="function"==typeof this.config.placement?this.config.placement.call(this,tip,this.element):this.config.placement,attachment=this._getAttachment(placement);$(tip).data(this.constructor.DATA_KEY,this).appendTo(document.body),$(this.element).trigger(this.constructor.Event.INSERTED),this._tether=new Tether({attachment:attachment,element:tip,target:this.element,classes:TetherClass,classPrefix:CLASS_PREFIX,offset:this.config.offset,constraints:this.config.constraints,addTargetClasses:!1}),Util.reflow(tip),this._tether.position(),$(tip).addClass(ClassName.IN);var complete=function(){var prevHoverState=_this16._hoverState;_this16._hoverState=null,$(_this16.element).trigger(_this16.constructor.Event.SHOWN),prevHoverState===HoverState.OUT&&_this16._leave(null,_this16)};if(Util.supportsTransitionEnd()&&$(this.tip).hasClass(ClassName.FADE))return void $(this.tip).one(Util.TRANSITION_END,complete).emulateTransitionEnd(Tooltip._TRANSITION_DURATION);complete()}}},{key:"hide",value:function(callback){var _this17=this,tip=this.getTipElement(),hideEvent=$.Event(this.constructor.Event.HIDE),complete=function(){_this17._hoverState!==HoverState.IN&&tip.parentNode&&tip.parentNode.removeChild(tip),_this17.element.removeAttribute("aria-describedby"),$(_this17.element).trigger(_this17.constructor.Event.HIDDEN),_this17.cleanupTether(),callback&&callback()};$(this.element).trigger(hideEvent),hideEvent.isDefaultPrevented()||($(tip).removeClass(ClassName.IN),Util.supportsTransitionEnd()&&$(this.tip).hasClass(ClassName.FADE)?$(tip).one(Util.TRANSITION_END,complete).emulateTransitionEnd(TRANSITION_DURATION):complete(),this._hoverState="")}},{key:"isWithContent",value:function(){return Boolean(this.getTitle())}},{key:"getTipElement",value:function(){return this.tip=this.tip||$(this.config.template)[0]}},{key:"setContent",value:function(){var $tip=$(this.getTipElement());this.setElementContent($tip.find(Selector.TOOLTIP_INNER),this.getTitle()),$tip.removeClass(ClassName.FADE).removeClass(ClassName.IN),this.cleanupTether()}},{key:"setElementContent",value:function($element,content){var html=this.config.html;"object"===("undefined"==typeof content?"undefined":_typeof(content))&&(content.nodeType||content.jquery)?html?$(content).parent().is($element)||$element.empty().append(content):$element.text($(content).text()):$element[html?"html":"text"](content)}},{key:"getTitle",value:function(){var title=this.element.getAttribute("data-original-title");return title||(title="function"==typeof this.config.title?this.config.title.call(this.element):this.config.title),title}},{key:"cleanupTether",value:function(){this._tether&&this._tether.destroy()}},{key:"_getAttachment",value:function(placement){return AttachmentMap[placement.toUpperCase()]}},{key:"_setListeners",value:function(){var _this18=this,triggers=this.config.trigger.split(" ");triggers.forEach(function(trigger){if("click"===trigger)$(_this18.element).on(_this18.constructor.Event.CLICK,_this18.config.selector,$.proxy(_this18.toggle,_this18));else if(trigger!==Trigger.MANUAL){var eventIn=trigger===Trigger.HOVER?_this18.constructor.Event.MOUSEENTER:_this18.constructor.Event.FOCUSIN,eventOut=trigger===Trigger.HOVER?_this18.constructor.Event.MOUSELEAVE:_this18.constructor.Event.FOCUSOUT;$(_this18.element).on(eventIn,_this18.config.selector,$.proxy(_this18._enter,_this18)).on(eventOut,_this18.config.selector,$.proxy(_this18._leave,_this18))}}),this.config.selector?this.config=$.extend({},this.config,{trigger:"manual",selector:""}):this._fixTitle()}},{key:"_fixTitle",value:function(){var titleType=_typeof(this.element.getAttribute("data-original-title"));(this.element.getAttribute("title")||"string"!==titleType)&&(this.element.setAttribute("data-original-title",this.element.getAttribute("title")||""),this.element.setAttribute("title",""))}},{key:"_enter",value:function(event,context){var dataKey=this.constructor.DATA_KEY;return context=context||$(event.currentTarget).data(dataKey),context||(context=new this.constructor(event.currentTarget,this._getDelegateConfig()),$(event.currentTarget).data(dataKey,context)),event&&(context._activeTrigger["focusin"===event.type?Trigger.FOCUS:Trigger.HOVER]=!0),$(context.getTipElement()).hasClass(ClassName.IN)||context._hoverState===HoverState.IN?void(context._hoverState=HoverState.IN):(clearTimeout(context._timeout),context._hoverState=HoverState.IN,context.config.delay&&context.config.delay.show?void(context._timeout=setTimeout(function(){context._hoverState===HoverState.IN&&context.show()},context.config.delay.show)):void context.show())}},{key:"_leave",value:function(event,context){var dataKey=this.constructor.DATA_KEY;if(context=context||$(event.currentTarget).data(dataKey),context||(context=new this.constructor(event.currentTarget,this._getDelegateConfig()),$(event.currentTarget).data(dataKey,context)),event&&(context._activeTrigger["focusout"===event.type?Trigger.FOCUS:Trigger.HOVER]=!1),!context._isWithActiveTrigger())return clearTimeout(context._timeout),context._hoverState=HoverState.OUT,context.config.delay&&context.config.delay.hide?void(context._timeout=setTimeout(function(){context._hoverState===HoverState.OUT&&context.hide()},context.config.delay.hide)):void context.hide()}},{key:"_isWithActiveTrigger",value:function(){for(var trigger in this._activeTrigger)if(this._activeTrigger[trigger])return!0;return!1}},{key:"_getConfig",value:function(config){return config=$.extend({},this.constructor.Default,$(this.element).data(),config),config.delay&&"number"==typeof config.delay&&(config.delay={show:config.delay,hide:config.delay}),Util.typeCheckConfig(NAME,config,this.constructor.DefaultType),config}},{key:"_getDelegateConfig",value:function(){var config={};if(this.config)for(var key in this.config)this.constructor.Default[key]!==this.config[key]&&(config[key]=this.config[key]);return config}}],[{key:"_jQueryInterface",value:function(config){return this.each(function(){var data=$(this).data(DATA_KEY),_config="object"===("undefined"==typeof config?"undefined":_typeof(config))?config:null;if((data||!/destroy|hide/.test(config))&&(data||(data=new Tooltip(this,_config),$(this).data(DATA_KEY,data)),"string"==typeof config)){if(void 0===data[config])throw new Error('No method named "'+config+'"');data[config]()}})}},{key:"VERSION",get:function(){return VERSION}},{key:"Default",get:function(){return Default}},{key:"NAME",get:function(){return NAME}},{key:"DATA_KEY",get:function(){return DATA_KEY}},{key:"Event",get:function(){return Event}},{key:"EVENT_KEY",get:function(){return EVENT_KEY}},{key:"DefaultType",get:function(){return DefaultType}}]),Tooltip}();return $.fn[NAME]=Tooltip._jQueryInterface,$.fn[NAME].Constructor=Tooltip,$.fn[NAME].noConflict=function(){return $.fn[NAME]=JQUERY_NO_CONFLICT,Tooltip._jQueryInterface},Tooltip}(jQuery));(function($){var NAME="popover",VERSION="4.0.0-alpha.3",DATA_KEY="bs.popover",EVENT_KEY="."+DATA_KEY,JQUERY_NO_CONFLICT=$.fn[NAME],Default=$.extend({},Tooltip.Default,{placement:"right",trigger:"click",content:"",template:'<div class="popover" role="tooltip"><div class="popover-arrow"></div><h3 class="popover-title"></h3><div class="popover-content"></div></div>'}),DefaultType=$.extend({},Tooltip.DefaultType,{content:"(string|element|function)"}),ClassName={FADE:"fade",IN:"in"},Selector={TITLE:".popover-title",CONTENT:".popover-content",ARROW:".popover-arrow"},Event={HIDE:"hide"+EVENT_KEY,HIDDEN:"hidden"+EVENT_KEY,SHOW:"show"+EVENT_KEY,SHOWN:"shown"+EVENT_KEY,INSERTED:"inserted"+EVENT_KEY,CLICK:"click"+EVENT_KEY,FOCUSIN:"focusin"+EVENT_KEY,FOCUSOUT:"focusout"+EVENT_KEY,MOUSEENTER:"mouseenter"+EVENT_KEY,MOUSELEAVE:"mouseleave"+EVENT_KEY},Popover=function(_Tooltip){function Popover(){_classCallCheck(this,Popover),_get(Object.getPrototypeOf(Popover.prototype),"constructor",this).apply(this,arguments)}return _inherits(Popover,_Tooltip),_createClass(Popover,[{key:"isWithContent",value:function(){return this.getTitle()||this._getContent()}},{key:"getTipElement",value:function(){return this.tip=this.tip||$(this.config.template)[0]}},{key:"setContent",value:function(){var $tip=$(this.getTipElement());this.setElementContent($tip.find(Selector.TITLE),this.getTitle()),this.setElementContent($tip.find(Selector.CONTENT),this._getContent()),$tip.removeClass(ClassName.FADE).removeClass(ClassName.IN),this.cleanupTether()}},{key:"_getContent",value:function(){return this.element.getAttribute("data-content")||("function"==typeof this.config.content?this.config.content.call(this.element):this.config.content)}}],[{key:"_jQueryInterface",value:function(config){return this.each(function(){var data=$(this).data(DATA_KEY),_config="object"===("undefined"==typeof config?"undefined":_typeof(config))?config:null;if((data||!/destroy|hide/.test(config))&&(data||(data=new Popover(this,_config),$(this).data(DATA_KEY,data)),"string"==typeof config)){if(void 0===data[config])throw new Error('No method named "'+config+'"');data[config]()}})}},{key:"VERSION",get:function(){return VERSION}},{key:"Default",get:function(){return Default}},{key:"NAME",get:function(){return NAME}},{key:"DATA_KEY",get:function(){return DATA_KEY}},{key:"Event",get:function(){return Event}},{key:"EVENT_KEY",get:function(){return EVENT_KEY}},{key:"DefaultType",get:function(){return DefaultType}}]),Popover}(Tooltip);return $.fn[NAME]=Popover._jQueryInterface,$.fn[NAME].Constructor=Popover,$.fn[NAME].noConflict=function(){return $.fn[NAME]=JQUERY_NO_CONFLICT,Popover._jQueryInterface},Popover})(jQuery)}(jQuery);var Util=function(){function transitionEndTest(){if(window.QUnit)return!1;var el=document.createElement("bmd");for(var name in TransitionEndEvent)if(void 0!==el.style[name])return TransitionEndEvent[name];return!1}function setTransitionEndSupport(){transitionEnd=transitionEndTest();for(var name in TransitionEndEvent)_transitionEndSelector+=" "+TransitionEndEvent[name]}var transitionEnd=!1,_transitionEndSelector="",TransitionEndEvent={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"},Util={transitionEndSupported:function(){return transitionEnd},transitionEndSelector:function(){return _transitionEndSelector},isChar:function(event){return"undefined"==typeof event.which||"number"==typeof event.which&&event.which>0&&(!event.ctrlKey&&!event.metaKey&&!event.altKey&&8!==event.which&&9!==event.which&&13!==event.which&&16!==event.which&&17!==event.which&&20!==event.which&&27!==event.which)},assert:function($element,invalidTest,message){if(invalidTest)throw void 0===!$element&&$element.css("border","1px solid red"),console.error(message,$element),message},describe:function($element){return void 0===$element?"undefined":0===$element.length?"(no matching elements)":$element[0].outerHTML.split(">")[0]+">"}};return setTransitionEndSupport(),Util}(jQuery),Base=function($){var ClassName={BMD_FORM_GROUP:"bmd-form-group",IS_FILLED:"is-filled",IS_FOCUSED:"is-focused"},Selector={BMD_FORM_GROUP:"."+ClassName.BMD_FORM_GROUP},Default={},Base=function(){function Base($element,config){var properties=arguments.length<=2||void 0===arguments[2]?{}:arguments[2];classCallCheck(this,Base),this.$element=$element,this.config=$.extend(!0,{},Default,config);for(var key in properties)this[key]=properties[key]}return createClass(Base,[{key:"dispose",value:function(dataKey){this.$element.data(dataKey,null),this.$element=null,this.config=null}},{key:"addFormGroupFocus",value:function(){this.$element.prop("disabled")||this.$bmdFormGroup.addClass(ClassName.IS_FOCUSED)}},{key:"removeFormGroupFocus",value:function(){this.$bmdFormGroup.removeClass(ClassName.IS_FOCUSED)}},{key:"removeIsFilled",value:function(){this.$bmdFormGroup.removeClass(ClassName.IS_FILLED)}},{key:"addIsFilled",value:function(){this.$bmdFormGroup.addClass(ClassName.IS_FILLED)}},{key:"findMdbFormGroup",value:function(){var raiseError=arguments.length<=0||void 0===arguments[0]||arguments[0],mfg=this.$element.closest(Selector.BMD_FORM_GROUP);return 0===mfg.length&&raiseError&&$.error("Failed to find "+Selector.BMD_FORM_GROUP+" for "+Util.describe(this.$element)),mfg}}]),Base}();return Base}(jQuery),BaseInput=function($){var ClassName={FORM_GROUP:"form-group",BMD_FORM_GROUP:"bmd-form-group",BMD_LABEL:"bmd-label",BMD_LABEL_STATIC:"bmd-label-static",BMD_LABEL_PLACEHOLDER:"bmd-label-placeholder",BMD_LABEL_FLOATING:"bmd-label-floating",HAS_DANGER:"has-danger",IS_FILLED:"is-filled",IS_FOCUSED:"is-focused",INPUT_GROUP:"input-group"},Selector={FORM_GROUP:"."+ClassName.FORM_GROUP,BMD_FORM_GROUP:"."+ClassName.BMD_FORM_GROUP,BMD_LABEL_WILDCARD:"label[class^='"+ClassName.BMD_LABEL+"'], label[class*=' "+ClassName.BMD_LABEL+"']"},Default={validate:!1,formGroup:{required:!1},bmdFormGroup:{template:"<span class='"+ClassName.BMD_FORM_GROUP+"'></span>",create:!0,required:!0},label:{required:!1,selectors:[".form-control-label","> label"],className:ClassName.BMD_LABEL_STATIC},requiredClasses:[],invalidComponentMatches:[],convertInputSizeVariations:!0},FormControlSizeMarkers={"form-control-lg":"bmd-form-group-lg","form-control-sm":"bmd-form-group-sm"},BaseInput=function(_Base){function BaseInput($element,config){var properties=arguments.length<=2||void 0===arguments[2]?{}:arguments[2];classCallCheck(this,BaseInput);var _this=possibleConstructorReturn(this,Object.getPrototypeOf(BaseInput).call(this,$element,$.extend(!0,{},Default,config),properties));return _this._rejectInvalidComponentMatches(),_this.rejectWithoutRequiredStructure(),_this._rejectWithoutRequiredClasses(),_this.$formGroup=_this.findFormGroup(_this.config.formGroup.required),_this.$bmdFormGroup=_this.resolveMdbFormGroup(),_this.$bmdLabel=_this.resolveMdbLabel(),_this.resolveMdbFormGroupSizing(),_this.addFocusListener(),_this.addChangeListener(),""!=_this.$element.val()&&_this.addIsFilled(),_this}return inherits(BaseInput,_Base),createClass(BaseInput,[{key:"dispose",value:function(dataKey){get(Object.getPrototypeOf(BaseInput.prototype),"dispose",this).call(this,dataKey),this.$bmdFormGroup=null,this.$formGroup=null}},{key:"rejectWithoutRequiredStructure",value:function(){}},{key:"addFocusListener",value:function(){var _this2=this;this.$element.on("focus",function(){_this2.addFormGroupFocus()}).on("blur",function(){_this2.removeFormGroupFocus()})}},{key:"addChangeListener",value:function(){var _this3=this;this.$element.on("keydown paste",function(event){Util.isChar(event)&&_this3.addIsFilled()}).on("keyup change",function(){if(_this3.isEmpty()?_this3.removeIsFilled():_this3.addIsFilled(),_this3.config.validate){var isValid="undefined"==typeof _this3.$element[0].checkValidity||_this3.$element[0].checkValidity();isValid?_this3.removeHasDanger():_this3.addHasDanger()}})}},{key:"addHasDanger",value:function(){this.$bmdFormGroup.addClass(ClassName.HAS_DANGER)}},{key:"removeHasDanger",value:function(){this.$bmdFormGroup.removeClass(ClassName.HAS_DANGER)}},{key:"isEmpty",value:function(){return null===this.$element.val()||void 0===this.$element.val()||""===this.$element.val()}},{key:"resolveMdbFormGroup",value:function(){var mfg=this.findMdbFormGroup(!1);return void 0!==mfg&&0!==mfg.length||(!this.config.bmdFormGroup.create||void 0!==this.$formGroup&&0!==this.$formGroup.length?this.$formGroup.addClass(ClassName.BMD_FORM_GROUP):this.outerElement().parent().hasClass(ClassName.INPUT_GROUP)?this.outerElement().parent().wrap(this.config.bmdFormGroup.template):this.outerElement().wrap(this.config.bmdFormGroup.template),mfg=this.findMdbFormGroup(this.config.bmdFormGroup.required)),mfg}},{key:"outerElement",value:function(){return this.$element}},{key:"resolveMdbLabel",value:function(){var label=this.$bmdFormGroup.find(Selector.BMD_LABEL_WILDCARD);return void 0!==label&&0!==label.length||(label=this.findMdbLabel(this.config.label.required),void 0===label||0===label.length||label.addClass(this.config.label.className)),label}},{key:"findMdbLabel",value:function(){var raiseError=arguments.length<=0||void 0===arguments[0]||arguments[0],label=null,_iteratorNormalCompletion=!0,_didIteratorError=!1,_iteratorError=void 0;try{for(var _step,_iterator=this.config.label.selectors[Symbol.iterator]();!(_iteratorNormalCompletion=(_step=_iterator.next()).done);_iteratorNormalCompletion=!0){var selector=_step.value;if(label=$.isFunction(selector)?selector(this):this.$bmdFormGroup.find(selector),void 0!==label&&label.length>0)break}}catch(err){_didIteratorError=!0,_iteratorError=err}finally{try{!_iteratorNormalCompletion&&_iterator["return"]&&_iterator["return"]()}finally{if(_didIteratorError)throw _iteratorError}}return 0===label.length&&raiseError&&$.error("Failed to find "+Selector.BMD_LABEL_WILDCARD+" within form-group for "+Util.describe(this.$element)),label}},{key:"findFormGroup",value:function(){var raiseError=arguments.length<=0||void 0===arguments[0]||arguments[0],fg=this.$element.closest(Selector.FORM_GROUP);return 0===fg.length&&raiseError&&$.error("Failed to find "+Selector.FORM_GROUP+" for "+Util.describe(this.$element)),fg}},{key:"resolveMdbFormGroupSizing",value:function(){if(this.config.convertInputSizeVariations)for(var inputSize in FormControlSizeMarkers)this.$element.hasClass(inputSize)&&this.$bmdFormGroup.addClass(FormControlSizeMarkers[inputSize])}},{key:"_rejectInvalidComponentMatches",value:function(){var _iteratorNormalCompletion2=!0,_didIteratorError2=!1,_iteratorError2=void 0;try{for(var _step2,_iterator2=this.config.invalidComponentMatches[Symbol.iterator]();!(_iteratorNormalCompletion2=(_step2=_iterator2.next()).done);_iteratorNormalCompletion2=!0){var otherComponent=_step2.value;otherComponent.rejectMatch(this.constructor.name,this.$element)}}catch(err){_didIteratorError2=!0,_iteratorError2=err}finally{try{!_iteratorNormalCompletion2&&_iterator2["return"]&&_iterator2["return"]()}finally{if(_didIteratorError2)throw _iteratorError2}}}},{key:"_rejectWithoutRequiredClasses",value:function(){var _iteratorNormalCompletion3=!0,_didIteratorError3=!1,_iteratorError3=void 0;try{for(var _step3,_iterator3=this.config.requiredClasses[Symbol.iterator]();!(_iteratorNormalCompletion3=(_step3=_iterator3.next()).done);_iteratorNormalCompletion3=!0){var requiredClass=_step3.value,found=!1;if(requiredClass.indexOf("||")!==-1){var oneOf=requiredClass.split("||"),_iteratorNormalCompletion4=!0,_didIteratorError4=!1,_iteratorError4=void 0;try{for(var _step4,_iterator4=oneOf[Symbol.iterator]();!(_iteratorNormalCompletion4=(_step4=_iterator4.next()).done);_iteratorNormalCompletion4=!0){var _requiredClass=_step4.value;if(this.$element.hasClass(_requiredClass)){found=!0;break}}}catch(err){_didIteratorError4=!0,_iteratorError4=err}finally{try{!_iteratorNormalCompletion4&&_iterator4["return"]&&_iterator4["return"]()}finally{if(_didIteratorError4)throw _iteratorError4}}}else this.$element.hasClass(requiredClass)&&(found=!0);found||$.error(this.constructor.name+" element: "+Util.describe(this.$element)+" requires class: "+requiredClass)}}catch(err){_didIteratorError3=!0,_iteratorError3=err}finally{try{!_iteratorNormalCompletion3&&_iterator3["return"]&&_iterator3["return"]()}finally{if(_didIteratorError3)throw _iteratorError3}}}}]),BaseInput}(Base);return BaseInput}(jQuery),BaseSelection=function($){var Default={label:{required:!1}},Selector={LABEL:"label"},BaseSelection=function(_BaseInput){function BaseSelection($element,config,properties){classCallCheck(this,BaseSelection);var _this=possibleConstructorReturn(this,Object.getPrototypeOf(BaseSelection).call(this,$element,$.extend(!0,{},Default,config),properties));return _this.decorateMarkup(),_this}return inherits(BaseSelection,_BaseInput),createClass(BaseSelection,[{key:"decorateMarkup",value:function(){this.$element.after(this.config.template)}},{key:"outerElement",value:function(){return this.$element.parent().closest("."+this.outerClass)}},{key:"rejectWithoutRequiredStructure",value:function(){Util.assert(this.$element,"label"===!this.$element.parent().prop("tagName"),this.constructor.name+"'s "+Util.describe(this.$element)+" parent element should be <label>."),Util.assert(this.$element,!this.outerElement().hasClass(this.outerClass),this.constructor.name+"'s "+Util.describe(this.$element)+" outer element should have class "+this.outerClass+".")}},{key:"addFocusListener",value:function(){var _this2=this;this.$element.closest(Selector.LABEL).hover(function(){_this2.addFormGroupFocus()},function(){_this2.removeFormGroupFocus()})}},{key:"addChangeListener",value:function(){var _this3=this;this.$element.change(function(){_this3.$element.blur()})}}]),BaseSelection}(BaseInput);return BaseSelection}(jQuery),Checkbox=function($){var NAME="checkbox",DATA_KEY="bmd."+NAME,JQUERY_NAME="bmd"+(NAME.charAt(0).toUpperCase()+NAME.slice(1)),JQUERY_NO_CONFLICT=$.fn[JQUERY_NAME],Default={template:"<span class='checkbox-decorator'><span class='check'></span></span>"},Checkbox=function(_BaseSelection){function Checkbox($element,config){var properties=arguments.length<=2||void 0===arguments[2]?{inputType:NAME,outerClass:NAME}:arguments[2];return classCallCheck(this,Checkbox),possibleConstructorReturn(this,Object.getPrototypeOf(Checkbox).call(this,$element,$.extend(!0,Default,config),properties))}return inherits(Checkbox,_BaseSelection),createClass(Checkbox,[{key:"dispose",value:function(){var dataKey=arguments.length<=0||void 0===arguments[0]?DATA_KEY:arguments[0];get(Object.getPrototypeOf(Checkbox.prototype),"dispose",this).call(this,dataKey)}}],[{key:"matches",value:function($element){return"checkbox"===$element.attr("type")}},{key:"rejectMatch",value:function(component,$element){Util.assert(this.$element,this.matches($element),component+" component element "+Util.describe($element)+" is invalid for type='checkbox'.")}},{key:"_jQueryInterface",value:function(config){return this.each(function(){var $element=$(this),data=$element.data(DATA_KEY);data||(data=new Checkbox($element,config),$element.data(DATA_KEY,data))})}}]),Checkbox}(BaseSelection);return $.fn[JQUERY_NAME]=Checkbox._jQueryInterface,$.fn[JQUERY_NAME].Constructor=Checkbox,$.fn[JQUERY_NAME].noConflict=function(){return $.fn[JQUERY_NAME]=JQUERY_NO_CONFLICT,Checkbox._jQueryInterface},Checkbox}(jQuery),Radio=(function($){var NAME="checkboxInline",DATA_KEY="bmd."+NAME,JQUERY_NAME="bmd"+(NAME.charAt(0).toUpperCase()+NAME.slice(1)),JQUERY_NO_CONFLICT=$.fn[JQUERY_NAME],Default={bmdFormGroup:{create:!1,required:!1}},CheckboxInline=function(_Checkbox){function CheckboxInline($element,config){var properties=arguments.length<=2||void 0===arguments[2]?{inputType:"checkbox",outerClass:"checkbox-inline"}:arguments[2];return classCallCheck(this,CheckboxInline),possibleConstructorReturn(this,Object.getPrototypeOf(CheckboxInline).call(this,$element,$.extend(!0,{},Default,config),properties))}return inherits(CheckboxInline,_Checkbox),createClass(CheckboxInline,[{key:"dispose",value:function(){get(Object.getPrototypeOf(CheckboxInline.prototype),"dispose",this).call(this,DATA_KEY)}}],[{key:"_jQueryInterface",value:function(config){return this.each(function(){var $element=$(this),data=$element.data(DATA_KEY);data||(data=new CheckboxInline($element,config),$element.data(DATA_KEY,data))})}}]),CheckboxInline}(Checkbox);return $.fn[JQUERY_NAME]=CheckboxInline._jQueryInterface,$.fn[JQUERY_NAME].Constructor=CheckboxInline,$.fn[JQUERY_NAME].noConflict=function(){return $.fn[JQUERY_NAME]=JQUERY_NO_CONFLICT,CheckboxInline._jQueryInterface},CheckboxInline}(jQuery),function($){var NAME="collapseInline",DATA_KEY="bmd."+NAME,JQUERY_NAME="bmd"+(NAME.charAt(0).toUpperCase()+NAME.slice(1)),JQUERY_NO_CONFLICT=$.fn[JQUERY_NAME],Selector={ANY_INPUT:"input, select, textarea"},ClassName={IN:"in",COLLAPSE:"collapse",COLLAPSING:"collapsing",COLLAPSED:"collapsed",WIDTH:"width"},Default={},CollapseInline=function(_Base){function CollapseInline($element,config){classCallCheck(this,CollapseInline);var _this=possibleConstructorReturn(this,Object.getPrototypeOf(CollapseInline).call(this,$element,$.extend(!0,{},Default,config)));_this.$bmdFormGroup=_this.findMdbFormGroup(!0);var collapseSelector=$element.data("target");_this.$collapse=$(collapseSelector),Util.assert($element,0===_this.$collapse.length,"Cannot find collapse target for "+Util.describe($element)),Util.assert(_this.$collapse,!_this.$collapse.hasClass(ClassName.COLLAPSE),Util.describe(_this.$collapse)+" is expected to have the '"+ClassName.COLLAPSE+"' class. It is being targeted by "+Util.describe($element));
+var $inputs=_this.$bmdFormGroup.find(Selector.ANY_INPUT);return $inputs.length>0&&(_this.$input=$inputs.first()),_this.$collapse.hasClass(ClassName.WIDTH)||_this.$collapse.addClass(ClassName.WIDTH),_this.$input&&(_this.$collapse.on("shown.bs.collapse",function(){_this.$input.focus()}),_this.$input.blur(function(){_this.$collapse.collapse("hide")})),_this}return inherits(CollapseInline,_Base),createClass(CollapseInline,[{key:"dispose",value:function(){get(Object.getPrototypeOf(CollapseInline.prototype),"dispose",this).call(this,DATA_KEY),this.$bmdFormGroup=null,this.$collapse=null,this.$input=null}}],[{key:"_jQueryInterface",value:function(config){return this.each(function(){var $element=$(this),data=$element.data(DATA_KEY);data||(data=new CollapseInline($element,config),$element.data(DATA_KEY,data))})}}]),CollapseInline}(Base);return $.fn[JQUERY_NAME]=CollapseInline._jQueryInterface,$.fn[JQUERY_NAME].Constructor=CollapseInline,$.fn[JQUERY_NAME].noConflict=function(){return $.fn[JQUERY_NAME]=JQUERY_NO_CONFLICT,CollapseInline._jQueryInterface},CollapseInline}(jQuery),function($){var NAME="file",DATA_KEY="bmd."+NAME,JQUERY_NAME="bmd"+(NAME.charAt(0).toUpperCase()+NAME.slice(1)),JQUERY_NO_CONFLICT=$.fn[JQUERY_NAME],Default={},ClassName={FILE:NAME,IS_FILE:"is-file"},Selector={FILENAMES:"input.form-control[readonly]"},File=function(_BaseInput){function File($element,config){classCallCheck(this,File);var _this=possibleConstructorReturn(this,Object.getPrototypeOf(File).call(this,$element,$.extend(!0,Default,config)));return _this.$bmdFormGroup.addClass(ClassName.IS_FILE),_this}return inherits(File,_BaseInput),createClass(File,[{key:"dispose",value:function(){get(Object.getPrototypeOf(File.prototype),"dispose",this).call(this,DATA_KEY)}},{key:"outerElement",value:function(){return this.$element.parent().closest("."+ClassName.FILE)}},{key:"rejectWithoutRequiredStructure",value:function(){Util.assert(this.$element,"label"===!this.outerElement().prop("tagName"),this.constructor.name+"'s "+Util.describe(this.$element)+" parent element "+Util.describe(this.outerElement())+" should be <label>."),Util.assert(this.$element,!this.outerElement().hasClass(ClassName.FILE),this.constructor.name+"'s "+Util.describe(this.$element)+" parent element "+Util.describe(this.outerElement())+" should have class ."+ClassName.FILE+".")}},{key:"addFocusListener",value:function(){var _this2=this;this.$bmdFormGroup.on("focus",function(){_this2.addFormGroupFocus()}).on("blur",function(){_this2.removeFormGroupFocus()})}},{key:"addChangeListener",value:function(){var _this3=this;this.$element.on("change",function(){var value="";$.each(_this3.$element.files,function(i,file){value+=file.name+" , "}),value=value.substring(0,value.length-2),value?_this3.addIsFilled():_this3.removeIsFilled(),_this3.$bmdFormGroup.find(Selector.FILENAMES).val(value)})}}],[{key:"matches",value:function($element){return"file"===$element.attr("type")}},{key:"rejectMatch",value:function(component,$element){Util.assert(this.$element,this.matches($element),component+" component element "+Util.describe($element)+" is invalid for type='file'.")}},{key:"_jQueryInterface",value:function(config){return this.each(function(){var $element=$(this),data=$element.data(DATA_KEY);data||(data=new File($element,config),$element.data(DATA_KEY,data))})}}]),File}(BaseInput);return $.fn[JQUERY_NAME]=File._jQueryInterface,$.fn[JQUERY_NAME].Constructor=File,$.fn[JQUERY_NAME].noConflict=function(){return $.fn[JQUERY_NAME]=JQUERY_NO_CONFLICT,File._jQueryInterface},File}(jQuery),function($){var NAME="radio",DATA_KEY="bmd."+NAME,JQUERY_NAME="bmd"+(NAME.charAt(0).toUpperCase()+NAME.slice(1)),JQUERY_NO_CONFLICT=$.fn[JQUERY_NAME],Default={template:"<span class='bmd-radio-outer-circle'></span><span class='bmd-radio-inner-circle'></span>"},Radio=function(_BaseSelection){function Radio($element,config){var properties=arguments.length<=2||void 0===arguments[2]?{inputType:NAME,outerClass:NAME}:arguments[2];return classCallCheck(this,Radio),possibleConstructorReturn(this,Object.getPrototypeOf(Radio).call(this,$element,$.extend(!0,Default,config),properties))}return inherits(Radio,_BaseSelection),createClass(Radio,[{key:"dispose",value:function(){var dataKey=arguments.length<=0||void 0===arguments[0]?DATA_KEY:arguments[0];get(Object.getPrototypeOf(Radio.prototype),"dispose",this).call(this,dataKey)}}],[{key:"matches",value:function($element){return"radio"===$element.attr("type")}},{key:"rejectMatch",value:function(component,$element){Util.assert(this.$element,this.matches($element),component+" component element "+Util.describe($element)+" is invalid for type='radio'.")}},{key:"_jQueryInterface",value:function(config){return this.each(function(){var $element=$(this),data=$element.data(DATA_KEY);data||(data=new Radio($element,config),$element.data(DATA_KEY,data))})}}]),Radio}(BaseSelection);return $.fn[JQUERY_NAME]=Radio._jQueryInterface,$.fn[JQUERY_NAME].Constructor=Radio,$.fn[JQUERY_NAME].noConflict=function(){return $.fn[JQUERY_NAME]=JQUERY_NO_CONFLICT,Radio._jQueryInterface},Radio}(jQuery)),BaseFormControl=(function($){var NAME="radioInline",DATA_KEY="bmd."+NAME,JQUERY_NAME="bmd"+(NAME.charAt(0).toUpperCase()+NAME.slice(1)),JQUERY_NO_CONFLICT=$.fn[JQUERY_NAME],Default={bmdFormGroup:{create:!1,required:!1}},RadioInline=function(_Radio){function RadioInline($element,config){var properties=arguments.length<=2||void 0===arguments[2]?{inputType:"radio",outerClass:"radio-inline"}:arguments[2];return classCallCheck(this,RadioInline),possibleConstructorReturn(this,Object.getPrototypeOf(RadioInline).call(this,$element,$.extend(!0,{},Default,config),properties))}return inherits(RadioInline,_Radio),createClass(RadioInline,[{key:"dispose",value:function(){get(Object.getPrototypeOf(RadioInline.prototype),"dispose",this).call(this,DATA_KEY)}}],[{key:"_jQueryInterface",value:function(config){return this.each(function(){var $element=$(this),data=$element.data(DATA_KEY);data||(data=new RadioInline($element,config),$element.data(DATA_KEY,data))})}}]),RadioInline}(Radio);return $.fn[JQUERY_NAME]=RadioInline._jQueryInterface,$.fn[JQUERY_NAME].Constructor=RadioInline,$.fn[JQUERY_NAME].noConflict=function(){return $.fn[JQUERY_NAME]=JQUERY_NO_CONFLICT,RadioInline._jQueryInterface},RadioInline}(jQuery),function($){var Default={requiredClasses:["form-control"]},BaseFormControl=function(_BaseInput){function BaseFormControl($element,config){classCallCheck(this,BaseFormControl);var _this=possibleConstructorReturn(this,Object.getPrototypeOf(BaseFormControl).call(this,$element,$.extend(!0,Default,config)));return _this.isEmpty()&&_this.removeIsFilled(),_this}return inherits(BaseFormControl,_BaseInput),BaseFormControl}(BaseInput);return BaseFormControl}(jQuery)),BaseLayout=(function($){var NAME="select",DATA_KEY="bmd."+NAME,JQUERY_NAME="bmd"+(NAME.charAt(0).toUpperCase()+NAME.slice(1)),JQUERY_NO_CONFLICT=$.fn[JQUERY_NAME],Default={requiredClasses:["form-control||custom-select"]},Select=function(_BaseFormControl){function Select($element,config){classCallCheck(this,Select);var _this=possibleConstructorReturn(this,Object.getPrototypeOf(Select).call(this,$element,$.extend(!0,Default,config)));return _this.addIsFilled(),_this}return inherits(Select,_BaseFormControl),createClass(Select,[{key:"dispose",value:function(){get(Object.getPrototypeOf(Select.prototype),"dispose",this).call(this,DATA_KEY)}}],[{key:"matches",value:function($element){return"select"===$element.prop("tagName")}},{key:"rejectMatch",value:function(component,$element){Util.assert(this.$element,this.matches($element),component+" component element "+Util.describe($element)+" is invalid for <select>.")}},{key:"_jQueryInterface",value:function(config){return this.each(function(){var $element=$(this),data=$element.data(DATA_KEY);data||(data=new Select($element,config),$element.data(DATA_KEY,data))})}}]),Select}(BaseFormControl);return $.fn[JQUERY_NAME]=Select._jQueryInterface,$.fn[JQUERY_NAME].Constructor=Select,$.fn[JQUERY_NAME].noConflict=function(){return $.fn[JQUERY_NAME]=JQUERY_NO_CONFLICT,Select._jQueryInterface},Select}(jQuery),function($){var NAME="switch",DATA_KEY="bmd."+NAME,JQUERY_NAME="bmd"+(NAME.charAt(0).toUpperCase()+NAME.slice(1)),JQUERY_NO_CONFLICT=$.fn[JQUERY_NAME],Default={template:"<span class='bmd-switch-track'></span>"},Switch=function(_Checkbox){function Switch($element,config){var properties=arguments.length<=2||void 0===arguments[2]?{inputType:"checkbox",outerClass:"switch"}:arguments[2];return classCallCheck(this,Switch),possibleConstructorReturn(this,Object.getPrototypeOf(Switch).call(this,$element,$.extend(!0,{},Default,config),properties))}return inherits(Switch,_Checkbox),createClass(Switch,[{key:"dispose",value:function(){get(Object.getPrototypeOf(Switch.prototype),"dispose",this).call(this,DATA_KEY)}}],[{key:"_jQueryInterface",value:function(config){return this.each(function(){var $element=$(this),data=$element.data(DATA_KEY);data||(data=new Switch($element,config),$element.data(DATA_KEY,data))})}}]),Switch}(Checkbox);return $.fn[JQUERY_NAME]=Switch._jQueryInterface,$.fn[JQUERY_NAME].Constructor=Switch,$.fn[JQUERY_NAME].noConflict=function(){return $.fn[JQUERY_NAME]=JQUERY_NO_CONFLICT,Switch._jQueryInterface},Switch}(jQuery),function($){var NAME="text",DATA_KEY="bmd."+NAME,JQUERY_NAME="bmd"+(NAME.charAt(0).toUpperCase()+NAME.slice(1)),JQUERY_NO_CONFLICT=$.fn[JQUERY_NAME],Default={},Text=function(_BaseFormControl){function Text($element,config){return classCallCheck(this,Text),possibleConstructorReturn(this,Object.getPrototypeOf(Text).call(this,$element,$.extend(!0,Default,config)))}return inherits(Text,_BaseFormControl),createClass(Text,[{key:"dispose",value:function(){var dataKey=arguments.length<=0||void 0===arguments[0]?DATA_KEY:arguments[0];get(Object.getPrototypeOf(Text.prototype),"dispose",this).call(this,dataKey)}}],[{key:"matches",value:function($element){return"text"===$element.attr("type")}},{key:"rejectMatch",value:function(component,$element){Util.assert(this.$element,this.matches($element),component+" component element "+Util.describe($element)+" is invalid for type='text'.")}},{key:"_jQueryInterface",value:function(config){return this.each(function(){var $element=$(this),data=$element.data(DATA_KEY);data||(data=new Text($element,config),$element.data(DATA_KEY,data))})}}]),Text}(BaseFormControl);return $.fn[JQUERY_NAME]=Text._jQueryInterface,$.fn[JQUERY_NAME].Constructor=Text,$.fn[JQUERY_NAME].noConflict=function(){return $.fn[JQUERY_NAME]=JQUERY_NO_CONFLICT,Text._jQueryInterface},Text}(jQuery),function($){var NAME="textarea",DATA_KEY="bmd."+NAME,JQUERY_NAME="bmd"+(NAME.charAt(0).toUpperCase()+NAME.slice(1)),JQUERY_NO_CONFLICT=$.fn[JQUERY_NAME],Default={},Textarea=function(_BaseFormControl){function Textarea($element,config){return classCallCheck(this,Textarea),possibleConstructorReturn(this,Object.getPrototypeOf(Textarea).call(this,$element,$.extend(!0,Default,config)))}return inherits(Textarea,_BaseFormControl),createClass(Textarea,[{key:"dispose",value:function(){get(Object.getPrototypeOf(Textarea.prototype),"dispose",this).call(this,DATA_KEY)}}],[{key:"matches",value:function($element){return"textarea"===$element.prop("tagName")}},{key:"rejectMatch",value:function(component,$element){Util.assert(this.$element,this.matches($element),component+" component element "+Util.describe($element)+" is invalid for <textarea>.")}},{key:"_jQueryInterface",value:function(config){return this.each(function(){var $element=$(this),data=$element.data(DATA_KEY);data||(data=new Textarea($element,config),$element.data(DATA_KEY,data))})}}]),Textarea}(BaseFormControl);return $.fn[JQUERY_NAME]=Textarea._jQueryInterface,$.fn[JQUERY_NAME].Constructor=Textarea,$.fn[JQUERY_NAME].noConflict=function(){return $.fn[JQUERY_NAME]=JQUERY_NO_CONFLICT,Textarea._jQueryInterface},Textarea}(jQuery),function($){var ClassName={CANVAS:"bmd-layout-canvas",CONTAINER:"bmd-layout-container",BACKDROP:"bmd-layout-backdrop"},Selector={CANVAS:"."+ClassName.CANVAS,CONTAINER:"."+ClassName.CONTAINER,BACKDROP:"."+ClassName.BACKDROP},Default={canvas:{create:!0,required:!0,template:'<div class="'+ClassName.CANVAS+'"></div>'},backdrop:{create:!0,required:!0,template:'<div class="'+ClassName.BACKDROP+'"></div>'}},BaseLayout=function(_Base){function BaseLayout($element,config){var properties=arguments.length<=2||void 0===arguments[2]?{}:arguments[2];classCallCheck(this,BaseLayout);var _this=possibleConstructorReturn(this,Object.getPrototypeOf(BaseLayout).call(this,$element,$.extend(!0,{},Default,config),properties));return _this.$container=_this.findContainer(!0),_this.$backdrop=_this.resolveBackdrop(),_this.resolveCanvas(),_this}return inherits(BaseLayout,_Base),createClass(BaseLayout,[{key:"dispose",value:function(dataKey){get(Object.getPrototypeOf(BaseLayout.prototype),"dispose",this).call(this,dataKey),this.$container=null,this.$backdrop=null}},{key:"resolveCanvas",value:function(){var bd=this.findCanvas(!1);return void 0!==bd&&0!==bd.length||(this.config.canvas.create&&this.$container.wrap(this.config.canvas.template),bd=this.findCanvas(this.config.canvas.required)),bd}},{key:"findCanvas",value:function(){var raiseError=arguments.length<=0||void 0===arguments[0]||arguments[0],context=arguments.length<=1||void 0===arguments[1]?this.$container:arguments[1],canvas=context.closest(Selector.CANVAS);return 0===canvas.length&&raiseError&&$.error("Failed to find "+Selector.CANVAS+" for "+Util.describe(context)),canvas}},{key:"resolveBackdrop",value:function(){var bd=this.findBackdrop(!1);return void 0!==bd&&0!==bd.length||(this.config.backdrop.create&&this.$container.append(this.config.backdrop.template),bd=this.findBackdrop(this.config.backdrop.required)),bd}},{key:"findBackdrop",value:function(){var raiseError=arguments.length<=0||void 0===arguments[0]||arguments[0],context=arguments.length<=1||void 0===arguments[1]?this.$container:arguments[1],backdrop=context.find("> "+Selector.BACKDROP);return 0===backdrop.length&&raiseError&&$.error("Failed to find "+Selector.BACKDROP+" for "+Util.describe(context)),backdrop}},{key:"findContainer",value:function(){var raiseError=arguments.length<=0||void 0===arguments[0]||arguments[0],context=arguments.length<=1||void 0===arguments[1]?this.$element:arguments[1],container=context.closest(Selector.CONTAINER);return 0===container.length&&raiseError&&$.error("Failed to find "+Selector.CONTAINER+" for "+Util.describe(context)),container}}]),BaseLayout}(Base);return BaseLayout}(jQuery));(function($){var NAME="drawer",DATA_KEY="bmd."+NAME,JQUERY_NAME="bmd"+(NAME.charAt(0).toUpperCase()+NAME.slice(1)),JQUERY_NO_CONFLICT=$.fn[JQUERY_NAME],Keycodes={ESCAPE:27},ClassName={IN:"in",DRAWER_IN:"bmd-drawer-in",DRAWER_OUT:"bmd-drawer-out",DRAWER:"bmd-layout-drawer",CONTAINER:"bmd-layout-container"},Default={focusSelector:"a, button, input"},Drawer=function(_BaseLayout){function Drawer($element,config){classCallCheck(this,Drawer);var _this=possibleConstructorReturn(this,Object.getPrototypeOf(Drawer).call(this,$element,$.extend(!0,{},Default,config)));return _this.$toggles=$('[data-toggle="drawer"][href="#'+_this.$element[0].id+'"], [data-toggle="drawer"][data-target="#'+_this.$element[0].id+'"]'),_this._addAria(),_this.$backdrop.keydown(function(ev){ev.which===Keycodes.ESCAPE&&_this.hide()}).click(function(){_this.hide()}),_this.$element.keydown(function(ev){ev.which===Keycodes.ESCAPE&&_this.hide()}),_this.$toggles.click(function(){_this.toggle()}),_this}return inherits(Drawer,_BaseLayout),createClass(Drawer,[{key:"dispose",value:function(){get(Object.getPrototypeOf(Drawer.prototype),"dispose",this).call(this,DATA_KEY),this.$toggles=null}},{key:"toggle",value:function(){this._isOpen()?this.hide():this.show()}},{key:"show",value:function(){if(!this._isForcedClosed()&&!this._isOpen()){this.$toggles.attr("aria-expanded",!0),this.$element.attr("aria-expanded",!0),this.$element.attr("aria-hidden",!1);var $focusOn=this.$element.find(this.config.focusSelector);$focusOn.length>0&&$focusOn.first().focus(),this.$container.addClass(ClassName.DRAWER_IN),this.$backdrop.addClass(ClassName.IN)}}},{key:"hide",value:function(){this._isOpen()&&(this.$toggles.attr("aria-expanded",!1),this.$element.attr("aria-expanded",!1),this.$element.attr("aria-hidden",!0),this.$container.removeClass(ClassName.DRAWER_IN),this.$backdrop.removeClass(ClassName.IN))}},{key:"_isOpen",value:function(){return this.$container.hasClass(ClassName.DRAWER_IN)}},{key:"_isForcedClosed",value:function(){return this.$container.hasClass(ClassName.DRAWER_OUT)}},{key:"_addAria",value:function(){var isOpen=this._isOpen();this.$element.attr("aria-expanded",isOpen),this.$element.attr("aria-hidden",isOpen),this.$toggles.length&&this.$toggles.attr("aria-expanded",isOpen)}}],[{key:"_jQueryInterface",value:function(config){return this.each(function(){var $element=$(this),data=$element.data(DATA_KEY);data||(data=new Drawer($element,config),$element.data(DATA_KEY,data))})}}]),Drawer}(BaseLayout);return $.fn[JQUERY_NAME]=Drawer._jQueryInterface,$.fn[JQUERY_NAME].Constructor=Drawer,$.fn[JQUERY_NAME].noConflict=function(){return $.fn[JQUERY_NAME]=JQUERY_NO_CONFLICT,Drawer._jQueryInterface},Drawer})(jQuery),function($){var NAME="ripples",DATA_KEY="bmd."+NAME,JQUERY_NAME="bmd"+(NAME.charAt(0).toUpperCase()+NAME.slice(1)),JQUERY_NO_CONFLICT=$.fn[JQUERY_NAME],ClassName={CONTAINER:"ripple-container",DECORATOR:"ripple-decorator"},Selector={CONTAINER:"."+ClassName.CONTAINER,DECORATOR:"."+ClassName.DECORATOR},Default={container:{template:"<div class='"+ClassName.CONTAINER+"'></div>"},decorator:{template:"<div class='"+ClassName.DECORATOR+"'></div>"},trigger:{start:"mousedown touchstart",end:"mouseup mouseleave touchend"},touchUserAgentRegex:/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i,duration:500},Ripples=function(){function Ripples($element,config){var _this=this;classCallCheck(this,Ripples),this.$element=$element,this.config=$.extend(!0,{},Default,config),this.$element.on(this.config.trigger.start,function(event){_this._onStartRipple(event)})}return createClass(Ripples,[{key:"dispose",value:function(){this.$element.data(DATA_KEY,null),this.$element=null,this.$container=null,this.$decorator=null,this.config=null}},{key:"_onStartRipple",value:function(event){var _this2=this;if(!this._isTouch()||"mousedown"!==event.type){this._findOrCreateContainer();var relY=this._getRelY(event),relX=this._getRelX(event);(relY||relX)&&(this.$decorator.css({left:relX,top:relY,"background-color":this._getRipplesColor()}),this._forceStyleApplication(),this.rippleOn(),setTimeout(function(){_this2.rippleEnd()},this.config.duration),this.$element.on(this.config.trigger.end,function(){_this2.$decorator&&(_this2.$decorator.data("mousedown","off"),"off"===_this2.$decorator.data("animating")&&_this2.rippleOut())}))}}},{key:"_findOrCreateContainer",value:function(){(!this.$container||!this.$container.length>0)&&(this.$element.append(this.config.container.template),this.$container=this.$element.find(Selector.CONTAINER)),this.$container.append(this.config.decorator.template),this.$decorator=this.$container.find(Selector.DECORATOR)}},{key:"_forceStyleApplication",value:function(){return window.getComputedStyle(this.$decorator[0]).opacity}},{key:"_getRelX",value:function(event){var wrapperOffset=this.$container.offset(),result=null;return this._isTouch()?(event=event.originalEvent,result=1===event.touches.length&&event.touches[0].pageX-wrapperOffset.left):result=event.pageX-wrapperOffset.left,result}},{key:"_getRelY",value:function(event){var containerOffset=this.$container.offset(),result=null;return this._isTouch()?(event=event.originalEvent,result=1===event.touches.length&&event.touches[0].pageY-containerOffset.top):result=event.pageY-containerOffset.top,result}},{key:"_getRipplesColor",value:function(){var color=this.$element.data("ripple-color")?this.$element.data("ripple-color"):window.getComputedStyle(this.$element[0]).color;return color}},{key:"_isTouch",value:function(){return this.config.touchUserAgentRegex.test(navigator.userAgent)}},{key:"rippleEnd",value:function(){this.$decorator&&(this.$decorator.data("animating","off"),"off"===this.$decorator.data("mousedown")&&this.rippleOut(this.$decorator))}},{key:"rippleOut",value:function(){var _this3=this;this.$decorator.off(),Util.transitionEndSupported()?this.$decorator.addClass("ripple-out"):this.$decorator.animate({opacity:0},100,function(){_this3.$decorator.trigger("transitionend")}),this.$decorator.on(Util.transitionEndSelector(),function(){_this3.$decorator&&(_this3.$decorator.remove(),_this3.$decorator=null)})}},{key:"rippleOn",value:function(){var _this4=this,size=this._getNewSize();Util.transitionEndSupported()?this.$decorator.css({"-ms-transform":"scale("+size+")","-moz-transform":"scale("+size+")","-webkit-transform":"scale("+size+")",transform:"scale("+size+")"}).addClass("ripple-on").data("animating","on").data("mousedown","on"):this.$decorator.animate({width:2*Math.max(this.$element.outerWidth(),this.$element.outerHeight()),height:2*Math.max(this.$element.outerWidth(),this.$element.outerHeight()),"margin-left":Math.max(this.$element.outerWidth(),this.$element.outerHeight())*-1,"margin-top":Math.max(this.$element.outerWidth(),this.$element.outerHeight())*-1,opacity:.2},this.config.duration,function(){_this4.$decorator.trigger("transitionend")})}},{key:"_getNewSize",value:function(){return Math.max(this.$element.outerWidth(),this.$element.outerHeight())/this.$decorator.outerWidth()*2.5}}],[{key:"_jQueryInterface",value:function(config){return this.each(function(){var $element=$(this),data=$element.data(DATA_KEY);data||(data=new Ripples($element,config),$element.data(DATA_KEY,data))})}}]),Ripples}();return $.fn[JQUERY_NAME]=Ripples._jQueryInterface,$.fn[JQUERY_NAME].Constructor=Ripples,$.fn[JQUERY_NAME].noConflict=function(){return $.fn[JQUERY_NAME]=JQUERY_NO_CONFLICT,Ripples._jQueryInterface},Ripples}(jQuery),function($){var NAME="autofill",DATA_KEY="bmd."+NAME,JQUERY_NAME="bmd"+(NAME.charAt(0).toUpperCase()+NAME.slice(1)),JQUERY_NO_CONFLICT=$.fn[JQUERY_NAME],Default={},Autofill=function(_Base){function Autofill($element,config){classCallCheck(this,Autofill);var _this=possibleConstructorReturn(this,Object.getPrototypeOf(Autofill).call(this,$element,$.extend(!0,{},Default,config)));return _this._watchLoading(),_this._attachEventHandlers(),_this}return inherits(Autofill,_Base),createClass(Autofill,[{key:"dispose",value:function(){get(Object.getPrototypeOf(Autofill.prototype),"dispose",this).call(this,DATA_KEY)}},{key:"_watchLoading",value:function(){var _this2=this;setTimeout(function(){clearInterval(_this2._onLoading)},1e4)}},{key:"_onLoading",value:function(){setInterval(function(){$("input[type!=checkbox]").each(function(index,element){var $element=$(element);$element.val()&&$element.val()!==$element.attr("value")&&$element.trigger("change")})},100)}},{key:"_attachEventHandlers",value:function(){var focused=null;$(document).on("focus","input",function(event){var $inputs=$(event.currentTarget).closest("form").find("input").not("[type=file]");focused=setInterval(function(){$inputs.each(function(index,element){var $element=$(element);$element.val()!==$element.attr("value")&&$element.trigger("change")})},100)}).on("blur",".form-group input",function(){clearInterval(focused)})}}],[{key:"_jQueryInterface",value:function(config){return this.each(function(){var $element=$(this),data=$element.data(DATA_KEY);data||(data=new Autofill($element,config),$element.data(DATA_KEY,data))})}}]),Autofill}(Base);return $.fn[JQUERY_NAME]=Autofill._jQueryInterface,$.fn[JQUERY_NAME].Constructor=Autofill,$.fn[JQUERY_NAME].noConflict=function(){return $.fn[JQUERY_NAME]=JQUERY_NO_CONFLICT,Autofill._jQueryInterface},Autofill}(jQuery),function($){var NAME="bootstrapMaterialDesign",DATA_KEY="bmd."+NAME,JQUERY_NAME=NAME,JQUERY_NO_CONFLICT=$.fn[JQUERY_NAME],Default={global:{validate:!1,label:{className:"bmd-label-static"}},autofill:{selector:"body"},checkbox:{selector:".checkbox > label > input[type=checkbox]"},checkboxInline:{selector:"label.checkbox-inline > input[type=checkbox]"},collapseInline:{selector:'.bmd-collapse-inline [data-toggle="collapse"]'},drawer:{selector:".bmd-layout-drawer"},file:{selector:"input[type=file]"},radio:{selector:".radio > label > input[type=radio]"},radioInline:{selector:"label.radio-inline > input[type=radio]"},ripples:{selector:[".btn:not(.btn-link):not(.ripple-none)",".card-image:not(.ripple-none)",".navbar a:not(.ripple-none)",".dropdown-menu a:not(.ripple-none)",".nav-tabs a:not(.ripple-none)",".pagination li:not(.active):not(.disabled) a:not(.ripple-none)",".ripple"]},select:{selector:["select"]},"switch":{selector:".switch > label > input[type=checkbox]"},text:{selector:["input:not([type=hidden]):not([type=checkbox]):not([type=radio]):not([type=file]):not([type=button]):not([type=submit]):not([type=reset])"]},textarea:{selector:["textarea"]},arrive:!0,instantiation:["ripples","checkbox","checkboxInline","collapseInline","drawer","radio","radioInline","switch","text","textarea","select","autofill"]},BootstrapMaterialDesign=function(){function BootstrapMaterialDesign($element,config){var _this=this;classCallCheck(this,BootstrapMaterialDesign),this.$element=$element,this.config=$.extend(!0,{},Default,config);var $document=$(document),_iteratorNormalCompletion=!0,_didIteratorError=!1,_iteratorError=void 0;try{for(var _step,_loop=function(){var component=_step.value,componentConfig=_this.config[component];componentConfig&&!function(){var selector=_this._resolveSelector(componentConfig);componentConfig=$.extend(!0,{},_this.config.global,componentConfig);var componentName=""+(component.charAt(0).toUpperCase()+component.slice(1)),jqueryFn="bmd"+componentName;try{$(selector)[jqueryFn](componentConfig),document.arrive&&_this.config.arrive&&$document.arrive(selector,function(){$(this)[jqueryFn](componentConfig)})}catch(e){var message="Failed to instantiate component: $('"+selector+"')["+jqueryFn+"]("+componentConfig+")";throw console.error(message,e,"\nSelected elements: ",$(selector)),e}}()},_iterator=this.config.instantiation[Symbol.iterator]();!(_iteratorNormalCompletion=(_step=_iterator.next()).done);_iteratorNormalCompletion=!0)_loop()}catch(err){_didIteratorError=!0,_iteratorError=err}finally{try{!_iteratorNormalCompletion&&_iterator["return"]&&_iterator["return"]()}finally{if(_didIteratorError)throw _iteratorError}}}return createClass(BootstrapMaterialDesign,[{key:"dispose",value:function(){this.$element.data(DATA_KEY,null),this.$element=null,this.config=null}},{key:"_resolveSelector",value:function(componentConfig){var selector=componentConfig.selector;return Array.isArray(selector)&&(selector=selector.join(", ")),selector}}],[{key:"_jQueryInterface",value:function(config){return this.each(function(){var $element=$(this),data=$element.data(DATA_KEY);data||(data=new BootstrapMaterialDesign($element,config),$element.data(DATA_KEY,data))})}}]),BootstrapMaterialDesign}();return $.fn[JQUERY_NAME]=BootstrapMaterialDesign._jQueryInterface,$.fn[JQUERY_NAME].Constructor=BootstrapMaterialDesign,$.fn[JQUERY_NAME].noConflict=function(){return $.fn[JQUERY_NAME]=JQUERY_NO_CONFLICT,BootstrapMaterialDesign._jQueryInterface},BootstrapMaterialDesign}(jQuery)}(); \ No newline at end of file
diff --git a/templates/assets/bootstrap-material-design/dist/bootstrap-material-design.min.css b/templates/assets/bootstrap-material-design/dist/bootstrap-material-design.min.css
new file mode 100644
index 0000000..6e15f81
--- /dev/null
+++ b/templates/assets/bootstrap-material-design/dist/bootstrap-material-design.min.css
@@ -0,0 +1,3 @@
+.card{font-size:.875rem;font-weight:400}
+
+/*! normalize.css v4.0.0 | MIT License | github.com/necolas/normalize.css */html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block}audio:not([controls]){display:none;height:0}progress{vertical-align:baseline}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline-width:0}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:inherit;font-weight:bolder}dfn{font-style:italic}h1{font-size:2em;margin:.67em 0}mark{background-color:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}svg:not(:root){overflow:hidden}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}figure{margin:1em 40px}hr{box-sizing:content-box;height:0;overflow:visible}button,input,select,textarea{font:inherit}optgroup{font-weight:700}button,input,select{overflow:visible}button,input,select,textarea{margin:0}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{cursor:pointer}[disabled]{cursor:default}[type=reset],[type=submit],button,html [type=button]{-webkit-appearance:button}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}button:-moz-focusring,input:-moz-focusring{outline:1px dotted ButtonText}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield}[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}@media print{*,:after,:before,:first-letter,:first-line{text-shadow:none!important;box-shadow:none!important}a,a:visited{text-decoration:underline}abbr[title]:after{content:" (" attr(title) ")"}blockquote,pre{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}img,tr{page-break-inside:avoid}h2,h3,p{orphans:3;widows:3}h2,h3{page-break-after:avoid}.navbar{display:none}.btn>.caret,.custom-file-control:before>.caret,.dropup>.btn>.caret,.dropup>.custom-file-control:before>.caret{border-top-color:#000!important}.tag{border:1px solid #000}.table{border-collapse:collapse!important}.table td,.table th{background-color:#fff!important}.table-bordered td,.table-bordered th{border:1px solid #ddd!important}}html{box-sizing:border-box}*,:after,:before{box-sizing:inherit}@-ms-viewport{width:device-width}html{font-size:16px;-ms-overflow-style:scrollbar;-webkit-tap-highlight-color:transparent}body{font-family:Roboto,Helvetica,Arial,sans-serif;font-size:1rem;line-height:1.5;color:rgba(0,0,0,.87);background-color:#fafafa}[tabindex="-1"]:focus{outline:none!important}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem}p{margin-top:0;margin-bottom:1rem}abbr[data-original-title],abbr[title]{cursor:help;border-bottom:1px dotted rgba(0,0,0,.26)}address{font-style:normal;line-height:inherit}address,dl,ol,ul{margin-bottom:1rem}dl,ol,ul{margin-top:0}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}a{color:#009688;text-decoration:none}a:focus,a:hover{color:#004a43;text-decoration:underline}a:focus{outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}a:not([href]):not([tabindex]),a:not([href]):not([tabindex]):focus,a:not([href]):not([tabindex]):hover{color:inherit;text-decoration:none}a:not([href]):not([tabindex]):focus{outline:none}pre{margin-top:0;margin-bottom:1rem;overflow:auto}figure{margin:0 0 1rem}img{vertical-align:middle}[role=button]{cursor:pointer}[role=button],a,area,button,input,label,select,summary,textarea{-ms-touch-action:manipulation;touch-action:manipulation}table{border-collapse:collapse;background-color:transparent}caption{padding-top:.75rem;padding-bottom:.75rem;color:rgba(0,0,0,.26);caption-side:bottom}caption,th{text-align:left}label{display:inline-block;margin-bottom:.5rem}button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}button,input,select,textarea{margin:0;line-height:inherit;border-radius:0}input[type=checkbox]:disabled,input[type=radio]:disabled{cursor:not-allowed}input[type=date],input[type=datetime-local],input[type=month],input[type=time]{-webkit-appearance:listbox}textarea{resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;padding:0;margin-bottom:.5rem;font-size:1.5rem;line-height:inherit}input[type=search]{-webkit-appearance:none}output{display:inline-block}[hidden]{display:none!important}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{margin-bottom:.25rem;font-family:inherit;font-weight:400;line-height:1.1;color:inherit}.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}.lead{font-size:1.25rem;font-weight:300}.display-1{font-size:7rem;font-weight:300}.display-2{font-size:3.5rem;font-weight:300}.display-3{font-size:2.8125rem;font-weight:300}.display-4{font-size:2.125rem;font-weight:300}hr{margin-top:.5rem;margin-bottom:.5rem;border:0;border-top:1px solid rgba(0,0,0,.1)}.small,small{font-size:80%;font-weight:400}.mark,mark{padding:.2em;background-color:#ff5722}.list-inline,.list-unstyled{padding-left:0;list-style:none}.list-inline-item{display:inline-block}.list-inline-item:not(:last-child){margin-right:5px}.initialism{font-size:90%;text-transform:uppercase}.blockquote{padding:.25rem .5rem;margin-bottom:.5rem;font-size:1.25rem;border-left:.25rem solid rgba(0,0,0,.12)}.blockquote-footer{display:block;font-size:80%;color:rgba(0,0,0,.26)}.blockquote-footer:before{content:"\2014 \00A0"}.blockquote-reverse{padding-right:.5rem;padding-left:0;text-align:right;border-right:.25rem solid rgba(0,0,0,.12);border-left:0}.blockquote-reverse .blockquote-footer:before{content:""}.blockquote-reverse .blockquote-footer:after{content:"\00A0 \2014"}.carousel-inner>.carousel-item>a>img,.carousel-inner>.carousel-item>img,.img-fluid{display:block;max-width:100%;height:auto}.img-rounded{border-radius:.3rem}.img-thumbnail{padding:.25rem;background-color:#fafafa;border:1px solid #ddd;border-radius:.125rem;-webkit-transition:all .2s ease-in-out;transition:all .2s ease-in-out;box-shadow:0 1px 2px rgba(0,0,0,.075);display:inline-block;max-width:100%;height:auto}.img-circle{border-radius:50%}.figure{display:inline-block}.figure-img{margin-bottom:.25rem;line-height:1}.figure-caption{font-size:90%;color:rgba(0,0,0,.26)}code,kbd,pre,samp{font-family:Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}code{color:#bd4147;background-color:#eee;border-radius:.125rem}code,kbd{padding:.2rem .4rem;font-size:90%}kbd{color:#fff;background-color:#333;border-radius:.0625rem;box-shadow:inset 0 -.1rem 0 rgba(0,0,0,.25)}kbd kbd{padding:0;font-size:100%;font-weight:700;box-shadow:none}pre{display:block;margin-top:0;margin-bottom:1rem;font-size:90%;color:rgba(0,0,0,.87)}pre code{padding:0;font-size:inherit;color:inherit;background-color:transparent;border-radius:0}.pre-scrollable{max-height:340px;overflow-y:scroll}.container{margin-left:auto;margin-right:auto;padding-left:15px;padding-right:15px}@media (min-width:544px){.container{max-width:576px}}@media (min-width:768px){.container{max-width:720px}}@media (min-width:992px){.container{max-width:940px}}@media (min-width:1200px){.container{max-width:1140px}}.container-fluid{margin-left:auto;margin-right:auto;padding-left:15px;padding-right:15px}.row{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-left:-15px;margin-right:-15px}.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-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-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-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-xs-1,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9,.col-xs-10,.col-xs-11,.col-xs-12{position:relative;min-height:1px;padding-right:15px;padding-left:15px;width:100%}.col-xs{position:relative;-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;max-width:100%;min-height:1px;padding-right:15px;padding-left:15px}.col-xs-1{-webkit-box-flex:0;-ms-flex:0 0 8.33333%;flex:0 0 8.33333%;max-width:8.33333%}.col-xs-2{-webkit-box-flex:0;-ms-flex:0 0 16.66667%;flex:0 0 16.66667%;max-width:16.66667%}.col-xs-3{-webkit-box-flex:0;-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-xs-4{-webkit-box-flex:0;-ms-flex:0 0 33.33333%;flex:0 0 33.33333%;max-width:33.33333%}.col-xs-5{-webkit-box-flex:0;-ms-flex:0 0 41.66667%;flex:0 0 41.66667%;max-width:41.66667%}.col-xs-6{-webkit-box-flex:0;-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-xs-7{-webkit-box-flex:0;-ms-flex:0 0 58.33333%;flex:0 0 58.33333%;max-width:58.33333%}.col-xs-8{-webkit-box-flex:0;-ms-flex:0 0 66.66667%;flex:0 0 66.66667%;max-width:66.66667%}.col-xs-9{-webkit-box-flex:0;-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-xs-10{-webkit-box-flex:0;-ms-flex:0 0 83.33333%;flex:0 0 83.33333%;max-width:83.33333%}.col-xs-11{-webkit-box-flex:0;-ms-flex:0 0 91.66667%;flex:0 0 91.66667%;max-width:91.66667%}.col-xs-12{-webkit-box-flex:0;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.pull-xs-0{right:auto}.pull-xs-1{right:8.33333%}.pull-xs-2{right:16.66667%}.pull-xs-3{right:25%}.pull-xs-4{right:33.33333%}.pull-xs-5{right:41.66667%}.pull-xs-6{right:50%}.pull-xs-7{right:58.33333%}.pull-xs-8{right:66.66667%}.pull-xs-9{right:75%}.pull-xs-10{right:83.33333%}.pull-xs-11{right:91.66667%}.pull-xs-12{right:100%}.push-xs-0{left:auto}.push-xs-1{left:8.33333%}.push-xs-2{left:16.66667%}.push-xs-3{left:25%}.push-xs-4{left:33.33333%}.push-xs-5{left:41.66667%}.push-xs-6{left:50%}.push-xs-7{left:58.33333%}.push-xs-8{left:66.66667%}.push-xs-9{left:75%}.push-xs-10{left:83.33333%}.push-xs-11{left:91.66667%}.push-xs-12{left:100%}.offset-xs-1{margin-left:8.33333%}.offset-xs-2{margin-left:16.66667%}.offset-xs-3{margin-left:25%}.offset-xs-4{margin-left:33.33333%}.offset-xs-5{margin-left:41.66667%}.offset-xs-6{margin-left:50%}.offset-xs-7{margin-left:58.33333%}.offset-xs-8{margin-left:66.66667%}.offset-xs-9{margin-left:75%}.offset-xs-10{margin-left:83.33333%}.offset-xs-11{margin-left:91.66667%}@media (min-width:544px){.col-sm{position:relative;-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;max-width:100%;min-height:1px;padding-right:15px;padding-left:15px}.col-sm-1{-webkit-box-flex:0;-ms-flex:0 0 8.33333%;flex:0 0 8.33333%;max-width:8.33333%}.col-sm-2{-webkit-box-flex:0;-ms-flex:0 0 16.66667%;flex:0 0 16.66667%;max-width:16.66667%}.col-sm-3{-webkit-box-flex:0;-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-sm-4{-webkit-box-flex:0;-ms-flex:0 0 33.33333%;flex:0 0 33.33333%;max-width:33.33333%}.col-sm-5{-webkit-box-flex:0;-ms-flex:0 0 41.66667%;flex:0 0 41.66667%;max-width:41.66667%}.col-sm-6{-webkit-box-flex:0;-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-sm-7{-webkit-box-flex:0;-ms-flex:0 0 58.33333%;flex:0 0 58.33333%;max-width:58.33333%}.col-sm-8{-webkit-box-flex:0;-ms-flex:0 0 66.66667%;flex:0 0 66.66667%;max-width:66.66667%}.col-sm-9{-webkit-box-flex:0;-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-sm-10{-webkit-box-flex:0;-ms-flex:0 0 83.33333%;flex:0 0 83.33333%;max-width:83.33333%}.col-sm-11{-webkit-box-flex:0;-ms-flex:0 0 91.66667%;flex:0 0 91.66667%;max-width:91.66667%}.col-sm-12{-webkit-box-flex:0;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.pull-sm-0{right:auto}.pull-sm-1{right:8.33333%}.pull-sm-2{right:16.66667%}.pull-sm-3{right:25%}.pull-sm-4{right:33.33333%}.pull-sm-5{right:41.66667%}.pull-sm-6{right:50%}.pull-sm-7{right:58.33333%}.pull-sm-8{right:66.66667%}.pull-sm-9{right:75%}.pull-sm-10{right:83.33333%}.pull-sm-11{right:91.66667%}.pull-sm-12{right:100%}.push-sm-0{left:auto}.push-sm-1{left:8.33333%}.push-sm-2{left:16.66667%}.push-sm-3{left:25%}.push-sm-4{left:33.33333%}.push-sm-5{left:41.66667%}.push-sm-6{left:50%}.push-sm-7{left:58.33333%}.push-sm-8{left:66.66667%}.push-sm-9{left:75%}.push-sm-10{left:83.33333%}.push-sm-11{left:91.66667%}.push-sm-12{left:100%}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.33333%}.offset-sm-2{margin-left:16.66667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.33333%}.offset-sm-5{margin-left:41.66667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.33333%}.offset-sm-8{margin-left:66.66667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.33333%}.offset-sm-11{margin-left:91.66667%}}@media (min-width:768px){.col-md{position:relative;-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;max-width:100%;min-height:1px;padding-right:15px;padding-left:15px}.col-md-1{-webkit-box-flex:0;-ms-flex:0 0 8.33333%;flex:0 0 8.33333%;max-width:8.33333%}.col-md-2{-webkit-box-flex:0;-ms-flex:0 0 16.66667%;flex:0 0 16.66667%;max-width:16.66667%}.col-md-3{-webkit-box-flex:0;-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-md-4{-webkit-box-flex:0;-ms-flex:0 0 33.33333%;flex:0 0 33.33333%;max-width:33.33333%}.col-md-5{-webkit-box-flex:0;-ms-flex:0 0 41.66667%;flex:0 0 41.66667%;max-width:41.66667%}.col-md-6{-webkit-box-flex:0;-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-md-7{-webkit-box-flex:0;-ms-flex:0 0 58.33333%;flex:0 0 58.33333%;max-width:58.33333%}.col-md-8{-webkit-box-flex:0;-ms-flex:0 0 66.66667%;flex:0 0 66.66667%;max-width:66.66667%}.col-md-9{-webkit-box-flex:0;-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-md-10{-webkit-box-flex:0;-ms-flex:0 0 83.33333%;flex:0 0 83.33333%;max-width:83.33333%}.col-md-11{-webkit-box-flex:0;-ms-flex:0 0 91.66667%;flex:0 0 91.66667%;max-width:91.66667%}.col-md-12{-webkit-box-flex:0;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.pull-md-0{right:auto}.pull-md-1{right:8.33333%}.pull-md-2{right:16.66667%}.pull-md-3{right:25%}.pull-md-4{right:33.33333%}.pull-md-5{right:41.66667%}.pull-md-6{right:50%}.pull-md-7{right:58.33333%}.pull-md-8{right:66.66667%}.pull-md-9{right:75%}.pull-md-10{right:83.33333%}.pull-md-11{right:91.66667%}.pull-md-12{right:100%}.push-md-0{left:auto}.push-md-1{left:8.33333%}.push-md-2{left:16.66667%}.push-md-3{left:25%}.push-md-4{left:33.33333%}.push-md-5{left:41.66667%}.push-md-6{left:50%}.push-md-7{left:58.33333%}.push-md-8{left:66.66667%}.push-md-9{left:75%}.push-md-10{left:83.33333%}.push-md-11{left:91.66667%}.push-md-12{left:100%}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.33333%}.offset-md-2{margin-left:16.66667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.33333%}.offset-md-5{margin-left:41.66667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.33333%}.offset-md-8{margin-left:66.66667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.33333%}.offset-md-11{margin-left:91.66667%}}@media (min-width:992px){.col-lg{position:relative;-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;max-width:100%;min-height:1px;padding-right:15px;padding-left:15px}.col-lg-1{-webkit-box-flex:0;-ms-flex:0 0 8.33333%;flex:0 0 8.33333%;max-width:8.33333%}.col-lg-2{-webkit-box-flex:0;-ms-flex:0 0 16.66667%;flex:0 0 16.66667%;max-width:16.66667%}.col-lg-3{-webkit-box-flex:0;-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-lg-4{-webkit-box-flex:0;-ms-flex:0 0 33.33333%;flex:0 0 33.33333%;max-width:33.33333%}.col-lg-5{-webkit-box-flex:0;-ms-flex:0 0 41.66667%;flex:0 0 41.66667%;max-width:41.66667%}.col-lg-6{-webkit-box-flex:0;-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-lg-7{-webkit-box-flex:0;-ms-flex:0 0 58.33333%;flex:0 0 58.33333%;max-width:58.33333%}.col-lg-8{-webkit-box-flex:0;-ms-flex:0 0 66.66667%;flex:0 0 66.66667%;max-width:66.66667%}.col-lg-9{-webkit-box-flex:0;-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-lg-10{-webkit-box-flex:0;-ms-flex:0 0 83.33333%;flex:0 0 83.33333%;max-width:83.33333%}.col-lg-11{-webkit-box-flex:0;-ms-flex:0 0 91.66667%;flex:0 0 91.66667%;max-width:91.66667%}.col-lg-12{-webkit-box-flex:0;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.pull-lg-0{right:auto}.pull-lg-1{right:8.33333%}.pull-lg-2{right:16.66667%}.pull-lg-3{right:25%}.pull-lg-4{right:33.33333%}.pull-lg-5{right:41.66667%}.pull-lg-6{right:50%}.pull-lg-7{right:58.33333%}.pull-lg-8{right:66.66667%}.pull-lg-9{right:75%}.pull-lg-10{right:83.33333%}.pull-lg-11{right:91.66667%}.pull-lg-12{right:100%}.push-lg-0{left:auto}.push-lg-1{left:8.33333%}.push-lg-2{left:16.66667%}.push-lg-3{left:25%}.push-lg-4{left:33.33333%}.push-lg-5{left:41.66667%}.push-lg-6{left:50%}.push-lg-7{left:58.33333%}.push-lg-8{left:66.66667%}.push-lg-9{left:75%}.push-lg-10{left:83.33333%}.push-lg-11{left:91.66667%}.push-lg-12{left:100%}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.33333%}.offset-lg-2{margin-left:16.66667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.33333%}.offset-lg-5{margin-left:41.66667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.33333%}.offset-lg-8{margin-left:66.66667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.33333%}.offset-lg-11{margin-left:91.66667%}}@media (min-width:1200px){.col-xl{position:relative;-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;max-width:100%;min-height:1px;padding-right:15px;padding-left:15px}.col-xl-1{-webkit-box-flex:0;-ms-flex:0 0 8.33333%;flex:0 0 8.33333%;max-width:8.33333%}.col-xl-2{-webkit-box-flex:0;-ms-flex:0 0 16.66667%;flex:0 0 16.66667%;max-width:16.66667%}.col-xl-3{-webkit-box-flex:0;-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-xl-4{-webkit-box-flex:0;-ms-flex:0 0 33.33333%;flex:0 0 33.33333%;max-width:33.33333%}.col-xl-5{-webkit-box-flex:0;-ms-flex:0 0 41.66667%;flex:0 0 41.66667%;max-width:41.66667%}.col-xl-6{-webkit-box-flex:0;-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-xl-7{-webkit-box-flex:0;-ms-flex:0 0 58.33333%;flex:0 0 58.33333%;max-width:58.33333%}.col-xl-8{-webkit-box-flex:0;-ms-flex:0 0 66.66667%;flex:0 0 66.66667%;max-width:66.66667%}.col-xl-9{-webkit-box-flex:0;-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-xl-10{-webkit-box-flex:0;-ms-flex:0 0 83.33333%;flex:0 0 83.33333%;max-width:83.33333%}.col-xl-11{-webkit-box-flex:0;-ms-flex:0 0 91.66667%;flex:0 0 91.66667%;max-width:91.66667%}.col-xl-12{-webkit-box-flex:0;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.pull-xl-0{right:auto}.pull-xl-1{right:8.33333%}.pull-xl-2{right:16.66667%}.pull-xl-3{right:25%}.pull-xl-4{right:33.33333%}.pull-xl-5{right:41.66667%}.pull-xl-6{right:50%}.pull-xl-7{right:58.33333%}.pull-xl-8{right:66.66667%}.pull-xl-9{right:75%}.pull-xl-10{right:83.33333%}.pull-xl-11{right:91.66667%}.pull-xl-12{right:100%}.push-xl-0{left:auto}.push-xl-1{left:8.33333%}.push-xl-2{left:16.66667%}.push-xl-3{left:25%}.push-xl-4{left:33.33333%}.push-xl-5{left:41.66667%}.push-xl-6{left:50%}.push-xl-7{left:58.33333%}.push-xl-8{left:66.66667%}.push-xl-9{left:75%}.push-xl-10{left:83.33333%}.push-xl-11{left:91.66667%}.push-xl-12{left:100%}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.33333%}.offset-xl-2{margin-left:16.66667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.33333%}.offset-xl-5{margin-left:41.66667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.33333%}.offset-xl-8{margin-left:66.66667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.33333%}.offset-xl-11{margin-left:91.66667%}}.table{width:100%;max-width:100%;margin-bottom:.5rem}.table td,.table th{padding:.75rem;vertical-align:top;border-top:1px solid rgba(0,0,0,.12)}.table thead th{vertical-align:bottom;border-bottom:2px solid rgba(0,0,0,.12)}.table tbody+tbody{border-top:2px solid rgba(0,0,0,.12)}.table .table{background-color:#fafafa}.table-sm td,.table-sm th{padding:.3rem}.table-bordered,.table-bordered td,.table-bordered th{border:1px solid rgba(0,0,0,.12)}.table-bordered thead td,.table-bordered thead th{border-bottom-width:2px}.table-striped tbody tr:nth-of-type(odd){background-color:rgba(0,0,0,.05)}.table-active,.table-active>td,.table-active>th,.table-hover .table-active:hover,.table-hover .table-active:hover>td,.table-hover .table-active:hover>th,.table-hover tbody tr:hover{background-color:rgba(0,0,0,.075)}.table-success,.table-success>td,.table-success>th{background-color:#4caf50}.table-hover .table-success:hover,.table-hover .table-success:hover>td,.table-hover .table-success:hover>th{background-color:#449d48}.table-info,.table-info>td,.table-info>th{background-color:#03a9f4}.table-hover .table-info:hover,.table-hover .table-info:hover>td,.table-hover .table-info:hover>th{background-color:#0398db}.table-warning,.table-warning>td,.table-warning>th{background-color:#ff5722}.table-hover .table-warning:hover,.table-hover .table-warning:hover>td,.table-hover .table-warning:hover>th{background-color:#ff4409}.table-danger,.table-danger>td,.table-danger>th{background-color:#f44336}.table-hover .table-danger:hover,.table-hover .table-danger:hover>td,.table-hover .table-danger:hover>th{background-color:#f32c1e}.thead-inverse th{color:#fff;background-color:rgba(0,0,0,.87)}.thead-default th{color:rgba(0,0,0,.54);background-color:rgba(0,0,0,.12)}.table-inverse{color:rgba(0,0,0,.12);background-color:rgba(0,0,0,.87)}.table-inverse td,.table-inverse th,.table-inverse thead th{border-color:rgba(0,0,0,.54)}.table-inverse.table-bordered{border:0}.table-responsive{display:block;width:100%;min-height:.01%;overflow-x:auto}.table-reflow thead{float:left}.table-reflow tbody{display:block;white-space:nowrap}.table-reflow td,.table-reflow th{border-top:1px solid rgba(0,0,0,.12);border-left:1px solid rgba(0,0,0,.12)}.table-reflow td:last-child,.table-reflow th:last-child{border-right:1px solid rgba(0,0,0,.12)}.table-reflow tbody:last-child tr:last-child td,.table-reflow tbody:last-child tr:last-child th,.table-reflow tfoot:last-child tr:last-child td,.table-reflow tfoot:last-child tr:last-child th,.table-reflow thead:last-child tr:last-child td,.table-reflow thead:last-child tr:last-child th{border-bottom:1px solid rgba(0,0,0,.12)}.table-reflow tr{float:left}.table-reflow tr td,.table-reflow tr th{display:block!important;border:1px solid rgba(0,0,0,.12)}.custom-file-control,.form-control{display:block;width:100%;padding:.4375rem 0;font-size:1rem;line-height:1.25;color:rgba(0,0,0,.54);background-color:transparent;background-image:none;background-clip:padding-box;border:1px solid rgba(0,0,0,.26);border-radius:0;box-shadow:none}.custom-file-control::-ms-expand,.form-control::-ms-expand{background-color:transparent;border:0}.custom-file-control:focus,.form-control:focus{color:rgba(0,0,0,.54);background-color:transparent;border-color:#66afe9;outline:none;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px none}.custom-file-control::-webkit-input-placeholder,.form-control::-webkit-input-placeholder{color:rgba(0,0,0,.26);opacity:1}.custom-file-control::-moz-placeholder,.form-control::-moz-placeholder{color:rgba(0,0,0,.26);opacity:1}.custom-file-control:-ms-input-placeholder,.form-control:-ms-input-placeholder{color:rgba(0,0,0,.26);opacity:1}.custom-file-control::placeholder,.form-control::placeholder{color:rgba(0,0,0,.26);opacity:1}.custom-file-control:disabled,.form-control:disabled,.form-control[readonly],[readonly].custom-file-control{background-color:transparent;opacity:1}.custom-file-control:disabled,.form-control:disabled{cursor:not-allowed}select.custom-file-control:not([size]):not([multiple]),select.form-control:not([size]):not([multiple]){height:2.375rem}select.custom-file-control:focus::-ms-value,select.form-control:focus::-ms-value{color:rgba(0,0,0,.54);background-color:transparent}.form-control-file,.form-control-range{display:block}.col-form-label{padding-top:.4375rem;padding-bottom:.4375rem;margin-bottom:0}.col-form-label-lg{padding-top:.5625rem;padding-bottom:.5625rem;font-size:1.25rem}.col-form-label-sm{padding-top:.25rem;padding-bottom:.25rem;font-size:.875rem}.col-form-legend{font-size:1rem}.col-form-legend,.form-control-static{padding-top:.4375rem;padding-bottom:.4375rem;margin-bottom:0}.form-control-static{min-height:2.375rem}.form-control-static.form-control-lg,.form-control-static.form-control-sm,.input-group-lg>.form-control-static.custom-file-control,.input-group-lg>.form-control-static.form-control,.input-group-lg>.form-control-static.input-group-addon,.input-group-lg>.input-group-btn>.form-control-static.btn,.input-group-lg>.input-group-btn>.form-control-static.custom-file-control:before,.input-group-sm>.form-control-static.custom-file-control,.input-group-sm>.form-control-static.form-control,.input-group-sm>.form-control-static.input-group-addon,.input-group-sm>.input-group-btn>.form-control-static.btn,.input-group-sm>.input-group-btn>.form-control-static.custom-file-control:before{padding-right:0;padding-left:0}.form-control-sm,.input-group-sm>.custom-file-control,.input-group-sm>.form-control,.input-group-sm>.input-group-addon,.input-group-sm>.input-group-btn>.btn,.input-group-sm>.input-group-btn>.custom-file-control:before{padding:.25rem 0;font-size:.875rem;border-radius:.0625rem}.input-group-sm>.input-group-btn>select.btn:not([size]):not([multiple]),.input-group-sm>.input-group-btn>select.custom-file-control:not([size]):not([multiple]):before,.input-group-sm>select.custom-file-control:not([size]):not([multiple]),.input-group-sm>select.form-control:not([size]):not([multiple]),.input-group-sm>select.input-group-addon:not([size]):not([multiple]),select.form-control-sm:not([size]):not([multiple]){height:1.8125rem}.form-control-lg,.input-group-lg>.custom-file-control,.input-group-lg>.form-control,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.btn,.input-group-lg>.input-group-btn>.custom-file-control:before{padding:.5625rem 0;font-size:1.25rem;border-radius:.3rem}.input-group-lg>.input-group-btn>select.btn:not([size]):not([multiple]),.input-group-lg>.input-group-btn>select.custom-file-control:not([size]):not([multiple]):before,.input-group-lg>select.custom-file-control:not([size]):not([multiple]),.input-group-lg>select.form-control:not([size]):not([multiple]),.input-group-lg>select.input-group-addon:not([size]):not([multiple]),select.form-control-lg:not([size]):not([multiple]){height:2.79167rem}.form-group{margin-bottom:.5rem}.form-text{display:block;margin-top:.125rem}.form-check{position:relative;display:block;margin-bottom:.375rem}.form-check+.form-check{margin-top:-.25rem}.form-check.disabled .form-check-label{color:rgba(0,0,0,.26);cursor:not-allowed}.form-check-label{padding-left:1.25rem;margin-bottom:0;cursor:pointer}.form-check-input{position:absolute;margin-top:.25rem;margin-left:-1.25rem}.form-check-input:only-child{position:static}.form-check-inline{position:relative;display:inline-block;padding-left:1.25rem;margin-bottom:0;vertical-align:middle;cursor:pointer}.form-check-inline+.form-check-inline{margin-left:.75rem}.form-check-inline.disabled{cursor:not-allowed}.form-control-feedback{margin-top:.125rem}.form-control-danger,.form-control-success,.form-control-warning{padding-right:0;background-repeat:no-repeat;background-position:center right .59375rem;background-size:1.1875rem 1.1875rem}.has-success .checkbox,.has-success .checkbox-inline,.has-success.checkbox-inline label,.has-success.checkbox label,.has-success .custom-control,.has-success .form-control-feedback,.has-success .form-control-label,.has-success .radio,.has-success .radio-inline,.has-success.radio-inline label,.has-success.radio label{color:#4caf50}.has-success .custom-file-control,.has-success .form-control{border-color:#4caf50}.has-success .input-group-addon{color:#4caf50;border-color:#4caf50;background-color:#d9eeda}.has-success .form-control-feedback{color:#4caf50}.has-success .form-control-success{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%235cb85c' 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")}.has-warning .checkbox,.has-warning .checkbox-inline,.has-warning.checkbox-inline label,.has-warning.checkbox label,.has-warning .custom-control,.has-warning .form-control-feedback,.has-warning .form-control-label,.has-warning .radio,.has-warning .radio-inline,.has-warning.radio-inline label,.has-warning.radio label{color:#ff5722}.has-warning .custom-file-control,.has-warning .form-control{border-color:#ff5722}.has-warning .input-group-addon{color:#ff5722;border-color:#ff5722;background-color:#fff2ee}.has-warning .form-control-feedback{color:#ff5722}.has-warning .form-control-warning{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23f0ad4e' d='M4.4 5.324h-.8v-2.46h.8zm0 1.42h-.8V5.89h.8zM3.76.63L.04 7.075c-.115.2.016.425.26.426h7.397c.242 0 .372-.226.258-.426C6.726 4.924 5.47 2.79 4.253.63c-.113-.174-.39-.174-.494 0z'/%3E%3C/svg%3E")}.has-danger .checkbox,.has-danger .checkbox-inline,.has-danger.checkbox-inline label,.has-danger.checkbox label,.has-danger .custom-control,.has-danger .form-control-feedback,.has-danger .form-control-label,.has-danger .radio,.has-danger .radio-inline,.has-danger.radio-inline label,.has-danger.radio label{color:#f44336}.has-danger .custom-file-control,.has-danger .form-control{border-color:#f44336}.has-danger .input-group-addon{color:#f44336;border-color:#f44336;background-color:#fff8f7}.has-danger .form-control-feedback{color:#f44336}.has-danger .form-control-danger{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23d9534f' viewBox='-2 -2 7 7'%3E%3Cpath stroke='%23d9534f' d='M0 0l3 3m0-3L0 3'/%3E%3Ccircle r='.5'/%3E%3Ccircle cx='3' r='.5'/%3E%3Ccircle cy='3' r='.5'/%3E%3Ccircle cx='3' cy='3' r='.5'/%3E%3C/svg%3E")}@media (min-width:544px){.form-inline .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.form-inline .custom-file-control,.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .form-control-static{display:inline-block}.form-inline .input-group{display:inline-table;vertical-align:middle}.form-inline .input-group .custom-file-control,.form-inline .input-group .form-control,.form-inline .input-group .input-group-addon,.form-inline .input-group .input-group-btn{width:auto}.form-inline .input-group>.custom-file-control,.form-inline .input-group>.form-control{width:100%}.form-inline .form-check,.form-inline .form-control-label{margin-bottom:0;vertical-align:middle}.form-inline .form-check{display:inline-block;margin-top:0}.form-inline .form-check-label{padding-left:0}.form-inline .form-check-input{position:relative;margin-left:0}.form-inline .has-feedback .form-control-feedback{top:0}}.btn,.custom-file-control:before{display:inline-block;font-weight:500;line-height:1.25;text-align:center;white-space:nowrap;vertical-align:middle;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;border:1px solid transparent;padding:.46875rem 1rem;font-size:1rem;border-radius:.125rem}.active.custom-file-control:focus:before,.active.focus.custom-file-control:before,.btn.active.focus,.btn.active:focus,.btn.focus,.btn:active.focus,.btn:active:focus,.btn:focus,.custom-file-control:active.focus:before,.custom-file-control:active:focus:before,.custom-file-control:focus:before,.focus.custom-file-control:before{outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.btn.focus,.btn:focus,.btn:hover,.custom-file-control:focus:before,.custom-file-control:hover:before,.focus.custom-file-control:before{text-decoration:none}.active.custom-file-control:before,.btn.active,.btn:active,.custom-file-control:active:before{background-image:none;outline:0;box-shadow:none}.btn.disabled,.btn:disabled,.custom-file-control:disabled:before,.disabled.custom-file-control:before{cursor:not-allowed;opacity:.65;box-shadow:none}a.btn.disabled,a.disabled.custom-file-control:before,fieldset[disabled] a.btn,fieldset[disabled] a.custom-file-control:before{pointer-events:none}.btn-primary{color:#fff;background-color:#009688;border-color:#009688;box-shadow:none}.btn-primary.focus,.btn-primary:focus,.btn-primary:hover{color:#fff;background-color:#00635a;border-color:#005951}.btn-primary.active,.btn-primary:active,.open>.btn-primary.dropdown-toggle{color:#fff;background-color:#00635a;border-color:#005951;background-image:none;box-shadow:none}.btn-primary.active.focus,.btn-primary.active:focus,.btn-primary.active:hover,.btn-primary:active.focus,.btn-primary:active:focus,.btn-primary:active:hover,.open>.btn-primary.dropdown-toggle.focus,.open>.btn-primary.dropdown-toggle:focus,.open>.btn-primary.dropdown-toggle:hover{color:#fff;background-color:#003f39;border-color:#001714}.btn-primary.disabled.focus,.btn-primary.disabled:focus,.btn-primary.disabled:hover,.btn-primary:disabled.focus,.btn-primary:disabled:focus,.btn-primary:disabled:hover{background-color:#009688;border-color:#009688}.btn-secondary{color:rgba(0,0,0,.87);background-color:#fafafa;border-color:#ccc;box-shadow:none}.btn-secondary.focus,.btn-secondary:focus,.btn-secondary:hover{color:rgba(0,0,0,.87);background-color:#e1e1e1;border-color:#adadad}.btn-secondary.active,.btn-secondary:active,.open>.btn-secondary.dropdown-toggle{color:rgba(0,0,0,.87);background-color:#e1e1e1;border-color:#adadad;background-image:none;box-shadow:none}.btn-secondary.active.focus,.btn-secondary.active:focus,.btn-secondary.active:hover,.btn-secondary:active.focus,.btn-secondary:active:focus,.btn-secondary:active:hover,.open>.btn-secondary.dropdown-toggle.focus,.open>.btn-secondary.dropdown-toggle:focus,.open>.btn-secondary.dropdown-toggle:hover{color:rgba(0,0,0,.87);background-color:#cfcfcf;border-color:#8c8c8c}.btn-secondary.disabled.focus,.btn-secondary.disabled:focus,.btn-secondary.disabled:hover,.btn-secondary:disabled.focus,.btn-secondary:disabled:focus,.btn-secondary:disabled:hover{background-color:#fafafa;border-color:#ccc}.btn-info{color:#fff;background-color:#03a9f4;border-color:#03a9f4;box-shadow:none}.btn-info.focus,.btn-info:focus,.btn-info:hover{color:#fff;background-color:#0286c2;border-color:#027fb8}.btn-info.active,.btn-info:active,.open>.btn-info.dropdown-toggle{color:#fff;background-color:#0286c2;border-color:#027fb8;background-image:none;box-shadow:none}.btn-info.active.focus,.btn-info.active:focus,.btn-info.active:hover,.btn-info:active.focus,.btn-info:active:focus,.btn-info:active:hover,.open>.btn-info.dropdown-toggle.focus,.open>.btn-info.dropdown-toggle:focus,.open>.btn-info.dropdown-toggle:hover{color:#fff;background-color:#026e9e;border-color:#015276}.btn-info.disabled.focus,.btn-info.disabled:focus,.btn-info.disabled:hover,.btn-info:disabled.focus,.btn-info:disabled:focus,.btn-info:disabled:hover{background-color:#03a9f4;border-color:#03a9f4}.btn-success{color:#fff;background-color:#4caf50;border-color:#4caf50;box-shadow:none}.btn-success.focus,.btn-success:focus,.btn-success:hover{color:#fff;background-color:#3d8b40;border-color:#39843c}.btn-success.active,.btn-success:active,.open>.btn-success.dropdown-toggle{color:#fff;background-color:#3d8b40;border-color:#39843c;background-image:none;box-shadow:none}.btn-success.active.focus,.btn-success.active:focus,.btn-success.active:hover,.btn-success:active.focus,.btn-success:active:focus,.btn-success:active:hover,.open>.btn-success.dropdown-toggle.focus,.open>.btn-success.dropdown-toggle:focus,.open>.btn-success.dropdown-toggle:hover{color:#fff;background-color:#327334;border-color:#255627}.btn-success.disabled.focus,.btn-success.disabled:focus,.btn-success.disabled:hover,.btn-success:disabled.focus,.btn-success:disabled:focus,.btn-success:disabled:hover{background-color:#4caf50;border-color:#4caf50}.btn-warning{color:#fff;background-color:#ff5722;border-color:#ff5722;box-shadow:none}.btn-warning.focus,.btn-warning:focus,.btn-warning:hover{color:#fff;background-color:#ee3900;border-color:#e43700}.btn-warning.active,.btn-warning:active,.open>.btn-warning.dropdown-toggle{color:#fff;background-color:#ee3900;border-color:#e43700;background-image:none;box-shadow:none}.btn-warning.active.focus,.btn-warning.active:focus,.btn-warning.active:hover,.btn-warning:active.focus,.btn-warning:active:focus,.btn-warning:active:hover,.open>.btn-warning.dropdown-toggle.focus,.open>.btn-warning.dropdown-toggle:focus,.open>.btn-warning.dropdown-toggle:hover{color:#fff;background-color:#ca3100;border-color:#a22700}.btn-warning.disabled.focus,.btn-warning.disabled:focus,.btn-warning.disabled:hover,.btn-warning:disabled.focus,.btn-warning:disabled:focus,.btn-warning:disabled:hover{background-color:#ff5722;border-color:#ff5722}.btn-danger{color:#fff;background-color:#f44336;border-color:#f44336;box-shadow:none}.btn-danger.focus,.btn-danger:focus,.btn-danger:hover{color:#fff;background-color:#ea1c0d;border-color:#e11b0c}.btn-danger.active,.btn-danger:active,.open>.btn-danger.dropdown-toggle{color:#fff;background-color:#ea1c0d;border-color:#e11b0c;background-image:none;box-shadow:none}.btn-danger.active.focus,.btn-danger.active:focus,.btn-danger.active:hover,.btn-danger:active.focus,.btn-danger:active:focus,.btn-danger:active:hover,.open>.btn-danger.dropdown-toggle.focus,.open>.btn-danger.dropdown-toggle:focus,.open>.btn-danger.dropdown-toggle:hover{color:#fff;background-color:#c8180b;border-color:#a21309}.btn-danger.disabled.focus,.btn-danger.disabled:focus,.btn-danger.disabled:hover,.btn-danger:disabled.focus,.btn-danger:disabled:focus,.btn-danger:disabled:hover{background-color:#f44336;border-color:#f44336}.btn-outline-primary{color:#009688;background-image:none;background-color:transparent;border-color:#009688}.btn-outline-primary.active,.btn-outline-primary.focus,.btn-outline-primary:active,.btn-outline-primary:focus,.btn-outline-primary:hover,.open>.btn-outline-primary.dropdown-toggle{color:#fff;background-color:#009688;border-color:#009688}.btn-outline-primary.active.focus,.btn-outline-primary.active:focus,.btn-outline-primary.active:hover,.btn-outline-primary:active.focus,.btn-outline-primary:active:focus,.btn-outline-primary:active:hover,.open>.btn-outline-primary.dropdown-toggle.focus,.open>.btn-outline-primary.dropdown-toggle:focus,.open>.btn-outline-primary.dropdown-toggle:hover{color:#fff;background-color:#003f39;border-color:#001714}.btn-outline-primary.disabled.focus,.btn-outline-primary.disabled:focus,.btn-outline-primary.disabled:hover,.btn-outline-primary:disabled.focus,.btn-outline-primary:disabled:focus,.btn-outline-primary:disabled:hover{border-color:#00fce4}.btn-outline-secondary{color:#ccc;background-image:none;background-color:transparent;border-color:#ccc}.btn-outline-secondary.active,.btn-outline-secondary.focus,.btn-outline-secondary:active,.btn-outline-secondary:focus,.btn-outline-secondary:hover,.open>.btn-outline-secondary.dropdown-toggle{color:#fff;background-color:#ccc;border-color:#ccc}.btn-outline-secondary.active.focus,.btn-outline-secondary.active:focus,.btn-outline-secondary.active:hover,.btn-outline-secondary:active.focus,.btn-outline-secondary:active:focus,.btn-outline-secondary:active:hover,.open>.btn-outline-secondary.dropdown-toggle.focus,.open>.btn-outline-secondary.dropdown-toggle:focus,.open>.btn-outline-secondary.dropdown-toggle:hover{color:#fff;background-color:#a1a1a1;border-color:#8c8c8c}.btn-outline-secondary.disabled.focus,.btn-outline-secondary.disabled:focus,.btn-outline-secondary.disabled:hover,.btn-outline-secondary:disabled.focus,.btn-outline-secondary:disabled:focus,.btn-outline-secondary:disabled:hover{border-color:#fff}.btn-outline-info{color:#03a9f4;background-image:none;background-color:transparent;border-color:#03a9f4}.btn-outline-info.active,.btn-outline-info.focus,.btn-outline-info:active,.btn-outline-info:focus,.btn-outline-info:hover,.open>.btn-outline-info.dropdown-toggle{color:#fff;background-color:#03a9f4;border-color:#03a9f4}.btn-outline-info.active.focus,.btn-outline-info.active:focus,.btn-outline-info.active:hover,.btn-outline-info:active.focus,.btn-outline-info:active:focus,.btn-outline-info:active:hover,.open>.btn-outline-info.dropdown-toggle.focus,.open>.btn-outline-info.dropdown-toggle:focus,.open>.btn-outline-info.dropdown-toggle:hover{color:#fff;background-color:#026e9e;border-color:#015276}.btn-outline-info.disabled.focus,.btn-outline-info.disabled:focus,.btn-outline-info.disabled:hover,.btn-outline-info:disabled.focus,.btn-outline-info:disabled:focus,.btn-outline-info:disabled:hover{border-color:#60ccfd}.btn-outline-success{color:#4caf50;background-image:none;background-color:transparent;border-color:#4caf50}.btn-outline-success.active,.btn-outline-success.focus,.btn-outline-success:active,.btn-outline-success:focus,.btn-outline-success:hover,.open>.btn-outline-success.dropdown-toggle{color:#fff;background-color:#4caf50;border-color:#4caf50}.btn-outline-success.active.focus,.btn-outline-success.active:focus,.btn-outline-success.active:hover,.btn-outline-success:active.focus,.btn-outline-success:active:focus,.btn-outline-success:active:hover,.open>.btn-outline-success.dropdown-toggle.focus,.open>.btn-outline-success.dropdown-toggle:focus,.open>.btn-outline-success.dropdown-toggle:hover{color:#fff;background-color:#327334;border-color:#255627}.btn-outline-success.disabled.focus,.btn-outline-success.disabled:focus,.btn-outline-success.disabled:hover,.btn-outline-success:disabled.focus,.btn-outline-success:disabled:focus,.btn-outline-success:disabled:hover{border-color:#92cf94}.btn-outline-warning{color:#ff5722;background-image:none;background-color:transparent;border-color:#ff5722}.btn-outline-warning.active,.btn-outline-warning.focus,.btn-outline-warning:active,.btn-outline-warning:focus,.btn-outline-warning:hover,.open>.btn-outline-warning.dropdown-toggle{color:#fff;background-color:#ff5722;border-color:#ff5722}.btn-outline-warning.active.focus,.btn-outline-warning.active:focus,.btn-outline-warning.active:hover,.btn-outline-warning:active.focus,.btn-outline-warning:active:focus,.btn-outline-warning:active:hover,.open>.btn-outline-warning.dropdown-toggle.focus,.open>.btn-outline-warning.dropdown-toggle:focus,.open>.btn-outline-warning.dropdown-toggle:hover{color:#fff;background-color:#ca3100;border-color:#a22700}.btn-outline-warning.disabled.focus,.btn-outline-warning.disabled:focus,.btn-outline-warning.disabled:hover,.btn-outline-warning:disabled.focus,.btn-outline-warning:disabled:focus,.btn-outline-warning:disabled:hover{border-color:#ffa588}.btn-outline-danger{color:#f44336;background-image:none;background-color:transparent;border-color:#f44336}.btn-outline-danger.active,.btn-outline-danger.focus,.btn-outline-danger:active,.btn-outline-danger:focus,.btn-outline-danger:hover,.open>.btn-outline-danger.dropdown-toggle{color:#fff;background-color:#f44336;border-color:#f44336}.btn-outline-danger.active.focus,.btn-outline-danger.active:focus,.btn-outline-danger.active:hover,.btn-outline-danger:active.focus,.btn-outline-danger:active:focus,.btn-outline-danger:active:hover,.open>.btn-outline-danger.dropdown-toggle.focus,.open>.btn-outline-danger.dropdown-toggle:focus,.open>.btn-outline-danger.dropdown-toggle:hover{color:#fff;background-color:#c8180b;border-color:#a21309}.btn-outline-danger.disabled.focus,.btn-outline-danger.disabled:focus,.btn-outline-danger.disabled:hover,.btn-outline-danger:disabled.focus,.btn-outline-danger:disabled:focus,.btn-outline-danger:disabled:hover{border-color:#f99d97}.btn-link{font-weight:400;color:#009688;border-radius:0}.btn-link,.btn-link.active,.btn-link:active,.btn-link:disabled{background-color:transparent;box-shadow:none}.btn-link,.btn-link:active,.btn-link:focus,.btn-link:hover{border-color:transparent}.btn-link:focus,.btn-link:hover{color:#004a43;text-decoration:underline;background-color:transparent}.btn-link:disabled:focus,.btn-link:disabled:hover{color:rgba(0,0,0,.26);text-decoration:none}.btn-group-lg>.btn,.btn-group-lg>.custom-file-control:before,.btn-lg{padding:.75rem 1.5rem;font-size:1.25rem;border-radius:.3rem}.btn-group-sm>.btn,.btn-group-sm>.custom-file-control:before,.btn-sm{padding:.40625rem .5rem;font-size:.875rem;border-radius:.0625rem}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:.5rem}input[type=button].btn-block,input[type=reset].btn-block,input[type=submit].btn-block{width:100%}.fade{opacity:0;-webkit-transition:opacity .15s linear;transition:opacity .15s linear}.fade.in{opacity:1}.collapse{display:none}.collapse.in{display:block}.collapsing{height:0;overflow:hidden;-webkit-transition-timing-function:ease;transition-timing-function:ease;-webkit-transition-duration:.35s;transition-duration:.35s;-webkit-transition-property:height;transition-property:height}.collapsing,.dropdown,.dropup{position:relative}.dropdown-toggle:after{display:inline-block;width:0;height:0;margin-left:.3em;vertical-align:middle;content:"";border-top:.3em solid;border-right:.3em solid transparent;border-left:.3em solid transparent}.dropdown-toggle:focus{outline:0}.dropup .dropdown-toggle:after{border-top:0;border-bottom:.3em solid}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:160px;padding:5px 0;margin:2px 0 0;font-size:1rem;color:rgba(0,0,0,.87);text-align:left;list-style:none;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.15);border-radius:.125rem;box-shadow:0 2px 2px 0 rgba(0,0,0,.14),0 3px 1px -2px rgba(0,0,0,.2),0 1px 5px 0 rgba(0,0,0,.12)}.dropdown-divider{height:1px;margin:.25rem 0;overflow:hidden;background-color:#e5e5e5}.dropdown-item{display:block;width:100%;padding:3px 20px;clear:both;font-weight:400;color:rgba(0,0,0,.87);text-align:inherit;white-space:nowrap;background:none;border:0}.dropdown-item:focus,.dropdown-item:hover{color:rgba(0,0,0,.87);text-decoration:none;background-color:#f5f5f5}.dropdown-item.active,.dropdown-item.active:focus,.dropdown-item.active:hover{color:#fff;text-decoration:none;background-color:#009688;outline:0}.dropdown-item.disabled,.dropdown-item.disabled:focus,.dropdown-item.disabled:hover{color:rgba(0,0,0,.26)}.dropdown-item.disabled:focus,.dropdown-item.disabled:hover{text-decoration:none;cursor:not-allowed;background-color:transparent;background-image:none;filter:"progid:DXImageTransform.Microsoft.gradient(enabled = false)"}.open>.dropdown-menu{display:block}.open>a{outline:0}.dropdown-menu-right{right:0;left:auto}.dropdown-menu-left{right:auto;left:0}.dropdown-header{display:block;padding:5px 20px;font-size:.875rem;color:rgba(0,0,0,.26);white-space:nowrap}.dropdown-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:990}.dropup .caret,.navbar-fixed-bottom .dropdown .caret{content:"";border-top:0;border-bottom:.3em solid}.dropup .dropdown-menu,.navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100%;margin-bottom:2px}.btn-group,.btn-group-vertical{position:relative;display:inline-block;vertical-align:middle}.btn-group-vertical>.btn,.btn-group-vertical>.custom-file-control:before,.btn-group>.btn,.btn-group>.custom-file-control:before{position:relative;float:left}.btn-group-vertical>.active.custom-file-control:before,.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:hover,.btn-group-vertical>.custom-file-control:active:before,.btn-group-vertical>.custom-file-control:focus:before,.btn-group-vertical>.custom-file-control:hover:before,.btn-group>.active.custom-file-control:before,.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus,.btn-group>.btn:hover,.btn-group>.custom-file-control:active:before,.btn-group>.custom-file-control:focus:before,.btn-group>.custom-file-control:hover:before{z-index:2}.btn-group .btn+.btn,.btn-group .btn+.btn-group,.btn-group .btn+.custom-file-control:before,.btn-group .btn-group+.btn,.btn-group .btn-group+.btn-group,.btn-group .btn-group+.custom-file-control:before,.btn-group .custom-file-control:before+.btn,.btn-group .custom-file-control:before+.btn-group,.btn-group .custom-file-control:before+.custom-file-control:before{margin-left:-1px}.btn-toolbar{margin-left:-.5rem}.btn-toolbar:after{content:"";display:table;clear:both}.btn-toolbar .btn-group,.btn-toolbar .input-group{float:left}.btn-toolbar>.btn,.btn-toolbar>.btn-group,.btn-toolbar>.custom-file-control:before,.btn-toolbar>.input-group{margin-left:.5rem}.btn-group>.btn:not(:first-child):not(:last-child):not(.dropdown-toggle),.btn-group>.custom-file-control:not(:first-child):not(:last-child):not(.dropdown-toggle):before{border-radius:0}.btn-group>.btn:first-child,.btn-group>.custom-file-control:first-child:before{margin-left:0}.btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle),.btn-group>.custom-file-control:first-child:not(:last-child):not(.dropdown-toggle):before{border-bottom-right-radius:0;border-top-right-radius:0}.btn-group>.btn:last-child:not(:first-child),.btn-group>.custom-file-control:last-child:not(:first-child):before,.btn-group>.dropdown-toggle:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.btn-group>.btn-group{float:left}.btn-group>.btn-group:not(:first-child):not(:last-child)>.btn,.btn-group>.btn-group:not(:first-child):not(:last-child)>.custom-file-control:before{border-radius:0}.btn-group>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group>.btn-group:first-child:not(:last-child)>.custom-file-control:last-child:before,.btn-group>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-bottom-right-radius:0;border-top-right-radius:0}.btn-group>.btn-group:last-child:not(:first-child)>.btn:first-child,.btn-group>.btn-group:last-child:not(:first-child)>.custom-file-control:first-child:before{border-bottom-left-radius:0;border-top-left-radius:0}.btn-group .dropdown-toggle:active,.btn-group.open .dropdown-toggle{outline:0}.btn+.dropdown-toggle-split,.custom-file-control:before+.dropdown-toggle-split{padding-right:.75rem;padding-left:.75rem}.btn+.dropdown-toggle-split:after,.custom-file-control:before+.dropdown-toggle-split:after{margin-left:0}.btn-group-sm>.btn+.dropdown-toggle-split,.btn-group-sm>.custom-file-control:before+.dropdown-toggle-split,.btn-sm+.dropdown-toggle-split{padding-right:.375rem;padding-left:.375rem}.btn-group-lg>.btn+.dropdown-toggle-split,.btn-group-lg>.custom-file-control:before+.dropdown-toggle-split,.btn-lg+.dropdown-toggle-split{padding-right:1.125rem;padding-left:1.125rem}.btn-group.open .dropdown-toggle,.btn-group.open .dropdown-toggle.btn-link{box-shadow:none}.btn .caret,.custom-file-control:before .caret{margin-left:0}.btn-group-lg>.btn .caret,.btn-group-lg>.custom-file-control:before .caret,.btn-lg .caret{border-width:.3em .3em 0;border-bottom-width:0}.dropup .btn-group-lg>.btn .caret,.dropup .btn-group-lg>.custom-file-control:before .caret,.dropup .btn-lg .caret{border-width:0 .3em .3em}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group,.btn-group-vertical>.btn-group>.btn,.btn-group-vertical>.btn-group>.custom-file-control:before,.btn-group-vertical>.custom-file-control:before{display:block;float:none;width:100%;max-width:100%}.btn-group-vertical>.btn-group:after{content:"";display:table;clear:both}.btn-group-vertical>.btn-group>.btn,.btn-group-vertical>.btn-group>.custom-file-control:before{float:none}.btn-group-vertical>.btn+.btn,.btn-group-vertical>.btn+.btn-group,.btn-group-vertical>.btn+.custom-file-control:before,.btn-group-vertical>.btn-group+.btn,.btn-group-vertical>.btn-group+.btn-group,.btn-group-vertical>.btn-group+.custom-file-control:before,.btn-group-vertical>.custom-file-control:before+.btn,.btn-group-vertical>.custom-file-control:before+.btn-group,.btn-group-vertical>.custom-file-control:before+.custom-file-control:before{margin-top:-1px;margin-left:0}.btn-group-vertical>.btn:not(:first-child):not(:last-child),.btn-group-vertical>.custom-file-control:not(:first-child):not(:last-child):before{border-radius:0}.btn-group-vertical>.btn:first-child:not(:last-child),.btn-group-vertical>.custom-file-control:first-child:not(:last-child):before{border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn:last-child:not(:first-child),.btn-group-vertical>.custom-file-control:last-child:not(:first-child):before{border-top-right-radius:0;border-top-left-radius:0}.btn-group-vertical>.btn-group:not(:first-child):not(:last-child)>.btn,.btn-group-vertical>.btn-group:not(:first-child):not(:last-child)>.custom-file-control:before{border-radius:0}.btn-group-vertical>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group-vertical>.btn-group:first-child:not(:last-child)>.custom-file-control:last-child:before,.btn-group-vertical>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:last-child:not(:first-child)>.btn:first-child,.btn-group-vertical>.btn-group:last-child:not(:first-child)>.custom-file-control:first-child:before{border-top-right-radius:0;border-top-left-radius:0}[data-toggle=buttons]>.btn-group>.btn input[type=checkbox],[data-toggle=buttons]>.btn-group>.btn input[type=radio],[data-toggle=buttons]>.btn-group>.custom-file-control:before input[type=checkbox],[data-toggle=buttons]>.btn-group>.custom-file-control:before input[type=radio],[data-toggle=buttons]>.btn input[type=checkbox],[data-toggle=buttons]>.btn input[type=radio],[data-toggle=buttons]>.custom-file-control:before input[type=checkbox],[data-toggle=buttons]>.custom-file-control:before input[type=radio]{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.input-group{position:relative;width:100%;display:-webkit-box;display:-ms-flexbox;display:flex}.input-group .custom-file-control,.input-group .form-control{position:relative;z-index:2;-webkit-box-flex:1;-ms-flex:1;flex:1;margin-bottom:0}.input-group .custom-file-control:active,.input-group .custom-file-control:focus,.input-group .custom-file-control:hover,.input-group .form-control:active,.input-group .form-control:focus,.input-group .form-control:hover{z-index:3}.input-group-addon:not(:first-child):not(:last-child),.input-group-btn:not(:first-child):not(:last-child),.input-group .custom-file-control:not(:first-child):not(:last-child),.input-group .form-control:not(:first-child):not(:last-child){border-radius:0}.input-group-addon,.input-group-btn{white-space:nowrap;vertical-align:middle}.input-group-addon{padding:.4375rem 0;margin-bottom:0;font-size:1rem;font-weight:400;line-height:1.25;color:rgba(0,0,0,.54);text-align:center;background-color:transparent;border:1px solid transparent;border-radius:0}.input-group-addon.form-control-sm,.input-group-sm>.input-group-addon,.input-group-sm>.input-group-btn>.input-group-addon.btn,.input-group-sm>.input-group-btn>.input-group-addon.custom-file-control:before{padding:.25rem 0;font-size:.875rem;border-radius:.0625rem}.input-group-addon.form-control-lg,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.input-group-addon.btn,.input-group-lg>.input-group-btn>.input-group-addon.custom-file-control:before{padding:.5625rem 0;font-size:1.25rem;border-radius:.3rem}.input-group-addon input[type=checkbox],.input-group-addon input[type=radio]{margin-top:0}.input-group-addon:not(:last-child),.input-group-btn:not(:first-child)>.btn-group:not(:last-child)>.btn,.input-group-btn:not(:first-child)>.btn-group:not(:last-child)>.custom-file-control:before,.input-group-btn:not(:first-child)>.btn:not(:last-child):not(.dropdown-toggle),.input-group-btn:not(:first-child)>.custom-file-control:not(:last-child):not(.dropdown-toggle):before,.input-group-btn:not(:last-child)>.btn,.input-group-btn:not(:last-child)>.btn-group>.btn,.input-group-btn:not(:last-child)>.btn-group>.custom-file-control:before,.input-group-btn:not(:last-child)>.custom-file-control:before,.input-group-btn:not(:last-child)>.dropdown-toggle,.input-group .custom-file-control:not(:last-child),.input-group .form-control:not(:last-child){border-bottom-right-radius:0;border-top-right-radius:0}.input-group-addon:not(:last-child){border-right:0}.input-group-addon:not(:first-child),.input-group-btn:not(:first-child)>.btn,.input-group-btn:not(:first-child)>.btn-group>.btn,.input-group-btn:not(:first-child)>.btn-group>.custom-file-control:before,.input-group-btn:not(:first-child)>.custom-file-control:before,.input-group-btn:not(:first-child)>.dropdown-toggle,.input-group-btn:not(:last-child)>.btn-group:not(:first-child)>.btn,.input-group-btn:not(:last-child)>.btn-group:not(:first-child)>.custom-file-control:before,.input-group-btn:not(:last-child)>.btn:not(:first-child),.input-group-btn:not(:last-child)>.custom-file-control:not(:first-child):before,.input-group .custom-file-control:not(:first-child),.input-group .form-control:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.custom-file-control+.input-group-addon:not(:first-child),.form-control+.input-group-addon:not(:first-child){border-left:0}.input-group-btn{font-size:0;white-space:nowrap}.input-group-btn,.input-group-btn>.btn,.input-group-btn>.custom-file-control:before{position:relative}.input-group-btn>.btn+.btn,.input-group-btn>.btn+.custom-file-control:before,.input-group-btn>.custom-file-control:before+.btn,.input-group-btn>.custom-file-control:before+.custom-file-control:before{margin-left:-1px}.input-group-btn>.btn:active,.input-group-btn>.btn:focus,.input-group-btn>.btn:hover,.input-group-btn>.custom-file-control:active:before,.input-group-btn>.custom-file-control:focus:before,.input-group-btn>.custom-file-control:hover:before{z-index:3}.input-group-btn:not(:last-child)>.btn,.input-group-btn:not(:last-child)>.btn-group,.input-group-btn:not(:last-child)>.custom-file-control:before{margin-right:-1px}.input-group-btn:not(:first-child)>.btn,.input-group-btn:not(:first-child)>.btn-group,.input-group-btn:not(:first-child)>.custom-file-control:before{z-index:2;margin-left:-1px}.input-group-btn:not(:first-child)>.btn-group:active,.input-group-btn:not(:first-child)>.btn-group:focus,.input-group-btn:not(:first-child)>.btn-group:hover,.input-group-btn:not(:first-child)>.btn:active,.input-group-btn:not(:first-child)>.btn:focus,.input-group-btn:not(:first-child)>.btn:hover,.input-group-btn:not(:first-child)>.custom-file-control:active:before,.input-group-btn:not(:first-child)>.custom-file-control:focus:before,.input-group-btn:not(:first-child)>.custom-file-control:hover:before{z-index:3}.custom-control{position:relative;display:inline;padding-left:1.5rem;cursor:pointer}.custom-control+.custom-control{margin-left:1rem}.custom-control-input{position:absolute;z-index:-1;opacity:0}.custom-control-input:checked~.custom-control-indicator{color:#fff;background-color:#0074d9;box-shadow:none}.custom-control-input:focus~.custom-control-indicator{box-shadow:0 0 0 .075rem #fff,0 0 0 .2rem #0074d9}.custom-control-input:active~.custom-control-indicator{color:#fff;background-color:#84c6ff;box-shadow:none}.custom-control-input:disabled~.custom-control-indicator{cursor:not-allowed;background-color:#eee}.custom-control-input:disabled~.custom-control-description{color:#767676;cursor:not-allowed}.custom-control-indicator{position:absolute;top:.0625rem;left:0;display:block;width:1rem;height:1rem;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-color:#ddd;background-repeat:no-repeat;background-position:50%;background-size:50% 50%;box-shadow:inset 0 .25rem .25rem rgba(0,0,0,.1)}.custom-checkbox .custom-control-indicator{border-radius:.125rem}.custom-checkbox .custom-control-input:checked~.custom-control-indicator{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3E%3C/svg%3E")}.custom-checkbox .custom-control-input:indeterminate~.custom-control-indicator{background-color:#0074d9;background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 4'%3E%3Cpath stroke='%23fff' d='M0 2h4'/%3E%3C/svg%3E");box-shadow:none}.custom-radio .custom-control-indicator{border-radius:50%}.custom-radio .custom-control-input:checked~.custom-control-indicator{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='%23fff'/%3E%3C/svg%3E")}.custom-controls-stacked .custom-control{display:inline}.custom-controls-stacked .custom-control:after{display:block;margin-bottom:.25rem;content:""}.custom-controls-stacked .custom-control+.custom-control{margin-left:0}.custom-select{display:inline-block;max-width:100%;padding:.375rem 1.75rem .375rem .75rem;padding-right:.75rem\9;color:rgba(0,0,0,.54);vertical-align:middle;background:#fff url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3E%3Cpath fill='%23333' d='M2 0L0 2h4zm0 5L0 3h4z'/%3E%3C/svg%3E") no-repeat right .75rem center;background-image:none\9;background-size:8px 10px;border:1px solid rgba(0,0,0,.26);border-radius:.125rem;-moz-appearance:none;-webkit-appearance:none}.custom-select:focus{border-color:#51a7e8;outline:none;box-shadow:inset 0 1px 2px rgba(0,0,0,.075),0 0 5px rgba(81,167,232,.5)}.custom-select:focus::-ms-value{color:rgba(0,0,0,.54);background-color:transparent}.custom-select:disabled{color:rgba(0,0,0,.26);cursor:not-allowed;background-color:rgba(0,0,0,.12)}.custom-select::-ms-expand{opacity:0}.custom-select-sm{padding-top:.375rem;padding-bottom:.375rem;font-size:75%}.custom-file{position:relative;display:inline-block;max-width:100%;height:2.5rem;cursor:pointer}.custom-file-input{min-width:14rem;max-width:100%;margin:0;filter:alpha(opacity=0);opacity:0}.custom-file-input:focus~.custom-file-control{box-shadow:0 0 0 .075rem #fff,0 0 0 .2rem #0074d9}.custom-file-control{position:absolute;top:0;right:0;left:0;z-index:5;height:2.5rem;padding:.5rem 1rem;line-height:1.3;color:#555;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-color:transparent;border:0 solid #ddd;border-radius:0;box-shadow:none}.custom-file-control:lang(en):after{content:"Choose file..."}.custom-file-control:before{position:absolute;top:0;right:0;bottom:0;z-index:6;display:block;height:2.5rem;padding:.5rem 1rem;line-height:1.3;color:#555;background-color:#eee;border:0 solid #ddd;border-radius:0 0 0 0}.custom-file-control:lang(en):before{content:"Browse"}.nav{padding-left:0;margin-bottom:0;list-style:none}.nav-link{display:inline-block}.nav-link:focus,.nav-link:hover{text-decoration:none}.nav-link.disabled{color:rgba(0,0,0,.26)}.nav-link.disabled,.nav-link.disabled:focus,.nav-link.disabled:hover{color:rgba(0,0,0,.26);cursor:not-allowed;background-color:transparent}.nav-inline .nav-item{display:inline-block}.nav-inline .nav-item+.nav-item,.nav-inline .nav-link+.nav-link{margin-left:1rem}.nav-tabs{border-bottom:1px solid #ddd}.nav-tabs:after{content:"";display:table;clear:both}.nav-tabs .nav-item{float:left;margin-bottom:-1px}.nav-tabs .nav-item+.nav-item{margin-left:.2rem}.nav-tabs .nav-link{display:block;padding:.5em 1em;border:1px solid transparent;border-top-right-radius:.125rem;border-top-left-radius:.125rem}.nav-tabs .nav-link:focus,.nav-tabs .nav-link:hover{border-color:rgba(0,0,0,.12) rgba(0,0,0,.12) #ddd}.nav-tabs .nav-link.disabled,.nav-tabs .nav-link.disabled:focus,.nav-tabs .nav-link.disabled:hover{color:rgba(0,0,0,.26);background-color:transparent;border-color:transparent}.nav-tabs .nav-item.open .nav-link,.nav-tabs .nav-item.open .nav-link:focus,.nav-tabs .nav-item.open .nav-link:hover,.nav-tabs .nav-link.active,.nav-tabs .nav-link.active:focus,.nav-tabs .nav-link.active:hover{color:rgba(0,0,0,.54);background-color:transparent;border-color:#ddd #ddd transparent}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-right-radius:0;border-top-left-radius:0}.nav-pills:after{content:"";display:table;clear:both}.nav-pills .nav-item{float:left}.nav-pills .nav-item+.nav-item{margin-left:.2rem}.nav-pills .nav-link{display:block;padding:.5em 1em;border-radius:.125rem}.nav-pills .nav-item.open .nav-link,.nav-pills .nav-item.open .nav-link:focus,.nav-pills .nav-item.open .nav-link:hover,.nav-pills .nav-link.active,.nav-pills .nav-link.active:focus,.nav-pills .nav-link.active:hover{color:#fff;cursor:default;background-color:#009688}.nav-stacked .nav-item{display:block;float:none}.nav-stacked .nav-item+.nav-item{margin-top:.2rem;margin-left:0}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.navbar{position:relative;padding:.25rem .5rem}.navbar:after{content:"";display:table;clear:both}@media (min-width:544px){.navbar{border-radius:.125rem}}.navbar-full{z-index:1000}@media (min-width:544px){.navbar-full{border-radius:0}}.navbar-fixed-bottom,.navbar-fixed-top{position:fixed;right:0;left:0;z-index:1030}@media (min-width:544px){.navbar-fixed-bottom,.navbar-fixed-top{border-radius:0}}.navbar-fixed-top{top:0}.navbar-fixed-bottom{bottom:0}.navbar-sticky-top{position:-webkit-sticky;position:sticky;top:0;z-index:1030;width:100%}@media (min-width:544px){.navbar-sticky-top{border-radius:0}}.navbar-brand{float:left;padding-top:.25rem;padding-bottom:.25rem;margin-right:1rem;font-size:1.25rem}.navbar-brand:focus,.navbar-brand:hover{text-decoration:none}.navbar-brand>img{display:block}.navbar-divider{float:left;width:1px;padding-top:.425rem;padding-bottom:.425rem;margin-right:.5rem;margin-left:.5rem;overflow:hidden}.navbar-divider:before{content:"\00a0"}.navbar-toggler{padding:.5rem .75rem;font-size:1.25rem;line-height:1;background:none;border:1px solid transparent;border-radius:.125rem}.navbar-toggler:focus,.navbar-toggler:hover{text-decoration:none}.navbar-nav .nav-item{float:left}.navbar-nav .nav-link{display:block;padding-top:.425rem;padding-bottom:.425rem}.navbar-nav .nav-item+.nav-item,.navbar-nav .nav-link+.nav-link{margin-left:1rem}.navbar-light .navbar-brand,.navbar-light .navbar-brand:focus,.navbar-light .navbar-brand:hover{color:rgba(0,0,0,.8)}.navbar-light .navbar-nav .nav-link{color:rgba(0,0,0,.3)}.navbar-light .navbar-nav .nav-link:focus,.navbar-light .navbar-nav .nav-link:hover{color:rgba(0,0,0,.6)}.navbar-light .navbar-nav .active>.nav-link,.navbar-light .navbar-nav .active>.nav-link:focus,.navbar-light .navbar-nav .active>.nav-link:hover,.navbar-light .navbar-nav .nav-link.active,.navbar-light .navbar-nav .nav-link.active:focus,.navbar-light .navbar-nav .nav-link.active:hover,.navbar-light .navbar-nav .nav-link.open,.navbar-light .navbar-nav .nav-link.open:focus,.navbar-light .navbar-nav .nav-link.open:hover,.navbar-light .navbar-nav .open>.nav-link,.navbar-light .navbar-nav .open>.nav-link:focus,.navbar-light .navbar-nav .open>.nav-link:hover{color:rgba(0,0,0,.8)}.navbar-light .navbar-divider{background-color:rgba(0,0,0,.075)}.navbar-dark .navbar-brand,.navbar-dark .navbar-brand:focus,.navbar-dark .navbar-brand:hover{color:#fff}.navbar-dark .navbar-nav .nav-link{color:hsla(0,0%,100%,.5)}.navbar-dark .navbar-nav .nav-link:focus,.navbar-dark .navbar-nav .nav-link:hover{color:hsla(0,0%,100%,.75)}.navbar-dark .navbar-nav .active>.nav-link,.navbar-dark .navbar-nav .active>.nav-link:focus,.navbar-dark .navbar-nav .active>.nav-link:hover,.navbar-dark .navbar-nav .nav-link.active,.navbar-dark .navbar-nav .nav-link.active:focus,.navbar-dark .navbar-nav .nav-link.active:hover,.navbar-dark .navbar-nav .nav-link.open,.navbar-dark .navbar-nav .nav-link.open:focus,.navbar-dark .navbar-nav .nav-link.open:hover,.navbar-dark .navbar-nav .open>.nav-link,.navbar-dark .navbar-nav .open>.nav-link:focus,.navbar-dark .navbar-nav .open>.nav-link:hover{color:#fff}.navbar-dark .navbar-divider{background-color:hsla(0,0%,100%,.075)}.navbar-toggleable-xs:after{content:"";display:table;clear:both}@media (max-width:543px){.navbar-toggleable-xs .navbar-nav .nav-item{float:none;margin-left:0}}@media (min-width:544px){.navbar-toggleable-xs{display:block!important}}.navbar-toggleable-sm:after{content:"";display:table;clear:both}@media (max-width:767px){.navbar-toggleable-sm .navbar-nav .nav-item{float:none;margin-left:0}}@media (min-width:768px){.navbar-toggleable-sm{display:block!important}}.navbar-toggleable-md:after{content:"";display:table;clear:both}@media (max-width:991px){.navbar-toggleable-md .navbar-nav .nav-item{float:none;margin-left:0}}@media (min-width:992px){.navbar-toggleable-md{display:block!important}}.card{position:relative;display:block;margin-bottom:.75rem;background-color:#fff;border-radius:.125rem;border:1px solid rgba(0,0,0,.12)}.card-block{padding:1.25rem}.card-block:after{content:"";display:table;clear:both}.card-title{margin-bottom:.75rem}.card-subtitle{margin-top:-.375rem}.card-subtitle,.card-text:last-child{margin-bottom:0}.card-link:hover{text-decoration:none}.card-link+.card-link{margin-left:1.25rem}.card>.list-group:first-child .list-group-item:first-child{border-top-right-radius:.125rem;border-top-left-radius:.125rem}.card>.list-group:last-child .list-group-item:last-child{border-bottom-right-radius:.125rem;border-bottom-left-radius:.125rem}.card-header{padding:.75rem 1.25rem;background-color:#fff;border-bottom:1px solid rgba(0,0,0,.12)}.card-header:after{content:"";display:table;clear:both}.card-header:first-child{border-radius:.125rem .125rem 0 0}.card-footer{padding:.75rem 1.25rem;background-color:#fff;border-top:1px solid rgba(0,0,0,.12)}.card-footer:after{content:"";display:table;clear:both}.card-footer:last-child{border-radius:0 0 .125rem .125rem}.card-header-tabs{margin-bottom:-.75rem;border-bottom:0}.card-header-pills,.card-header-tabs{margin-right:-.625rem;margin-left:-.625rem}.card-primary{background-color:#009688;border-color:#009688}.card-primary .card-footer,.card-primary .card-header{background-color:transparent}.card-success{background-color:#4caf50;border-color:#4caf50}.card-success .card-footer,.card-success .card-header{background-color:transparent}.card-info{background-color:#03a9f4;border-color:#03a9f4}.card-info .card-footer,.card-info .card-header{background-color:transparent}.card-warning{background-color:#ff5722;border-color:#ff5722}.card-warning .card-footer,.card-warning .card-header{background-color:transparent}.card-danger{background-color:#f44336;border-color:#f44336}.card-danger .card-footer,.card-danger .card-header,.card-outline-primary{background-color:transparent}.card-outline-primary{border-color:#009688}.card-outline-secondary{background-color:transparent;border-color:#ccc}.card-outline-info{background-color:transparent;border-color:#03a9f4}.card-outline-success{background-color:transparent;border-color:#4caf50}.card-outline-warning{background-color:transparent;border-color:#ff5722}.card-outline-danger{background-color:transparent;border-color:#f44336}.card-inverse .card-footer,.card-inverse .card-header{border-color:hsla(0,0%,100%,.2)}.card-inverse .card-blockquote,.card-inverse .card-footer,.card-inverse .card-header,.card-inverse .card-title{color:#fff}.card-inverse .card-blockquote .blockquote-footer,.card-inverse .card-link,.card-inverse .card-subtitle,.card-inverse .card-text{color:hsla(0,0%,100%,.65)}.card-inverse .card-link:focus,.card-inverse .card-link:hover{color:#fff}.card-blockquote{padding:0;margin-bottom:0;border-left:0}.card-img{border-radius:.25rem}.card-img-overlay{position:absolute;top:0;right:0;bottom:0;left:0;padding:1.25rem}.card-img-top{border-top-right-radius:.125rem;border-top-left-radius:.125rem}.card-img-bottom{border-bottom-right-radius:.125rem;border-bottom-left-radius:.125rem}@media (min-width:544px){.card-deck{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-flow:row wrap;flex-flow:row wrap;margin-right:-.625rem;margin-bottom:.75rem;margin-left:-.625rem}.card-deck .card{-webkit-box-flex:1;-ms-flex:1 0 0;flex:1 0 0;margin-right:.625rem;margin-bottom:0;margin-left:.625rem}}@media (min-width:544px){.card-group{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-flow:row wrap;flex-flow:row wrap}.card-group .card{-webkit-box-flex:1;-ms-flex:1 0 0;flex:1 0 0}.card-group .card+.card{margin-left:0;border-left:0}.card-group .card:first-child{border-bottom-right-radius:0;border-top-right-radius:0}.card-group .card:first-child .card-img-top{border-top-right-radius:0}.card-group .card:first-child .card-img-bottom{border-bottom-right-radius:0}.card-group .card:last-child{border-bottom-left-radius:0;border-top-left-radius:0}.card-group .card:last-child .card-img-top{border-top-left-radius:0}.card-group .card:last-child .card-img-bottom{border-bottom-left-radius:0}.card-group .card:not(:first-child):not(:last-child),.card-group .card:not(:first-child):not(:last-child) .card-img-bottom,.card-group .card:not(:first-child):not(:last-child) .card-img-top{border-radius:0}}@media (min-width:544px){.card-columns{-webkit-column-count:3;-moz-column-count:3;column-count:3;-webkit-column-gap:1.25rem;-moz-column-gap:1.25rem;column-gap:1.25rem}.card-columns .card{display:inline-block;width:100%}}.breadcrumb{padding:.75rem 1rem;margin-bottom:.5rem;list-style:none;background-color:rgba(0,0,0,.12);border-radius:.125rem}.breadcrumb:after{content:"";display:table;clear:both}.breadcrumb-item{float:left}.breadcrumb-item+.breadcrumb-item:before{display:inline-block;padding-right:.5rem;padding-left:.5rem;color:rgba(0,0,0,.26);content:"/"}.breadcrumb-item+.breadcrumb-item:hover:before{text-decoration:underline;text-decoration:none}.breadcrumb-item.active{color:rgba(0,0,0,.26)}.pagination{display:inline-block;padding-left:0;margin-top:.5rem;margin-bottom:.5rem;border-radius:.125rem}.page-item{display:inline}.page-item:first-child .page-link{margin-left:0;border-bottom-left-radius:.125rem;border-top-left-radius:.125rem}.page-item:last-child .page-link{border-bottom-right-radius:.125rem;border-top-right-radius:.125rem}.page-item.active .page-link,.page-item.active .page-link:focus,.page-item.active .page-link:hover{z-index:2;color:#fff;cursor:default;background-color:#009688;border-color:#009688}.page-item.disabled .page-link,.page-item.disabled .page-link:focus,.page-item.disabled .page-link:hover{color:rgba(0,0,0,.26);pointer-events:none;cursor:not-allowed;background-color:transparent;border-color:#ddd}.page-link{position:relative;float:left;padding:.5rem .75rem;margin-left:-1px;color:#009688;text-decoration:none;background-color:transparent;border:0 solid #ddd}.page-link:focus,.page-link:hover{color:#004a43;background-color:rgba(0,0,0,.12);border-color:#ddd}.pagination-lg .page-item:first-child .page-link{border-bottom-left-radius:.3rem;border-top-left-radius:.3rem}.pagination-lg .page-item:last-child .page-link{border-bottom-right-radius:.3rem;border-top-right-radius:.3rem}.pagination-sm .page-item:first-child .page-link{border-bottom-left-radius:.0625rem;border-top-left-radius:.0625rem}.pagination-sm .page-item:last-child .page-link{border-bottom-right-radius:.0625rem;border-top-right-radius:.0625rem}.tag{display:inline-block;padding:.25em .4em;font-size:75%;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.125rem}.tag:empty{display:none}.btn .tag,.custom-file-control:before .tag{position:relative;top:-1px}a.tag:focus,a.tag:hover{color:#fff;text-decoration:none;cursor:pointer}.tag-pill{padding-right:.6em;padding-left:.6em;border-radius:10rem}.tag-default,.tag-default[href]:focus,.tag-default[href]:hover{background-color:rgba(0,0,0,.26)}.tag-primary{background-color:#009688}.tag-primary[href]:focus,.tag-primary[href]:hover{background-color:#00635a}.tag-success{background-color:#4caf50}.tag-success[href]:focus,.tag-success[href]:hover{background-color:#3d8b40}.tag-info{background-color:#03a9f4}.tag-info[href]:focus,.tag-info[href]:hover{background-color:#0286c2}.tag-warning{background-color:#ff5722}.tag-warning[href]:focus,.tag-warning[href]:hover{background-color:#ee3900}.tag-danger{background-color:#f44336}.tag-danger[href]:focus,.tag-danger[href]:hover{background-color:#ea1c0d}.jumbotron{padding:2rem 1rem;margin-bottom:2rem;background-color:rgba(0,0,0,.12);border-radius:.3rem}@media (min-width:544px){.jumbotron{padding:4rem 2rem}}.jumbotron-hr{border-top-color:rgba(0,0,0,.12)}.jumbotron-fluid{padding-right:0;padding-left:0;border-radius:0}.alert{padding:15px;margin-bottom:.5rem;border:1px solid transparent;border-radius:.125rem}.alert-heading{color:inherit}.alert-link{font-weight:700}.alert-dismissible{padding-right:35px}.alert-dismissible .close{position:relative;top:-2px;right:-21px;color:inherit}.alert-success{background-color:#4caf50;border-color:#449d48;color:#fff}.alert-success hr{border-top-color:#3d8b40}.alert-success .alert-link{color:#e6e6e6}.alert-info{background-color:#03a9f4;border-color:#0391d1;color:#fff}.alert-info hr{border-top-color:#027fb8}.alert-info .alert-link{color:#e6e6e6}.alert-warning{background-color:#ff5722;border-color:#ff4409;color:#fff}.alert-warning hr{border-top-color:#ee3900}.alert-warning .alert-link{color:#e6e6e6}.alert-danger{background-color:#f44336;border-color:#f32c1e;color:#fff}.alert-danger hr{border-top-color:#ea1c0d}.alert-danger .alert-link{color:#e6e6e6}@-webkit-keyframes a{0%{background-position:.5rem 0}to{background-position:0 0}}@keyframes a{0%{background-position:.5rem 0}to{background-position:0 0}}.progress{display:block;width:100%;height:.5rem;margin-bottom:.5rem}.progress[value]{background-color:#eee;border:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:.125rem}.progress[value]::-ms-fill{background-color:#0074d9;border:0}.progress[value]::-moz-progress-bar{background-color:#0074d9;border-bottom-left-radius:.125rem;border-top-left-radius:.125rem}.progress[value]::-webkit-progress-value{background-color:#0074d9;border-bottom-left-radius:.125rem;border-top-left-radius:.125rem}.progress[value="100"]::-moz-progress-bar{border-bottom-right-radius:.125rem;border-top-right-radius:.125rem}.progress[value="100"]::-webkit-progress-value{border-bottom-right-radius:.125rem;border-top-right-radius:.125rem}.progress[value]::-webkit-progress-bar{background-color:#eee;border-radius:.125rem;box-shadow:inset 0 .1rem .1rem rgba(0,0,0,.1)}.progress[value],base::-moz-progress-bar{background-color:#eee;border-radius:.125rem;box-shadow:inset 0 .1rem .1rem rgba(0,0,0,.1)}@media screen and (min-width:0\0){.progress{background-color:#eee;border-radius:.125rem;box-shadow:inset 0 .1rem .1rem rgba(0,0,0,.1)}.progress-bar{display:inline-block;height:.5rem;text-indent:-999rem;background-color:#0074d9;border-bottom-left-radius:.125rem;border-top-left-radius:.125rem}.progress[width="100%"]{border-bottom-right-radius:.125rem;border-top-right-radius:.125rem}}.progress-striped[value]::-webkit-progress-value{background-image:-webkit-linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);background-size:.5rem .5rem}.progress-striped[value]::-moz-progress-bar{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);background-size:.5rem .5rem}.progress-striped[value]::-ms-fill{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);background-size:.5rem .5rem}@media screen and (min-width:0\0){.progress-bar-striped{background-image:-webkit-linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);background-size:.5rem .5rem}}.progress-animated[value]::-webkit-progress-value{-webkit-animation:a 2s linear infinite;animation:a 2s linear infinite}.progress-animated[value]::-moz-progress-bar{animation:a 2s linear infinite}@media screen and (min-width:0\0){.progress-animated .progress-bar-striped{-webkit-animation:a 2s linear infinite;animation:a 2s linear infinite}}.progress-success[value]::-webkit-progress-value{background-color:#4caf50}.progress-success[value]::-moz-progress-bar{background-color:#4caf50}.progress-success[value]::-ms-fill{background-color:#4caf50}@media screen and (min-width:0\0){.progress-success .progress-bar{background-color:#4caf50}}.progress-info[value]::-webkit-progress-value{background-color:#03a9f4}.progress-info[value]::-moz-progress-bar{background-color:#03a9f4}.progress-info[value]::-ms-fill{background-color:#03a9f4}@media screen and (min-width:0\0){.progress-info .progress-bar{background-color:#03a9f4}}.progress-warning[value]::-webkit-progress-value{background-color:#ff5722}.progress-warning[value]::-moz-progress-bar{background-color:#ff5722}.progress-warning[value]::-ms-fill{background-color:#ff5722}@media screen and (min-width:0\0){.progress-warning .progress-bar{background-color:#ff5722}}.progress-danger[value]::-webkit-progress-value{background-color:#f44336}.progress-danger[value]::-moz-progress-bar{background-color:#f44336}.progress-danger[value]::-ms-fill{background-color:#f44336}@media screen and (min-width:0\0){.progress-danger .progress-bar{background-color:#f44336}}.media{display:-webkit-box;display:-ms-flexbox;display:flex;margin-bottom:.5rem}.media-body{-webkit-box-flex:1;-ms-flex:1;flex:1}.media-middle{-ms-flex-item-align:center;align-self:center}.media-bottom{-ms-flex-item-align:end;align-self:flex-end}.media-object{display:block}.media-object.img-thumbnail{max-width:none}.media-right{padding-left:10px}.media-left{padding-right:10px}.media-heading{margin-top:0;margin-bottom:5px}.media-list{padding-left:0;list-style:none}.list-group{padding-left:0;margin-bottom:0}.list-group-item{position:relative;display:block;padding:.75rem 1.25rem;margin-bottom:0;background-color:inherit;border:0 solid #ddd}.list-group-item:first-child{border-top-right-radius:0;border-top-left-radius:0}.list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:0;border-bottom-left-radius:0}.list-group-item.disabled,.list-group-item.disabled:focus,.list-group-item.disabled:hover{color:rgba(0,0,0,.26);cursor:not-allowed;background-color:rgba(0,0,0,.12)}.list-group-item.disabled .list-group-item-heading,.list-group-item.disabled:focus .list-group-item-heading,.list-group-item.disabled:hover .list-group-item-heading{color:inherit}.list-group-item.disabled .list-group-item-text,.list-group-item.disabled:focus .list-group-item-text,.list-group-item.disabled:hover .list-group-item-text{color:rgba(0,0,0,.26)}.list-group-item.active,.list-group-item.active:focus,.list-group-item.active:hover{z-index:2;color:#fff;text-decoration:none;background-color:#009688;border-color:#009688}.list-group-item.active .list-group-item-heading,.list-group-item.active .list-group-item-heading>.small,.list-group-item.active .list-group-item-heading>small,.list-group-item.active:focus .list-group-item-heading,.list-group-item.active:focus .list-group-item-heading>.small,.list-group-item.active:focus .list-group-item-heading>small,.list-group-item.active:hover .list-group-item-heading,.list-group-item.active:hover .list-group-item-heading>.small,.list-group-item.active:hover .list-group-item-heading>small{color:inherit}.list-group-item.active .list-group-item-text,.list-group-item.active:focus .list-group-item-text,.list-group-item.active:hover .list-group-item-text{color:#63fff0}.list-group-flush .list-group-item{border-radius:0}.list-group-item-action{width:100%;color:#555;text-align:inherit}.list-group-item-action .list-group-item-heading{color:#333}.list-group-item-action:focus,.list-group-item-action:hover{color:#555;text-decoration:none;background-color:#f5f5f5}.list-group-item-success{color:#fff;background-color:#4caf50}a.list-group-item-success,button.list-group-item-success{color:#fff}a.list-group-item-success .list-group-item-heading,button.list-group-item-success .list-group-item-heading{color:inherit}a.list-group-item-success:focus,a.list-group-item-success:hover,button.list-group-item-success:focus,button.list-group-item-success:hover{color:#fff;background-color:#449d48}a.list-group-item-success.active,a.list-group-item-success.active:focus,a.list-group-item-success.active:hover,button.list-group-item-success.active,button.list-group-item-success.active:focus,button.list-group-item-success.active:hover{color:#fff;background-color:#fff;border-color:#fff}.list-group-item-info{color:#fff;background-color:#03a9f4}a.list-group-item-info,button.list-group-item-info{color:#fff}a.list-group-item-info .list-group-item-heading,button.list-group-item-info .list-group-item-heading{color:inherit}a.list-group-item-info:focus,a.list-group-item-info:hover,button.list-group-item-info:focus,button.list-group-item-info:hover{color:#fff;background-color:#0398db}a.list-group-item-info.active,a.list-group-item-info.active:focus,a.list-group-item-info.active:hover,button.list-group-item-info.active,button.list-group-item-info.active:focus,button.list-group-item-info.active:hover{color:#fff;background-color:#fff;border-color:#fff}.list-group-item-warning{color:#fff;background-color:#ff5722}a.list-group-item-warning,button.list-group-item-warning{color:#fff}a.list-group-item-warning .list-group-item-heading,button.list-group-item-warning .list-group-item-heading{color:inherit}a.list-group-item-warning:focus,a.list-group-item-warning:hover,button.list-group-item-warning:focus,button.list-group-item-warning:hover{color:#fff;background-color:#ff4409}a.list-group-item-warning.active,a.list-group-item-warning.active:focus,a.list-group-item-warning.active:hover,button.list-group-item-warning.active,button.list-group-item-warning.active:focus,button.list-group-item-warning.active:hover{color:#fff;background-color:#fff;border-color:#fff}.list-group-item-danger{color:#fff;background-color:#f44336}a.list-group-item-danger,button.list-group-item-danger{color:#fff}a.list-group-item-danger .list-group-item-heading,button.list-group-item-danger .list-group-item-heading{color:inherit}a.list-group-item-danger:focus,a.list-group-item-danger:hover,button.list-group-item-danger:focus,button.list-group-item-danger:hover{color:#fff;background-color:#f32c1e}a.list-group-item-danger.active,a.list-group-item-danger.active:focus,a.list-group-item-danger.active:hover,button.list-group-item-danger.active,button.list-group-item-danger.active:focus,button.list-group-item-danger.active:hover{color:#fff;background-color:#fff;border-color:#fff}.list-group-item-heading{margin-top:0;margin-bottom:5px}.list-group-item-text{margin-bottom:0;line-height:1.3}.embed-responsive{position:relative;display:block;height:0;padding:0;overflow:hidden}.embed-responsive .embed-responsive-item,.embed-responsive embed,.embed-responsive iframe,.embed-responsive object,.embed-responsive video{position:absolute;top:0;bottom:0;left:0;width:100%;height:100%;border:0}.embed-responsive-21by9{padding-bottom:42.85714%}.embed-responsive-16by9{padding-bottom:56.25%}.embed-responsive-4by3{padding-bottom:75%}.embed-responsive-1by1{padding-bottom:100%}.close{float:right;font-size:1.5rem;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;opacity:.2}.close:focus,.close:hover{color:#000;text-decoration:none;cursor:pointer;opacity:.5}button.close{padding:0;cursor:pointer;background:transparent;border:0;-webkit-appearance:none}.modal,.modal-open{overflow:hidden}.modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1050;display:none;outline:0;-webkit-overflow-scrolling:touch}.modal.fade .modal-dialog{-webkit-transition:-webkit-transform .3s ease-out;transition:-webkit-transform .3s ease-out;transition:transform .3s ease-out;transition:transform .3s ease-out,-webkit-transform .3s ease-out;-webkit-transform:translateY(-25%);transform:translateY(-25%)}.modal.in .modal-dialog{-webkit-transform:translate(0);transform:translate(0)}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal-dialog{position:relative;width:auto;margin:10px}.modal-content{position:relative;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:.3rem;box-shadow:0 9px 46px 8px rgba(0,0,0,.14),0 11px 15px -7px rgba(0,0,0,.12),0 24px 38px 3px rgba(0,0,0,.2);outline:0}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;background-color:#000}.modal-backdrop.fade{opacity:0}.modal-backdrop.in{opacity:.26}.modal-header{padding:15px;border-bottom:1px solid #e5e5e5}.modal-header:after{content:"";display:table;clear:both}.modal-header .close{margin-top:-2px}.modal-title{margin:0;line-height:1.5}.modal-body{position:relative;padding:15px}.modal-footer{padding:15px;text-align:right;border-top:1px solid #e5e5e5}.modal-footer:after{content:"";display:table;clear:both}.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media (min-width:544px){.modal-dialog{max-width:600px;margin:30px auto}.modal-content{box-shadow:0 5px 15px rgba(0,0,0,.5)}.modal-sm{max-width:300px}}@media (min-width:992px){.modal-lg{max-width:900px}}.tooltip{position:absolute;z-index:1070;display:block;font-family:Roboto,Helvetica,Arial,sans-serif;font-style:normal;font-weight:400;letter-spacing:normal;line-break:auto;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;white-space:normal;word-break:normal;word-spacing:normal;font-size:.875rem;word-wrap:break-word;opacity:0}.tooltip.in{opacity:.9}.tooltip.bs-tether-element-attached-bottom,.tooltip.tooltip-top{padding:5px 0;margin-top:-3px}.tooltip.bs-tether-element-attached-bottom .tooltip-arrow,.tooltip.tooltip-top .tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.bs-tether-element-attached-left,.tooltip.tooltip-right{padding:0 5px;margin-left:3px}.tooltip.bs-tether-element-attached-left .tooltip-arrow,.tooltip.tooltip-right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.tooltip.bs-tether-element-attached-top,.tooltip.tooltip-bottom{padding:5px 0;margin-top:3px}.tooltip.bs-tether-element-attached-top .tooltip-arrow,.tooltip.tooltip-bottom .tooltip-arrow{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bs-tether-element-attached-right,.tooltip.tooltip-left{padding:0 5px;margin-left:-3px}.tooltip.bs-tether-element-attached-right .tooltip-arrow,.tooltip.tooltip-left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.tooltip-inner{max-width:200px;padding:3px 8px;color:#fff;text-align:center;background-color:#000;border-radius:.125rem}.tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.popover{position:absolute;top:0;left:0;z-index:1060;display:block;max-width:276px;padding:1px;font-family:Roboto,Helvetica,Arial,sans-serif;font-style:normal;font-weight:400;letter-spacing:normal;line-break:auto;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;white-space:normal;word-break:normal;word-spacing:normal;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;box-shadow:0 5px 10px rgba(0,0,0,.2)}.popover.bs-tether-element-attached-bottom,.popover.popover-top{margin-top:-10px}.popover.bs-tether-element-attached-bottom .popover-arrow,.popover.popover-top .popover-arrow{bottom:-11px;left:50%;margin-left:-11px;border-top-color:rgba(0,0,0,.25);border-bottom-width:0}.popover.bs-tether-element-attached-bottom .popover-arrow:after,.popover.popover-top .popover-arrow:after{bottom:1px;margin-left:-10px;content:"";border-top-color:#fff;border-bottom-width:0}.popover.bs-tether-element-attached-left,.popover.popover-right{margin-left:10px}.popover.bs-tether-element-attached-left .popover-arrow,.popover.popover-right .popover-arrow{top:50%;left:-11px;margin-top:-11px;border-right-color:rgba(0,0,0,.25);border-left-width:0}.popover.bs-tether-element-attached-left .popover-arrow:after,.popover.popover-right .popover-arrow:after{bottom:-10px;left:1px;content:"";border-right-color:#fff;border-left-width:0}.popover.bs-tether-element-attached-top,.popover.popover-bottom{margin-top:10px}.popover.bs-tether-element-attached-top .popover-arrow,.popover.popover-bottom .popover-arrow{top:-11px;left:50%;margin-left:-11px;border-top-width:0;border-bottom-color:rgba(0,0,0,.25)}.popover.bs-tether-element-attached-top .popover-arrow:after,.popover.popover-bottom .popover-arrow:after{top:1px;margin-left:-10px;content:"";border-top-width:0;border-bottom-color:#fff}.popover.bs-tether-element-attached-right,.popover.popover-left{margin-left:-10px}.popover.bs-tether-element-attached-right .popover-arrow,.popover.popover-left .popover-arrow{top:50%;right:-11px;margin-top:-11px;border-right-width:0;border-left-color:rgba(0,0,0,.25)}.popover.bs-tether-element-attached-right .popover-arrow:after,.popover.popover-left .popover-arrow:after{right:1px;bottom:-10px;content:"";border-right-width:0;border-left-color:#fff}.popover-title{padding:8px 14px;margin:0;font-size:1rem;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-radius:.2375rem .2375rem 0 0}.popover-title:empty{display:none}.popover-content{padding:9px 14px}.popover-arrow,.popover-arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.popover-arrow{border-width:11px}.popover-arrow:after{content:"";border-width:10px}.carousel,.carousel-inner{position:relative}.carousel-inner{width:100%;overflow:hidden}.carousel-inner>.carousel-item{position:relative;display:none;-webkit-transition:left .6s ease-in-out;transition:left .6s ease-in-out}.carousel-inner>.carousel-item>a>img,.carousel-inner>.carousel-item>img{line-height:1}@media (-webkit-transform-3d),all and (transform-3d){.carousel-inner>.carousel-item{-webkit-transition:-webkit-transform .6s ease-in-out;transition:-webkit-transform .6s ease-in-out;transition:transform .6s ease-in-out;transition:transform .6s ease-in-out,-webkit-transform .6s ease-in-out;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-perspective:1000px;perspective:1000px}.carousel-inner>.carousel-item.active.right,.carousel-inner>.carousel-item.next{left:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}.carousel-inner>.carousel-item.active.left,.carousel-inner>.carousel-item.prev{left:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}.carousel-inner>.carousel-item.active,.carousel-inner>.carousel-item.next.left,.carousel-inner>.carousel-item.prev.right{left:0;-webkit-transform:translateZ(0);transform:translateZ(0)}}.carousel-inner>.active,.carousel-inner>.next,.carousel-inner>.prev{display:block}.carousel-inner>.active{left:0}.carousel-inner>.next,.carousel-inner>.prev{position:absolute;top:0;width:100%}.carousel-inner>.next{left:100%}.carousel-inner>.prev{left:-100%}.carousel-inner>.next.left,.carousel-inner>.prev.right{left:0}.carousel-inner>.active.left{left:-100%}.carousel-inner>.active.right{left:100%}.carousel-control{position:absolute;top:0;bottom:0;left:0;width:15%;font-size:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6);opacity:.5}.carousel-control.left{background-image:-webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.5)),to(rgba(0,0,0,.0001)));background-image:-webkit-linear-gradient(left,rgba(0,0,0,.5),rgba(0,0,0,.0001));background-image:linear-gradient(90deg,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001));background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000',endColorstr='#00000000',GradientType=1)}.carousel-control.right{right:0;left:auto;background-image:-webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.0001)),to(rgba(0,0,0,.5)));background-image:-webkit-linear-gradient(left,rgba(0,0,0,.0001),rgba(0,0,0,.5));background-image:linear-gradient(90deg,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5));background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000',endColorstr='#80000000',GradientType=1)}.carousel-control:focus,.carousel-control:hover{color:#fff;text-decoration:none;outline:0;opacity:.9}.carousel-control .icon-next,.carousel-control .icon-prev{position:absolute;top:50%;z-index:5;display:inline-block;width:20px;height:20px;margin-top:-10px;font-family:serif;line-height:1}.carousel-control .icon-prev{left:50%;margin-left:-10px}.carousel-control .icon-next{right:50%;margin-right:-10px}.carousel-control .icon-prev:before{content:"\2039"}.carousel-control .icon-next:before{content:"\203a"}.carousel-indicators{position:absolute;bottom:10px;left:50%;z-index:15;width:60%;padding-left:0;margin-left:-30%;text-align:center;list-style:none}.carousel-indicators li{display:inline-block;width:10px;height:10px;margin:1px;text-indent:-999px;cursor:pointer;background-color:transparent;border:1px solid #fff;border-radius:10px}.carousel-indicators .active{width:12px;height:12px;margin:0;background-color:#fff}.carousel-caption{position:absolute;right:15%;bottom:20px;left:15%;z-index:10;padding-top:20px;padding-bottom:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6)}.carousel-caption .btn,.carousel-caption .custom-file-control:before{text-shadow:none}@media (min-width:544px){.carousel-control .icon-next,.carousel-control .icon-prev{width:30px;height:30px;margin-top:-15px;font-size:30px}.carousel-control .icon-prev{margin-left:-15px}.carousel-control .icon-next{margin-right:-15px}.carousel-caption{right:20%;left:20%;padding-bottom:30px}.carousel-indicators{bottom:20px}}.bg-faded{background-color:#f7f7f9}.bg-primary{color:#fff!important;background-color:#009688!important}a.bg-primary:focus,a.bg-primary:hover{background-color:#00635a!important}.bg-success{color:#fff!important;background-color:#4caf50!important}a.bg-success:focus,a.bg-success:hover{background-color:#3d8b40!important}.bg-info{color:#fff!important;background-color:#03a9f4!important}a.bg-info:focus,a.bg-info:hover{background-color:#0286c2!important}.bg-warning{color:#fff!important;background-color:#ff5722!important}a.bg-warning:focus,a.bg-warning:hover{background-color:#ee3900!important}.bg-danger{color:#fff!important;background-color:#f44336!important}a.bg-danger:focus,a.bg-danger:hover{background-color:#ea1c0d!important}.bg-inverse{color:#fff!important}.bg-inverse,a.bg-inverse:focus,a.bg-inverse:hover{background-color:rgba(0,0,0,.87)!important}.clearfix:after{content:"";display:table;clear:both}.d-block{display:block!important}.d-inline-block{display:inline-block!important}.d-inline{display:inline!important}.flex-xs-first{-webkit-box-ordinal-group:0;-ms-flex-order:-1;order:-1}.flex-xs-last{-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}.flex-xs-unordered{-webkit-box-ordinal-group:1;-ms-flex-order:0;order:0}.flex-items-xs-top{-webkit-box-align:start;-ms-flex-align:start;-ms-grid-row-align:flex-start;align-items:flex-start}.flex-items-xs-middle{-webkit-box-align:center;-ms-flex-align:center;-ms-grid-row-align:center;align-items:center}.flex-items-xs-bottom{-webkit-box-align:end;-ms-flex-align:end;-ms-grid-row-align:flex-end;align-items:flex-end}.flex-xs-top{-ms-flex-item-align:start;align-self:flex-start}.flex-xs-middle{-ms-flex-item-align:center;align-self:center}.flex-xs-bottom{-ms-flex-item-align:end;align-self:flex-end}.flex-items-xs-left{-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.flex-items-xs-center{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.flex-items-xs-right{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.flex-items-xs-around{-ms-flex-pack:distribute;justify-content:space-around}.flex-items-xs-between{-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}@media (min-width:544px){.flex-sm-first{-webkit-box-ordinal-group:0;-ms-flex-order:-1;order:-1}.flex-sm-last{-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}.flex-sm-unordered{-webkit-box-ordinal-group:1;-ms-flex-order:0;order:0}}@media (min-width:544px){.flex-items-sm-top{-webkit-box-align:start;-ms-flex-align:start;-ms-grid-row-align:flex-start;align-items:flex-start}.flex-items-sm-middle{-webkit-box-align:center;-ms-flex-align:center;-ms-grid-row-align:center;align-items:center}.flex-items-sm-bottom{-webkit-box-align:end;-ms-flex-align:end;-ms-grid-row-align:flex-end;align-items:flex-end}}@media (min-width:544px){.flex-sm-top{-ms-flex-item-align:start;align-self:flex-start}.flex-sm-middle{-ms-flex-item-align:center;align-self:center}.flex-sm-bottom{-ms-flex-item-align:end;align-self:flex-end}}@media (min-width:544px){.flex-items-sm-left{-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.flex-items-sm-center{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.flex-items-sm-right{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.flex-items-sm-around{-ms-flex-pack:distribute;justify-content:space-around}.flex-items-sm-between{-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}}@media (min-width:768px){.flex-md-first{-webkit-box-ordinal-group:0;-ms-flex-order:-1;order:-1}.flex-md-last{-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}.flex-md-unordered{-webkit-box-ordinal-group:1;-ms-flex-order:0;order:0}}@media (min-width:768px){.flex-items-md-top{-webkit-box-align:start;-ms-flex-align:start;-ms-grid-row-align:flex-start;align-items:flex-start}.flex-items-md-middle{-webkit-box-align:center;-ms-flex-align:center;-ms-grid-row-align:center;align-items:center}.flex-items-md-bottom{-webkit-box-align:end;-ms-flex-align:end;-ms-grid-row-align:flex-end;align-items:flex-end}}@media (min-width:768px){.flex-md-top{-ms-flex-item-align:start;align-self:flex-start}.flex-md-middle{-ms-flex-item-align:center;align-self:center}.flex-md-bottom{-ms-flex-item-align:end;align-self:flex-end}}@media (min-width:768px){.flex-items-md-left{-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.flex-items-md-center{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.flex-items-md-right{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.flex-items-md-around{-ms-flex-pack:distribute;justify-content:space-around}.flex-items-md-between{-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}}@media (min-width:992px){.flex-lg-first{-webkit-box-ordinal-group:0;-ms-flex-order:-1;order:-1}.flex-lg-last{-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}.flex-lg-unordered{-webkit-box-ordinal-group:1;-ms-flex-order:0;order:0}}@media (min-width:992px){.flex-items-lg-top{-webkit-box-align:start;-ms-flex-align:start;-ms-grid-row-align:flex-start;align-items:flex-start}.flex-items-lg-middle{-webkit-box-align:center;-ms-flex-align:center;-ms-grid-row-align:center;align-items:center}.flex-items-lg-bottom{-webkit-box-align:end;-ms-flex-align:end;-ms-grid-row-align:flex-end;align-items:flex-end}}@media (min-width:992px){.flex-lg-top{-ms-flex-item-align:start;align-self:flex-start}.flex-lg-middle{-ms-flex-item-align:center;align-self:center}.flex-lg-bottom{-ms-flex-item-align:end;align-self:flex-end}}@media (min-width:992px){.flex-items-lg-left{-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.flex-items-lg-center{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.flex-items-lg-right{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.flex-items-lg-around{-ms-flex-pack:distribute;justify-content:space-around}.flex-items-lg-between{-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}}@media (min-width:1200px){.flex-xl-first{-webkit-box-ordinal-group:0;-ms-flex-order:-1;order:-1}.flex-xl-last{-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}.flex-xl-unordered{-webkit-box-ordinal-group:1;-ms-flex-order:0;order:0}}@media (min-width:1200px){.flex-items-xl-top{-webkit-box-align:start;-ms-flex-align:start;-ms-grid-row-align:flex-start;align-items:flex-start}.flex-items-xl-middle{-webkit-box-align:center;-ms-flex-align:center;-ms-grid-row-align:center;align-items:center}.flex-items-xl-bottom{-webkit-box-align:end;-ms-flex-align:end;-ms-grid-row-align:flex-end;align-items:flex-end}}@media (min-width:1200px){.flex-xl-top{-ms-flex-item-align:start;align-self:flex-start}.flex-xl-middle{-ms-flex-item-align:center;align-self:center}.flex-xl-bottom{-ms-flex-item-align:end;align-self:flex-end}}@media (min-width:1200px){.flex-items-xl-left{-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.flex-items-xl-center{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.flex-items-xl-right{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.flex-items-xl-around{-ms-flex-pack:distribute;justify-content:space-around}.flex-items-xl-between{-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}}.pull-xs-left{float:left!important;margin-right:auto}.pull-xs-right{float:right!important;margin-left:auto}.pull-xs-none{float:none!important}@media (min-width:544px){.pull-sm-left{float:left!important;margin-right:auto}.pull-sm-right{float:right!important;margin-left:auto}.pull-sm-none{float:none!important}}@media (min-width:768px){.pull-md-left{float:left!important;margin-right:auto}.pull-md-right{float:right!important;margin-left:auto}.pull-md-none{float:none!important}}@media (min-width:992px){.pull-lg-left{float:left!important;margin-right:auto}.pull-lg-right{float:right!important;margin-left:auto}.pull-lg-none{float:none!important}}@media (min-width:1200px){.pull-xl-left{float:left!important;margin-right:auto}.pull-xl-right{float:right!important;margin-left:auto}.pull-xl-none{float:none!important}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}.w-100{width:100%!important}.m-x-auto{margin-right:auto!important;margin-left:auto!important}.m-a-0{margin:0!important}.m-t-0{margin-top:0!important}.m-r-0{margin-right:0!important}.m-b-0{margin-bottom:0!important}.m-l-0,.m-x-0{margin-left:0!important}.m-x-0{margin-right:0!important}.m-y-0{margin-top:0!important;margin-bottom:0!important}.m-a-1{margin:.5rem!important}.m-t-1{margin-top:.5rem!important}.m-r-1{margin-right:.5rem!important}.m-b-1{margin-bottom:.5rem!important}.m-l-1,.m-x-1{margin-left:.5rem!important}.m-x-1{margin-right:.5rem!important}.m-y-1{margin-top:.5rem!important;margin-bottom:.5rem!important}.m-a-2{margin:.75rem!important}.m-t-2{margin-top:.75rem!important}.m-r-2{margin-right:.75rem!important}.m-b-2{margin-bottom:.75rem!important}.m-l-2,.m-x-2{margin-left:.75rem!important}.m-x-2{margin-right:.75rem!important}.m-y-2{margin-top:.75rem!important;margin-bottom:.75rem!important}.m-a-3{margin:1.5rem!important}.m-t-3{margin-top:1.5rem!important}.m-r-3{margin-right:1.5rem!important}.m-b-3{margin-bottom:1.5rem!important}.m-l-3,.m-x-3{margin-left:1.5rem!important}.m-x-3{margin-right:1.5rem!important}.m-y-3{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.p-a-0{padding:0!important}.p-t-0{padding-top:0!important}.p-r-0{padding-right:0!important}.p-b-0{padding-bottom:0!important}.p-l-0,.p-x-0{padding-left:0!important}.p-x-0{padding-right:0!important}.p-y-0{padding-top:0!important;padding-bottom:0!important}.p-a-1{padding:.5rem!important}.p-t-1{padding-top:.5rem!important}.p-r-1{padding-right:.5rem!important}.p-b-1{padding-bottom:.5rem!important}.p-l-1,.p-x-1{padding-left:.5rem!important}.p-x-1{padding-right:.5rem!important}.p-y-1{padding-top:.5rem!important;padding-bottom:.5rem!important}.p-a-2{padding:.75rem!important}.p-t-2{padding-top:.75rem!important}.p-r-2{padding-right:.75rem!important}.p-b-2{padding-bottom:.75rem!important}.p-l-2,.p-x-2{padding-left:.75rem!important}.p-x-2{padding-right:.75rem!important}.p-y-2{padding-top:.75rem!important;padding-bottom:.75rem!important}.p-a-3{padding:1.5rem!important}.p-t-3{padding-top:1.5rem!important}.p-r-3{padding-right:1.5rem!important}.p-b-3{padding-bottom:1.5rem!important}.p-l-3,.p-x-3{padding-left:1.5rem!important}.p-x-3{padding-right:1.5rem!important}.p-y-3{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.pos-f-t{position:fixed;top:0;right:0;left:0;z-index:1030}.text-justify{text-align:justify!important}.text-nowrap{white-space:nowrap!important}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text-xs-left{text-align:left!important}.text-xs-right{text-align:right!important}.text-xs-center{text-align:center!important}@media (min-width:544px){.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){.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){.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){.text-xl-left{text-align:left!important}.text-xl-right{text-align:right!important}.text-xl-center{text-align:center!important}}.text-lowercase{text-transform:lowercase!important}.text-uppercase{text-transform:uppercase!important}.text-capitalize{text-transform:capitalize!important}.font-weight-normal{font-weight:400}.font-weight-bold{font-weight:700}.font-italic{font-style:italic}.bmd-help,.text-muted{color:rgba(0,0,0,.26)!important}a.bmd-help:focus,a.bmd-help:hover,a.text-muted:focus,a.text-muted:hover{color:rgba(0,0,0,.26)}.text-primary{color:#009688!important}a.text-primary:focus,a.text-primary:hover{color:#00635a}.text-success{color:#4caf50!important}a.text-success:focus,a.text-success:hover{color:#3d8b40}.text-info{color:#03a9f4!important}a.text-info:focus,a.text-info:hover{color:#0286c2}.text-warning{color:#ff5722!important}a.text-warning:focus,a.text-warning:hover{color:#ee3900}.text-danger{color:#f44336!important}a.text-danger:focus,a.text-danger:hover{color:#ea1c0d}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.invisible{visibility:hidden!important}.hidden-xs-up{display:none!important}@media (max-width:543px){.hidden-xs-down{display:none!important}}@media (min-width:544px){.hidden-sm-up{display:none!important}}@media (max-width:767px){.hidden-sm-down{display:none!important}}@media (min-width:768px){.hidden-md-up{display:none!important}}@media (max-width:991px){.hidden-md-down{display:none!important}}@media (min-width:992px){.hidden-lg-up{display:none!important}}@media (max-width:1199px){.hidden-lg-down{display:none!important}}@media (min-width:1200px){.hidden-xl-up{display:none!important}}.hidden-xl-down,.visible-print-block{display:none!important}@media print{.visible-print-block{display:block!important}}.visible-print-inline{display:none!important}@media print{.visible-print-inline{display:inline!important}}.visible-print-inline-block{display:none!important}@media print{.visible-print-inline-block{display:inline-block!important}}@media print{.hidden-print{display:none!important}}body{font-weight:400}a:focus,button:focus{outline:none}.bmd-layout-canvas{position:absolute;width:100%;height:100%}.bmd-layout-container{position:relative;height:100%;overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch}.bmd-layout-container,.bmd-layout-header{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;width:100%}.bmd-layout-header{z-index:3;-ms-flex-wrap:nowrap;flex-wrap:nowrap;-ms-flex-negative:0;flex-shrink:0;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start;max-height:1000px;-webkit-transform:translateZ(0);transform:translateZ(0)}.bmd-layout-content,.bmd-layout-header{-webkit-transition-duration:.2s;transition-duration:.2s;-webkit-transition-timing-function:cubic-bezier(.4,0,.2,1);transition-timing-function:cubic-bezier(.4,0,.2,1)}.bmd-layout-content{position:relative;z-index:1;display:inline-block;overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch}.bmd-layout-content,.bmd-layout-spacer{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1}.bmd-layout-backdrop{position:absolute;top:0;left:0;z-index:4;width:100%;height:100%;visibility:hidden;background-color:transparent;-webkit-transition-property:background-color;transition-property:background-color;-webkit-transition-duration:.2s;transition-duration:.2s;-webkit-transition-timing-function:cubic-bezier(.4,0,.2,1);transition-timing-function:cubic-bezier(.4,0,.2,1)}@supports (pointer-events:auto){.bmd-layout-backdrop{background-color:rgba(0,0,0,.5);opacity:0;-webkit-transition-property:opacity;transition-property:opacity;visibility:visible;pointer-events:none}}.btn,.custom-file-control:before{position:relative;margin-bottom:.3125rem;font-size:.875rem;text-decoration:none;text-transform:uppercase;letter-spacing:0;cursor:pointer;background-color:transparent;border:0;outline:0;-webkit-transition:background-color .2s cubic-bezier(.4,0,.2,1),color .2s cubic-bezier(.4,0,.2,1),-webkit-box-shadow .2s cubic-bezier(.4,0,1,1);transition:box-shadow .2s cubic-bezier(.4,0,1,1),background-color .2s cubic-bezier(.4,0,.2,1),color .2s cubic-bezier(.4,0,.2,1);will-change:box-shadow,transform;color:rgba(0,0,0,.87);background-color:inherit;border-color:#ccc}.active.custom-file-control:focus:before,.active.focus.custom-file-control:before,.btn.active.focus,.btn.active:focus,.btn.focus,.btn:active.focus,.btn:active:focus,.btn:focus,.custom-file-control:active.focus:before,.custom-file-control:active:focus:before,.custom-file-control:focus:before,.focus.custom-file-control:before{outline:0}.active.custom-file-control:before,.btn.active,.btn.focus,.btn:active,.btn:focus,.btn:hover,.custom-file-control:active:before,.custom-file-control:focus:before,.custom-file-control:hover:before,.focus.custom-file-control:before,.open>.btn.dropdown-toggle,.open>.dropdown-toggle.custom-file-control:before{color:rgba(0,0,0,.87);background-color:hsla(0,0%,60%,.2);border-color:hsla(0,0%,60%,.2)}.active.custom-file-control:focus:before,.active.custom-file-control:hover:before,.active.focus.custom-file-control:before,.btn.active.focus,.btn.active:focus,.btn.active:hover,.btn:active.focus,.btn:active:focus,.btn:active:hover,.custom-file-control:active.focus:before,.custom-file-control:active:focus:before,.custom-file-control:active:hover:before,.open>.btn.dropdown-toggle.focus,.open>.btn.dropdown-toggle:focus,.open>.btn.dropdown-toggle:hover,.open>.dropdown-toggle.custom-file-control:focus:before,.open>.dropdown-toggle.custom-file-control:hover:before,.open>.dropdown-toggle.focus.custom-file-control:before{color:rgba(0,0,0,.87);background-color:hsla(0,0%,60%,.4);border-color:hsla(0,0%,60%,.4)}.open>.btn.dropdown-toggle.bmd-btn-icon,.open>.dropdown-toggle.bmd-btn-icon.custom-file-control:before{color:inherit;background-color:inherit}.open>.btn.dropdown-toggle.bmd-btn-icon:hover,.open>.dropdown-toggle.bmd-btn-icon.custom-file-control:hover:before{background-color:hsla(0,0%,60%,.2)}.btn.disabled.focus,.btn.disabled:focus,.btn.disabled:hover,.btn:disabled.focus,.btn:disabled:focus,.btn:disabled:hover,.custom-file-control:disabled.focus:before,.custom-file-control:disabled:focus:before,.custom-file-control:disabled:hover:before,.disabled.custom-file-control:focus:before,.disabled.custom-file-control:hover:before,.disabled.focus.custom-file-control:before{background-color:inherit;border-color:#ccc}.bg-inverse .btn,.bg-inverse .custom-file-control:before{color:rgba(0,0,0,.87);background-color:inherit;border-color:#ccc}.bg-inverse .active.custom-file-control:before,.bg-inverse .btn.active,.bg-inverse .btn.focus,.bg-inverse .btn:active,.bg-inverse .btn:focus,.bg-inverse .btn:hover,.bg-inverse .custom-file-control:active:before,.bg-inverse .custom-file-control:focus:before,.bg-inverse .custom-file-control:hover:before,.bg-inverse .focus.custom-file-control:before,.open>.bg-inverse .btn.dropdown-toggle,.open>.bg-inverse .dropdown-toggle.custom-file-control:before{color:rgba(0,0,0,.87);background-color:hsla(0,0%,80%,.15);border-color:hsla(0,0%,80%,.15)}.bg-inverse .active.custom-file-control:focus:before,.bg-inverse .active.custom-file-control:hover:before,.bg-inverse .active.focus.custom-file-control:before,.bg-inverse .btn.active.focus,.bg-inverse .btn.active:focus,.bg-inverse .btn.active:hover,.bg-inverse .btn:active.focus,.bg-inverse .btn:active:focus,.bg-inverse .btn:active:hover,.bg-inverse .custom-file-control:active.focus:before,.bg-inverse .custom-file-control:active:focus:before,.bg-inverse .custom-file-control:active:hover:before,.open>.bg-inverse .btn.dropdown-toggle.focus,.open>.bg-inverse .btn.dropdown-toggle:focus,.open>.bg-inverse .btn.dropdown-toggle:hover,.open>.bg-inverse .dropdown-toggle.custom-file-control:focus:before,.open>.bg-inverse .dropdown-toggle.custom-file-control:hover:before,.open>.bg-inverse .dropdown-toggle.focus.custom-file-control:before{color:rgba(0,0,0,.87);background-color:hsla(0,0%,80%,.25);border-color:hsla(0,0%,80%,.25)}.open>.bg-inverse .btn.dropdown-toggle.bmd-btn-icon,.open>.bg-inverse .dropdown-toggle.bmd-btn-icon.custom-file-control:before{color:inherit;background-color:inherit}.open>.bg-inverse .btn.dropdown-toggle.bmd-btn-icon:hover,.open>.bg-inverse .dropdown-toggle.bmd-btn-icon.custom-file-control:hover:before{background-color:hsla(0,0%,80%,.15)}.bg-inverse .btn.disabled.focus,.bg-inverse .btn.disabled:focus,.bg-inverse .btn.disabled:hover,.bg-inverse .btn:disabled.focus,.bg-inverse .btn:disabled:focus,.bg-inverse .btn:disabled:hover,.bg-inverse .custom-file-control:disabled.focus:before,.bg-inverse .custom-file-control:disabled:focus:before,.bg-inverse .custom-file-control:disabled:hover:before,.bg-inverse .disabled.custom-file-control:focus:before,.bg-inverse .disabled.custom-file-control:hover:before,.bg-inverse .disabled.focus.custom-file-control:before{background-color:inherit;border-color:#ccc}.btn-link.custom-file-control:before,.btn.btn-link{background-color:transparent}.btn-primary.custom-file-control:before,.btn.btn-primary{color:#009688;background-color:inherit;border-color:#ccc}.btn-primary.active.custom-file-control:before,.btn-primary.custom-file-control:active:before,.btn-primary.custom-file-control:focus:before,.btn-primary.custom-file-control:hover:before,.btn-primary.focus.custom-file-control:before,.btn.btn-primary.active,.btn.btn-primary.focus,.btn.btn-primary:active,.btn.btn-primary:focus,.btn.btn-primary:hover,.open>.btn-primary.dropdown-toggle.custom-file-control:before,.open>.btn.btn-primary.dropdown-toggle{color:#009688;background-color:hsla(0,0%,60%,.2);border-color:hsla(0,0%,60%,.2)}.btn-primary.active.custom-file-control:focus:before,.btn-primary.active.custom-file-control:hover:before,.btn-primary.active.focus.custom-file-control:before,.btn-primary.custom-file-control:active.focus:before,.btn-primary.custom-file-control:active:focus:before,.btn-primary.custom-file-control:active:hover:before,.btn.btn-primary.active.focus,.btn.btn-primary.active:focus,.btn.btn-primary.active:hover,.btn.btn-primary:active.focus,.btn.btn-primary:active:focus,.btn.btn-primary:active:hover,.open>.btn-primary.dropdown-toggle.custom-file-control:focus:before,.open>.btn-primary.dropdown-toggle.custom-file-control:hover:before,.open>.btn-primary.dropdown-toggle.focus.custom-file-control:before,.open>.btn.btn-primary.dropdown-toggle.focus,.open>.btn.btn-primary.dropdown-toggle:focus,.open>.btn.btn-primary.dropdown-toggle:hover{color:#009688;background-color:hsla(0,0%,60%,.4);border-color:hsla(0,0%,60%,.4)}.open>.btn-primary.dropdown-toggle.bmd-btn-icon.custom-file-control:before,.open>.btn.btn-primary.dropdown-toggle.bmd-btn-icon{color:inherit;background-color:inherit}.open>.btn-primary.dropdown-toggle.bmd-btn-icon.custom-file-control:hover:before,.open>.btn.btn-primary.dropdown-toggle.bmd-btn-icon:hover{background-color:hsla(0,0%,60%,.2)}.btn-primary.custom-file-control:disabled.focus:before,.btn-primary.custom-file-control:disabled:focus:before,.btn-primary.custom-file-control:disabled:hover:before,.btn-primary.disabled.custom-file-control:focus:before,.btn-primary.disabled.custom-file-control:hover:before,.btn-primary.disabled.focus.custom-file-control:before,.btn.btn-primary.disabled.focus,.btn.btn-primary.disabled:focus,.btn.btn-primary.disabled:hover,.btn.btn-primary:disabled.focus,.btn.btn-primary:disabled:focus,.btn.btn-primary:disabled:hover{background-color:inherit;border-color:#ccc}.bg-inverse .btn-primary.custom-file-control:before,.bg-inverse .btn.btn-primary{color:#009688;background-color:inherit;border-color:#ccc}.bg-inverse .btn-primary.active.custom-file-control:before,.bg-inverse .btn-primary.custom-file-control:active:before,.bg-inverse .btn-primary.custom-file-control:focus:before,.bg-inverse .btn-primary.custom-file-control:hover:before,.bg-inverse .btn-primary.focus.custom-file-control:before,.bg-inverse .btn.btn-primary.active,.bg-inverse .btn.btn-primary.focus,.bg-inverse .btn.btn-primary:active,.bg-inverse .btn.btn-primary:focus,.bg-inverse .btn.btn-primary:hover,.open>.bg-inverse .btn-primary.dropdown-toggle.custom-file-control:before,.open>.bg-inverse .btn.btn-primary.dropdown-toggle{color:#009688;background-color:hsla(0,0%,80%,.15);border-color:hsla(0,0%,80%,.15)}.bg-inverse .btn-primary.active.custom-file-control:focus:before,.bg-inverse .btn-primary.active.custom-file-control:hover:before,.bg-inverse .btn-primary.active.focus.custom-file-control:before,.bg-inverse .btn-primary.custom-file-control:active.focus:before,.bg-inverse .btn-primary.custom-file-control:active:focus:before,.bg-inverse .btn-primary.custom-file-control:active:hover:before,.bg-inverse .btn.btn-primary.active.focus,.bg-inverse .btn.btn-primary.active:focus,.bg-inverse .btn.btn-primary.active:hover,.bg-inverse .btn.btn-primary:active.focus,.bg-inverse .btn.btn-primary:active:focus,.bg-inverse .btn.btn-primary:active:hover,.open>.bg-inverse .btn-primary.dropdown-toggle.custom-file-control:focus:before,.open>.bg-inverse .btn-primary.dropdown-toggle.custom-file-control:hover:before,.open>.bg-inverse .btn-primary.dropdown-toggle.focus.custom-file-control:before,.open>.bg-inverse .btn.btn-primary.dropdown-toggle.focus,.open>.bg-inverse .btn.btn-primary.dropdown-toggle:focus,.open>.bg-inverse .btn.btn-primary.dropdown-toggle:hover{color:#009688;background-color:hsla(0,0%,80%,.25);border-color:hsla(0,0%,80%,.25)}.open>.bg-inverse .btn-primary.dropdown-toggle.bmd-btn-icon.custom-file-control:before,.open>.bg-inverse .btn.btn-primary.dropdown-toggle.bmd-btn-icon{color:inherit;background-color:inherit}.open>.bg-inverse .btn-primary.dropdown-toggle.bmd-btn-icon.custom-file-control:hover:before,.open>.bg-inverse .btn.btn-primary.dropdown-toggle.bmd-btn-icon:hover{background-color:hsla(0,0%,80%,.15)}.bg-inverse .btn-primary.custom-file-control:disabled.focus:before,.bg-inverse .btn-primary.custom-file-control:disabled:focus:before,.bg-inverse .btn-primary.custom-file-control:disabled:hover:before,.bg-inverse .btn-primary.disabled.custom-file-control:focus:before,.bg-inverse .btn-primary.disabled.custom-file-control:hover:before,.bg-inverse .btn-primary.disabled.focus.custom-file-control:before,.bg-inverse .btn.btn-primary.disabled.focus,.bg-inverse .btn.btn-primary.disabled:focus,.bg-inverse .btn.btn-primary.disabled:hover,.bg-inverse .btn.btn-primary:disabled.focus,.bg-inverse .btn.btn-primary:disabled:focus,.bg-inverse .btn.btn-primary:disabled:hover{background-color:inherit;border-color:#ccc}.btn-primary.btn-link.custom-file-control:before,.btn.btn-primary.btn-link{background-color:transparent}.btn-secondary.custom-file-control:before,.btn.btn-secondary{color:rgba(0,0,0,.87);background-color:inherit;border-color:#ccc}.btn-secondary.active.custom-file-control:before,.btn-secondary.custom-file-control:active:before,.btn-secondary.custom-file-control:focus:before,.btn-secondary.custom-file-control:hover:before,.btn-secondary.focus.custom-file-control:before,.btn.btn-secondary.active,.btn.btn-secondary.focus,.btn.btn-secondary:active,.btn.btn-secondary:focus,.btn.btn-secondary:hover,.open>.btn-secondary.dropdown-toggle.custom-file-control:before,.open>.btn.btn-secondary.dropdown-toggle{color:rgba(0,0,0,.87);background-color:hsla(0,0%,60%,.2);border-color:hsla(0,0%,60%,.2)}.btn-secondary.active.custom-file-control:focus:before,.btn-secondary.active.custom-file-control:hover:before,.btn-secondary.active.focus.custom-file-control:before,.btn-secondary.custom-file-control:active.focus:before,.btn-secondary.custom-file-control:active:focus:before,.btn-secondary.custom-file-control:active:hover:before,.btn.btn-secondary.active.focus,.btn.btn-secondary.active:focus,.btn.btn-secondary.active:hover,.btn.btn-secondary:active.focus,.btn.btn-secondary:active:focus,.btn.btn-secondary:active:hover,.open>.btn-secondary.dropdown-toggle.custom-file-control:focus:before,.open>.btn-secondary.dropdown-toggle.custom-file-control:hover:before,.open>.btn-secondary.dropdown-toggle.focus.custom-file-control:before,.open>.btn.btn-secondary.dropdown-toggle.focus,.open>.btn.btn-secondary.dropdown-toggle:focus,.open>.btn.btn-secondary.dropdown-toggle:hover{color:rgba(0,0,0,.87);background-color:hsla(0,0%,60%,.4);border-color:hsla(0,0%,60%,.4)}.open>.btn-secondary.dropdown-toggle.bmd-btn-icon.custom-file-control:before,.open>.btn.btn-secondary.dropdown-toggle.bmd-btn-icon{color:inherit;background-color:inherit}.open>.btn-secondary.dropdown-toggle.bmd-btn-icon.custom-file-control:hover:before,.open>.btn.btn-secondary.dropdown-toggle.bmd-btn-icon:hover{background-color:hsla(0,0%,60%,.2)}.btn-secondary.custom-file-control:disabled.focus:before,.btn-secondary.custom-file-control:disabled:focus:before,.btn-secondary.custom-file-control:disabled:hover:before,.btn-secondary.disabled.custom-file-control:focus:before,.btn-secondary.disabled.custom-file-control:hover:before,.btn-secondary.disabled.focus.custom-file-control:before,.btn.btn-secondary.disabled.focus,.btn.btn-secondary.disabled:focus,.btn.btn-secondary.disabled:hover,.btn.btn-secondary:disabled.focus,.btn.btn-secondary:disabled:focus,.btn.btn-secondary:disabled:hover{background-color:inherit;border-color:#ccc}.bg-inverse .btn-secondary.custom-file-control:before,.bg-inverse .btn.btn-secondary{color:rgba(0,0,0,.87);background-color:inherit;border-color:#ccc}.bg-inverse .btn-secondary.active.custom-file-control:before,.bg-inverse .btn-secondary.custom-file-control:active:before,.bg-inverse .btn-secondary.custom-file-control:focus:before,.bg-inverse .btn-secondary.custom-file-control:hover:before,.bg-inverse .btn-secondary.focus.custom-file-control:before,.bg-inverse .btn.btn-secondary.active,.bg-inverse .btn.btn-secondary.focus,.bg-inverse .btn.btn-secondary:active,.bg-inverse .btn.btn-secondary:focus,.bg-inverse .btn.btn-secondary:hover,.open>.bg-inverse .btn-secondary.dropdown-toggle.custom-file-control:before,.open>.bg-inverse .btn.btn-secondary.dropdown-toggle{color:rgba(0,0,0,.87);background-color:hsla(0,0%,80%,.15);border-color:hsla(0,0%,80%,.15)}.bg-inverse .btn-secondary.active.custom-file-control:focus:before,.bg-inverse .btn-secondary.active.custom-file-control:hover:before,.bg-inverse .btn-secondary.active.focus.custom-file-control:before,.bg-inverse .btn-secondary.custom-file-control:active.focus:before,.bg-inverse .btn-secondary.custom-file-control:active:focus:before,.bg-inverse .btn-secondary.custom-file-control:active:hover:before,.bg-inverse .btn.btn-secondary.active.focus,.bg-inverse .btn.btn-secondary.active:focus,.bg-inverse .btn.btn-secondary.active:hover,.bg-inverse .btn.btn-secondary:active.focus,.bg-inverse .btn.btn-secondary:active:focus,.bg-inverse .btn.btn-secondary:active:hover,.open>.bg-inverse .btn-secondary.dropdown-toggle.custom-file-control:focus:before,.open>.bg-inverse .btn-secondary.dropdown-toggle.custom-file-control:hover:before,.open>.bg-inverse .btn-secondary.dropdown-toggle.focus.custom-file-control:before,.open>.bg-inverse .btn.btn-secondary.dropdown-toggle.focus,.open>.bg-inverse .btn.btn-secondary.dropdown-toggle:focus,.open>.bg-inverse .btn.btn-secondary.dropdown-toggle:hover{color:rgba(0,0,0,.87);background-color:hsla(0,0%,80%,.25);border-color:hsla(0,0%,80%,.25)}.open>.bg-inverse .btn-secondary.dropdown-toggle.bmd-btn-icon.custom-file-control:before,.open>.bg-inverse .btn.btn-secondary.dropdown-toggle.bmd-btn-icon{color:inherit;background-color:inherit}.open>.bg-inverse .btn-secondary.dropdown-toggle.bmd-btn-icon.custom-file-control:hover:before,.open>.bg-inverse .btn.btn-secondary.dropdown-toggle.bmd-btn-icon:hover{background-color:hsla(0,0%,80%,.15)}.bg-inverse .btn-secondary.custom-file-control:disabled.focus:before,.bg-inverse .btn-secondary.custom-file-control:disabled:focus:before,.bg-inverse .btn-secondary.custom-file-control:disabled:hover:before,.bg-inverse .btn-secondary.disabled.custom-file-control:focus:before,.bg-inverse .btn-secondary.disabled.custom-file-control:hover:before,.bg-inverse .btn-secondary.disabled.focus.custom-file-control:before,.bg-inverse .btn.btn-secondary.disabled.focus,.bg-inverse .btn.btn-secondary.disabled:focus,.bg-inverse .btn.btn-secondary.disabled:hover,.bg-inverse .btn.btn-secondary:disabled.focus,.bg-inverse .btn.btn-secondary:disabled:focus,.bg-inverse .btn.btn-secondary:disabled:hover{background-color:inherit;border-color:#ccc}.btn-secondary.btn-link.custom-file-control:before,.btn.btn-secondary.btn-link{background-color:transparent}.btn-info.custom-file-control:before,.btn.btn-info{color:#03a9f4;background-color:inherit;border-color:#ccc}.btn-info.active.custom-file-control:before,.btn-info.custom-file-control:active:before,.btn-info.custom-file-control:focus:before,.btn-info.custom-file-control:hover:before,.btn-info.focus.custom-file-control:before,.btn.btn-info.active,.btn.btn-info.focus,.btn.btn-info:active,.btn.btn-info:focus,.btn.btn-info:hover,.open>.btn-info.dropdown-toggle.custom-file-control:before,.open>.btn.btn-info.dropdown-toggle{color:#03a9f4;background-color:hsla(0,0%,60%,.2);border-color:hsla(0,0%,60%,.2)}.btn-info.active.custom-file-control:focus:before,.btn-info.active.custom-file-control:hover:before,.btn-info.active.focus.custom-file-control:before,.btn-info.custom-file-control:active.focus:before,.btn-info.custom-file-control:active:focus:before,.btn-info.custom-file-control:active:hover:before,.btn.btn-info.active.focus,.btn.btn-info.active:focus,.btn.btn-info.active:hover,.btn.btn-info:active.focus,.btn.btn-info:active:focus,.btn.btn-info:active:hover,.open>.btn-info.dropdown-toggle.custom-file-control:focus:before,.open>.btn-info.dropdown-toggle.custom-file-control:hover:before,.open>.btn-info.dropdown-toggle.focus.custom-file-control:before,.open>.btn.btn-info.dropdown-toggle.focus,.open>.btn.btn-info.dropdown-toggle:focus,.open>.btn.btn-info.dropdown-toggle:hover{color:#03a9f4;background-color:hsla(0,0%,60%,.4);border-color:hsla(0,0%,60%,.4)}.open>.btn-info.dropdown-toggle.bmd-btn-icon.custom-file-control:before,.open>.btn.btn-info.dropdown-toggle.bmd-btn-icon{color:inherit;background-color:inherit}.open>.btn-info.dropdown-toggle.bmd-btn-icon.custom-file-control:hover:before,.open>.btn.btn-info.dropdown-toggle.bmd-btn-icon:hover{background-color:hsla(0,0%,60%,.2)}.btn-info.custom-file-control:disabled.focus:before,.btn-info.custom-file-control:disabled:focus:before,.btn-info.custom-file-control:disabled:hover:before,.btn-info.disabled.custom-file-control:focus:before,.btn-info.disabled.custom-file-control:hover:before,.btn-info.disabled.focus.custom-file-control:before,.btn.btn-info.disabled.focus,.btn.btn-info.disabled:focus,.btn.btn-info.disabled:hover,.btn.btn-info:disabled.focus,.btn.btn-info:disabled:focus,.btn.btn-info:disabled:hover{background-color:inherit;border-color:#ccc}.bg-inverse .btn-info.custom-file-control:before,.bg-inverse .btn.btn-info{color:#03a9f4;background-color:inherit;border-color:#ccc}.bg-inverse .btn-info.active.custom-file-control:before,.bg-inverse .btn-info.custom-file-control:active:before,.bg-inverse .btn-info.custom-file-control:focus:before,.bg-inverse .btn-info.custom-file-control:hover:before,.bg-inverse .btn-info.focus.custom-file-control:before,.bg-inverse .btn.btn-info.active,.bg-inverse .btn.btn-info.focus,.bg-inverse .btn.btn-info:active,.bg-inverse .btn.btn-info:focus,.bg-inverse .btn.btn-info:hover,.open>.bg-inverse .btn-info.dropdown-toggle.custom-file-control:before,.open>.bg-inverse .btn.btn-info.dropdown-toggle{color:#03a9f4;background-color:hsla(0,0%,80%,.15);border-color:hsla(0,0%,80%,.15)}.bg-inverse .btn-info.active.custom-file-control:focus:before,.bg-inverse .btn-info.active.custom-file-control:hover:before,.bg-inverse .btn-info.active.focus.custom-file-control:before,.bg-inverse .btn-info.custom-file-control:active.focus:before,.bg-inverse .btn-info.custom-file-control:active:focus:before,.bg-inverse .btn-info.custom-file-control:active:hover:before,.bg-inverse .btn.btn-info.active.focus,.bg-inverse .btn.btn-info.active:focus,.bg-inverse .btn.btn-info.active:hover,.bg-inverse .btn.btn-info:active.focus,.bg-inverse .btn.btn-info:active:focus,.bg-inverse .btn.btn-info:active:hover,.open>.bg-inverse .btn-info.dropdown-toggle.custom-file-control:focus:before,.open>.bg-inverse .btn-info.dropdown-toggle.custom-file-control:hover:before,.open>.bg-inverse .btn-info.dropdown-toggle.focus.custom-file-control:before,.open>.bg-inverse .btn.btn-info.dropdown-toggle.focus,.open>.bg-inverse .btn.btn-info.dropdown-toggle:focus,.open>.bg-inverse .btn.btn-info.dropdown-toggle:hover{color:#03a9f4;background-color:hsla(0,0%,80%,.25);border-color:hsla(0,0%,80%,.25)}.open>.bg-inverse .btn-info.dropdown-toggle.bmd-btn-icon.custom-file-control:before,.open>.bg-inverse .btn.btn-info.dropdown-toggle.bmd-btn-icon{color:inherit;background-color:inherit}.open>.bg-inverse .btn-info.dropdown-toggle.bmd-btn-icon.custom-file-control:hover:before,.open>.bg-inverse .btn.btn-info.dropdown-toggle.bmd-btn-icon:hover{background-color:hsla(0,0%,80%,.15)}.bg-inverse .btn-info.custom-file-control:disabled.focus:before,.bg-inverse .btn-info.custom-file-control:disabled:focus:before,.bg-inverse .btn-info.custom-file-control:disabled:hover:before,.bg-inverse .btn-info.disabled.custom-file-control:focus:before,.bg-inverse .btn-info.disabled.custom-file-control:hover:before,.bg-inverse .btn-info.disabled.focus.custom-file-control:before,.bg-inverse .btn.btn-info.disabled.focus,.bg-inverse .btn.btn-info.disabled:focus,.bg-inverse .btn.btn-info.disabled:hover,.bg-inverse .btn.btn-info:disabled.focus,.bg-inverse .btn.btn-info:disabled:focus,.bg-inverse .btn.btn-info:disabled:hover{background-color:inherit;border-color:#ccc}.btn-info.btn-link.custom-file-control:before,.btn.btn-info.btn-link{background-color:transparent}.btn-success.custom-file-control:before,.btn.btn-success{color:#4caf50;background-color:inherit;border-color:#ccc}.btn-success.active.custom-file-control:before,.btn-success.custom-file-control:active:before,.btn-success.custom-file-control:focus:before,.btn-success.custom-file-control:hover:before,.btn-success.focus.custom-file-control:before,.btn.btn-success.active,.btn.btn-success.focus,.btn.btn-success:active,.btn.btn-success:focus,.btn.btn-success:hover,.open>.btn-success.dropdown-toggle.custom-file-control:before,.open>.btn.btn-success.dropdown-toggle{color:#4caf50;background-color:hsla(0,0%,60%,.2);border-color:hsla(0,0%,60%,.2)}.btn-success.active.custom-file-control:focus:before,.btn-success.active.custom-file-control:hover:before,.btn-success.active.focus.custom-file-control:before,.btn-success.custom-file-control:active.focus:before,.btn-success.custom-file-control:active:focus:before,.btn-success.custom-file-control:active:hover:before,.btn.btn-success.active.focus,.btn.btn-success.active:focus,.btn.btn-success.active:hover,.btn.btn-success:active.focus,.btn.btn-success:active:focus,.btn.btn-success:active:hover,.open>.btn-success.dropdown-toggle.custom-file-control:focus:before,.open>.btn-success.dropdown-toggle.custom-file-control:hover:before,.open>.btn-success.dropdown-toggle.focus.custom-file-control:before,.open>.btn.btn-success.dropdown-toggle.focus,.open>.btn.btn-success.dropdown-toggle:focus,.open>.btn.btn-success.dropdown-toggle:hover{color:#4caf50;background-color:hsla(0,0%,60%,.4);border-color:hsla(0,0%,60%,.4)}.open>.btn-success.dropdown-toggle.bmd-btn-icon.custom-file-control:before,.open>.btn.btn-success.dropdown-toggle.bmd-btn-icon{color:inherit;background-color:inherit}.open>.btn-success.dropdown-toggle.bmd-btn-icon.custom-file-control:hover:before,.open>.btn.btn-success.dropdown-toggle.bmd-btn-icon:hover{background-color:hsla(0,0%,60%,.2)}.btn-success.custom-file-control:disabled.focus:before,.btn-success.custom-file-control:disabled:focus:before,.btn-success.custom-file-control:disabled:hover:before,.btn-success.disabled.custom-file-control:focus:before,.btn-success.disabled.custom-file-control:hover:before,.btn-success.disabled.focus.custom-file-control:before,.btn.btn-success.disabled.focus,.btn.btn-success.disabled:focus,.btn.btn-success.disabled:hover,.btn.btn-success:disabled.focus,.btn.btn-success:disabled:focus,.btn.btn-success:disabled:hover{background-color:inherit;border-color:#ccc}.bg-inverse .btn-success.custom-file-control:before,.bg-inverse .btn.btn-success{color:#4caf50;background-color:inherit;border-color:#ccc}.bg-inverse .btn-success.active.custom-file-control:before,.bg-inverse .btn-success.custom-file-control:active:before,.bg-inverse .btn-success.custom-file-control:focus:before,.bg-inverse .btn-success.custom-file-control:hover:before,.bg-inverse .btn-success.focus.custom-file-control:before,.bg-inverse .btn.btn-success.active,.bg-inverse .btn.btn-success.focus,.bg-inverse .btn.btn-success:active,.bg-inverse .btn.btn-success:focus,.bg-inverse .btn.btn-success:hover,.open>.bg-inverse .btn-success.dropdown-toggle.custom-file-control:before,.open>.bg-inverse .btn.btn-success.dropdown-toggle{color:#4caf50;background-color:hsla(0,0%,80%,.15);border-color:hsla(0,0%,80%,.15)}.bg-inverse .btn-success.active.custom-file-control:focus:before,.bg-inverse .btn-success.active.custom-file-control:hover:before,.bg-inverse .btn-success.active.focus.custom-file-control:before,.bg-inverse .btn-success.custom-file-control:active.focus:before,.bg-inverse .btn-success.custom-file-control:active:focus:before,.bg-inverse .btn-success.custom-file-control:active:hover:before,.bg-inverse .btn.btn-success.active.focus,.bg-inverse .btn.btn-success.active:focus,.bg-inverse .btn.btn-success.active:hover,.bg-inverse .btn.btn-success:active.focus,.bg-inverse .btn.btn-success:active:focus,.bg-inverse .btn.btn-success:active:hover,.open>.bg-inverse .btn-success.dropdown-toggle.custom-file-control:focus:before,.open>.bg-inverse .btn-success.dropdown-toggle.custom-file-control:hover:before,.open>.bg-inverse .btn-success.dropdown-toggle.focus.custom-file-control:before,.open>.bg-inverse .btn.btn-success.dropdown-toggle.focus,.open>.bg-inverse .btn.btn-success.dropdown-toggle:focus,.open>.bg-inverse .btn.btn-success.dropdown-toggle:hover{color:#4caf50;background-color:hsla(0,0%,80%,.25);border-color:hsla(0,0%,80%,.25)}.open>.bg-inverse .btn-success.dropdown-toggle.bmd-btn-icon.custom-file-control:before,.open>.bg-inverse .btn.btn-success.dropdown-toggle.bmd-btn-icon{color:inherit;background-color:inherit}.open>.bg-inverse .btn-success.dropdown-toggle.bmd-btn-icon.custom-file-control:hover:before,.open>.bg-inverse .btn.btn-success.dropdown-toggle.bmd-btn-icon:hover{background-color:hsla(0,0%,80%,.15)}.bg-inverse .btn-success.custom-file-control:disabled.focus:before,.bg-inverse .btn-success.custom-file-control:disabled:focus:before,.bg-inverse .btn-success.custom-file-control:disabled:hover:before,.bg-inverse .btn-success.disabled.custom-file-control:focus:before,.bg-inverse .btn-success.disabled.custom-file-control:hover:before,.bg-inverse .btn-success.disabled.focus.custom-file-control:before,.bg-inverse .btn.btn-success.disabled.focus,.bg-inverse .btn.btn-success.disabled:focus,.bg-inverse .btn.btn-success.disabled:hover,.bg-inverse .btn.btn-success:disabled.focus,.bg-inverse .btn.btn-success:disabled:focus,.bg-inverse .btn.btn-success:disabled:hover{background-color:inherit;border-color:#ccc}.btn-success.btn-link.custom-file-control:before,.btn.btn-success.btn-link{background-color:transparent}.btn-warning.custom-file-control:before,.btn.btn-warning{color:#ff5722;background-color:inherit;border-color:#ccc}.btn-warning.active.custom-file-control:before,.btn-warning.custom-file-control:active:before,.btn-warning.custom-file-control:focus:before,.btn-warning.custom-file-control:hover:before,.btn-warning.focus.custom-file-control:before,.btn.btn-warning.active,.btn.btn-warning.focus,.btn.btn-warning:active,.btn.btn-warning:focus,.btn.btn-warning:hover,.open>.btn-warning.dropdown-toggle.custom-file-control:before,.open>.btn.btn-warning.dropdown-toggle{color:#ff5722;background-color:hsla(0,0%,60%,.2);border-color:hsla(0,0%,60%,.2)}.btn-warning.active.custom-file-control:focus:before,.btn-warning.active.custom-file-control:hover:before,.btn-warning.active.focus.custom-file-control:before,.btn-warning.custom-file-control:active.focus:before,.btn-warning.custom-file-control:active:focus:before,.btn-warning.custom-file-control:active:hover:before,.btn.btn-warning.active.focus,.btn.btn-warning.active:focus,.btn.btn-warning.active:hover,.btn.btn-warning:active.focus,.btn.btn-warning:active:focus,.btn.btn-warning:active:hover,.open>.btn-warning.dropdown-toggle.custom-file-control:focus:before,.open>.btn-warning.dropdown-toggle.custom-file-control:hover:before,.open>.btn-warning.dropdown-toggle.focus.custom-file-control:before,.open>.btn.btn-warning.dropdown-toggle.focus,.open>.btn.btn-warning.dropdown-toggle:focus,.open>.btn.btn-warning.dropdown-toggle:hover{color:#ff5722;background-color:hsla(0,0%,60%,.4);border-color:hsla(0,0%,60%,.4)}.open>.btn-warning.dropdown-toggle.bmd-btn-icon.custom-file-control:before,.open>.btn.btn-warning.dropdown-toggle.bmd-btn-icon{color:inherit;background-color:inherit}.open>.btn-warning.dropdown-toggle.bmd-btn-icon.custom-file-control:hover:before,.open>.btn.btn-warning.dropdown-toggle.bmd-btn-icon:hover{background-color:hsla(0,0%,60%,.2)}.btn-warning.custom-file-control:disabled.focus:before,.btn-warning.custom-file-control:disabled:focus:before,.btn-warning.custom-file-control:disabled:hover:before,.btn-warning.disabled.custom-file-control:focus:before,.btn-warning.disabled.custom-file-control:hover:before,.btn-warning.disabled.focus.custom-file-control:before,.btn.btn-warning.disabled.focus,.btn.btn-warning.disabled:focus,.btn.btn-warning.disabled:hover,.btn.btn-warning:disabled.focus,.btn.btn-warning:disabled:focus,.btn.btn-warning:disabled:hover{background-color:inherit;border-color:#ccc}.bg-inverse .btn-warning.custom-file-control:before,.bg-inverse .btn.btn-warning{color:#ff5722;background-color:inherit;border-color:#ccc}.bg-inverse .btn-warning.active.custom-file-control:before,.bg-inverse .btn-warning.custom-file-control:active:before,.bg-inverse .btn-warning.custom-file-control:focus:before,.bg-inverse .btn-warning.custom-file-control:hover:before,.bg-inverse .btn-warning.focus.custom-file-control:before,.bg-inverse .btn.btn-warning.active,.bg-inverse .btn.btn-warning.focus,.bg-inverse .btn.btn-warning:active,.bg-inverse .btn.btn-warning:focus,.bg-inverse .btn.btn-warning:hover,.open>.bg-inverse .btn-warning.dropdown-toggle.custom-file-control:before,.open>.bg-inverse .btn.btn-warning.dropdown-toggle{color:#ff5722;background-color:hsla(0,0%,80%,.15);border-color:hsla(0,0%,80%,.15)}.bg-inverse .btn-warning.active.custom-file-control:focus:before,.bg-inverse .btn-warning.active.custom-file-control:hover:before,.bg-inverse .btn-warning.active.focus.custom-file-control:before,.bg-inverse .btn-warning.custom-file-control:active.focus:before,.bg-inverse .btn-warning.custom-file-control:active:focus:before,.bg-inverse .btn-warning.custom-file-control:active:hover:before,.bg-inverse .btn.btn-warning.active.focus,.bg-inverse .btn.btn-warning.active:focus,.bg-inverse .btn.btn-warning.active:hover,.bg-inverse .btn.btn-warning:active.focus,.bg-inverse .btn.btn-warning:active:focus,.bg-inverse .btn.btn-warning:active:hover,.open>.bg-inverse .btn-warning.dropdown-toggle.custom-file-control:focus:before,.open>.bg-inverse .btn-warning.dropdown-toggle.custom-file-control:hover:before,.open>.bg-inverse .btn-warning.dropdown-toggle.focus.custom-file-control:before,.open>.bg-inverse .btn.btn-warning.dropdown-toggle.focus,.open>.bg-inverse .btn.btn-warning.dropdown-toggle:focus,.open>.bg-inverse .btn.btn-warning.dropdown-toggle:hover{color:#ff5722;background-color:hsla(0,0%,80%,.25);border-color:hsla(0,0%,80%,.25)}.open>.bg-inverse .btn-warning.dropdown-toggle.bmd-btn-icon.custom-file-control:before,.open>.bg-inverse .btn.btn-warning.dropdown-toggle.bmd-btn-icon{color:inherit;background-color:inherit}.open>.bg-inverse .btn-warning.dropdown-toggle.bmd-btn-icon.custom-file-control:hover:before,.open>.bg-inverse .btn.btn-warning.dropdown-toggle.bmd-btn-icon:hover{background-color:hsla(0,0%,80%,.15)}.bg-inverse .btn-warning.custom-file-control:disabled.focus:before,.bg-inverse .btn-warning.custom-file-control:disabled:focus:before,.bg-inverse .btn-warning.custom-file-control:disabled:hover:before,.bg-inverse .btn-warning.disabled.custom-file-control:focus:before,.bg-inverse .btn-warning.disabled.custom-file-control:hover:before,.bg-inverse .btn-warning.disabled.focus.custom-file-control:before,.bg-inverse .btn.btn-warning.disabled.focus,.bg-inverse .btn.btn-warning.disabled:focus,.bg-inverse .btn.btn-warning.disabled:hover,.bg-inverse .btn.btn-warning:disabled.focus,.bg-inverse .btn.btn-warning:disabled:focus,.bg-inverse .btn.btn-warning:disabled:hover{background-color:inherit;border-color:#ccc}.btn-warning.btn-link.custom-file-control:before,.btn.btn-warning.btn-link{background-color:transparent}.btn-danger.custom-file-control:before,.btn.btn-danger{color:#f44336;background-color:inherit;border-color:#ccc}.btn-danger.active.custom-file-control:before,.btn-danger.custom-file-control:active:before,.btn-danger.custom-file-control:focus:before,.btn-danger.custom-file-control:hover:before,.btn-danger.focus.custom-file-control:before,.btn.btn-danger.active,.btn.btn-danger.focus,.btn.btn-danger:active,.btn.btn-danger:focus,.btn.btn-danger:hover,.open>.btn-danger.dropdown-toggle.custom-file-control:before,.open>.btn.btn-danger.dropdown-toggle{color:#f44336;background-color:hsla(0,0%,60%,.2);border-color:hsla(0,0%,60%,.2)}.btn-danger.active.custom-file-control:focus:before,.btn-danger.active.custom-file-control:hover:before,.btn-danger.active.focus.custom-file-control:before,.btn-danger.custom-file-control:active.focus:before,.btn-danger.custom-file-control:active:focus:before,.btn-danger.custom-file-control:active:hover:before,.btn.btn-danger.active.focus,.btn.btn-danger.active:focus,.btn.btn-danger.active:hover,.btn.btn-danger:active.focus,.btn.btn-danger:active:focus,.btn.btn-danger:active:hover,.open>.btn-danger.dropdown-toggle.custom-file-control:focus:before,.open>.btn-danger.dropdown-toggle.custom-file-control:hover:before,.open>.btn-danger.dropdown-toggle.focus.custom-file-control:before,.open>.btn.btn-danger.dropdown-toggle.focus,.open>.btn.btn-danger.dropdown-toggle:focus,.open>.btn.btn-danger.dropdown-toggle:hover{color:#f44336;background-color:hsla(0,0%,60%,.4);border-color:hsla(0,0%,60%,.4)}.open>.btn-danger.dropdown-toggle.bmd-btn-icon.custom-file-control:before,.open>.btn.btn-danger.dropdown-toggle.bmd-btn-icon{color:inherit;background-color:inherit}.open>.btn-danger.dropdown-toggle.bmd-btn-icon.custom-file-control:hover:before,.open>.btn.btn-danger.dropdown-toggle.bmd-btn-icon:hover{background-color:hsla(0,0%,60%,.2)}.btn-danger.custom-file-control:disabled.focus:before,.btn-danger.custom-file-control:disabled:focus:before,.btn-danger.custom-file-control:disabled:hover:before,.btn-danger.disabled.custom-file-control:focus:before,.btn-danger.disabled.custom-file-control:hover:before,.btn-danger.disabled.focus.custom-file-control:before,.btn.btn-danger.disabled.focus,.btn.btn-danger.disabled:focus,.btn.btn-danger.disabled:hover,.btn.btn-danger:disabled.focus,.btn.btn-danger:disabled:focus,.btn.btn-danger:disabled:hover{background-color:inherit;border-color:#ccc}.bg-inverse .btn-danger.custom-file-control:before,.bg-inverse .btn.btn-danger{color:#f44336;background-color:inherit;border-color:#ccc}.bg-inverse .btn-danger.active.custom-file-control:before,.bg-inverse .btn-danger.custom-file-control:active:before,.bg-inverse .btn-danger.custom-file-control:focus:before,.bg-inverse .btn-danger.custom-file-control:hover:before,.bg-inverse .btn-danger.focus.custom-file-control:before,.bg-inverse .btn.btn-danger.active,.bg-inverse .btn.btn-danger.focus,.bg-inverse .btn.btn-danger:active,.bg-inverse .btn.btn-danger:focus,.bg-inverse .btn.btn-danger:hover,.open>.bg-inverse .btn-danger.dropdown-toggle.custom-file-control:before,.open>.bg-inverse .btn.btn-danger.dropdown-toggle{color:#f44336;background-color:hsla(0,0%,80%,.15);border-color:hsla(0,0%,80%,.15)}.bg-inverse .btn-danger.active.custom-file-control:focus:before,.bg-inverse .btn-danger.active.custom-file-control:hover:before,.bg-inverse .btn-danger.active.focus.custom-file-control:before,.bg-inverse .btn-danger.custom-file-control:active.focus:before,.bg-inverse .btn-danger.custom-file-control:active:focus:before,.bg-inverse .btn-danger.custom-file-control:active:hover:before,.bg-inverse .btn.btn-danger.active.focus,.bg-inverse .btn.btn-danger.active:focus,.bg-inverse .btn.btn-danger.active:hover,.bg-inverse .btn.btn-danger:active.focus,.bg-inverse .btn.btn-danger:active:focus,.bg-inverse .btn.btn-danger:active:hover,.open>.bg-inverse .btn-danger.dropdown-toggle.custom-file-control:focus:before,.open>.bg-inverse .btn-danger.dropdown-toggle.custom-file-control:hover:before,.open>.bg-inverse .btn-danger.dropdown-toggle.focus.custom-file-control:before,.open>.bg-inverse .btn.btn-danger.dropdown-toggle.focus,.open>.bg-inverse .btn.btn-danger.dropdown-toggle:focus,.open>.bg-inverse .btn.btn-danger.dropdown-toggle:hover{color:#f44336;background-color:hsla(0,0%,80%,.25);border-color:hsla(0,0%,80%,.25)}.open>.bg-inverse .btn-danger.dropdown-toggle.bmd-btn-icon.custom-file-control:before,.open>.bg-inverse .btn.btn-danger.dropdown-toggle.bmd-btn-icon{color:inherit;background-color:inherit}.open>.bg-inverse .btn-danger.dropdown-toggle.bmd-btn-icon.custom-file-control:hover:before,.open>.bg-inverse .btn.btn-danger.dropdown-toggle.bmd-btn-icon:hover{background-color:hsla(0,0%,80%,.15)}.bg-inverse .btn-danger.custom-file-control:disabled.focus:before,.bg-inverse .btn-danger.custom-file-control:disabled:focus:before,.bg-inverse .btn-danger.custom-file-control:disabled:hover:before,.bg-inverse .btn-danger.disabled.custom-file-control:focus:before,.bg-inverse .btn-danger.disabled.custom-file-control:hover:before,.bg-inverse .btn-danger.disabled.focus.custom-file-control:before,.bg-inverse .btn.btn-danger.disabled.focus,.bg-inverse .btn.btn-danger.disabled:focus,.bg-inverse .btn.btn-danger.disabled:hover,.bg-inverse .btn.btn-danger:disabled.focus,.bg-inverse .btn.btn-danger:disabled:focus,.bg-inverse .btn.btn-danger:disabled:hover{background-color:inherit;border-color:#ccc}.btn-danger.btn-link.custom-file-control:before,.btn.btn-danger.btn-link{background-color:transparent}.bmd-btn-fab.btn-primary.custom-file-control:before,.btn-group-raised .btn-primary.custom-file-control:before,.btn-group-raised .btn.btn-primary,.btn-raised.btn-primary.custom-file-control:before,.btn.bmd-btn-fab.btn-primary,.btn.btn-raised.btn-primary{color:#fff;background-color:#009688;border-color:#009688}.bmd-btn-fab.btn-primary.active.custom-file-control:before,.bmd-btn-fab.btn-primary.custom-file-control:active:before,.bmd-btn-fab.btn-primary.custom-file-control:focus:before,.bmd-btn-fab.btn-primary.custom-file-control:hover:before,.bmd-btn-fab.btn-primary.focus.custom-file-control:before,.btn-group-raised .btn-primary.active.custom-file-control:before,.btn-group-raised .btn-primary.custom-file-control:active:before,.btn-group-raised .btn-primary.custom-file-control:focus:before,.btn-group-raised .btn-primary.custom-file-control:hover:before,.btn-group-raised .btn-primary.focus.custom-file-control:before,.btn-group-raised .btn.btn-primary.active,.btn-group-raised .btn.btn-primary.focus,.btn-group-raised .btn.btn-primary:active,.btn-group-raised .btn.btn-primary:focus,.btn-group-raised .btn.btn-primary:hover,.btn-raised.btn-primary.active.custom-file-control:before,.btn-raised.btn-primary.custom-file-control:active:before,.btn-raised.btn-primary.custom-file-control:focus:before,.btn-raised.btn-primary.custom-file-control:hover:before,.btn-raised.btn-primary.focus.custom-file-control:before,.btn.bmd-btn-fab.btn-primary.active,.btn.bmd-btn-fab.btn-primary.focus,.btn.bmd-btn-fab.btn-primary:active,.btn.bmd-btn-fab.btn-primary:focus,.btn.bmd-btn-fab.btn-primary:hover,.btn.btn-raised.btn-primary.active,.btn.btn-raised.btn-primary.focus,.btn.btn-raised.btn-primary:active,.btn.btn-raised.btn-primary:focus,.btn.btn-raised.btn-primary:hover,.open>.bmd-btn-fab.btn-primary.dropdown-toggle.custom-file-control:before,.open>.btn-group-raised .btn-primary.dropdown-toggle.custom-file-control:before,.open>.btn-group-raised .btn.btn-primary.dropdown-toggle,.open>.btn-raised.btn-primary.dropdown-toggle.custom-file-control:before,.open>.btn.bmd-btn-fab.btn-primary.dropdown-toggle,.open>.btn.btn-raised.btn-primary.dropdown-toggle{color:#fff;background-color:#008276;border-color:#005951}.bmd-btn-fab.btn-primary.active.custom-file-control:focus:before,.bmd-btn-fab.btn-primary.active.custom-file-control:hover:before,.bmd-btn-fab.btn-primary.active.focus.custom-file-control:before,.bmd-btn-fab.btn-primary.custom-file-control:active.focus:before,.bmd-btn-fab.btn-primary.custom-file-control:active:focus:before,.bmd-btn-fab.btn-primary.custom-file-control:active:hover:before,.btn-group-raised .btn-primary.active.custom-file-control:focus:before,.btn-group-raised .btn-primary.active.custom-file-control:hover:before,.btn-group-raised .btn-primary.active.focus.custom-file-control:before,.btn-group-raised .btn-primary.custom-file-control:active.focus:before,.btn-group-raised .btn-primary.custom-file-control:active:focus:before,.btn-group-raised .btn-primary.custom-file-control:active:hover:before,.btn-group-raised .btn.btn-primary.active.focus,.btn-group-raised .btn.btn-primary.active:focus,.btn-group-raised .btn.btn-primary.active:hover,.btn-group-raised .btn.btn-primary:active.focus,.btn-group-raised .btn.btn-primary:active:focus,.btn-group-raised .btn.btn-primary:active:hover,.btn-raised.btn-primary.active.custom-file-control:focus:before,.btn-raised.btn-primary.active.custom-file-control:hover:before,.btn-raised.btn-primary.active.focus.custom-file-control:before,.btn-raised.btn-primary.custom-file-control:active.focus:before,.btn-raised.btn-primary.custom-file-control:active:focus:before,.btn-raised.btn-primary.custom-file-control:active:hover:before,.btn.bmd-btn-fab.btn-primary.active.focus,.btn.bmd-btn-fab.btn-primary.active:focus,.btn.bmd-btn-fab.btn-primary.active:hover,.btn.bmd-btn-fab.btn-primary:active.focus,.btn.bmd-btn-fab.btn-primary:active:focus,.btn.bmd-btn-fab.btn-primary:active:hover,.btn.btn-raised.btn-primary.active.focus,.btn.btn-raised.btn-primary.active:focus,.btn.btn-raised.btn-primary.active:hover,.btn.btn-raised.btn-primary:active.focus,.btn.btn-raised.btn-primary:active:focus,.btn.btn-raised.btn-primary:active:hover,.open>.bmd-btn-fab.btn-primary.dropdown-toggle.custom-file-control:focus:before,.open>.bmd-btn-fab.btn-primary.dropdown-toggle.custom-file-control:hover:before,.open>.bmd-btn-fab.btn-primary.dropdown-toggle.focus.custom-file-control:before,.open>.btn-group-raised .btn-primary.dropdown-toggle.custom-file-control:focus:before,.open>.btn-group-raised .btn-primary.dropdown-toggle.custom-file-control:hover:before,.open>.btn-group-raised .btn-primary.dropdown-toggle.focus.custom-file-control:before,.open>.btn-group-raised .btn.btn-primary.dropdown-toggle.focus,.open>.btn-group-raised .btn.btn-primary.dropdown-toggle:focus,.open>.btn-group-raised .btn.btn-primary.dropdown-toggle:hover,.open>.btn-raised.btn-primary.dropdown-toggle.custom-file-control:focus:before,.open>.btn-raised.btn-primary.dropdown-toggle.custom-file-control:hover:before,.open>.btn-raised.btn-primary.dropdown-toggle.focus.custom-file-control:before,.open>.btn.bmd-btn-fab.btn-primary.dropdown-toggle.focus,.open>.btn.bmd-btn-fab.btn-primary.dropdown-toggle:focus,.open>.btn.bmd-btn-fab.btn-primary.dropdown-toggle:hover,.open>.btn.btn-raised.btn-primary.dropdown-toggle.focus,.open>.btn.btn-raised.btn-primary.dropdown-toggle:focus,.open>.btn.btn-raised.btn-primary.dropdown-toggle:hover{color:#fff;background-color:#008276;border-color:#001714}.open>.bmd-btn-fab.btn-primary.dropdown-toggle.bmd-btn-icon.custom-file-control:before,.open>.btn-group-raised .btn-primary.dropdown-toggle.bmd-btn-icon.custom-file-control:before,.open>.btn-group-raised .btn.btn-primary.dropdown-toggle.bmd-btn-icon,.open>.btn-raised.btn-primary.dropdown-toggle.bmd-btn-icon.custom-file-control:before,.open>.btn.bmd-btn-fab.btn-primary.dropdown-toggle.bmd-btn-icon,.open>.btn.btn-raised.btn-primary.dropdown-toggle.bmd-btn-icon{color:inherit;background-color:#009688}.open>.bmd-btn-fab.btn-primary.dropdown-toggle.bmd-btn-icon.custom-file-control:hover:before,.open>.btn-group-raised .btn-primary.dropdown-toggle.bmd-btn-icon.custom-file-control:hover:before,.open>.btn-group-raised .btn.btn-primary.dropdown-toggle.bmd-btn-icon:hover,.open>.btn-raised.btn-primary.dropdown-toggle.bmd-btn-icon.custom-file-control:hover:before,.open>.btn.bmd-btn-fab.btn-primary.dropdown-toggle.bmd-btn-icon:hover,.open>.btn.btn-raised.btn-primary.dropdown-toggle.bmd-btn-icon:hover{background-color:#008276}.bmd-btn-fab.btn-primary.custom-file-control:disabled.focus:before,.bmd-btn-fab.btn-primary.custom-file-control:disabled:focus:before,.bmd-btn-fab.btn-primary.custom-file-control:disabled:hover:before,.bmd-btn-fab.btn-primary.disabled.custom-file-control:focus:before,.bmd-btn-fab.btn-primary.disabled.custom-file-control:hover:before,.bmd-btn-fab.btn-primary.disabled.focus.custom-file-control:before,.btn-group-raised .btn-primary.custom-file-control:disabled.focus:before,.btn-group-raised .btn-primary.custom-file-control:disabled:focus:before,.btn-group-raised .btn-primary.custom-file-control:disabled:hover:before,.btn-group-raised .btn-primary.disabled.custom-file-control:focus:before,.btn-group-raised .btn-primary.disabled.custom-file-control:hover:before,.btn-group-raised .btn-primary.disabled.focus.custom-file-control:before,.btn-group-raised .btn.btn-primary.disabled.focus,.btn-group-raised .btn.btn-primary.disabled:focus,.btn-group-raised .btn.btn-primary.disabled:hover,.btn-group-raised .btn.btn-primary:disabled.focus,.btn-group-raised .btn.btn-primary:disabled:focus,.btn-group-raised .btn.btn-primary:disabled:hover,.btn-raised.btn-primary.custom-file-control:disabled.focus:before,.btn-raised.btn-primary.custom-file-control:disabled:focus:before,.btn-raised.btn-primary.custom-file-control:disabled:hover:before,.btn-raised.btn-primary.disabled.custom-file-control:focus:before,.btn-raised.btn-primary.disabled.custom-file-control:hover:before,.btn-raised.btn-primary.disabled.focus.custom-file-control:before,.btn.bmd-btn-fab.btn-primary.disabled.focus,.btn.bmd-btn-fab.btn-primary.disabled:focus,.btn.bmd-btn-fab.btn-primary.disabled:hover,.btn.bmd-btn-fab.btn-primary:disabled.focus,.btn.bmd-btn-fab.btn-primary:disabled:focus,.btn.bmd-btn-fab.btn-primary:disabled:hover,.btn.btn-raised.btn-primary.disabled.focus,.btn.btn-raised.btn-primary.disabled:focus,.btn.btn-raised.btn-primary.disabled:hover,.btn.btn-raised.btn-primary:disabled.focus,.btn.btn-raised.btn-primary:disabled:focus,.btn.btn-raised.btn-primary:disabled:hover{background-color:#009688;border-color:#009688}.bmd-btn-fab.btn-secondary.custom-file-control:before,.btn-group-raised .btn-secondary.custom-file-control:before,.btn-group-raised .btn.btn-secondary,.btn-raised.btn-secondary.custom-file-control:before,.btn.bmd-btn-fab.btn-secondary,.btn.btn-raised.btn-secondary{color:rgba(0,0,0,.87);background-color:#fafafa;border-color:#ccc}.bmd-btn-fab.btn-secondary.active.custom-file-control:before,.bmd-btn-fab.btn-secondary.custom-file-control:active:before,.bmd-btn-fab.btn-secondary.custom-file-control:focus:before,.bmd-btn-fab.btn-secondary.custom-file-control:hover:before,.bmd-btn-fab.btn-secondary.focus.custom-file-control:before,.btn-group-raised .btn-secondary.active.custom-file-control:before,.btn-group-raised .btn-secondary.custom-file-control:active:before,.btn-group-raised .btn-secondary.custom-file-control:focus:before,.btn-group-raised .btn-secondary.custom-file-control:hover:before,.btn-group-raised .btn-secondary.focus.custom-file-control:before,.btn-group-raised .btn.btn-secondary.active,.btn-group-raised .btn.btn-secondary.focus,.btn-group-raised .btn.btn-secondary:active,.btn-group-raised .btn.btn-secondary:focus,.btn-group-raised .btn.btn-secondary:hover,.btn-raised.btn-secondary.active.custom-file-control:before,.btn-raised.btn-secondary.custom-file-control:active:before,.btn-raised.btn-secondary.custom-file-control:focus:before,.btn-raised.btn-secondary.custom-file-control:hover:before,.btn-raised.btn-secondary.focus.custom-file-control:before,.btn.bmd-btn-fab.btn-secondary.active,.btn.bmd-btn-fab.btn-secondary.focus,.btn.bmd-btn-fab.btn-secondary:active,.btn.bmd-btn-fab.btn-secondary:focus,.btn.bmd-btn-fab.btn-secondary:hover,.btn.btn-raised.btn-secondary.active,.btn.btn-raised.btn-secondary.focus,.btn.btn-raised.btn-secondary:active,.btn.btn-raised.btn-secondary:focus,.btn.btn-raised.btn-secondary:hover,.open>.bmd-btn-fab.btn-secondary.dropdown-toggle.custom-file-control:before,.open>.btn-group-raised .btn-secondary.dropdown-toggle.custom-file-control:before,.open>.btn-group-raised .btn.btn-secondary.dropdown-toggle,.open>.btn-raised.btn-secondary.dropdown-toggle.custom-file-control:before,.open>.btn.bmd-btn-fab.btn-secondary.dropdown-toggle,.open>.btn.btn-raised.btn-secondary.dropdown-toggle{color:rgba(0,0,0,.87);background-color:#f0f0f0;border-color:#adadad}.bmd-btn-fab.btn-secondary.active.custom-file-control:focus:before,.bmd-btn-fab.btn-secondary.active.custom-file-control:hover:before,.bmd-btn-fab.btn-secondary.active.focus.custom-file-control:before,.bmd-btn-fab.btn-secondary.custom-file-control:active.focus:before,.bmd-btn-fab.btn-secondary.custom-file-control:active:focus:before,.bmd-btn-fab.btn-secondary.custom-file-control:active:hover:before,.btn-group-raised .btn-secondary.active.custom-file-control:focus:before,.btn-group-raised .btn-secondary.active.custom-file-control:hover:before,.btn-group-raised .btn-secondary.active.focus.custom-file-control:before,.btn-group-raised .btn-secondary.custom-file-control:active.focus:before,.btn-group-raised .btn-secondary.custom-file-control:active:focus:before,.btn-group-raised .btn-secondary.custom-file-control:active:hover:before,.btn-group-raised .btn.btn-secondary.active.focus,.btn-group-raised .btn.btn-secondary.active:focus,.btn-group-raised .btn.btn-secondary.active:hover,.btn-group-raised .btn.btn-secondary:active.focus,.btn-group-raised .btn.btn-secondary:active:focus,.btn-group-raised .btn.btn-secondary:active:hover,.btn-raised.btn-secondary.active.custom-file-control:focus:before,.btn-raised.btn-secondary.active.custom-file-control:hover:before,.btn-raised.btn-secondary.active.focus.custom-file-control:before,.btn-raised.btn-secondary.custom-file-control:active.focus:before,.btn-raised.btn-secondary.custom-file-control:active:focus:before,.btn-raised.btn-secondary.custom-file-control:active:hover:before,.btn.bmd-btn-fab.btn-secondary.active.focus,.btn.bmd-btn-fab.btn-secondary.active:focus,.btn.bmd-btn-fab.btn-secondary.active:hover,.btn.bmd-btn-fab.btn-secondary:active.focus,.btn.bmd-btn-fab.btn-secondary:active:focus,.btn.bmd-btn-fab.btn-secondary:active:hover,.btn.btn-raised.btn-secondary.active.focus,.btn.btn-raised.btn-secondary.active:focus,.btn.btn-raised.btn-secondary.active:hover,.btn.btn-raised.btn-secondary:active.focus,.btn.btn-raised.btn-secondary:active:focus,.btn.btn-raised.btn-secondary:active:hover,.open>.bmd-btn-fab.btn-secondary.dropdown-toggle.custom-file-control:focus:before,.open>.bmd-btn-fab.btn-secondary.dropdown-toggle.custom-file-control:hover:before,.open>.bmd-btn-fab.btn-secondary.dropdown-toggle.focus.custom-file-control:before,.open>.btn-group-raised .btn-secondary.dropdown-toggle.custom-file-control:focus:before,.open>.btn-group-raised .btn-secondary.dropdown-toggle.custom-file-control:hover:before,.open>.btn-group-raised .btn-secondary.dropdown-toggle.focus.custom-file-control:before,.open>.btn-group-raised .btn.btn-secondary.dropdown-toggle.focus,.open>.btn-group-raised .btn.btn-secondary.dropdown-toggle:focus,.open>.btn-group-raised .btn.btn-secondary.dropdown-toggle:hover,.open>.btn-raised.btn-secondary.dropdown-toggle.custom-file-control:focus:before,.open>.btn-raised.btn-secondary.dropdown-toggle.custom-file-control:hover:before,.open>.btn-raised.btn-secondary.dropdown-toggle.focus.custom-file-control:before,.open>.btn.bmd-btn-fab.btn-secondary.dropdown-toggle.focus,.open>.btn.bmd-btn-fab.btn-secondary.dropdown-toggle:focus,.open>.btn.bmd-btn-fab.btn-secondary.dropdown-toggle:hover,.open>.btn.btn-raised.btn-secondary.dropdown-toggle.focus,.open>.btn.btn-raised.btn-secondary.dropdown-toggle:focus,.open>.btn.btn-raised.btn-secondary.dropdown-toggle:hover{color:rgba(0,0,0,.87);background-color:#f0f0f0;border-color:#8c8c8c}.open>.bmd-btn-fab.btn-secondary.dropdown-toggle.bmd-btn-icon.custom-file-control:before,.open>.btn-group-raised .btn-secondary.dropdown-toggle.bmd-btn-icon.custom-file-control:before,.open>.btn-group-raised .btn.btn-secondary.dropdown-toggle.bmd-btn-icon,.open>.btn-raised.btn-secondary.dropdown-toggle.bmd-btn-icon.custom-file-control:before,.open>.btn.bmd-btn-fab.btn-secondary.dropdown-toggle.bmd-btn-icon,.open>.btn.btn-raised.btn-secondary.dropdown-toggle.bmd-btn-icon{color:inherit;background-color:#fafafa}.open>.bmd-btn-fab.btn-secondary.dropdown-toggle.bmd-btn-icon.custom-file-control:hover:before,.open>.btn-group-raised .btn-secondary.dropdown-toggle.bmd-btn-icon.custom-file-control:hover:before,.open>.btn-group-raised .btn.btn-secondary.dropdown-toggle.bmd-btn-icon:hover,.open>.btn-raised.btn-secondary.dropdown-toggle.bmd-btn-icon.custom-file-control:hover:before,.open>.btn.bmd-btn-fab.btn-secondary.dropdown-toggle.bmd-btn-icon:hover,.open>.btn.btn-raised.btn-secondary.dropdown-toggle.bmd-btn-icon:hover{background-color:#f0f0f0}.bmd-btn-fab.btn-secondary.custom-file-control:disabled.focus:before,.bmd-btn-fab.btn-secondary.custom-file-control:disabled:focus:before,.bmd-btn-fab.btn-secondary.custom-file-control:disabled:hover:before,.bmd-btn-fab.btn-secondary.disabled.custom-file-control:focus:before,.bmd-btn-fab.btn-secondary.disabled.custom-file-control:hover:before,.bmd-btn-fab.btn-secondary.disabled.focus.custom-file-control:before,.btn-group-raised .btn-secondary.custom-file-control:disabled.focus:before,.btn-group-raised .btn-secondary.custom-file-control:disabled:focus:before,.btn-group-raised .btn-secondary.custom-file-control:disabled:hover:before,.btn-group-raised .btn-secondary.disabled.custom-file-control:focus:before,.btn-group-raised .btn-secondary.disabled.custom-file-control:hover:before,.btn-group-raised .btn-secondary.disabled.focus.custom-file-control:before,.btn-group-raised .btn.btn-secondary.disabled.focus,.btn-group-raised .btn.btn-secondary.disabled:focus,.btn-group-raised .btn.btn-secondary.disabled:hover,.btn-group-raised .btn.btn-secondary:disabled.focus,.btn-group-raised .btn.btn-secondary:disabled:focus,.btn-group-raised .btn.btn-secondary:disabled:hover,.btn-raised.btn-secondary.custom-file-control:disabled.focus:before,.btn-raised.btn-secondary.custom-file-control:disabled:focus:before,.btn-raised.btn-secondary.custom-file-control:disabled:hover:before,.btn-raised.btn-secondary.disabled.custom-file-control:focus:before,.btn-raised.btn-secondary.disabled.custom-file-control:hover:before,.btn-raised.btn-secondary.disabled.focus.custom-file-control:before,.btn.bmd-btn-fab.btn-secondary.disabled.focus,.btn.bmd-btn-fab.btn-secondary.disabled:focus,.btn.bmd-btn-fab.btn-secondary.disabled:hover,.btn.bmd-btn-fab.btn-secondary:disabled.focus,.btn.bmd-btn-fab.btn-secondary:disabled:focus,.btn.bmd-btn-fab.btn-secondary:disabled:hover,.btn.btn-raised.btn-secondary.disabled.focus,.btn.btn-raised.btn-secondary.disabled:focus,.btn.btn-raised.btn-secondary.disabled:hover,.btn.btn-raised.btn-secondary:disabled.focus,.btn.btn-raised.btn-secondary:disabled:focus,.btn.btn-raised.btn-secondary:disabled:hover{background-color:#fafafa;border-color:#ccc}.bmd-btn-fab.btn-info.custom-file-control:before,.btn-group-raised .btn-info.custom-file-control:before,.btn-group-raised .btn.btn-info,.btn-raised.btn-info.custom-file-control:before,.btn.bmd-btn-fab.btn-info,.btn.btn-raised.btn-info{color:#fff;background-color:#03a9f4;border-color:#03a9f4}.bmd-btn-fab.btn-info.active.custom-file-control:before,.bmd-btn-fab.btn-info.custom-file-control:active:before,.bmd-btn-fab.btn-info.custom-file-control:focus:before,.bmd-btn-fab.btn-info.custom-file-control:hover:before,.bmd-btn-fab.btn-info.focus.custom-file-control:before,.btn-group-raised .btn-info.active.custom-file-control:before,.btn-group-raised .btn-info.custom-file-control:active:before,.btn-group-raised .btn-info.custom-file-control:focus:before,.btn-group-raised .btn-info.custom-file-control:hover:before,.btn-group-raised .btn-info.focus.custom-file-control:before,.btn-group-raised .btn.btn-info.active,.btn-group-raised .btn.btn-info.focus,.btn-group-raised .btn.btn-info:active,.btn-group-raised .btn.btn-info:focus,.btn-group-raised .btn.btn-info:hover,.btn-raised.btn-info.active.custom-file-control:before,.btn-raised.btn-info.custom-file-control:active:before,.btn-raised.btn-info.custom-file-control:focus:before,.btn-raised.btn-info.custom-file-control:hover:before,.btn-raised.btn-info.focus.custom-file-control:before,.btn.bmd-btn-fab.btn-info.active,.btn.bmd-btn-fab.btn-info.focus,.btn.bmd-btn-fab.btn-info:active,.btn.bmd-btn-fab.btn-info:focus,.btn.bmd-btn-fab.btn-info:hover,.btn.btn-raised.btn-info.active,.btn.btn-raised.btn-info.focus,.btn.btn-raised.btn-info:active,.btn.btn-raised.btn-info:focus,.btn.btn-raised.btn-info:hover,.open>.bmd-btn-fab.btn-info.dropdown-toggle.custom-file-control:before,.open>.btn-group-raised .btn-info.dropdown-toggle.custom-file-control:before,.open>.btn-group-raised .btn.btn-info.dropdown-toggle,.open>.btn-raised.btn-info.dropdown-toggle.custom-file-control:before,.open>.btn.bmd-btn-fab.btn-info.dropdown-toggle,.open>.btn.btn-raised.btn-info.dropdown-toggle{color:#fff;background-color:#039be0;border-color:#027fb8}.bmd-btn-fab.btn-info.active.custom-file-control:focus:before,.bmd-btn-fab.btn-info.active.custom-file-control:hover:before,.bmd-btn-fab.btn-info.active.focus.custom-file-control:before,.bmd-btn-fab.btn-info.custom-file-control:active.focus:before,.bmd-btn-fab.btn-info.custom-file-control:active:focus:before,.bmd-btn-fab.btn-info.custom-file-control:active:hover:before,.btn-group-raised .btn-info.active.custom-file-control:focus:before,.btn-group-raised .btn-info.active.custom-file-control:hover:before,.btn-group-raised .btn-info.active.focus.custom-file-control:before,.btn-group-raised .btn-info.custom-file-control:active.focus:before,.btn-group-raised .btn-info.custom-file-control:active:focus:before,.btn-group-raised .btn-info.custom-file-control:active:hover:before,.btn-group-raised .btn.btn-info.active.focus,.btn-group-raised .btn.btn-info.active:focus,.btn-group-raised .btn.btn-info.active:hover,.btn-group-raised .btn.btn-info:active.focus,.btn-group-raised .btn.btn-info:active:focus,.btn-group-raised .btn.btn-info:active:hover,.btn-raised.btn-info.active.custom-file-control:focus:before,.btn-raised.btn-info.active.custom-file-control:hover:before,.btn-raised.btn-info.active.focus.custom-file-control:before,.btn-raised.btn-info.custom-file-control:active.focus:before,.btn-raised.btn-info.custom-file-control:active:focus:before,.btn-raised.btn-info.custom-file-control:active:hover:before,.btn.bmd-btn-fab.btn-info.active.focus,.btn.bmd-btn-fab.btn-info.active:focus,.btn.bmd-btn-fab.btn-info.active:hover,.btn.bmd-btn-fab.btn-info:active.focus,.btn.bmd-btn-fab.btn-info:active:focus,.btn.bmd-btn-fab.btn-info:active:hover,.btn.btn-raised.btn-info.active.focus,.btn.btn-raised.btn-info.active:focus,.btn.btn-raised.btn-info.active:hover,.btn.btn-raised.btn-info:active.focus,.btn.btn-raised.btn-info:active:focus,.btn.btn-raised.btn-info:active:hover,.open>.bmd-btn-fab.btn-info.dropdown-toggle.custom-file-control:focus:before,.open>.bmd-btn-fab.btn-info.dropdown-toggle.custom-file-control:hover:before,.open>.bmd-btn-fab.btn-info.dropdown-toggle.focus.custom-file-control:before,.open>.btn-group-raised .btn-info.dropdown-toggle.custom-file-control:focus:before,.open>.btn-group-raised .btn-info.dropdown-toggle.custom-file-control:hover:before,.open>.btn-group-raised .btn-info.dropdown-toggle.focus.custom-file-control:before,.open>.btn-group-raised .btn.btn-info.dropdown-toggle.focus,.open>.btn-group-raised .btn.btn-info.dropdown-toggle:focus,.open>.btn-group-raised .btn.btn-info.dropdown-toggle:hover,.open>.btn-raised.btn-info.dropdown-toggle.custom-file-control:focus:before,.open>.btn-raised.btn-info.dropdown-toggle.custom-file-control:hover:before,.open>.btn-raised.btn-info.dropdown-toggle.focus.custom-file-control:before,.open>.btn.bmd-btn-fab.btn-info.dropdown-toggle.focus,.open>.btn.bmd-btn-fab.btn-info.dropdown-toggle:focus,.open>.btn.bmd-btn-fab.btn-info.dropdown-toggle:hover,.open>.btn.btn-raised.btn-info.dropdown-toggle.focus,.open>.btn.btn-raised.btn-info.dropdown-toggle:focus,.open>.btn.btn-raised.btn-info.dropdown-toggle:hover{color:#fff;background-color:#039be0;border-color:#015276}.open>.bmd-btn-fab.btn-info.dropdown-toggle.bmd-btn-icon.custom-file-control:before,.open>.btn-group-raised .btn-info.dropdown-toggle.bmd-btn-icon.custom-file-control:before,.open>.btn-group-raised .btn.btn-info.dropdown-toggle.bmd-btn-icon,.open>.btn-raised.btn-info.dropdown-toggle.bmd-btn-icon.custom-file-control:before,.open>.btn.bmd-btn-fab.btn-info.dropdown-toggle.bmd-btn-icon,.open>.btn.btn-raised.btn-info.dropdown-toggle.bmd-btn-icon{color:inherit;background-color:#03a9f4}.open>.bmd-btn-fab.btn-info.dropdown-toggle.bmd-btn-icon.custom-file-control:hover:before,.open>.btn-group-raised .btn-info.dropdown-toggle.bmd-btn-icon.custom-file-control:hover:before,.open>.btn-group-raised .btn.btn-info.dropdown-toggle.bmd-btn-icon:hover,.open>.btn-raised.btn-info.dropdown-toggle.bmd-btn-icon.custom-file-control:hover:before,.open>.btn.bmd-btn-fab.btn-info.dropdown-toggle.bmd-btn-icon:hover,.open>.btn.btn-raised.btn-info.dropdown-toggle.bmd-btn-icon:hover{background-color:#039be0}.bmd-btn-fab.btn-info.custom-file-control:disabled.focus:before,.bmd-btn-fab.btn-info.custom-file-control:disabled:focus:before,.bmd-btn-fab.btn-info.custom-file-control:disabled:hover:before,.bmd-btn-fab.btn-info.disabled.custom-file-control:focus:before,.bmd-btn-fab.btn-info.disabled.custom-file-control:hover:before,.bmd-btn-fab.btn-info.disabled.focus.custom-file-control:before,.btn-group-raised .btn-info.custom-file-control:disabled.focus:before,.btn-group-raised .btn-info.custom-file-control:disabled:focus:before,.btn-group-raised .btn-info.custom-file-control:disabled:hover:before,.btn-group-raised .btn-info.disabled.custom-file-control:focus:before,.btn-group-raised .btn-info.disabled.custom-file-control:hover:before,.btn-group-raised .btn-info.disabled.focus.custom-file-control:before,.btn-group-raised .btn.btn-info.disabled.focus,.btn-group-raised .btn.btn-info.disabled:focus,.btn-group-raised .btn.btn-info.disabled:hover,.btn-group-raised .btn.btn-info:disabled.focus,.btn-group-raised .btn.btn-info:disabled:focus,.btn-group-raised .btn.btn-info:disabled:hover,.btn-raised.btn-info.custom-file-control:disabled.focus:before,.btn-raised.btn-info.custom-file-control:disabled:focus:before,.btn-raised.btn-info.custom-file-control:disabled:hover:before,.btn-raised.btn-info.disabled.custom-file-control:focus:before,.btn-raised.btn-info.disabled.custom-file-control:hover:before,.btn-raised.btn-info.disabled.focus.custom-file-control:before,.btn.bmd-btn-fab.btn-info.disabled.focus,.btn.bmd-btn-fab.btn-info.disabled:focus,.btn.bmd-btn-fab.btn-info.disabled:hover,.btn.bmd-btn-fab.btn-info:disabled.focus,.btn.bmd-btn-fab.btn-info:disabled:focus,.btn.bmd-btn-fab.btn-info:disabled:hover,.btn.btn-raised.btn-info.disabled.focus,.btn.btn-raised.btn-info.disabled:focus,.btn.btn-raised.btn-info.disabled:hover,.btn.btn-raised.btn-info:disabled.focus,.btn.btn-raised.btn-info:disabled:focus,.btn.btn-raised.btn-info:disabled:hover{background-color:#03a9f4;border-color:#03a9f4}.bmd-btn-fab.btn-success.custom-file-control:before,.btn-group-raised .btn-success.custom-file-control:before,.btn-group-raised .btn.btn-success,.btn-raised.btn-success.custom-file-control:before,.btn.bmd-btn-fab.btn-success,.btn.btn-raised.btn-success{color:#fff;background-color:#4caf50;border-color:#4caf50}.bmd-btn-fab.btn-success.active.custom-file-control:before,.bmd-btn-fab.btn-success.custom-file-control:active:before,.bmd-btn-fab.btn-success.custom-file-control:focus:before,.bmd-btn-fab.btn-success.custom-file-control:hover:before,.bmd-btn-fab.btn-success.focus.custom-file-control:before,.btn-group-raised .btn-success.active.custom-file-control:before,.btn-group-raised .btn-success.custom-file-control:active:before,.btn-group-raised .btn-success.custom-file-control:focus:before,.btn-group-raised .btn-success.custom-file-control:hover:before,.btn-group-raised .btn-success.focus.custom-file-control:before,.btn-group-raised .btn.btn-success.active,.btn-group-raised .btn.btn-success.focus,.btn-group-raised .btn.btn-success:active,.btn-group-raised .btn.btn-success:focus,.btn-group-raised .btn.btn-success:hover,.btn-raised.btn-success.active.custom-file-control:before,.btn-raised.btn-success.custom-file-control:active:before,.btn-raised.btn-success.custom-file-control:focus:before,.btn-raised.btn-success.custom-file-control:hover:before,.btn-raised.btn-success.focus.custom-file-control:before,.btn.bmd-btn-fab.btn-success.active,.btn.bmd-btn-fab.btn-success.focus,.btn.bmd-btn-fab.btn-success:active,.btn.bmd-btn-fab.btn-success:focus,.btn.bmd-btn-fab.btn-success:hover,.btn.btn-raised.btn-success.active,.btn.btn-raised.btn-success.focus,.btn.btn-raised.btn-success:active,.btn.btn-raised.btn-success:focus,.btn.btn-raised.btn-success:hover,.open>.bmd-btn-fab.btn-success.dropdown-toggle.custom-file-control:before,.open>.btn-group-raised .btn-success.dropdown-toggle.custom-file-control:before,.open>.btn-group-raised .btn.btn-success.dropdown-toggle,.open>.btn-raised.btn-success.dropdown-toggle.custom-file-control:before,.open>.btn.bmd-btn-fab.btn-success.dropdown-toggle,.open>.btn.btn-raised.btn-success.dropdown-toggle{color:#fff;background-color:#46a149;border-color:#39843c}.bmd-btn-fab.btn-success.active.custom-file-control:focus:before,.bmd-btn-fab.btn-success.active.custom-file-control:hover:before,.bmd-btn-fab.btn-success.active.focus.custom-file-control:before,.bmd-btn-fab.btn-success.custom-file-control:active.focus:before,.bmd-btn-fab.btn-success.custom-file-control:active:focus:before,.bmd-btn-fab.btn-success.custom-file-control:active:hover:before,.btn-group-raised .btn-success.active.custom-file-control:focus:before,.btn-group-raised .btn-success.active.custom-file-control:hover:before,.btn-group-raised .btn-success.active.focus.custom-file-control:before,.btn-group-raised .btn-success.custom-file-control:active.focus:before,.btn-group-raised .btn-success.custom-file-control:active:focus:before,.btn-group-raised .btn-success.custom-file-control:active:hover:before,.btn-group-raised .btn.btn-success.active.focus,.btn-group-raised .btn.btn-success.active:focus,.btn-group-raised .btn.btn-success.active:hover,.btn-group-raised .btn.btn-success:active.focus,.btn-group-raised .btn.btn-success:active:focus,.btn-group-raised .btn.btn-success:active:hover,.btn-raised.btn-success.active.custom-file-control:focus:before,.btn-raised.btn-success.active.custom-file-control:hover:before,.btn-raised.btn-success.active.focus.custom-file-control:before,.btn-raised.btn-success.custom-file-control:active.focus:before,.btn-raised.btn-success.custom-file-control:active:focus:before,.btn-raised.btn-success.custom-file-control:active:hover:before,.btn.bmd-btn-fab.btn-success.active.focus,.btn.bmd-btn-fab.btn-success.active:focus,.btn.bmd-btn-fab.btn-success.active:hover,.btn.bmd-btn-fab.btn-success:active.focus,.btn.bmd-btn-fab.btn-success:active:focus,.btn.bmd-btn-fab.btn-success:active:hover,.btn.btn-raised.btn-success.active.focus,.btn.btn-raised.btn-success.active:focus,.btn.btn-raised.btn-success.active:hover,.btn.btn-raised.btn-success:active.focus,.btn.btn-raised.btn-success:active:focus,.btn.btn-raised.btn-success:active:hover,.open>.bmd-btn-fab.btn-success.dropdown-toggle.custom-file-control:focus:before,.open>.bmd-btn-fab.btn-success.dropdown-toggle.custom-file-control:hover:before,.open>.bmd-btn-fab.btn-success.dropdown-toggle.focus.custom-file-control:before,.open>.btn-group-raised .btn-success.dropdown-toggle.custom-file-control:focus:before,.open>.btn-group-raised .btn-success.dropdown-toggle.custom-file-control:hover:before,.open>.btn-group-raised .btn-success.dropdown-toggle.focus.custom-file-control:before,.open>.btn-group-raised .btn.btn-success.dropdown-toggle.focus,.open>.btn-group-raised .btn.btn-success.dropdown-toggle:focus,.open>.btn-group-raised .btn.btn-success.dropdown-toggle:hover,.open>.btn-raised.btn-success.dropdown-toggle.custom-file-control:focus:before,.open>.btn-raised.btn-success.dropdown-toggle.custom-file-control:hover:before,.open>.btn-raised.btn-success.dropdown-toggle.focus.custom-file-control:before,.open>.btn.bmd-btn-fab.btn-success.dropdown-toggle.focus,.open>.btn.bmd-btn-fab.btn-success.dropdown-toggle:focus,.open>.btn.bmd-btn-fab.btn-success.dropdown-toggle:hover,.open>.btn.btn-raised.btn-success.dropdown-toggle.focus,.open>.btn.btn-raised.btn-success.dropdown-toggle:focus,.open>.btn.btn-raised.btn-success.dropdown-toggle:hover{color:#fff;background-color:#46a149;border-color:#255627}.open>.bmd-btn-fab.btn-success.dropdown-toggle.bmd-btn-icon.custom-file-control:before,.open>.btn-group-raised .btn-success.dropdown-toggle.bmd-btn-icon.custom-file-control:before,.open>.btn-group-raised .btn.btn-success.dropdown-toggle.bmd-btn-icon,.open>.btn-raised.btn-success.dropdown-toggle.bmd-btn-icon.custom-file-control:before,.open>.btn.bmd-btn-fab.btn-success.dropdown-toggle.bmd-btn-icon,.open>.btn.btn-raised.btn-success.dropdown-toggle.bmd-btn-icon{color:inherit;background-color:#4caf50}.open>.bmd-btn-fab.btn-success.dropdown-toggle.bmd-btn-icon.custom-file-control:hover:before,.open>.btn-group-raised .btn-success.dropdown-toggle.bmd-btn-icon.custom-file-control:hover:before,.open>.btn-group-raised .btn.btn-success.dropdown-toggle.bmd-btn-icon:hover,.open>.btn-raised.btn-success.dropdown-toggle.bmd-btn-icon.custom-file-control:hover:before,.open>.btn.bmd-btn-fab.btn-success.dropdown-toggle.bmd-btn-icon:hover,.open>.btn.btn-raised.btn-success.dropdown-toggle.bmd-btn-icon:hover{background-color:#46a149}.bmd-btn-fab.btn-success.custom-file-control:disabled.focus:before,.bmd-btn-fab.btn-success.custom-file-control:disabled:focus:before,.bmd-btn-fab.btn-success.custom-file-control:disabled:hover:before,.bmd-btn-fab.btn-success.disabled.custom-file-control:focus:before,.bmd-btn-fab.btn-success.disabled.custom-file-control:hover:before,.bmd-btn-fab.btn-success.disabled.focus.custom-file-control:before,.btn-group-raised .btn-success.custom-file-control:disabled.focus:before,.btn-group-raised .btn-success.custom-file-control:disabled:focus:before,.btn-group-raised .btn-success.custom-file-control:disabled:hover:before,.btn-group-raised .btn-success.disabled.custom-file-control:focus:before,.btn-group-raised .btn-success.disabled.custom-file-control:hover:before,.btn-group-raised .btn-success.disabled.focus.custom-file-control:before,.btn-group-raised .btn.btn-success.disabled.focus,.btn-group-raised .btn.btn-success.disabled:focus,.btn-group-raised .btn.btn-success.disabled:hover,.btn-group-raised .btn.btn-success:disabled.focus,.btn-group-raised .btn.btn-success:disabled:focus,.btn-group-raised .btn.btn-success:disabled:hover,.btn-raised.btn-success.custom-file-control:disabled.focus:before,.btn-raised.btn-success.custom-file-control:disabled:focus:before,.btn-raised.btn-success.custom-file-control:disabled:hover:before,.btn-raised.btn-success.disabled.custom-file-control:focus:before,.btn-raised.btn-success.disabled.custom-file-control:hover:before,.btn-raised.btn-success.disabled.focus.custom-file-control:before,.btn.bmd-btn-fab.btn-success.disabled.focus,.btn.bmd-btn-fab.btn-success.disabled:focus,.btn.bmd-btn-fab.btn-success.disabled:hover,.btn.bmd-btn-fab.btn-success:disabled.focus,.btn.bmd-btn-fab.btn-success:disabled:focus,.btn.bmd-btn-fab.btn-success:disabled:hover,.btn.btn-raised.btn-success.disabled.focus,.btn.btn-raised.btn-success.disabled:focus,.btn.btn-raised.btn-success.disabled:hover,.btn.btn-raised.btn-success:disabled.focus,.btn.btn-raised.btn-success:disabled:focus,.btn.btn-raised.btn-success:disabled:hover{background-color:#4caf50;border-color:#4caf50}.bmd-btn-fab.btn-warning.custom-file-control:before,.btn-group-raised .btn-warning.custom-file-control:before,.btn-group-raised .btn.btn-warning,.btn-raised.btn-warning.custom-file-control:before,.btn.bmd-btn-fab.btn-warning,.btn.btn-raised.btn-warning{color:#fff;background-color:#ff5722;border-color:#ff5722}.bmd-btn-fab.btn-warning.active.custom-file-control:before,.bmd-btn-fab.btn-warning.custom-file-control:active:before,.bmd-btn-fab.btn-warning.custom-file-control:focus:before,.bmd-btn-fab.btn-warning.custom-file-control:hover:before,.bmd-btn-fab.btn-warning.focus.custom-file-control:before,.btn-group-raised .btn-warning.active.custom-file-control:before,.btn-group-raised .btn-warning.custom-file-control:active:before,.btn-group-raised .btn-warning.custom-file-control:focus:before,.btn-group-raised .btn-warning.custom-file-control:hover:before,.btn-group-raised .btn-warning.focus.custom-file-control:before,.btn-group-raised .btn.btn-warning.active,.btn-group-raised .btn.btn-warning.focus,.btn-group-raised .btn.btn-warning:active,.btn-group-raised .btn.btn-warning:focus,.btn-group-raised .btn.btn-warning:hover,.btn-raised.btn-warning.active.custom-file-control:before,.btn-raised.btn-warning.custom-file-control:active:before,.btn-raised.btn-warning.custom-file-control:focus:before,.btn-raised.btn-warning.custom-file-control:hover:before,.btn-raised.btn-warning.focus.custom-file-control:before,.btn.bmd-btn-fab.btn-warning.active,.btn.bmd-btn-fab.btn-warning.focus,.btn.bmd-btn-fab.btn-warning:active,.btn.bmd-btn-fab.btn-warning:focus,.btn.bmd-btn-fab.btn-warning:hover,.btn.btn-raised.btn-warning.active,.btn.btn-raised.btn-warning.focus,.btn.btn-raised.btn-warning:active,.btn.btn-raised.btn-warning:focus,.btn.btn-raised.btn-warning:hover,.open>.bmd-btn-fab.btn-warning.dropdown-toggle.custom-file-control:before,.open>.btn-group-raised .btn-warning.dropdown-toggle.custom-file-control:before,.open>.btn-group-raised .btn.btn-warning.dropdown-toggle,.open>.btn-raised.btn-warning.dropdown-toggle.custom-file-control:before,.open>.btn.bmd-btn-fab.btn-warning.dropdown-toggle,.open>.btn.btn-raised.btn-warning.dropdown-toggle{color:#fff;background-color:#ff470e;border-color:#e43700}.bmd-btn-fab.btn-warning.active.custom-file-control:focus:before,.bmd-btn-fab.btn-warning.active.custom-file-control:hover:before,.bmd-btn-fab.btn-warning.active.focus.custom-file-control:before,.bmd-btn-fab.btn-warning.custom-file-control:active.focus:before,.bmd-btn-fab.btn-warning.custom-file-control:active:focus:before,.bmd-btn-fab.btn-warning.custom-file-control:active:hover:before,.btn-group-raised .btn-warning.active.custom-file-control:focus:before,.btn-group-raised .btn-warning.active.custom-file-control:hover:before,.btn-group-raised .btn-warning.active.focus.custom-file-control:before,.btn-group-raised .btn-warning.custom-file-control:active.focus:before,.btn-group-raised .btn-warning.custom-file-control:active:focus:before,.btn-group-raised .btn-warning.custom-file-control:active:hover:before,.btn-group-raised .btn.btn-warning.active.focus,.btn-group-raised .btn.btn-warning.active:focus,.btn-group-raised .btn.btn-warning.active:hover,.btn-group-raised .btn.btn-warning:active.focus,.btn-group-raised .btn.btn-warning:active:focus,.btn-group-raised .btn.btn-warning:active:hover,.btn-raised.btn-warning.active.custom-file-control:focus:before,.btn-raised.btn-warning.active.custom-file-control:hover:before,.btn-raised.btn-warning.active.focus.custom-file-control:before,.btn-raised.btn-warning.custom-file-control:active.focus:before,.btn-raised.btn-warning.custom-file-control:active:focus:before,.btn-raised.btn-warning.custom-file-control:active:hover:before,.btn.bmd-btn-fab.btn-warning.active.focus,.btn.bmd-btn-fab.btn-warning.active:focus,.btn.bmd-btn-fab.btn-warning.active:hover,.btn.bmd-btn-fab.btn-warning:active.focus,.btn.bmd-btn-fab.btn-warning:active:focus,.btn.bmd-btn-fab.btn-warning:active:hover,.btn.btn-raised.btn-warning.active.focus,.btn.btn-raised.btn-warning.active:focus,.btn.btn-raised.btn-warning.active:hover,.btn.btn-raised.btn-warning:active.focus,.btn.btn-raised.btn-warning:active:focus,.btn.btn-raised.btn-warning:active:hover,.open>.bmd-btn-fab.btn-warning.dropdown-toggle.custom-file-control:focus:before,.open>.bmd-btn-fab.btn-warning.dropdown-toggle.custom-file-control:hover:before,.open>.bmd-btn-fab.btn-warning.dropdown-toggle.focus.custom-file-control:before,.open>.btn-group-raised .btn-warning.dropdown-toggle.custom-file-control:focus:before,.open>.btn-group-raised .btn-warning.dropdown-toggle.custom-file-control:hover:before,.open>.btn-group-raised .btn-warning.dropdown-toggle.focus.custom-file-control:before,.open>.btn-group-raised .btn.btn-warning.dropdown-toggle.focus,.open>.btn-group-raised .btn.btn-warning.dropdown-toggle:focus,.open>.btn-group-raised .btn.btn-warning.dropdown-toggle:hover,.open>.btn-raised.btn-warning.dropdown-toggle.custom-file-control:focus:before,.open>.btn-raised.btn-warning.dropdown-toggle.custom-file-control:hover:before,.open>.btn-raised.btn-warning.dropdown-toggle.focus.custom-file-control:before,.open>.btn.bmd-btn-fab.btn-warning.dropdown-toggle.focus,.open>.btn.bmd-btn-fab.btn-warning.dropdown-toggle:focus,.open>.btn.bmd-btn-fab.btn-warning.dropdown-toggle:hover,.open>.btn.btn-raised.btn-warning.dropdown-toggle.focus,.open>.btn.btn-raised.btn-warning.dropdown-toggle:focus,.open>.btn.btn-raised.btn-warning.dropdown-toggle:hover{color:#fff;background-color:#ff470e;border-color:#a22700}.open>.bmd-btn-fab.btn-warning.dropdown-toggle.bmd-btn-icon.custom-file-control:before,.open>.btn-group-raised .btn-warning.dropdown-toggle.bmd-btn-icon.custom-file-control:before,.open>.btn-group-raised .btn.btn-warning.dropdown-toggle.bmd-btn-icon,.open>.btn-raised.btn-warning.dropdown-toggle.bmd-btn-icon.custom-file-control:before,.open>.btn.bmd-btn-fab.btn-warning.dropdown-toggle.bmd-btn-icon,.open>.btn.btn-raised.btn-warning.dropdown-toggle.bmd-btn-icon{color:inherit;background-color:#ff5722}.open>.bmd-btn-fab.btn-warning.dropdown-toggle.bmd-btn-icon.custom-file-control:hover:before,.open>.btn-group-raised .btn-warning.dropdown-toggle.bmd-btn-icon.custom-file-control:hover:before,.open>.btn-group-raised .btn.btn-warning.dropdown-toggle.bmd-btn-icon:hover,.open>.btn-raised.btn-warning.dropdown-toggle.bmd-btn-icon.custom-file-control:hover:before,.open>.btn.bmd-btn-fab.btn-warning.dropdown-toggle.bmd-btn-icon:hover,.open>.btn.btn-raised.btn-warning.dropdown-toggle.bmd-btn-icon:hover{background-color:#ff470e}.bmd-btn-fab.btn-warning.custom-file-control:disabled.focus:before,.bmd-btn-fab.btn-warning.custom-file-control:disabled:focus:before,.bmd-btn-fab.btn-warning.custom-file-control:disabled:hover:before,.bmd-btn-fab.btn-warning.disabled.custom-file-control:focus:before,.bmd-btn-fab.btn-warning.disabled.custom-file-control:hover:before,.bmd-btn-fab.btn-warning.disabled.focus.custom-file-control:before,.btn-group-raised .btn-warning.custom-file-control:disabled.focus:before,.btn-group-raised .btn-warning.custom-file-control:disabled:focus:before,.btn-group-raised .btn-warning.custom-file-control:disabled:hover:before,.btn-group-raised .btn-warning.disabled.custom-file-control:focus:before,.btn-group-raised .btn-warning.disabled.custom-file-control:hover:before,.btn-group-raised .btn-warning.disabled.focus.custom-file-control:before,.btn-group-raised .btn.btn-warning.disabled.focus,.btn-group-raised .btn.btn-warning.disabled:focus,.btn-group-raised .btn.btn-warning.disabled:hover,.btn-group-raised .btn.btn-warning:disabled.focus,.btn-group-raised .btn.btn-warning:disabled:focus,.btn-group-raised .btn.btn-warning:disabled:hover,.btn-raised.btn-warning.custom-file-control:disabled.focus:before,.btn-raised.btn-warning.custom-file-control:disabled:focus:before,.btn-raised.btn-warning.custom-file-control:disabled:hover:before,.btn-raised.btn-warning.disabled.custom-file-control:focus:before,.btn-raised.btn-warning.disabled.custom-file-control:hover:before,.btn-raised.btn-warning.disabled.focus.custom-file-control:before,.btn.bmd-btn-fab.btn-warning.disabled.focus,.btn.bmd-btn-fab.btn-warning.disabled:focus,.btn.bmd-btn-fab.btn-warning.disabled:hover,.btn.bmd-btn-fab.btn-warning:disabled.focus,.btn.bmd-btn-fab.btn-warning:disabled:focus,.btn.bmd-btn-fab.btn-warning:disabled:hover,.btn.btn-raised.btn-warning.disabled.focus,.btn.btn-raised.btn-warning.disabled:focus,.btn.btn-raised.btn-warning.disabled:hover,.btn.btn-raised.btn-warning:disabled.focus,.btn.btn-raised.btn-warning:disabled:focus,.btn.btn-raised.btn-warning:disabled:hover{background-color:#ff5722;border-color:#ff5722}.bmd-btn-fab.btn-danger.custom-file-control:before,.btn-group-raised .btn-danger.custom-file-control:before,.btn-group-raised .btn.btn-danger,.btn-raised.btn-danger.custom-file-control:before,.btn.bmd-btn-fab.btn-danger,.btn.btn-raised.btn-danger{color:#fff;background-color:#f44336;border-color:#f44336}.bmd-btn-fab.btn-danger.active.custom-file-control:before,.bmd-btn-fab.btn-danger.custom-file-control:active:before,.bmd-btn-fab.btn-danger.custom-file-control:focus:before,.bmd-btn-fab.btn-danger.custom-file-control:hover:before,.bmd-btn-fab.btn-danger.focus.custom-file-control:before,.btn-group-raised .btn-danger.active.custom-file-control:before,.btn-group-raised .btn-danger.custom-file-control:active:before,.btn-group-raised .btn-danger.custom-file-control:focus:before,.btn-group-raised .btn-danger.custom-file-control:hover:before,.btn-group-raised .btn-danger.focus.custom-file-control:before,.btn-group-raised .btn.btn-danger.active,.btn-group-raised .btn.btn-danger.focus,.btn-group-raised .btn.btn-danger:active,.btn-group-raised .btn.btn-danger:focus,.btn-group-raised .btn.btn-danger:hover,.btn-raised.btn-danger.active.custom-file-control:before,.btn-raised.btn-danger.custom-file-control:active:before,.btn-raised.btn-danger.custom-file-control:focus:before,.btn-raised.btn-danger.custom-file-control:hover:before,.btn-raised.btn-danger.focus.custom-file-control:before,.btn.bmd-btn-fab.btn-danger.active,.btn.bmd-btn-fab.btn-danger.focus,.btn.bmd-btn-fab.btn-danger:active,.btn.bmd-btn-fab.btn-danger:focus,.btn.bmd-btn-fab.btn-danger:hover,.btn.btn-raised.btn-danger.active,.btn.btn-raised.btn-danger.focus,.btn.btn-raised.btn-danger:active,.btn.btn-raised.btn-danger:focus,.btn.btn-raised.btn-danger:hover,.open>.bmd-btn-fab.btn-danger.dropdown-toggle.custom-file-control:before,.open>.btn-group-raised .btn-danger.dropdown-toggle.custom-file-control:before,.open>.btn-group-raised .btn.btn-danger.dropdown-toggle,.open>.btn-raised.btn-danger.dropdown-toggle.custom-file-control:before,.open>.btn.bmd-btn-fab.btn-danger.dropdown-toggle,.open>.btn.btn-raised.btn-danger.dropdown-toggle{color:#fff;background-color:#f55549;border-color:#e11b0c}.bmd-btn-fab.btn-danger.active.custom-file-control:focus:before,.bmd-btn-fab.btn-danger.active.custom-file-control:hover:before,.bmd-btn-fab.btn-danger.active.focus.custom-file-control:before,.bmd-btn-fab.btn-danger.custom-file-control:active.focus:before,.bmd-btn-fab.btn-danger.custom-file-control:active:focus:before,.bmd-btn-fab.btn-danger.custom-file-control:active:hover:before,.btn-group-raised .btn-danger.active.custom-file-control:focus:before,.btn-group-raised .btn-danger.active.custom-file-control:hover:before,.btn-group-raised .btn-danger.active.focus.custom-file-control:before,.btn-group-raised .btn-danger.custom-file-control:active.focus:before,.btn-group-raised .btn-danger.custom-file-control:active:focus:before,.btn-group-raised .btn-danger.custom-file-control:active:hover:before,.btn-group-raised .btn.btn-danger.active.focus,.btn-group-raised .btn.btn-danger.active:focus,.btn-group-raised .btn.btn-danger.active:hover,.btn-group-raised .btn.btn-danger:active.focus,.btn-group-raised .btn.btn-danger:active:focus,.btn-group-raised .btn.btn-danger:active:hover,.btn-raised.btn-danger.active.custom-file-control:focus:before,.btn-raised.btn-danger.active.custom-file-control:hover:before,.btn-raised.btn-danger.active.focus.custom-file-control:before,.btn-raised.btn-danger.custom-file-control:active.focus:before,.btn-raised.btn-danger.custom-file-control:active:focus:before,.btn-raised.btn-danger.custom-file-control:active:hover:before,.btn.bmd-btn-fab.btn-danger.active.focus,.btn.bmd-btn-fab.btn-danger.active:focus,.btn.bmd-btn-fab.btn-danger.active:hover,.btn.bmd-btn-fab.btn-danger:active.focus,.btn.bmd-btn-fab.btn-danger:active:focus,.btn.bmd-btn-fab.btn-danger:active:hover,.btn.btn-raised.btn-danger.active.focus,.btn.btn-raised.btn-danger.active:focus,.btn.btn-raised.btn-danger.active:hover,.btn.btn-raised.btn-danger:active.focus,.btn.btn-raised.btn-danger:active:focus,.btn.btn-raised.btn-danger:active:hover,.open>.bmd-btn-fab.btn-danger.dropdown-toggle.custom-file-control:focus:before,.open>.bmd-btn-fab.btn-danger.dropdown-toggle.custom-file-control:hover:before,.open>.bmd-btn-fab.btn-danger.dropdown-toggle.focus.custom-file-control:before,.open>.btn-group-raised .btn-danger.dropdown-toggle.custom-file-control:focus:before,.open>.btn-group-raised .btn-danger.dropdown-toggle.custom-file-control:hover:before,.open>.btn-group-raised .btn-danger.dropdown-toggle.focus.custom-file-control:before,.open>.btn-group-raised .btn.btn-danger.dropdown-toggle.focus,.open>.btn-group-raised .btn.btn-danger.dropdown-toggle:focus,.open>.btn-group-raised .btn.btn-danger.dropdown-toggle:hover,.open>.btn-raised.btn-danger.dropdown-toggle.custom-file-control:focus:before,.open>.btn-raised.btn-danger.dropdown-toggle.custom-file-control:hover:before,.open>.btn-raised.btn-danger.dropdown-toggle.focus.custom-file-control:before,.open>.btn.bmd-btn-fab.btn-danger.dropdown-toggle.focus,.open>.btn.bmd-btn-fab.btn-danger.dropdown-toggle:focus,.open>.btn.bmd-btn-fab.btn-danger.dropdown-toggle:hover,.open>.btn.btn-raised.btn-danger.dropdown-toggle.focus,.open>.btn.btn-raised.btn-danger.dropdown-toggle:focus,.open>.btn.btn-raised.btn-danger.dropdown-toggle:hover{color:#fff;background-color:#f55549;border-color:#a21309}.open>.bmd-btn-fab.btn-danger.dropdown-toggle.bmd-btn-icon.custom-file-control:before,.open>.btn-group-raised .btn-danger.dropdown-toggle.bmd-btn-icon.custom-file-control:before,.open>.btn-group-raised .btn.btn-danger.dropdown-toggle.bmd-btn-icon,.open>.btn-raised.btn-danger.dropdown-toggle.bmd-btn-icon.custom-file-control:before,.open>.btn.bmd-btn-fab.btn-danger.dropdown-toggle.bmd-btn-icon,.open>.btn.btn-raised.btn-danger.dropdown-toggle.bmd-btn-icon{color:inherit;background-color:#f44336}.open>.bmd-btn-fab.btn-danger.dropdown-toggle.bmd-btn-icon.custom-file-control:hover:before,.open>.btn-group-raised .btn-danger.dropdown-toggle.bmd-btn-icon.custom-file-control:hover:before,.open>.btn-group-raised .btn.btn-danger.dropdown-toggle.bmd-btn-icon:hover,.open>.btn-raised.btn-danger.dropdown-toggle.bmd-btn-icon.custom-file-control:hover:before,.open>.btn.bmd-btn-fab.btn-danger.dropdown-toggle.bmd-btn-icon:hover,.open>.btn.btn-raised.btn-danger.dropdown-toggle.bmd-btn-icon:hover{background-color:#f55549}.bmd-btn-fab.btn-danger.custom-file-control:disabled.focus:before,.bmd-btn-fab.btn-danger.custom-file-control:disabled:focus:before,.bmd-btn-fab.btn-danger.custom-file-control:disabled:hover:before,.bmd-btn-fab.btn-danger.disabled.custom-file-control:focus:before,.bmd-btn-fab.btn-danger.disabled.custom-file-control:hover:before,.bmd-btn-fab.btn-danger.disabled.focus.custom-file-control:before,.btn-group-raised .btn-danger.custom-file-control:disabled.focus:before,.btn-group-raised .btn-danger.custom-file-control:disabled:focus:before,.btn-group-raised .btn-danger.custom-file-control:disabled:hover:before,.btn-group-raised .btn-danger.disabled.custom-file-control:focus:before,.btn-group-raised .btn-danger.disabled.custom-file-control:hover:before,.btn-group-raised .btn-danger.disabled.focus.custom-file-control:before,.btn-group-raised .btn.btn-danger.disabled.focus,.btn-group-raised .btn.btn-danger.disabled:focus,.btn-group-raised .btn.btn-danger.disabled:hover,.btn-group-raised .btn.btn-danger:disabled.focus,.btn-group-raised .btn.btn-danger:disabled:focus,.btn-group-raised .btn.btn-danger:disabled:hover,.btn-raised.btn-danger.custom-file-control:disabled.focus:before,.btn-raised.btn-danger.custom-file-control:disabled:focus:before,.btn-raised.btn-danger.custom-file-control:disabled:hover:before,.btn-raised.btn-danger.disabled.custom-file-control:focus:before,.btn-raised.btn-danger.disabled.custom-file-control:hover:before,.btn-raised.btn-danger.disabled.focus.custom-file-control:before,.btn.bmd-btn-fab.btn-danger.disabled.focus,.btn.bmd-btn-fab.btn-danger.disabled:focus,.btn.bmd-btn-fab.btn-danger.disabled:hover,.btn.bmd-btn-fab.btn-danger:disabled.focus,.btn.bmd-btn-fab.btn-danger:disabled:focus,.btn.bmd-btn-fab.btn-danger:disabled:hover,.btn.btn-raised.btn-danger.disabled.focus,.btn.btn-raised.btn-danger.disabled:focus,.btn.btn-raised.btn-danger.disabled:hover,.btn.btn-raised.btn-danger:disabled.focus,.btn.btn-raised.btn-danger:disabled:focus,.btn.btn-raised.btn-danger:disabled:hover{background-color:#f44336;border-color:#f44336}.bmd-btn-fab.custom-file-control:focus:before,.bmd-btn-fab.custom-file-control:hover:before,.btn-group-raised .btn:focus,.btn-group-raised .btn:hover,.btn-group-raised .custom-file-control:focus:before,.btn-group-raised .custom-file-control:hover:before,.btn-raised.custom-file-control:focus:before,.btn-raised.custom-file-control:hover:before,.btn.bmd-btn-fab:focus,.btn.bmd-btn-fab:hover,.btn.btn-raised:focus,.btn.btn-raised:hover{z-index:1;box-shadow:0 4px 5px 0 rgba(0,0,0,.14),0 1px 10px 0 rgba(0,0,0,.12),0 2px 4px -1px rgba(0,0,0,.2)}.bmd-btn-fab.active.custom-file-control:before,.bmd-btn-fab.custom-file-control:active:before,.btn-group-raised .active.custom-file-control:before,.btn-group-raised .btn.active,.btn-group-raised .btn:active,.btn-group-raised .custom-file-control:active:before,.btn-raised.active.custom-file-control:before,.btn-raised.custom-file-control:active:before,.btn.bmd-btn-fab.active,.btn.bmd-btn-fab:active,.btn.btn-raised.active,.btn.btn-raised:active{z-index:1;box-shadow:0 0 8px rgba(0,0,0,.18),0 8px 16px rgba(0,0,0,.36)}.btn-group-raised .btn,.btn-group-raised .custom-file-control:before,.btn-raised.custom-file-control:before,.btn.btn-raised{box-shadow:0 2px 2px 0 rgba(0,0,0,.14),0 3px 1px -2px rgba(0,0,0,.2),0 1px 5px 0 rgba(0,0,0,.12)}.btn-group-raised .btn-link.active.custom-file-control:before,.btn-group-raised .btn-link.custom-file-control:active:before,.btn-group-raised .btn-link.custom-file-control:before,.btn-group-raised .btn-link.custom-file-control:focus:before,.btn-group-raised .btn-link.custom-file-control:hover:before,.btn-group-raised .btn.btn-link,.btn-group-raised .btn.btn-link.active,.btn-group-raised .btn.btn-link:active,.btn-group-raised .btn.btn-link:focus,.btn-group-raised .btn.btn-link:hover,.btn-group-raised .btn.disabled,.btn-group-raised .btn:disabled,.btn-group-raised .btn[disabled],.btn-group-raised .custom-file-control:disabled:before,.btn-group-raised .disabled.custom-file-control:before,.btn-group-raised [disabled].custom-file-control:before,.btn-raised.btn-link.active.custom-file-control:before,.btn-raised.btn-link.custom-file-control:active:before,.btn-raised.btn-link.custom-file-control:before,.btn-raised.btn-link.custom-file-control:focus:before,.btn-raised.btn-link.custom-file-control:hover:before,.btn-raised.custom-file-control:disabled:before,.btn-raised.disabled.custom-file-control:before,.btn-raised[disabled].custom-file-control:before,.btn.btn-raised.btn-link,.btn.btn-raised.btn-link.active,.btn.btn-raised.btn-link:active,.btn.btn-raised.btn-link:focus,.btn.btn-raised.btn-link:hover,.btn.btn-raised.disabled,.btn.btn-raised:disabled,.btn.btn-raised[disabled],fieldset[disabled][disabled] .btn-group-raised .btn,fieldset[disabled][disabled] .btn-group-raised .custom-file-control:before,fieldset[disabled][disabled] .btn-raised.custom-file-control:before,fieldset[disabled][disabled] .btn.btn-raised{box-shadow:none}.btn-outline-danger.custom-file-control:before,.btn-outline-info.custom-file-control:before,.btn-outline-primary.custom-file-control:before,.btn-outline-secondary.custom-file-control:before,.btn-outline-success.custom-file-control:before,.btn-outline-warning.custom-file-control:before,.btn-outline.custom-file-control:before,.btn.btn-outline,.btn.btn-outline-danger,.btn.btn-outline-info,.btn.btn-outline-primary,.btn.btn-outline-secondary,.btn.btn-outline-success,.btn.btn-outline-warning{border:1px solid currentColor}.btn-outline.custom-file-control:before,.btn.btn-outline{color:rgba(0,0,0,.87);background-color:inherit;border-color:rgba(0,0,0,.87)}.btn-outline.active.custom-file-control:before,.btn-outline.custom-file-control:active:before,.btn-outline.custom-file-control:focus:before,.btn-outline.custom-file-control:hover:before,.btn-outline.focus.custom-file-control:before,.btn.btn-outline.active,.btn.btn-outline.focus,.btn.btn-outline:active,.btn.btn-outline:focus,.btn.btn-outline:hover,.open>.btn-outline.dropdown-toggle.custom-file-control:before,.open>.btn.btn-outline.dropdown-toggle{color:rgba(0,0,0,.87);background-color:hsla(0,0%,60%,.2);border-color:rgba(0,0,0,.87)}.btn-outline.active.custom-file-control:focus:before,.btn-outline.active.custom-file-control:hover:before,.btn-outline.active.focus.custom-file-control:before,.btn-outline.custom-file-control:active.focus:before,.btn-outline.custom-file-control:active:focus:before,.btn-outline.custom-file-control:active:hover:before,.btn.btn-outline.active.focus,.btn.btn-outline.active:focus,.btn.btn-outline.active:hover,.btn.btn-outline:active.focus,.btn.btn-outline:active:focus,.btn.btn-outline:active:hover,.open>.btn-outline.dropdown-toggle.custom-file-control:focus:before,.open>.btn-outline.dropdown-toggle.custom-file-control:hover:before,.open>.btn-outline.dropdown-toggle.focus.custom-file-control:before,.open>.btn.btn-outline.dropdown-toggle.focus,.open>.btn.btn-outline.dropdown-toggle:focus,.open>.btn.btn-outline.dropdown-toggle:hover{color:rgba(0,0,0,.87);background-color:hsla(0,0%,60%,.4);border-color:rgba(0,0,0,.87)}.open>.btn-outline.dropdown-toggle.bmd-btn-icon.custom-file-control:before,.open>.btn.btn-outline.dropdown-toggle.bmd-btn-icon{color:inherit;background-color:inherit}.open>.btn-outline.dropdown-toggle.bmd-btn-icon.custom-file-control:hover:before,.open>.btn.btn-outline.dropdown-toggle.bmd-btn-icon:hover{background-color:hsla(0,0%,60%,.2)}.btn-outline.custom-file-control:disabled.focus:before,.btn-outline.custom-file-control:disabled:focus:before,.btn-outline.custom-file-control:disabled:hover:before,.btn-outline.disabled.custom-file-control:focus:before,.btn-outline.disabled.custom-file-control:hover:before,.btn-outline.disabled.focus.custom-file-control:before,.btn.btn-outline.disabled.focus,.btn.btn-outline.disabled:focus,.btn.btn-outline.disabled:hover,.btn.btn-outline:disabled.focus,.btn.btn-outline:disabled:focus,.btn.btn-outline:disabled:hover{background-color:inherit;border-color:rgba(0,0,0,.87)}.bg-inverse .btn-outline.custom-file-control:before,.bg-inverse .btn.btn-outline{color:rgba(0,0,0,.87);background-color:inherit;border-color:rgba(0,0,0,.87)}.bg-inverse .btn-outline.active.custom-file-control:before,.bg-inverse .btn-outline.custom-file-control:active:before,.bg-inverse .btn-outline.custom-file-control:focus:before,.bg-inverse .btn-outline.custom-file-control:hover:before,.bg-inverse .btn-outline.focus.custom-file-control:before,.bg-inverse .btn.btn-outline.active,.bg-inverse .btn.btn-outline.focus,.bg-inverse .btn.btn-outline:active,.bg-inverse .btn.btn-outline:focus,.bg-inverse .btn.btn-outline:hover,.open>.bg-inverse .btn-outline.dropdown-toggle.custom-file-control:before,.open>.bg-inverse .btn.btn-outline.dropdown-toggle{color:rgba(0,0,0,.87);background-color:hsla(0,0%,80%,.15);border-color:hsla(0,0%,80%,.15)}.bg-inverse .btn-outline.active.custom-file-control:focus:before,.bg-inverse .btn-outline.active.custom-file-control:hover:before,.bg-inverse .btn-outline.active.focus.custom-file-control:before,.bg-inverse .btn-outline.custom-file-control:active.focus:before,.bg-inverse .btn-outline.custom-file-control:active:focus:before,.bg-inverse .btn-outline.custom-file-control:active:hover:before,.bg-inverse .btn.btn-outline.active.focus,.bg-inverse .btn.btn-outline.active:focus,.bg-inverse .btn.btn-outline.active:hover,.bg-inverse .btn.btn-outline:active.focus,.bg-inverse .btn.btn-outline:active:focus,.bg-inverse .btn.btn-outline:active:hover,.open>.bg-inverse .btn-outline.dropdown-toggle.custom-file-control:focus:before,.open>.bg-inverse .btn-outline.dropdown-toggle.custom-file-control:hover:before,.open>.bg-inverse .btn-outline.dropdown-toggle.focus.custom-file-control:before,.open>.bg-inverse .btn.btn-outline.dropdown-toggle.focus,.open>.bg-inverse .btn.btn-outline.dropdown-toggle:focus,.open>.bg-inverse .btn.btn-outline.dropdown-toggle:hover{color:rgba(0,0,0,.87);background-color:hsla(0,0%,80%,.25);border-color:hsla(0,0%,80%,.25)}.open>.bg-inverse .btn-outline.dropdown-toggle.bmd-btn-icon.custom-file-control:before,.open>.bg-inverse .btn.btn-outline.dropdown-toggle.bmd-btn-icon{color:inherit;background-color:inherit}.open>.bg-inverse .btn-outline.dropdown-toggle.bmd-btn-icon.custom-file-control:hover:before,.open>.bg-inverse .btn.btn-outline.dropdown-toggle.bmd-btn-icon:hover{background-color:hsla(0,0%,80%,.15)}.bg-inverse .btn-outline.custom-file-control:disabled.focus:before,.bg-inverse .btn-outline.custom-file-control:disabled:focus:before,.bg-inverse .btn-outline.custom-file-control:disabled:hover:before,.bg-inverse .btn-outline.disabled.custom-file-control:focus:before,.bg-inverse .btn-outline.disabled.custom-file-control:hover:before,.bg-inverse .btn-outline.disabled.focus.custom-file-control:before,.bg-inverse .btn.btn-outline.disabled.focus,.bg-inverse .btn.btn-outline.disabled:focus,.bg-inverse .btn.btn-outline.disabled:hover,.bg-inverse .btn.btn-outline:disabled.focus,.bg-inverse .btn.btn-outline:disabled:focus,.bg-inverse .btn.btn-outline:disabled:hover{background-color:inherit;border-color:rgba(0,0,0,.87)}.btn-outline.btn-link.custom-file-control:before,.btn.btn-outline.btn-link{background-color:transparent}.btn-outline-primary.custom-file-control:before,.btn.btn-outline-primary{color:#009688;background-color:inherit;border-color:#009688}.btn-outline-primary.active.custom-file-control:before,.btn-outline-primary.custom-file-control:active:before,.btn-outline-primary.custom-file-control:focus:before,.btn-outline-primary.custom-file-control:hover:before,.btn-outline-primary.focus.custom-file-control:before,.btn.btn-outline-primary.active,.btn.btn-outline-primary.focus,.btn.btn-outline-primary:active,.btn.btn-outline-primary:focus,.btn.btn-outline-primary:hover,.open>.btn-outline-primary.dropdown-toggle.custom-file-control:before,.open>.btn.btn-outline-primary.dropdown-toggle{color:#009688;background-color:hsla(0,0%,60%,.2);border-color:#009688}.btn-outline-primary.active.custom-file-control:focus:before,.btn-outline-primary.active.custom-file-control:hover:before,.btn-outline-primary.active.focus.custom-file-control:before,.btn-outline-primary.custom-file-control:active.focus:before,.btn-outline-primary.custom-file-control:active:focus:before,.btn-outline-primary.custom-file-control:active:hover:before,.btn.btn-outline-primary.active.focus,.btn.btn-outline-primary.active:focus,.btn.btn-outline-primary.active:hover,.btn.btn-outline-primary:active.focus,.btn.btn-outline-primary:active:focus,.btn.btn-outline-primary:active:hover,.open>.btn-outline-primary.dropdown-toggle.custom-file-control:focus:before,.open>.btn-outline-primary.dropdown-toggle.custom-file-control:hover:before,.open>.btn-outline-primary.dropdown-toggle.focus.custom-file-control:before,.open>.btn.btn-outline-primary.dropdown-toggle.focus,.open>.btn.btn-outline-primary.dropdown-toggle:focus,.open>.btn.btn-outline-primary.dropdown-toggle:hover{color:#009688;background-color:hsla(0,0%,60%,.4);border-color:#009688}.open>.btn-outline-primary.dropdown-toggle.bmd-btn-icon.custom-file-control:before,.open>.btn.btn-outline-primary.dropdown-toggle.bmd-btn-icon{color:inherit;background-color:inherit}.open>.btn-outline-primary.dropdown-toggle.bmd-btn-icon.custom-file-control:hover:before,.open>.btn.btn-outline-primary.dropdown-toggle.bmd-btn-icon:hover{background-color:hsla(0,0%,60%,.2)}.btn-outline-primary.custom-file-control:disabled.focus:before,.btn-outline-primary.custom-file-control:disabled:focus:before,.btn-outline-primary.custom-file-control:disabled:hover:before,.btn-outline-primary.disabled.custom-file-control:focus:before,.btn-outline-primary.disabled.custom-file-control:hover:before,.btn-outline-primary.disabled.focus.custom-file-control:before,.btn.btn-outline-primary.disabled.focus,.btn.btn-outline-primary.disabled:focus,.btn.btn-outline-primary.disabled:hover,.btn.btn-outline-primary:disabled.focus,.btn.btn-outline-primary:disabled:focus,.btn.btn-outline-primary:disabled:hover{background-color:inherit;border-color:#009688}.bg-inverse .btn-outline-primary.custom-file-control:before,.bg-inverse .btn.btn-outline-primary{color:#009688;background-color:inherit;border-color:#009688}.bg-inverse .btn-outline-primary.active.custom-file-control:before,.bg-inverse .btn-outline-primary.custom-file-control:active:before,.bg-inverse .btn-outline-primary.custom-file-control:focus:before,.bg-inverse .btn-outline-primary.custom-file-control:hover:before,.bg-inverse .btn-outline-primary.focus.custom-file-control:before,.bg-inverse .btn.btn-outline-primary.active,.bg-inverse .btn.btn-outline-primary.focus,.bg-inverse .btn.btn-outline-primary:active,.bg-inverse .btn.btn-outline-primary:focus,.bg-inverse .btn.btn-outline-primary:hover,.open>.bg-inverse .btn-outline-primary.dropdown-toggle.custom-file-control:before,.open>.bg-inverse .btn.btn-outline-primary.dropdown-toggle{color:#009688;background-color:hsla(0,0%,80%,.15);border-color:hsla(0,0%,80%,.15)}.bg-inverse .btn-outline-primary.active.custom-file-control:focus:before,.bg-inverse .btn-outline-primary.active.custom-file-control:hover:before,.bg-inverse .btn-outline-primary.active.focus.custom-file-control:before,.bg-inverse .btn-outline-primary.custom-file-control:active.focus:before,.bg-inverse .btn-outline-primary.custom-file-control:active:focus:before,.bg-inverse .btn-outline-primary.custom-file-control:active:hover:before,.bg-inverse .btn.btn-outline-primary.active.focus,.bg-inverse .btn.btn-outline-primary.active:focus,.bg-inverse .btn.btn-outline-primary.active:hover,.bg-inverse .btn.btn-outline-primary:active.focus,.bg-inverse .btn.btn-outline-primary:active:focus,.bg-inverse .btn.btn-outline-primary:active:hover,.open>.bg-inverse .btn-outline-primary.dropdown-toggle.custom-file-control:focus:before,.open>.bg-inverse .btn-outline-primary.dropdown-toggle.custom-file-control:hover:before,.open>.bg-inverse .btn-outline-primary.dropdown-toggle.focus.custom-file-control:before,.open>.bg-inverse .btn.btn-outline-primary.dropdown-toggle.focus,.open>.bg-inverse .btn.btn-outline-primary.dropdown-toggle:focus,.open>.bg-inverse .btn.btn-outline-primary.dropdown-toggle:hover{color:#009688;background-color:hsla(0,0%,80%,.25);border-color:hsla(0,0%,80%,.25)}.open>.bg-inverse .btn-outline-primary.dropdown-toggle.bmd-btn-icon.custom-file-control:before,.open>.bg-inverse .btn.btn-outline-primary.dropdown-toggle.bmd-btn-icon{color:inherit;background-color:inherit}.open>.bg-inverse .btn-outline-primary.dropdown-toggle.bmd-btn-icon.custom-file-control:hover:before,.open>.bg-inverse .btn.btn-outline-primary.dropdown-toggle.bmd-btn-icon:hover{background-color:hsla(0,0%,80%,.15)}.bg-inverse .btn-outline-primary.custom-file-control:disabled.focus:before,.bg-inverse .btn-outline-primary.custom-file-control:disabled:focus:before,.bg-inverse .btn-outline-primary.custom-file-control:disabled:hover:before,.bg-inverse .btn-outline-primary.disabled.custom-file-control:focus:before,.bg-inverse .btn-outline-primary.disabled.custom-file-control:hover:before,.bg-inverse .btn-outline-primary.disabled.focus.custom-file-control:before,.bg-inverse .btn.btn-outline-primary.disabled.focus,.bg-inverse .btn.btn-outline-primary.disabled:focus,.bg-inverse .btn.btn-outline-primary.disabled:hover,.bg-inverse .btn.btn-outline-primary:disabled.focus,.bg-inverse .btn.btn-outline-primary:disabled:focus,.bg-inverse .btn.btn-outline-primary:disabled:hover{background-color:inherit;border-color:#009688}.btn-outline-primary.btn-link.custom-file-control:before,.btn.btn-outline-primary.btn-link{background-color:transparent}.btn-outline-secondary.custom-file-control:before,.btn.btn-outline-secondary{color:rgba(0,0,0,.87);background-color:inherit;border-color:rgba(0,0,0,.87)}.btn-outline-secondary.active.custom-file-control:before,.btn-outline-secondary.custom-file-control:active:before,.btn-outline-secondary.custom-file-control:focus:before,.btn-outline-secondary.custom-file-control:hover:before,.btn-outline-secondary.focus.custom-file-control:before,.btn.btn-outline-secondary.active,.btn.btn-outline-secondary.focus,.btn.btn-outline-secondary:active,.btn.btn-outline-secondary:focus,.btn.btn-outline-secondary:hover,.open>.btn-outline-secondary.dropdown-toggle.custom-file-control:before,.open>.btn.btn-outline-secondary.dropdown-toggle{color:rgba(0,0,0,.87);background-color:hsla(0,0%,60%,.2);border-color:rgba(0,0,0,.87)}.btn-outline-secondary.active.custom-file-control:focus:before,.btn-outline-secondary.active.custom-file-control:hover:before,.btn-outline-secondary.active.focus.custom-file-control:before,.btn-outline-secondary.custom-file-control:active.focus:before,.btn-outline-secondary.custom-file-control:active:focus:before,.btn-outline-secondary.custom-file-control:active:hover:before,.btn.btn-outline-secondary.active.focus,.btn.btn-outline-secondary.active:focus,.btn.btn-outline-secondary.active:hover,.btn.btn-outline-secondary:active.focus,.btn.btn-outline-secondary:active:focus,.btn.btn-outline-secondary:active:hover,.open>.btn-outline-secondary.dropdown-toggle.custom-file-control:focus:before,.open>.btn-outline-secondary.dropdown-toggle.custom-file-control:hover:before,.open>.btn-outline-secondary.dropdown-toggle.focus.custom-file-control:before,.open>.btn.btn-outline-secondary.dropdown-toggle.focus,.open>.btn.btn-outline-secondary.dropdown-toggle:focus,.open>.btn.btn-outline-secondary.dropdown-toggle:hover{color:rgba(0,0,0,.87);background-color:hsla(0,0%,60%,.4);border-color:rgba(0,0,0,.87)}.open>.btn-outline-secondary.dropdown-toggle.bmd-btn-icon.custom-file-control:before,.open>.btn.btn-outline-secondary.dropdown-toggle.bmd-btn-icon{color:inherit;background-color:inherit}.open>.btn-outline-secondary.dropdown-toggle.bmd-btn-icon.custom-file-control:hover:before,.open>.btn.btn-outline-secondary.dropdown-toggle.bmd-btn-icon:hover{background-color:hsla(0,0%,60%,.2)}.btn-outline-secondary.custom-file-control:disabled.focus:before,.btn-outline-secondary.custom-file-control:disabled:focus:before,.btn-outline-secondary.custom-file-control:disabled:hover:before,.btn-outline-secondary.disabled.custom-file-control:focus:before,.btn-outline-secondary.disabled.custom-file-control:hover:before,.btn-outline-secondary.disabled.focus.custom-file-control:before,.btn.btn-outline-secondary.disabled.focus,.btn.btn-outline-secondary.disabled:focus,.btn.btn-outline-secondary.disabled:hover,.btn.btn-outline-secondary:disabled.focus,.btn.btn-outline-secondary:disabled:focus,.btn.btn-outline-secondary:disabled:hover{background-color:inherit;border-color:rgba(0,0,0,.87)}.bg-inverse .btn-outline-secondary.custom-file-control:before,.bg-inverse .btn.btn-outline-secondary{color:rgba(0,0,0,.87);background-color:inherit;border-color:rgba(0,0,0,.87)}.bg-inverse .btn-outline-secondary.active.custom-file-control:before,.bg-inverse .btn-outline-secondary.custom-file-control:active:before,.bg-inverse .btn-outline-secondary.custom-file-control:focus:before,.bg-inverse .btn-outline-secondary.custom-file-control:hover:before,.bg-inverse .btn-outline-secondary.focus.custom-file-control:before,.bg-inverse .btn.btn-outline-secondary.active,.bg-inverse .btn.btn-outline-secondary.focus,.bg-inverse .btn.btn-outline-secondary:active,.bg-inverse .btn.btn-outline-secondary:focus,.bg-inverse .btn.btn-outline-secondary:hover,.open>.bg-inverse .btn-outline-secondary.dropdown-toggle.custom-file-control:before,.open>.bg-inverse .btn.btn-outline-secondary.dropdown-toggle{color:rgba(0,0,0,.87);background-color:hsla(0,0%,80%,.15);border-color:hsla(0,0%,80%,.15)}.bg-inverse .btn-outline-secondary.active.custom-file-control:focus:before,.bg-inverse .btn-outline-secondary.active.custom-file-control:hover:before,.bg-inverse .btn-outline-secondary.active.focus.custom-file-control:before,.bg-inverse .btn-outline-secondary.custom-file-control:active.focus:before,.bg-inverse .btn-outline-secondary.custom-file-control:active:focus:before,.bg-inverse .btn-outline-secondary.custom-file-control:active:hover:before,.bg-inverse .btn.btn-outline-secondary.active.focus,.bg-inverse .btn.btn-outline-secondary.active:focus,.bg-inverse .btn.btn-outline-secondary.active:hover,.bg-inverse .btn.btn-outline-secondary:active.focus,.bg-inverse .btn.btn-outline-secondary:active:focus,.bg-inverse .btn.btn-outline-secondary:active:hover,.open>.bg-inverse .btn-outline-secondary.dropdown-toggle.custom-file-control:focus:before,.open>.bg-inverse .btn-outline-secondary.dropdown-toggle.custom-file-control:hover:before,.open>.bg-inverse .btn-outline-secondary.dropdown-toggle.focus.custom-file-control:before,.open>.bg-inverse .btn.btn-outline-secondary.dropdown-toggle.focus,.open>.bg-inverse .btn.btn-outline-secondary.dropdown-toggle:focus,.open>.bg-inverse .btn.btn-outline-secondary.dropdown-toggle:hover{color:rgba(0,0,0,.87);background-color:hsla(0,0%,80%,.25);border-color:hsla(0,0%,80%,.25)}.open>.bg-inverse .btn-outline-secondary.dropdown-toggle.bmd-btn-icon.custom-file-control:before,.open>.bg-inverse .btn.btn-outline-secondary.dropdown-toggle.bmd-btn-icon{color:inherit;background-color:inherit}.open>.bg-inverse .btn-outline-secondary.dropdown-toggle.bmd-btn-icon.custom-file-control:hover:before,.open>.bg-inverse .btn.btn-outline-secondary.dropdown-toggle.bmd-btn-icon:hover{background-color:hsla(0,0%,80%,.15)}.bg-inverse .btn-outline-secondary.custom-file-control:disabled.focus:before,.bg-inverse .btn-outline-secondary.custom-file-control:disabled:focus:before,.bg-inverse .btn-outline-secondary.custom-file-control:disabled:hover:before,.bg-inverse .btn-outline-secondary.disabled.custom-file-control:focus:before,.bg-inverse .btn-outline-secondary.disabled.custom-file-control:hover:before,.bg-inverse .btn-outline-secondary.disabled.focus.custom-file-control:before,.bg-inverse .btn.btn-outline-secondary.disabled.focus,.bg-inverse .btn.btn-outline-secondary.disabled:focus,.bg-inverse .btn.btn-outline-secondary.disabled:hover,.bg-inverse .btn.btn-outline-secondary:disabled.focus,.bg-inverse .btn.btn-outline-secondary:disabled:focus,.bg-inverse .btn.btn-outline-secondary:disabled:hover{background-color:inherit;border-color:rgba(0,0,0,.87)}.btn-outline-secondary.btn-link.custom-file-control:before,.btn.btn-outline-secondary.btn-link{background-color:transparent}.btn-outline-info.custom-file-control:before,.btn.btn-outline-info{color:#03a9f4;background-color:inherit;border-color:#03a9f4}.btn-outline-info.active.custom-file-control:before,.btn-outline-info.custom-file-control:active:before,.btn-outline-info.custom-file-control:focus:before,.btn-outline-info.custom-file-control:hover:before,.btn-outline-info.focus.custom-file-control:before,.btn.btn-outline-info.active,.btn.btn-outline-info.focus,.btn.btn-outline-info:active,.btn.btn-outline-info:focus,.btn.btn-outline-info:hover,.open>.btn-outline-info.dropdown-toggle.custom-file-control:before,.open>.btn.btn-outline-info.dropdown-toggle{color:#03a9f4;background-color:hsla(0,0%,60%,.2);border-color:#03a9f4}.btn-outline-info.active.custom-file-control:focus:before,.btn-outline-info.active.custom-file-control:hover:before,.btn-outline-info.active.focus.custom-file-control:before,.btn-outline-info.custom-file-control:active.focus:before,.btn-outline-info.custom-file-control:active:focus:before,.btn-outline-info.custom-file-control:active:hover:before,.btn.btn-outline-info.active.focus,.btn.btn-outline-info.active:focus,.btn.btn-outline-info.active:hover,.btn.btn-outline-info:active.focus,.btn.btn-outline-info:active:focus,.btn.btn-outline-info:active:hover,.open>.btn-outline-info.dropdown-toggle.custom-file-control:focus:before,.open>.btn-outline-info.dropdown-toggle.custom-file-control:hover:before,.open>.btn-outline-info.dropdown-toggle.focus.custom-file-control:before,.open>.btn.btn-outline-info.dropdown-toggle.focus,.open>.btn.btn-outline-info.dropdown-toggle:focus,.open>.btn.btn-outline-info.dropdown-toggle:hover{color:#03a9f4;background-color:hsla(0,0%,60%,.4);border-color:#03a9f4}.open>.btn-outline-info.dropdown-toggle.bmd-btn-icon.custom-file-control:before,.open>.btn.btn-outline-info.dropdown-toggle.bmd-btn-icon{color:inherit;background-color:inherit}.open>.btn-outline-info.dropdown-toggle.bmd-btn-icon.custom-file-control:hover:before,.open>.btn.btn-outline-info.dropdown-toggle.bmd-btn-icon:hover{background-color:hsla(0,0%,60%,.2)}.btn-outline-info.custom-file-control:disabled.focus:before,.btn-outline-info.custom-file-control:disabled:focus:before,.btn-outline-info.custom-file-control:disabled:hover:before,.btn-outline-info.disabled.custom-file-control:focus:before,.btn-outline-info.disabled.custom-file-control:hover:before,.btn-outline-info.disabled.focus.custom-file-control:before,.btn.btn-outline-info.disabled.focus,.btn.btn-outline-info.disabled:focus,.btn.btn-outline-info.disabled:hover,.btn.btn-outline-info:disabled.focus,.btn.btn-outline-info:disabled:focus,.btn.btn-outline-info:disabled:hover{background-color:inherit;border-color:#03a9f4}.bg-inverse .btn-outline-info.custom-file-control:before,.bg-inverse .btn.btn-outline-info{color:#03a9f4;background-color:inherit;border-color:#03a9f4}.bg-inverse .btn-outline-info.active.custom-file-control:before,.bg-inverse .btn-outline-info.custom-file-control:active:before,.bg-inverse .btn-outline-info.custom-file-control:focus:before,.bg-inverse .btn-outline-info.custom-file-control:hover:before,.bg-inverse .btn-outline-info.focus.custom-file-control:before,.bg-inverse .btn.btn-outline-info.active,.bg-inverse .btn.btn-outline-info.focus,.bg-inverse .btn.btn-outline-info:active,.bg-inverse .btn.btn-outline-info:focus,.bg-inverse .btn.btn-outline-info:hover,.open>.bg-inverse .btn-outline-info.dropdown-toggle.custom-file-control:before,.open>.bg-inverse .btn.btn-outline-info.dropdown-toggle{color:#03a9f4;background-color:hsla(0,0%,80%,.15);border-color:hsla(0,0%,80%,.15)}.bg-inverse .btn-outline-info.active.custom-file-control:focus:before,.bg-inverse .btn-outline-info.active.custom-file-control:hover:before,.bg-inverse .btn-outline-info.active.focus.custom-file-control:before,.bg-inverse .btn-outline-info.custom-file-control:active.focus:before,.bg-inverse .btn-outline-info.custom-file-control:active:focus:before,.bg-inverse .btn-outline-info.custom-file-control:active:hover:before,.bg-inverse .btn.btn-outline-info.active.focus,.bg-inverse .btn.btn-outline-info.active:focus,.bg-inverse .btn.btn-outline-info.active:hover,.bg-inverse .btn.btn-outline-info:active.focus,.bg-inverse .btn.btn-outline-info:active:focus,.bg-inverse .btn.btn-outline-info:active:hover,.open>.bg-inverse .btn-outline-info.dropdown-toggle.custom-file-control:focus:before,.open>.bg-inverse .btn-outline-info.dropdown-toggle.custom-file-control:hover:before,.open>.bg-inverse .btn-outline-info.dropdown-toggle.focus.custom-file-control:before,.open>.bg-inverse .btn.btn-outline-info.dropdown-toggle.focus,.open>.bg-inverse .btn.btn-outline-info.dropdown-toggle:focus,.open>.bg-inverse .btn.btn-outline-info.dropdown-toggle:hover{color:#03a9f4;background-color:hsla(0,0%,80%,.25);border-color:hsla(0,0%,80%,.25)}.open>.bg-inverse .btn-outline-info.dropdown-toggle.bmd-btn-icon.custom-file-control:before,.open>.bg-inverse .btn.btn-outline-info.dropdown-toggle.bmd-btn-icon{color:inherit;background-color:inherit}.open>.bg-inverse .btn-outline-info.dropdown-toggle.bmd-btn-icon.custom-file-control:hover:before,.open>.bg-inverse .btn.btn-outline-info.dropdown-toggle.bmd-btn-icon:hover{background-color:hsla(0,0%,80%,.15)}.bg-inverse .btn-outline-info.custom-file-control:disabled.focus:before,.bg-inverse .btn-outline-info.custom-file-control:disabled:focus:before,.bg-inverse .btn-outline-info.custom-file-control:disabled:hover:before,.bg-inverse .btn-outline-info.disabled.custom-file-control:focus:before,.bg-inverse .btn-outline-info.disabled.custom-file-control:hover:before,.bg-inverse .btn-outline-info.disabled.focus.custom-file-control:before,.bg-inverse .btn.btn-outline-info.disabled.focus,.bg-inverse .btn.btn-outline-info.disabled:focus,.bg-inverse .btn.btn-outline-info.disabled:hover,.bg-inverse .btn.btn-outline-info:disabled.focus,.bg-inverse .btn.btn-outline-info:disabled:focus,.bg-inverse .btn.btn-outline-info:disabled:hover{background-color:inherit;border-color:#03a9f4}.btn-outline-info.btn-link.custom-file-control:before,.btn.btn-outline-info.btn-link{background-color:transparent}.btn-outline-success.custom-file-control:before,.btn.btn-outline-success{color:#4caf50;background-color:inherit;border-color:#4caf50}.btn-outline-success.active.custom-file-control:before,.btn-outline-success.custom-file-control:active:before,.btn-outline-success.custom-file-control:focus:before,.btn-outline-success.custom-file-control:hover:before,.btn-outline-success.focus.custom-file-control:before,.btn.btn-outline-success.active,.btn.btn-outline-success.focus,.btn.btn-outline-success:active,.btn.btn-outline-success:focus,.btn.btn-outline-success:hover,.open>.btn-outline-success.dropdown-toggle.custom-file-control:before,.open>.btn.btn-outline-success.dropdown-toggle{color:#4caf50;background-color:hsla(0,0%,60%,.2);border-color:#4caf50}.btn-outline-success.active.custom-file-control:focus:before,.btn-outline-success.active.custom-file-control:hover:before,.btn-outline-success.active.focus.custom-file-control:before,.btn-outline-success.custom-file-control:active.focus:before,.btn-outline-success.custom-file-control:active:focus:before,.btn-outline-success.custom-file-control:active:hover:before,.btn.btn-outline-success.active.focus,.btn.btn-outline-success.active:focus,.btn.btn-outline-success.active:hover,.btn.btn-outline-success:active.focus,.btn.btn-outline-success:active:focus,.btn.btn-outline-success:active:hover,.open>.btn-outline-success.dropdown-toggle.custom-file-control:focus:before,.open>.btn-outline-success.dropdown-toggle.custom-file-control:hover:before,.open>.btn-outline-success.dropdown-toggle.focus.custom-file-control:before,.open>.btn.btn-outline-success.dropdown-toggle.focus,.open>.btn.btn-outline-success.dropdown-toggle:focus,.open>.btn.btn-outline-success.dropdown-toggle:hover{color:#4caf50;background-color:hsla(0,0%,60%,.4);border-color:#4caf50}.open>.btn-outline-success.dropdown-toggle.bmd-btn-icon.custom-file-control:before,.open>.btn.btn-outline-success.dropdown-toggle.bmd-btn-icon{color:inherit;background-color:inherit}.open>.btn-outline-success.dropdown-toggle.bmd-btn-icon.custom-file-control:hover:before,.open>.btn.btn-outline-success.dropdown-toggle.bmd-btn-icon:hover{background-color:hsla(0,0%,60%,.2)}.btn-outline-success.custom-file-control:disabled.focus:before,.btn-outline-success.custom-file-control:disabled:focus:before,.btn-outline-success.custom-file-control:disabled:hover:before,.btn-outline-success.disabled.custom-file-control:focus:before,.btn-outline-success.disabled.custom-file-control:hover:before,.btn-outline-success.disabled.focus.custom-file-control:before,.btn.btn-outline-success.disabled.focus,.btn.btn-outline-success.disabled:focus,.btn.btn-outline-success.disabled:hover,.btn.btn-outline-success:disabled.focus,.btn.btn-outline-success:disabled:focus,.btn.btn-outline-success:disabled:hover{background-color:inherit;border-color:#4caf50}.bg-inverse .btn-outline-success.custom-file-control:before,.bg-inverse .btn.btn-outline-success{color:#4caf50;background-color:inherit;border-color:#4caf50}.bg-inverse .btn-outline-success.active.custom-file-control:before,.bg-inverse .btn-outline-success.custom-file-control:active:before,.bg-inverse .btn-outline-success.custom-file-control:focus:before,.bg-inverse .btn-outline-success.custom-file-control:hover:before,.bg-inverse .btn-outline-success.focus.custom-file-control:before,.bg-inverse .btn.btn-outline-success.active,.bg-inverse .btn.btn-outline-success.focus,.bg-inverse .btn.btn-outline-success:active,.bg-inverse .btn.btn-outline-success:focus,.bg-inverse .btn.btn-outline-success:hover,.open>.bg-inverse .btn-outline-success.dropdown-toggle.custom-file-control:before,.open>.bg-inverse .btn.btn-outline-success.dropdown-toggle{color:#4caf50;background-color:hsla(0,0%,80%,.15);border-color:hsla(0,0%,80%,.15)}.bg-inverse .btn-outline-success.active.custom-file-control:focus:before,.bg-inverse .btn-outline-success.active.custom-file-control:hover:before,.bg-inverse .btn-outline-success.active.focus.custom-file-control:before,.bg-inverse .btn-outline-success.custom-file-control:active.focus:before,.bg-inverse .btn-outline-success.custom-file-control:active:focus:before,.bg-inverse .btn-outline-success.custom-file-control:active:hover:before,.bg-inverse .btn.btn-outline-success.active.focus,.bg-inverse .btn.btn-outline-success.active:focus,.bg-inverse .btn.btn-outline-success.active:hover,.bg-inverse .btn.btn-outline-success:active.focus,.bg-inverse .btn.btn-outline-success:active:focus,.bg-inverse .btn.btn-outline-success:active:hover,.open>.bg-inverse .btn-outline-success.dropdown-toggle.custom-file-control:focus:before,.open>.bg-inverse .btn-outline-success.dropdown-toggle.custom-file-control:hover:before,.open>.bg-inverse .btn-outline-success.dropdown-toggle.focus.custom-file-control:before,.open>.bg-inverse .btn.btn-outline-success.dropdown-toggle.focus,.open>.bg-inverse .btn.btn-outline-success.dropdown-toggle:focus,.open>.bg-inverse .btn.btn-outline-success.dropdown-toggle:hover{color:#4caf50;background-color:hsla(0,0%,80%,.25);border-color:hsla(0,0%,80%,.25)}.open>.bg-inverse .btn-outline-success.dropdown-toggle.bmd-btn-icon.custom-file-control:before,.open>.bg-inverse .btn.btn-outline-success.dropdown-toggle.bmd-btn-icon{color:inherit;background-color:inherit}.open>.bg-inverse .btn-outline-success.dropdown-toggle.bmd-btn-icon.custom-file-control:hover:before,.open>.bg-inverse .btn.btn-outline-success.dropdown-toggle.bmd-btn-icon:hover{background-color:hsla(0,0%,80%,.15)}.bg-inverse .btn-outline-success.custom-file-control:disabled.focus:before,.bg-inverse .btn-outline-success.custom-file-control:disabled:focus:before,.bg-inverse .btn-outline-success.custom-file-control:disabled:hover:before,.bg-inverse .btn-outline-success.disabled.custom-file-control:focus:before,.bg-inverse .btn-outline-success.disabled.custom-file-control:hover:before,.bg-inverse .btn-outline-success.disabled.focus.custom-file-control:before,.bg-inverse .btn.btn-outline-success.disabled.focus,.bg-inverse .btn.btn-outline-success.disabled:focus,.bg-inverse .btn.btn-outline-success.disabled:hover,.bg-inverse .btn.btn-outline-success:disabled.focus,.bg-inverse .btn.btn-outline-success:disabled:focus,.bg-inverse .btn.btn-outline-success:disabled:hover{background-color:inherit;border-color:#4caf50}.btn-outline-success.btn-link.custom-file-control:before,.btn.btn-outline-success.btn-link{background-color:transparent}.btn-outline-warning.custom-file-control:before,.btn.btn-outline-warning{color:#ff5722;background-color:inherit;border-color:#ff5722}.btn-outline-warning.active.custom-file-control:before,.btn-outline-warning.custom-file-control:active:before,.btn-outline-warning.custom-file-control:focus:before,.btn-outline-warning.custom-file-control:hover:before,.btn-outline-warning.focus.custom-file-control:before,.btn.btn-outline-warning.active,.btn.btn-outline-warning.focus,.btn.btn-outline-warning:active,.btn.btn-outline-warning:focus,.btn.btn-outline-warning:hover,.open>.btn-outline-warning.dropdown-toggle.custom-file-control:before,.open>.btn.btn-outline-warning.dropdown-toggle{color:#ff5722;background-color:hsla(0,0%,60%,.2);border-color:#ff5722}.btn-outline-warning.active.custom-file-control:focus:before,.btn-outline-warning.active.custom-file-control:hover:before,.btn-outline-warning.active.focus.custom-file-control:before,.btn-outline-warning.custom-file-control:active.focus:before,.btn-outline-warning.custom-file-control:active:focus:before,.btn-outline-warning.custom-file-control:active:hover:before,.btn.btn-outline-warning.active.focus,.btn.btn-outline-warning.active:focus,.btn.btn-outline-warning.active:hover,.btn.btn-outline-warning:active.focus,.btn.btn-outline-warning:active:focus,.btn.btn-outline-warning:active:hover,.open>.btn-outline-warning.dropdown-toggle.custom-file-control:focus:before,.open>.btn-outline-warning.dropdown-toggle.custom-file-control:hover:before,.open>.btn-outline-warning.dropdown-toggle.focus.custom-file-control:before,.open>.btn.btn-outline-warning.dropdown-toggle.focus,.open>.btn.btn-outline-warning.dropdown-toggle:focus,.open>.btn.btn-outline-warning.dropdown-toggle:hover{color:#ff5722;background-color:hsla(0,0%,60%,.4);border-color:#ff5722}.open>.btn-outline-warning.dropdown-toggle.bmd-btn-icon.custom-file-control:before,.open>.btn.btn-outline-warning.dropdown-toggle.bmd-btn-icon{color:inherit;background-color:inherit}.open>.btn-outline-warning.dropdown-toggle.bmd-btn-icon.custom-file-control:hover:before,.open>.btn.btn-outline-warning.dropdown-toggle.bmd-btn-icon:hover{background-color:hsla(0,0%,60%,.2)}.btn-outline-warning.custom-file-control:disabled.focus:before,.btn-outline-warning.custom-file-control:disabled:focus:before,.btn-outline-warning.custom-file-control:disabled:hover:before,.btn-outline-warning.disabled.custom-file-control:focus:before,.btn-outline-warning.disabled.custom-file-control:hover:before,.btn-outline-warning.disabled.focus.custom-file-control:before,.btn.btn-outline-warning.disabled.focus,.btn.btn-outline-warning.disabled:focus,.btn.btn-outline-warning.disabled:hover,.btn.btn-outline-warning:disabled.focus,.btn.btn-outline-warning:disabled:focus,.btn.btn-outline-warning:disabled:hover{background-color:inherit;border-color:#ff5722}.bg-inverse .btn-outline-warning.custom-file-control:before,.bg-inverse .btn.btn-outline-warning{color:#ff5722;background-color:inherit;border-color:#ff5722}.bg-inverse .btn-outline-warning.active.custom-file-control:before,.bg-inverse .btn-outline-warning.custom-file-control:active:before,.bg-inverse .btn-outline-warning.custom-file-control:focus:before,.bg-inverse .btn-outline-warning.custom-file-control:hover:before,.bg-inverse .btn-outline-warning.focus.custom-file-control:before,.bg-inverse .btn.btn-outline-warning.active,.bg-inverse .btn.btn-outline-warning.focus,.bg-inverse .btn.btn-outline-warning:active,.bg-inverse .btn.btn-outline-warning:focus,.bg-inverse .btn.btn-outline-warning:hover,.open>.bg-inverse .btn-outline-warning.dropdown-toggle.custom-file-control:before,.open>.bg-inverse .btn.btn-outline-warning.dropdown-toggle{color:#ff5722;background-color:hsla(0,0%,80%,.15);border-color:hsla(0,0%,80%,.15)}.bg-inverse .btn-outline-warning.active.custom-file-control:focus:before,.bg-inverse .btn-outline-warning.active.custom-file-control:hover:before,.bg-inverse .btn-outline-warning.active.focus.custom-file-control:before,.bg-inverse .btn-outline-warning.custom-file-control:active.focus:before,.bg-inverse .btn-outline-warning.custom-file-control:active:focus:before,.bg-inverse .btn-outline-warning.custom-file-control:active:hover:before,.bg-inverse .btn.btn-outline-warning.active.focus,.bg-inverse .btn.btn-outline-warning.active:focus,.bg-inverse .btn.btn-outline-warning.active:hover,.bg-inverse .btn.btn-outline-warning:active.focus,.bg-inverse .btn.btn-outline-warning:active:focus,.bg-inverse .btn.btn-outline-warning:active:hover,.open>.bg-inverse .btn-outline-warning.dropdown-toggle.custom-file-control:focus:before,.open>.bg-inverse .btn-outline-warning.dropdown-toggle.custom-file-control:hover:before,.open>.bg-inverse .btn-outline-warning.dropdown-toggle.focus.custom-file-control:before,.open>.bg-inverse .btn.btn-outline-warning.dropdown-toggle.focus,.open>.bg-inverse .btn.btn-outline-warning.dropdown-toggle:focus,.open>.bg-inverse .btn.btn-outline-warning.dropdown-toggle:hover{color:#ff5722;background-color:hsla(0,0%,80%,.25);border-color:hsla(0,0%,80%,.25)}.open>.bg-inverse .btn-outline-warning.dropdown-toggle.bmd-btn-icon.custom-file-control:before,.open>.bg-inverse .btn.btn-outline-warning.dropdown-toggle.bmd-btn-icon{color:inherit;background-color:inherit}.open>.bg-inverse .btn-outline-warning.dropdown-toggle.bmd-btn-icon.custom-file-control:hover:before,.open>.bg-inverse .btn.btn-outline-warning.dropdown-toggle.bmd-btn-icon:hover{background-color:hsla(0,0%,80%,.15)}.bg-inverse .btn-outline-warning.custom-file-control:disabled.focus:before,.bg-inverse .btn-outline-warning.custom-file-control:disabled:focus:before,.bg-inverse .btn-outline-warning.custom-file-control:disabled:hover:before,.bg-inverse .btn-outline-warning.disabled.custom-file-control:focus:before,.bg-inverse .btn-outline-warning.disabled.custom-file-control:hover:before,.bg-inverse .btn-outline-warning.disabled.focus.custom-file-control:before,.bg-inverse .btn.btn-outline-warning.disabled.focus,.bg-inverse .btn.btn-outline-warning.disabled:focus,.bg-inverse .btn.btn-outline-warning.disabled:hover,.bg-inverse .btn.btn-outline-warning:disabled.focus,.bg-inverse .btn.btn-outline-warning:disabled:focus,.bg-inverse .btn.btn-outline-warning:disabled:hover{background-color:inherit;border-color:#ff5722}.btn-outline-warning.btn-link.custom-file-control:before,.btn.btn-outline-warning.btn-link{background-color:transparent}.btn-outline-danger.custom-file-control:before,.btn.btn-outline-danger{color:#f44336;background-color:inherit;border-color:#f44336}.btn-outline-danger.active.custom-file-control:before,.btn-outline-danger.custom-file-control:active:before,.btn-outline-danger.custom-file-control:focus:before,.btn-outline-danger.custom-file-control:hover:before,.btn-outline-danger.focus.custom-file-control:before,.btn.btn-outline-danger.active,.btn.btn-outline-danger.focus,.btn.btn-outline-danger:active,.btn.btn-outline-danger:focus,.btn.btn-outline-danger:hover,.open>.btn-outline-danger.dropdown-toggle.custom-file-control:before,.open>.btn.btn-outline-danger.dropdown-toggle{color:#f44336;background-color:hsla(0,0%,60%,.2);border-color:#f44336}.btn-outline-danger.active.custom-file-control:focus:before,.btn-outline-danger.active.custom-file-control:hover:before,.btn-outline-danger.active.focus.custom-file-control:before,.btn-outline-danger.custom-file-control:active.focus:before,.btn-outline-danger.custom-file-control:active:focus:before,.btn-outline-danger.custom-file-control:active:hover:before,.btn.btn-outline-danger.active.focus,.btn.btn-outline-danger.active:focus,.btn.btn-outline-danger.active:hover,.btn.btn-outline-danger:active.focus,.btn.btn-outline-danger:active:focus,.btn.btn-outline-danger:active:hover,.open>.btn-outline-danger.dropdown-toggle.custom-file-control:focus:before,.open>.btn-outline-danger.dropdown-toggle.custom-file-control:hover:before,.open>.btn-outline-danger.dropdown-toggle.focus.custom-file-control:before,.open>.btn.btn-outline-danger.dropdown-toggle.focus,.open>.btn.btn-outline-danger.dropdown-toggle:focus,.open>.btn.btn-outline-danger.dropdown-toggle:hover{color:#f44336;background-color:hsla(0,0%,60%,.4);border-color:#f44336}.open>.btn-outline-danger.dropdown-toggle.bmd-btn-icon.custom-file-control:before,.open>.btn.btn-outline-danger.dropdown-toggle.bmd-btn-icon{color:inherit;background-color:inherit}.open>.btn-outline-danger.dropdown-toggle.bmd-btn-icon.custom-file-control:hover:before,.open>.btn.btn-outline-danger.dropdown-toggle.bmd-btn-icon:hover{background-color:hsla(0,0%,60%,.2)}.btn-outline-danger.custom-file-control:disabled.focus:before,.btn-outline-danger.custom-file-control:disabled:focus:before,.btn-outline-danger.custom-file-control:disabled:hover:before,.btn-outline-danger.disabled.custom-file-control:focus:before,.btn-outline-danger.disabled.custom-file-control:hover:before,.btn-outline-danger.disabled.focus.custom-file-control:before,.btn.btn-outline-danger.disabled.focus,.btn.btn-outline-danger.disabled:focus,.btn.btn-outline-danger.disabled:hover,.btn.btn-outline-danger:disabled.focus,.btn.btn-outline-danger:disabled:focus,.btn.btn-outline-danger:disabled:hover{background-color:inherit;border-color:#f44336}.bg-inverse .btn-outline-danger.custom-file-control:before,.bg-inverse .btn.btn-outline-danger{color:#f44336;background-color:inherit;border-color:#f44336}.bg-inverse .btn-outline-danger.active.custom-file-control:before,.bg-inverse .btn-outline-danger.custom-file-control:active:before,.bg-inverse .btn-outline-danger.custom-file-control:focus:before,.bg-inverse .btn-outline-danger.custom-file-control:hover:before,.bg-inverse .btn-outline-danger.focus.custom-file-control:before,.bg-inverse .btn.btn-outline-danger.active,.bg-inverse .btn.btn-outline-danger.focus,.bg-inverse .btn.btn-outline-danger:active,.bg-inverse .btn.btn-outline-danger:focus,.bg-inverse .btn.btn-outline-danger:hover,.open>.bg-inverse .btn-outline-danger.dropdown-toggle.custom-file-control:before,.open>.bg-inverse .btn.btn-outline-danger.dropdown-toggle{color:#f44336;background-color:hsla(0,0%,80%,.15);border-color:hsla(0,0%,80%,.15)}.bg-inverse .btn-outline-danger.active.custom-file-control:focus:before,.bg-inverse .btn-outline-danger.active.custom-file-control:hover:before,.bg-inverse .btn-outline-danger.active.focus.custom-file-control:before,.bg-inverse .btn-outline-danger.custom-file-control:active.focus:before,.bg-inverse .btn-outline-danger.custom-file-control:active:focus:before,.bg-inverse .btn-outline-danger.custom-file-control:active:hover:before,.bg-inverse .btn.btn-outline-danger.active.focus,.bg-inverse .btn.btn-outline-danger.active:focus,.bg-inverse .btn.btn-outline-danger.active:hover,.bg-inverse .btn.btn-outline-danger:active.focus,.bg-inverse .btn.btn-outline-danger:active:focus,.bg-inverse .btn.btn-outline-danger:active:hover,.open>.bg-inverse .btn-outline-danger.dropdown-toggle.custom-file-control:focus:before,.open>.bg-inverse .btn-outline-danger.dropdown-toggle.custom-file-control:hover:before,.open>.bg-inverse .btn-outline-danger.dropdown-toggle.focus.custom-file-control:before,.open>.bg-inverse .btn.btn-outline-danger.dropdown-toggle.focus,.open>.bg-inverse .btn.btn-outline-danger.dropdown-toggle:focus,.open>.bg-inverse .btn.btn-outline-danger.dropdown-toggle:hover{color:#f44336;background-color:hsla(0,0%,80%,.25);border-color:hsla(0,0%,80%,.25)}.open>.bg-inverse .btn-outline-danger.dropdown-toggle.bmd-btn-icon.custom-file-control:before,.open>.bg-inverse .btn.btn-outline-danger.dropdown-toggle.bmd-btn-icon{color:inherit;background-color:inherit}.open>.bg-inverse .btn-outline-danger.dropdown-toggle.bmd-btn-icon.custom-file-control:hover:before,.open>.bg-inverse .btn.btn-outline-danger.dropdown-toggle.bmd-btn-icon:hover{background-color:hsla(0,0%,80%,.15)}.bg-inverse .btn-outline-danger.custom-file-control:disabled.focus:before,.bg-inverse .btn-outline-danger.custom-file-control:disabled:focus:before,.bg-inverse .btn-outline-danger.custom-file-control:disabled:hover:before,.bg-inverse .btn-outline-danger.disabled.custom-file-control:focus:before,.bg-inverse .btn-outline-danger.disabled.custom-file-control:hover:before,.bg-inverse .btn-outline-danger.disabled.focus.custom-file-control:before,.bg-inverse .btn.btn-outline-danger.disabled.focus,.bg-inverse .btn.btn-outline-danger.disabled:focus,.bg-inverse .btn.btn-outline-danger.disabled:hover,.bg-inverse .btn.btn-outline-danger:disabled.focus,.bg-inverse .btn.btn-outline-danger:disabled:focus,.bg-inverse .btn.btn-outline-danger:disabled:hover{background-color:inherit;border-color:#f44336}.btn-outline-danger.btn-link.custom-file-control:before,.btn.btn-outline-danger.btn-link{background-color:transparent}.bmd-btn-fab.custom-file-control:before,.bmd-btn-icon.custom-file-control:before,.btn.bmd-btn-fab,.btn.bmd-btn-icon{overflow:hidden;font-size:1.5rem;line-height:normal}.bmd-btn-fab.custom-file-control:before,.bmd-btn-icon.custom-file-control:before,.btn-group-lg .bmd-btn-fab.custom-file-control:before,.btn-group-lg .bmd-btn-icon.custom-file-control:before,.btn-group-lg .btn.bmd-btn-fab,.btn-group-lg .btn.bmd-btn-icon,.btn-group-sm .bmd-btn-fab.custom-file-control:before,.btn-group-sm .bmd-btn-icon.custom-file-control:before,.btn-group-sm .btn.bmd-btn-fab,.btn-group-sm .btn.bmd-btn-icon,.btn.bmd-btn-fab,.btn.bmd-btn-icon{padding:0;border-radius:50%}.bmd-btn-fab.custom-file-control:before .material-icons,.bmd-btn-icon.custom-file-control:before .material-icons,.btn.bmd-btn-fab .material-icons,.btn.bmd-btn-icon .material-icons{position:absolute;top:50%;left:50%;width:1.5rem;line-height:1.5rem;-webkit-transform:translate(-.75rem,-.75rem);transform:translate(-.75rem,-.75rem)}.bmd-btn-fab.custom-file-control:before,.btn.bmd-btn-fab{width:3.5rem;min-width:3.5rem;height:3.5rem;box-shadow:0 1px 1.5px 0 rgba(0,0,0,.12),0 1px 1px 0 rgba(0,0,0,.26)}.bmd-btn-fab.custom-file-control:before .ripple-container,.btn.bmd-btn-fab .ripple-container{border-radius:50%}.bmd-btn-fab.bmd-btn-fab-sm.custom-file-control:before,.btn-group-sm .bmd-btn-fab.custom-file-control:before,.btn-group-sm .btn.bmd-btn-fab,.btn.bmd-btn-fab.bmd-btn-fab-sm{width:2.5rem;min-width:2.5rem;height:2.5rem}.bmd-btn-icon.custom-file-control:before,.btn.bmd-btn-icon{width:2rem;min-width:2rem;height:2rem;margin:0;color:inherit}.bmd-btn-icon.bmd-btn-icon-sm.custom-file-control:before,.btn-group-sm .bmd-btn-icon.custom-file-control:before,.btn-group-sm .btn.bmd-btn-icon,.btn.bmd-btn-icon.bmd-btn-icon-sm{width:1.5rem;min-width:1.5rem;height:1.5rem;font-size:1.125rem}.bmd-btn-icon.bmd-btn-icon-sm.custom-file-control:before .material-icons,.btn-group-sm .bmd-btn-icon.custom-file-control:before .material-icons,.btn-group-sm .btn.bmd-btn-icon .material-icons,.btn.bmd-btn-icon.bmd-btn-icon-sm .material-icons{width:1.125rem;font-size:1.125rem;line-height:1;-webkit-transform:translate(-.5625rem,-.5625rem);transform:translate(-.5625rem,-.5625rem)}.btn .material-icons,.custom-file-control:before .material-icons{position:relative;top:.25em;margin-top:-1em;margin-bottom:-1em;font-size:1.5em}.btn-group-lg .btn,.btn-group-lg .custom-file-control:before,.btn-group-lg>.btn,.btn-group-lg>.custom-file-control:before,.btn-lg.custom-file-control:before,.btn.btn-lg{padding:.75rem 1.5rem;font-size:1.25rem;border-radius:.3rem}.btn-group-sm .btn,.btn-group-sm .custom-file-control:before,.btn-group-sm>.btn,.btn-group-sm>.custom-file-control:before,.btn-sm.custom-file-control:before,.btn.btn-sm{padding:.40625rem .5rem;border-radius:.0625rem;font-size:.8125rem}.btn-group-vertical.disabled,.btn-group-vertical:disabled,.btn-group-vertical[disabled],.btn-group.disabled,.btn-group:disabled,.btn-group[disabled],.btn.disabled,.btn:disabled,.btn[disabled],.custom-file-control:disabled:before,.disabled.custom-file-control:before,.input-group-btn .btn.disabled,.input-group-btn .btn:disabled,.input-group-btn .btn[disabled],.input-group-btn .custom-file-control:disabled:before,.input-group-btn .disabled.custom-file-control:before,.input-group-btn [disabled].custom-file-control:before,[disabled].custom-file-control:before,fieldset[disabled][disabled] .btn,fieldset[disabled][disabled] .btn-group,fieldset[disabled][disabled] .btn-group-vertical,fieldset[disabled][disabled] .custom-file-control:before,fieldset[disabled][disabled] .input-group-btn .btn,fieldset[disabled][disabled] .input-group-btn .custom-file-control:before{color:rgba(0,0,0,.26)}.bg-inverse .btn-group-vertical.disabled,.bg-inverse .btn-group-vertical:disabled,.bg-inverse .btn-group-vertical[disabled],.bg-inverse .btn-group.disabled,.bg-inverse .btn-group:disabled,.bg-inverse .btn-group[disabled],.bg-inverse .btn.disabled,.bg-inverse .btn:disabled,.bg-inverse .btn[disabled],.bg-inverse .custom-file-control:disabled:before,.bg-inverse .disabled.custom-file-control:before,.bg-inverse .input-group-btn .btn.disabled,.bg-inverse .input-group-btn .btn:disabled,.bg-inverse .input-group-btn .btn[disabled],.bg-inverse .input-group-btn .custom-file-control:disabled:before,.bg-inverse .input-group-btn .disabled.custom-file-control:before,.bg-inverse .input-group-btn [disabled].custom-file-control:before,.bg-inverse [disabled].custom-file-control:before,.bg-inverse fieldset[disabled][disabled] .btn,.bg-inverse fieldset[disabled][disabled] .btn-group,.bg-inverse fieldset[disabled][disabled] .btn-group-vertical,.bg-inverse fieldset[disabled][disabled] .custom-file-control:before,.bg-inverse fieldset[disabled][disabled] .input-group-btn .btn,.bg-inverse fieldset[disabled][disabled] .input-group-btn .custom-file-control:before{color:hsla(0,0%,100%,.3)}.btn-group-vertical.disabled,.btn-group-vertical.disabled:focus,.btn-group-vertical.disabled:hover,.btn-group-vertical:disabled,.btn-group-vertical:disabled:focus,.btn-group-vertical:disabled:hover,.btn-group-vertical[disabled],.btn-group-vertical[disabled]:focus,.btn-group-vertical[disabled]:hover,.btn-group.disabled,.btn-group.disabled:focus,.btn-group.disabled:hover,.btn-group:disabled,.btn-group:disabled:focus,.btn-group:disabled:hover,.btn-group[disabled],.btn-group[disabled]:focus,.btn-group[disabled]:hover,.btn.disabled,.btn.disabled:focus,.btn.disabled:hover,.btn:disabled,.btn:disabled:focus,.btn:disabled:hover,.btn[disabled],.btn[disabled]:focus,.btn[disabled]:hover,.custom-file-control:disabled:before,.custom-file-control:disabled:focus:before,.custom-file-control:disabled:hover:before,.disabled.custom-file-control:before,.disabled.custom-file-control:focus:before,.disabled.custom-file-control:hover:before,.input-group-btn .btn.disabled,.input-group-btn .btn.disabled:focus,.input-group-btn .btn.disabled:hover,.input-group-btn .btn:disabled,.input-group-btn .btn:disabled:focus,.input-group-btn .btn:disabled:hover,.input-group-btn .btn[disabled],.input-group-btn .btn[disabled]:focus,.input-group-btn .btn[disabled]:hover,.input-group-btn .custom-file-control:disabled:before,.input-group-btn .custom-file-control:disabled:focus:before,.input-group-btn .custom-file-control:disabled:hover:before,.input-group-btn .disabled.custom-file-control:before,.input-group-btn .disabled.custom-file-control:focus:before,.input-group-btn .disabled.custom-file-control:hover:before,.input-group-btn [disabled].custom-file-control:before,.input-group-btn [disabled].custom-file-control:focus:before,.input-group-btn [disabled].custom-file-control:hover:before,[disabled].custom-file-control:before,[disabled].custom-file-control:focus:before,[disabled].custom-file-control:hover:before,fieldset[disabled][disabled] .btn,fieldset[disabled][disabled] .btn-group,fieldset[disabled][disabled] .btn-group-vertical,fieldset[disabled][disabled] .btn-group-vertical:focus,fieldset[disabled][disabled] .btn-group-vertical:hover,fieldset[disabled][disabled] .btn-group:focus,fieldset[disabled][disabled] .btn-group:hover,fieldset[disabled][disabled] .btn:focus,fieldset[disabled][disabled] .btn:hover,fieldset[disabled][disabled] .custom-file-control:before,fieldset[disabled][disabled] .custom-file-control:focus:before,fieldset[disabled][disabled] .custom-file-control:hover:before,fieldset[disabled][disabled] .input-group-btn .btn,fieldset[disabled][disabled] .input-group-btn .btn:focus,fieldset[disabled][disabled] .input-group-btn .btn:hover,fieldset[disabled][disabled] .input-group-btn .custom-file-control:before,fieldset[disabled][disabled] .input-group-btn .custom-file-control:focus:before,fieldset[disabled][disabled] .input-group-btn .custom-file-control:hover:before{background:transparent}.btn-group,.btn-group-vertical{position:relative;margin:10px 1px}.btn-group-vertical .dropdown-menu,.btn-group .dropdown-menu{border-radius:0 0 .125rem .125rem}.btn-group-vertical.btn-group-raised,.btn-group.btn-group-raised{box-shadow:0 2px 2px 0 rgba(0,0,0,.14),0 3px 1px -2px rgba(0,0,0,.2),0 1px 5px 0 rgba(0,0,0,.12)}.btn-group-vertical .btn,.btn-group-vertical .btn+.btn,.btn-group-vertical .btn+.custom-file-control:before,.btn-group-vertical .btn-group,.btn-group-vertical .btn:active,.btn-group-vertical .custom-file-control:active:before,.btn-group-vertical .custom-file-control:before,.btn-group-vertical .custom-file-control:before+.btn,.btn-group-vertical .custom-file-control:before+.custom-file-control:before,.btn-group-vertical>.btn-group,.btn-group .btn,.btn-group .btn+.btn,.btn-group .btn+.custom-file-control:before,.btn-group .btn-group,.btn-group .btn:active,.btn-group .custom-file-control:active:before,.btn-group .custom-file-control:before,.btn-group .custom-file-control:before+.btn,.btn-group .custom-file-control:before+.custom-file-control:before,.btn-group>.btn-group{margin:0}.checkbox label,label.checkbox-inline{padding-left:1.5625rem;cursor:pointer}.checkbox label .checkbox-decorator,label.checkbox-inline .checkbox-decorator{position:absolute;top:.125rem;left:0;vertical-align:middle}.checkbox label .checkbox-decorator:before,label.checkbox-inline .checkbox-decorator:before{position:absolute;left:0;z-index:1;display:block;width:1.25rem;height:1.25rem;margin:0;content:"";background-color:rgba(0,0,0,.84);border-radius:100%;opacity:0;-webkit-transform:scale3d(2.3,2.3,1);transform:scale3d(2.3,2.3,1)}.checkbox label .checkbox-decorator .check,label.checkbox-inline .checkbox-decorator .check{position:relative;z-index:1;display:inline-block;width:1.25rem;height:1.25rem;overflow:hidden;border:.125rem solid rgba(0,0,0,.54);border-radius:.125rem}.checkbox label .checkbox-decorator .check:before,label.checkbox-inline .checkbox-decorator .check:before{position:absolute;display:block;width:0;height:0;margin-top:-4px;margin-left:6px;content:"";box-shadow:0 0 0 0,0 0 0 0,0 0 0 0,0 0 0 0,0 0 0 0,0 0 0 0,inset 0 0 0 0;-webkit-transform:rotate(45deg);transform:rotate(45deg);-webkit-animation:c;animation:c}.is-focused .checkbox label .checkbox-decorator .check:before,.is-focused label.checkbox-inline .checkbox-decorator .check:before{-webkit-animation:c .3s forwards;animation:c .3s forwards}.checkbox label input[type=checkbox],label.checkbox-inline input[type=checkbox]{position:absolute;left:0;z-index:-1;width:0;height:0;margin:0;overflow:hidden;pointer-events:none;opacity:0}.checkbox label input[type=checkbox]:focus+.checkbox-decorator .check:after,label.checkbox-inline input[type=checkbox]:focus+.checkbox-decorator .check:after{opacity:.2}.checkbox label input[type=checkbox]:checked+.checkbox-decorator .check,label.checkbox-inline input[type=checkbox]:checked+.checkbox-decorator .check{color:#009688;border-color:#009688}.checkbox label input[type=checkbox]:checked+.checkbox-decorator .check:before,label.checkbox-inline input[type=checkbox]:checked+.checkbox-decorator .check:before{color:#009688;box-shadow:0 0 0 10px,10px -10px 0 10px,32px 0 0 20px,32px 0 20px,-5px 5px 0 10px,20px -12px 0 11px;-webkit-animation:b .3s forwards;animation:b .3s forwards}.checkbox label input[type=checkbox]:checked+.checkbox-decorator:before,label.checkbox-inline input[type=checkbox]:checked+.checkbox-decorator:before{-webkit-animation:d;animation:d}.is-focused .checkbox label input[type=checkbox]:checked+.checkbox-decorator:before,.is-focused label.checkbox-inline input[type=checkbox]:checked+.checkbox-decorator:before{-webkit-animation:d .5s;animation:d .5s}.checkbox label input[type=checkbox]:checked+.checkbox-decorator .check:after,label.checkbox-inline input[type=checkbox]:checked+.checkbox-decorator .check:after{-webkit-animation:d .5s forwards;animation:d .5s forwards}.checkbox label input[type=checkbox]:not(:checked)+.checkbox-decorator:before,label.checkbox-inline input[type=checkbox]:not(:checked)+.checkbox-decorator:before{-webkit-animation:d;animation:d}.is-focused .checkbox label input[type=checkbox]:not(:checked)+.checkbox-decorator:before,.is-focused label.checkbox-inline input[type=checkbox]:not(:checked)+.checkbox-decorator:before{-webkit-animation:d .5s;animation:d .5s}.checkbox label input[type=checkbox]:not(:checked)+.checkbox-decorator .check:after,label.checkbox-inline input[type=checkbox]:not(:checked)+.checkbox-decorator .check:after{-webkit-animation:d .5s forwards;animation:d .5s forwards}.checkbox label input[type=checkbox][disabled]+.checkbox-decorator .check:after,.checkbox label input[type=checkbox][disabled] .check:after,fieldset[disabled] .checkbox label input[type=checkbox]+.checkbox-decorator .check:after,fieldset[disabled] .checkbox label input[type=checkbox] .check:after,fieldset[disabled] label.checkbox-inline input[type=checkbox]+.checkbox-decorator .check:after,fieldset[disabled] label.checkbox-inline input[type=checkbox] .check:after,label.checkbox-inline input[type=checkbox][disabled]+.checkbox-decorator .check:after,label.checkbox-inline input[type=checkbox][disabled] .check:after{background-color:rgba(0,0,0,.87);-webkit-transform:rotate(-45deg);transform:rotate(-45deg)}.checkbox label input[type=checkbox][disabled]+.checkbox-decorator .check,.checkbox label input[type=checkbox][disabled] .check,fieldset[disabled] .checkbox label input[type=checkbox]+.checkbox-decorator .check,fieldset[disabled] .checkbox label input[type=checkbox] .check,fieldset[disabled] label.checkbox-inline input[type=checkbox]+.checkbox-decorator .check,fieldset[disabled] label.checkbox-inline input[type=checkbox] .check,label.checkbox-inline input[type=checkbox][disabled]+.checkbox-decorator .check,label.checkbox-inline input[type=checkbox][disabled] .check{border-color:rgba(0,0,0,.26)}@-webkit-keyframes b{0%{box-shadow:0 0 0 10px,10px -10px 0 10px,32px 0 0 20px,0 32px 0 20px,-5px 5px 0 10px,15px 2px 0 11px}50%{box-shadow:0 0 0 10px,10px -10px 0 10px,32px 0 0 20px,0 32px 0 20px,-5px 5px 0 10px,20px 2px 0 11px}to{box-shadow:0 0 0 10px,10px -10px 0 10px,32px 0 0 20px,0 32px 0 20px,-5px 5px 0 10px,20px -12px 0 11px}}@keyframes b{0%{box-shadow:0 0 0 10px,10px -10px 0 10px,32px 0 0 20px,0 32px 0 20px,-5px 5px 0 10px,15px 2px 0 11px}50%{box-shadow:0 0 0 10px,10px -10px 0 10px,32px 0 0 20px,0 32px 0 20px,-5px 5px 0 10px,20px 2px 0 11px}to{box-shadow:0 0 0 10px,10px -10px 0 10px,32px 0 0 20px,0 32px 0 20px,-5px 5px 0 10px,20px -12px 0 11px}}@-webkit-keyframes c{0%{box-shadow:0 0 0 10px,10px -10px 0 10px,32px 0 0 20px,0 32px 0 20px,-5px 5px 0 10px,20px -12px 0 11px,inset 0 0 0 0}25%{box-shadow:0 0 0 10px,10px -10px 0 10px,32px 0 0 20px,0 32px 0 20px,-5px 5px 0 10px,20px -12px 0 11px,inset 0 0 0 0}50%{width:0;height:0;margin-top:-4px;margin-left:6px;box-shadow:0 0 0 10px,10px -10px 0 10px,32px 0 0 20px,0 32px 0 20px,-5px 5px 0 10px,15px 2px 0 11px,inset 0 0 0 0;-webkit-transform:rotate(45deg);transform:rotate(45deg)}51%{width:20px;height:20px;margin-top:-2px;margin-left:-2px;box-shadow:0 0 0 0,0 0 0 0,0 0 0 0,0 0 0 0,0 0 0 0,0 0 0 0,inset 0 0 0 10px;-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{width:20px;height:20px;margin-top:-2px;margin-left:-2px;box-shadow:0 0 0 0,0 0 0 0,0 0 0 0,0 0 0 0,0 0 0 0,0 0 0 0,inset 0 0 0 0;-webkit-transform:rotate(0deg);transform:rotate(0deg)}}@keyframes c{0%{box-shadow:0 0 0 10px,10px -10px 0 10px,32px 0 0 20px,0 32px 0 20px,-5px 5px 0 10px,20px -12px 0 11px,inset 0 0 0 0}25%{box-shadow:0 0 0 10px,10px -10px 0 10px,32px 0 0 20px,0 32px 0 20px,-5px 5px 0 10px,20px -12px 0 11px,inset 0 0 0 0}50%{width:0;height:0;margin-top:-4px;margin-left:6px;box-shadow:0 0 0 10px,10px -10px 0 10px,32px 0 0 20px,0 32px 0 20px,-5px 5px 0 10px,15px 2px 0 11px,inset 0 0 0 0;-webkit-transform:rotate(45deg);transform:rotate(45deg)}51%{width:20px;height:20px;margin-top:-2px;margin-left:-2px;box-shadow:0 0 0 0,0 0 0 0,0 0 0 0,0 0 0 0,0 0 0 0,0 0 0 0,inset 0 0 0 10px;-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{width:20px;height:20px;margin-top:-2px;margin-left:-2px;box-shadow:0 0 0 0,0 0 0 0,0 0 0 0,0 0 0 0,0 0 0 0,0 0 0 0,inset 0 0 0 0;-webkit-transform:rotate(0deg);transform:rotate(0deg)}}@-webkit-keyframes d{0%{opacity:0}50%{opacity:.2}to{opacity:0}}.custom-file-control [class*=' bmd-label'],.custom-file-control [class^=bmd-label]{color:rgba(0,0,0,.26)}.custom-file-control .custom-file-control,.custom-file-control .form-control,.is-focused .custom-file-control .custom-file-control,.is-focused .custom-file-control .form-control{background-image:-webkit-linear-gradient(bottom,#009688 2px,rgba(0,150,136,0) 0),-webkit-linear-gradient(bottom,rgba(0,0,0,.26) 1px,transparent 0);background-image:linear-gradient(0deg,#009688 2px,rgba(0,150,136,0) 0),linear-gradient(0deg,rgba(0,0,0,.26) 1px,transparent 0)}.custom-file-control .custom-file-control:invalid,.custom-file-control .form-control:invalid{background-image:-webkit-linear-gradient(bottom,#d50000 2px,rgba(213,0,0,0) 0),-webkit-linear-gradient(bottom,rgba(0,0,0,.26) 1px,transparent 0);background-image:linear-gradient(0deg,#d50000 2px,rgba(213,0,0,0) 0),linear-gradient(0deg,rgba(0,0,0,.26) 1px,transparent 0)}.custom-file-control .custom-file-control:-moz-read-only,.custom-file-control .form-control:-moz-read-only{background-image:linear-gradient(0deg,rgba(0,0,0,.26) 1px,transparent 0),linear-gradient(0deg,rgba(0,0,0,.26) 1px,transparent 0)}.custom-file-control .custom-file-control:read-only,.custom-file-control .form-control:read-only{background-image:-webkit-linear-gradient(bottom,rgba(0,0,0,.26) 1px,transparent 0),-webkit-linear-gradient(bottom,rgba(0,0,0,.26) 1px,transparent 0);background-image:linear-gradient(0deg,rgba(0,0,0,.26) 1px,transparent 0),linear-gradient(0deg,rgba(0,0,0,.26) 1px,transparent 0)}.custom-file-control .custom-file-control:disabled,.custom-file-control .disabled.custom-file-control,.custom-file-control .form-control.disabled,.custom-file-control .form-control:disabled,.custom-file-control .form-control[disabled],.custom-file-control [disabled].custom-file-control,fieldset[disabled][disabled] .custom-file-control .custom-file-control,fieldset[disabled][disabled] .custom-file-control .form-control{background-image:-webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.26)),color-stop(30%,rgba(0,0,0,.26)),color-stop(30%,transparent),to(transparent));background-image:-webkit-linear-gradient(left,rgba(0,0,0,.26),rgba(0,0,0,.26) 30%,transparent 0,transparent);background-image:linear-gradient(90deg,rgba(0,0,0,.26) 0,rgba(0,0,0,.26) 30%,transparent 0,transparent);background-repeat:repeat-x;background-size:3px 1px}.custom-file-control .form-control-success.custom-file-control,.custom-file-control .form-control.form-control-success,.is-focused .custom-file-control .form-control-success.custom-file-control,.is-focused .custom-file-control .form-control.form-control-success{background-image:-webkit-linear-gradient(bottom,#009688 2px,rgba(0,150,136,0) 0),-webkit-linear-gradient(bottom,rgba(0,0,0,.26) 1px,transparent 0),url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%235cb85c' 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-image:linear-gradient(0deg,#009688 2px,rgba(0,150,136,0) 0),linear-gradient(0deg,rgba(0,0,0,.26) 1px,transparent 0),url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%235cb85c' 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")}.custom-file-control .form-control-warning.custom-file-control,.custom-file-control .form-control.form-control-warning,.is-focused .custom-file-control .form-control-warning.custom-file-control,.is-focused .custom-file-control .form-control.form-control-warning{background-image:-webkit-linear-gradient(bottom,#009688 2px,rgba(0,150,136,0) 0),-webkit-linear-gradient(bottom,rgba(0,0,0,.26) 1px,transparent 0),url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23f0ad4e' d='M4.4 5.324h-.8v-2.46h.8zm0 1.42h-.8V5.89h.8zM3.76.63L.04 7.075c-.115.2.016.425.26.426h7.397c.242 0 .372-.226.258-.426C6.726 4.924 5.47 2.79 4.253.63c-.113-.174-.39-.174-.494 0z'/%3E%3C/svg%3E");background-image:linear-gradient(0deg,#009688 2px,rgba(0,150,136,0) 0),linear-gradient(0deg,rgba(0,0,0,.26) 1px,transparent 0),url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23f0ad4e' d='M4.4 5.324h-.8v-2.46h.8zm0 1.42h-.8V5.89h.8zM3.76.63L.04 7.075c-.115.2.016.425.26.426h7.397c.242 0 .372-.226.258-.426C6.726 4.924 5.47 2.79 4.253.63c-.113-.174-.39-.174-.494 0z'/%3E%3C/svg%3E")}.custom-file-control .form-control-danger.custom-file-control,.custom-file-control .form-control.form-control-danger,.is-focused .custom-file-control .form-control-danger.custom-file-control,.is-focused .custom-file-control .form-control.form-control-danger{background-image:-webkit-linear-gradient(bottom,#009688 2px,rgba(0,150,136,0) 0),-webkit-linear-gradient(bottom,rgba(0,0,0,.26) 1px,transparent 0),url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23d9534f' viewBox='-2 -2 7 7'%3E%3Cpath stroke='%23d9534f' d='M0 0l3 3m0-3L0 3'/%3E%3Ccircle r='.5'/%3E%3Ccircle cx='3' r='.5'/%3E%3Ccircle cy='3' r='.5'/%3E%3Ccircle cx='3' cy='3' r='.5'/%3E%3C/svg%3E");background-image:linear-gradient(0deg,#009688 2px,rgba(0,150,136,0) 0),linear-gradient(0deg,rgba(0,0,0,.26) 1px,transparent 0),url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23d9534f' viewBox='-2 -2 7 7'%3E%3Cpath stroke='%23d9534f' d='M0 0l3 3m0-3L0 3'/%3E%3Ccircle r='.5'/%3E%3Ccircle cx='3' r='.5'/%3E%3Ccircle cy='3' r='.5'/%3E%3Ccircle cx='3' cy='3' r='.5'/%3E%3C/svg%3E")}.custom-file-control.is-focused .checkbox,.custom-file-control .is-focused .checkbox,.custom-file-control.is-focused .checkbox-inline,.custom-file-control .is-focused .checkbox-inline,.custom-file-control.is-focused.checkbox-inline label,.custom-file-control .is-focused.checkbox-inline label,.custom-file-control.is-focused.checkbox label,.custom-file-control .is-focused.checkbox label,.custom-file-control.is-focused .custom-control,.custom-file-control .is-focused .custom-control,.custom-file-control.is-focused .form-control-feedback,.custom-file-control .is-focused .form-control-feedback,.custom-file-control.is-focused .form-control-label,.custom-file-control .is-focused .form-control-label,.custom-file-control.is-focused .radio,.custom-file-control .is-focused .radio,.custom-file-control.is-focused .radio-inline,.custom-file-control .is-focused .radio-inline,.custom-file-control.is-focused.radio-inline label,.custom-file-control .is-focused.radio-inline label,.custom-file-control.is-focused.radio label,.custom-file-control .is-focused.radio label{color:rgba(0,0,0,.26)}.custom-file-control.is-focused .input-group-addon,.custom-file-control .is-focused .input-group-addon{color:rgba(0,0,0,.26);border-color:rgba(0,0,0,.26);background-color:hsla(0,0%,40%,.26)}.custom-file-control.is-focused .form-control-feedback,.custom-file-control .is-focused .form-control-feedback{color:rgba(0,0,0,.26)}.custom-file-control.is-focused [class*=' bmd-label'],.custom-file-control .is-focused [class*=' bmd-label'],.custom-file-control.is-focused [class^=bmd-label],.custom-file-control .is-focused [class^=bmd-label]{color:#009688}.custom-file-control.is-focused .bmd-label-placeholder,.custom-file-control .is-focused .bmd-label-placeholder{color:rgba(0,0,0,.26)}.custom-file-control.is-focused .custom-file-control,.custom-file-control .is-focused .custom-file-control,.custom-file-control.is-focused .form-control,.custom-file-control .is-focused .form-control{border-color:rgba(0,0,0,.26)}.custom-file-control.is-focused .bmd-help,.custom-file-control .is-focused .bmd-help{color:rgba(0,0,0,.54)}.custom-file-control:before{position:absolute;height:calc(100% - 1px)}.switch label{position:relative;padding-left:2.4375rem}.switch label .bmd-switch-track{position:absolute;top:.3125rem;left:0;display:inline-block;width:2.125rem;height:.875rem;cursor:pointer;background-image:-webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.26)),color-stop(50%,rgba(0,0,0,.26)),color-stop(50%,#49dcce),to(#49dcce));background-image:-webkit-linear-gradient(left,rgba(0,0,0,.26),rgba(0,0,0,.26) 50%,#49dcce 0,#49dcce);background-image:linear-gradient(90deg,rgba(0,0,0,.26) 0,rgba(0,0,0,.26) 50%,#49dcce 0,#49dcce);background-position:0;background-size:4.25rem .875rem;border-radius:2.125rem;-webkit-transition:background-position .2s ease-in;transition:background-position .2s ease-in}.switch label .bmd-switch-track:after{position:absolute;top:50%;left:0;display:block;-ms-flex-item-align:center;align-self:center;width:1.25rem;height:1.25rem;content:"";background:#f1f1f1;border-radius:100%;box-shadow:0 1px 3px rgba(0,0,0,.5);-webkit-transition:left .2s ease-in,background-color .2s ease-in,-webkit-transform .3s ease;transition:left .2s ease-in,background-color .2s ease-in,-webkit-transform .3s ease;transition:left .2s ease-in,background-color .2s ease-in,transform .3s ease;transition:left .2s ease-in,background-color .2s ease-in,transform .3s ease,-webkit-transform .3s ease;-webkit-transform:translateY(-50%);transform:translateY(-50%)}.switch label .bmd-switch-track:active:after{-webkit-transform:translateY(-50%) scale3d(1.15,.85,1);transform:translateY(-50%) scale3d(1.15,.85,1)}.switch label input{position:absolute;display:block;width:0;height:0;opacity:0}.switch label input:checked+.bmd-switch-track{background-position:-100%}.switch label input:checked+.bmd-switch-track:after{left:calc(100% - 1.25rem);background-color:#009688}.switch label input:disabled+.bmd-switch-track:active:after{-webkit-transform:translateY(-50%);transform:translateY(-50%)}.switch label input:disabled+.bmd-switch-track{cursor:default;background:rgba(0,0,0,.12)}.switch label input:disabled+.bmd-switch-track:after{background:#bdbdbd}.radio label,label.radio-inline{position:relative;padding-left:1.5625rem}.radio label .bmd-radio-inner-circle,.radio label .bmd-radio-outer-circle,label.radio-inline .bmd-radio-inner-circle,label.radio-inline .bmd-radio-outer-circle{position:absolute;top:.125rem;left:0;display:inline-block;width:1.25rem;height:1.25rem;cursor:pointer;-webkit-transition-duration:.2s;transition-duration:.2s}.radio label .bmd-radio-inner-circle.bmd-radio-outer-circle,.radio label .bmd-radio-outer-circle.bmd-radio-outer-circle,label.radio-inline .bmd-radio-inner-circle.bmd-radio-outer-circle,label.radio-inline .bmd-radio-outer-circle.bmd-radio-outer-circle{border:.125rem solid rgba(0,0,0,.54);border-radius:50%;-webkit-transition:border-color .28s ease;transition:border-color .28s ease}.radio label .bmd-radio-inner-circle.bmd-radio-inner-circle,.radio label .bmd-radio-outer-circle.bmd-radio-inner-circle,label.radio-inline .bmd-radio-inner-circle.bmd-radio-inner-circle,label.radio-inline .bmd-radio-outer-circle.bmd-radio-inner-circle{display:inline-block;background-color:#009688;border-radius:50%;-webkit-transition:-webkit-transform .28s ease;transition:-webkit-transform .28s ease;transition:transform .28s ease;transition:transform .28s ease,-webkit-transform .28s ease;-webkit-transform:scale3d(0,0,0);transform:scale3d(0,0,0)}.radio label .bmd-radio-inner-circle.bmd-radio-inner-circle:after,.radio label .bmd-radio-outer-circle.bmd-radio-inner-circle:after,label.radio-inline .bmd-radio-inner-circle.bmd-radio-inner-circle:after,label.radio-inline .bmd-radio-outer-circle.bmd-radio-inner-circle:after{position:absolute;top:-1em;left:-1em;z-index:1;display:block;width:50px;height:50px;margin:0;content:"";background-color:rgba(0,0,0,.87);border-radius:100%;opacity:0;-webkit-transform:scale3d(1.5,1.5,1);transform:scale3d(1.5,1.5,1)}.radio label input[type=radio],label.radio-inline input[type=radio]{position:absolute;left:0;z-index:-1;width:0;height:0;margin:0;overflow:hidden;pointer-events:none;opacity:0}.radio label input[type=radio]:checked~.bmd-radio-inner-circle,label.radio-inline input[type=radio]:checked~.bmd-radio-inner-circle{background-color:#009688}.radio label input[type=radio]:checked~.bmd-radio-outer-circle,label.radio-inline input[type=radio]:checked~.bmd-radio-outer-circle{border-color:#009688}.radio label input[type=radio]:checked~.bmd-radio-inner-circle,label.radio-inline input[type=radio]:checked~.bmd-radio-inner-circle{-webkit-transform:scale3d(.55,.55,1);transform:scale3d(.55,.55,1)}.radio label input[type=radio]:checked~.bmd-radio-inner-circle:after,label.radio-inline input[type=radio]:checked~.bmd-radio-inner-circle:after{-webkit-animation:d;animation:d}.is-focused .radio label input[type=radio]:checked~.bmd-radio-inner-circle:after,.is-focused label.radio-inline input[type=radio]:checked~.bmd-radio-inner-circle:after,.radio label input[type=radio]:not(:checked)~.bmd-radio-inner-circle:after,label.radio-inline input[type=radio]:not(:checked)~.bmd-radio-inner-circle:after{-webkit-animation:d .5s;animation:d .5s}.radio label input[type=radio]:disabled+.bmd-radio-outer-circle,.radio label input[type=radio][disabled]+.bmd-radio-outer-circle,fieldset[disabled] .radio label input[type=radio]+.bmd-radio-outer-circle,fieldset[disabled] label.radio-inline input[type=radio]+.bmd-radio-outer-circle,label.radio-inline input[type=radio]:disabled+.bmd-radio-outer-circle,label.radio-inline input[type=radio][disabled]+.bmd-radio-outer-circle{cursor:default}.radio label input[type=radio]:disabled~.bmd-radio-inner-circle,.radio label input[type=radio][disabled]~.bmd-radio-inner-circle,fieldset[disabled] .radio label input[type=radio]~.bmd-radio-inner-circle,fieldset[disabled] label.radio-inline input[type=radio]~.bmd-radio-inner-circle,label.radio-inline input[type=radio]:disabled~.bmd-radio-inner-circle,label.radio-inline input[type=radio][disabled]~.bmd-radio-inner-circle{background-color:rgba(0,0,0,.26)}.radio label input[type=radio]:disabled~.bmd-radio-outer-circle,.radio label input[type=radio][disabled]~.bmd-radio-outer-circle,fieldset[disabled] .radio label input[type=radio]~.bmd-radio-outer-circle,fieldset[disabled] label.radio-inline input[type=radio]~.bmd-radio-outer-circle,label.radio-inline input[type=radio]:disabled~.bmd-radio-outer-circle,label.radio-inline input[type=radio][disabled]~.bmd-radio-outer-circle{border-color:rgba(0,0,0,.26)}.bg-inverse .radio label input[type=radio]:disabled~.bmd-radio-inner-circle,.bg-inverse .radio label input[type=radio][disabled]~.bmd-radio-inner-circle,.bg-inverse fieldset[disabled] .radio label input[type=radio]~.bmd-radio-inner-circle,.bg-inverse fieldset[disabled] label.radio-inline input[type=radio]~.bmd-radio-inner-circle,.bg-inverse label.radio-inline input[type=radio]:disabled~.bmd-radio-inner-circle,.bg-inverse label.radio-inline input[type=radio][disabled]~.bmd-radio-inner-circle{background-color:hsla(0,0%,100%,.3)}.bg-inverse .radio label input[type=radio]:disabled~.bmd-radio-outer-circle,.bg-inverse .radio label input[type=radio][disabled]~.bmd-radio-outer-circle,.bg-inverse fieldset[disabled] .radio label input[type=radio]~.bmd-radio-outer-circle,.bg-inverse fieldset[disabled] label.radio-inline input[type=radio]~.bmd-radio-outer-circle,.bg-inverse label.radio-inline input[type=radio]:disabled~.bmd-radio-outer-circle,.bg-inverse label.radio-inline input[type=radio][disabled]~.bmd-radio-outer-circle{border-color:hsla(0,0%,100%,.3)}@keyframes d{0%{opacity:0}50%{opacity:.2}to{opacity:0}}form{margin-bottom:1.125rem}.navbar form{margin-bottom:0}.navbar form .bmd-form-group{display:inline-block;padding-top:0}.navbar form .btn,.navbar form .custom-file-control:before{margin-bottom:0}.custom-file-control,.form-control{background:no-repeat bottom,50% calc(100% - 1px);background-size:0 100%,100% 100%;border:0;-webkit-transition:background 0s ease-out;transition:background 0s ease-out}.bmd-form-group.is-focused .custom-file-control,.bmd-form-group.is-focused .form-control,.custom-file-control:focus,.form-control:focus{background-size:100% 100%,100% 100%;-webkit-transition-duration:.3s;transition-duration:.3s}.bmd-help{position:absolute;display:none;font-size:.8rem;font-weight:400}.bmd-form-group.is-focused .bmd-help{display:block}.bmd-help:nth-of-type(2){padding-top:1rem}.bmd-help+.bmd-help{position:relative;margin-bottom:0}.checkbox-inline,.checkbox label,.is-focused .checkbox-inline,.is-focused .checkbox label,.is-focused .radio-inline,.is-focused .radio label,.is-focused .switch label,.radio-inline,.radio label,.switch label{color:rgba(0,0,0,.26)}.checkbox-inline:active,.checkbox-inline:focus,.checkbox-inline:hover,.checkbox label:active,.checkbox label:focus,.checkbox label:hover,.is-focused .checkbox-inline:active,.is-focused .checkbox-inline:focus,.is-focused .checkbox-inline:hover,.is-focused .checkbox label:active,.is-focused .checkbox label:focus,.is-focused .checkbox label:hover,.is-focused .radio-inline:active,.is-focused .radio-inline:focus,.is-focused .radio-inline:hover,.is-focused .radio label:active,.is-focused .radio label:focus,.is-focused .radio label:hover,.is-focused .switch label:active,.is-focused .switch label:focus,.is-focused .switch label:hover,.radio-inline:active,.radio-inline:focus,.radio-inline:hover,.radio label:active,.radio label:focus,.radio label:hover,.switch label:active,.switch label:focus,.switch label:hover{color:rgba(0,0,0,.54)}.checkbox-inline label:has(input[type=checkbox][disabled]),.checkbox-inline label:has(input[type=checkbox][disabled]):focus,.checkbox-inline label:has(input[type=checkbox][disabled]):hover,.checkbox-inline label:has(input[type=radio][disabled]),.checkbox-inline label:has(input[type=radio][disabled]):focus,.checkbox-inline label:has(input[type=radio][disabled]):hover,.checkbox label label:has(input[type=checkbox][disabled]),.checkbox label label:has(input[type=checkbox][disabled]):focus,.checkbox label label:has(input[type=checkbox][disabled]):hover,.checkbox label label:has(input[type=radio][disabled]),.checkbox label label:has(input[type=radio][disabled]):focus,.checkbox label label:has(input[type=radio][disabled]):hover,.is-focused .checkbox-inline label:has(input[type=checkbox][disabled]),.is-focused .checkbox-inline label:has(input[type=checkbox][disabled]):focus,.is-focused .checkbox-inline label:has(input[type=checkbox][disabled]):hover,.is-focused .checkbox-inline label:has(input[type=radio][disabled]),.is-focused .checkbox-inline label:has(input[type=radio][disabled]):focus,.is-focused .checkbox-inline label:has(input[type=radio][disabled]):hover,.is-focused .checkbox label label:has(input[type=checkbox][disabled]),.is-focused .checkbox label label:has(input[type=checkbox][disabled]):focus,.is-focused .checkbox label label:has(input[type=checkbox][disabled]):hover,.is-focused .checkbox label label:has(input[type=radio][disabled]),.is-focused .checkbox label label:has(input[type=radio][disabled]):focus,.is-focused .checkbox label label:has(input[type=radio][disabled]):hover,.is-focused .radio-inline label:has(input[type=checkbox][disabled]),.is-focused .radio-inline label:has(input[type=checkbox][disabled]):focus,.is-focused .radio-inline label:has(input[type=checkbox][disabled]):hover,.is-focused .radio-inline label:has(input[type=radio][disabled]),.is-focused .radio-inline label:has(input[type=radio][disabled]):focus,.is-focused .radio-inline label:has(input[type=radio][disabled]):hover,.is-focused .radio label label:has(input[type=checkbox][disabled]),.is-focused .radio label label:has(input[type=checkbox][disabled]):focus,.is-focused .radio label label:has(input[type=checkbox][disabled]):hover,.is-focused .radio label label:has(input[type=radio][disabled]),.is-focused .radio label label:has(input[type=radio][disabled]):focus,.is-focused .radio label label:has(input[type=radio][disabled]):hover,.is-focused .switch label label:has(input[type=checkbox][disabled]),.is-focused .switch label label:has(input[type=checkbox][disabled]):focus,.is-focused .switch label label:has(input[type=checkbox][disabled]):hover,.is-focused .switch label label:has(input[type=radio][disabled]),.is-focused .switch label label:has(input[type=radio][disabled]):focus,.is-focused .switch label label:has(input[type=radio][disabled]):hover,.radio-inline label:has(input[type=checkbox][disabled]),.radio-inline label:has(input[type=checkbox][disabled]):focus,.radio-inline label:has(input[type=checkbox][disabled]):hover,.radio-inline label:has(input[type=radio][disabled]),.radio-inline label:has(input[type=radio][disabled]):focus,.radio-inline label:has(input[type=radio][disabled]):hover,.radio label label:has(input[type=checkbox][disabled]),.radio label label:has(input[type=checkbox][disabled]):focus,.radio label label:has(input[type=checkbox][disabled]):hover,.radio label label:has(input[type=radio][disabled]),.radio label label:has(input[type=radio][disabled]):focus,.radio label label:has(input[type=radio][disabled]):hover,.switch label label:has(input[type=checkbox][disabled]),.switch label label:has(input[type=checkbox][disabled]):focus,.switch label label:has(input[type=checkbox][disabled]):hover,.switch label label:has(input[type=radio][disabled]),.switch label label:has(input[type=radio][disabled]):focus,.switch label label:has(input[type=radio][disabled]):hover,[class*=' bmd-label'],[class^=bmd-label],fieldset[disabled] .checkbox-inline,fieldset[disabled] .checkbox-inline:focus,fieldset[disabled] .checkbox-inline:hover,fieldset[disabled] .checkbox label,fieldset[disabled] .checkbox label:focus,fieldset[disabled] .checkbox label:hover,fieldset[disabled] .is-focused .checkbox-inline,fieldset[disabled] .is-focused .checkbox-inline:focus,fieldset[disabled] .is-focused .checkbox-inline:hover,fieldset[disabled] .is-focused .checkbox label,fieldset[disabled] .is-focused .checkbox label:focus,fieldset[disabled] .is-focused .checkbox label:hover,fieldset[disabled] .is-focused .radio-inline,fieldset[disabled] .is-focused .radio-inline:focus,fieldset[disabled] .is-focused .radio-inline:hover,fieldset[disabled] .is-focused .radio label,fieldset[disabled] .is-focused .radio label:focus,fieldset[disabled] .is-focused .radio label:hover,fieldset[disabled] .is-focused .switch label,fieldset[disabled] .is-focused .switch label:focus,fieldset[disabled] .is-focused .switch label:hover,fieldset[disabled] .radio-inline,fieldset[disabled] .radio-inline:focus,fieldset[disabled] .radio-inline:hover,fieldset[disabled] .radio label,fieldset[disabled] .radio label:focus,fieldset[disabled] .radio label:hover,fieldset[disabled] .switch label,fieldset[disabled] .switch label:focus,fieldset[disabled] .switch label:hover{color:rgba(0,0,0,.26)}.custom-file-control,.form-control,.is-focused .custom-file-control,.is-focused .form-control{background-image:-webkit-linear-gradient(bottom,#009688 2px,rgba(0,150,136,0) 0),-webkit-linear-gradient(bottom,rgba(0,0,0,.26) 1px,transparent 0);background-image:linear-gradient(0deg,#009688 2px,rgba(0,150,136,0) 0),linear-gradient(0deg,rgba(0,0,0,.26) 1px,transparent 0)}.custom-file-control:invalid,.form-control:invalid{background-image:-webkit-linear-gradient(bottom,#d50000 2px,rgba(213,0,0,0) 0),-webkit-linear-gradient(bottom,rgba(0,0,0,.26) 1px,transparent 0);background-image:linear-gradient(0deg,#d50000 2px,rgba(213,0,0,0) 0),linear-gradient(0deg,rgba(0,0,0,.26) 1px,transparent 0)}.custom-file-control:-moz-read-only,.form-control:-moz-read-only{background-image:linear-gradient(0deg,rgba(0,0,0,.26) 1px,transparent 0),linear-gradient(0deg,rgba(0,0,0,.26) 1px,transparent 0)}.custom-file-control:read-only,.form-control:read-only{background-image:-webkit-linear-gradient(bottom,rgba(0,0,0,.26) 1px,transparent 0),-webkit-linear-gradient(bottom,rgba(0,0,0,.26) 1px,transparent 0);background-image:linear-gradient(0deg,rgba(0,0,0,.26) 1px,transparent 0),linear-gradient(0deg,rgba(0,0,0,.26) 1px,transparent 0)}.custom-file-control:disabled,.disabled.custom-file-control,.form-control.disabled,.form-control:disabled,.form-control[disabled],[disabled].custom-file-control,fieldset[disabled][disabled] .custom-file-control,fieldset[disabled][disabled] .form-control{background-image:-webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.26)),color-stop(30%,rgba(0,0,0,.26)),color-stop(30%,transparent),to(transparent));background-image:-webkit-linear-gradient(left,rgba(0,0,0,.26),rgba(0,0,0,.26) 30%,transparent 0,transparent);background-image:linear-gradient(90deg,rgba(0,0,0,.26) 0,rgba(0,0,0,.26) 30%,transparent 0,transparent);background-repeat:repeat-x;background-size:3px 1px}.form-control-success.custom-file-control,.form-control.form-control-success,.is-focused .form-control-success.custom-file-control,.is-focused .form-control.form-control-success{background-image:-webkit-linear-gradient(bottom,#009688 2px,rgba(0,150,136,0) 0),-webkit-linear-gradient(bottom,rgba(0,0,0,.26) 1px,transparent 0),url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%235cb85c' 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-image:linear-gradient(0deg,#009688 2px,rgba(0,150,136,0) 0),linear-gradient(0deg,rgba(0,0,0,.26) 1px,transparent 0),url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%235cb85c' 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")}.form-control-warning.custom-file-control,.form-control.form-control-warning,.is-focused .form-control-warning.custom-file-control,.is-focused .form-control.form-control-warning{background-image:-webkit-linear-gradient(bottom,#009688 2px,rgba(0,150,136,0) 0),-webkit-linear-gradient(bottom,rgba(0,0,0,.26) 1px,transparent 0),url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23f0ad4e' d='M4.4 5.324h-.8v-2.46h.8zm0 1.42h-.8V5.89h.8zM3.76.63L.04 7.075c-.115.2.016.425.26.426h7.397c.242 0 .372-.226.258-.426C6.726 4.924 5.47 2.79 4.253.63c-.113-.174-.39-.174-.494 0z'/%3E%3C/svg%3E");background-image:linear-gradient(0deg,#009688 2px,rgba(0,150,136,0) 0),linear-gradient(0deg,rgba(0,0,0,.26) 1px,transparent 0),url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23f0ad4e' d='M4.4 5.324h-.8v-2.46h.8zm0 1.42h-.8V5.89h.8zM3.76.63L.04 7.075c-.115.2.016.425.26.426h7.397c.242 0 .372-.226.258-.426C6.726 4.924 5.47 2.79 4.253.63c-.113-.174-.39-.174-.494 0z'/%3E%3C/svg%3E")}.form-control-danger.custom-file-control,.form-control.form-control-danger,.is-focused .form-control-danger.custom-file-control,.is-focused .form-control.form-control-danger{background-image:-webkit-linear-gradient(bottom,#009688 2px,rgba(0,150,136,0) 0),-webkit-linear-gradient(bottom,rgba(0,0,0,.26) 1px,transparent 0),url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23d9534f' viewBox='-2 -2 7 7'%3E%3Cpath stroke='%23d9534f' d='M0 0l3 3m0-3L0 3'/%3E%3Ccircle r='.5'/%3E%3Ccircle cx='3' r='.5'/%3E%3Ccircle cy='3' r='.5'/%3E%3Ccircle cx='3' cy='3' r='.5'/%3E%3C/svg%3E");background-image:linear-gradient(0deg,#009688 2px,rgba(0,150,136,0) 0),linear-gradient(0deg,rgba(0,0,0,.26) 1px,transparent 0),url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23d9534f' viewBox='-2 -2 7 7'%3E%3Cpath stroke='%23d9534f' d='M0 0l3 3m0-3L0 3'/%3E%3Ccircle r='.5'/%3E%3Ccircle cx='3' r='.5'/%3E%3Ccircle cy='3' r='.5'/%3E%3Ccircle cx='3' cy='3' r='.5'/%3E%3C/svg%3E")}.is-focused .checkbox,.is-focused .checkbox-inline,.is-focused.checkbox-inline label,.is-focused.checkbox label,.is-focused .custom-control,.is-focused .form-control-feedback,.is-focused .form-control-label,.is-focused .radio,.is-focused .radio-inline,.is-focused.radio-inline label,.is-focused.radio label{color:rgba(0,0,0,.26)}.is-focused .input-group-addon{color:rgba(0,0,0,.26);border-color:rgba(0,0,0,.26);background-color:hsla(0,0%,40%,.26)}.is-focused .form-control-feedback{color:rgba(0,0,0,.26)}.is-focused [class*=' bmd-label'],.is-focused [class^=bmd-label]{color:#009688}.is-focused .bmd-label-placeholder{color:rgba(0,0,0,.26)}.is-focused .custom-file-control,.is-focused .form-control{border-color:rgba(0,0,0,.26)}.is-focused .bmd-help{color:rgba(0,0,0,.54)}.has-success [class*=' bmd-label'],.has-success [class^=bmd-label]{color:#4caf50}.has-success .custom-file-control,.has-success .form-control,.is-focused .has-success .custom-file-control,.is-focused .has-success .form-control{background-image:-webkit-linear-gradient(bottom,#4caf50 2px,rgba(76,175,80,0) 0),-webkit-linear-gradient(bottom,rgba(0,0,0,.26) 1px,transparent 0);background-image:linear-gradient(0deg,#4caf50 2px,rgba(76,175,80,0) 0),linear-gradient(0deg,rgba(0,0,0,.26) 1px,transparent 0)}.has-success .custom-file-control:invalid,.has-success .form-control:invalid{background-image:-webkit-linear-gradient(bottom,#d50000 2px,rgba(213,0,0,0) 0),-webkit-linear-gradient(bottom,rgba(0,0,0,.26) 1px,transparent 0);background-image:linear-gradient(0deg,#d50000 2px,rgba(213,0,0,0) 0),linear-gradient(0deg,rgba(0,0,0,.26) 1px,transparent 0)}.has-success .custom-file-control:-moz-read-only,.has-success .form-control:-moz-read-only{background-image:linear-gradient(0deg,rgba(0,0,0,.26) 1px,transparent 0),linear-gradient(0deg,rgba(0,0,0,.26) 1px,transparent 0)}.has-success .custom-file-control:read-only,.has-success .form-control:read-only{background-image:-webkit-linear-gradient(bottom,rgba(0,0,0,.26) 1px,transparent 0),-webkit-linear-gradient(bottom,rgba(0,0,0,.26) 1px,transparent 0);background-image:linear-gradient(0deg,rgba(0,0,0,.26) 1px,transparent 0),linear-gradient(0deg,rgba(0,0,0,.26) 1px,transparent 0)}.has-success .custom-file-control:disabled,.has-success .disabled.custom-file-control,.has-success .form-control.disabled,.has-success .form-control:disabled,.has-success .form-control[disabled],.has-success [disabled].custom-file-control,fieldset[disabled][disabled] .has-success .custom-file-control,fieldset[disabled][disabled] .has-success .form-control{background-image:-webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.26)),color-stop(30%,rgba(0,0,0,.26)),color-stop(30%,transparent),to(transparent));background-image:-webkit-linear-gradient(left,rgba(0,0,0,.26),rgba(0,0,0,.26) 30%,transparent 0,transparent);background-image:linear-gradient(90deg,rgba(0,0,0,.26) 0,rgba(0,0,0,.26) 30%,transparent 0,transparent);background-repeat:repeat-x;background-size:3px 1px}.has-success .form-control-success.custom-file-control,.has-success .form-control.form-control-success,.is-focused .has-success .form-control-success.custom-file-control,.is-focused .has-success .form-control.form-control-success{background-image:-webkit-linear-gradient(bottom,#4caf50 2px,rgba(76,175,80,0) 0),-webkit-linear-gradient(bottom,rgba(0,0,0,.26) 1px,transparent 0),url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%235cb85c' 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-image:linear-gradient(0deg,#4caf50 2px,rgba(76,175,80,0) 0),linear-gradient(0deg,rgba(0,0,0,.26) 1px,transparent 0),url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%235cb85c' 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")}.has-success .form-control-warning.custom-file-control,.has-success .form-control.form-control-warning,.is-focused .has-success .form-control-warning.custom-file-control,.is-focused .has-success .form-control.form-control-warning{background-image:-webkit-linear-gradient(bottom,#4caf50 2px,rgba(76,175,80,0) 0),-webkit-linear-gradient(bottom,rgba(0,0,0,.26) 1px,transparent 0),url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23f0ad4e' d='M4.4 5.324h-.8v-2.46h.8zm0 1.42h-.8V5.89h.8zM3.76.63L.04 7.075c-.115.2.016.425.26.426h7.397c.242 0 .372-.226.258-.426C6.726 4.924 5.47 2.79 4.253.63c-.113-.174-.39-.174-.494 0z'/%3E%3C/svg%3E");background-image:linear-gradient(0deg,#4caf50 2px,rgba(76,175,80,0) 0),linear-gradient(0deg,rgba(0,0,0,.26) 1px,transparent 0),url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23f0ad4e' d='M4.4 5.324h-.8v-2.46h.8zm0 1.42h-.8V5.89h.8zM3.76.63L.04 7.075c-.115.2.016.425.26.426h7.397c.242 0 .372-.226.258-.426C6.726 4.924 5.47 2.79 4.253.63c-.113-.174-.39-.174-.494 0z'/%3E%3C/svg%3E")}.has-success .form-control-danger.custom-file-control,.has-success .form-control.form-control-danger,.is-focused .has-success .form-control-danger.custom-file-control,.is-focused .has-success .form-control.form-control-danger{background-image:-webkit-linear-gradient(bottom,#4caf50 2px,rgba(76,175,80,0) 0),-webkit-linear-gradient(bottom,rgba(0,0,0,.26) 1px,transparent 0),url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23d9534f' viewBox='-2 -2 7 7'%3E%3Cpath stroke='%23d9534f' d='M0 0l3 3m0-3L0 3'/%3E%3Ccircle r='.5'/%3E%3Ccircle cx='3' r='.5'/%3E%3Ccircle cy='3' r='.5'/%3E%3Ccircle cx='3' cy='3' r='.5'/%3E%3C/svg%3E");background-image:linear-gradient(0deg,#4caf50 2px,rgba(76,175,80,0) 0),linear-gradient(0deg,rgba(0,0,0,.26) 1px,transparent 0),url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23d9534f' viewBox='-2 -2 7 7'%3E%3Cpath stroke='%23d9534f' d='M0 0l3 3m0-3L0 3'/%3E%3Ccircle r='.5'/%3E%3Ccircle cx='3' r='.5'/%3E%3Ccircle cy='3' r='.5'/%3E%3Ccircle cx='3' cy='3' r='.5'/%3E%3C/svg%3E")}.has-success.is-focused .checkbox,.has-success .is-focused .checkbox,.has-success.is-focused .checkbox-inline,.has-success .is-focused .checkbox-inline,.has-success.is-focused.checkbox-inline label,.has-success .is-focused.checkbox-inline label,.has-success.is-focused.checkbox label,.has-success .is-focused.checkbox label,.has-success.is-focused .custom-control,.has-success .is-focused .custom-control,.has-success.is-focused .form-control-feedback,.has-success .is-focused .form-control-feedback,.has-success.is-focused .form-control-label,.has-success .is-focused .form-control-label,.has-success.is-focused .radio,.has-success .is-focused .radio,.has-success.is-focused .radio-inline,.has-success .is-focused .radio-inline,.has-success.is-focused.radio-inline label,.has-success .is-focused.radio-inline label,.has-success.is-focused.radio label,.has-success .is-focused.radio label{color:#4caf50}.has-success.is-focused .input-group-addon,.has-success .is-focused .input-group-addon{color:#4caf50;border-color:#4caf50;background-color:#d9eeda}.has-success.is-focused .bmd-label-placeholder,.has-success .is-focused .bmd-label-placeholder,.has-success.is-focused .form-control-feedback,.has-success .is-focused .form-control-feedback,.has-success.is-focused [class*=' bmd-label'],.has-success .is-focused [class*=' bmd-label'],.has-success.is-focused [class^=bmd-label],.has-success .is-focused [class^=bmd-label]{color:#4caf50}.has-success.is-focused .custom-file-control,.has-success .is-focused .custom-file-control,.has-success.is-focused .form-control,.has-success .is-focused .form-control{border-color:#4caf50}.has-success.is-focused .bmd-help,.has-success .is-focused .bmd-help{color:rgba(0,0,0,.54)}.has-info [class*=' bmd-label'],.has-info [class^=bmd-label]{color:#03a9f4}.has-info .custom-file-control,.has-info .form-control,.is-focused .has-info .custom-file-control,.is-focused .has-info .form-control{background-image:-webkit-linear-gradient(bottom,#03a9f4 2px,rgba(3,169,244,0) 0),-webkit-linear-gradient(bottom,rgba(0,0,0,.26) 1px,transparent 0);background-image:linear-gradient(0deg,#03a9f4 2px,rgba(3,169,244,0) 0),linear-gradient(0deg,rgba(0,0,0,.26) 1px,transparent 0)}.has-info .custom-file-control:invalid,.has-info .form-control:invalid{background-image:-webkit-linear-gradient(bottom,#d50000 2px,rgba(213,0,0,0) 0),-webkit-linear-gradient(bottom,rgba(0,0,0,.26) 1px,transparent 0);background-image:linear-gradient(0deg,#d50000 2px,rgba(213,0,0,0) 0),linear-gradient(0deg,rgba(0,0,0,.26) 1px,transparent 0)}.has-info .custom-file-control:-moz-read-only,.has-info .form-control:-moz-read-only{background-image:linear-gradient(0deg,rgba(0,0,0,.26) 1px,transparent 0),linear-gradient(0deg,rgba(0,0,0,.26) 1px,transparent 0)}.has-info .custom-file-control:read-only,.has-info .form-control:read-only{background-image:-webkit-linear-gradient(bottom,rgba(0,0,0,.26) 1px,transparent 0),-webkit-linear-gradient(bottom,rgba(0,0,0,.26) 1px,transparent 0);background-image:linear-gradient(0deg,rgba(0,0,0,.26) 1px,transparent 0),linear-gradient(0deg,rgba(0,0,0,.26) 1px,transparent 0)}.has-info .custom-file-control:disabled,.has-info .disabled.custom-file-control,.has-info .form-control.disabled,.has-info .form-control:disabled,.has-info .form-control[disabled],.has-info [disabled].custom-file-control,fieldset[disabled][disabled] .has-info .custom-file-control,fieldset[disabled][disabled] .has-info .form-control{background-image:-webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.26)),color-stop(30%,rgba(0,0,0,.26)),color-stop(30%,transparent),to(transparent));background-image:-webkit-linear-gradient(left,rgba(0,0,0,.26),rgba(0,0,0,.26) 30%,transparent 0,transparent);background-image:linear-gradient(90deg,rgba(0,0,0,.26) 0,rgba(0,0,0,.26) 30%,transparent 0,transparent);background-repeat:repeat-x;background-size:3px 1px}.has-info .form-control-success.custom-file-control,.has-info .form-control.form-control-success,.is-focused .has-info .form-control-success.custom-file-control,.is-focused .has-info .form-control.form-control-success{background-image:-webkit-linear-gradient(bottom,#03a9f4 2px,rgba(3,169,244,0) 0),-webkit-linear-gradient(bottom,rgba(0,0,0,.26) 1px,transparent 0),url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%235cb85c' 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-image:linear-gradient(0deg,#03a9f4 2px,rgba(3,169,244,0) 0),linear-gradient(0deg,rgba(0,0,0,.26) 1px,transparent 0),url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%235cb85c' 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")}.has-info .form-control-warning.custom-file-control,.has-info .form-control.form-control-warning,.is-focused .has-info .form-control-warning.custom-file-control,.is-focused .has-info .form-control.form-control-warning{background-image:-webkit-linear-gradient(bottom,#03a9f4 2px,rgba(3,169,244,0) 0),-webkit-linear-gradient(bottom,rgba(0,0,0,.26) 1px,transparent 0),url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23f0ad4e' d='M4.4 5.324h-.8v-2.46h.8zm0 1.42h-.8V5.89h.8zM3.76.63L.04 7.075c-.115.2.016.425.26.426h7.397c.242 0 .372-.226.258-.426C6.726 4.924 5.47 2.79 4.253.63c-.113-.174-.39-.174-.494 0z'/%3E%3C/svg%3E");background-image:linear-gradient(0deg,#03a9f4 2px,rgba(3,169,244,0) 0),linear-gradient(0deg,rgba(0,0,0,.26) 1px,transparent 0),url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23f0ad4e' d='M4.4 5.324h-.8v-2.46h.8zm0 1.42h-.8V5.89h.8zM3.76.63L.04 7.075c-.115.2.016.425.26.426h7.397c.242 0 .372-.226.258-.426C6.726 4.924 5.47 2.79 4.253.63c-.113-.174-.39-.174-.494 0z'/%3E%3C/svg%3E")}.has-info .form-control-danger.custom-file-control,.has-info .form-control.form-control-danger,.is-focused .has-info .form-control-danger.custom-file-control,.is-focused .has-info .form-control.form-control-danger{background-image:-webkit-linear-gradient(bottom,#03a9f4 2px,rgba(3,169,244,0) 0),-webkit-linear-gradient(bottom,rgba(0,0,0,.26) 1px,transparent 0),url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23d9534f' viewBox='-2 -2 7 7'%3E%3Cpath stroke='%23d9534f' d='M0 0l3 3m0-3L0 3'/%3E%3Ccircle r='.5'/%3E%3Ccircle cx='3' r='.5'/%3E%3Ccircle cy='3' r='.5'/%3E%3Ccircle cx='3' cy='3' r='.5'/%3E%3C/svg%3E");background-image:linear-gradient(0deg,#03a9f4 2px,rgba(3,169,244,0) 0),linear-gradient(0deg,rgba(0,0,0,.26) 1px,transparent 0),url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23d9534f' viewBox='-2 -2 7 7'%3E%3Cpath stroke='%23d9534f' d='M0 0l3 3m0-3L0 3'/%3E%3Ccircle r='.5'/%3E%3Ccircle cx='3' r='.5'/%3E%3Ccircle cy='3' r='.5'/%3E%3Ccircle cx='3' cy='3' r='.5'/%3E%3C/svg%3E")}.has-info.is-focused .checkbox,.has-info .is-focused .checkbox,.has-info.is-focused .checkbox-inline,.has-info .is-focused .checkbox-inline,.has-info.is-focused.checkbox-inline label,.has-info .is-focused.checkbox-inline label,.has-info.is-focused.checkbox label,.has-info .is-focused.checkbox label,.has-info.is-focused .custom-control,.has-info .is-focused .custom-control,.has-info.is-focused .form-control-feedback,.has-info .is-focused .form-control-feedback,.has-info.is-focused .form-control-label,.has-info .is-focused .form-control-label,.has-info.is-focused .radio,.has-info .is-focused .radio,.has-info.is-focused .radio-inline,.has-info .is-focused .radio-inline,.has-info.is-focused.radio-inline label,.has-info .is-focused.radio-inline label,.has-info.is-focused.radio label,.has-info .is-focused.radio label{color:#03a9f4}.has-info.is-focused .input-group-addon,.has-info .is-focused .input-group-addon{color:#03a9f4;border-color:#03a9f4;background-color:#c5ecfe}.has-info.is-focused .bmd-label-placeholder,.has-info .is-focused .bmd-label-placeholder,.has-info.is-focused .form-control-feedback,.has-info .is-focused .form-control-feedback,.has-info.is-focused [class*=' bmd-label'],.has-info .is-focused [class*=' bmd-label'],.has-info.is-focused [class^=bmd-label],.has-info .is-focused [class^=bmd-label]{color:#03a9f4}.has-info.is-focused .custom-file-control,.has-info .is-focused .custom-file-control,.has-info.is-focused .form-control,.has-info .is-focused .form-control{border-color:#03a9f4}.has-info.is-focused .bmd-help,.has-info .is-focused .bmd-help{color:rgba(0,0,0,.54)}.has-warning [class*=' bmd-label'],.has-warning [class^=bmd-label]{color:#ff5722}.has-warning .custom-file-control,.has-warning .form-control,.is-focused .has-warning .custom-file-control,.is-focused .has-warning .form-control{background-image:-webkit-linear-gradient(bottom,#ff5722 2px,rgba(255,87,34,0) 0),-webkit-linear-gradient(bottom,rgba(0,0,0,.26) 1px,transparent 0);background-image:linear-gradient(0deg,#ff5722 2px,rgba(255,87,34,0) 0),linear-gradient(0deg,rgba(0,0,0,.26) 1px,transparent 0)}.has-warning .custom-file-control:invalid,.has-warning .form-control:invalid{background-image:-webkit-linear-gradient(bottom,#d50000 2px,rgba(213,0,0,0) 0),-webkit-linear-gradient(bottom,rgba(0,0,0,.26) 1px,transparent 0);background-image:linear-gradient(0deg,#d50000 2px,rgba(213,0,0,0) 0),linear-gradient(0deg,rgba(0,0,0,.26) 1px,transparent 0)}.has-warning .custom-file-control:-moz-read-only,.has-warning .form-control:-moz-read-only{background-image:linear-gradient(0deg,rgba(0,0,0,.26) 1px,transparent 0),linear-gradient(0deg,rgba(0,0,0,.26) 1px,transparent 0)}.has-warning .custom-file-control:read-only,.has-warning .form-control:read-only{background-image:-webkit-linear-gradient(bottom,rgba(0,0,0,.26) 1px,transparent 0),-webkit-linear-gradient(bottom,rgba(0,0,0,.26) 1px,transparent 0);background-image:linear-gradient(0deg,rgba(0,0,0,.26) 1px,transparent 0),linear-gradient(0deg,rgba(0,0,0,.26) 1px,transparent 0)}.has-warning .custom-file-control:disabled,.has-warning .disabled.custom-file-control,.has-warning .form-control.disabled,.has-warning .form-control:disabled,.has-warning .form-control[disabled],.has-warning [disabled].custom-file-control,fieldset[disabled][disabled] .has-warning .custom-file-control,fieldset[disabled][disabled] .has-warning .form-control{background-image:-webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.26)),color-stop(30%,rgba(0,0,0,.26)),color-stop(30%,transparent),to(transparent));background-image:-webkit-linear-gradient(left,rgba(0,0,0,.26),rgba(0,0,0,.26) 30%,transparent 0,transparent);background-image:linear-gradient(90deg,rgba(0,0,0,.26) 0,rgba(0,0,0,.26) 30%,transparent 0,transparent);background-repeat:repeat-x;background-size:3px 1px}.has-warning .form-control-success.custom-file-control,.has-warning .form-control.form-control-success,.is-focused .has-warning .form-control-success.custom-file-control,.is-focused .has-warning .form-control.form-control-success{background-image:-webkit-linear-gradient(bottom,#ff5722 2px,rgba(255,87,34,0) 0),-webkit-linear-gradient(bottom,rgba(0,0,0,.26) 1px,transparent 0),url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%235cb85c' 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-image:linear-gradient(0deg,#ff5722 2px,rgba(255,87,34,0) 0),linear-gradient(0deg,rgba(0,0,0,.26) 1px,transparent 0),url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%235cb85c' 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")}.has-warning .form-control-warning.custom-file-control,.has-warning .form-control.form-control-warning,.is-focused .has-warning .form-control-warning.custom-file-control,.is-focused .has-warning .form-control.form-control-warning{background-image:-webkit-linear-gradient(bottom,#ff5722 2px,rgba(255,87,34,0) 0),-webkit-linear-gradient(bottom,rgba(0,0,0,.26) 1px,transparent 0),url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23f0ad4e' d='M4.4 5.324h-.8v-2.46h.8zm0 1.42h-.8V5.89h.8zM3.76.63L.04 7.075c-.115.2.016.425.26.426h7.397c.242 0 .372-.226.258-.426C6.726 4.924 5.47 2.79 4.253.63c-.113-.174-.39-.174-.494 0z'/%3E%3C/svg%3E");background-image:linear-gradient(0deg,#ff5722 2px,rgba(255,87,34,0) 0),linear-gradient(0deg,rgba(0,0,0,.26) 1px,transparent 0),url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23f0ad4e' d='M4.4 5.324h-.8v-2.46h.8zm0 1.42h-.8V5.89h.8zM3.76.63L.04 7.075c-.115.2.016.425.26.426h7.397c.242 0 .372-.226.258-.426C6.726 4.924 5.47 2.79 4.253.63c-.113-.174-.39-.174-.494 0z'/%3E%3C/svg%3E")}.has-warning .form-control-danger.custom-file-control,.has-warning .form-control.form-control-danger,.is-focused .has-warning .form-control-danger.custom-file-control,.is-focused .has-warning .form-control.form-control-danger{background-image:-webkit-linear-gradient(bottom,#ff5722 2px,rgba(255,87,34,0) 0),-webkit-linear-gradient(bottom,rgba(0,0,0,.26) 1px,transparent 0),url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23d9534f' viewBox='-2 -2 7 7'%3E%3Cpath stroke='%23d9534f' d='M0 0l3 3m0-3L0 3'/%3E%3Ccircle r='.5'/%3E%3Ccircle cx='3' r='.5'/%3E%3Ccircle cy='3' r='.5'/%3E%3Ccircle cx='3' cy='3' r='.5'/%3E%3C/svg%3E");background-image:linear-gradient(0deg,#ff5722 2px,rgba(255,87,34,0) 0),linear-gradient(0deg,rgba(0,0,0,.26) 1px,transparent 0),url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23d9534f' viewBox='-2 -2 7 7'%3E%3Cpath stroke='%23d9534f' d='M0 0l3 3m0-3L0 3'/%3E%3Ccircle r='.5'/%3E%3Ccircle cx='3' r='.5'/%3E%3Ccircle cy='3' r='.5'/%3E%3Ccircle cx='3' cy='3' r='.5'/%3E%3C/svg%3E")}.has-warning.is-focused .checkbox,.has-warning .is-focused .checkbox,.has-warning.is-focused .checkbox-inline,.has-warning .is-focused .checkbox-inline,.has-warning.is-focused.checkbox-inline label,.has-warning .is-focused.checkbox-inline label,.has-warning.is-focused.checkbox label,.has-warning .is-focused.checkbox label,.has-warning.is-focused .custom-control,.has-warning .is-focused .custom-control,.has-warning.is-focused .form-control-feedback,.has-warning .is-focused .form-control-feedback,.has-warning.is-focused .form-control-label,.has-warning .is-focused .form-control-label,.has-warning.is-focused .radio,.has-warning .is-focused .radio,.has-warning.is-focused .radio-inline,.has-warning .is-focused .radio-inline,.has-warning.is-focused.radio-inline label,.has-warning .is-focused.radio-inline label,.has-warning.is-focused.radio label,.has-warning .is-focused.radio label{color:#ff5722}.has-warning.is-focused .input-group-addon,.has-warning .is-focused .input-group-addon{color:#ff5722;border-color:#ff5722;background-color:#fff2ee}.has-warning.is-focused .bmd-label-placeholder,.has-warning .is-focused .bmd-label-placeholder,.has-warning.is-focused .form-control-feedback,.has-warning .is-focused .form-control-feedback,.has-warning.is-focused [class*=' bmd-label'],.has-warning .is-focused [class*=' bmd-label'],.has-warning.is-focused [class^=bmd-label],.has-warning .is-focused [class^=bmd-label]{color:#ff5722}.has-warning.is-focused .custom-file-control,.has-warning .is-focused .custom-file-control,.has-warning.is-focused .form-control,.has-warning .is-focused .form-control{border-color:#ff5722}.has-warning.is-focused .bmd-help,.has-warning .is-focused .bmd-help{color:rgba(0,0,0,.54)}.has-danger [class*=' bmd-label'],.has-danger [class^=bmd-label]{color:#f44336}.has-danger .custom-file-control,.has-danger .form-control,.is-focused .has-danger .custom-file-control,.is-focused .has-danger .form-control{background-image:-webkit-linear-gradient(bottom,#f44336 2px,rgba(244,67,54,0) 0),-webkit-linear-gradient(bottom,rgba(0,0,0,.26) 1px,transparent 0);background-image:linear-gradient(0deg,#f44336 2px,rgba(244,67,54,0) 0),linear-gradient(0deg,rgba(0,0,0,.26) 1px,transparent 0)}.has-danger .custom-file-control:invalid,.has-danger .form-control:invalid{background-image:-webkit-linear-gradient(bottom,#d50000 2px,rgba(213,0,0,0) 0),-webkit-linear-gradient(bottom,rgba(0,0,0,.26) 1px,transparent 0);background-image:linear-gradient(0deg,#d50000 2px,rgba(213,0,0,0) 0),linear-gradient(0deg,rgba(0,0,0,.26) 1px,transparent 0)}.has-danger .custom-file-control:-moz-read-only,.has-danger .form-control:-moz-read-only{background-image:linear-gradient(0deg,rgba(0,0,0,.26) 1px,transparent 0),linear-gradient(0deg,rgba(0,0,0,.26) 1px,transparent 0)}.has-danger .custom-file-control:read-only,.has-danger .form-control:read-only{background-image:-webkit-linear-gradient(bottom,rgba(0,0,0,.26) 1px,transparent 0),-webkit-linear-gradient(bottom,rgba(0,0,0,.26) 1px,transparent 0);background-image:linear-gradient(0deg,rgba(0,0,0,.26) 1px,transparent 0),linear-gradient(0deg,rgba(0,0,0,.26) 1px,transparent 0)}.has-danger .custom-file-control:disabled,.has-danger .disabled.custom-file-control,.has-danger .form-control.disabled,.has-danger .form-control:disabled,.has-danger .form-control[disabled],.has-danger [disabled].custom-file-control,fieldset[disabled][disabled] .has-danger .custom-file-control,fieldset[disabled][disabled] .has-danger .form-control{background-image:-webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.26)),color-stop(30%,rgba(0,0,0,.26)),color-stop(30%,transparent),to(transparent));background-image:-webkit-linear-gradient(left,rgba(0,0,0,.26),rgba(0,0,0,.26) 30%,transparent 0,transparent);background-image:linear-gradient(90deg,rgba(0,0,0,.26) 0,rgba(0,0,0,.26) 30%,transparent 0,transparent);background-repeat:repeat-x;background-size:3px 1px}.has-danger .form-control-success.custom-file-control,.has-danger .form-control.form-control-success,.is-focused .has-danger .form-control-success.custom-file-control,.is-focused .has-danger .form-control.form-control-success{background-image:-webkit-linear-gradient(bottom,#f44336 2px,rgba(244,67,54,0) 0),-webkit-linear-gradient(bottom,rgba(0,0,0,.26) 1px,transparent 0),url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%235cb85c' 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-image:linear-gradient(0deg,#f44336 2px,rgba(244,67,54,0) 0),linear-gradient(0deg,rgba(0,0,0,.26) 1px,transparent 0),url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%235cb85c' 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")}.has-danger .form-control-warning.custom-file-control,.has-danger .form-control.form-control-warning,.is-focused .has-danger .form-control-warning.custom-file-control,.is-focused .has-danger .form-control.form-control-warning{background-image:-webkit-linear-gradient(bottom,#f44336 2px,rgba(244,67,54,0) 0),-webkit-linear-gradient(bottom,rgba(0,0,0,.26) 1px,transparent 0),url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23f0ad4e' d='M4.4 5.324h-.8v-2.46h.8zm0 1.42h-.8V5.89h.8zM3.76.63L.04 7.075c-.115.2.016.425.26.426h7.397c.242 0 .372-.226.258-.426C6.726 4.924 5.47 2.79 4.253.63c-.113-.174-.39-.174-.494 0z'/%3E%3C/svg%3E");background-image:linear-gradient(0deg,#f44336 2px,rgba(244,67,54,0) 0),linear-gradient(0deg,rgba(0,0,0,.26) 1px,transparent 0),url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23f0ad4e' d='M4.4 5.324h-.8v-2.46h.8zm0 1.42h-.8V5.89h.8zM3.76.63L.04 7.075c-.115.2.016.425.26.426h7.397c.242 0 .372-.226.258-.426C6.726 4.924 5.47 2.79 4.253.63c-.113-.174-.39-.174-.494 0z'/%3E%3C/svg%3E")}.has-danger .form-control-danger.custom-file-control,.has-danger .form-control.form-control-danger,.is-focused .has-danger .form-control-danger.custom-file-control,.is-focused .has-danger .form-control.form-control-danger{background-image:-webkit-linear-gradient(bottom,#f44336 2px,rgba(244,67,54,0) 0),-webkit-linear-gradient(bottom,rgba(0,0,0,.26) 1px,transparent 0),url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23d9534f' viewBox='-2 -2 7 7'%3E%3Cpath stroke='%23d9534f' d='M0 0l3 3m0-3L0 3'/%3E%3Ccircle r='.5'/%3E%3Ccircle cx='3' r='.5'/%3E%3Ccircle cy='3' r='.5'/%3E%3Ccircle cx='3' cy='3' r='.5'/%3E%3C/svg%3E");background-image:linear-gradient(0deg,#f44336 2px,rgba(244,67,54,0) 0),linear-gradient(0deg,rgba(0,0,0,.26) 1px,transparent 0),url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23d9534f' viewBox='-2 -2 7 7'%3E%3Cpath stroke='%23d9534f' d='M0 0l3 3m0-3L0 3'/%3E%3Ccircle r='.5'/%3E%3Ccircle cx='3' r='.5'/%3E%3Ccircle cy='3' r='.5'/%3E%3Ccircle cx='3' cy='3' r='.5'/%3E%3C/svg%3E")}.has-danger.is-focused .checkbox,.has-danger .is-focused .checkbox,.has-danger.is-focused .checkbox-inline,.has-danger .is-focused .checkbox-inline,.has-danger.is-focused.checkbox-inline label,.has-danger .is-focused.checkbox-inline label,.has-danger.is-focused.checkbox label,.has-danger .is-focused.checkbox label,.has-danger.is-focused .custom-control,.has-danger .is-focused .custom-control,.has-danger.is-focused .form-control-feedback,.has-danger .is-focused .form-control-feedback,.has-danger.is-focused .form-control-label,.has-danger .is-focused .form-control-label,.has-danger.is-focused .radio,.has-danger .is-focused .radio,.has-danger.is-focused .radio-inline,.has-danger .is-focused .radio-inline,.has-danger.is-focused.radio-inline label,.has-danger .is-focused.radio-inline label,.has-danger.is-focused.radio label,.has-danger .is-focused.radio label{color:#f44336}.has-danger.is-focused .input-group-addon,.has-danger .is-focused .input-group-addon{color:#f44336;border-color:#f44336;background-color:#fff8f7}.has-danger.is-focused .bmd-label-placeholder,.has-danger .is-focused .bmd-label-placeholder,.has-danger.is-focused .form-control-feedback,.has-danger .is-focused .form-control-feedback,.has-danger.is-focused [class*=' bmd-label'],.has-danger .is-focused [class*=' bmd-label'],.has-danger.is-focused [class^=bmd-label],.has-danger .is-focused [class^=bmd-label]{color:#f44336}.has-danger.is-focused .custom-file-control,.has-danger .is-focused .custom-file-control,.has-danger.is-focused .form-control,.has-danger .is-focused .form-control{border-color:#f44336}.has-danger.is-focused .bmd-help,.has-danger .is-focused .bmd-help{color:rgba(0,0,0,.54)}.bmd-form-group{position:relative;padding-top:1.75rem}.bmd-form-group [class*=' bmd-label'],.bmd-form-group [class^=bmd-label]{position:absolute;pointer-events:none;-webkit-transition:all .3s ease;transition:all .3s ease}.bmd-form-group [class*=' bmd-label'].bmd-label-floating,.bmd-form-group [class^=bmd-label].bmd-label-floating{will-change:left,top,contents}.bmd-form-group.is-filled .bmd-label-placeholder{display:none}.bmd-form-group.bmd-collapse-inline{padding:0}.bmd-form-group.bmd-collapse-inline .collapse.in{max-width:600px}.bmd-form-group.bmd-collapse-inline .collapse.in,.bmd-form-group.bmd-collapse-inline .collapsing,.bmd-form-group.bmd-collapse-inline .width:not(.collapse){display:inline-block}.bmd-form-group.bmd-collapse-inline .collapsing{-webkit-transition-duration:.2s;transition-duration:.2s;-webkit-transition-timing-function:cubic-bezier(.4,0,.2,1);transition-timing-function:cubic-bezier(.4,0,.2,1)}.bmd-form-group .custom-file-control,.bmd-form-group .form-control,.bmd-form-group input::-webkit-input-placeholder,.bmd-form-group label{line-height:1}.bmd-form-group .custom-file-control,.bmd-form-group .form-control,.bmd-form-group input::-moz-placeholder,.bmd-form-group label{line-height:1}.bmd-form-group .custom-file-control,.bmd-form-group .form-control,.bmd-form-group input:-ms-input-placeholder,.bmd-form-group label{line-height:1}.bmd-form-group .custom-file-control,.bmd-form-group .form-control,.bmd-form-group input::placeholder,.bmd-form-group label{line-height:1}.bmd-form-group .checkbox label,.bmd-form-group .radio label,.bmd-form-group .switch label,.bmd-form-group label.checkbox-inline,.bmd-form-group label.radio-inline{line-height:1.5}.bmd-form-group input::-webkit-input-placeholder{font-size:1rem}.bmd-form-group input::-moz-placeholder{font-size:1rem}.bmd-form-group input:-ms-input-placeholder{font-size:1rem}.bmd-form-group .checkbox label,.bmd-form-group .radio label,.bmd-form-group input::placeholder,.bmd-form-group label{font-size:1rem}.bmd-form-group .bmd-label-floating,.bmd-form-group .bmd-label-placeholder{top:2.1875rem}.bmd-form-group .bmd-label-static,.bmd-form-group.is-filled .bmd-label-floating,.bmd-form-group .is-filled .bmd-label-floating,.bmd-form-group.is-focused .bmd-label-floating,.bmd-form-group .is-focused .bmd-label-floating{top:1rem;left:0;font-size:.75rem}.bmd-form-group .bmd-help{margin-top:0;font-size:.75rem}.bmd-form-group .form-control-danger.custom-file-control,.bmd-form-group .form-control-success.custom-file-control,.bmd-form-group .form-control-warning.custom-file-control,.bmd-form-group .form-control.form-control-danger,.bmd-form-group .form-control.form-control-success,.bmd-form-group .form-control.form-control-warning{background-size:0 100%,100% 100%,.9375rem .9375rem}.bmd-form-group .form-control-danger.custom-file-control,.bmd-form-group .form-control-danger.custom-file-control:focus,.bmd-form-group .form-control-success.custom-file-control,.bmd-form-group .form-control-success.custom-file-control:focus,.bmd-form-group .form-control-warning.custom-file-control,.bmd-form-group .form-control-warning.custom-file-control:focus,.bmd-form-group .form-control.form-control-danger,.bmd-form-group .form-control.form-control-danger:focus,.bmd-form-group .form-control.form-control-success,.bmd-form-group .form-control.form-control-success:focus,.bmd-form-group .form-control.form-control-warning,.bmd-form-group .form-control.form-control-warning:focus,.bmd-form-group.is-focused .bmd-form-group .form-control-danger.custom-file-control,.bmd-form-group.is-focused .bmd-form-group .form-control-success.custom-file-control,.bmd-form-group.is-focused .bmd-form-group .form-control-warning.custom-file-control,.bmd-form-group.is-focused .bmd-form-group .form-control.form-control-danger,.bmd-form-group.is-focused .bmd-form-group .form-control.form-control-success,.bmd-form-group.is-focused .bmd-form-group .form-control.form-control-warning{padding-right:0;background-repeat:no-repeat,no-repeat;background-position:bottom,50% calc(100% - 1px),center right .46875rem}.bmd-form-group .form-control-danger.custom-file-control:focus,.bmd-form-group .form-control-success.custom-file-control:focus,.bmd-form-group .form-control-warning.custom-file-control:focus,.bmd-form-group .form-control.form-control-danger:focus,.bmd-form-group .form-control.form-control-success:focus,.bmd-form-group .form-control.form-control-warning:focus,.bmd-form-group.is-focused .bmd-form-group .form-control-danger.custom-file-control,.bmd-form-group.is-focused .bmd-form-group .form-control-success.custom-file-control,.bmd-form-group.is-focused .bmd-form-group .form-control-warning.custom-file-control,.bmd-form-group.is-focused .bmd-form-group .form-control.form-control-danger,.bmd-form-group.is-focused .bmd-form-group .form-control.form-control-success,.bmd-form-group.is-focused .bmd-form-group .form-control.form-control-warning{background-size:100% 100%,100% 100%,.9375rem .9375rem}.bmd-form-group.bmd-form-group-sm{padding-top:1.40625rem}.bmd-form-group.bmd-form-group-sm .custom-file-control,.bmd-form-group.bmd-form-group-sm .form-control,.bmd-form-group.bmd-form-group-sm input::-webkit-input-placeholder,.bmd-form-group.bmd-form-group-sm label{line-height:1}.bmd-form-group.bmd-form-group-sm .custom-file-control,.bmd-form-group.bmd-form-group-sm .form-control,.bmd-form-group.bmd-form-group-sm input::-moz-placeholder,.bmd-form-group.bmd-form-group-sm label{line-height:1}.bmd-form-group.bmd-form-group-sm .custom-file-control,.bmd-form-group.bmd-form-group-sm .form-control,.bmd-form-group.bmd-form-group-sm input:-ms-input-placeholder,.bmd-form-group.bmd-form-group-sm label{line-height:1}.bmd-form-group.bmd-form-group-sm .custom-file-control,.bmd-form-group.bmd-form-group-sm .form-control,.bmd-form-group.bmd-form-group-sm input::placeholder,.bmd-form-group.bmd-form-group-sm label{line-height:1}.bmd-form-group.bmd-form-group-sm .checkbox label,.bmd-form-group.bmd-form-group-sm .radio label,.bmd-form-group.bmd-form-group-sm .switch label,.bmd-form-group.bmd-form-group-sm label.checkbox-inline,.bmd-form-group.bmd-form-group-sm label.radio-inline{line-height:1.5}.bmd-form-group.bmd-form-group-sm input::-webkit-input-placeholder{font-size:.875rem}.bmd-form-group.bmd-form-group-sm input::-moz-placeholder{font-size:.875rem}.bmd-form-group.bmd-form-group-sm input:-ms-input-placeholder{font-size:.875rem}.bmd-form-group.bmd-form-group-sm .checkbox label,.bmd-form-group.bmd-form-group-sm .radio label,.bmd-form-group.bmd-form-group-sm input::placeholder,.bmd-form-group.bmd-form-group-sm label{font-size:.875rem}.bmd-form-group.bmd-form-group-sm .bmd-label-floating,.bmd-form-group.bmd-form-group-sm .bmd-label-placeholder{top:1.65625rem}.bmd-form-group.bmd-form-group-sm .bmd-label-static,.bmd-form-group.bmd-form-group-sm.is-filled .bmd-label-floating,.bmd-form-group.bmd-form-group-sm .is-filled .bmd-label-floating,.bmd-form-group.bmd-form-group-sm.is-focused .bmd-label-floating,.bmd-form-group.bmd-form-group-sm .is-focused .bmd-label-floating{top:.75rem;left:0;font-size:.65625rem}.bmd-form-group.bmd-form-group-sm .bmd-help{margin-top:0;font-size:.65625rem}.bmd-form-group.bmd-form-group-sm .form-control-danger.custom-file-control,.bmd-form-group.bmd-form-group-sm .form-control-success.custom-file-control,.bmd-form-group.bmd-form-group-sm .form-control-warning.custom-file-control,.bmd-form-group.bmd-form-group-sm .form-control.form-control-danger,.bmd-form-group.bmd-form-group-sm .form-control.form-control-success,.bmd-form-group.bmd-form-group-sm .form-control.form-control-warning{background-size:0 100%,100% 100%,.6875rem .6875rem}.bmd-form-group.bmd-form-group-sm .form-control-danger.custom-file-control,.bmd-form-group.bmd-form-group-sm .form-control-danger.custom-file-control:focus,.bmd-form-group.bmd-form-group-sm .form-control-success.custom-file-control,.bmd-form-group.bmd-form-group-sm .form-control-success.custom-file-control:focus,.bmd-form-group.bmd-form-group-sm .form-control-warning.custom-file-control,.bmd-form-group.bmd-form-group-sm .form-control-warning.custom-file-control:focus,.bmd-form-group.bmd-form-group-sm .form-control.form-control-danger,.bmd-form-group.bmd-form-group-sm .form-control.form-control-danger:focus,.bmd-form-group.bmd-form-group-sm .form-control.form-control-success,.bmd-form-group.bmd-form-group-sm .form-control.form-control-success:focus,.bmd-form-group.bmd-form-group-sm .form-control.form-control-warning,.bmd-form-group.bmd-form-group-sm .form-control.form-control-warning:focus,.bmd-form-group.is-focused .bmd-form-group.bmd-form-group-sm .form-control-danger.custom-file-control,.bmd-form-group.is-focused .bmd-form-group.bmd-form-group-sm .form-control-success.custom-file-control,.bmd-form-group.is-focused .bmd-form-group.bmd-form-group-sm .form-control-warning.custom-file-control,.bmd-form-group.is-focused .bmd-form-group.bmd-form-group-sm .form-control.form-control-danger,.bmd-form-group.is-focused .bmd-form-group.bmd-form-group-sm .form-control.form-control-success,.bmd-form-group.is-focused .bmd-form-group.bmd-form-group-sm .form-control.form-control-warning{padding-right:0;background-repeat:no-repeat,no-repeat;background-position:bottom,50% calc(100% - 1px),center right .34375rem}.bmd-form-group.bmd-form-group-sm .form-control-danger.custom-file-control:focus,.bmd-form-group.bmd-form-group-sm .form-control-success.custom-file-control:focus,.bmd-form-group.bmd-form-group-sm .form-control-warning.custom-file-control:focus,.bmd-form-group.bmd-form-group-sm .form-control.form-control-danger:focus,.bmd-form-group.bmd-form-group-sm .form-control.form-control-success:focus,.bmd-form-group.bmd-form-group-sm .form-control.form-control-warning:focus,.bmd-form-group.is-focused .bmd-form-group.bmd-form-group-sm .form-control-danger.custom-file-control,.bmd-form-group.is-focused .bmd-form-group.bmd-form-group-sm .form-control-success.custom-file-control,.bmd-form-group.is-focused .bmd-form-group.bmd-form-group-sm .form-control-warning.custom-file-control,.bmd-form-group.is-focused .bmd-form-group.bmd-form-group-sm .form-control.form-control-danger,.bmd-form-group.is-focused .bmd-form-group.bmd-form-group-sm .form-control.form-control-success,.bmd-form-group.is-focused .bmd-form-group.bmd-form-group-sm .form-control.form-control-warning{background-size:100% 100%,100% 100%,.6875rem .6875rem}.bmd-form-group.bmd-form-group-lg{padding-top:1.9375rem}.bmd-form-group.bmd-form-group-lg .custom-file-control,.bmd-form-group.bmd-form-group-lg .form-control,.bmd-form-group.bmd-form-group-lg input::-webkit-input-placeholder,.bmd-form-group.bmd-form-group-lg label{line-height:1}.bmd-form-group.bmd-form-group-lg .custom-file-control,.bmd-form-group.bmd-form-group-lg .form-control,.bmd-form-group.bmd-form-group-lg input::-moz-placeholder,.bmd-form-group.bmd-form-group-lg label{line-height:1}.bmd-form-group.bmd-form-group-lg .custom-file-control,.bmd-form-group.bmd-form-group-lg .form-control,.bmd-form-group.bmd-form-group-lg input:-ms-input-placeholder,.bmd-form-group.bmd-form-group-lg label{line-height:1}.bmd-form-group.bmd-form-group-lg .custom-file-control,.bmd-form-group.bmd-form-group-lg .form-control,.bmd-form-group.bmd-form-group-lg input::placeholder,.bmd-form-group.bmd-form-group-lg label{line-height:1}.bmd-form-group.bmd-form-group-lg .checkbox label,.bmd-form-group.bmd-form-group-lg .radio label,.bmd-form-group.bmd-form-group-lg .switch label,.bmd-form-group.bmd-form-group-lg label.checkbox-inline,.bmd-form-group.bmd-form-group-lg label.radio-inline{line-height:1.5}.bmd-form-group.bmd-form-group-lg input::-webkit-input-placeholder{font-size:1.25rem}.bmd-form-group.bmd-form-group-lg input::-moz-placeholder{font-size:1.25rem}.bmd-form-group.bmd-form-group-lg input:-ms-input-placeholder{font-size:1.25rem}.bmd-form-group.bmd-form-group-lg .checkbox label,.bmd-form-group.bmd-form-group-lg .radio label,.bmd-form-group.bmd-form-group-lg input::placeholder,.bmd-form-group.bmd-form-group-lg label{font-size:1.25rem}.bmd-form-group.bmd-form-group-lg .bmd-label-floating,.bmd-form-group.bmd-form-group-lg .bmd-label-placeholder{top:2.5rem}.bmd-form-group.bmd-form-group-lg .bmd-label-static,.bmd-form-group.bmd-form-group-lg.is-filled .bmd-label-floating,.bmd-form-group.bmd-form-group-lg .is-filled .bmd-label-floating,.bmd-form-group.bmd-form-group-lg.is-focused .bmd-label-floating,.bmd-form-group.bmd-form-group-lg .is-focused .bmd-label-floating{top:1rem;left:0;font-size:.9375rem}.bmd-form-group.bmd-form-group-lg .bmd-help{margin-top:0;font-size:.9375rem}.bmd-form-group.bmd-form-group-lg .form-control-danger.custom-file-control,.bmd-form-group.bmd-form-group-lg .form-control-success.custom-file-control,.bmd-form-group.bmd-form-group-lg .form-control-warning.custom-file-control,.bmd-form-group.bmd-form-group-lg .form-control.form-control-danger,.bmd-form-group.bmd-form-group-lg .form-control.form-control-success,.bmd-form-group.bmd-form-group-lg .form-control.form-control-warning{background-size:0 100%,100% 100%,1.1875rem 1.1875rem}.bmd-form-group.bmd-form-group-lg .form-control-danger.custom-file-control,.bmd-form-group.bmd-form-group-lg .form-control-danger.custom-file-control:focus,.bmd-form-group.bmd-form-group-lg .form-control-success.custom-file-control,.bmd-form-group.bmd-form-group-lg .form-control-success.custom-file-control:focus,.bmd-form-group.bmd-form-group-lg .form-control-warning.custom-file-control,.bmd-form-group.bmd-form-group-lg .form-control-warning.custom-file-control:focus,.bmd-form-group.bmd-form-group-lg .form-control.form-control-danger,.bmd-form-group.bmd-form-group-lg .form-control.form-control-danger:focus,.bmd-form-group.bmd-form-group-lg .form-control.form-control-success,.bmd-form-group.bmd-form-group-lg .form-control.form-control-success:focus,.bmd-form-group.bmd-form-group-lg .form-control.form-control-warning,.bmd-form-group.bmd-form-group-lg .form-control.form-control-warning:focus,.bmd-form-group.is-focused .bmd-form-group.bmd-form-group-lg .form-control-danger.custom-file-control,.bmd-form-group.is-focused .bmd-form-group.bmd-form-group-lg .form-control-success.custom-file-control,.bmd-form-group.is-focused .bmd-form-group.bmd-form-group-lg .form-control-warning.custom-file-control,.bmd-form-group.is-focused .bmd-form-group.bmd-form-group-lg .form-control.form-control-danger,.bmd-form-group.is-focused .bmd-form-group.bmd-form-group-lg .form-control.form-control-success,.bmd-form-group.is-focused .bmd-form-group.bmd-form-group-lg .form-control.form-control-warning{padding-right:0;background-repeat:no-repeat,no-repeat;background-position:bottom,50% calc(100% - 1px),center right .59375rem}.bmd-form-group.bmd-form-group-lg .form-control-danger.custom-file-control:focus,.bmd-form-group.bmd-form-group-lg .form-control-success.custom-file-control:focus,.bmd-form-group.bmd-form-group-lg .form-control-warning.custom-file-control:focus,.bmd-form-group.bmd-form-group-lg .form-control.form-control-danger:focus,.bmd-form-group.bmd-form-group-lg .form-control.form-control-success:focus,.bmd-form-group.bmd-form-group-lg .form-control.form-control-warning:focus,.bmd-form-group.is-focused .bmd-form-group.bmd-form-group-lg .form-control-danger.custom-file-control,.bmd-form-group.is-focused .bmd-form-group.bmd-form-group-lg .form-control-success.custom-file-control,.bmd-form-group.is-focused .bmd-form-group.bmd-form-group-lg .form-control-warning.custom-file-control,.bmd-form-group.is-focused .bmd-form-group.bmd-form-group-lg .form-control.form-control-danger,.bmd-form-group.is-focused .bmd-form-group.bmd-form-group-lg .form-control.form-control-success,.bmd-form-group.is-focused .bmd-form-group.bmd-form-group-lg .form-control.form-control-warning{background-size:100% 100%,100% 100%,1.1875rem 1.1875rem}.custom-file-control,.form-control,input::-webkit-input-placeholder,label{line-height:1}.custom-file-control,.form-control,input::-moz-placeholder,label{line-height:1}.custom-file-control,.form-control,input:-ms-input-placeholder,label{line-height:1}.custom-file-control,.form-control,input::placeholder,label{line-height:1}.checkbox label,.radio label,.switch label,label.checkbox-inline,label.radio-inline{line-height:1.5}input::-webkit-input-placeholder{font-size:1rem}input::-moz-placeholder{font-size:1rem}input:-ms-input-placeholder{font-size:1rem}.checkbox label,.radio label,input::placeholder,label{font-size:1rem}.bmd-label-floating,.bmd-label-placeholder{top:2.1875rem}.bmd-label-static,.is-filled .bmd-label-floating,.is-focused .bmd-label-floating{top:1rem;left:0;font-size:.75rem}.bmd-help{margin-top:0;font-size:.75rem}.form-control-danger.custom-file-control,.form-control-success.custom-file-control,.form-control-warning.custom-file-control,.form-control.form-control-danger,.form-control.form-control-success,.form-control.form-control-warning{background-size:0 100%,100% 100%,.9375rem .9375rem}.bmd-form-group.is-focused .form-control-danger.custom-file-control,.bmd-form-group.is-focused .form-control-success.custom-file-control,.bmd-form-group.is-focused .form-control-warning.custom-file-control,.bmd-form-group.is-focused .form-control.form-control-danger,.bmd-form-group.is-focused .form-control.form-control-success,.bmd-form-group.is-focused .form-control.form-control-warning,.form-control-danger.custom-file-control,.form-control-danger.custom-file-control:focus,.form-control-success.custom-file-control,.form-control-success.custom-file-control:focus,.form-control-warning.custom-file-control,.form-control-warning.custom-file-control:focus,.form-control.form-control-danger,.form-control.form-control-danger:focus,.form-control.form-control-success,.form-control.form-control-success:focus,.form-control.form-control-warning,.form-control.form-control-warning:focus{padding-right:0;background-repeat:no-repeat,no-repeat;background-position:bottom,50% calc(100% - 1px),center right .46875rem}.bmd-form-group.is-focused .form-control-danger.custom-file-control,.bmd-form-group.is-focused .form-control-success.custom-file-control,.bmd-form-group.is-focused .form-control-warning.custom-file-control,.bmd-form-group.is-focused .form-control.form-control-danger,.bmd-form-group.is-focused .form-control.form-control-success,.bmd-form-group.is-focused .form-control.form-control-warning,.form-control-danger.custom-file-control:focus,.form-control-success.custom-file-control:focus,.form-control-warning.custom-file-control:focus,.form-control.form-control-danger:focus,.form-control.form-control-success:focus,.form-control.form-control-warning:focus{background-size:100% 100%,100% 100%,.9375rem .9375rem}select,select.custom-file-control,select.form-control{-moz-appearance:none;-webkit-appearance:none}@media (min-width:544px){.form-inline .input-group{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}}.input-group .input-group-addon{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;background-color:transparent;border-color:transparent}.input-group .input-group-addon+input,.input-group input+.input-group-addon{margin-left:.75rem}.list-group{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;padding:.5rem 0}.list-group.bmd-list-group-sm{padding:.25rem 0}.list-group.bmd-list-group-sm .list-group-item{padding:.5rem 1rem}.bmd-list-group-col{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;min-width:0}.bmd-list-group-col,.list-group-item{display:-webkit-box;display:-ms-flexbox;display:flex}.list-group-item{-ms-flex-flow:row wrap;flex-flow:row wrap;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:1rem;line-height:1}.list-group-item .list-group-item-text{min-width:0;max-height:2.188rem;overflow:hidden;text-overflow:ellipsis}.list-group-item :first-child{margin-right:2rem}.list-group-item>*~.label:last-child,.list-group-item>*~.material-icons:last-child,.list-group-item>.pull-lg-right,.list-group-item>.pull-md-right,.list-group-item>.pull-sm-right,.list-group-item>.pull-xl-right,.list-group-item>.pull-xs-right{margin-right:0;margin-left:auto}.list-group-item .material-icons.pull-lg-right,.list-group-item .material-icons.pull-md-right,.list-group-item .material-icons.pull-sm-right,.list-group-item .material-icons.pull-xl-right,.list-group-item .material-icons.pull-xs-right,.list-group-item .material-icons~.material-icons:last-child{padding-left:1rem}.list-group-item .list-group-item-text{font-size:.875rem;color:rgba(0,0,0,.54)}.table-inverse{color:hsla(0,0%,100%,.84)}.nav-link{text-transform:uppercase}.navbar-nav .nav-link{padding:.5321rem;font-size:.875rem;font-weight:400}.nav-pills,.nav-tabs{border:0}.nav-pills .nav-link,.nav-tabs .nav-link{padding:1.4286em .8575em;font-size:.875rem;font-weight:500;border:0}.nav-tabs .nav-link{border-bottom:.214rem solid transparent;color:rgba(0,0,0,.54)}.nav-tabs .nav-link.active{color:rgba(0,0,0,.87);border-color:#009688}.nav-tabs .nav-link.active:focus,.nav-tabs .nav-link.active:hover{border-color:#009688}.nav-tabs .nav-link.disabled,.nav-tabs .nav-link.disabled:focus,.nav-tabs .nav-link.disabled:hover{color:rgba(0,0,0,.26)}.nav-tabs.bg-primary .nav-link{color:#fff}.nav-tabs.bg-primary .nav-link.active{color:#fff;border-color:#fff}.nav-tabs.bg-primary .nav-link.active:focus,.nav-tabs.bg-primary .nav-link.active:hover{border-color:#fff}.nav-tabs.bg-primary .nav-link.disabled,.nav-tabs.bg-primary .nav-link.disabled:focus,.nav-tabs.bg-primary .nav-link.disabled:hover{color:hsla(0,0%,100%,.84)}.nav-tabs.bg-inverse .nav-link{color:#fff}.nav-tabs.bg-inverse .nav-link.active{color:#fff;border-color:#fff}.nav-tabs.bg-inverse .nav-link.active:focus,.nav-tabs.bg-inverse .nav-link.active:hover{border-color:#fff}.nav-tabs.bg-inverse .nav-link.disabled,.nav-tabs.bg-inverse .nav-link.disabled:focus,.nav-tabs.bg-inverse .nav-link.disabled:hover{color:hsla(0,0%,100%,.84)}.nav .nav-item{position:relative}.navbar{z-index:1;border:0;border-radius:0;box-shadow:0 2px 2px 0 rgba(0,0,0,.14),0 3px 1px -2px rgba(0,0,0,.2),0 1px 5px 0 rgba(0,0,0,.12);display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-flow:row nowrap;flex-flow:row;-ms-flex-negative:0;flex-shrink:0;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-ms-flex-item-align:stretch;align-self:stretch}.navbar .navbar-brand{position:relative}.navbar>*{-ms-flex-negative:0;flex-shrink:0}.navbar>.container{-webkit-box-flex:1;-ms-flex:1;flex:1}.alert{border:0;border-radius:0}.progress{height:4px;background:#c8c8c8;border-radius:0}.progress,.progress .progress-bar{box-shadow:none}.page-item:first-child .page-link{border-bottom-left-radius:4em;border-top-left-radius:4em}.page-item:last-child .page-link{border-bottom-right-radius:4em;border-top-right-radius:4em;margin-right:0}.page-item:first-child .page-link,.page-item:last-child .page-link{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;padding-right:0;padding-left:0}.page-item:first-child .page-link>.material-icons,.page-item:last-child .page-link>.material-icons{font-size:1.5em}.page-link{min-width:2.6em;margin-right:.5em;text-align:center;border-radius:4em}.page-link:focus,.page-link:hover{text-decoration:none}.pagination-lg .page-link{min-width:2.8em;padding:.75rem 0;font-size:1.25rem}.pagination-lg .page-item:first-child .page-link{border-bottom-left-radius:4em;border-top-left-radius:4em}.pagination-lg .page-item:last-child .page-link{border-bottom-right-radius:4em;border-top-right-radius:4em}.pagination-sm .page-link{min-width:2.2em;padding:.275rem 0;font-size:.875rem}.pagination-sm .page-item:first-child .page-link{border-bottom-left-radius:4em;border-top-left-radius:4em}.pagination-sm .page-item:last-child .page-link{border-bottom-right-radius:4em;border-top-right-radius:4em}h6{font-weight:500}.card{border:0;box-shadow:0 2px 2px 0 rgba(0,0,0,.14),0 3px 1px -2px rgba(0,0,0,.2),0 1px 5px 0 rgba(0,0,0,.12)}.card .card-header{padding:1rem}.card .card-block{padding:1.5rem 1rem 1rem}.card h1.card-title,.card h2.card-title,.card h3.card-title,.card h4.card-title,.card h5.card-title,.card h6.card-title{font-size:1.5rem;font-weight:300}.card .bmd-card-actions,.card .card-footer{padding:.5rem}.card.bmd-card-raised{box-shadow:0 8px 10px 1px rgba(0,0,0,.14),0 3px 14px 2px rgba(0,0,0,.12),0 5px 5px -3px rgba(0,0,0,.2)}@media (min-width:992px){.card.bmd-card-flat{box-shadow:none}}.modal-content{border:0;border-radius:.125rem}.modal-content .modal-header{padding:24px 24px 0;border-bottom:0}.modal-content .modal-body{padding:20px 24px 24px}.modal-content .modal-footer{padding:8px 8px 8px 24px;border-top:0}.modal-content .modal-footer .btn,.modal-content .modal-footer .custom-file-control:before{margin:0}.modal-content .modal-footer .btn+.btn,.modal-content .modal-footer .btn+.custom-file-control:before,.modal-content .modal-footer .custom-file-control:before+.btn,.modal-content .modal-footer .custom-file-control:before+.custom-file-control:before{margin-left:8px}.dropdown-menu{display:block;padding:.25rem 0;border:0;opacity:0;-webkit-transition:opacity .2s cubic-bezier(.4,0,.2,1),-webkit-transform .3s cubic-bezier(.4,0,.2,1);transition:opacity .2s cubic-bezier(.4,0,.2,1),-webkit-transform .3s cubic-bezier(.4,0,.2,1);transition:transform .3s cubic-bezier(.4,0,.2,1),opacity .2s cubic-bezier(.4,0,.2,1);transition:transform .3s cubic-bezier(.4,0,.2,1),opacity .2s cubic-bezier(.4,0,.2,1),-webkit-transform .3s cubic-bezier(.4,0,.2,1);-webkit-transform:scale(0);transform:scale(0);-webkit-transform-origin:0 0;transform-origin:0 0;will-change:transform;right:0;left:auto;-webkit-transform-origin:100% 0;transform-origin:100% 0}@media (min-width:768px){.dropdown-menu{padding:.5rem 0}}.open>.dropdown-menu{opacity:1;-webkit-transform:scale(1);transform:scale(1)}.dropdown-menu.dropdown-menu-left{top:100%;left:0;-webkit-transform-origin:0 0;transform-origin:0 0}.dropdown-menu.dropdown-menu-right{right:0;left:auto;-webkit-transform-origin:100% 0;transform-origin:100% 0}.dropdown-menu .dropdown-item{position:relative;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-flow:row wrap;flex-flow:row wrap;-webkit-box-align:center;-ms-flex-align:center;align-items:center;min-width:7rem;max-width:17.5rem;min-height:3rem;padding:.8rem 1rem;overflow:hidden;line-height:1;text-overflow:ellipsis;word-wrap:break-word}@media (min-width:768px){.dropdown-menu .dropdown-item{padding-right:1.5rem;padding-left:1.5rem}}.dropdown-toggle.bmd-btn-fab:after,.dropdown-toggle.bmd-btn-icon:after{display:none}.dropdown-toggle.bmd-btn-fab~.dropdown-menu.dropdown-menu-top-left,.dropdown-toggle.bmd-btn-fab~.dropdown-menu.dropdown-menu-top-right,.dropdown-toggle.bmd-btn-icon~.dropdown-menu.dropdown-menu-top-left,.dropdown-toggle.bmd-btn-icon~.dropdown-menu.dropdown-menu-top-right{bottom:2rem}.dropdown-toggle.bmd-btn-fab-sm~.dropdown-menu.dropdown-menu-top-left,.dropdown-toggle.bmd-btn-fab-sm~.dropdown-menu.dropdown-menu-top-right{bottom:2.5rem}.dropdown-toggle.bmd-btn-icon~.dropdown-menu{margin:0}.bmd-layout-drawer{position:absolute;z-index:5;box-sizing:border-box;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-ms-flex-wrap:nowrap;flex-wrap:nowrap;max-height:100%;overflow:visible;overflow-y:auto;font-size:.875rem;-webkit-transition:-webkit-transform;transition:-webkit-transform;transition:transform;transition:transform,-webkit-transform;will-change:transform;-webkit-transform-style:preserve-3d;transform-style:preserve-3d;box-shadow:0 2px 2px 0 rgba(0,0,0,.14),0 3px 1px -2px rgba(0,0,0,.2),0 1px 5px 0 rgba(0,0,0,.12);-webkit-transition-duration:.2s;transition-duration:.2s;-webkit-transition-timing-function:cubic-bezier(.4,0,.2,1);transition-timing-function:cubic-bezier(.4,0,.2,1)}.bmd-layout-drawer>*{-ms-flex-negative:0;flex-shrink:0}.bmd-layout-drawer>header{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end;padding:1rem}.bmd-layout-drawer>header .navbar-brand{padding-left:1.5rem;font-size:1.25rem}.bmd-layout-drawer>.list-group{padding-top:1rem}.bmd-layout-drawer>.list-group .list-group-item{padding-right:2.5rem;padding-left:2.5rem;font-size:.8125rem;font-weight:500}.bmd-drawer-f-l>.bmd-layout-drawer{top:0;left:0;width:240px;height:100%;-webkit-transform:translateX(-250px);transform:translateX(-250px)}.bmd-drawer-f-l>.bmd-layout-content,.bmd-drawer-f-l>.bmd-layout-header{margin-left:0}.bmd-drawer-f-r>.bmd-layout-drawer{top:0;right:0;width:240px;height:100%;-webkit-transform:translateX(250px);transform:translateX(250px)}.bmd-drawer-f-r>.bmd-layout-content,.bmd-drawer-f-r>.bmd-layout-header{margin-right:0}.bmd-drawer-f-t>.bmd-layout-drawer{top:0;left:0;width:100%;height:100px;-webkit-transform:translateY(-110px);transform:translateY(-110px)}.bmd-drawer-f-t>.bmd-layout-content{margin-top:0}.bmd-drawer-f-b>.bmd-layout-drawer{bottom:0;left:0;width:100%;height:100px;-webkit-transform:translateY(110px);transform:translateY(110px)}.bmd-drawer-f-b>.bmd-layout-content{margin-bottom:0}:not(.bmd-drawer-out).bmd-drawer-in.bmd-drawer-f-l>.bmd-layout-header{width:calc(100% - 240px);margin-left:240px}:not(.bmd-drawer-out).bmd-drawer-in.bmd-drawer-f-l>.bmd-layout-drawer{-webkit-transform:translateX(0);transform:translateX(0)}:not(.bmd-drawer-out).bmd-drawer-in.bmd-drawer-f-l>.bmd-layout-content{margin-left:240px}:not(.bmd-drawer-out).bmd-drawer-in.bmd-drawer-f-r>.bmd-layout-header{width:calc(100% - 240px);margin-right:240px}:not(.bmd-drawer-out).bmd-drawer-in.bmd-drawer-f-r>.bmd-layout-drawer{-webkit-transform:translateX(0);transform:translateX(0)}:not(.bmd-drawer-out).bmd-drawer-in.bmd-drawer-f-r>.bmd-layout-content{margin-right:240px}:not(.bmd-drawer-out).bmd-drawer-in.bmd-drawer-f-t>.bmd-layout-header{margin-top:100px}:not(.bmd-drawer-out).bmd-drawer-in.bmd-drawer-f-b>.bmd-layout-drawer,:not(.bmd-drawer-out).bmd-drawer-in.bmd-drawer-f-t>.bmd-layout-drawer{-webkit-transform:translateY(0);transform:translateY(0)}:not(.bmd-drawer-out).bmd-drawer-in.bmd-drawer-f-b>.bmd-layout-content{margin-bottom:100px}:not(.bmd-drawer-out).bmd-drawer-overlay.bmd-drawer-overlay.bmd-drawer-f-l>.bmd-layout-content,:not(.bmd-drawer-out).bmd-drawer-overlay.bmd-drawer-overlay.bmd-drawer-f-l>.bmd-layout-header{width:100%;margin-left:0}:not(.bmd-drawer-out).bmd-drawer-overlay.bmd-drawer-overlay.bmd-drawer-f-r>.bmd-layout-content,:not(.bmd-drawer-out).bmd-drawer-overlay.bmd-drawer-overlay.bmd-drawer-f-r>.bmd-layout-header{width:100%;margin-right:0}:not(.bmd-drawer-out).bmd-drawer-overlay.bmd-drawer-overlay>.bmd-layout-backdrop .in{visibility:visible;background-color:rgba(0,0,0,.5)}@supports (pointer-events:auto){:not(.bmd-drawer-out).bmd-drawer-overlay.bmd-drawer-overlay>.bmd-layout-backdrop.in{pointer-events:auto;opacity:1}}:not(.bmd-drawer-out).bmd-drawer-overlay.bmd-drawer-overlay.bmd-drawer-f-t>.bmd-layout-header{margin-top:0}:not(.bmd-drawer-out).bmd-drawer-overlay.bmd-drawer-overlay.bmd-drawer-f-b>.bmd-layout-content{margin-bottom:0}@media (min-width:544px){:not(.bmd-drawer-out).bmd-drawer-in-sm-up.bmd-drawer-f-l>.bmd-layout-header{width:calc(100% - 240px);margin-left:240px}:not(.bmd-drawer-out).bmd-drawer-in-sm-up.bmd-drawer-f-l>.bmd-layout-drawer{-webkit-transform:translateX(0);transform:translateX(0)}:not(.bmd-drawer-out).bmd-drawer-in-sm-up.bmd-drawer-f-l>.bmd-layout-content{margin-left:240px}:not(.bmd-drawer-out).bmd-drawer-in-sm-up.bmd-drawer-f-r>.bmd-layout-header{width:calc(100% - 240px);margin-right:240px}:not(.bmd-drawer-out).bmd-drawer-in-sm-up.bmd-drawer-f-r>.bmd-layout-drawer{-webkit-transform:translateX(0);transform:translateX(0)}:not(.bmd-drawer-out).bmd-drawer-in-sm-up.bmd-drawer-f-r>.bmd-layout-content{margin-right:240px}}@media (min-width:544px){:not(.bmd-drawer-out).bmd-drawer-in-sm-up.bmd-drawer-f-t>.bmd-layout-header{margin-top:100px}:not(.bmd-drawer-out).bmd-drawer-in-sm-up.bmd-drawer-f-b>.bmd-layout-drawer,:not(.bmd-drawer-out).bmd-drawer-in-sm-up.bmd-drawer-f-t>.bmd-layout-drawer{-webkit-transform:translateY(0);transform:translateY(0)}:not(.bmd-drawer-out).bmd-drawer-in-sm-up.bmd-drawer-f-b>.bmd-layout-content{margin-bottom:100px}}@media (max-width:767px){:not(.bmd-drawer-out).bmd-drawer-overlay-sm-down>.bmd-layout-backdrop .in{visibility:visible;background-color:rgba(0,0,0,.5)}@supports (pointer-events:auto){:not(.bmd-drawer-out).bmd-drawer-overlay-sm-down>.bmd-layout-backdrop.in{pointer-events:auto;opacity:1}}:not(.bmd-drawer-out).bmd-drawer-overlay-sm-down.bmd-drawer-f-l>.bmd-layout-content,:not(.bmd-drawer-out).bmd-drawer-overlay-sm-down.bmd-drawer-f-l>.bmd-layout-header{width:100%;margin-left:0}:not(.bmd-drawer-out).bmd-drawer-overlay-sm-down.bmd-drawer-f-r>.bmd-layout-content,:not(.bmd-drawer-out).bmd-drawer-overlay-sm-down.bmd-drawer-f-r>.bmd-layout-header{width:100%;margin-right:0}}@media (max-width:767px){:not(.bmd-drawer-out).bmd-drawer-overlay-sm-down>.bmd-layout-backdrop .in{visibility:visible;background-color:rgba(0,0,0,.5)}@supports (pointer-events:auto){:not(.bmd-drawer-out).bmd-drawer-overlay-sm-down>.bmd-layout-backdrop.in{pointer-events:auto;opacity:1}}:not(.bmd-drawer-out).bmd-drawer-overlay-sm-down.bmd-drawer-f-t>.bmd-layout-header{margin-top:0}:not(.bmd-drawer-out).bmd-drawer-overlay-sm-down.bmd-drawer-f-b>.bmd-layout-content{margin-bottom:0}}@media (min-width:768px){:not(.bmd-drawer-out).bmd-drawer-in-md-up.bmd-drawer-f-l>.bmd-layout-header{width:calc(100% - 240px);margin-left:240px}:not(.bmd-drawer-out).bmd-drawer-in-md-up.bmd-drawer-f-l>.bmd-layout-drawer{-webkit-transform:translateX(0);transform:translateX(0)}:not(.bmd-drawer-out).bmd-drawer-in-md-up.bmd-drawer-f-l>.bmd-layout-content{margin-left:240px}:not(.bmd-drawer-out).bmd-drawer-in-md-up.bmd-drawer-f-r>.bmd-layout-header{width:calc(100% - 240px);margin-right:240px}:not(.bmd-drawer-out).bmd-drawer-in-md-up.bmd-drawer-f-r>.bmd-layout-drawer{-webkit-transform:translateX(0);transform:translateX(0)}:not(.bmd-drawer-out).bmd-drawer-in-md-up.bmd-drawer-f-r>.bmd-layout-content{margin-right:240px}}@media (min-width:768px){:not(.bmd-drawer-out).bmd-drawer-in-md-up.bmd-drawer-f-t>.bmd-layout-header{margin-top:100px}:not(.bmd-drawer-out).bmd-drawer-in-md-up.bmd-drawer-f-b>.bmd-layout-drawer,:not(.bmd-drawer-out).bmd-drawer-in-md-up.bmd-drawer-f-t>.bmd-layout-drawer{-webkit-transform:translateY(0);transform:translateY(0)}:not(.bmd-drawer-out).bmd-drawer-in-md-up.bmd-drawer-f-b>.bmd-layout-content{margin-bottom:100px}}@media (max-width:991px){:not(.bmd-drawer-out).bmd-drawer-overlay-md-down>.bmd-layout-backdrop .in{visibility:visible;background-color:rgba(0,0,0,.5)}@supports (pointer-events:auto){:not(.bmd-drawer-out).bmd-drawer-overlay-md-down>.bmd-layout-backdrop.in{pointer-events:auto;opacity:1}}:not(.bmd-drawer-out).bmd-drawer-overlay-md-down.bmd-drawer-f-l>.bmd-layout-content,:not(.bmd-drawer-out).bmd-drawer-overlay-md-down.bmd-drawer-f-l>.bmd-layout-header{width:100%;margin-left:0}:not(.bmd-drawer-out).bmd-drawer-overlay-md-down.bmd-drawer-f-r>.bmd-layout-content,:not(.bmd-drawer-out).bmd-drawer-overlay-md-down.bmd-drawer-f-r>.bmd-layout-header{width:100%;margin-right:0}}@media (max-width:991px){:not(.bmd-drawer-out).bmd-drawer-overlay-md-down>.bmd-layout-backdrop .in{visibility:visible;background-color:rgba(0,0,0,.5)}@supports (pointer-events:auto){:not(.bmd-drawer-out).bmd-drawer-overlay-md-down>.bmd-layout-backdrop.in{pointer-events:auto;opacity:1}}:not(.bmd-drawer-out).bmd-drawer-overlay-md-down.bmd-drawer-f-t>.bmd-layout-header{margin-top:0}:not(.bmd-drawer-out).bmd-drawer-overlay-md-down.bmd-drawer-f-b>.bmd-layout-content{margin-bottom:0}}@media (min-width:992px){:not(.bmd-drawer-out).bmd-drawer-in-lg-up.bmd-drawer-f-l>.bmd-layout-header{width:calc(100% - 240px);margin-left:240px}:not(.bmd-drawer-out).bmd-drawer-in-lg-up.bmd-drawer-f-l>.bmd-layout-drawer{-webkit-transform:translateX(0);transform:translateX(0)}:not(.bmd-drawer-out).bmd-drawer-in-lg-up.bmd-drawer-f-l>.bmd-layout-content{margin-left:240px}:not(.bmd-drawer-out).bmd-drawer-in-lg-up.bmd-drawer-f-r>.bmd-layout-header{width:calc(100% - 240px);margin-right:240px}:not(.bmd-drawer-out).bmd-drawer-in-lg-up.bmd-drawer-f-r>.bmd-layout-drawer{-webkit-transform:translateX(0);transform:translateX(0)}:not(.bmd-drawer-out).bmd-drawer-in-lg-up.bmd-drawer-f-r>.bmd-layout-content{margin-right:240px}}@media (min-width:992px){:not(.bmd-drawer-out).bmd-drawer-in-lg-up.bmd-drawer-f-t>.bmd-layout-header{margin-top:100px}:not(.bmd-drawer-out).bmd-drawer-in-lg-up.bmd-drawer-f-b>.bmd-layout-drawer,:not(.bmd-drawer-out).bmd-drawer-in-lg-up.bmd-drawer-f-t>.bmd-layout-drawer{-webkit-transform:translateY(0);transform:translateY(0)}:not(.bmd-drawer-out).bmd-drawer-in-lg-up.bmd-drawer-f-b>.bmd-layout-content{margin-bottom:100px}}@media (max-width:1199px){:not(.bmd-drawer-out).bmd-drawer-overlay-lg-down>.bmd-layout-backdrop .in{visibility:visible;background-color:rgba(0,0,0,.5)}@supports (pointer-events:auto){:not(.bmd-drawer-out).bmd-drawer-overlay-lg-down>.bmd-layout-backdrop.in{pointer-events:auto;opacity:1}}:not(.bmd-drawer-out).bmd-drawer-overlay-lg-down.bmd-drawer-f-l>.bmd-layout-content,:not(.bmd-drawer-out).bmd-drawer-overlay-lg-down.bmd-drawer-f-l>.bmd-layout-header{width:100%;margin-left:0}:not(.bmd-drawer-out).bmd-drawer-overlay-lg-down.bmd-drawer-f-r>.bmd-layout-content,:not(.bmd-drawer-out).bmd-drawer-overlay-lg-down.bmd-drawer-f-r>.bmd-layout-header{width:100%;margin-right:0}}@media (max-width:1199px){:not(.bmd-drawer-out).bmd-drawer-overlay-lg-down>.bmd-layout-backdrop .in{visibility:visible;background-color:rgba(0,0,0,.5)}@supports (pointer-events:auto){:not(.bmd-drawer-out).bmd-drawer-overlay-lg-down>.bmd-layout-backdrop.in{pointer-events:auto;opacity:1}}:not(.bmd-drawer-out).bmd-drawer-overlay-lg-down.bmd-drawer-f-t>.bmd-layout-header{margin-top:0}:not(.bmd-drawer-out).bmd-drawer-overlay-lg-down.bmd-drawer-f-b>.bmd-layout-content{margin-bottom:0}}@media (min-width:1200px){:not(.bmd-drawer-out).bmd-drawer-in-xl-up.bmd-drawer-f-l>.bmd-layout-header{width:calc(100% - 240px);margin-left:240px}:not(.bmd-drawer-out).bmd-drawer-in-xl-up.bmd-drawer-f-l>.bmd-layout-drawer{-webkit-transform:translateX(0);transform:translateX(0)}:not(.bmd-drawer-out).bmd-drawer-in-xl-up.bmd-drawer-f-l>.bmd-layout-content{margin-left:240px}:not(.bmd-drawer-out).bmd-drawer-in-xl-up.bmd-drawer-f-r>.bmd-layout-header{width:calc(100% - 240px);margin-right:240px}:not(.bmd-drawer-out).bmd-drawer-in-xl-up.bmd-drawer-f-r>.bmd-layout-drawer{-webkit-transform:translateX(0);transform:translateX(0)}:not(.bmd-drawer-out).bmd-drawer-in-xl-up.bmd-drawer-f-r>.bmd-layout-content{margin-right:240px}}@media (min-width:1200px){:not(.bmd-drawer-out).bmd-drawer-in-xl-up.bmd-drawer-f-t>.bmd-layout-header{margin-top:100px}:not(.bmd-drawer-out).bmd-drawer-in-xl-up.bmd-drawer-f-b>.bmd-layout-drawer,:not(.bmd-drawer-out).bmd-drawer-in-xl-up.bmd-drawer-f-t>.bmd-layout-drawer{-webkit-transform:translateY(0);transform:translateY(0)}:not(.bmd-drawer-out).bmd-drawer-in-xl-up.bmd-drawer-f-b>.bmd-layout-content{margin-bottom:100px}}:not(.bmd-drawer-out).bmd-drawer-overlay-xl-down.bmd-drawer-f-l>.bmd-layout-content,:not(.bmd-drawer-out).bmd-drawer-overlay-xl-down.bmd-drawer-f-l>.bmd-layout-header{width:100%;margin-left:0}:not(.bmd-drawer-out).bmd-drawer-overlay-xl-down.bmd-drawer-f-r>.bmd-layout-content,:not(.bmd-drawer-out).bmd-drawer-overlay-xl-down.bmd-drawer-f-r>.bmd-layout-header{width:100%;margin-right:0}:not(.bmd-drawer-out).bmd-drawer-overlay-xl-down>.bmd-layout-backdrop .in{visibility:visible;background-color:rgba(0,0,0,.5)}@supports (pointer-events:auto){:not(.bmd-drawer-out).bmd-drawer-overlay-xl-down>.bmd-layout-backdrop.in{pointer-events:auto;opacity:1}}:not(.bmd-drawer-out).bmd-drawer-overlay-xl-down.bmd-drawer-f-t>.bmd-layout-header{margin-top:0}:not(.bmd-drawer-out).bmd-drawer-overlay-xl-down.bmd-drawer-f-b>.bmd-layout-content{margin-bottom:0}.ripple{position:relative}.ripple-container{position:absolute;top:0;left:0;z-index:1;width:100%;height:100%;overflow:hidden;pointer-events:none;border-radius:inherit}.ripple-container .ripple-decorator{position:absolute;width:20px;height:20px;margin-top:-10px;margin-left:-10px;pointer-events:none;background-color:rgba(0,0,0,.05);border-radius:100%;opacity:0;-webkit-transform:scale(1);transform:scale(1);-webkit-transform-origin:50%;transform-origin:50%}.ripple-container .ripple-decorator.ripple-on{opacity:.1;-webkit-transition:opacity .15s ease-in 0s,-webkit-transform .5s cubic-bezier(.4,0,.2,1) .1s;transition:opacity .15s ease-in 0s,-webkit-transform .5s cubic-bezier(.4,0,.2,1) .1s;transition:opacity .15s ease-in 0s,transform .5s cubic-bezier(.4,0,.2,1) .1s;transition:opacity .15s ease-in 0s,transform .5s cubic-bezier(.4,0,.2,1) .1s,-webkit-transform .5s cubic-bezier(.4,0,.2,1) .1s}.ripple-container .ripple-decorator.ripple-out{opacity:0;-webkit-transition:opacity .1s linear 0s!important;transition:opacity .1s linear 0s!important} \ No newline at end of file
diff --git a/templates/assets/bootstrap-material-design/dist/bootstrap-material-design.umd.js b/templates/assets/bootstrap-material-design/dist/bootstrap-material-design.umd.js
new file mode 100644
index 0000000..0d7c689
--- /dev/null
+++ b/templates/assets/bootstrap-material-design/dist/bootstrap-material-design.umd.js
@@ -0,0 +1,2936 @@
+/*!
+ * bootstrap-material-design v4.0.2 (https://github.com/FezVrasta/bootstrap-material-design)
+ * Copyright 2016 Federico Zivolo and contributors
+ * Licensed under MIT
+ */
+(function (global, factory) {
+ typeof exports === 'object' && typeof module !== 'undefined' ? factory(require('babel-polyfill'), require('bootstrap/dist/js/bootstrap')) :
+ typeof define === 'function' && define.amd ? define(['babel-polyfill', 'bootstrap/dist/js/bootstrap'], factory) :
+ (factory(global.babelPolyfill,global.bootstrap_dist_js_bootstrap));
+}(this, function (babelPolyfill,bootstrap_dist_js_bootstrap) { 'use strict';
+
+ var Util = function () {
+
+ /**
+ * ------------------------------------------------------------------------
+ * Private TransitionEnd Helpers
+ * ------------------------------------------------------------------------
+ */
+
+ var transitionEnd = false;
+ var _transitionEndSelector = '';
+
+ var TransitionEndEvent = {
+ WebkitTransition: 'webkitTransitionEnd',
+ MozTransition: 'transitionend',
+ OTransition: 'oTransitionEnd otransitionend',
+ transition: 'transitionend'
+ };
+
+ function transitionEndTest() {
+ if (window.QUnit) {
+ return false;
+ }
+
+ var el = document.createElement('bmd');
+
+ for (var name in TransitionEndEvent) {
+ if (el.style[name] !== undefined) {
+ return TransitionEndEvent[name]; // { end: TransitionEndEvent[name] }
+ }
+ }
+
+ return false;
+ }
+
+ function setTransitionEndSupport() {
+ transitionEnd = transitionEndTest();
+
+ // generate a concatenated transition end event selector
+ for (var name in TransitionEndEvent) {
+ _transitionEndSelector += ' ' + TransitionEndEvent[name];
+ }
+ }
+
+ /**
+ * --------------------------------------------------------------------------
+ * Public Util Api
+ * --------------------------------------------------------------------------
+ */
+
+ var Util = {
+ transitionEndSupported: function transitionEndSupported() {
+ return transitionEnd;
+ },
+ transitionEndSelector: function transitionEndSelector() {
+ return _transitionEndSelector;
+ },
+ isChar: function isChar(event) {
+ if (typeof event.which === 'undefined') {
+ return true;
+ } else if (typeof event.which === 'number' && event.which > 0) {
+ return !event.ctrlKey && !event.metaKey && !event.altKey && event.which !== 8 // backspace
+ && event.which !== 9 // tab
+ && event.which !== 13 // enter
+ && event.which !== 16 // shift
+ && event.which !== 17 // ctrl
+ && event.which !== 20 // caps lock
+ && event.which !== 27 // escape
+ ;
+ }
+ return false;
+ },
+ assert: function assert($element, invalidTest, message) {
+ if (invalidTest) {
+ if (!$element === undefined) {
+ $element.css('border', '1px solid red');
+ }
+ console.error(message, $element); // eslint-disable-line no-console
+ throw message;
+ }
+ },
+ describe: function describe($element) {
+ if ($element === undefined) {
+ return 'undefined';
+ } else if ($element.length === 0) {
+ return '(no matching elements)';
+ }
+ return $element[0].outerHTML.split('>')[0] + '>';
+ }
+ };
+
+ setTransitionEndSupport();
+ return Util;
+ }(jQuery);
+
+ var classCallCheck = function (instance, Constructor) {
+ if (!(instance instanceof Constructor)) {
+ throw new TypeError("Cannot call a class as a function");
+ }
+ };
+
+ var createClass = function () {
+ function defineProperties(target, props) {
+ for (var i = 0; i < props.length; i++) {
+ var descriptor = props[i];
+ descriptor.enumerable = descriptor.enumerable || false;
+ descriptor.configurable = true;
+ if ("value" in descriptor) descriptor.writable = true;
+ Object.defineProperty(target, descriptor.key, descriptor);
+ }
+ }
+
+ return function (Constructor, protoProps, staticProps) {
+ if (protoProps) defineProperties(Constructor.prototype, protoProps);
+ if (staticProps) defineProperties(Constructor, staticProps);
+ return Constructor;
+ };
+ }();
+
+ var get = function get(object, property, receiver) {
+ if (object === null) object = Function.prototype;
+ var desc = Object.getOwnPropertyDescriptor(object, property);
+
+ if (desc === undefined) {
+ var parent = Object.getPrototypeOf(object);
+
+ if (parent === null) {
+ return undefined;
+ } else {
+ return get(parent, property, receiver);
+ }
+ } else if ("value" in desc) {
+ return desc.value;
+ } else {
+ var getter = desc.get;
+
+ if (getter === undefined) {
+ return undefined;
+ }
+
+ return getter.call(receiver);
+ }
+ };
+
+ var inherits = function (subClass, superClass) {
+ if (typeof superClass !== "function" && superClass !== null) {
+ throw new TypeError("Super expression must either be null or a function, not " + typeof superClass);
+ }
+
+ subClass.prototype = Object.create(superClass && superClass.prototype, {
+ constructor: {
+ value: subClass,
+ enumerable: false,
+ writable: true,
+ configurable: true
+ }
+ });
+ if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;
+ };
+
+ var possibleConstructorReturn = function (self, call) {
+ if (!self) {
+ throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
+ }
+
+ return call && (typeof call === "object" || typeof call === "function") ? call : self;
+ };
+
+ var Base = function ($) {
+
+ var ClassName = {
+ BMD_FORM_GROUP: 'bmd-form-group',
+ IS_FILLED: 'is-filled',
+ IS_FOCUSED: 'is-focused'
+ };
+
+ var Selector = {
+ BMD_FORM_GROUP: '.' + ClassName.BMD_FORM_GROUP
+ };
+
+ var Default = {};
+
+ /**
+ * ------------------------------------------------------------------------
+ * Class Definition
+ * ------------------------------------------------------------------------
+ */
+
+ var Base = function () {
+
+ /**
+ *
+ * @param element
+ * @param config
+ * @param properties - anything that needs to be set as this[key] = value. Works around the need to call `super` before using `this`
+ */
+ function Base($element, config) {
+ var properties = arguments.length <= 2 || arguments[2] === undefined ? {} : arguments[2];
+ classCallCheck(this, Base);
+
+ this.$element = $element;
+ this.config = $.extend(true, {}, Default, config);
+
+ // set properties for use in the constructor initialization
+ for (var key in properties) {
+ this[key] = properties[key];
+ }
+ }
+
+ createClass(Base, [{
+ key: 'dispose',
+ value: function dispose(dataKey) {
+ this.$element.data(dataKey, null);
+ this.$element = null;
+ this.config = null;
+ }
+
+ // ------------------------------------------------------------------------
+ // protected
+
+ }, {
+ key: 'addFormGroupFocus',
+ value: function addFormGroupFocus() {
+ if (!this.$element.prop('disabled')) {
+ this.$bmdFormGroup.addClass(ClassName.IS_FOCUSED);
+ }
+ }
+ }, {
+ key: 'removeFormGroupFocus',
+ value: function removeFormGroupFocus() {
+ this.$bmdFormGroup.removeClass(ClassName.IS_FOCUSED);
+ }
+ }, {
+ key: 'removeIsFilled',
+ value: function removeIsFilled() {
+ this.$bmdFormGroup.removeClass(ClassName.IS_FILLED);
+ }
+ }, {
+ key: 'addIsFilled',
+ value: function addIsFilled() {
+ this.$bmdFormGroup.addClass(ClassName.IS_FILLED);
+ }
+
+ // Find bmd-form-group
+
+ }, {
+ key: 'findMdbFormGroup',
+ value: function findMdbFormGroup() {
+ var raiseError = arguments.length <= 0 || arguments[0] === undefined ? true : arguments[0];
+
+ var mfg = this.$element.closest(Selector.BMD_FORM_GROUP);
+ if (mfg.length === 0 && raiseError) {
+ $.error('Failed to find ' + Selector.BMD_FORM_GROUP + ' for ' + Util.describe(this.$element));
+ }
+ return mfg;
+ }
+
+ // ------------------------------------------------------------------------
+ // private
+
+ // ------------------------------------------------------------------------
+ // static
+
+ }]);
+ return Base;
+ }();
+
+ return Base;
+ }(jQuery);
+
+ var BaseInput = function ($) {
+
+ var ClassName = {
+ FORM_GROUP: 'form-group',
+ BMD_FORM_GROUP: 'bmd-form-group',
+ BMD_LABEL: 'bmd-label',
+ BMD_LABEL_STATIC: 'bmd-label-static',
+ BMD_LABEL_PLACEHOLDER: 'bmd-label-placeholder',
+ BMD_LABEL_FLOATING: 'bmd-label-floating',
+ HAS_DANGER: 'has-danger',
+ IS_FILLED: 'is-filled',
+ IS_FOCUSED: 'is-focused',
+ INPUT_GROUP: 'input-group'
+ };
+
+ var Selector = {
+ FORM_GROUP: '.' + ClassName.FORM_GROUP,
+ BMD_FORM_GROUP: '.' + ClassName.BMD_FORM_GROUP,
+ BMD_LABEL_WILDCARD: 'label[class^=\'' + ClassName.BMD_LABEL + '\'], label[class*=\' ' + ClassName.BMD_LABEL + '\']' // match any label variant if specified
+ };
+
+ var Default = {
+ validate: false,
+ formGroup: {
+ required: false
+ },
+ bmdFormGroup: {
+ template: '<span class=\'' + ClassName.BMD_FORM_GROUP + '\'></span>',
+ create: true, // create a wrapper if form-group not found
+ required: true // not recommended to turn this off, only used for inline components
+ },
+ label: {
+ required: false,
+
+ // Prioritized find order for resolving the label to be used as an bmd-label if not specified in the markup
+ // - a function(thisComponent); or
+ // - a string selector used like $bmdFormGroup.find(selector)
+ //
+ // Note this only runs if $bmdFormGroup.find(Selector.BMD_LABEL_WILDCARD) fails to find a label (as authored in the markup)
+ //
+ selectors: ['.form-control-label', // in the case of horizontal or inline forms, this will be marked
+ '> label' // usual case for text inputs, first child. Deeper would find toggle labels so don't do that.
+ ],
+ className: ClassName.BMD_LABEL_STATIC
+ },
+ requiredClasses: [],
+ invalidComponentMatches: [],
+ convertInputSizeVariations: true
+ };
+
+ var FormControlSizeMarkers = {
+ 'form-control-lg': 'bmd-form-group-lg',
+ 'form-control-sm': 'bmd-form-group-sm'
+ };
+
+ /**
+ * ------------------------------------------------------------------------
+ * Class Definition
+ * ------------------------------------------------------------------------
+ */
+
+ var BaseInput = function (_Base) {
+ inherits(BaseInput, _Base);
+
+ /**
+ *
+ * @param element
+ * @param config
+ * @param properties - anything that needs to be set as this[key] = value. Works around the need to call `super` before using `this`
+ */
+ function BaseInput($element, config) {
+ var properties = arguments.length <= 2 || arguments[2] === undefined ? {} : arguments[2];
+ classCallCheck(this, BaseInput);
+
+ // Enforce no overlap between components to prevent side effects
+ var _this = possibleConstructorReturn(this, Object.getPrototypeOf(BaseInput).call(this, $element, $.extend(true, {}, Default, config), properties));
+
+ _this._rejectInvalidComponentMatches();
+
+ // Enforce expected structure (if any)
+ _this.rejectWithoutRequiredStructure();
+
+ // Enforce required classes for a consistent rendering
+ _this._rejectWithoutRequiredClasses();
+
+ // Resolve the form-group first, it will be used for bmd-form-group if possible
+ // note: different components have different rules
+ _this.$formGroup = _this.findFormGroup(_this.config.formGroup.required);
+
+ // Will add bmd-form-group to form-group or create an bmd-form-group
+ // Performance Note: for those forms that are really performance driven, create the markup with the .bmd-form-group to avoid
+ // rendering changes once added.
+ _this.$bmdFormGroup = _this.resolveMdbFormGroup();
+
+ // Resolve and mark the bmdLabel if necessary as defined by the config
+ _this.$bmdLabel = _this.resolveMdbLabel();
+
+ // Signal to the bmd-form-group that a form-control-* variation is being used
+ _this.resolveMdbFormGroupSizing();
+
+ _this.addFocusListener();
+ _this.addChangeListener();
+
+ if (_this.$element.val() != '') {
+ _this.addIsFilled();
+ }
+ return _this;
+ }
+
+ createClass(BaseInput, [{
+ key: 'dispose',
+ value: function dispose(dataKey) {
+ get(Object.getPrototypeOf(BaseInput.prototype), 'dispose', this).call(this, dataKey);
+ this.$bmdFormGroup = null;
+ this.$formGroup = null;
+ }
+
+ // ------------------------------------------------------------------------
+ // protected
+
+ }, {
+ key: 'rejectWithoutRequiredStructure',
+ value: function rejectWithoutRequiredStructure() {
+ // implement
+ }
+ }, {
+ key: 'addFocusListener',
+ value: function addFocusListener() {
+ var _this2 = this;
+
+ this.$element.on('focus', function () {
+ _this2.addFormGroupFocus();
+ }).on('blur', function () {
+ _this2.removeFormGroupFocus();
+ });
+ }
+ }, {
+ key: 'addChangeListener',
+ value: function addChangeListener() {
+ var _this3 = this;
+
+ this.$element.on('keydown paste', function (event) {
+ if (Util.isChar(event)) {
+ _this3.addIsFilled();
+ }
+ }).on('keyup change', function () {
+
+ // make sure empty is added back when there is a programmatic value change.
+ // NOTE: programmatic changing of value using $.val() must trigger the change event i.e. $.val('x').trigger('change')
+ if (_this3.isEmpty()) {
+ _this3.removeIsFilled();
+ } else {
+ _this3.addIsFilled();
+ }
+
+ if (_this3.config.validate) {
+ // Validation events do not bubble, so they must be attached directly to the text: http://jsfiddle.net/PEpRM/1/
+ // Further, even the bind method is being caught, but since we are already calling #checkValidity here, just alter
+ // the form-group on change.
+ //
+ // NOTE: I'm not sure we should be intervening regarding validation, this seems better as a README and snippet of code.
+ // BUT, I've left it here for backwards compatibility.
+ var isValid = typeof _this3.$element[0].checkValidity === 'undefined' || _this3.$element[0].checkValidity();
+ if (isValid) {
+ _this3.removeHasDanger();
+ } else {
+ _this3.addHasDanger();
+ }
+ }
+ });
+ }
+ }, {
+ key: 'addHasDanger',
+ value: function addHasDanger() {
+ this.$bmdFormGroup.addClass(ClassName.HAS_DANGER);
+ }
+ }, {
+ key: 'removeHasDanger',
+ value: function removeHasDanger() {
+ this.$bmdFormGroup.removeClass(ClassName.HAS_DANGER);
+ }
+ }, {
+ key: 'isEmpty',
+ value: function isEmpty() {
+ return this.$element.val() === null || this.$element.val() === undefined || this.$element.val() === '';
+ }
+
+ // Will add bmd-form-group to form-group or create a bmd-form-group if necessary
+
+ }, {
+ key: 'resolveMdbFormGroup',
+ value: function resolveMdbFormGroup() {
+ var mfg = this.findMdbFormGroup(false);
+ if (mfg === undefined || mfg.length === 0) {
+ if (this.config.bmdFormGroup.create && (this.$formGroup === undefined || this.$formGroup.length === 0)) {
+ // If a form-group doesn't exist (not recommended), take a guess and wrap the element (assuming no label).
+ // note: it's possible to make this smarter, but I need to see valid cases before adding any complexity.
+
+ // this may be an input-group, wrap that instead
+ if (this.outerElement().parent().hasClass(ClassName.INPUT_GROUP)) {
+ this.outerElement().parent().wrap(this.config.bmdFormGroup.template);
+ } else {
+ this.outerElement().wrap(this.config.bmdFormGroup.template);
+ }
+ } else {
+ // a form-group does exist, add our marker class to it
+ this.$formGroup.addClass(ClassName.BMD_FORM_GROUP);
+
+ // OLD: may want to implement this after all, see how the styling turns out, but using an existing form-group is less manipulation of the dom and therefore preferable
+ // A form-group does exist, so add an bmd-form-group wrapping it's internal contents
+ //fg.wrapInner(this.config.bmdFormGroup.template)
+ }
+
+ mfg = this.findMdbFormGroup(this.config.bmdFormGroup.required);
+ }
+
+ return mfg;
+ }
+
+ // Demarcation element (e.g. first child of a form-group)
+ // Subclasses such as file inputs may have different structures
+
+ }, {
+ key: 'outerElement',
+ value: function outerElement() {
+ return this.$element;
+ }
+
+ // Will add bmd-label to bmd-form-group if not already specified
+
+ }, {
+ key: 'resolveMdbLabel',
+ value: function resolveMdbLabel() {
+
+ var label = this.$bmdFormGroup.find(Selector.BMD_LABEL_WILDCARD);
+ if (label === undefined || label.length === 0) {
+ // we need to find it based on the configured selectors
+ label = this.findMdbLabel(this.config.label.required);
+
+ if (label === undefined || label.length === 0) {
+ // no label found, and finder did not require one
+ } else {
+ // a candidate label was found, add the configured default class name
+ label.addClass(this.config.label.className);
+ }
+ }
+
+ return label;
+ }
+
+ // Find bmd-label variant based on the config selectors
+
+ }, {
+ key: 'findMdbLabel',
+ value: function findMdbLabel() {
+ var raiseError = arguments.length <= 0 || arguments[0] === undefined ? true : arguments[0];
+
+ var label = null;
+
+ // use the specified selector order
+ var _iteratorNormalCompletion = true;
+ var _didIteratorError = false;
+ var _iteratorError = undefined;
+
+ try {
+ for (var _iterator = this.config.label.selectors[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
+ var selector = _step.value;
+
+ if ($.isFunction(selector)) {
+ label = selector(this);
+ } else {
+ label = this.$bmdFormGroup.find(selector);
+ }
+
+ if (label !== undefined && label.length > 0) {
+ break;
+ }
+ }
+ } catch (err) {
+ _didIteratorError = true;
+ _iteratorError = err;
+ } finally {
+ try {
+ if (!_iteratorNormalCompletion && _iterator.return) {
+ _iterator.return();
+ }
+ } finally {
+ if (_didIteratorError) {
+ throw _iteratorError;
+ }
+ }
+ }
+
+ if (label.length === 0 && raiseError) {
+ $.error('Failed to find ' + Selector.BMD_LABEL_WILDCARD + ' within form-group for ' + Util.describe(this.$element));
+ }
+ return label;
+ }
+
+ // Find bmd-form-group
+
+ }, {
+ key: 'findFormGroup',
+ value: function findFormGroup() {
+ var raiseError = arguments.length <= 0 || arguments[0] === undefined ? true : arguments[0];
+
+ var fg = this.$element.closest(Selector.FORM_GROUP);
+ if (fg.length === 0 && raiseError) {
+ $.error('Failed to find ' + Selector.FORM_GROUP + ' for ' + Util.describe(this.$element));
+ }
+ return fg;
+ }
+
+ // Due to the interconnected nature of labels/inputs/help-blocks, signal the bmd-form-group-* size variation based on
+ // a found form-control-* size
+
+ }, {
+ key: 'resolveMdbFormGroupSizing',
+ value: function resolveMdbFormGroupSizing() {
+ if (!this.config.convertInputSizeVariations) {
+ return;
+ }
+
+ // Modification - Change text-sm/lg to form-group-sm/lg instead (preferred standard and simpler css/less variants)
+ for (var inputSize in FormControlSizeMarkers) {
+ if (this.$element.hasClass(inputSize)) {
+ //this.$element.removeClass(inputSize)
+ this.$bmdFormGroup.addClass(FormControlSizeMarkers[inputSize]);
+ }
+ }
+ }
+
+ // ------------------------------------------------------------------------
+ // private
+
+ }, {
+ key: '_rejectInvalidComponentMatches',
+ value: function _rejectInvalidComponentMatches() {
+ var _iteratorNormalCompletion2 = true;
+ var _didIteratorError2 = false;
+ var _iteratorError2 = undefined;
+
+ try {
+ for (var _iterator2 = this.config.invalidComponentMatches[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {
+ var otherComponent = _step2.value;
+
+ otherComponent.rejectMatch(this.constructor.name, this.$element);
+ }
+ } catch (err) {
+ _didIteratorError2 = true;
+ _iteratorError2 = err;
+ } finally {
+ try {
+ if (!_iteratorNormalCompletion2 && _iterator2.return) {
+ _iterator2.return();
+ }
+ } finally {
+ if (_didIteratorError2) {
+ throw _iteratorError2;
+ }
+ }
+ }
+ }
+ }, {
+ key: '_rejectWithoutRequiredClasses',
+ value: function _rejectWithoutRequiredClasses() {
+ var _iteratorNormalCompletion3 = true;
+ var _didIteratorError3 = false;
+ var _iteratorError3 = undefined;
+
+ try {
+ for (var _iterator3 = this.config.requiredClasses[Symbol.iterator](), _step3; !(_iteratorNormalCompletion3 = (_step3 = _iterator3.next()).done); _iteratorNormalCompletion3 = true) {
+ var requiredClass = _step3.value;
+
+
+ var found = false;
+ // allow one of several classes to be passed in x||y
+ if (requiredClass.indexOf('||') !== -1) {
+ var oneOf = requiredClass.split('||');
+ var _iteratorNormalCompletion4 = true;
+ var _didIteratorError4 = false;
+ var _iteratorError4 = undefined;
+
+ try {
+ for (var _iterator4 = oneOf[Symbol.iterator](), _step4; !(_iteratorNormalCompletion4 = (_step4 = _iterator4.next()).done); _iteratorNormalCompletion4 = true) {
+ var _requiredClass = _step4.value;
+
+ if (this.$element.hasClass(_requiredClass)) {
+ found = true;
+ break;
+ }
+ }
+ } catch (err) {
+ _didIteratorError4 = true;
+ _iteratorError4 = err;
+ } finally {
+ try {
+ if (!_iteratorNormalCompletion4 && _iterator4.return) {
+ _iterator4.return();
+ }
+ } finally {
+ if (_didIteratorError4) {
+ throw _iteratorError4;
+ }
+ }
+ }
+ } else if (this.$element.hasClass(requiredClass)) {
+ found = true;
+ }
+
+ // error if not found
+ if (!found) {
+ $.error(this.constructor.name + ' element: ' + Util.describe(this.$element) + ' requires class: ' + requiredClass);
+ }
+ }
+ } catch (err) {
+ _didIteratorError3 = true;
+ _iteratorError3 = err;
+ } finally {
+ try {
+ if (!_iteratorNormalCompletion3 && _iterator3.return) {
+ _iterator3.return();
+ }
+ } finally {
+ if (_didIteratorError3) {
+ throw _iteratorError3;
+ }
+ }
+ }
+ }
+
+ // ------------------------------------------------------------------------
+ // static
+
+ }]);
+ return BaseInput;
+ }(Base);
+
+ return BaseInput;
+ }(jQuery);
+
+ var BaseSelection = function ($) {
+
+ /**
+ * ------------------------------------------------------------------------
+ * Constants
+ * ------------------------------------------------------------------------
+ */
+ var Default = {
+ label: {
+ required: false
+
+ // Prioritized find order for resolving the label to be used as an bmd-label if not specified in the markup
+ // - a function(thisComponent); or
+ // - a string selector used like $bmdFormGroup.find(selector)
+ //
+ // Note this only runs if $bmdFormGroup.find(Selector.BMD_LABEL_WILDCARD) fails to find a label (as authored in the markup)
+ //
+ //selectors: [
+ // `.form-control-label`, // in the case of horizontal or inline forms, this will be marked
+ // `> label` // usual case for text inputs
+ //]
+ }
+ };
+
+ var Selector = {
+ LABEL: 'label'
+ };
+
+ /**
+ * ------------------------------------------------------------------------
+ * Class Definition
+ * ------------------------------------------------------------------------
+ */
+
+ var BaseSelection = function (_BaseInput) {
+ inherits(BaseSelection, _BaseInput);
+
+ function BaseSelection($element, config, properties) {
+ classCallCheck(this, BaseSelection);
+
+ var _this = possibleConstructorReturn(this, Object.getPrototypeOf(BaseSelection).call(this, $element, $.extend(true, {}, Default, config), properties));
+ // properties = {inputType: checkbox, outerClass: checkbox-inline}
+ // '.checkbox|switch|radio > label > input[type=checkbox|radio]'
+ // '.${this.outerClass} > label > input[type=${this.inputType}]'
+
+ _this.decorateMarkup();
+ return _this;
+ }
+
+ // ------------------------------------------------------------------------
+ // protected
+
+ createClass(BaseSelection, [{
+ key: 'decorateMarkup',
+ value: function decorateMarkup() {
+ this.$element.after(this.config.template);
+ }
+
+ // Demarcation element (e.g. first child of a form-group)
+
+ }, {
+ key: 'outerElement',
+ value: function outerElement() {
+ // .checkbox|switch|radio > label > input[type=checkbox|radio]
+ // label.checkbox-inline > input[type=checkbox|radio]
+ // .${this.outerClass} > label > input[type=${this.inputType}]
+ return this.$element.parent().closest('.' + this.outerClass);
+ }
+ }, {
+ key: 'rejectWithoutRequiredStructure',
+ value: function rejectWithoutRequiredStructure() {
+ // '.checkbox|switch|radio > label > input[type=checkbox|radio]'
+ // '.${this.outerClass} > label > input[type=${this.inputType}]'
+ Util.assert(this.$element, !this.$element.parent().prop('tagName') === 'label', this.constructor.name + '\'s ' + Util.describe(this.$element) + ' parent element should be <label>.');
+ Util.assert(this.$element, !this.outerElement().hasClass(this.outerClass), this.constructor.name + '\'s ' + Util.describe(this.$element) + ' outer element should have class ' + this.outerClass + '.');
+ }
+ }, {
+ key: 'addFocusListener',
+ value: function addFocusListener() {
+ var _this2 = this;
+
+ // checkboxes didn't appear to bubble to the document, so we'll bind these directly
+ this.$element.closest(Selector.LABEL).hover(function () {
+ _this2.addFormGroupFocus();
+ }, function () {
+ _this2.removeFormGroupFocus();
+ });
+ }
+ }, {
+ key: 'addChangeListener',
+ value: function addChangeListener() {
+ var _this3 = this;
+
+ this.$element.change(function () {
+ _this3.$element.blur();
+ });
+ }
+
+ // ------------------------------------------------------------------------
+ // private
+
+ }]);
+ return BaseSelection;
+ }(BaseInput);
+
+ return BaseSelection;
+ }(jQuery);
+
+ var Checkbox = function ($) {
+
+ /**
+ * ------------------------------------------------------------------------
+ * Constants
+ * ------------------------------------------------------------------------
+ */
+ var NAME = 'checkbox';
+ var DATA_KEY = 'bmd.' + NAME;
+ var JQUERY_NAME = 'bmd' + (NAME.charAt(0).toUpperCase() + NAME.slice(1));
+ var JQUERY_NO_CONFLICT = $.fn[JQUERY_NAME];
+
+ var Default = {
+ template: '<span class=\'checkbox-decorator\'><span class=\'check\'></span></span>'
+ };
+
+ /**
+ * ------------------------------------------------------------------------
+ * Class Definition
+ * ------------------------------------------------------------------------
+ */
+
+ var Checkbox = function (_BaseSelection) {
+ inherits(Checkbox, _BaseSelection);
+
+ function Checkbox($element, config) {
+ var properties = arguments.length <= 2 || arguments[2] === undefined ? { inputType: NAME, outerClass: NAME } : arguments[2];
+ classCallCheck(this, Checkbox);
+ return possibleConstructorReturn(this, Object.getPrototypeOf(Checkbox).call(this, $element, $.extend(true,
+ //{invalidComponentMatches: [File, Radio, Text, Textarea, Select]},
+ Default, config), properties));
+ }
+
+ createClass(Checkbox, [{
+ key: 'dispose',
+ value: function dispose() {
+ var dataKey = arguments.length <= 0 || arguments[0] === undefined ? DATA_KEY : arguments[0];
+
+ get(Object.getPrototypeOf(Checkbox.prototype), 'dispose', this).call(this, dataKey);
+ }
+ }], [{
+ key: 'matches',
+ value: function matches($element) {
+ // '.checkbox > label > input[type=checkbox]'
+ if ($element.attr('type') === 'checkbox') {
+ return true;
+ }
+ return false;
+ }
+ }, {
+ key: 'rejectMatch',
+ value: function rejectMatch(component, $element) {
+ Util.assert(this.$element, this.matches($element), component + ' component element ' + Util.describe($element) + ' is invalid for type=\'checkbox\'.');
+ }
+
+ // ------------------------------------------------------------------------
+ // protected
+
+ // ------------------------------------------------------------------------
+ // protected
+
+ // ------------------------------------------------------------------------
+ // private
+
+ // ------------------------------------------------------------------------
+ // static
+
+ }, {
+ key: '_jQueryInterface',
+ value: function _jQueryInterface(config) {
+ return this.each(function () {
+ var $element = $(this);
+ var data = $element.data(DATA_KEY);
+
+ if (!data) {
+ data = new Checkbox($element, config);
+ $element.data(DATA_KEY, data);
+ }
+ });
+ }
+ }]);
+ return Checkbox;
+ }(BaseSelection);
+
+ /**
+ * ------------------------------------------------------------------------
+ * jQuery
+ * ------------------------------------------------------------------------
+ */
+
+
+ $.fn[JQUERY_NAME] = Checkbox._jQueryInterface;
+ $.fn[JQUERY_NAME].Constructor = Checkbox;
+ $.fn[JQUERY_NAME].noConflict = function () {
+ $.fn[JQUERY_NAME] = JQUERY_NO_CONFLICT;
+ return Checkbox._jQueryInterface;
+ };
+
+ return Checkbox;
+ }(jQuery);
+
+ var CheckboxInline = function ($) {
+
+ /**
+ * ------------------------------------------------------------------------
+ * Constants
+ * ------------------------------------------------------------------------
+ */
+ var NAME = 'checkboxInline';
+ var DATA_KEY = 'bmd.' + NAME;
+ var JQUERY_NAME = 'bmd' + (NAME.charAt(0).toUpperCase() + NAME.slice(1));
+ var JQUERY_NO_CONFLICT = $.fn[JQUERY_NAME];
+
+ var Default = {
+ bmdFormGroup: {
+ create: false, // no bmd-form-group creation if form-group not present. It messes with the layout.
+ required: false
+ }
+ };
+
+ /**
+ * ------------------------------------------------------------------------
+ * Class Definition
+ * ------------------------------------------------------------------------
+ */
+
+ var CheckboxInline = function (_Checkbox) {
+ inherits(CheckboxInline, _Checkbox);
+
+ function CheckboxInline($element, config) {
+ var properties = arguments.length <= 2 || arguments[2] === undefined ? { inputType: 'checkbox', outerClass: 'checkbox-inline' } : arguments[2];
+ classCallCheck(this, CheckboxInline);
+ return possibleConstructorReturn(this, Object.getPrototypeOf(CheckboxInline).call(this, $element, $.extend(true, {}, Default, config), properties));
+ }
+
+ createClass(CheckboxInline, [{
+ key: 'dispose',
+ value: function dispose() {
+ get(Object.getPrototypeOf(CheckboxInline.prototype), 'dispose', this).call(this, DATA_KEY);
+ }
+
+ //static matches($element) {
+ // // '.checkbox-inline > input[type=checkbox]'
+ // if ($element.attr('type') === 'checkbox') {
+ // return true
+ // }
+ // return false
+ //}
+ //
+ //static rejectMatch(component, $element) {
+ // Util.assert(this.$element, this.matches($element), `${component} component element ${Util.describe($element)} is invalid for type='checkbox'.`)
+ //}
+
+ // ------------------------------------------------------------------------
+ // protected
+
+ // ------------------------------------------------------------------------
+ // protected
+
+ // ------------------------------------------------------------------------
+ // private
+
+ // ------------------------------------------------------------------------
+ // static
+
+ }], [{
+ key: '_jQueryInterface',
+ value: function _jQueryInterface(config) {
+ return this.each(function () {
+ var $element = $(this);
+ var data = $element.data(DATA_KEY);
+
+ if (!data) {
+ data = new CheckboxInline($element, config);
+ $element.data(DATA_KEY, data);
+ }
+ });
+ }
+ }]);
+ return CheckboxInline;
+ }(Checkbox);
+
+ /**
+ * ------------------------------------------------------------------------
+ * jQuery
+ * ------------------------------------------------------------------------
+ */
+
+
+ $.fn[JQUERY_NAME] = CheckboxInline._jQueryInterface;
+ $.fn[JQUERY_NAME].Constructor = CheckboxInline;
+ $.fn[JQUERY_NAME].noConflict = function () {
+ $.fn[JQUERY_NAME] = JQUERY_NO_CONFLICT;
+ return CheckboxInline._jQueryInterface;
+ };
+
+ return CheckboxInline;
+ }(jQuery);
+
+ var CollapseInline = function ($) {
+
+ /**
+ * ------------------------------------------------------------------------
+ * Constants
+ * ------------------------------------------------------------------------
+ */
+ var NAME = 'collapseInline';
+ var DATA_KEY = 'bmd.' + NAME;
+ var JQUERY_NAME = 'bmd' + (NAME.charAt(0).toUpperCase() + NAME.slice(1));
+ var JQUERY_NO_CONFLICT = $.fn[JQUERY_NAME];
+
+ var Selector = {
+ ANY_INPUT: 'input, select, textarea'
+ };
+
+ var ClassName = {
+ IN: 'in',
+ COLLAPSE: 'collapse',
+ COLLAPSING: 'collapsing',
+ COLLAPSED: 'collapsed',
+ WIDTH: 'width'
+ };
+ var Default = {};
+
+ /**
+ * ------------------------------------------------------------------------
+ * Class Definition
+ * ------------------------------------------------------------------------
+ */
+
+ var CollapseInline = function (_Base) {
+ inherits(CollapseInline, _Base);
+
+ // $element is expected to be the trigger
+ // i.e. <button class="btn bmd-btn-icon" for="search" data-toggle="collapse" data-target="#search-field" aria-expanded="false" aria-controls="search-field">
+ function CollapseInline($element, config) {
+ classCallCheck(this, CollapseInline);
+
+ var _this = possibleConstructorReturn(this, Object.getPrototypeOf(CollapseInline).call(this, $element, $.extend(true, {}, Default, config)));
+
+ _this.$bmdFormGroup = _this.findMdbFormGroup(true);
+
+ var collapseSelector = $element.data('target');
+ _this.$collapse = $(collapseSelector);
+
+ Util.assert($element, _this.$collapse.length === 0, 'Cannot find collapse target for ' + Util.describe($element));
+ Util.assert(_this.$collapse, !_this.$collapse.hasClass(ClassName.COLLAPSE), Util.describe(_this.$collapse) + ' is expected to have the \'' + ClassName.COLLAPSE + '\' class. It is being targeted by ' + Util.describe($element));
+
+ // find the first input for focusing
+ var $inputs = _this.$bmdFormGroup.find(Selector.ANY_INPUT);
+ if ($inputs.length > 0) {
+ _this.$input = $inputs.first();
+ }
+
+ // automatically add the marker class to collapse width instead of height - nice convenience because it is easily forgotten
+ if (!_this.$collapse.hasClass(ClassName.WIDTH)) {
+ _this.$collapse.addClass(ClassName.WIDTH);
+ }
+
+ if (_this.$input) {
+ // add a listener to set focus
+ _this.$collapse.on('shown.bs.collapse', function () {
+ _this.$input.focus();
+ });
+
+ // add a listener to collapse field
+ _this.$input.blur(function () {
+ _this.$collapse.collapse('hide');
+ });
+ }
+ return _this;
+ }
+
+ createClass(CollapseInline, [{
+ key: 'dispose',
+ value: function dispose() {
+ get(Object.getPrototypeOf(CollapseInline.prototype), 'dispose', this).call(this, DATA_KEY);
+ this.$bmdFormGroup = null;
+ this.$collapse = null;
+ this.$input = null;
+ }
+
+ // ------------------------------------------------------------------------
+ // private
+
+ // ------------------------------------------------------------------------
+ // static
+
+ }], [{
+ key: '_jQueryInterface',
+ value: function _jQueryInterface(config) {
+ return this.each(function () {
+ var $element = $(this);
+ var data = $element.data(DATA_KEY);
+
+ if (!data) {
+ data = new CollapseInline($element, config);
+ $element.data(DATA_KEY, data);
+ }
+ });
+ }
+ }]);
+ return CollapseInline;
+ }(Base);
+
+ /**
+ * ------------------------------------------------------------------------
+ * jQuery
+ * ------------------------------------------------------------------------
+ */
+
+
+ $.fn[JQUERY_NAME] = CollapseInline._jQueryInterface;
+ $.fn[JQUERY_NAME].Constructor = CollapseInline;
+ $.fn[JQUERY_NAME].noConflict = function () {
+ $.fn[JQUERY_NAME] = JQUERY_NO_CONFLICT;
+ return CollapseInline._jQueryInterface;
+ };
+
+ return CollapseInline;
+ }(jQuery);
+
+ var File = function ($) {
+
+ /**
+ * ------------------------------------------------------------------------
+ * Constants
+ * ------------------------------------------------------------------------
+ */
+ var NAME = 'file';
+ var DATA_KEY = 'bmd.' + NAME;
+ var JQUERY_NAME = 'bmd' + (NAME.charAt(0).toUpperCase() + NAME.slice(1));
+ var JQUERY_NO_CONFLICT = $.fn[JQUERY_NAME];
+
+ var Default = {};
+
+ var ClassName = {
+ FILE: NAME,
+ IS_FILE: 'is-file'
+ };
+
+ var Selector = {
+ FILENAMES: 'input.form-control[readonly]'
+ };
+
+ /**
+ * ------------------------------------------------------------------------
+ * Class Definition
+ * ------------------------------------------------------------------------
+ */
+
+ var File = function (_BaseInput) {
+ inherits(File, _BaseInput);
+
+ function File($element, config) {
+ classCallCheck(this, File);
+
+ var _this = possibleConstructorReturn(this, Object.getPrototypeOf(File).call(this, $element, $.extend(true,
+ //{invalidComponentMatches: [Checkbox, Radio, Text, Textarea, Select, Switch]},
+ Default, config)));
+
+ _this.$bmdFormGroup.addClass(ClassName.IS_FILE);
+ return _this;
+ }
+
+ createClass(File, [{
+ key: 'dispose',
+ value: function dispose() {
+ get(Object.getPrototypeOf(File.prototype), 'dispose', this).call(this, DATA_KEY);
+ }
+ }, {
+ key: 'outerElement',
+
+
+ // ------------------------------------------------------------------------
+ // protected
+
+ // Demarcation element (e.g. first child of a form-group)
+ value: function outerElement() {
+ // label.file > input[type=file]
+ return this.$element.parent().closest('.' + ClassName.FILE);
+ }
+ }, {
+ key: 'rejectWithoutRequiredStructure',
+ value: function rejectWithoutRequiredStructure() {
+ // label.file > input[type=file]
+ Util.assert(this.$element, !this.outerElement().prop('tagName') === 'label', this.constructor.name + '\'s ' + Util.describe(this.$element) + ' parent element ' + Util.describe(this.outerElement()) + ' should be <label>.');
+ Util.assert(this.$element, !this.outerElement().hasClass(ClassName.FILE), this.constructor.name + '\'s ' + Util.describe(this.$element) + ' parent element ' + Util.describe(this.outerElement()) + ' should have class .' + ClassName.FILE + '.');
+ }
+ }, {
+ key: 'addFocusListener',
+ value: function addFocusListener() {
+ var _this2 = this;
+
+ this.$bmdFormGroup.on('focus', function () {
+ _this2.addFormGroupFocus();
+ }).on('blur', function () {
+ _this2.removeFormGroupFocus();
+ });
+ }
+ }, {
+ key: 'addChangeListener',
+ value: function addChangeListener() {
+ var _this3 = this;
+
+ // set the fileinput readonly field with the name of the file
+ this.$element.on('change', function () {
+ var value = '';
+ $.each(_this3.$element.files, function (i, file) {
+ value += file.name + ' , ';
+ });
+ value = value.substring(0, value.length - 2);
+ if (value) {
+ _this3.addIsFilled();
+ } else {
+ _this3.removeIsFilled();
+ }
+ _this3.$bmdFormGroup.find(Selector.FILENAMES).val(value);
+ });
+ }
+
+ // ------------------------------------------------------------------------
+ // private
+
+ // ------------------------------------------------------------------------
+ // static
+
+ }], [{
+ key: 'matches',
+ value: function matches($element) {
+ if ($element.attr('type') === 'file') {
+ return true;
+ }
+ return false;
+ }
+ }, {
+ key: 'rejectMatch',
+ value: function rejectMatch(component, $element) {
+ Util.assert(this.$element, this.matches($element), component + ' component element ' + Util.describe($element) + ' is invalid for type=\'file\'.');
+ }
+ }, {
+ key: '_jQueryInterface',
+ value: function _jQueryInterface(config) {
+ return this.each(function () {
+ var $element = $(this);
+ var data = $element.data(DATA_KEY);
+
+ if (!data) {
+ data = new File($element, config);
+ $element.data(DATA_KEY, data);
+ }
+ });
+ }
+ }]);
+ return File;
+ }(BaseInput);
+
+ /**
+ * ------------------------------------------------------------------------
+ * jQuery
+ * ------------------------------------------------------------------------
+ */
+
+
+ $.fn[JQUERY_NAME] = File._jQueryInterface;
+ $.fn[JQUERY_NAME].Constructor = File;
+ $.fn[JQUERY_NAME].noConflict = function () {
+ $.fn[JQUERY_NAME] = JQUERY_NO_CONFLICT;
+ return File._jQueryInterface;
+ };
+
+ return File;
+ }(jQuery);
+
+ var Radio = function ($) {
+
+ /**
+ * ------------------------------------------------------------------------
+ * Constants
+ * ------------------------------------------------------------------------
+ */
+ var NAME = 'radio';
+ var DATA_KEY = 'bmd.' + NAME;
+ var JQUERY_NAME = 'bmd' + (NAME.charAt(0).toUpperCase() + NAME.slice(1));
+ var JQUERY_NO_CONFLICT = $.fn[JQUERY_NAME];
+
+ var Default = {
+ template: '<span class=\'bmd-radio-outer-circle\'></span><span class=\'bmd-radio-inner-circle\'></span>'
+ };
+
+ /**
+ * ------------------------------------------------------------------------
+ * Class Definition
+ * ------------------------------------------------------------------------
+ */
+
+ var Radio = function (_BaseSelection) {
+ inherits(Radio, _BaseSelection);
+
+ function Radio($element, config) {
+ var properties = arguments.length <= 2 || arguments[2] === undefined ? { inputType: NAME, outerClass: NAME } : arguments[2];
+ classCallCheck(this, Radio);
+ return possibleConstructorReturn(this, Object.getPrototypeOf(Radio).call(this, $element, $.extend(true,
+ //{invalidComponentMatches: [Checkbox, File, Switch, Text]},
+ Default, config), properties));
+ }
+
+ createClass(Radio, [{
+ key: 'dispose',
+ value: function dispose() {
+ var dataKey = arguments.length <= 0 || arguments[0] === undefined ? DATA_KEY : arguments[0];
+
+ get(Object.getPrototypeOf(Radio.prototype), 'dispose', this).call(this, dataKey);
+ }
+ }], [{
+ key: 'matches',
+ value: function matches($element) {
+ // '.radio > label > input[type=radio]'
+ if ($element.attr('type') === 'radio') {
+ return true;
+ }
+ return false;
+ }
+ }, {
+ key: 'rejectMatch',
+ value: function rejectMatch(component, $element) {
+ Util.assert(this.$element, this.matches($element), component + ' component element ' + Util.describe($element) + ' is invalid for type=\'radio\'.');
+ }
+
+ // ------------------------------------------------------------------------
+ // protected
+
+ //decorateMarkup() {
+ // this.$element.after(this.config.template)
+ //}
+
+
+ // ------------------------------------------------------------------------
+ // private
+
+ // ------------------------------------------------------------------------
+ // static
+
+ }, {
+ key: '_jQueryInterface',
+ value: function _jQueryInterface(config) {
+ return this.each(function () {
+ var $element = $(this);
+ var data = $element.data(DATA_KEY);
+
+ if (!data) {
+ data = new Radio($element, config);
+ $element.data(DATA_KEY, data);
+ }
+ });
+ }
+ }]);
+ return Radio;
+ }(BaseSelection);
+
+ /**
+ * ------------------------------------------------------------------------
+ * jQuery
+ * ------------------------------------------------------------------------
+ */
+
+
+ $.fn[JQUERY_NAME] = Radio._jQueryInterface;
+ $.fn[JQUERY_NAME].Constructor = Radio;
+ $.fn[JQUERY_NAME].noConflict = function () {
+ $.fn[JQUERY_NAME] = JQUERY_NO_CONFLICT;
+ return Radio._jQueryInterface;
+ };
+
+ return Radio;
+ }(jQuery);
+
+ var RadioInline = function ($) {
+
+ /**
+ * ------------------------------------------------------------------------
+ * Constants
+ * ------------------------------------------------------------------------
+ */
+ var NAME = 'radioInline';
+ var DATA_KEY = 'bmd.' + NAME;
+ var JQUERY_NAME = 'bmd' + (NAME.charAt(0).toUpperCase() + NAME.slice(1));
+ var JQUERY_NO_CONFLICT = $.fn[JQUERY_NAME];
+
+ var Default = {
+ bmdFormGroup: {
+ create: false, // no bmd-form-group creation if form-group not present. It messes with the layout.
+ required: false
+ }
+ };
+
+ /**
+ * ------------------------------------------------------------------------
+ * Class Definition
+ * ------------------------------------------------------------------------
+ */
+
+ var RadioInline = function (_Radio) {
+ inherits(RadioInline, _Radio);
+
+ function RadioInline($element, config) {
+ var properties = arguments.length <= 2 || arguments[2] === undefined ? { inputType: 'radio', outerClass: 'radio-inline' } : arguments[2];
+ classCallCheck(this, RadioInline);
+ return possibleConstructorReturn(this, Object.getPrototypeOf(RadioInline).call(this, $element, $.extend(true, {}, Default, config), properties));
+ }
+
+ createClass(RadioInline, [{
+ key: 'dispose',
+ value: function dispose() {
+ get(Object.getPrototypeOf(RadioInline.prototype), 'dispose', this).call(this, DATA_KEY);
+ }
+
+ // ------------------------------------------------------------------------
+ // protected
+
+ // ------------------------------------------------------------------------
+ // protected
+
+ // ------------------------------------------------------------------------
+ // private
+
+ // ------------------------------------------------------------------------
+ // static
+
+ }], [{
+ key: '_jQueryInterface',
+ value: function _jQueryInterface(config) {
+ return this.each(function () {
+ var $element = $(this);
+ var data = $element.data(DATA_KEY);
+
+ if (!data) {
+ data = new RadioInline($element, config);
+ $element.data(DATA_KEY, data);
+ }
+ });
+ }
+ }]);
+ return RadioInline;
+ }(Radio);
+
+ /**
+ * ------------------------------------------------------------------------
+ * jQuery
+ * ------------------------------------------------------------------------
+ */
+
+
+ $.fn[JQUERY_NAME] = RadioInline._jQueryInterface;
+ $.fn[JQUERY_NAME].Constructor = RadioInline;
+ $.fn[JQUERY_NAME].noConflict = function () {
+ $.fn[JQUERY_NAME] = JQUERY_NO_CONFLICT;
+ return RadioInline._jQueryInterface;
+ };
+
+ return RadioInline;
+ }(jQuery);
+
+ var BaseFormControl = function ($) {
+
+ /**
+ * ------------------------------------------------------------------------
+ * Constants
+ * ------------------------------------------------------------------------
+ */
+ var Default = {
+ requiredClasses: ['form-control']
+ };
+
+ /**
+ * ------------------------------------------------------------------------
+ * Class Definition
+ * ------------------------------------------------------------------------
+ */
+
+ var BaseFormControl = function (_BaseInput) {
+ inherits(BaseFormControl, _BaseInput);
+
+ function BaseFormControl($element, config) {
+ classCallCheck(this, BaseFormControl);
+
+ // Initially mark as empty
+ var _this = possibleConstructorReturn(this, Object.getPrototypeOf(BaseFormControl).call(this, $element, $.extend(true, Default, config)));
+
+ if (_this.isEmpty()) {
+ _this.removeIsFilled();
+ }
+ return _this;
+ }
+
+ return BaseFormControl;
+ }(BaseInput);
+
+ return BaseFormControl;
+ }(jQuery);
+
+ var Select = function ($) {
+
+ /**
+ * ------------------------------------------------------------------------
+ * Constants
+ * ------------------------------------------------------------------------
+ */
+ var NAME = 'select';
+ var DATA_KEY = 'bmd.' + NAME;
+ var JQUERY_NAME = 'bmd' + (NAME.charAt(0).toUpperCase() + NAME.slice(1));
+ var JQUERY_NO_CONFLICT = $.fn[JQUERY_NAME];
+
+ var Default = {
+ requiredClasses: ['form-control||custom-select']
+ };
+
+ /**
+ * ------------------------------------------------------------------------
+ * Class Definition
+ * ------------------------------------------------------------------------
+ */
+
+ var Select = function (_BaseFormControl) {
+ inherits(Select, _BaseFormControl);
+
+ function Select($element, config) {
+ classCallCheck(this, Select);
+
+ // floating labels will cover the options, so trigger them to be above (if used)
+ var _this = possibleConstructorReturn(this, Object.getPrototypeOf(Select).call(this, $element, $.extend(true,
+ //{invalidComponentMatches: [Checkbox, File, Radio, Switch, Text, Textarea]},
+ Default, config)));
+
+ _this.addIsFilled();
+ return _this;
+ }
+
+ createClass(Select, [{
+ key: 'dispose',
+ value: function dispose() {
+ get(Object.getPrototypeOf(Select.prototype), 'dispose', this).call(this, DATA_KEY);
+ }
+ }], [{
+ key: 'matches',
+ value: function matches($element) {
+ if ($element.prop('tagName') === 'select') {
+ return true;
+ }
+ return false;
+ }
+ }, {
+ key: 'rejectMatch',
+ value: function rejectMatch(component, $element) {
+ Util.assert(this.$element, this.matches($element), component + ' component element ' + Util.describe($element) + ' is invalid for <select>.');
+ }
+
+ // ------------------------------------------------------------------------
+ // protected
+
+ // ------------------------------------------------------------------------
+ // private
+
+ // ------------------------------------------------------------------------
+ // static
+
+ }, {
+ key: '_jQueryInterface',
+ value: function _jQueryInterface(config) {
+ return this.each(function () {
+ var $element = $(this);
+ var data = $element.data(DATA_KEY);
+
+ if (!data) {
+ data = new Select($element, config);
+ $element.data(DATA_KEY, data);
+ }
+ });
+ }
+ }]);
+ return Select;
+ }(BaseFormControl);
+
+ /**
+ * ------------------------------------------------------------------------
+ * jQuery
+ * ------------------------------------------------------------------------
+ */
+
+
+ $.fn[JQUERY_NAME] = Select._jQueryInterface;
+ $.fn[JQUERY_NAME].Constructor = Select;
+ $.fn[JQUERY_NAME].noConflict = function () {
+ $.fn[JQUERY_NAME] = JQUERY_NO_CONFLICT;
+ return Select._jQueryInterface;
+ };
+
+ return Select;
+ }(jQuery);
+
+ var Switch = function ($) {
+
+ /**
+ * ------------------------------------------------------------------------
+ * Constants
+ * ------------------------------------------------------------------------
+ */
+ var NAME = 'switch';
+ var DATA_KEY = 'bmd.' + NAME;
+ var JQUERY_NAME = 'bmd' + (NAME.charAt(0).toUpperCase() + NAME.slice(1));
+ var JQUERY_NO_CONFLICT = $.fn[JQUERY_NAME];
+
+ var Default = {
+ template: '<span class=\'bmd-switch-track\'></span>'
+ };
+
+ /**
+ * ------------------------------------------------------------------------
+ * Class Definition
+ * ------------------------------------------------------------------------
+ */
+
+ var Switch = function (_Checkbox) {
+ inherits(Switch, _Checkbox);
+
+ function Switch($element, config) {
+ var properties = arguments.length <= 2 || arguments[2] === undefined ? { inputType: 'checkbox', outerClass: 'switch' } : arguments[2];
+ classCallCheck(this, Switch);
+ return possibleConstructorReturn(this, Object.getPrototypeOf(Switch).call(this, $element, $.extend(true, {}, Default, config), properties));
+ // selector: '.switch > label > input[type=checkbox]'
+ }
+
+ createClass(Switch, [{
+ key: 'dispose',
+ value: function dispose() {
+ get(Object.getPrototypeOf(Switch.prototype), 'dispose', this).call(this, DATA_KEY);
+ }
+
+ // ------------------------------------------------------------------------
+ // protected
+
+ // ------------------------------------------------------------------------
+ // private
+
+ // ------------------------------------------------------------------------
+ // static
+
+ }], [{
+ key: '_jQueryInterface',
+ value: function _jQueryInterface(config) {
+ return this.each(function () {
+ var $element = $(this);
+ var data = $element.data(DATA_KEY);
+
+ if (!data) {
+ data = new Switch($element, config);
+ $element.data(DATA_KEY, data);
+ }
+ });
+ }
+ }]);
+ return Switch;
+ }(Checkbox);
+
+ /**
+ * ------------------------------------------------------------------------
+ * jQuery
+ * ------------------------------------------------------------------------
+ */
+
+
+ $.fn[JQUERY_NAME] = Switch._jQueryInterface;
+ $.fn[JQUERY_NAME].Constructor = Switch;
+ $.fn[JQUERY_NAME].noConflict = function () {
+ $.fn[JQUERY_NAME] = JQUERY_NO_CONFLICT;
+ return Switch._jQueryInterface;
+ };
+
+ return Switch;
+ }(jQuery);
+
+ var Text = function ($) {
+
+ /**
+ * ------------------------------------------------------------------------
+ * Constants
+ * ------------------------------------------------------------------------
+ */
+ var NAME = 'text';
+ var DATA_KEY = 'bmd.' + NAME;
+ var JQUERY_NAME = 'bmd' + (NAME.charAt(0).toUpperCase() + NAME.slice(1));
+ var JQUERY_NO_CONFLICT = $.fn[JQUERY_NAME];
+
+ var Default = {};
+
+ /**
+ * ------------------------------------------------------------------------
+ * Class Definition
+ * ------------------------------------------------------------------------
+ */
+
+ var Text = function (_BaseFormControl) {
+ inherits(Text, _BaseFormControl);
+
+ function Text($element, config) {
+ classCallCheck(this, Text);
+ return possibleConstructorReturn(this, Object.getPrototypeOf(Text).call(this, $element, $.extend(true,
+ //{invalidComponentMatches: [Checkbox, File, Radio, Switch, Select, Textarea]},
+ Default, config)));
+ }
+
+ createClass(Text, [{
+ key: 'dispose',
+ value: function dispose() {
+ var dataKey = arguments.length <= 0 || arguments[0] === undefined ? DATA_KEY : arguments[0];
+
+ get(Object.getPrototypeOf(Text.prototype), 'dispose', this).call(this, dataKey);
+ }
+ }], [{
+ key: 'matches',
+ value: function matches($element) {
+ if ($element.attr('type') === 'text') {
+ return true;
+ }
+ return false;
+ }
+ }, {
+ key: 'rejectMatch',
+ value: function rejectMatch(component, $element) {
+ Util.assert(this.$element, this.matches($element), component + ' component element ' + Util.describe($element) + ' is invalid for type=\'text\'.');
+ }
+
+ // ------------------------------------------------------------------------
+ // protected
+
+ // ------------------------------------------------------------------------
+ // private
+
+ // ------------------------------------------------------------------------
+ // static
+
+ }, {
+ key: '_jQueryInterface',
+ value: function _jQueryInterface(config) {
+ return this.each(function () {
+ var $element = $(this);
+ var data = $element.data(DATA_KEY);
+
+ if (!data) {
+ data = new Text($element, config);
+ $element.data(DATA_KEY, data);
+ }
+ });
+ }
+ }]);
+ return Text;
+ }(BaseFormControl);
+
+ /**
+ * ------------------------------------------------------------------------
+ * jQuery
+ * ------------------------------------------------------------------------
+ */
+
+
+ $.fn[JQUERY_NAME] = Text._jQueryInterface;
+ $.fn[JQUERY_NAME].Constructor = Text;
+ $.fn[JQUERY_NAME].noConflict = function () {
+ $.fn[JQUERY_NAME] = JQUERY_NO_CONFLICT;
+ return Text._jQueryInterface;
+ };
+
+ return Text;
+ }(jQuery);
+
+ var Textarea = function ($) {
+
+ /**
+ * ------------------------------------------------------------------------
+ * Constants
+ * ------------------------------------------------------------------------
+ */
+ var NAME = 'textarea';
+ var DATA_KEY = 'bmd.' + NAME;
+ var JQUERY_NAME = 'bmd' + (NAME.charAt(0).toUpperCase() + NAME.slice(1));
+ var JQUERY_NO_CONFLICT = $.fn[JQUERY_NAME];
+
+ var Default = {};
+
+ /**
+ * ------------------------------------------------------------------------
+ * Class Definition
+ * ------------------------------------------------------------------------
+ */
+
+ var Textarea = function (_BaseFormControl) {
+ inherits(Textarea, _BaseFormControl);
+
+ function Textarea($element, config) {
+ classCallCheck(this, Textarea);
+ return possibleConstructorReturn(this, Object.getPrototypeOf(Textarea).call(this, $element, $.extend(true,
+ //{invalidComponentMatches: [Checkbox, File, Radio, Text, Select, Switch]},
+ Default, config)));
+ }
+
+ createClass(Textarea, [{
+ key: 'dispose',
+ value: function dispose() {
+ get(Object.getPrototypeOf(Textarea.prototype), 'dispose', this).call(this, DATA_KEY);
+ }
+ }], [{
+ key: 'matches',
+ value: function matches($element) {
+ if ($element.prop('tagName') === 'textarea') {
+ return true;
+ }
+ return false;
+ }
+ }, {
+ key: 'rejectMatch',
+ value: function rejectMatch(component, $element) {
+ Util.assert(this.$element, this.matches($element), component + ' component element ' + Util.describe($element) + ' is invalid for <textarea>.');
+ }
+
+ // ------------------------------------------------------------------------
+ // protected
+
+ // ------------------------------------------------------------------------
+ // private
+
+ // ------------------------------------------------------------------------
+ // static
+
+ }, {
+ key: '_jQueryInterface',
+ value: function _jQueryInterface(config) {
+ return this.each(function () {
+ var $element = $(this);
+ var data = $element.data(DATA_KEY);
+
+ if (!data) {
+ data = new Textarea($element, config);
+ $element.data(DATA_KEY, data);
+ }
+ });
+ }
+ }]);
+ return Textarea;
+ }(BaseFormControl);
+
+ /**
+ * ------------------------------------------------------------------------
+ * jQuery
+ * ------------------------------------------------------------------------
+ */
+
+
+ $.fn[JQUERY_NAME] = Textarea._jQueryInterface;
+ $.fn[JQUERY_NAME].Constructor = Textarea;
+ $.fn[JQUERY_NAME].noConflict = function () {
+ $.fn[JQUERY_NAME] = JQUERY_NO_CONFLICT;
+ return Textarea._jQueryInterface;
+ };
+
+ return Textarea;
+ }(jQuery);
+
+ var BaseLayout = function ($) {
+
+ var ClassName = {
+ CANVAS: 'bmd-layout-canvas',
+ CONTAINER: 'bmd-layout-container',
+ BACKDROP: 'bmd-layout-backdrop'
+ };
+
+ var Selector = {
+ CANVAS: '.' + ClassName.CANVAS,
+ CONTAINER: '.' + ClassName.CONTAINER,
+ BACKDROP: '.' + ClassName.BACKDROP
+ };
+
+ var Default = {
+ canvas: {
+ create: true,
+ required: true,
+ template: '<div class="' + ClassName.CANVAS + '"></div>'
+ },
+ backdrop: {
+ create: true,
+ required: true,
+ template: '<div class="' + ClassName.BACKDROP + '"></div>'
+ }
+ };
+
+ /**
+ * ------------------------------------------------------------------------
+ * Class Definition
+ * ------------------------------------------------------------------------
+ */
+
+ var BaseLayout = function (_Base) {
+ inherits(BaseLayout, _Base);
+
+ function BaseLayout($element, config) {
+ var properties = arguments.length <= 2 || arguments[2] === undefined ? {} : arguments[2];
+ classCallCheck(this, BaseLayout);
+
+ var _this = possibleConstructorReturn(this, Object.getPrototypeOf(BaseLayout).call(this, $element, $.extend(true, {}, Default, config), properties));
+
+ _this.$container = _this.findContainer(true);
+ _this.$backdrop = _this.resolveBackdrop();
+ _this.resolveCanvas();
+ return _this;
+ }
+
+ createClass(BaseLayout, [{
+ key: 'dispose',
+ value: function dispose(dataKey) {
+ get(Object.getPrototypeOf(BaseLayout.prototype), 'dispose', this).call(this, dataKey);
+ this.$container = null;
+ this.$backdrop = null;
+ }
+
+ // ------------------------------------------------------------------------
+ // protected
+
+ // Will wrap container in bmd-layout-canvas if necessary
+
+ }, {
+ key: 'resolveCanvas',
+ value: function resolveCanvas() {
+ var bd = this.findCanvas(false);
+ if (bd === undefined || bd.length === 0) {
+ if (this.config.canvas.create) {
+ this.$container.wrap(this.config.canvas.template);
+ }
+
+ bd = this.findCanvas(this.config.canvas.required);
+ }
+
+ return bd;
+ }
+
+ // Find closest bmd-layout-container based on the given context
+
+ }, {
+ key: 'findCanvas',
+ value: function findCanvas() {
+ var raiseError = arguments.length <= 0 || arguments[0] === undefined ? true : arguments[0];
+ var context = arguments.length <= 1 || arguments[1] === undefined ? this.$container : arguments[1];
+
+ var canvas = context.closest(Selector.CANVAS);
+ if (canvas.length === 0 && raiseError) {
+ $.error('Failed to find ' + Selector.CANVAS + ' for ' + Util.describe(context));
+ }
+ return canvas;
+ }
+
+ // Will add bmd-layout-backdrop to bmd-layout-container if necessary
+
+ }, {
+ key: 'resolveBackdrop',
+ value: function resolveBackdrop() {
+ var bd = this.findBackdrop(false);
+ if (bd === undefined || bd.length === 0) {
+ if (this.config.backdrop.create) {
+ this.$container.append(this.config.backdrop.template);
+ }
+
+ bd = this.findBackdrop(this.config.backdrop.required);
+ }
+
+ return bd;
+ }
+
+ // Find closest bmd-layout-container based on the given context
+
+ }, {
+ key: 'findBackdrop',
+ value: function findBackdrop() {
+ var raiseError = arguments.length <= 0 || arguments[0] === undefined ? true : arguments[0];
+ var context = arguments.length <= 1 || arguments[1] === undefined ? this.$container : arguments[1];
+
+ var backdrop = context.find('> ' + Selector.BACKDROP);
+ if (backdrop.length === 0 && raiseError) {
+ $.error('Failed to find ' + Selector.BACKDROP + ' for ' + Util.describe(context));
+ }
+ return backdrop;
+ }
+
+ // Find closest bmd-layout-container based on the given context
+
+ }, {
+ key: 'findContainer',
+ value: function findContainer() {
+ var raiseError = arguments.length <= 0 || arguments[0] === undefined ? true : arguments[0];
+ var context = arguments.length <= 1 || arguments[1] === undefined ? this.$element : arguments[1];
+
+ var container = context.closest(Selector.CONTAINER);
+ if (container.length === 0 && raiseError) {
+ $.error('Failed to find ' + Selector.CONTAINER + ' for ' + Util.describe(context));
+ }
+ return container;
+ }
+
+ // ------------------------------------------------------------------------
+ // private
+
+ // ------------------------------------------------------------------------
+ // static
+
+ }]);
+ return BaseLayout;
+ }(Base);
+
+ return BaseLayout;
+ }(jQuery);
+
+ var Drawer = function ($) {
+
+ /**
+ * ------------------------------------------------------------------------
+ * Constants
+ * ------------------------------------------------------------------------
+ */
+ var NAME = 'drawer';
+ var DATA_KEY = 'bmd.' + NAME;
+ var JQUERY_NAME = 'bmd' + (NAME.charAt(0).toUpperCase() + NAME.slice(1));
+ var JQUERY_NO_CONFLICT = $.fn[JQUERY_NAME];
+
+ var Keycodes = {
+ ESCAPE: 27
+ //ENTER: 13,
+ //SPACE: 32
+ };
+
+ var ClassName = {
+ IN: 'in',
+ DRAWER_IN: 'bmd-drawer-in',
+ DRAWER_OUT: 'bmd-drawer-out',
+ DRAWER: 'bmd-layout-drawer',
+ CONTAINER: 'bmd-layout-container'
+ };
+
+ var Default = {
+ focusSelector: 'a, button, input'
+ };
+
+ /**
+ * ------------------------------------------------------------------------
+ * Class Definition
+ * ------------------------------------------------------------------------
+ */
+
+ var Drawer = function (_BaseLayout) {
+ inherits(Drawer, _BaseLayout);
+
+ // $element is expected to be the trigger
+ // i.e. <button class="btn bmd-btn-icon" for="search" data-toggle="drawer" data-target="#my-side-nav-drawer" aria-expanded="false" aria-controls="my-side-nav-drawer">
+ function Drawer($element, config) {
+ classCallCheck(this, Drawer);
+
+ var _this = possibleConstructorReturn(this, Object.getPrototypeOf(Drawer).call(this, $element, $.extend(true, {}, Default, config)));
+
+ _this.$toggles = $('[data-toggle="drawer"][href="#' + _this.$element[0].id + '"], [data-toggle="drawer"][data-target="#' + _this.$element[0].id + '"]');
+
+ _this._addAria();
+
+ // click or escape on the backdrop closes the drawer
+ _this.$backdrop.keydown(function (ev) {
+ if (ev.which === Keycodes.ESCAPE) {
+ _this.hide();
+ }
+ }).click(function () {
+ _this.hide();
+ });
+
+ // escape on the drawer closes it
+ _this.$element.keydown(function (ev) {
+ if (ev.which === Keycodes.ESCAPE) {
+ _this.hide();
+ }
+ });
+
+ // any toggle button clicks
+ _this.$toggles.click(function () {
+ _this.toggle();
+ });
+ return _this;
+ }
+
+ createClass(Drawer, [{
+ key: 'dispose',
+ value: function dispose() {
+ get(Object.getPrototypeOf(Drawer.prototype), 'dispose', this).call(this, DATA_KEY);
+ this.$toggles = null;
+ }
+ }, {
+ key: 'toggle',
+ value: function toggle() {
+ if (this._isOpen()) {
+ this.hide();
+ } else {
+ this.show();
+ }
+ }
+ }, {
+ key: 'show',
+ value: function show() {
+ if (this._isForcedClosed() || this._isOpen()) {
+ return;
+ }
+
+ this.$toggles.attr('aria-expanded', true);
+ this.$element.attr('aria-expanded', true);
+ this.$element.attr('aria-hidden', false);
+
+ // focus on the first focusable item
+ var $focusOn = this.$element.find(this.config.focusSelector);
+ if ($focusOn.length > 0) {
+ $focusOn.first().focus();
+ }
+
+ this.$container.addClass(ClassName.DRAWER_IN);
+ // backdrop is responsively styled based on bmd-drawer-overlay, therefore style is none of our concern, simply add the marker class and let the scss determine if it should be displayed or not.
+ this.$backdrop.addClass(ClassName.IN);
+ }
+ }, {
+ key: 'hide',
+ value: function hide() {
+ if (!this._isOpen()) {
+ return;
+ }
+
+ this.$toggles.attr('aria-expanded', false);
+ this.$element.attr('aria-expanded', false);
+ this.$element.attr('aria-hidden', true);
+
+ this.$container.removeClass(ClassName.DRAWER_IN);
+ this.$backdrop.removeClass(ClassName.IN);
+ }
+
+ // ------------------------------------------------------------------------
+ // private
+
+ }, {
+ key: '_isOpen',
+ value: function _isOpen() {
+ return this.$container.hasClass(ClassName.DRAWER_IN);
+ }
+ }, {
+ key: '_isForcedClosed',
+ value: function _isForcedClosed() {
+ return this.$container.hasClass(ClassName.DRAWER_OUT);
+ }
+ }, {
+ key: '_addAria',
+ value: function _addAria() {
+ var isOpen = this._isOpen();
+ this.$element.attr('aria-expanded', isOpen);
+ this.$element.attr('aria-hidden', isOpen);
+
+ if (this.$toggles.length) {
+ this.$toggles.attr('aria-expanded', isOpen);
+ }
+ }
+
+ // ------------------------------------------------------------------------
+ // static
+
+ }], [{
+ key: '_jQueryInterface',
+ value: function _jQueryInterface(config) {
+ return this.each(function () {
+ var $element = $(this);
+ var data = $element.data(DATA_KEY);
+
+ if (!data) {
+ data = new Drawer($element, config);
+ $element.data(DATA_KEY, data);
+ }
+ });
+ }
+ }]);
+ return Drawer;
+ }(BaseLayout);
+
+ /**
+ * ------------------------------------------------------------------------
+ * jQuery
+ * ------------------------------------------------------------------------
+ */
+
+
+ $.fn[JQUERY_NAME] = Drawer._jQueryInterface;
+ $.fn[JQUERY_NAME].Constructor = Drawer;
+ $.fn[JQUERY_NAME].noConflict = function () {
+ $.fn[JQUERY_NAME] = JQUERY_NO_CONFLICT;
+ return Drawer._jQueryInterface;
+ };
+
+ return Drawer;
+ }(jQuery);
+
+ var Ripples = function ($) {
+
+ /**
+ * ------------------------------------------------------------------------
+ * Constants
+ * ------------------------------------------------------------------------
+ */
+ var NAME = 'ripples';
+ var DATA_KEY = 'bmd.' + NAME;
+ var JQUERY_NAME = 'bmd' + (NAME.charAt(0).toUpperCase() + NAME.slice(1));
+ var JQUERY_NO_CONFLICT = $.fn[JQUERY_NAME];
+
+ var ClassName = {
+ CONTAINER: 'ripple-container',
+ DECORATOR: 'ripple-decorator'
+ };
+
+ var Selector = {
+ CONTAINER: '.' + ClassName.CONTAINER,
+ DECORATOR: '.' + ClassName.DECORATOR //,
+ };
+
+ var Default = {
+ container: {
+ template: '<div class=\'' + ClassName.CONTAINER + '\'></div>'
+ },
+ decorator: {
+ template: '<div class=\'' + ClassName.DECORATOR + '\'></div>'
+ },
+ trigger: {
+ start: 'mousedown touchstart',
+ end: 'mouseup mouseleave touchend'
+ },
+ touchUserAgentRegex: /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i,
+ duration: 500
+ };
+
+ /**
+ * ------------------------------------------------------------------------
+ * Class Definition
+ * ------------------------------------------------------------------------
+ */
+
+ var Ripples = function () {
+ function Ripples($element, config) {
+ var _this = this;
+
+ classCallCheck(this, Ripples);
+
+ this.$element = $element;
+
+ //console.log(`Adding ripples to ${Util.describe(this.$element)}`) // eslint-disable-line no-console
+ this.config = $.extend(true, {}, Default, config);
+
+ // attach initial listener
+ this.$element.on(this.config.trigger.start, function (event) {
+ _this._onStartRipple(event);
+ });
+ }
+
+ createClass(Ripples, [{
+ key: 'dispose',
+ value: function dispose() {
+ this.$element.data(DATA_KEY, null);
+ this.$element = null;
+ this.$container = null;
+ this.$decorator = null;
+ this.config = null;
+ }
+
+ // ------------------------------------------------------------------------
+ // private
+
+ }, {
+ key: '_onStartRipple',
+ value: function _onStartRipple(event) {
+ var _this2 = this;
+
+ // Verify if the user is just touching on a device and return if so
+ if (this._isTouch() && event.type === 'mousedown') {
+ return;
+ }
+
+ // Find or create the ripple container element
+ this._findOrCreateContainer();
+
+ // Get relY and relX positions of the container element
+ var relY = this._getRelY(event);
+ var relX = this._getRelX(event);
+
+ // If relY and/or relX are false, return the event
+ if (!relY && !relX) {
+ return;
+ }
+
+ // set the location and color each time (even if element is cached)
+ this.$decorator.css({
+ left: relX,
+ top: relY,
+ 'background-color': this._getRipplesColor()
+ });
+
+ // Make sure the ripple has the styles applied (ugly hack but it works)
+ this._forceStyleApplication();
+
+ // Turn on the ripple animation
+ this.rippleOn();
+
+ // Call the rippleEnd function when the transition 'on' ends
+ setTimeout(function () {
+ _this2.rippleEnd();
+ }, this.config.duration);
+
+ // Detect when the user leaves the element to cleanup if not already done?
+ this.$element.on(this.config.trigger.end, function () {
+ if (_this2.$decorator) {
+ // guard against race condition/mouse attack
+ _this2.$decorator.data('mousedown', 'off');
+
+ if (_this2.$decorator.data('animating') === 'off') {
+ _this2.rippleOut();
+ }
+ }
+ });
+ }
+ }, {
+ key: '_findOrCreateContainer',
+ value: function _findOrCreateContainer() {
+ if (!this.$container || !this.$container.length > 0) {
+ this.$element.append(this.config.container.template);
+ this.$container = this.$element.find(Selector.CONTAINER);
+ }
+
+ // always add the rippleElement, it is always removed
+ this.$container.append(this.config.decorator.template);
+ this.$decorator = this.$container.find(Selector.DECORATOR);
+ }
+
+ // Make sure the ripple has the styles applied (ugly hack but it works)
+
+ }, {
+ key: '_forceStyleApplication',
+ value: function _forceStyleApplication() {
+ return window.getComputedStyle(this.$decorator[0]).opacity;
+ }
+
+ /**
+ * Get the relX
+ */
+
+ }, {
+ key: '_getRelX',
+ value: function _getRelX(event) {
+ var wrapperOffset = this.$container.offset();
+
+ var result = null;
+ if (!this._isTouch()) {
+ // Get the mouse position relative to the ripple wrapper
+ result = event.pageX - wrapperOffset.left;
+ } else {
+ // Make sure the user is using only one finger and then get the touch
+ // position relative to the ripple wrapper
+ event = event.originalEvent;
+
+ if (event.touches.length === 1) {
+ result = event.touches[0].pageX - wrapperOffset.left;
+ } else {
+ result = false;
+ }
+ }
+
+ return result;
+ }
+
+ /**
+ * Get the relY
+ */
+
+ }, {
+ key: '_getRelY',
+ value: function _getRelY(event) {
+ var containerOffset = this.$container.offset();
+ var result = null;
+
+ if (!this._isTouch()) {
+ /**
+ * Get the mouse position relative to the ripple wrapper
+ */
+ result = event.pageY - containerOffset.top;
+ } else {
+ /**
+ * Make sure the user is using only one finger and then get the touch
+ * position relative to the ripple wrapper
+ */
+ event = event.originalEvent;
+
+ if (event.touches.length === 1) {
+ result = event.touches[0].pageY - containerOffset.top;
+ } else {
+ result = false;
+ }
+ }
+
+ return result;
+ }
+
+ /**
+ * Get the ripple color
+ */
+
+ }, {
+ key: '_getRipplesColor',
+ value: function _getRipplesColor() {
+ var color = this.$element.data('ripple-color') ? this.$element.data('ripple-color') : window.getComputedStyle(this.$element[0]).color;
+ return color;
+ }
+
+ /**
+ * Verify if the client is using a mobile device
+ */
+
+ }, {
+ key: '_isTouch',
+ value: function _isTouch() {
+ return this.config.touchUserAgentRegex.test(navigator.userAgent);
+ }
+
+ /**
+ * End the animation of the ripple
+ */
+
+ }, {
+ key: 'rippleEnd',
+ value: function rippleEnd() {
+ if (this.$decorator) {
+ // guard against race condition/mouse attack
+ this.$decorator.data('animating', 'off');
+
+ if (this.$decorator.data('mousedown') === 'off') {
+ this.rippleOut(this.$decorator);
+ }
+ }
+ }
+
+ /**
+ * Turn off the ripple effect
+ */
+
+ }, {
+ key: 'rippleOut',
+ value: function rippleOut() {
+ var _this3 = this;
+
+ this.$decorator.off();
+
+ if (Util.transitionEndSupported()) {
+ this.$decorator.addClass('ripple-out');
+ } else {
+ this.$decorator.animate({ opacity: 0 }, 100, function () {
+ _this3.$decorator.trigger('transitionend');
+ });
+ }
+
+ this.$decorator.on(Util.transitionEndSelector(), function () {
+ if (_this3.$decorator) {
+ _this3.$decorator.remove();
+ _this3.$decorator = null;
+ }
+ });
+ }
+
+ /**
+ * Turn on the ripple effect
+ */
+
+ }, {
+ key: 'rippleOn',
+ value: function rippleOn() {
+ var _this4 = this;
+
+ var size = this._getNewSize();
+
+ if (Util.transitionEndSupported()) {
+ this.$decorator.css({
+ '-ms-transform': 'scale(' + size + ')',
+ '-moz-transform': 'scale(' + size + ')',
+ '-webkit-transform': 'scale(' + size + ')',
+ transform: 'scale(' + size + ')'
+ }).addClass('ripple-on').data('animating', 'on').data('mousedown', 'on');
+ } else {
+ this.$decorator.animate({
+ width: Math.max(this.$element.outerWidth(), this.$element.outerHeight()) * 2,
+ height: Math.max(this.$element.outerWidth(), this.$element.outerHeight()) * 2,
+ 'margin-left': Math.max(this.$element.outerWidth(), this.$element.outerHeight()) * -1,
+ 'margin-top': Math.max(this.$element.outerWidth(), this.$element.outerHeight()) * -1,
+ opacity: 0.2
+ }, this.config.duration, function () {
+ _this4.$decorator.trigger('transitionend');
+ });
+ }
+ }
+
+ /**
+ * Get the new size based on the element height/width and the ripple width
+ */
+
+ }, {
+ key: '_getNewSize',
+ value: function _getNewSize() {
+ return Math.max(this.$element.outerWidth(), this.$element.outerHeight()) / this.$decorator.outerWidth() * 2.5;
+ }
+
+ // ------------------------------------------------------------------------
+ // static
+
+ }], [{
+ key: '_jQueryInterface',
+ value: function _jQueryInterface(config) {
+ return this.each(function () {
+ var $element = $(this);
+ var data = $element.data(DATA_KEY);
+
+ if (!data) {
+ data = new Ripples($element, config);
+ $element.data(DATA_KEY, data);
+ }
+ });
+ }
+ }]);
+ return Ripples;
+ }();
+
+ /**
+ * ------------------------------------------------------------------------
+ * jQuery
+ * ------------------------------------------------------------------------
+ */
+
+
+ $.fn[JQUERY_NAME] = Ripples._jQueryInterface;
+ $.fn[JQUERY_NAME].Constructor = Ripples;
+ $.fn[JQUERY_NAME].noConflict = function () {
+ $.fn[JQUERY_NAME] = JQUERY_NO_CONFLICT;
+ return Ripples._jQueryInterface;
+ };
+
+ return Ripples;
+ }(jQuery);
+
+ var Autofill = function ($) {
+
+ /**
+ * ------------------------------------------------------------------------
+ * Constants
+ * ------------------------------------------------------------------------
+ */
+ var NAME = 'autofill';
+ var DATA_KEY = 'bmd.' + NAME;
+ var JQUERY_NAME = 'bmd' + (NAME.charAt(0).toUpperCase() + NAME.slice(1));
+ var JQUERY_NO_CONFLICT = $.fn[JQUERY_NAME];
+
+ var Default = {};
+
+ /**
+ * ------------------------------------------------------------------------
+ * Class Definition
+ * ------------------------------------------------------------------------
+ */
+
+ var Autofill = function (_Base) {
+ inherits(Autofill, _Base);
+
+ function Autofill($element, config) {
+ classCallCheck(this, Autofill);
+
+ var _this = possibleConstructorReturn(this, Object.getPrototypeOf(Autofill).call(this, $element, $.extend(true, {}, Default, config)));
+
+ _this._watchLoading();
+ _this._attachEventHandlers();
+ return _this;
+ }
+
+ createClass(Autofill, [{
+ key: 'dispose',
+ value: function dispose() {
+ get(Object.getPrototypeOf(Autofill.prototype), 'dispose', this).call(this, DATA_KEY);
+ }
+
+ // ------------------------------------------------------------------------
+ // private
+
+ }, {
+ key: '_watchLoading',
+ value: function _watchLoading() {
+ var _this2 = this;
+
+ // After 10 seconds we are quite sure all the needed inputs are autofilled then we can stop checking them
+ setTimeout(function () {
+ clearInterval(_this2._onLoading);
+ }, 10000);
+ }
+
+ // This part of code will detect autofill when the page is loading (username and password inputs for example)
+
+ }, {
+ key: '_onLoading',
+ value: function _onLoading() {
+ setInterval(function () {
+ $('input[type!=checkbox]').each(function (index, element) {
+ var $element = $(element);
+ if ($element.val() && $element.val() !== $element.attr('value')) {
+ $element.trigger('change');
+ }
+ });
+ }, 100);
+ }
+ }, {
+ key: '_attachEventHandlers',
+ value: function _attachEventHandlers() {
+ // Listen on inputs of the focused form
+ // (because user can select from the autofill dropdown only when the input has focus)
+ var focused = null;
+ $(document).on('focus', 'input', function (event) {
+ var $inputs = $(event.currentTarget).closest('form').find('input').not('[type=file]');
+ focused = setInterval(function () {
+ $inputs.each(function (index, element) {
+ var $element = $(element);
+ if ($element.val() !== $element.attr('value')) {
+ $element.trigger('change');
+ }
+ });
+ }, 100);
+ }).on('blur', '.form-group input', function () {
+ clearInterval(focused);
+ });
+ }
+
+ // ------------------------------------------------------------------------
+ // static
+
+ }], [{
+ key: '_jQueryInterface',
+ value: function _jQueryInterface(config) {
+ return this.each(function () {
+ var $element = $(this);
+ var data = $element.data(DATA_KEY);
+
+ if (!data) {
+ data = new Autofill($element, config);
+ $element.data(DATA_KEY, data);
+ }
+ });
+ }
+ }]);
+ return Autofill;
+ }(Base);
+
+ /**
+ * ------------------------------------------------------------------------
+ * jQuery
+ * ------------------------------------------------------------------------
+ */
+
+
+ $.fn[JQUERY_NAME] = Autofill._jQueryInterface;
+ $.fn[JQUERY_NAME].Constructor = Autofill;
+ $.fn[JQUERY_NAME].noConflict = function () {
+ $.fn[JQUERY_NAME] = JQUERY_NO_CONFLICT;
+ return Autofill._jQueryInterface;
+ };
+
+ return Autofill;
+ }(jQuery);
+
+ /**
+ * $.bootstrapMaterialDesign(config) is a macro class to configure the components generally
+ * used in Bootstrap Material Design. You may pass overrides to the configurations
+ * which will be passed into each component, or you may omit use of this class and
+ * configure each component separately.
+ */
+ var BootstrapMaterialDesign = function ($) {
+
+ /**
+ * ------------------------------------------------------------------------
+ * Constants
+ * ------------------------------------------------------------------------
+ */
+ var NAME = 'bootstrapMaterialDesign';
+ var DATA_KEY = 'bmd.' + NAME;
+ var JQUERY_NAME = NAME; // retain this full name since it is long enough not to conflict
+ var JQUERY_NO_CONFLICT = $.fn[JQUERY_NAME];
+
+ /**
+ * Global configuration:
+ * The global configuration hash will be mixed in to each components' config.
+ * e.g. calling $.bootstrapMaterialDesign({global: { validate: true } }) would pass `validate:true` to every component
+ *
+ *
+ * Component configuration:
+ * - selector: may be a string or an array. Any array will be joined with a comma to generate the selector
+ * - disable any component by defining it as false with an override. e.g. $.bootstrapMaterialDesign({ autofill: false })
+ *
+ * @see each individual component for more configuration settings.
+ */
+ var Default = {
+ global: {
+ validate: false,
+ label: {
+ className: 'bmd-label-static' // default style of label to be used if not specified in the html markup
+ }
+ },
+ autofill: {
+ selector: 'body'
+ },
+ checkbox: {
+ selector: '.checkbox > label > input[type=checkbox]'
+ },
+ checkboxInline: {
+ selector: 'label.checkbox-inline > input[type=checkbox]'
+ },
+ collapseInline: {
+ selector: '.bmd-collapse-inline [data-toggle="collapse"]'
+ },
+ drawer: {
+ selector: '.bmd-layout-drawer'
+ },
+ file: {
+ selector: 'input[type=file]'
+ },
+ radio: {
+ selector: '.radio > label > input[type=radio]'
+ },
+ radioInline: {
+ selector: 'label.radio-inline > input[type=radio]'
+ },
+ ripples: {
+ //selector: ['.btn:not(.btn-link):not(.ripple-none)'] // testing only
+ selector: ['.btn:not(.btn-link):not(.ripple-none)', '.card-image:not(.ripple-none)', '.navbar a:not(.ripple-none)', '.dropdown-menu a:not(.ripple-none)', '.nav-tabs a:not(.ripple-none)', '.pagination li:not(.active):not(.disabled) a:not(.ripple-none)', '.ripple' // generic marker class to add ripple to elements
+ ]
+ },
+ select: {
+ selector: ['select']
+ },
+ switch: {
+ selector: '.switch > label > input[type=checkbox]'
+ },
+ text: {
+ // omit inputs we have specialized components to handle - we need to match text, email, etc. The easiest way to do this appears to be just omit the ones we don't want to match and let the rest fall through to this.
+ selector: ['input:not([type=hidden]):not([type=checkbox]):not([type=radio]):not([type=file]):not([type=button]):not([type=submit]):not([type=reset])']
+ },
+ textarea: {
+ selector: ['textarea']
+ },
+ arrive: true,
+ // create an ordered component list for instantiation
+ instantiation: ['ripples', 'checkbox', 'checkboxInline', 'collapseInline', 'drawer',
+ //'file',
+ 'radio', 'radioInline', 'switch', 'text', 'textarea', 'select', 'autofill']
+ };
+
+ /**
+ * ------------------------------------------------------------------------
+ * Class Definition
+ * ------------------------------------------------------------------------
+ */
+
+ var BootstrapMaterialDesign = function () {
+ function BootstrapMaterialDesign($element, config) {
+ var _this = this;
+
+ classCallCheck(this, BootstrapMaterialDesign);
+
+ this.$element = $element;
+ this.config = $.extend(true, {}, Default, config);
+ var $document = $(document);
+
+ var _iteratorNormalCompletion = true;
+ var _didIteratorError = false;
+ var _iteratorError = undefined;
+
+ try {
+ var _loop = function _loop() {
+ var component = _step.value;
+
+
+ // the component's config fragment is passed in directly, allowing users to override
+ var componentConfig = _this.config[component];
+
+ // check to make sure component config is enabled (not `false`)
+ if (componentConfig) {
+ (function () {
+
+ // assemble the selector as it may be an array
+ var selector = _this._resolveSelector(componentConfig);
+
+ // mix in global options
+ componentConfig = $.extend(true, {}, _this.config.global, componentConfig);
+
+ // create the jquery fn name e.g. 'bmdText' for 'text'
+ var componentName = '' + (component.charAt(0).toUpperCase() + component.slice(1));
+ var jqueryFn = 'bmd' + componentName;
+
+ try {
+ // safely instantiate component on selector elements with config, report errors and move on.
+ // console.debug(`instantiating: $('${selector}')[${jqueryFn}](${componentConfig})`) // eslint-disable-line no-console
+ $(selector)[jqueryFn](componentConfig);
+
+ // add to arrive if present and enabled
+ if (document.arrive && _this.config.arrive) {
+ $document.arrive(selector, function () {
+ // eslint-disable-line no-loop-func
+ $(this)[jqueryFn](componentConfig);
+ });
+ }
+ } catch (e) {
+ var message = 'Failed to instantiate component: $(\'' + selector + '\')[' + jqueryFn + '](' + componentConfig + ')';
+ console.error(message, e, '\nSelected elements: ', $(selector)); // eslint-disable-line no-console
+ throw e;
+ }
+ })();
+ }
+ };
+
+ for (var _iterator = this.config.instantiation[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
+ _loop();
+ }
+ } catch (err) {
+ _didIteratorError = true;
+ _iteratorError = err;
+ } finally {
+ try {
+ if (!_iteratorNormalCompletion && _iterator.return) {
+ _iterator.return();
+ }
+ } finally {
+ if (_didIteratorError) {
+ throw _iteratorError;
+ }
+ }
+ }
+ }
+
+ createClass(BootstrapMaterialDesign, [{
+ key: 'dispose',
+ value: function dispose() {
+ this.$element.data(DATA_KEY, null);
+ this.$element = null;
+ this.config = null;
+ }
+
+ // ------------------------------------------------------------------------
+ // private
+
+ }, {
+ key: '_resolveSelector',
+ value: function _resolveSelector(componentConfig) {
+ var selector = componentConfig.selector;
+ if (Array.isArray(selector)) {
+ selector = selector.join(', ');
+ }
+
+ return selector;
+ }
+
+ // ------------------------------------------------------------------------
+ // static
+
+ }], [{
+ key: '_jQueryInterface',
+ value: function _jQueryInterface(config) {
+ return this.each(function () {
+ var $element = $(this);
+ var data = $element.data(DATA_KEY);
+
+ if (!data) {
+ data = new BootstrapMaterialDesign($element, config);
+ $element.data(DATA_KEY, data);
+ }
+ });
+ }
+ }]);
+ return BootstrapMaterialDesign;
+ }();
+
+ /**
+ * ------------------------------------------------------------------------
+ * jQuery
+ * ------------------------------------------------------------------------
+ */
+
+
+ $.fn[JQUERY_NAME] = BootstrapMaterialDesign._jQueryInterface;
+ $.fn[JQUERY_NAME].Constructor = BootstrapMaterialDesign;
+ $.fn[JQUERY_NAME].noConflict = function () {
+ $.fn[JQUERY_NAME] = JQUERY_NO_CONFLICT;
+ return BootstrapMaterialDesign._jQueryInterface;
+ };
+
+ return BootstrapMaterialDesign;
+ }(jQuery);
+
+}));
+//# sourceMappingURL=bootstrap-material-design.umd.js.map
diff --git a/templates/assets/bootstrap-material-design/dist/bootstrap-material-design.umd.js.map b/templates/assets/bootstrap-material-design/dist/bootstrap-material-design.umd.js.map
new file mode 100644
index 0000000..5bea307
--- /dev/null
+++ b/templates/assets/bootstrap-material-design/dist/bootstrap-material-design.umd.js.map
@@ -0,0 +1 @@
+{"version":3,"file":null,"sources":["../js/util.js","../js/base.js","../js/baseInput.js","../js/baseSelection.js","../js/checkbox.js","../js/checkboxInline.js","../js/collapseInline.js","../js/file.js","../js/radio.js","../js/radioInline.js","../js/baseFormControl.js","../js/select.js","../js/switch.js","../js/text.js","../js/textarea.js","../js/baseLayout.js","../js/drawer.js","../js/ripples.js","../js/autofill.js","../js/bootstrapMaterialDesign.js"],"sourcesContent":["const Util = (() => {\n\n /**\n * ------------------------------------------------------------------------\n * Private TransitionEnd Helpers\n * ------------------------------------------------------------------------\n */\n\n let transitionEnd = false\n let transitionEndSelector = ''\n\n const TransitionEndEvent = {\n WebkitTransition: 'webkitTransitionEnd',\n MozTransition: 'transitionend',\n OTransition: 'oTransitionEnd otransitionend',\n transition: 'transitionend'\n }\n\n function transitionEndTest() {\n if (window.QUnit) {\n return false\n }\n\n let el = document.createElement('bmd')\n\n for (let name in TransitionEndEvent) {\n if (el.style[name] !== undefined) {\n return TransitionEndEvent[name] // { end: TransitionEndEvent[name] }\n }\n }\n\n return false\n }\n\n function setTransitionEndSupport() {\n transitionEnd = transitionEndTest()\n\n // generate a concatenated transition end event selector\n for (let name in TransitionEndEvent) {\n transitionEndSelector += ` ${TransitionEndEvent[name]}`\n }\n }\n\n /**\n * --------------------------------------------------------------------------\n * Public Util Api\n * --------------------------------------------------------------------------\n */\n\n let Util = {\n\n transitionEndSupported() {\n return transitionEnd\n },\n\n transitionEndSelector() {\n return transitionEndSelector\n },\n\n isChar(event) {\n if (typeof event.which === 'undefined') {\n return true\n } else if (typeof event.which === 'number' && event.which > 0) {\n return (\n !event.ctrlKey\n && !event.metaKey\n && !event.altKey\n && event.which !== 8 // backspace\n && event.which !== 9 // tab\n && event.which !== 13 // enter\n && event.which !== 16 // shift\n && event.which !== 17 // ctrl\n && event.which !== 20 // caps lock\n && event.which !== 27 // escape\n )\n }\n return false\n },\n\n assert($element, invalidTest, message) {\n if (invalidTest) {\n if (!$element === undefined) {\n $element.css('border', '1px solid red')\n }\n console.error(message, $element) // eslint-disable-line no-console\n throw message\n }\n },\n\n describe($element) {\n if ($element === undefined) {\n return 'undefined'\n } else if ($element.length === 0) {\n return '(no matching elements)'\n }\n return `${$element[0].outerHTML.split('>')[0]}>`\n }\n }\n\n setTransitionEndSupport()\n return Util\n\n})(jQuery)\n\nexport default Util\n","import Util from './util'\n\nconst Base = (($) => {\n\n const ClassName = {\n BMD_FORM_GROUP: 'bmd-form-group',\n IS_FILLED: 'is-filled',\n IS_FOCUSED: 'is-focused'\n }\n\n const Selector = {\n BMD_FORM_GROUP: `.${ClassName.BMD_FORM_GROUP}`\n }\n\n const Default = {}\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n class Base {\n\n /**\n *\n * @param element\n * @param config\n * @param properties - anything that needs to be set as this[key] = value. Works around the need to call `super` before using `this`\n */\n constructor($element, config, properties = {}) {\n this.$element = $element\n this.config = $.extend(true, {}, Default, config)\n\n // set properties for use in the constructor initialization\n for (let key in properties) {\n this[key] = properties[key]\n }\n }\n\n dispose(dataKey) {\n this.$element.data(dataKey, null)\n this.$element = null\n this.config = null\n }\n\n // ------------------------------------------------------------------------\n // protected\n\n addFormGroupFocus() {\n if (!this.$element.prop('disabled')) {\n this.$bmdFormGroup.addClass(ClassName.IS_FOCUSED)\n }\n }\n\n removeFormGroupFocus() {\n this.$bmdFormGroup.removeClass(ClassName.IS_FOCUSED)\n }\n\n removeIsFilled() {\n this.$bmdFormGroup.removeClass(ClassName.IS_FILLED)\n }\n\n addIsFilled() {\n this.$bmdFormGroup.addClass(ClassName.IS_FILLED)\n }\n\n // Find bmd-form-group\n findMdbFormGroup(raiseError = true) {\n let mfg = this.$element.closest(Selector.BMD_FORM_GROUP)\n if (mfg.length === 0 && raiseError) {\n $.error(`Failed to find ${Selector.BMD_FORM_GROUP} for ${Util.describe(this.$element)}`)\n }\n return mfg\n }\n\n // ------------------------------------------------------------------------\n // private\n\n // ------------------------------------------------------------------------\n // static\n\n }\n\n return Base\n\n})(jQuery)\n\nexport default Base\n","import Base from './base'\nimport Util from './util'\n\nconst BaseInput = (($) => {\n\n const ClassName = {\n FORM_GROUP: 'form-group',\n BMD_FORM_GROUP: 'bmd-form-group',\n BMD_LABEL: 'bmd-label',\n BMD_LABEL_STATIC: 'bmd-label-static',\n BMD_LABEL_PLACEHOLDER: 'bmd-label-placeholder',\n BMD_LABEL_FLOATING: 'bmd-label-floating',\n HAS_DANGER: 'has-danger',\n IS_FILLED: 'is-filled',\n IS_FOCUSED: 'is-focused',\n INPUT_GROUP: 'input-group'\n }\n\n const Selector = {\n FORM_GROUP: `.${ClassName.FORM_GROUP}`,\n BMD_FORM_GROUP: `.${ClassName.BMD_FORM_GROUP}`,\n BMD_LABEL_WILDCARD: `label[class^='${ClassName.BMD_LABEL}'], label[class*=' ${ClassName.BMD_LABEL}']` // match any label variant if specified\n }\n\n const Default = {\n validate: false,\n formGroup: {\n required: false\n },\n bmdFormGroup: {\n template: `<span class='${ClassName.BMD_FORM_GROUP}'></span>`,\n create: true, // create a wrapper if form-group not found\n required: true // not recommended to turn this off, only used for inline components\n },\n label: {\n required: false,\n\n // Prioritized find order for resolving the label to be used as an bmd-label if not specified in the markup\n // - a function(thisComponent); or\n // - a string selector used like $bmdFormGroup.find(selector)\n //\n // Note this only runs if $bmdFormGroup.find(Selector.BMD_LABEL_WILDCARD) fails to find a label (as authored in the markup)\n //\n selectors: [\n `.form-control-label`, // in the case of horizontal or inline forms, this will be marked\n `> label` // usual case for text inputs, first child. Deeper would find toggle labels so don't do that.\n ],\n className: ClassName.BMD_LABEL_STATIC\n },\n requiredClasses: [],\n invalidComponentMatches: [],\n convertInputSizeVariations: true\n }\n\n const FormControlSizeMarkers = {\n 'form-control-lg': 'bmd-form-group-lg',\n 'form-control-sm': 'bmd-form-group-sm'\n }\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n class BaseInput extends Base {\n\n /**\n *\n * @param element\n * @param config\n * @param properties - anything that needs to be set as this[key] = value. Works around the need to call `super` before using `this`\n */\n constructor($element, config, properties = {}) {\n super($element, $.extend(true, {}, Default, config), properties)\n\n // Enforce no overlap between components to prevent side effects\n this._rejectInvalidComponentMatches()\n\n // Enforce expected structure (if any)\n this.rejectWithoutRequiredStructure()\n\n // Enforce required classes for a consistent rendering\n this._rejectWithoutRequiredClasses()\n\n // Resolve the form-group first, it will be used for bmd-form-group if possible\n // note: different components have different rules\n this.$formGroup = this.findFormGroup(this.config.formGroup.required)\n\n // Will add bmd-form-group to form-group or create an bmd-form-group\n // Performance Note: for those forms that are really performance driven, create the markup with the .bmd-form-group to avoid\n // rendering changes once added.\n this.$bmdFormGroup = this.resolveMdbFormGroup()\n\n // Resolve and mark the bmdLabel if necessary as defined by the config\n this.$bmdLabel = this.resolveMdbLabel()\n\n // Signal to the bmd-form-group that a form-control-* variation is being used\n this.resolveMdbFormGroupSizing()\n\n this.addFocusListener()\n this.addChangeListener()\n\n if(this.$element.val() != ''){\n this.addIsFilled()\n }\n }\n\n dispose(dataKey) {\n super.dispose(dataKey)\n this.$bmdFormGroup = null\n this.$formGroup = null\n }\n\n // ------------------------------------------------------------------------\n // protected\n\n rejectWithoutRequiredStructure() {\n // implement\n }\n\n addFocusListener() {\n this.$element\n .on('focus', () => {\n this.addFormGroupFocus()\n })\n .on('blur', () => {\n this.removeFormGroupFocus()\n })\n }\n\n addChangeListener() {\n this.$element\n .on('keydown paste', (event) => {\n if (Util.isChar(event)) {\n this.addIsFilled()\n }\n })\n .on('keyup change', () => {\n\n // make sure empty is added back when there is a programmatic value change.\n // NOTE: programmatic changing of value using $.val() must trigger the change event i.e. $.val('x').trigger('change')\n if (this.isEmpty()) {\n this.removeIsFilled()\n } else {\n this.addIsFilled()\n }\n\n if (this.config.validate) {\n // Validation events do not bubble, so they must be attached directly to the text: http://jsfiddle.net/PEpRM/1/\n // Further, even the bind method is being caught, but since we are already calling #checkValidity here, just alter\n // the form-group on change.\n //\n // NOTE: I'm not sure we should be intervening regarding validation, this seems better as a README and snippet of code.\n // BUT, I've left it here for backwards compatibility.\n let isValid = (typeof this.$element[0].checkValidity === 'undefined' || this.$element[0].checkValidity())\n if (isValid) {\n this.removeHasDanger()\n } else {\n this.addHasDanger()\n }\n }\n })\n }\n\n addHasDanger() {\n this.$bmdFormGroup.addClass(ClassName.HAS_DANGER)\n }\n\n removeHasDanger() {\n this.$bmdFormGroup.removeClass(ClassName.HAS_DANGER)\n }\n\n isEmpty() {\n return (this.$element.val() === null || this.$element.val() === undefined || this.$element.val() === '')\n }\n\n // Will add bmd-form-group to form-group or create a bmd-form-group if necessary\n resolveMdbFormGroup() {\n let mfg = this.findMdbFormGroup(false)\n if (mfg === undefined || mfg.length === 0) {\n if (this.config.bmdFormGroup.create && (this.$formGroup === undefined || this.$formGroup.length === 0)) {\n // If a form-group doesn't exist (not recommended), take a guess and wrap the element (assuming no label).\n // note: it's possible to make this smarter, but I need to see valid cases before adding any complexity.\n\n // this may be an input-group, wrap that instead\n if(this.outerElement().parent().hasClass(ClassName.INPUT_GROUP)){\n this.outerElement().parent().wrap(this.config.bmdFormGroup.template)\n }\n else{\n this.outerElement().wrap(this.config.bmdFormGroup.template)\n }\n } else {\n // a form-group does exist, add our marker class to it\n this.$formGroup.addClass(ClassName.BMD_FORM_GROUP)\n\n // OLD: may want to implement this after all, see how the styling turns out, but using an existing form-group is less manipulation of the dom and therefore preferable\n // A form-group does exist, so add an bmd-form-group wrapping it's internal contents\n //fg.wrapInner(this.config.bmdFormGroup.template)\n }\n\n mfg = this.findMdbFormGroup(this.config.bmdFormGroup.required)\n }\n\n return mfg\n }\n\n // Demarcation element (e.g. first child of a form-group)\n // Subclasses such as file inputs may have different structures\n outerElement() {\n return this.$element\n }\n\n // Will add bmd-label to bmd-form-group if not already specified\n resolveMdbLabel() {\n\n let label = this.$bmdFormGroup.find(Selector.BMD_LABEL_WILDCARD)\n if (label === undefined || label.length === 0) {\n // we need to find it based on the configured selectors\n label = this.findMdbLabel(this.config.label.required)\n\n if (label === undefined || label.length === 0) {\n // no label found, and finder did not require one\n } else {\n // a candidate label was found, add the configured default class name\n label.addClass(this.config.label.className)\n }\n }\n\n return label\n }\n\n // Find bmd-label variant based on the config selectors\n findMdbLabel(raiseError = true) {\n let label = null\n\n // use the specified selector order\n for (let selector of this.config.label.selectors) {\n if ($.isFunction(selector)) {\n label = selector(this)\n } else {\n label = this.$bmdFormGroup.find(selector)\n }\n\n if (label !== undefined && label.length > 0) {\n break\n }\n }\n\n if (label.length === 0 && raiseError) {\n $.error(`Failed to find ${Selector.BMD_LABEL_WILDCARD} within form-group for ${Util.describe(this.$element)}`)\n }\n return label\n }\n\n // Find bmd-form-group\n findFormGroup(raiseError = true) {\n let fg = this.$element.closest(Selector.FORM_GROUP)\n if (fg.length === 0 && raiseError) {\n $.error(`Failed to find ${Selector.FORM_GROUP} for ${Util.describe(this.$element)}`)\n }\n return fg\n }\n\n // Due to the interconnected nature of labels/inputs/help-blocks, signal the bmd-form-group-* size variation based on\n // a found form-control-* size\n resolveMdbFormGroupSizing() {\n if (!this.config.convertInputSizeVariations) {\n return\n }\n\n // Modification - Change text-sm/lg to form-group-sm/lg instead (preferred standard and simpler css/less variants)\n for (let inputSize in FormControlSizeMarkers) {\n if (this.$element.hasClass(inputSize)) {\n //this.$element.removeClass(inputSize)\n this.$bmdFormGroup.addClass(FormControlSizeMarkers[inputSize])\n }\n }\n }\n\n // ------------------------------------------------------------------------\n // private\n _rejectInvalidComponentMatches() {\n for (let otherComponent of this.config.invalidComponentMatches) {\n otherComponent.rejectMatch(this.constructor.name, this.$element)\n }\n }\n\n _rejectWithoutRequiredClasses() {\n for (let requiredClass of this.config.requiredClasses) {\n\n let found = false\n // allow one of several classes to be passed in x||y\n if (requiredClass.indexOf('||') !== -1) {\n let oneOf = requiredClass.split('||')\n for (let requiredClass of oneOf) {\n if (this.$element.hasClass(requiredClass)) {\n found = true\n break\n }\n }\n } else if (this.$element.hasClass(requiredClass)) {\n found = true\n }\n\n // error if not found\n if (!found) {\n $.error(`${this.constructor.name} element: ${Util.describe(this.$element)} requires class: ${requiredClass}`)\n }\n }\n }\n\n // ------------------------------------------------------------------------\n // static\n\n }\n\n return BaseInput\n\n})(jQuery)\n\nexport default BaseInput\n","import BaseInput from './baseInput'\nimport Util from './util'\n\nconst BaseSelection = (($) => {\n\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n const Default = {\n label: {\n required: false\n\n // Prioritized find order for resolving the label to be used as an bmd-label if not specified in the markup\n // - a function(thisComponent); or\n // - a string selector used like $bmdFormGroup.find(selector)\n //\n // Note this only runs if $bmdFormGroup.find(Selector.BMD_LABEL_WILDCARD) fails to find a label (as authored in the markup)\n //\n //selectors: [\n // `.form-control-label`, // in the case of horizontal or inline forms, this will be marked\n // `> label` // usual case for text inputs\n //]\n }\n }\n\n const Selector = {\n LABEL: 'label'\n }\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n class BaseSelection extends BaseInput {\n\n constructor($element, config, properties) {\n // properties = {inputType: checkbox, outerClass: checkbox-inline}\n // '.checkbox|switch|radio > label > input[type=checkbox|radio]'\n // '.${this.outerClass} > label > input[type=${this.inputType}]'\n\n super($element, $.extend(true, {}, Default, config), properties)\n this.decorateMarkup()\n }\n\n // ------------------------------------------------------------------------\n // protected\n\n decorateMarkup() {\n this.$element.after(this.config.template)\n }\n\n // Demarcation element (e.g. first child of a form-group)\n outerElement() {\n // .checkbox|switch|radio > label > input[type=checkbox|radio]\n // label.checkbox-inline > input[type=checkbox|radio]\n // .${this.outerClass} > label > input[type=${this.inputType}]\n return this.$element.parent().closest(`.${this.outerClass}`)\n }\n\n rejectWithoutRequiredStructure() {\n // '.checkbox|switch|radio > label > input[type=checkbox|radio]'\n // '.${this.outerClass} > label > input[type=${this.inputType}]'\n Util.assert(this.$element, !this.$element.parent().prop('tagName') === 'label', `${this.constructor.name}'s ${Util.describe(this.$element)} parent element should be <label>.`)\n Util.assert(this.$element, !this.outerElement().hasClass(this.outerClass), `${this.constructor.name}'s ${Util.describe(this.$element)} outer element should have class ${this.outerClass}.`)\n }\n\n addFocusListener() {\n // checkboxes didn't appear to bubble to the document, so we'll bind these directly\n this.$element.closest(Selector.LABEL).hover(() => {\n this.addFormGroupFocus()\n }, () => {\n this.removeFormGroupFocus()\n })\n }\n\n addChangeListener() {\n this.$element.change(() => {\n this.$element.blur()\n })\n }\n\n // ------------------------------------------------------------------------\n // private\n }\n\n return BaseSelection\n\n})(jQuery)\n\nexport default BaseSelection\n","import BaseSelection from './baseSelection'\n//import Text from './text'\n//import File from './file'\n//import Radio from './radio'\n//import Textarea from './textarea'\n//import Select from './select'\nimport Util from './util'\n\nconst Checkbox = (($) => {\n\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n const NAME = 'checkbox'\n const DATA_KEY = `bmd.${NAME}`\n const JQUERY_NAME = `bmd${NAME.charAt(0).toUpperCase() + NAME.slice(1)}`\n const JQUERY_NO_CONFLICT = $.fn[JQUERY_NAME]\n\n const Default = {\n template: `<span class='checkbox-decorator'><span class='check'></span></span>`\n }\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n class Checkbox extends BaseSelection {\n\n constructor($element, config, properties = {inputType: NAME, outerClass: NAME}) {\n super($element, $.extend(true,\n //{invalidComponentMatches: [File, Radio, Text, Textarea, Select]},\n Default, config), properties)\n }\n\n dispose(dataKey = DATA_KEY) {\n super.dispose(dataKey)\n }\n\n static matches($element) {\n // '.checkbox > label > input[type=checkbox]'\n if ($element.attr('type') === 'checkbox') {\n return true\n }\n return false\n }\n\n static rejectMatch(component, $element) {\n Util.assert(this.$element, this.matches($element), `${component} component element ${Util.describe($element)} is invalid for type='checkbox'.`)\n }\n\n // ------------------------------------------------------------------------\n // protected\n\n // ------------------------------------------------------------------------\n // protected\n\n // ------------------------------------------------------------------------\n // private\n\n // ------------------------------------------------------------------------\n // static\n static _jQueryInterface(config) {\n return this.each(function () {\n let $element = $(this)\n let data = $element.data(DATA_KEY)\n\n if (!data) {\n data = new Checkbox($element, config)\n $element.data(DATA_KEY, data)\n }\n })\n }\n }\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n $.fn[JQUERY_NAME] = Checkbox._jQueryInterface\n $.fn[JQUERY_NAME].Constructor = Checkbox\n $.fn[JQUERY_NAME].noConflict = () => {\n $.fn[JQUERY_NAME] = JQUERY_NO_CONFLICT\n return Checkbox._jQueryInterface\n }\n\n return Checkbox\n\n})(jQuery)\n\nexport default Checkbox\n","import Checkbox from './checkbox'\n\nconst CheckboxInline = (($) => {\n\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n const NAME = 'checkboxInline'\n const DATA_KEY = `bmd.${NAME}`\n const JQUERY_NAME = `bmd${NAME.charAt(0).toUpperCase() + NAME.slice(1)}`\n const JQUERY_NO_CONFLICT = $.fn[JQUERY_NAME]\n\n const Default = {\n bmdFormGroup: {\n create: false, // no bmd-form-group creation if form-group not present. It messes with the layout.\n required: false\n }\n }\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n class CheckboxInline extends Checkbox {\n\n constructor($element, config, properties = {inputType: 'checkbox', outerClass: 'checkbox-inline'}) {\n super($element, $.extend(true, {}, Default, config), properties)\n }\n\n dispose() {\n super.dispose(DATA_KEY)\n }\n\n //static matches($element) {\n // // '.checkbox-inline > input[type=checkbox]'\n // if ($element.attr('type') === 'checkbox') {\n // return true\n // }\n // return false\n //}\n //\n //static rejectMatch(component, $element) {\n // Util.assert(this.$element, this.matches($element), `${component} component element ${Util.describe($element)} is invalid for type='checkbox'.`)\n //}\n\n // ------------------------------------------------------------------------\n // protected\n\n // ------------------------------------------------------------------------\n // protected\n\n // ------------------------------------------------------------------------\n // private\n\n // ------------------------------------------------------------------------\n // static\n static _jQueryInterface(config) {\n return this.each(function () {\n let $element = $(this)\n let data = $element.data(DATA_KEY)\n\n if (!data) {\n data = new CheckboxInline($element, config)\n $element.data(DATA_KEY, data)\n }\n })\n }\n }\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n $.fn[JQUERY_NAME] = CheckboxInline._jQueryInterface\n $.fn[JQUERY_NAME].Constructor = CheckboxInline\n $.fn[JQUERY_NAME].noConflict = () => {\n $.fn[JQUERY_NAME] = JQUERY_NO_CONFLICT\n return CheckboxInline._jQueryInterface\n }\n\n return CheckboxInline\n\n})(jQuery)\n\nexport default CheckboxInline\n","import Base from './base'\nimport Util from './util'\n\nconst CollapseInline = (($) => {\n\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n const NAME = 'collapseInline'\n const DATA_KEY = `bmd.${NAME}`\n const JQUERY_NAME = `bmd${NAME.charAt(0).toUpperCase() + NAME.slice(1)}`\n const JQUERY_NO_CONFLICT = $.fn[JQUERY_NAME]\n\n const Selector = {\n ANY_INPUT: 'input, select, textarea'\n }\n\n const ClassName = {\n IN: 'in',\n COLLAPSE: 'collapse',\n COLLAPSING: 'collapsing',\n COLLAPSED: 'collapsed',\n WIDTH: 'width'\n }\n const Default = {}\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n class CollapseInline extends Base {\n\n // $element is expected to be the trigger\n // i.e. <button class=\"btn bmd-btn-icon\" for=\"search\" data-toggle=\"collapse\" data-target=\"#search-field\" aria-expanded=\"false\" aria-controls=\"search-field\">\n constructor($element, config) {\n super($element, $.extend(true, {}, Default, config))\n this.$bmdFormGroup = this.findMdbFormGroup(true)\n\n let collapseSelector = $element.data('target')\n this.$collapse = $(collapseSelector)\n\n Util.assert($element, this.$collapse.length === 0, `Cannot find collapse target for ${Util.describe($element)}`)\n Util.assert(this.$collapse, !this.$collapse.hasClass(ClassName.COLLAPSE), `${Util.describe(this.$collapse)} is expected to have the '${ClassName.COLLAPSE}' class. It is being targeted by ${Util.describe($element)}`)\n\n // find the first input for focusing\n let $inputs = this.$bmdFormGroup.find(Selector.ANY_INPUT)\n if ($inputs.length > 0) {\n this.$input = $inputs.first()\n }\n\n // automatically add the marker class to collapse width instead of height - nice convenience because it is easily forgotten\n if (!this.$collapse.hasClass(ClassName.WIDTH)) {\n this.$collapse.addClass(ClassName.WIDTH)\n }\n\n if (this.$input) {\n // add a listener to set focus\n this.$collapse.on('shown.bs.collapse', () => {\n this.$input.focus()\n })\n\n // add a listener to collapse field\n this.$input.blur(() => {\n this.$collapse.collapse('hide')\n })\n }\n }\n\n dispose() {\n super.dispose(DATA_KEY)\n this.$bmdFormGroup = null\n this.$collapse = null\n this.$input = null\n }\n\n // ------------------------------------------------------------------------\n // private\n\n // ------------------------------------------------------------------------\n // static\n static _jQueryInterface(config) {\n return this.each(function () {\n let $element = $(this)\n let data = $element.data(DATA_KEY)\n\n if (!data) {\n data = new CollapseInline($element, config)\n $element.data(DATA_KEY, data)\n }\n })\n }\n }\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n $.fn[JQUERY_NAME] = CollapseInline._jQueryInterface\n $.fn[JQUERY_NAME].Constructor = CollapseInline\n $.fn[JQUERY_NAME].noConflict = () => {\n $.fn[JQUERY_NAME] = JQUERY_NO_CONFLICT\n return CollapseInline._jQueryInterface\n }\n\n return CollapseInline\n\n})(jQuery)\n\nexport default CollapseInline\n","import BaseInput from './baseInput'\n//import Checkbox from './checkbox'\n//import Radio from './radio'\n//import Switch from './switch'\n//import Text from './text'\n//import Textarea from './textarea'\n//import Select from './select'\nimport Util from './util'\n\nconst File = (($) => {\n\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n const NAME = 'file'\n const DATA_KEY = `bmd.${NAME}`\n const JQUERY_NAME = `bmd${NAME.charAt(0).toUpperCase() + NAME.slice(1)}`\n const JQUERY_NO_CONFLICT = $.fn[JQUERY_NAME]\n\n const Default = {}\n\n const ClassName = {\n FILE: NAME,\n IS_FILE: 'is-file'\n }\n\n const Selector = {\n FILENAMES: 'input.form-control[readonly]'\n }\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n class File extends BaseInput {\n\n constructor($element, config) {\n super($element, $.extend(true,\n //{invalidComponentMatches: [Checkbox, Radio, Text, Textarea, Select, Switch]},\n Default, config))\n\n this.$bmdFormGroup.addClass(ClassName.IS_FILE)\n }\n\n dispose() {\n super.dispose(DATA_KEY)\n }\n\n static matches($element) {\n if ($element.attr('type') === 'file') {\n return true\n }\n return false\n }\n\n static rejectMatch(component, $element) {\n Util.assert(this.$element, this.matches($element), `${component} component element ${Util.describe($element)} is invalid for type='file'.`)\n }\n\n // ------------------------------------------------------------------------\n // protected\n\n // Demarcation element (e.g. first child of a form-group)\n outerElement() {\n // label.file > input[type=file]\n return this.$element.parent().closest(`.${ClassName.FILE}`)\n }\n\n rejectWithoutRequiredStructure() {\n // label.file > input[type=file]\n Util.assert(this.$element, !this.outerElement().prop('tagName') === 'label', `${this.constructor.name}'s ${Util.describe(this.$element)} parent element ${Util.describe(this.outerElement())} should be <label>.`)\n Util.assert(this.$element, !this.outerElement().hasClass(ClassName.FILE), `${this.constructor.name}'s ${Util.describe(this.$element)} parent element ${Util.describe(this.outerElement())} should have class .${ClassName.FILE}.`)\n }\n\n addFocusListener() {\n this.$bmdFormGroup\n .on('focus', () => {\n this.addFormGroupFocus()\n })\n .on('blur', () => {\n this.removeFormGroupFocus()\n })\n }\n\n addChangeListener() {\n // set the fileinput readonly field with the name of the file\n this.$element.on('change', () => {\n let value = ''\n $.each(this.$element.files, (i, file) => {\n value += `${file.name} , `\n })\n value = value.substring(0, value.length - 2)\n if (value) {\n this.addIsFilled()\n } else {\n this.removeIsFilled()\n }\n this.$bmdFormGroup.find(Selector.FILENAMES).val(value)\n })\n }\n\n // ------------------------------------------------------------------------\n // private\n\n // ------------------------------------------------------------------------\n // static\n static _jQueryInterface(config) {\n return this.each(function () {\n let $element = $(this)\n let data = $element.data(DATA_KEY)\n\n if (!data) {\n data = new File($element, config)\n $element.data(DATA_KEY, data)\n }\n })\n }\n }\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n $.fn[JQUERY_NAME] = File._jQueryInterface\n $.fn[JQUERY_NAME].Constructor = File\n $.fn[JQUERY_NAME].noConflict = () => {\n $.fn[JQUERY_NAME] = JQUERY_NO_CONFLICT\n return File._jQueryInterface\n }\n\n return File\n\n})(jQuery)\n\nexport default File\n","import BaseSelection from './baseSelection'\n//import Text from './text'\n//import File from './file'\n//import Checkbox from './checkbox'\n//import Switch from './switch'\nimport Util from './util'\n\nconst Radio = (($) => {\n\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n const NAME = 'radio'\n const DATA_KEY = `bmd.${NAME}`\n const JQUERY_NAME = `bmd${NAME.charAt(0).toUpperCase() + NAME.slice(1)}`\n const JQUERY_NO_CONFLICT = $.fn[JQUERY_NAME]\n\n const Default = {\n template: `<span class='bmd-radio-outer-circle'></span><span class='bmd-radio-inner-circle'></span>`\n }\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n class Radio extends BaseSelection {\n\n constructor($element, config, properties = {inputType: NAME, outerClass: NAME}) {\n super($element, $.extend(true,\n //{invalidComponentMatches: [Checkbox, File, Switch, Text]},\n Default, config), properties)\n }\n\n dispose(dataKey = DATA_KEY) {\n super.dispose(dataKey)\n }\n\n static matches($element) {\n // '.radio > label > input[type=radio]'\n if ($element.attr('type') === 'radio') {\n return true\n }\n return false\n }\n\n static rejectMatch(component, $element) {\n Util.assert(this.$element, this.matches($element), `${component} component element ${Util.describe($element)} is invalid for type='radio'.`)\n }\n\n // ------------------------------------------------------------------------\n // protected\n\n //decorateMarkup() {\n // this.$element.after(this.config.template)\n //}\n\n\n // ------------------------------------------------------------------------\n // private\n\n // ------------------------------------------------------------------------\n // static\n static _jQueryInterface(config) {\n return this.each(function () {\n let $element = $(this)\n let data = $element.data(DATA_KEY)\n\n if (!data) {\n data = new Radio($element, config)\n $element.data(DATA_KEY, data)\n }\n })\n }\n }\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n $.fn[JQUERY_NAME] = Radio._jQueryInterface\n $.fn[JQUERY_NAME].Constructor = Radio\n $.fn[JQUERY_NAME].noConflict = () => {\n $.fn[JQUERY_NAME] = JQUERY_NO_CONFLICT\n return Radio._jQueryInterface\n }\n\n return Radio\n\n})(jQuery)\n\nexport default Radio\n","import Radio from './radio'\n\nconst RadioInline = (($) => {\n\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n const NAME = 'radioInline'\n const DATA_KEY = `bmd.${NAME}`\n const JQUERY_NAME = `bmd${NAME.charAt(0).toUpperCase() + NAME.slice(1)}`\n const JQUERY_NO_CONFLICT = $.fn[JQUERY_NAME]\n\n const Default = {\n bmdFormGroup: {\n create: false, // no bmd-form-group creation if form-group not present. It messes with the layout.\n required: false\n }\n }\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n class RadioInline extends Radio {\n\n constructor($element, config, properties = {inputType: 'radio', outerClass: 'radio-inline'}) {\n super($element, $.extend(true, {}, Default, config), properties)\n }\n\n dispose() {\n super.dispose(DATA_KEY)\n }\n\n // ------------------------------------------------------------------------\n // protected\n\n // ------------------------------------------------------------------------\n // protected\n\n // ------------------------------------------------------------------------\n // private\n\n // ------------------------------------------------------------------------\n // static\n static _jQueryInterface(config) {\n return this.each(function () {\n let $element = $(this)\n let data = $element.data(DATA_KEY)\n\n if (!data) {\n data = new RadioInline($element, config)\n $element.data(DATA_KEY, data)\n }\n })\n }\n }\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n $.fn[JQUERY_NAME] = RadioInline._jQueryInterface\n $.fn[JQUERY_NAME].Constructor = RadioInline\n $.fn[JQUERY_NAME].noConflict = () => {\n $.fn[JQUERY_NAME] = JQUERY_NO_CONFLICT\n return RadioInline._jQueryInterface\n }\n\n return RadioInline\n\n})(jQuery)\n\nexport default RadioInline\n","import BaseInput from './baseInput'\n\nconst BaseFormControl = (($) => {\n\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n const Default = {\n requiredClasses: ['form-control']\n }\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n class BaseFormControl extends BaseInput {\n\n constructor($element, config) {\n super($element, $.extend(true, Default, config))\n\n // Initially mark as empty\n if (this.isEmpty()) {\n this.removeIsFilled()\n }\n }\n }\n\n\n return BaseFormControl\n\n})(jQuery)\n\nexport default BaseFormControl\n","import BaseFormControl from './baseFormControl'\n//import Checkbox from './checkbox'\n//import File from './file'\n//import Radio from './radio'\n//import Switch from './switch'\n//import Text from './text'\n//import Textarea from './textarea'\nimport Util from './util'\n\nconst Select = (($) => {\n\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n const NAME = 'select'\n const DATA_KEY = `bmd.${NAME}`\n const JQUERY_NAME = `bmd${NAME.charAt(0).toUpperCase() + NAME.slice(1)}`\n const JQUERY_NO_CONFLICT = $.fn[JQUERY_NAME]\n\n const Default = {\n requiredClasses: ['form-control||custom-select']\n }\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n class Select extends BaseFormControl {\n\n constructor($element, config) {\n super($element, $.extend(true,\n //{invalidComponentMatches: [Checkbox, File, Radio, Switch, Text, Textarea]},\n Default, config))\n\n // floating labels will cover the options, so trigger them to be above (if used)\n this.addIsFilled()\n }\n\n dispose() {\n super.dispose(DATA_KEY)\n }\n\n static matches($element) {\n if ($element.prop('tagName') === 'select') {\n return true\n }\n return false\n }\n\n static rejectMatch(component, $element) {\n Util.assert(this.$element, this.matches($element), `${component} component element ${Util.describe($element)} is invalid for <select>.`)\n }\n\n // ------------------------------------------------------------------------\n // protected\n\n // ------------------------------------------------------------------------\n // private\n\n // ------------------------------------------------------------------------\n // static\n static _jQueryInterface(config) {\n return this.each(function () {\n let $element = $(this)\n let data = $element.data(DATA_KEY)\n\n if (!data) {\n data = new Select($element, config)\n $element.data(DATA_KEY, data)\n }\n })\n }\n }\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n $.fn[JQUERY_NAME] = Select._jQueryInterface\n $.fn[JQUERY_NAME].Constructor = Select\n $.fn[JQUERY_NAME].noConflict = () => {\n $.fn[JQUERY_NAME] = JQUERY_NO_CONFLICT\n return Select._jQueryInterface\n }\n\n return Select\n\n})(jQuery)\n\nexport default Select\n","import Checkbox from './checkbox'\n\nconst Switch = (($) => {\n\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n const NAME = 'switch'\n const DATA_KEY = `bmd.${NAME}`\n const JQUERY_NAME = `bmd${NAME.charAt(0).toUpperCase() + NAME.slice(1)}`\n const JQUERY_NO_CONFLICT = $.fn[JQUERY_NAME]\n\n const Default = {\n template: `<span class='bmd-switch-track'></span>`\n }\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n class Switch extends Checkbox {\n\n constructor($element, config, properties = {inputType: 'checkbox', outerClass: 'switch'}) {\n super($element, $.extend(true, {}, Default, config), properties)\n // selector: '.switch > label > input[type=checkbox]'\n }\n\n dispose() {\n super.dispose(DATA_KEY)\n }\n\n // ------------------------------------------------------------------------\n // protected\n\n // ------------------------------------------------------------------------\n // private\n\n // ------------------------------------------------------------------------\n // static\n static _jQueryInterface(config) {\n return this.each(function () {\n let $element = $(this)\n let data = $element.data(DATA_KEY)\n\n if (!data) {\n data = new Switch($element, config)\n $element.data(DATA_KEY, data)\n }\n })\n }\n }\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n $.fn[JQUERY_NAME] = Switch._jQueryInterface\n $.fn[JQUERY_NAME].Constructor = Switch\n $.fn[JQUERY_NAME].noConflict = () => {\n $.fn[JQUERY_NAME] = JQUERY_NO_CONFLICT\n return Switch._jQueryInterface\n }\n\n return Switch\n\n})(jQuery)\n\nexport default Switch\n","import BaseFormControl from './baseFormControl'\n//import Checkbox from './checkbox'\n//import File from './file'\n//import Radio from './radio'\n//import Switch from './switch'\n//import Textarea from './textarea'\n//import Select from './select'\nimport Util from './util'\n\nconst Text = (($) => {\n\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n const NAME = 'text'\n const DATA_KEY = `bmd.${NAME}`\n const JQUERY_NAME = `bmd${NAME.charAt(0).toUpperCase() + NAME.slice(1)}`\n const JQUERY_NO_CONFLICT = $.fn[JQUERY_NAME]\n\n const Default = {}\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n class Text extends BaseFormControl {\n\n constructor($element, config) {\n super($element, $.extend(true,\n //{invalidComponentMatches: [Checkbox, File, Radio, Switch, Select, Textarea]},\n Default, config))\n }\n\n dispose(dataKey = DATA_KEY) {\n super.dispose(dataKey)\n }\n\n static matches($element) {\n if ($element.attr('type') === 'text') {\n return true\n }\n return false\n }\n\n static rejectMatch(component, $element) {\n Util.assert(this.$element, this.matches($element), `${component} component element ${Util.describe($element)} is invalid for type='text'.`)\n }\n\n // ------------------------------------------------------------------------\n // protected\n\n // ------------------------------------------------------------------------\n // private\n\n // ------------------------------------------------------------------------\n // static\n static _jQueryInterface(config) {\n return this.each(function () {\n let $element = $(this)\n let data = $element.data(DATA_KEY)\n\n if (!data) {\n data = new Text($element, config)\n $element.data(DATA_KEY, data)\n }\n })\n }\n }\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n $.fn[JQUERY_NAME] = Text._jQueryInterface\n $.fn[JQUERY_NAME].Constructor = Text\n $.fn[JQUERY_NAME].noConflict = () => {\n $.fn[JQUERY_NAME] = JQUERY_NO_CONFLICT\n return Text._jQueryInterface\n }\n\n return Text\n\n})(jQuery)\n\nexport default Text\n","import BaseFormControl from './baseFormControl'\n//import Checkbox from './checkbox'\n//import File from './file'\n//import Radio from './radio'\n//import Switch from './switch'\n//import Text from './text'\n//import Select from './select'\nimport Util from './util'\n\nconst Textarea = (($) => {\n\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n const NAME = 'textarea'\n const DATA_KEY = `bmd.${NAME}`\n const JQUERY_NAME = `bmd${NAME.charAt(0).toUpperCase() + NAME.slice(1)}`\n const JQUERY_NO_CONFLICT = $.fn[JQUERY_NAME]\n\n const Default = {}\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n class Textarea extends BaseFormControl {\n\n constructor($element, config) {\n super($element, $.extend(true,\n //{invalidComponentMatches: [Checkbox, File, Radio, Text, Select, Switch]},\n Default, config))\n }\n\n dispose() {\n super.dispose(DATA_KEY)\n }\n\n static matches($element) {\n if ($element.prop('tagName') === 'textarea') {\n return true\n }\n return false\n }\n\n static rejectMatch(component, $element) {\n Util.assert(this.$element, this.matches($element), `${component} component element ${Util.describe($element)} is invalid for <textarea>.`)\n }\n\n // ------------------------------------------------------------------------\n // protected\n\n // ------------------------------------------------------------------------\n // private\n\n // ------------------------------------------------------------------------\n // static\n static _jQueryInterface(config) {\n return this.each(function () {\n let $element = $(this)\n let data = $element.data(DATA_KEY)\n\n if (!data) {\n data = new Textarea($element, config)\n $element.data(DATA_KEY, data)\n }\n })\n }\n }\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n $.fn[JQUERY_NAME] = Textarea._jQueryInterface\n $.fn[JQUERY_NAME].Constructor = Textarea\n $.fn[JQUERY_NAME].noConflict = () => {\n $.fn[JQUERY_NAME] = JQUERY_NO_CONFLICT\n return Textarea._jQueryInterface\n }\n\n return Textarea\n\n})(jQuery)\n\nexport default Textarea\n","import Base from './base'\nimport Util from './util'\n\nconst BaseLayout = (($) => {\n\n const ClassName = {\n CANVAS: 'bmd-layout-canvas',\n CONTAINER: 'bmd-layout-container',\n BACKDROP: `bmd-layout-backdrop`\n }\n\n const Selector = {\n CANVAS: `.${ClassName.CANVAS}`,\n CONTAINER: `.${ClassName.CONTAINER}`,\n BACKDROP: `.${ClassName.BACKDROP}`\n }\n\n const Default = {\n canvas: {\n create: true,\n required: true,\n template: `<div class=\"${ClassName.CANVAS}\"></div>`\n },\n backdrop: {\n create: true,\n required: true,\n template: `<div class=\"${ClassName.BACKDROP}\"></div>`\n }\n }\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n class BaseLayout extends Base {\n\n constructor($element, config, properties = {}) {\n super($element, $.extend(true, {}, Default, config), properties)\n\n this.$container = this.findContainer(true)\n this.$backdrop = this.resolveBackdrop()\n this.resolveCanvas();\n }\n\n dispose(dataKey) {\n super.dispose(dataKey)\n this.$container = null\n this.$backdrop = null\n }\n\n // ------------------------------------------------------------------------\n // protected\n\n // Will wrap container in bmd-layout-canvas if necessary\n resolveCanvas() {\n let bd = this.findCanvas(false)\n if (bd === undefined || bd.length === 0) {\n if (this.config.canvas.create) {\n this.$container.wrap(this.config.canvas.template)\n }\n\n bd = this.findCanvas(this.config.canvas.required)\n }\n\n return bd\n }\n\n // Find closest bmd-layout-container based on the given context\n findCanvas(raiseError = true, context = this.$container) {\n let canvas = context.closest(Selector.CANVAS)\n if (canvas.length === 0 && raiseError) {\n $.error(`Failed to find ${Selector.CANVAS} for ${Util.describe(context)}`)\n }\n return canvas\n }\n\n // Will add bmd-layout-backdrop to bmd-layout-container if necessary\n resolveBackdrop() {\n let bd = this.findBackdrop(false)\n if (bd === undefined || bd.length === 0) {\n if (this.config.backdrop.create) {\n this.$container.append(this.config.backdrop.template)\n }\n\n bd = this.findBackdrop(this.config.backdrop.required)\n }\n\n return bd\n }\n\n // Find closest bmd-layout-container based on the given context\n findBackdrop(raiseError = true, context = this.$container) {\n let backdrop = context.find(`> ${Selector.BACKDROP}`)\n if (backdrop.length === 0 && raiseError) {\n $.error(`Failed to find ${Selector.BACKDROP} for ${Util.describe(context)}`)\n }\n return backdrop\n }\n\n // Find closest bmd-layout-container based on the given context\n findContainer(raiseError = true, context = this.$element) {\n let container = context.closest(Selector.CONTAINER)\n if (container.length === 0 && raiseError) {\n $.error(`Failed to find ${Selector.CONTAINER} for ${Util.describe(context)}`)\n }\n return container\n }\n\n // ------------------------------------------------------------------------\n // private\n\n // ------------------------------------------------------------------------\n // static\n\n }\n\n return BaseLayout\n\n})(jQuery)\n\nexport default BaseLayout\n","import BaseLayout from './baseLayout'\n\nconst Drawer = (($) => {\n\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n const NAME = 'drawer'\n const DATA_KEY = `bmd.${NAME}`\n const JQUERY_NAME = `bmd${NAME.charAt(0).toUpperCase() + NAME.slice(1)}`\n const JQUERY_NO_CONFLICT = $.fn[JQUERY_NAME]\n\n const Keycodes = {\n ESCAPE: 27\n //ENTER: 13,\n //SPACE: 32\n }\n\n const ClassName = {\n IN: 'in',\n DRAWER_IN: `bmd-drawer-in`,\n DRAWER_OUT: `bmd-drawer-out`,\n DRAWER: 'bmd-layout-drawer',\n CONTAINER: 'bmd-layout-container'\n }\n\n const Default = {\n focusSelector: `a, button, input`\n }\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n class Drawer extends BaseLayout {\n\n // $element is expected to be the trigger\n // i.e. <button class=\"btn bmd-btn-icon\" for=\"search\" data-toggle=\"drawer\" data-target=\"#my-side-nav-drawer\" aria-expanded=\"false\" aria-controls=\"my-side-nav-drawer\">\n constructor($element, config) {\n super($element, $.extend(true, {}, Default, config))\n\n this.$toggles = $(`[data-toggle=\"drawer\"][href=\"#${this.$element[0].id}\"], [data-toggle=\"drawer\"][data-target=\"#${this.$element[0].id}\"]`)\n\n this._addAria()\n\n // click or escape on the backdrop closes the drawer\n this.$backdrop.keydown((ev) => {\n if (ev.which === Keycodes.ESCAPE) {\n this.hide()\n }\n }).click(() => {\n this.hide()\n })\n\n // escape on the drawer closes it\n this.$element.keydown((ev) => {\n if (ev.which === Keycodes.ESCAPE) {\n this.hide()\n }\n })\n\n // any toggle button clicks\n this.$toggles.click(() => {\n this.toggle()\n })\n }\n\n dispose() {\n super.dispose(DATA_KEY)\n this.$toggles = null\n }\n\n toggle() {\n if (this._isOpen()) {\n this.hide()\n } else {\n this.show()\n }\n }\n\n show() {\n if (this._isForcedClosed() || this._isOpen()) {\n return\n }\n\n this.$toggles.attr('aria-expanded', true)\n this.$element.attr('aria-expanded', true)\n this.$element.attr('aria-hidden', false)\n\n // focus on the first focusable item\n let $focusOn = this.$element.find(this.config.focusSelector)\n if ($focusOn.length > 0) {\n $focusOn.first().focus()\n }\n\n this.$container.addClass(ClassName.DRAWER_IN)\n // backdrop is responsively styled based on bmd-drawer-overlay, therefore style is none of our concern, simply add the marker class and let the scss determine if it should be displayed or not.\n this.$backdrop.addClass(ClassName.IN)\n }\n\n hide() {\n if (!this._isOpen()) {\n return\n }\n\n this.$toggles.attr('aria-expanded', false)\n this.$element.attr('aria-expanded', false)\n this.$element.attr('aria-hidden', true)\n\n this.$container.removeClass(ClassName.DRAWER_IN)\n this.$backdrop.removeClass(ClassName.IN)\n }\n\n\n // ------------------------------------------------------------------------\n // private\n\n _isOpen() {\n return this.$container.hasClass(ClassName.DRAWER_IN)\n }\n\n _isForcedClosed() {\n return this.$container.hasClass(ClassName.DRAWER_OUT)\n }\n\n _addAria() {\n let isOpen = this._isOpen()\n this.$element.attr('aria-expanded', isOpen)\n this.$element.attr('aria-hidden', isOpen)\n\n if (this.$toggles.length) {\n this.$toggles.attr('aria-expanded', isOpen)\n }\n }\n\n // ------------------------------------------------------------------------\n // static\n static _jQueryInterface(config) {\n return this.each(function () {\n let $element = $(this)\n let data = $element.data(DATA_KEY)\n\n if (!data) {\n data = new Drawer($element, config)\n $element.data(DATA_KEY, data)\n }\n })\n }\n }\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n $.fn[JQUERY_NAME] = Drawer._jQueryInterface\n $.fn[JQUERY_NAME].Constructor = Drawer\n $.fn[JQUERY_NAME].noConflict = () => {\n $.fn[JQUERY_NAME] = JQUERY_NO_CONFLICT\n return Drawer._jQueryInterface\n }\n\n return Drawer\n\n})(jQuery)\n\nexport default Drawer\n","import Util from './util'\n\nconst Ripples = (($) => {\n\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n const NAME = 'ripples'\n const DATA_KEY = `bmd.${NAME}`\n const JQUERY_NAME = `bmd${NAME.charAt(0).toUpperCase() + NAME.slice(1)}`\n const JQUERY_NO_CONFLICT = $.fn[JQUERY_NAME]\n\n const ClassName = {\n CONTAINER: 'ripple-container',\n DECORATOR: 'ripple-decorator'\n }\n\n const Selector = {\n CONTAINER: `.${ClassName.CONTAINER}`,\n DECORATOR: `.${ClassName.DECORATOR}` //,\n }\n\n\n const Default = {\n container: {\n template: `<div class='${ClassName.CONTAINER}'></div>`\n },\n decorator: {\n template: `<div class='${ClassName.DECORATOR}'></div>`\n },\n trigger: {\n start: 'mousedown touchstart',\n end: 'mouseup mouseleave touchend'\n },\n touchUserAgentRegex: /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i,\n duration: 500\n }\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n class Ripples {\n\n constructor($element, config) {\n this.$element = $element\n\n //console.log(`Adding ripples to ${Util.describe(this.$element)}`) // eslint-disable-line no-console\n this.config = $.extend(true, {}, Default, config)\n\n // attach initial listener\n this.$element.on(this.config.trigger.start, (event) => {\n this._onStartRipple(event)\n })\n }\n\n\n dispose() {\n this.$element.data(DATA_KEY, null)\n this.$element = null\n this.$container = null\n this.$decorator = null\n this.config = null\n }\n\n // ------------------------------------------------------------------------\n // private\n\n _onStartRipple(event) {\n\n // Verify if the user is just touching on a device and return if so\n if (this._isTouch() && event.type === 'mousedown') {\n return\n }\n\n // Find or create the ripple container element\n this._findOrCreateContainer()\n\n // Get relY and relX positions of the container element\n let relY = this._getRelY(event)\n let relX = this._getRelX(event)\n\n // If relY and/or relX are false, return the event\n if (!relY && !relX) {\n return\n }\n\n // set the location and color each time (even if element is cached)\n this.$decorator.css({\n left: relX,\n top: relY,\n 'background-color': this._getRipplesColor()\n })\n\n // Make sure the ripple has the styles applied (ugly hack but it works)\n this._forceStyleApplication()\n\n // Turn on the ripple animation\n this.rippleOn()\n\n // Call the rippleEnd function when the transition 'on' ends\n setTimeout(() => {\n this.rippleEnd()\n }, this.config.duration)\n\n // Detect when the user leaves the element to cleanup if not already done?\n this.$element.on(this.config.trigger.end, () => {\n if (this.$decorator) { // guard against race condition/mouse attack\n this.$decorator.data('mousedown', 'off')\n\n if (this.$decorator.data('animating') === 'off') {\n this.rippleOut()\n }\n }\n })\n }\n\n _findOrCreateContainer() {\n if (!this.$container || !this.$container.length > 0) {\n this.$element.append(this.config.container.template)\n this.$container = this.$element.find(Selector.CONTAINER)\n }\n\n // always add the rippleElement, it is always removed\n this.$container.append(this.config.decorator.template)\n this.$decorator = this.$container.find(Selector.DECORATOR)\n }\n\n // Make sure the ripple has the styles applied (ugly hack but it works)\n _forceStyleApplication() {\n return window.getComputedStyle(this.$decorator[0]).opacity\n }\n\n\n /**\n * Get the relX\n */\n _getRelX(event) {\n let wrapperOffset = this.$container.offset()\n\n let result = null\n if (!this._isTouch()) {\n // Get the mouse position relative to the ripple wrapper\n result = event.pageX - wrapperOffset.left\n } else {\n // Make sure the user is using only one finger and then get the touch\n // position relative to the ripple wrapper\n event = event.originalEvent\n\n if (event.touches.length === 1) {\n result = event.touches[0].pageX - wrapperOffset.left\n } else {\n result = false\n }\n }\n\n return result\n }\n\n /**\n * Get the relY\n */\n _getRelY(event) {\n let containerOffset = this.$container.offset()\n let result = null\n\n if (!this._isTouch()) {\n /**\n * Get the mouse position relative to the ripple wrapper\n */\n result = event.pageY - containerOffset.top\n } else {\n /**\n * Make sure the user is using only one finger and then get the touch\n * position relative to the ripple wrapper\n */\n event = event.originalEvent\n\n if (event.touches.length === 1) {\n result = event.touches[0].pageY - containerOffset.top\n } else {\n result = false\n }\n }\n\n return result\n }\n\n /**\n * Get the ripple color\n */\n _getRipplesColor() {\n let color = this.$element.data('ripple-color') ? this.$element.data('ripple-color') : window.getComputedStyle(this.$element[0]).color\n return color\n }\n\n /**\n * Verify if the client is using a mobile device\n */\n _isTouch() {\n return this.config.touchUserAgentRegex.test(navigator.userAgent)\n }\n\n /**\n * End the animation of the ripple\n */\n rippleEnd() {\n if (this.$decorator) { // guard against race condition/mouse attack\n this.$decorator.data('animating', 'off')\n\n if (this.$decorator.data('mousedown') === 'off') {\n this.rippleOut(this.$decorator)\n }\n }\n }\n\n /**\n * Turn off the ripple effect\n */\n rippleOut() {\n this.$decorator.off()\n\n if (Util.transitionEndSupported()) {\n this.$decorator.addClass('ripple-out')\n } else {\n this.$decorator.animate({opacity: 0}, 100, () => {\n this.$decorator.trigger('transitionend')\n })\n }\n\n this.$decorator.on(Util.transitionEndSelector(), () => {\n if (this.$decorator) {\n this.$decorator.remove()\n this.$decorator = null\n }\n })\n }\n\n /**\n * Turn on the ripple effect\n */\n rippleOn() {\n let size = this._getNewSize()\n\n if (Util.transitionEndSupported()) {\n this.$decorator\n .css({\n '-ms-transform': `scale(${size})`,\n '-moz-transform': `scale(${size})`,\n '-webkit-transform': `scale(${size})`,\n transform: `scale(${size})`\n })\n .addClass('ripple-on')\n .data('animating', 'on')\n .data('mousedown', 'on')\n } else {\n this.$decorator.animate({\n width: Math.max(this.$element.outerWidth(), this.$element.outerHeight()) * 2,\n height: Math.max(this.$element.outerWidth(), this.$element.outerHeight()) * 2,\n 'margin-left': Math.max(this.$element.outerWidth(), this.$element.outerHeight()) * (-1),\n 'margin-top': Math.max(this.$element.outerWidth(), this.$element.outerHeight()) * (-1),\n opacity: 0.2\n }, this.config.duration, () => {\n this.$decorator.trigger('transitionend')\n })\n }\n }\n\n /**\n * Get the new size based on the element height/width and the ripple width\n */\n _getNewSize() {\n return (Math.max(this.$element.outerWidth(), this.$element.outerHeight()) / this.$decorator.outerWidth()) * 2.5\n }\n\n // ------------------------------------------------------------------------\n // static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let $element = $(this)\n let data = $element.data(DATA_KEY)\n\n if (!data) {\n data = new Ripples($element, config)\n $element.data(DATA_KEY, data)\n }\n })\n }\n }\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n $.fn[JQUERY_NAME] = Ripples._jQueryInterface\n $.fn[JQUERY_NAME].Constructor = Ripples\n $.fn[JQUERY_NAME].noConflict = () => {\n $.fn[JQUERY_NAME] = JQUERY_NO_CONFLICT\n return Ripples._jQueryInterface\n }\n\n return Ripples\n\n})(jQuery)\n\nexport default Ripples\n","import Base from './base'\n\nconst Autofill = (($) => {\n\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n const NAME = 'autofill'\n const DATA_KEY = `bmd.${NAME}`\n const JQUERY_NAME = `bmd${NAME.charAt(0).toUpperCase() + NAME.slice(1)}`\n const JQUERY_NO_CONFLICT = $.fn[JQUERY_NAME]\n\n const Default = {}\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n class Autofill extends Base {\n\n constructor($element, config) {\n super($element, $.extend(true, {}, Default, config))\n\n this._watchLoading()\n this._attachEventHandlers()\n }\n\n dispose() {\n super.dispose(DATA_KEY)\n }\n\n // ------------------------------------------------------------------------\n // private\n\n _watchLoading() {\n // After 10 seconds we are quite sure all the needed inputs are autofilled then we can stop checking them\n setTimeout(() => {\n clearInterval(this._onLoading)\n }, 10000)\n }\n\n // This part of code will detect autofill when the page is loading (username and password inputs for example)\n _onLoading() {\n setInterval(() => {\n $('input[type!=checkbox]').each((index, element) => {\n let $element = $(element)\n if ($element.val() && $element.val() !== $element.attr('value')) {\n $element.trigger('change')\n }\n })\n }, 100)\n }\n\n _attachEventHandlers() {\n // Listen on inputs of the focused form\n // (because user can select from the autofill dropdown only when the input has focus)\n let focused = null\n $(document)\n .on('focus', 'input', (event) => {\n let $inputs = $(event.currentTarget).closest('form').find('input').not('[type=file]')\n focused = setInterval(() => {\n $inputs.each((index, element) => {\n let $element = $(element)\n if ($element.val() !== $element.attr('value')) {\n $element.trigger('change')\n }\n })\n }, 100)\n })\n .on('blur', '.form-group input', () => {\n clearInterval(focused)\n })\n }\n\n // ------------------------------------------------------------------------\n // static\n static _jQueryInterface(config) {\n return this.each(function () {\n let $element = $(this)\n let data = $element.data(DATA_KEY)\n\n if (!data) {\n data = new Autofill($element, config)\n $element.data(DATA_KEY, data)\n }\n })\n }\n }\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n $.fn[JQUERY_NAME] = Autofill._jQueryInterface\n $.fn[JQUERY_NAME].Constructor = Autofill\n $.fn[JQUERY_NAME].noConflict = () => {\n $.fn[JQUERY_NAME] = JQUERY_NO_CONFLICT\n return Autofill._jQueryInterface\n }\n\n return Autofill\n\n})(jQuery)\n\nexport default Autofill\n","/**\n * $.bootstrapMaterialDesign(config) is a macro class to configure the components generally\n * used in Bootstrap Material Design. You may pass overrides to the configurations\n * which will be passed into each component, or you may omit use of this class and\n * configure each component separately.\n */\nconst BootstrapMaterialDesign = (($) => {\n\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n const NAME = 'bootstrapMaterialDesign'\n const DATA_KEY = `bmd.${NAME}`\n const JQUERY_NAME = NAME // retain this full name since it is long enough not to conflict\n const JQUERY_NO_CONFLICT = $.fn[JQUERY_NAME]\n\n /**\n * Global configuration:\n * The global configuration hash will be mixed in to each components' config.\n * e.g. calling $.bootstrapMaterialDesign({global: { validate: true } }) would pass `validate:true` to every component\n *\n *\n * Component configuration:\n * - selector: may be a string or an array. Any array will be joined with a comma to generate the selector\n * - disable any component by defining it as false with an override. e.g. $.bootstrapMaterialDesign({ autofill: false })\n *\n * @see each individual component for more configuration settings.\n */\n const Default = {\n global: {\n validate: false,\n label: {\n className: 'bmd-label-static' // default style of label to be used if not specified in the html markup\n }\n },\n autofill: {\n selector: 'body'\n },\n checkbox: {\n selector: '.checkbox > label > input[type=checkbox]'\n },\n checkboxInline: {\n selector: 'label.checkbox-inline > input[type=checkbox]'\n },\n collapseInline: {\n selector: '.bmd-collapse-inline [data-toggle=\"collapse\"]'\n },\n drawer: {\n selector: '.bmd-layout-drawer'\n },\n file: {\n selector: 'input[type=file]'\n },\n radio: {\n selector: '.radio > label > input[type=radio]'\n },\n radioInline: {\n selector: 'label.radio-inline > input[type=radio]'\n },\n ripples: {\n //selector: ['.btn:not(.btn-link):not(.ripple-none)'] // testing only\n selector: [\n '.btn:not(.btn-link):not(.ripple-none)',\n '.card-image:not(.ripple-none)',\n '.navbar a:not(.ripple-none)',\n '.dropdown-menu a:not(.ripple-none)',\n '.nav-tabs a:not(.ripple-none)',\n '.pagination li:not(.active):not(.disabled) a:not(.ripple-none)',\n '.ripple' // generic marker class to add ripple to elements\n ]\n },\n select: {\n selector: ['select']\n },\n switch: {\n selector: '.switch > label > input[type=checkbox]'\n },\n text: {\n // omit inputs we have specialized components to handle - we need to match text, email, etc. The easiest way to do this appears to be just omit the ones we don't want to match and let the rest fall through to this.\n selector: [`input:not([type=hidden]):not([type=checkbox]):not([type=radio]):not([type=file]):not([type=button]):not([type=submit]):not([type=reset])`]\n },\n textarea: {\n selector: ['textarea']\n },\n arrive: true,\n // create an ordered component list for instantiation\n instantiation: [\n 'ripples',\n 'checkbox',\n 'checkboxInline',\n 'collapseInline',\n 'drawer',\n //'file',\n 'radio',\n 'radioInline',\n 'switch',\n 'text',\n 'textarea',\n 'select',\n 'autofill'\n ]\n }\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n class BootstrapMaterialDesign {\n\n constructor($element, config) {\n this.$element = $element\n this.config = $.extend(true, {}, Default, config)\n let $document = $(document)\n\n for (let component of this.config.instantiation) {\n\n // the component's config fragment is passed in directly, allowing users to override\n let componentConfig = this.config[component]\n\n // check to make sure component config is enabled (not `false`)\n if (componentConfig) {\n\n // assemble the selector as it may be an array\n let selector = this._resolveSelector(componentConfig)\n\n // mix in global options\n componentConfig = $.extend(true, {}, this.config.global, componentConfig)\n\n // create the jquery fn name e.g. 'bmdText' for 'text'\n let componentName = `${component.charAt(0).toUpperCase() + component.slice(1)}`\n let jqueryFn = `bmd${componentName}`\n\n try {\n // safely instantiate component on selector elements with config, report errors and move on.\n // console.debug(`instantiating: $('${selector}')[${jqueryFn}](${componentConfig})`) // eslint-disable-line no-console\n $(selector)[jqueryFn](componentConfig)\n\n // add to arrive if present and enabled\n if (document.arrive && this.config.arrive) {\n $document.arrive(selector, function(){ // eslint-disable-line no-loop-func\n $(this)[jqueryFn](componentConfig)\n })\n }\n } catch (e) {\n let message = `Failed to instantiate component: $('${selector}')[${jqueryFn}](${componentConfig})`\n console.error(message, e, `\\nSelected elements: `, $(selector)) // eslint-disable-line no-console\n throw e\n }\n }\n }\n }\n\n dispose() {\n this.$element.data(DATA_KEY, null)\n this.$element = null\n this.config = null\n }\n\n // ------------------------------------------------------------------------\n // private\n\n _resolveSelector(componentConfig) {\n let selector = componentConfig.selector\n if (Array.isArray(selector)) {\n selector = selector.join(', ')\n }\n\n return selector\n }\n\n // ------------------------------------------------------------------------\n // static\n static _jQueryInterface(config) {\n return this.each(function () {\n let $element = $(this)\n let data = $element.data(DATA_KEY)\n\n if (!data) {\n data = new BootstrapMaterialDesign($element, config)\n $element.data(DATA_KEY, data)\n }\n })\n }\n }\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n $.fn[JQUERY_NAME] = BootstrapMaterialDesign._jQueryInterface\n $.fn[JQUERY_NAME].Constructor = BootstrapMaterialDesign\n $.fn[JQUERY_NAME].noConflict = () => {\n $.fn[JQUERY_NAME] = JQUERY_NO_CONFLICT\n return BootstrapMaterialDesign._jQueryInterface\n }\n\n return BootstrapMaterialDesign\n\n})(jQuery)\n\nexport default BootstrapMaterialDesign\n"],"names":[],"mappings":"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"} \ No newline at end of file
diff --git a/templates/assets/bootstrap/dist/css/bootstrap-grid.css b/templates/assets/bootstrap/dist/css/bootstrap-grid.css
new file mode 100644
index 0000000..a0e9c45
--- /dev/null
+++ b/templates/assets/bootstrap/dist/css/bootstrap-grid.css
@@ -0,0 +1,2298 @@
+@-ms-viewport {
+ width: device-width;
+}
+
+html {
+ -webkit-box-sizing: border-box;
+ box-sizing: border-box;
+ -ms-overflow-style: scrollbar;
+}
+
+*,
+*::before,
+*::after {
+ -webkit-box-sizing: inherit;
+ box-sizing: inherit;
+}
+
+.container {
+ position: relative;
+ margin-right: auto;
+ margin-left: auto;
+ padding-right: 15px;
+ padding-left: 15px;
+}
+
+@media (min-width: 576px) {
+ .container {
+ padding-right: 15px;
+ padding-left: 15px;
+ }
+}
+
+@media (min-width: 768px) {
+ .container {
+ padding-right: 15px;
+ padding-left: 15px;
+ }
+}
+
+@media (min-width: 992px) {
+ .container {
+ padding-right: 15px;
+ padding-left: 15px;
+ }
+}
+
+@media (min-width: 1200px) {
+ .container {
+ padding-right: 15px;
+ padding-left: 15px;
+ }
+}
+
+@media (min-width: 576px) {
+ .container {
+ width: 540px;
+ max-width: 100%;
+ }
+}
+
+@media (min-width: 768px) {
+ .container {
+ width: 720px;
+ max-width: 100%;
+ }
+}
+
+@media (min-width: 992px) {
+ .container {
+ width: 960px;
+ max-width: 100%;
+ }
+}
+
+@media (min-width: 1200px) {
+ .container {
+ width: 1140px;
+ max-width: 100%;
+ }
+}
+
+.container-fluid {
+ position: relative;
+ margin-right: auto;
+ margin-left: auto;
+ padding-right: 15px;
+ padding-left: 15px;
+}
+
+@media (min-width: 576px) {
+ .container-fluid {
+ padding-right: 15px;
+ padding-left: 15px;
+ }
+}
+
+@media (min-width: 768px) {
+ .container-fluid {
+ padding-right: 15px;
+ padding-left: 15px;
+ }
+}
+
+@media (min-width: 992px) {
+ .container-fluid {
+ padding-right: 15px;
+ padding-left: 15px;
+ }
+}
+
+@media (min-width: 1200px) {
+ .container-fluid {
+ padding-right: 15px;
+ padding-left: 15px;
+ }
+}
+
+.row {
+ display: -webkit-box;
+ display: -webkit-flex;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-flex-wrap: wrap;
+ -ms-flex-wrap: wrap;
+ flex-wrap: wrap;
+ margin-right: -15px;
+ margin-left: -15px;
+}
+
+@media (min-width: 576px) {
+ .row {
+ margin-right: -15px;
+ margin-left: -15px;
+ }
+}
+
+@media (min-width: 768px) {
+ .row {
+ margin-right: -15px;
+ margin-left: -15px;
+ }
+}
+
+@media (min-width: 992px) {
+ .row {
+ margin-right: -15px;
+ margin-left: -15px;
+ }
+}
+
+@media (min-width: 1200px) {
+ .row {
+ 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-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-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-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-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-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 {
+ position: relative;
+ width: 100%;
+ min-height: 1px;
+ padding-right: 15px;
+ padding-left: 15px;
+}
+
+@media (min-width: 576px) {
+ .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-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-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-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-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 {
+ padding-right: 15px;
+ padding-left: 15px;
+ }
+}
+
+@media (min-width: 768px) {
+ .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-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-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-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-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 {
+ padding-right: 15px;
+ padding-left: 15px;
+ }
+}
+
+@media (min-width: 992px) {
+ .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-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-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-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-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 {
+ padding-right: 15px;
+ padding-left: 15px;
+ }
+}
+
+@media (min-width: 1200px) {
+ .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-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-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-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-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 {
+ padding-right: 15px;
+ padding-left: 15px;
+ }
+}
+
+.col {
+ -webkit-flex-basis: 0;
+ -ms-flex-preferred-size: 0;
+ flex-basis: 0;
+ -webkit-box-flex: 1;
+ -webkit-flex-grow: 1;
+ -ms-flex-positive: 1;
+ flex-grow: 1;
+ max-width: 100%;
+}
+
+.col-auto {
+ -webkit-box-flex: 0;
+ -webkit-flex: 0 0 auto;
+ -ms-flex: 0 0 auto;
+ flex: 0 0 auto;
+ width: auto;
+}
+
+.col-1 {
+ -webkit-box-flex: 0;
+ -webkit-flex: 0 0 8.333333%;
+ -ms-flex: 0 0 8.333333%;
+ flex: 0 0 8.333333%;
+ max-width: 8.333333%;
+}
+
+.col-2 {
+ -webkit-box-flex: 0;
+ -webkit-flex: 0 0 16.666667%;
+ -ms-flex: 0 0 16.666667%;
+ flex: 0 0 16.666667%;
+ max-width: 16.666667%;
+}
+
+.col-3 {
+ -webkit-box-flex: 0;
+ -webkit-flex: 0 0 25%;
+ -ms-flex: 0 0 25%;
+ flex: 0 0 25%;
+ max-width: 25%;
+}
+
+.col-4 {
+ -webkit-box-flex: 0;
+ -webkit-flex: 0 0 33.333333%;
+ -ms-flex: 0 0 33.333333%;
+ flex: 0 0 33.333333%;
+ max-width: 33.333333%;
+}
+
+.col-5 {
+ -webkit-box-flex: 0;
+ -webkit-flex: 0 0 41.666667%;
+ -ms-flex: 0 0 41.666667%;
+ flex: 0 0 41.666667%;
+ max-width: 41.666667%;
+}
+
+.col-6 {
+ -webkit-box-flex: 0;
+ -webkit-flex: 0 0 50%;
+ -ms-flex: 0 0 50%;
+ flex: 0 0 50%;
+ max-width: 50%;
+}
+
+.col-7 {
+ -webkit-box-flex: 0;
+ -webkit-flex: 0 0 58.333333%;
+ -ms-flex: 0 0 58.333333%;
+ flex: 0 0 58.333333%;
+ max-width: 58.333333%;
+}
+
+.col-8 {
+ -webkit-box-flex: 0;
+ -webkit-flex: 0 0 66.666667%;
+ -ms-flex: 0 0 66.666667%;
+ flex: 0 0 66.666667%;
+ max-width: 66.666667%;
+}
+
+.col-9 {
+ -webkit-box-flex: 0;
+ -webkit-flex: 0 0 75%;
+ -ms-flex: 0 0 75%;
+ flex: 0 0 75%;
+ max-width: 75%;
+}
+
+.col-10 {
+ -webkit-box-flex: 0;
+ -webkit-flex: 0 0 83.333333%;
+ -ms-flex: 0 0 83.333333%;
+ flex: 0 0 83.333333%;
+ max-width: 83.333333%;
+}
+
+.col-11 {
+ -webkit-box-flex: 0;
+ -webkit-flex: 0 0 91.666667%;
+ -ms-flex: 0 0 91.666667%;
+ flex: 0 0 91.666667%;
+ max-width: 91.666667%;
+}
+
+.col-12 {
+ -webkit-box-flex: 0;
+ -webkit-flex: 0 0 100%;
+ -ms-flex: 0 0 100%;
+ flex: 0 0 100%;
+ max-width: 100%;
+}
+
+.pull-0 {
+ right: auto;
+}
+
+.pull-1 {
+ right: 8.333333%;
+}
+
+.pull-2 {
+ right: 16.666667%;
+}
+
+.pull-3 {
+ right: 25%;
+}
+
+.pull-4 {
+ right: 33.333333%;
+}
+
+.pull-5 {
+ right: 41.666667%;
+}
+
+.pull-6 {
+ right: 50%;
+}
+
+.pull-7 {
+ right: 58.333333%;
+}
+
+.pull-8 {
+ right: 66.666667%;
+}
+
+.pull-9 {
+ right: 75%;
+}
+
+.pull-10 {
+ right: 83.333333%;
+}
+
+.pull-11 {
+ right: 91.666667%;
+}
+
+.pull-12 {
+ right: 100%;
+}
+
+.push-0 {
+ left: auto;
+}
+
+.push-1 {
+ left: 8.333333%;
+}
+
+.push-2 {
+ left: 16.666667%;
+}
+
+.push-3 {
+ left: 25%;
+}
+
+.push-4 {
+ left: 33.333333%;
+}
+
+.push-5 {
+ left: 41.666667%;
+}
+
+.push-6 {
+ left: 50%;
+}
+
+.push-7 {
+ left: 58.333333%;
+}
+
+.push-8 {
+ left: 66.666667%;
+}
+
+.push-9 {
+ left: 75%;
+}
+
+.push-10 {
+ left: 83.333333%;
+}
+
+.push-11 {
+ left: 91.666667%;
+}
+
+.push-12 {
+ left: 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 {
+ -webkit-flex-basis: 0;
+ -ms-flex-preferred-size: 0;
+ flex-basis: 0;
+ -webkit-box-flex: 1;
+ -webkit-flex-grow: 1;
+ -ms-flex-positive: 1;
+ flex-grow: 1;
+ max-width: 100%;
+ }
+ .col-sm-auto {
+ -webkit-box-flex: 0;
+ -webkit-flex: 0 0 auto;
+ -ms-flex: 0 0 auto;
+ flex: 0 0 auto;
+ width: auto;
+ }
+ .col-sm-1 {
+ -webkit-box-flex: 0;
+ -webkit-flex: 0 0 8.333333%;
+ -ms-flex: 0 0 8.333333%;
+ flex: 0 0 8.333333%;
+ max-width: 8.333333%;
+ }
+ .col-sm-2 {
+ -webkit-box-flex: 0;
+ -webkit-flex: 0 0 16.666667%;
+ -ms-flex: 0 0 16.666667%;
+ flex: 0 0 16.666667%;
+ max-width: 16.666667%;
+ }
+ .col-sm-3 {
+ -webkit-box-flex: 0;
+ -webkit-flex: 0 0 25%;
+ -ms-flex: 0 0 25%;
+ flex: 0 0 25%;
+ max-width: 25%;
+ }
+ .col-sm-4 {
+ -webkit-box-flex: 0;
+ -webkit-flex: 0 0 33.333333%;
+ -ms-flex: 0 0 33.333333%;
+ flex: 0 0 33.333333%;
+ max-width: 33.333333%;
+ }
+ .col-sm-5 {
+ -webkit-box-flex: 0;
+ -webkit-flex: 0 0 41.666667%;
+ -ms-flex: 0 0 41.666667%;
+ flex: 0 0 41.666667%;
+ max-width: 41.666667%;
+ }
+ .col-sm-6 {
+ -webkit-box-flex: 0;
+ -webkit-flex: 0 0 50%;
+ -ms-flex: 0 0 50%;
+ flex: 0 0 50%;
+ max-width: 50%;
+ }
+ .col-sm-7 {
+ -webkit-box-flex: 0;
+ -webkit-flex: 0 0 58.333333%;
+ -ms-flex: 0 0 58.333333%;
+ flex: 0 0 58.333333%;
+ max-width: 58.333333%;
+ }
+ .col-sm-8 {
+ -webkit-box-flex: 0;
+ -webkit-flex: 0 0 66.666667%;
+ -ms-flex: 0 0 66.666667%;
+ flex: 0 0 66.666667%;
+ max-width: 66.666667%;
+ }
+ .col-sm-9 {
+ -webkit-box-flex: 0;
+ -webkit-flex: 0 0 75%;
+ -ms-flex: 0 0 75%;
+ flex: 0 0 75%;
+ max-width: 75%;
+ }
+ .col-sm-10 {
+ -webkit-box-flex: 0;
+ -webkit-flex: 0 0 83.333333%;
+ -ms-flex: 0 0 83.333333%;
+ flex: 0 0 83.333333%;
+ max-width: 83.333333%;
+ }
+ .col-sm-11 {
+ -webkit-box-flex: 0;
+ -webkit-flex: 0 0 91.666667%;
+ -ms-flex: 0 0 91.666667%;
+ flex: 0 0 91.666667%;
+ max-width: 91.666667%;
+ }
+ .col-sm-12 {
+ -webkit-box-flex: 0;
+ -webkit-flex: 0 0 100%;
+ -ms-flex: 0 0 100%;
+ flex: 0 0 100%;
+ max-width: 100%;
+ }
+ .pull-sm-0 {
+ right: auto;
+ }
+ .pull-sm-1 {
+ right: 8.333333%;
+ }
+ .pull-sm-2 {
+ right: 16.666667%;
+ }
+ .pull-sm-3 {
+ right: 25%;
+ }
+ .pull-sm-4 {
+ right: 33.333333%;
+ }
+ .pull-sm-5 {
+ right: 41.666667%;
+ }
+ .pull-sm-6 {
+ right: 50%;
+ }
+ .pull-sm-7 {
+ right: 58.333333%;
+ }
+ .pull-sm-8 {
+ right: 66.666667%;
+ }
+ .pull-sm-9 {
+ right: 75%;
+ }
+ .pull-sm-10 {
+ right: 83.333333%;
+ }
+ .pull-sm-11 {
+ right: 91.666667%;
+ }
+ .pull-sm-12 {
+ right: 100%;
+ }
+ .push-sm-0 {
+ left: auto;
+ }
+ .push-sm-1 {
+ left: 8.333333%;
+ }
+ .push-sm-2 {
+ left: 16.666667%;
+ }
+ .push-sm-3 {
+ left: 25%;
+ }
+ .push-sm-4 {
+ left: 33.333333%;
+ }
+ .push-sm-5 {
+ left: 41.666667%;
+ }
+ .push-sm-6 {
+ left: 50%;
+ }
+ .push-sm-7 {
+ left: 58.333333%;
+ }
+ .push-sm-8 {
+ left: 66.666667%;
+ }
+ .push-sm-9 {
+ left: 75%;
+ }
+ .push-sm-10 {
+ left: 83.333333%;
+ }
+ .push-sm-11 {
+ left: 91.666667%;
+ }
+ .push-sm-12 {
+ left: 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 {
+ -webkit-flex-basis: 0;
+ -ms-flex-preferred-size: 0;
+ flex-basis: 0;
+ -webkit-box-flex: 1;
+ -webkit-flex-grow: 1;
+ -ms-flex-positive: 1;
+ flex-grow: 1;
+ max-width: 100%;
+ }
+ .col-md-auto {
+ -webkit-box-flex: 0;
+ -webkit-flex: 0 0 auto;
+ -ms-flex: 0 0 auto;
+ flex: 0 0 auto;
+ width: auto;
+ }
+ .col-md-1 {
+ -webkit-box-flex: 0;
+ -webkit-flex: 0 0 8.333333%;
+ -ms-flex: 0 0 8.333333%;
+ flex: 0 0 8.333333%;
+ max-width: 8.333333%;
+ }
+ .col-md-2 {
+ -webkit-box-flex: 0;
+ -webkit-flex: 0 0 16.666667%;
+ -ms-flex: 0 0 16.666667%;
+ flex: 0 0 16.666667%;
+ max-width: 16.666667%;
+ }
+ .col-md-3 {
+ -webkit-box-flex: 0;
+ -webkit-flex: 0 0 25%;
+ -ms-flex: 0 0 25%;
+ flex: 0 0 25%;
+ max-width: 25%;
+ }
+ .col-md-4 {
+ -webkit-box-flex: 0;
+ -webkit-flex: 0 0 33.333333%;
+ -ms-flex: 0 0 33.333333%;
+ flex: 0 0 33.333333%;
+ max-width: 33.333333%;
+ }
+ .col-md-5 {
+ -webkit-box-flex: 0;
+ -webkit-flex: 0 0 41.666667%;
+ -ms-flex: 0 0 41.666667%;
+ flex: 0 0 41.666667%;
+ max-width: 41.666667%;
+ }
+ .col-md-6 {
+ -webkit-box-flex: 0;
+ -webkit-flex: 0 0 50%;
+ -ms-flex: 0 0 50%;
+ flex: 0 0 50%;
+ max-width: 50%;
+ }
+ .col-md-7 {
+ -webkit-box-flex: 0;
+ -webkit-flex: 0 0 58.333333%;
+ -ms-flex: 0 0 58.333333%;
+ flex: 0 0 58.333333%;
+ max-width: 58.333333%;
+ }
+ .col-md-8 {
+ -webkit-box-flex: 0;
+ -webkit-flex: 0 0 66.666667%;
+ -ms-flex: 0 0 66.666667%;
+ flex: 0 0 66.666667%;
+ max-width: 66.666667%;
+ }
+ .col-md-9 {
+ -webkit-box-flex: 0;
+ -webkit-flex: 0 0 75%;
+ -ms-flex: 0 0 75%;
+ flex: 0 0 75%;
+ max-width: 75%;
+ }
+ .col-md-10 {
+ -webkit-box-flex: 0;
+ -webkit-flex: 0 0 83.333333%;
+ -ms-flex: 0 0 83.333333%;
+ flex: 0 0 83.333333%;
+ max-width: 83.333333%;
+ }
+ .col-md-11 {
+ -webkit-box-flex: 0;
+ -webkit-flex: 0 0 91.666667%;
+ -ms-flex: 0 0 91.666667%;
+ flex: 0 0 91.666667%;
+ max-width: 91.666667%;
+ }
+ .col-md-12 {
+ -webkit-box-flex: 0;
+ -webkit-flex: 0 0 100%;
+ -ms-flex: 0 0 100%;
+ flex: 0 0 100%;
+ max-width: 100%;
+ }
+ .pull-md-0 {
+ right: auto;
+ }
+ .pull-md-1 {
+ right: 8.333333%;
+ }
+ .pull-md-2 {
+ right: 16.666667%;
+ }
+ .pull-md-3 {
+ right: 25%;
+ }
+ .pull-md-4 {
+ right: 33.333333%;
+ }
+ .pull-md-5 {
+ right: 41.666667%;
+ }
+ .pull-md-6 {
+ right: 50%;
+ }
+ .pull-md-7 {
+ right: 58.333333%;
+ }
+ .pull-md-8 {
+ right: 66.666667%;
+ }
+ .pull-md-9 {
+ right: 75%;
+ }
+ .pull-md-10 {
+ right: 83.333333%;
+ }
+ .pull-md-11 {
+ right: 91.666667%;
+ }
+ .pull-md-12 {
+ right: 100%;
+ }
+ .push-md-0 {
+ left: auto;
+ }
+ .push-md-1 {
+ left: 8.333333%;
+ }
+ .push-md-2 {
+ left: 16.666667%;
+ }
+ .push-md-3 {
+ left: 25%;
+ }
+ .push-md-4 {
+ left: 33.333333%;
+ }
+ .push-md-5 {
+ left: 41.666667%;
+ }
+ .push-md-6 {
+ left: 50%;
+ }
+ .push-md-7 {
+ left: 58.333333%;
+ }
+ .push-md-8 {
+ left: 66.666667%;
+ }
+ .push-md-9 {
+ left: 75%;
+ }
+ .push-md-10 {
+ left: 83.333333%;
+ }
+ .push-md-11 {
+ left: 91.666667%;
+ }
+ .push-md-12 {
+ left: 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 {
+ -webkit-flex-basis: 0;
+ -ms-flex-preferred-size: 0;
+ flex-basis: 0;
+ -webkit-box-flex: 1;
+ -webkit-flex-grow: 1;
+ -ms-flex-positive: 1;
+ flex-grow: 1;
+ max-width: 100%;
+ }
+ .col-lg-auto {
+ -webkit-box-flex: 0;
+ -webkit-flex: 0 0 auto;
+ -ms-flex: 0 0 auto;
+ flex: 0 0 auto;
+ width: auto;
+ }
+ .col-lg-1 {
+ -webkit-box-flex: 0;
+ -webkit-flex: 0 0 8.333333%;
+ -ms-flex: 0 0 8.333333%;
+ flex: 0 0 8.333333%;
+ max-width: 8.333333%;
+ }
+ .col-lg-2 {
+ -webkit-box-flex: 0;
+ -webkit-flex: 0 0 16.666667%;
+ -ms-flex: 0 0 16.666667%;
+ flex: 0 0 16.666667%;
+ max-width: 16.666667%;
+ }
+ .col-lg-3 {
+ -webkit-box-flex: 0;
+ -webkit-flex: 0 0 25%;
+ -ms-flex: 0 0 25%;
+ flex: 0 0 25%;
+ max-width: 25%;
+ }
+ .col-lg-4 {
+ -webkit-box-flex: 0;
+ -webkit-flex: 0 0 33.333333%;
+ -ms-flex: 0 0 33.333333%;
+ flex: 0 0 33.333333%;
+ max-width: 33.333333%;
+ }
+ .col-lg-5 {
+ -webkit-box-flex: 0;
+ -webkit-flex: 0 0 41.666667%;
+ -ms-flex: 0 0 41.666667%;
+ flex: 0 0 41.666667%;
+ max-width: 41.666667%;
+ }
+ .col-lg-6 {
+ -webkit-box-flex: 0;
+ -webkit-flex: 0 0 50%;
+ -ms-flex: 0 0 50%;
+ flex: 0 0 50%;
+ max-width: 50%;
+ }
+ .col-lg-7 {
+ -webkit-box-flex: 0;
+ -webkit-flex: 0 0 58.333333%;
+ -ms-flex: 0 0 58.333333%;
+ flex: 0 0 58.333333%;
+ max-width: 58.333333%;
+ }
+ .col-lg-8 {
+ -webkit-box-flex: 0;
+ -webkit-flex: 0 0 66.666667%;
+ -ms-flex: 0 0 66.666667%;
+ flex: 0 0 66.666667%;
+ max-width: 66.666667%;
+ }
+ .col-lg-9 {
+ -webkit-box-flex: 0;
+ -webkit-flex: 0 0 75%;
+ -ms-flex: 0 0 75%;
+ flex: 0 0 75%;
+ max-width: 75%;
+ }
+ .col-lg-10 {
+ -webkit-box-flex: 0;
+ -webkit-flex: 0 0 83.333333%;
+ -ms-flex: 0 0 83.333333%;
+ flex: 0 0 83.333333%;
+ max-width: 83.333333%;
+ }
+ .col-lg-11 {
+ -webkit-box-flex: 0;
+ -webkit-flex: 0 0 91.666667%;
+ -ms-flex: 0 0 91.666667%;
+ flex: 0 0 91.666667%;
+ max-width: 91.666667%;
+ }
+ .col-lg-12 {
+ -webkit-box-flex: 0;
+ -webkit-flex: 0 0 100%;
+ -ms-flex: 0 0 100%;
+ flex: 0 0 100%;
+ max-width: 100%;
+ }
+ .pull-lg-0 {
+ right: auto;
+ }
+ .pull-lg-1 {
+ right: 8.333333%;
+ }
+ .pull-lg-2 {
+ right: 16.666667%;
+ }
+ .pull-lg-3 {
+ right: 25%;
+ }
+ .pull-lg-4 {
+ right: 33.333333%;
+ }
+ .pull-lg-5 {
+ right: 41.666667%;
+ }
+ .pull-lg-6 {
+ right: 50%;
+ }
+ .pull-lg-7 {
+ right: 58.333333%;
+ }
+ .pull-lg-8 {
+ right: 66.666667%;
+ }
+ .pull-lg-9 {
+ right: 75%;
+ }
+ .pull-lg-10 {
+ right: 83.333333%;
+ }
+ .pull-lg-11 {
+ right: 91.666667%;
+ }
+ .pull-lg-12 {
+ right: 100%;
+ }
+ .push-lg-0 {
+ left: auto;
+ }
+ .push-lg-1 {
+ left: 8.333333%;
+ }
+ .push-lg-2 {
+ left: 16.666667%;
+ }
+ .push-lg-3 {
+ left: 25%;
+ }
+ .push-lg-4 {
+ left: 33.333333%;
+ }
+ .push-lg-5 {
+ left: 41.666667%;
+ }
+ .push-lg-6 {
+ left: 50%;
+ }
+ .push-lg-7 {
+ left: 58.333333%;
+ }
+ .push-lg-8 {
+ left: 66.666667%;
+ }
+ .push-lg-9 {
+ left: 75%;
+ }
+ .push-lg-10 {
+ left: 83.333333%;
+ }
+ .push-lg-11 {
+ left: 91.666667%;
+ }
+ .push-lg-12 {
+ left: 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 {
+ -webkit-flex-basis: 0;
+ -ms-flex-preferred-size: 0;
+ flex-basis: 0;
+ -webkit-box-flex: 1;
+ -webkit-flex-grow: 1;
+ -ms-flex-positive: 1;
+ flex-grow: 1;
+ max-width: 100%;
+ }
+ .col-xl-auto {
+ -webkit-box-flex: 0;
+ -webkit-flex: 0 0 auto;
+ -ms-flex: 0 0 auto;
+ flex: 0 0 auto;
+ width: auto;
+ }
+ .col-xl-1 {
+ -webkit-box-flex: 0;
+ -webkit-flex: 0 0 8.333333%;
+ -ms-flex: 0 0 8.333333%;
+ flex: 0 0 8.333333%;
+ max-width: 8.333333%;
+ }
+ .col-xl-2 {
+ -webkit-box-flex: 0;
+ -webkit-flex: 0 0 16.666667%;
+ -ms-flex: 0 0 16.666667%;
+ flex: 0 0 16.666667%;
+ max-width: 16.666667%;
+ }
+ .col-xl-3 {
+ -webkit-box-flex: 0;
+ -webkit-flex: 0 0 25%;
+ -ms-flex: 0 0 25%;
+ flex: 0 0 25%;
+ max-width: 25%;
+ }
+ .col-xl-4 {
+ -webkit-box-flex: 0;
+ -webkit-flex: 0 0 33.333333%;
+ -ms-flex: 0 0 33.333333%;
+ flex: 0 0 33.333333%;
+ max-width: 33.333333%;
+ }
+ .col-xl-5 {
+ -webkit-box-flex: 0;
+ -webkit-flex: 0 0 41.666667%;
+ -ms-flex: 0 0 41.666667%;
+ flex: 0 0 41.666667%;
+ max-width: 41.666667%;
+ }
+ .col-xl-6 {
+ -webkit-box-flex: 0;
+ -webkit-flex: 0 0 50%;
+ -ms-flex: 0 0 50%;
+ flex: 0 0 50%;
+ max-width: 50%;
+ }
+ .col-xl-7 {
+ -webkit-box-flex: 0;
+ -webkit-flex: 0 0 58.333333%;
+ -ms-flex: 0 0 58.333333%;
+ flex: 0 0 58.333333%;
+ max-width: 58.333333%;
+ }
+ .col-xl-8 {
+ -webkit-box-flex: 0;
+ -webkit-flex: 0 0 66.666667%;
+ -ms-flex: 0 0 66.666667%;
+ flex: 0 0 66.666667%;
+ max-width: 66.666667%;
+ }
+ .col-xl-9 {
+ -webkit-box-flex: 0;
+ -webkit-flex: 0 0 75%;
+ -ms-flex: 0 0 75%;
+ flex: 0 0 75%;
+ max-width: 75%;
+ }
+ .col-xl-10 {
+ -webkit-box-flex: 0;
+ -webkit-flex: 0 0 83.333333%;
+ -ms-flex: 0 0 83.333333%;
+ flex: 0 0 83.333333%;
+ max-width: 83.333333%;
+ }
+ .col-xl-11 {
+ -webkit-box-flex: 0;
+ -webkit-flex: 0 0 91.666667%;
+ -ms-flex: 0 0 91.666667%;
+ flex: 0 0 91.666667%;
+ max-width: 91.666667%;
+ }
+ .col-xl-12 {
+ -webkit-box-flex: 0;
+ -webkit-flex: 0 0 100%;
+ -ms-flex: 0 0 100%;
+ flex: 0 0 100%;
+ max-width: 100%;
+ }
+ .pull-xl-0 {
+ right: auto;
+ }
+ .pull-xl-1 {
+ right: 8.333333%;
+ }
+ .pull-xl-2 {
+ right: 16.666667%;
+ }
+ .pull-xl-3 {
+ right: 25%;
+ }
+ .pull-xl-4 {
+ right: 33.333333%;
+ }
+ .pull-xl-5 {
+ right: 41.666667%;
+ }
+ .pull-xl-6 {
+ right: 50%;
+ }
+ .pull-xl-7 {
+ right: 58.333333%;
+ }
+ .pull-xl-8 {
+ right: 66.666667%;
+ }
+ .pull-xl-9 {
+ right: 75%;
+ }
+ .pull-xl-10 {
+ right: 83.333333%;
+ }
+ .pull-xl-11 {
+ right: 91.666667%;
+ }
+ .pull-xl-12 {
+ right: 100%;
+ }
+ .push-xl-0 {
+ left: auto;
+ }
+ .push-xl-1 {
+ left: 8.333333%;
+ }
+ .push-xl-2 {
+ left: 16.666667%;
+ }
+ .push-xl-3 {
+ left: 25%;
+ }
+ .push-xl-4 {
+ left: 33.333333%;
+ }
+ .push-xl-5 {
+ left: 41.666667%;
+ }
+ .push-xl-6 {
+ left: 50%;
+ }
+ .push-xl-7 {
+ left: 58.333333%;
+ }
+ .push-xl-8 {
+ left: 66.666667%;
+ }
+ .push-xl-9 {
+ left: 75%;
+ }
+ .push-xl-10 {
+ left: 83.333333%;
+ }
+ .push-xl-11 {
+ left: 91.666667%;
+ }
+ .push-xl-12 {
+ left: 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%;
+ }
+}
+
+.order-first {
+ -webkit-box-ordinal-group: 0;
+ -webkit-order: -1;
+ -ms-flex-order: -1;
+ order: -1;
+}
+
+.order-last {
+ -webkit-box-ordinal-group: 2;
+ -webkit-order: 1;
+ -ms-flex-order: 1;
+ order: 1;
+}
+
+.order-0 {
+ -webkit-box-ordinal-group: 1;
+ -webkit-order: 0;
+ -ms-flex-order: 0;
+ order: 0;
+}
+
+.flex-row {
+ -webkit-box-orient: horizontal !important;
+ -webkit-box-direction: normal !important;
+ -webkit-flex-direction: row !important;
+ -ms-flex-direction: row !important;
+ flex-direction: row !important;
+}
+
+.flex-column {
+ -webkit-box-orient: vertical !important;
+ -webkit-box-direction: normal !important;
+ -webkit-flex-direction: column !important;
+ -ms-flex-direction: column !important;
+ flex-direction: column !important;
+}
+
+.flex-row-reverse {
+ -webkit-box-orient: horizontal !important;
+ -webkit-box-direction: reverse !important;
+ -webkit-flex-direction: row-reverse !important;
+ -ms-flex-direction: row-reverse !important;
+ flex-direction: row-reverse !important;
+}
+
+.flex-column-reverse {
+ -webkit-box-orient: vertical !important;
+ -webkit-box-direction: reverse !important;
+ -webkit-flex-direction: column-reverse !important;
+ -ms-flex-direction: column-reverse !important;
+ flex-direction: column-reverse !important;
+}
+
+.flex-wrap {
+ -webkit-flex-wrap: wrap !important;
+ -ms-flex-wrap: wrap !important;
+ flex-wrap: wrap !important;
+}
+
+.flex-nowrap {
+ -webkit-flex-wrap: nowrap !important;
+ -ms-flex-wrap: nowrap !important;
+ flex-wrap: nowrap !important;
+}
+
+.flex-wrap-reverse {
+ -webkit-flex-wrap: wrap-reverse !important;
+ -ms-flex-wrap: wrap-reverse !important;
+ flex-wrap: wrap-reverse !important;
+}
+
+.justify-content-start {
+ -webkit-box-pack: start !important;
+ -webkit-justify-content: flex-start !important;
+ -ms-flex-pack: start !important;
+ justify-content: flex-start !important;
+}
+
+.justify-content-end {
+ -webkit-box-pack: end !important;
+ -webkit-justify-content: flex-end !important;
+ -ms-flex-pack: end !important;
+ justify-content: flex-end !important;
+}
+
+.justify-content-center {
+ -webkit-box-pack: center !important;
+ -webkit-justify-content: center !important;
+ -ms-flex-pack: center !important;
+ justify-content: center !important;
+}
+
+.justify-content-between {
+ -webkit-box-pack: justify !important;
+ -webkit-justify-content: space-between !important;
+ -ms-flex-pack: justify !important;
+ justify-content: space-between !important;
+}
+
+.justify-content-around {
+ -webkit-justify-content: space-around !important;
+ -ms-flex-pack: distribute !important;
+ justify-content: space-around !important;
+}
+
+.align-items-start {
+ -webkit-box-align: start !important;
+ -webkit-align-items: flex-start !important;
+ -ms-flex-align: start !important;
+ align-items: flex-start !important;
+}
+
+.align-items-end {
+ -webkit-box-align: end !important;
+ -webkit-align-items: flex-end !important;
+ -ms-flex-align: end !important;
+ align-items: flex-end !important;
+}
+
+.align-items-center {
+ -webkit-box-align: center !important;
+ -webkit-align-items: center !important;
+ -ms-flex-align: center !important;
+ align-items: center !important;
+}
+
+.align-items-baseline {
+ -webkit-box-align: baseline !important;
+ -webkit-align-items: baseline !important;
+ -ms-flex-align: baseline !important;
+ align-items: baseline !important;
+}
+
+.align-items-stretch {
+ -webkit-box-align: stretch !important;
+ -webkit-align-items: stretch !important;
+ -ms-flex-align: stretch !important;
+ align-items: stretch !important;
+}
+
+.align-content-start {
+ -webkit-align-content: flex-start !important;
+ -ms-flex-line-pack: start !important;
+ align-content: flex-start !important;
+}
+
+.align-content-end {
+ -webkit-align-content: flex-end !important;
+ -ms-flex-line-pack: end !important;
+ align-content: flex-end !important;
+}
+
+.align-content-center {
+ -webkit-align-content: center !important;
+ -ms-flex-line-pack: center !important;
+ align-content: center !important;
+}
+
+.align-content-between {
+ -webkit-align-content: space-between !important;
+ -ms-flex-line-pack: justify !important;
+ align-content: space-between !important;
+}
+
+.align-content-around {
+ -webkit-align-content: space-around !important;
+ -ms-flex-line-pack: distribute !important;
+ align-content: space-around !important;
+}
+
+.align-content-stretch {
+ -webkit-align-content: stretch !important;
+ -ms-flex-line-pack: stretch !important;
+ align-content: stretch !important;
+}
+
+.align-self-auto {
+ -webkit-align-self: auto !important;
+ -ms-flex-item-align: auto !important;
+ -ms-grid-row-align: auto !important;
+ align-self: auto !important;
+}
+
+.align-self-start {
+ -webkit-align-self: flex-start !important;
+ -ms-flex-item-align: start !important;
+ align-self: flex-start !important;
+}
+
+.align-self-end {
+ -webkit-align-self: flex-end !important;
+ -ms-flex-item-align: end !important;
+ align-self: flex-end !important;
+}
+
+.align-self-center {
+ -webkit-align-self: center !important;
+ -ms-flex-item-align: center !important;
+ -ms-grid-row-align: center !important;
+ align-self: center !important;
+}
+
+.align-self-baseline {
+ -webkit-align-self: baseline !important;
+ -ms-flex-item-align: baseline !important;
+ align-self: baseline !important;
+}
+
+.align-self-stretch {
+ -webkit-align-self: stretch !important;
+ -ms-flex-item-align: stretch !important;
+ -ms-grid-row-align: stretch !important;
+ align-self: stretch !important;
+}
+
+@media (min-width: 576px) {
+ .order-sm-first {
+ -webkit-box-ordinal-group: 0;
+ -webkit-order: -1;
+ -ms-flex-order: -1;
+ order: -1;
+ }
+ .order-sm-last {
+ -webkit-box-ordinal-group: 2;
+ -webkit-order: 1;
+ -ms-flex-order: 1;
+ order: 1;
+ }
+ .order-sm-0 {
+ -webkit-box-ordinal-group: 1;
+ -webkit-order: 0;
+ -ms-flex-order: 0;
+ order: 0;
+ }
+ .flex-sm-row {
+ -webkit-box-orient: horizontal !important;
+ -webkit-box-direction: normal !important;
+ -webkit-flex-direction: row !important;
+ -ms-flex-direction: row !important;
+ flex-direction: row !important;
+ }
+ .flex-sm-column {
+ -webkit-box-orient: vertical !important;
+ -webkit-box-direction: normal !important;
+ -webkit-flex-direction: column !important;
+ -ms-flex-direction: column !important;
+ flex-direction: column !important;
+ }
+ .flex-sm-row-reverse {
+ -webkit-box-orient: horizontal !important;
+ -webkit-box-direction: reverse !important;
+ -webkit-flex-direction: row-reverse !important;
+ -ms-flex-direction: row-reverse !important;
+ flex-direction: row-reverse !important;
+ }
+ .flex-sm-column-reverse {
+ -webkit-box-orient: vertical !important;
+ -webkit-box-direction: reverse !important;
+ -webkit-flex-direction: column-reverse !important;
+ -ms-flex-direction: column-reverse !important;
+ flex-direction: column-reverse !important;
+ }
+ .flex-sm-wrap {
+ -webkit-flex-wrap: wrap !important;
+ -ms-flex-wrap: wrap !important;
+ flex-wrap: wrap !important;
+ }
+ .flex-sm-nowrap {
+ -webkit-flex-wrap: nowrap !important;
+ -ms-flex-wrap: nowrap !important;
+ flex-wrap: nowrap !important;
+ }
+ .flex-sm-wrap-reverse {
+ -webkit-flex-wrap: wrap-reverse !important;
+ -ms-flex-wrap: wrap-reverse !important;
+ flex-wrap: wrap-reverse !important;
+ }
+ .justify-content-sm-start {
+ -webkit-box-pack: start !important;
+ -webkit-justify-content: flex-start !important;
+ -ms-flex-pack: start !important;
+ justify-content: flex-start !important;
+ }
+ .justify-content-sm-end {
+ -webkit-box-pack: end !important;
+ -webkit-justify-content: flex-end !important;
+ -ms-flex-pack: end !important;
+ justify-content: flex-end !important;
+ }
+ .justify-content-sm-center {
+ -webkit-box-pack: center !important;
+ -webkit-justify-content: center !important;
+ -ms-flex-pack: center !important;
+ justify-content: center !important;
+ }
+ .justify-content-sm-between {
+ -webkit-box-pack: justify !important;
+ -webkit-justify-content: space-between !important;
+ -ms-flex-pack: justify !important;
+ justify-content: space-between !important;
+ }
+ .justify-content-sm-around {
+ -webkit-justify-content: space-around !important;
+ -ms-flex-pack: distribute !important;
+ justify-content: space-around !important;
+ }
+ .align-items-sm-start {
+ -webkit-box-align: start !important;
+ -webkit-align-items: flex-start !important;
+ -ms-flex-align: start !important;
+ align-items: flex-start !important;
+ }
+ .align-items-sm-end {
+ -webkit-box-align: end !important;
+ -webkit-align-items: flex-end !important;
+ -ms-flex-align: end !important;
+ align-items: flex-end !important;
+ }
+ .align-items-sm-center {
+ -webkit-box-align: center !important;
+ -webkit-align-items: center !important;
+ -ms-flex-align: center !important;
+ align-items: center !important;
+ }
+ .align-items-sm-baseline {
+ -webkit-box-align: baseline !important;
+ -webkit-align-items: baseline !important;
+ -ms-flex-align: baseline !important;
+ align-items: baseline !important;
+ }
+ .align-items-sm-stretch {
+ -webkit-box-align: stretch !important;
+ -webkit-align-items: stretch !important;
+ -ms-flex-align: stretch !important;
+ align-items: stretch !important;
+ }
+ .align-content-sm-start {
+ -webkit-align-content: flex-start !important;
+ -ms-flex-line-pack: start !important;
+ align-content: flex-start !important;
+ }
+ .align-content-sm-end {
+ -webkit-align-content: flex-end !important;
+ -ms-flex-line-pack: end !important;
+ align-content: flex-end !important;
+ }
+ .align-content-sm-center {
+ -webkit-align-content: center !important;
+ -ms-flex-line-pack: center !important;
+ align-content: center !important;
+ }
+ .align-content-sm-between {
+ -webkit-align-content: space-between !important;
+ -ms-flex-line-pack: justify !important;
+ align-content: space-between !important;
+ }
+ .align-content-sm-around {
+ -webkit-align-content: space-around !important;
+ -ms-flex-line-pack: distribute !important;
+ align-content: space-around !important;
+ }
+ .align-content-sm-stretch {
+ -webkit-align-content: stretch !important;
+ -ms-flex-line-pack: stretch !important;
+ align-content: stretch !important;
+ }
+ .align-self-sm-auto {
+ -webkit-align-self: auto !important;
+ -ms-flex-item-align: auto !important;
+ -ms-grid-row-align: auto !important;
+ align-self: auto !important;
+ }
+ .align-self-sm-start {
+ -webkit-align-self: flex-start !important;
+ -ms-flex-item-align: start !important;
+ align-self: flex-start !important;
+ }
+ .align-self-sm-end {
+ -webkit-align-self: flex-end !important;
+ -ms-flex-item-align: end !important;
+ align-self: flex-end !important;
+ }
+ .align-self-sm-center {
+ -webkit-align-self: center !important;
+ -ms-flex-item-align: center !important;
+ -ms-grid-row-align: center !important;
+ align-self: center !important;
+ }
+ .align-self-sm-baseline {
+ -webkit-align-self: baseline !important;
+ -ms-flex-item-align: baseline !important;
+ align-self: baseline !important;
+ }
+ .align-self-sm-stretch {
+ -webkit-align-self: stretch !important;
+ -ms-flex-item-align: stretch !important;
+ -ms-grid-row-align: stretch !important;
+ align-self: stretch !important;
+ }
+}
+
+@media (min-width: 768px) {
+ .order-md-first {
+ -webkit-box-ordinal-group: 0;
+ -webkit-order: -1;
+ -ms-flex-order: -1;
+ order: -1;
+ }
+ .order-md-last {
+ -webkit-box-ordinal-group: 2;
+ -webkit-order: 1;
+ -ms-flex-order: 1;
+ order: 1;
+ }
+ .order-md-0 {
+ -webkit-box-ordinal-group: 1;
+ -webkit-order: 0;
+ -ms-flex-order: 0;
+ order: 0;
+ }
+ .flex-md-row {
+ -webkit-box-orient: horizontal !important;
+ -webkit-box-direction: normal !important;
+ -webkit-flex-direction: row !important;
+ -ms-flex-direction: row !important;
+ flex-direction: row !important;
+ }
+ .flex-md-column {
+ -webkit-box-orient: vertical !important;
+ -webkit-box-direction: normal !important;
+ -webkit-flex-direction: column !important;
+ -ms-flex-direction: column !important;
+ flex-direction: column !important;
+ }
+ .flex-md-row-reverse {
+ -webkit-box-orient: horizontal !important;
+ -webkit-box-direction: reverse !important;
+ -webkit-flex-direction: row-reverse !important;
+ -ms-flex-direction: row-reverse !important;
+ flex-direction: row-reverse !important;
+ }
+ .flex-md-column-reverse {
+ -webkit-box-orient: vertical !important;
+ -webkit-box-direction: reverse !important;
+ -webkit-flex-direction: column-reverse !important;
+ -ms-flex-direction: column-reverse !important;
+ flex-direction: column-reverse !important;
+ }
+ .flex-md-wrap {
+ -webkit-flex-wrap: wrap !important;
+ -ms-flex-wrap: wrap !important;
+ flex-wrap: wrap !important;
+ }
+ .flex-md-nowrap {
+ -webkit-flex-wrap: nowrap !important;
+ -ms-flex-wrap: nowrap !important;
+ flex-wrap: nowrap !important;
+ }
+ .flex-md-wrap-reverse {
+ -webkit-flex-wrap: wrap-reverse !important;
+ -ms-flex-wrap: wrap-reverse !important;
+ flex-wrap: wrap-reverse !important;
+ }
+ .justify-content-md-start {
+ -webkit-box-pack: start !important;
+ -webkit-justify-content: flex-start !important;
+ -ms-flex-pack: start !important;
+ justify-content: flex-start !important;
+ }
+ .justify-content-md-end {
+ -webkit-box-pack: end !important;
+ -webkit-justify-content: flex-end !important;
+ -ms-flex-pack: end !important;
+ justify-content: flex-end !important;
+ }
+ .justify-content-md-center {
+ -webkit-box-pack: center !important;
+ -webkit-justify-content: center !important;
+ -ms-flex-pack: center !important;
+ justify-content: center !important;
+ }
+ .justify-content-md-between {
+ -webkit-box-pack: justify !important;
+ -webkit-justify-content: space-between !important;
+ -ms-flex-pack: justify !important;
+ justify-content: space-between !important;
+ }
+ .justify-content-md-around {
+ -webkit-justify-content: space-around !important;
+ -ms-flex-pack: distribute !important;
+ justify-content: space-around !important;
+ }
+ .align-items-md-start {
+ -webkit-box-align: start !important;
+ -webkit-align-items: flex-start !important;
+ -ms-flex-align: start !important;
+ align-items: flex-start !important;
+ }
+ .align-items-md-end {
+ -webkit-box-align: end !important;
+ -webkit-align-items: flex-end !important;
+ -ms-flex-align: end !important;
+ align-items: flex-end !important;
+ }
+ .align-items-md-center {
+ -webkit-box-align: center !important;
+ -webkit-align-items: center !important;
+ -ms-flex-align: center !important;
+ align-items: center !important;
+ }
+ .align-items-md-baseline {
+ -webkit-box-align: baseline !important;
+ -webkit-align-items: baseline !important;
+ -ms-flex-align: baseline !important;
+ align-items: baseline !important;
+ }
+ .align-items-md-stretch {
+ -webkit-box-align: stretch !important;
+ -webkit-align-items: stretch !important;
+ -ms-flex-align: stretch !important;
+ align-items: stretch !important;
+ }
+ .align-content-md-start {
+ -webkit-align-content: flex-start !important;
+ -ms-flex-line-pack: start !important;
+ align-content: flex-start !important;
+ }
+ .align-content-md-end {
+ -webkit-align-content: flex-end !important;
+ -ms-flex-line-pack: end !important;
+ align-content: flex-end !important;
+ }
+ .align-content-md-center {
+ -webkit-align-content: center !important;
+ -ms-flex-line-pack: center !important;
+ align-content: center !important;
+ }
+ .align-content-md-between {
+ -webkit-align-content: space-between !important;
+ -ms-flex-line-pack: justify !important;
+ align-content: space-between !important;
+ }
+ .align-content-md-around {
+ -webkit-align-content: space-around !important;
+ -ms-flex-line-pack: distribute !important;
+ align-content: space-around !important;
+ }
+ .align-content-md-stretch {
+ -webkit-align-content: stretch !important;
+ -ms-flex-line-pack: stretch !important;
+ align-content: stretch !important;
+ }
+ .align-self-md-auto {
+ -webkit-align-self: auto !important;
+ -ms-flex-item-align: auto !important;
+ -ms-grid-row-align: auto !important;
+ align-self: auto !important;
+ }
+ .align-self-md-start {
+ -webkit-align-self: flex-start !important;
+ -ms-flex-item-align: start !important;
+ align-self: flex-start !important;
+ }
+ .align-self-md-end {
+ -webkit-align-self: flex-end !important;
+ -ms-flex-item-align: end !important;
+ align-self: flex-end !important;
+ }
+ .align-self-md-center {
+ -webkit-align-self: center !important;
+ -ms-flex-item-align: center !important;
+ -ms-grid-row-align: center !important;
+ align-self: center !important;
+ }
+ .align-self-md-baseline {
+ -webkit-align-self: baseline !important;
+ -ms-flex-item-align: baseline !important;
+ align-self: baseline !important;
+ }
+ .align-self-md-stretch {
+ -webkit-align-self: stretch !important;
+ -ms-flex-item-align: stretch !important;
+ -ms-grid-row-align: stretch !important;
+ align-self: stretch !important;
+ }
+}
+
+@media (min-width: 992px) {
+ .order-lg-first {
+ -webkit-box-ordinal-group: 0;
+ -webkit-order: -1;
+ -ms-flex-order: -1;
+ order: -1;
+ }
+ .order-lg-last {
+ -webkit-box-ordinal-group: 2;
+ -webkit-order: 1;
+ -ms-flex-order: 1;
+ order: 1;
+ }
+ .order-lg-0 {
+ -webkit-box-ordinal-group: 1;
+ -webkit-order: 0;
+ -ms-flex-order: 0;
+ order: 0;
+ }
+ .flex-lg-row {
+ -webkit-box-orient: horizontal !important;
+ -webkit-box-direction: normal !important;
+ -webkit-flex-direction: row !important;
+ -ms-flex-direction: row !important;
+ flex-direction: row !important;
+ }
+ .flex-lg-column {
+ -webkit-box-orient: vertical !important;
+ -webkit-box-direction: normal !important;
+ -webkit-flex-direction: column !important;
+ -ms-flex-direction: column !important;
+ flex-direction: column !important;
+ }
+ .flex-lg-row-reverse {
+ -webkit-box-orient: horizontal !important;
+ -webkit-box-direction: reverse !important;
+ -webkit-flex-direction: row-reverse !important;
+ -ms-flex-direction: row-reverse !important;
+ flex-direction: row-reverse !important;
+ }
+ .flex-lg-column-reverse {
+ -webkit-box-orient: vertical !important;
+ -webkit-box-direction: reverse !important;
+ -webkit-flex-direction: column-reverse !important;
+ -ms-flex-direction: column-reverse !important;
+ flex-direction: column-reverse !important;
+ }
+ .flex-lg-wrap {
+ -webkit-flex-wrap: wrap !important;
+ -ms-flex-wrap: wrap !important;
+ flex-wrap: wrap !important;
+ }
+ .flex-lg-nowrap {
+ -webkit-flex-wrap: nowrap !important;
+ -ms-flex-wrap: nowrap !important;
+ flex-wrap: nowrap !important;
+ }
+ .flex-lg-wrap-reverse {
+ -webkit-flex-wrap: wrap-reverse !important;
+ -ms-flex-wrap: wrap-reverse !important;
+ flex-wrap: wrap-reverse !important;
+ }
+ .justify-content-lg-start {
+ -webkit-box-pack: start !important;
+ -webkit-justify-content: flex-start !important;
+ -ms-flex-pack: start !important;
+ justify-content: flex-start !important;
+ }
+ .justify-content-lg-end {
+ -webkit-box-pack: end !important;
+ -webkit-justify-content: flex-end !important;
+ -ms-flex-pack: end !important;
+ justify-content: flex-end !important;
+ }
+ .justify-content-lg-center {
+ -webkit-box-pack: center !important;
+ -webkit-justify-content: center !important;
+ -ms-flex-pack: center !important;
+ justify-content: center !important;
+ }
+ .justify-content-lg-between {
+ -webkit-box-pack: justify !important;
+ -webkit-justify-content: space-between !important;
+ -ms-flex-pack: justify !important;
+ justify-content: space-between !important;
+ }
+ .justify-content-lg-around {
+ -webkit-justify-content: space-around !important;
+ -ms-flex-pack: distribute !important;
+ justify-content: space-around !important;
+ }
+ .align-items-lg-start {
+ -webkit-box-align: start !important;
+ -webkit-align-items: flex-start !important;
+ -ms-flex-align: start !important;
+ align-items: flex-start !important;
+ }
+ .align-items-lg-end {
+ -webkit-box-align: end !important;
+ -webkit-align-items: flex-end !important;
+ -ms-flex-align: end !important;
+ align-items: flex-end !important;
+ }
+ .align-items-lg-center {
+ -webkit-box-align: center !important;
+ -webkit-align-items: center !important;
+ -ms-flex-align: center !important;
+ align-items: center !important;
+ }
+ .align-items-lg-baseline {
+ -webkit-box-align: baseline !important;
+ -webkit-align-items: baseline !important;
+ -ms-flex-align: baseline !important;
+ align-items: baseline !important;
+ }
+ .align-items-lg-stretch {
+ -webkit-box-align: stretch !important;
+ -webkit-align-items: stretch !important;
+ -ms-flex-align: stretch !important;
+ align-items: stretch !important;
+ }
+ .align-content-lg-start {
+ -webkit-align-content: flex-start !important;
+ -ms-flex-line-pack: start !important;
+ align-content: flex-start !important;
+ }
+ .align-content-lg-end {
+ -webkit-align-content: flex-end !important;
+ -ms-flex-line-pack: end !important;
+ align-content: flex-end !important;
+ }
+ .align-content-lg-center {
+ -webkit-align-content: center !important;
+ -ms-flex-line-pack: center !important;
+ align-content: center !important;
+ }
+ .align-content-lg-between {
+ -webkit-align-content: space-between !important;
+ -ms-flex-line-pack: justify !important;
+ align-content: space-between !important;
+ }
+ .align-content-lg-around {
+ -webkit-align-content: space-around !important;
+ -ms-flex-line-pack: distribute !important;
+ align-content: space-around !important;
+ }
+ .align-content-lg-stretch {
+ -webkit-align-content: stretch !important;
+ -ms-flex-line-pack: stretch !important;
+ align-content: stretch !important;
+ }
+ .align-self-lg-auto {
+ -webkit-align-self: auto !important;
+ -ms-flex-item-align: auto !important;
+ -ms-grid-row-align: auto !important;
+ align-self: auto !important;
+ }
+ .align-self-lg-start {
+ -webkit-align-self: flex-start !important;
+ -ms-flex-item-align: start !important;
+ align-self: flex-start !important;
+ }
+ .align-self-lg-end {
+ -webkit-align-self: flex-end !important;
+ -ms-flex-item-align: end !important;
+ align-self: flex-end !important;
+ }
+ .align-self-lg-center {
+ -webkit-align-self: center !important;
+ -ms-flex-item-align: center !important;
+ -ms-grid-row-align: center !important;
+ align-self: center !important;
+ }
+ .align-self-lg-baseline {
+ -webkit-align-self: baseline !important;
+ -ms-flex-item-align: baseline !important;
+ align-self: baseline !important;
+ }
+ .align-self-lg-stretch {
+ -webkit-align-self: stretch !important;
+ -ms-flex-item-align: stretch !important;
+ -ms-grid-row-align: stretch !important;
+ align-self: stretch !important;
+ }
+}
+
+@media (min-width: 1200px) {
+ .order-xl-first {
+ -webkit-box-ordinal-group: 0;
+ -webkit-order: -1;
+ -ms-flex-order: -1;
+ order: -1;
+ }
+ .order-xl-last {
+ -webkit-box-ordinal-group: 2;
+ -webkit-order: 1;
+ -ms-flex-order: 1;
+ order: 1;
+ }
+ .order-xl-0 {
+ -webkit-box-ordinal-group: 1;
+ -webkit-order: 0;
+ -ms-flex-order: 0;
+ order: 0;
+ }
+ .flex-xl-row {
+ -webkit-box-orient: horizontal !important;
+ -webkit-box-direction: normal !important;
+ -webkit-flex-direction: row !important;
+ -ms-flex-direction: row !important;
+ flex-direction: row !important;
+ }
+ .flex-xl-column {
+ -webkit-box-orient: vertical !important;
+ -webkit-box-direction: normal !important;
+ -webkit-flex-direction: column !important;
+ -ms-flex-direction: column !important;
+ flex-direction: column !important;
+ }
+ .flex-xl-row-reverse {
+ -webkit-box-orient: horizontal !important;
+ -webkit-box-direction: reverse !important;
+ -webkit-flex-direction: row-reverse !important;
+ -ms-flex-direction: row-reverse !important;
+ flex-direction: row-reverse !important;
+ }
+ .flex-xl-column-reverse {
+ -webkit-box-orient: vertical !important;
+ -webkit-box-direction: reverse !important;
+ -webkit-flex-direction: column-reverse !important;
+ -ms-flex-direction: column-reverse !important;
+ flex-direction: column-reverse !important;
+ }
+ .flex-xl-wrap {
+ -webkit-flex-wrap: wrap !important;
+ -ms-flex-wrap: wrap !important;
+ flex-wrap: wrap !important;
+ }
+ .flex-xl-nowrap {
+ -webkit-flex-wrap: nowrap !important;
+ -ms-flex-wrap: nowrap !important;
+ flex-wrap: nowrap !important;
+ }
+ .flex-xl-wrap-reverse {
+ -webkit-flex-wrap: wrap-reverse !important;
+ -ms-flex-wrap: wrap-reverse !important;
+ flex-wrap: wrap-reverse !important;
+ }
+ .justify-content-xl-start {
+ -webkit-box-pack: start !important;
+ -webkit-justify-content: flex-start !important;
+ -ms-flex-pack: start !important;
+ justify-content: flex-start !important;
+ }
+ .justify-content-xl-end {
+ -webkit-box-pack: end !important;
+ -webkit-justify-content: flex-end !important;
+ -ms-flex-pack: end !important;
+ justify-content: flex-end !important;
+ }
+ .justify-content-xl-center {
+ -webkit-box-pack: center !important;
+ -webkit-justify-content: center !important;
+ -ms-flex-pack: center !important;
+ justify-content: center !important;
+ }
+ .justify-content-xl-between {
+ -webkit-box-pack: justify !important;
+ -webkit-justify-content: space-between !important;
+ -ms-flex-pack: justify !important;
+ justify-content: space-between !important;
+ }
+ .justify-content-xl-around {
+ -webkit-justify-content: space-around !important;
+ -ms-flex-pack: distribute !important;
+ justify-content: space-around !important;
+ }
+ .align-items-xl-start {
+ -webkit-box-align: start !important;
+ -webkit-align-items: flex-start !important;
+ -ms-flex-align: start !important;
+ align-items: flex-start !important;
+ }
+ .align-items-xl-end {
+ -webkit-box-align: end !important;
+ -webkit-align-items: flex-end !important;
+ -ms-flex-align: end !important;
+ align-items: flex-end !important;
+ }
+ .align-items-xl-center {
+ -webkit-box-align: center !important;
+ -webkit-align-items: center !important;
+ -ms-flex-align: center !important;
+ align-items: center !important;
+ }
+ .align-items-xl-baseline {
+ -webkit-box-align: baseline !important;
+ -webkit-align-items: baseline !important;
+ -ms-flex-align: baseline !important;
+ align-items: baseline !important;
+ }
+ .align-items-xl-stretch {
+ -webkit-box-align: stretch !important;
+ -webkit-align-items: stretch !important;
+ -ms-flex-align: stretch !important;
+ align-items: stretch !important;
+ }
+ .align-content-xl-start {
+ -webkit-align-content: flex-start !important;
+ -ms-flex-line-pack: start !important;
+ align-content: flex-start !important;
+ }
+ .align-content-xl-end {
+ -webkit-align-content: flex-end !important;
+ -ms-flex-line-pack: end !important;
+ align-content: flex-end !important;
+ }
+ .align-content-xl-center {
+ -webkit-align-content: center !important;
+ -ms-flex-line-pack: center !important;
+ align-content: center !important;
+ }
+ .align-content-xl-between {
+ -webkit-align-content: space-between !important;
+ -ms-flex-line-pack: justify !important;
+ align-content: space-between !important;
+ }
+ .align-content-xl-around {
+ -webkit-align-content: space-around !important;
+ -ms-flex-line-pack: distribute !important;
+ align-content: space-around !important;
+ }
+ .align-content-xl-stretch {
+ -webkit-align-content: stretch !important;
+ -ms-flex-line-pack: stretch !important;
+ align-content: stretch !important;
+ }
+ .align-self-xl-auto {
+ -webkit-align-self: auto !important;
+ -ms-flex-item-align: auto !important;
+ -ms-grid-row-align: auto !important;
+ align-self: auto !important;
+ }
+ .align-self-xl-start {
+ -webkit-align-self: flex-start !important;
+ -ms-flex-item-align: start !important;
+ align-self: flex-start !important;
+ }
+ .align-self-xl-end {
+ -webkit-align-self: flex-end !important;
+ -ms-flex-item-align: end !important;
+ align-self: flex-end !important;
+ }
+ .align-self-xl-center {
+ -webkit-align-self: center !important;
+ -ms-flex-item-align: center !important;
+ -ms-grid-row-align: center !important;
+ align-self: center !important;
+ }
+ .align-self-xl-baseline {
+ -webkit-align-self: baseline !important;
+ -ms-flex-item-align: baseline !important;
+ align-self: baseline !important;
+ }
+ .align-self-xl-stretch {
+ -webkit-align-self: stretch !important;
+ -ms-flex-item-align: stretch !important;
+ -ms-grid-row-align: stretch !important;
+ align-self: stretch !important;
+ }
+}
+/*# sourceMappingURL=bootstrap-grid.css.map */ \ No newline at end of file
diff --git a/templates/assets/bootstrap/dist/css/bootstrap-grid.css.map b/templates/assets/bootstrap/dist/css/bootstrap-grid.css.map
new file mode 100644
index 0000000..c66fac1
--- /dev/null
+++ b/templates/assets/bootstrap/dist/css/bootstrap-grid.css.map
@@ -0,0 +1 @@
+{"version":3,"sources":["../../scss/bootstrap-grid.scss","bootstrap-grid.css","../../scss/_grid.scss","../../scss/mixins/_grid.scss","../../scss/mixins/_breakpoints.scss","../../scss/_variables.scss","../../scss/mixins/_grid-framework.scss","../../scss/utilities/_flex.scss"],"names":[],"mappings":"AAUE;EAAgB,oBAAmB;CCRpC;;ADWD;EACE,+BAAsB;UAAtB,uBAAsB;EACtB,8BAA6B;CAC9B;;AAED;;;EAGE,4BAAmB;UAAnB,oBAAmB;CACpB;;AEjBC;ECAA,mBAAkB;EAClB,mBAAkB;EAClB,kBAAiB;EAKb,oBAA4B;EAC5B,mBAA4B;CDL/B;;AEgDC;EFnDF;ICOI,oBAA4B;IAC5B,mBAA4B;GDL/B;CDoBF;;AG4BG;EFnDF;ICOI,oBAA4B;IAC5B,mBAA4B;GDL/B;CD2BF;;AGqBG;EFnDF;ICOI,oBAA4B;IAC5B,mBAA4B;GDL/B;CDkCF;;AGcG;EFnDF;ICOI,oBAA4B;IAC5B,mBAA4B;GDL/B;CDyCF;;AGOG;EFnDF;ICkBI,aE6KK;IF5KL,gBAAe;GDhBlB;CDgDF;;AGAG;EFnDF;ICkBI,aE8KK;IF7KL,gBAAe;GDhBlB;CDuDF;;AGPG;EFnDF;ICkBI,aE+KK;IF9KL,gBAAe;GDhBlB;CD8DF;;AGdG;EFnDF;ICkBI,cEgLM;IF/KN,gBAAe;GDhBlB;CDqEF;;AC5DC;ECZA,mBAAkB;EAClB,mBAAkB;EAClB,kBAAiB;EAKb,oBAA4B;EAC5B,mBAA4B;CDM/B;;AEqCC;EFvCF;ICLI,oBAA4B;IAC5B,mBAA4B;GDM/B;CDyEF;;AGpCG;EFvCF;ICLI,oBAA4B;IAC5B,mBAA4B;GDM/B;CDgFF;;AG3CG;EFvCF;ICLI,oBAA4B;IAC5B,mBAA4B;GDM/B;CDuFF;;AGlDG;EFvCF;ICLI,oBAA4B;IAC5B,mBAA4B;GDM/B;CD8FF;;ACtFC;ECaA,qBAAa;EAAb,sBAAa;EAAb,qBAAa;EAAb,cAAa;EACb,wBAAe;MAAf,oBAAe;UAAf,gBAAe;EAKX,oBAA4B;EAC5B,mBAA4B;CDlB/B;;AE2BC;EF7BF;ICmBI,oBAA4B;IAC5B,mBAA4B;GDlB/B;CDkGF;;AGvEG;EF7BF;ICmBI,oBAA4B;IAC5B,mBAA4B;GDlB/B;CDyGF;;AG9EG;EF7BF;ICmBI,oBAA4B;IAC5B,mBAA4B;GDlB/B;CDgHF;;AGrFG;EF7BF;ICmBI,oBAA4B;IAC5B,mBAA4B;GDlB/B;CDuHF;;ACnHC;EACE,gBAAe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","file":"bootstrap-grid.css","sourcesContent":[null,"@-ms-viewport {\n width: device-width;\n}\n\nhtml {\n box-sizing: border-box;\n -ms-overflow-style: scrollbar;\n}\n\n*,\n*::before,\n*::after {\n box-sizing: inherit;\n}\n\n.container {\n position: relative;\n margin-right: auto;\n margin-left: auto;\n padding-right: 15px;\n padding-left: 15px;\n}\n\n@media (min-width: 576px) {\n .container {\n padding-right: 15px;\n padding-left: 15px;\n }\n}\n\n@media (min-width: 768px) {\n .container {\n padding-right: 15px;\n padding-left: 15px;\n }\n}\n\n@media (min-width: 992px) {\n .container {\n padding-right: 15px;\n padding-left: 15px;\n }\n}\n\n@media (min-width: 1200px) {\n .container {\n padding-right: 15px;\n padding-left: 15px;\n }\n}\n\n@media (min-width: 576px) {\n .container {\n width: 540px;\n max-width: 100%;\n }\n}\n\n@media (min-width: 768px) {\n .container {\n width: 720px;\n max-width: 100%;\n }\n}\n\n@media (min-width: 992px) {\n .container {\n width: 960px;\n max-width: 100%;\n }\n}\n\n@media (min-width: 1200px) {\n .container {\n width: 1140px;\n max-width: 100%;\n }\n}\n\n.container-fluid {\n position: relative;\n margin-right: auto;\n margin-left: auto;\n padding-right: 15px;\n padding-left: 15px;\n}\n\n@media (min-width: 576px) {\n .container-fluid {\n padding-right: 15px;\n padding-left: 15px;\n }\n}\n\n@media (min-width: 768px) {\n .container-fluid {\n padding-right: 15px;\n padding-left: 15px;\n }\n}\n\n@media (min-width: 992px) {\n .container-fluid {\n padding-right: 15px;\n padding-left: 15px;\n }\n}\n\n@media (min-width: 1200px) {\n .container-fluid {\n padding-right: 15px;\n padding-left: 15px;\n }\n}\n\n.row {\n display: flex;\n flex-wrap: wrap;\n margin-right: -15px;\n margin-left: -15px;\n}\n\n@media (min-width: 576px) {\n .row {\n margin-right: -15px;\n margin-left: -15px;\n }\n}\n\n@media (min-width: 768px) {\n .row {\n margin-right: -15px;\n margin-left: -15px;\n }\n}\n\n@media (min-width: 992px) {\n .row {\n margin-right: -15px;\n margin-left: -15px;\n }\n}\n\n@media (min-width: 1200px) {\n .row {\n margin-right: -15px;\n margin-left: -15px;\n }\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, .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-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-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-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 position: relative;\n width: 100%;\n min-height: 1px;\n padding-right: 15px;\n padding-left: 15px;\n}\n\n@media (min-width: 576px) {\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, .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-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-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-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 padding-right: 15px;\n padding-left: 15px;\n }\n}\n\n@media (min-width: 768px) {\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, .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-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-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-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 padding-right: 15px;\n padding-left: 15px;\n }\n}\n\n@media (min-width: 992px) {\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, .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-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-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-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 padding-right: 15px;\n padding-left: 15px;\n }\n}\n\n@media (min-width: 1200px) {\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, .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-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-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-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 padding-right: 15px;\n padding-left: 15px;\n }\n}\n\n.col {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n}\n\n.col-auto {\n flex: 0 0 auto;\n width: auto;\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.pull-0 {\n right: auto;\n}\n\n.pull-1 {\n right: 8.333333%;\n}\n\n.pull-2 {\n right: 16.666667%;\n}\n\n.pull-3 {\n right: 25%;\n}\n\n.pull-4 {\n right: 33.333333%;\n}\n\n.pull-5 {\n right: 41.666667%;\n}\n\n.pull-6 {\n right: 50%;\n}\n\n.pull-7 {\n right: 58.333333%;\n}\n\n.pull-8 {\n right: 66.666667%;\n}\n\n.pull-9 {\n right: 75%;\n}\n\n.pull-10 {\n right: 83.333333%;\n}\n\n.pull-11 {\n right: 91.666667%;\n}\n\n.pull-12 {\n right: 100%;\n}\n\n.push-0 {\n left: auto;\n}\n\n.push-1 {\n left: 8.333333%;\n}\n\n.push-2 {\n left: 16.666667%;\n}\n\n.push-3 {\n left: 25%;\n}\n\n.push-4 {\n left: 33.333333%;\n}\n\n.push-5 {\n left: 41.666667%;\n}\n\n.push-6 {\n left: 50%;\n}\n\n.push-7 {\n left: 58.333333%;\n}\n\n.push-8 {\n left: 66.666667%;\n}\n\n.push-9 {\n left: 75%;\n}\n\n.push-10 {\n left: 83.333333%;\n}\n\n.push-11 {\n left: 91.666667%;\n}\n\n.push-12 {\n left: 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 .col-sm-auto {\n flex: 0 0 auto;\n width: auto;\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 .pull-sm-0 {\n right: auto;\n }\n .pull-sm-1 {\n right: 8.333333%;\n }\n .pull-sm-2 {\n right: 16.666667%;\n }\n .pull-sm-3 {\n right: 25%;\n }\n .pull-sm-4 {\n right: 33.333333%;\n }\n .pull-sm-5 {\n right: 41.666667%;\n }\n .pull-sm-6 {\n right: 50%;\n }\n .pull-sm-7 {\n right: 58.333333%;\n }\n .pull-sm-8 {\n right: 66.666667%;\n }\n .pull-sm-9 {\n right: 75%;\n }\n .pull-sm-10 {\n right: 83.333333%;\n }\n .pull-sm-11 {\n right: 91.666667%;\n }\n .pull-sm-12 {\n right: 100%;\n }\n .push-sm-0 {\n left: auto;\n }\n .push-sm-1 {\n left: 8.333333%;\n }\n .push-sm-2 {\n left: 16.666667%;\n }\n .push-sm-3 {\n left: 25%;\n }\n .push-sm-4 {\n left: 33.333333%;\n }\n .push-sm-5 {\n left: 41.666667%;\n }\n .push-sm-6 {\n left: 50%;\n }\n .push-sm-7 {\n left: 58.333333%;\n }\n .push-sm-8 {\n left: 66.666667%;\n }\n .push-sm-9 {\n left: 75%;\n }\n .push-sm-10 {\n left: 83.333333%;\n }\n .push-sm-11 {\n left: 91.666667%;\n }\n .push-sm-12 {\n left: 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 .col-md-auto {\n flex: 0 0 auto;\n width: auto;\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 .pull-md-0 {\n right: auto;\n }\n .pull-md-1 {\n right: 8.333333%;\n }\n .pull-md-2 {\n right: 16.666667%;\n }\n .pull-md-3 {\n right: 25%;\n }\n .pull-md-4 {\n right: 33.333333%;\n }\n .pull-md-5 {\n right: 41.666667%;\n }\n .pull-md-6 {\n right: 50%;\n }\n .pull-md-7 {\n right: 58.333333%;\n }\n .pull-md-8 {\n right: 66.666667%;\n }\n .pull-md-9 {\n right: 75%;\n }\n .pull-md-10 {\n right: 83.333333%;\n }\n .pull-md-11 {\n right: 91.666667%;\n }\n .pull-md-12 {\n right: 100%;\n }\n .push-md-0 {\n left: auto;\n }\n .push-md-1 {\n left: 8.333333%;\n }\n .push-md-2 {\n left: 16.666667%;\n }\n .push-md-3 {\n left: 25%;\n }\n .push-md-4 {\n left: 33.333333%;\n }\n .push-md-5 {\n left: 41.666667%;\n }\n .push-md-6 {\n left: 50%;\n }\n .push-md-7 {\n left: 58.333333%;\n }\n .push-md-8 {\n left: 66.666667%;\n }\n .push-md-9 {\n left: 75%;\n }\n .push-md-10 {\n left: 83.333333%;\n }\n .push-md-11 {\n left: 91.666667%;\n }\n .push-md-12 {\n left: 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 .col-lg-auto {\n flex: 0 0 auto;\n width: auto;\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 .pull-lg-0 {\n right: auto;\n }\n .pull-lg-1 {\n right: 8.333333%;\n }\n .pull-lg-2 {\n right: 16.666667%;\n }\n .pull-lg-3 {\n right: 25%;\n }\n .pull-lg-4 {\n right: 33.333333%;\n }\n .pull-lg-5 {\n right: 41.666667%;\n }\n .pull-lg-6 {\n right: 50%;\n }\n .pull-lg-7 {\n right: 58.333333%;\n }\n .pull-lg-8 {\n right: 66.666667%;\n }\n .pull-lg-9 {\n right: 75%;\n }\n .pull-lg-10 {\n right: 83.333333%;\n }\n .pull-lg-11 {\n right: 91.666667%;\n }\n .pull-lg-12 {\n right: 100%;\n }\n .push-lg-0 {\n left: auto;\n }\n .push-lg-1 {\n left: 8.333333%;\n }\n .push-lg-2 {\n left: 16.666667%;\n }\n .push-lg-3 {\n left: 25%;\n }\n .push-lg-4 {\n left: 33.333333%;\n }\n .push-lg-5 {\n left: 41.666667%;\n }\n .push-lg-6 {\n left: 50%;\n }\n .push-lg-7 {\n left: 58.333333%;\n }\n .push-lg-8 {\n left: 66.666667%;\n }\n .push-lg-9 {\n left: 75%;\n }\n .push-lg-10 {\n left: 83.333333%;\n }\n .push-lg-11 {\n left: 91.666667%;\n }\n .push-lg-12 {\n left: 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 .col-xl-auto {\n flex: 0 0 auto;\n width: auto;\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 .pull-xl-0 {\n right: auto;\n }\n .pull-xl-1 {\n right: 8.333333%;\n }\n .pull-xl-2 {\n right: 16.666667%;\n }\n .pull-xl-3 {\n right: 25%;\n }\n .pull-xl-4 {\n right: 33.333333%;\n }\n .pull-xl-5 {\n right: 41.666667%;\n }\n .pull-xl-6 {\n right: 50%;\n }\n .pull-xl-7 {\n right: 58.333333%;\n }\n .pull-xl-8 {\n right: 66.666667%;\n }\n .pull-xl-9 {\n right: 75%;\n }\n .pull-xl-10 {\n right: 83.333333%;\n }\n .pull-xl-11 {\n right: 91.666667%;\n }\n .pull-xl-12 {\n right: 100%;\n }\n .push-xl-0 {\n left: auto;\n }\n .push-xl-1 {\n left: 8.333333%;\n }\n .push-xl-2 {\n left: 16.666667%;\n }\n .push-xl-3 {\n left: 25%;\n }\n .push-xl-4 {\n left: 33.333333%;\n }\n .push-xl-5 {\n left: 41.666667%;\n }\n .push-xl-6 {\n left: 50%;\n }\n .push-xl-7 {\n left: 58.333333%;\n }\n .push-xl-8 {\n left: 66.666667%;\n }\n .push-xl-9 {\n left: 75%;\n }\n .push-xl-10 {\n left: 83.333333%;\n }\n .push-xl-11 {\n left: 91.666667%;\n }\n .push-xl-12 {\n left: 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.order-first {\n order: -1;\n}\n\n.order-last {\n order: 1;\n}\n\n.order-0 {\n order: 0;\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-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@media (min-width: 576px) {\n .order-sm-first {\n order: -1;\n }\n .order-sm-last {\n order: 1;\n }\n .order-sm-0 {\n order: 0;\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-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}\n\n@media (min-width: 768px) {\n .order-md-first {\n order: -1;\n }\n .order-md-last {\n order: 1;\n }\n .order-md-0 {\n order: 0;\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-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}\n\n@media (min-width: 992px) {\n .order-lg-first {\n order: -1;\n }\n .order-lg-last {\n order: 1;\n }\n .order-lg-0 {\n order: 0;\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-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}\n\n@media (min-width: 1200px) {\n .order-xl-first {\n order: -1;\n }\n .order-xl-last {\n order: 1;\n }\n .order-xl-0 {\n order: 0;\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-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}\n\n/*# sourceMappingURL=bootstrap-grid.css.map */",null,null,null,null,null,null]} \ No newline at end of file
diff --git a/templates/assets/bootstrap/dist/css/bootstrap-grid.min.css b/templates/assets/bootstrap/dist/css/bootstrap-grid.min.css
new file mode 100644
index 0000000..823420f
--- /dev/null
+++ b/templates/assets/bootstrap/dist/css/bootstrap-grid.min.css
@@ -0,0 +1 @@
+@-ms-viewport{width:device-width}html{-webkit-box-sizing:border-box;box-sizing:border-box;-ms-overflow-style:scrollbar}*,::after,::before{-webkit-box-sizing:inherit;box-sizing:inherit}.container{position:relative;margin-right:auto;margin-left:auto;padding-right:15px;padding-left:15px}@media (min-width:576px){.container{padding-right:15px;padding-left:15px}}@media (min-width:768px){.container{padding-right:15px;padding-left:15px}}@media (min-width:992px){.container{padding-right:15px;padding-left:15px}}@media (min-width:1200px){.container{padding-right:15px;padding-left:15px}}@media (min-width:576px){.container{width:540px;max-width:100%}}@media (min-width:768px){.container{width:720px;max-width:100%}}@media (min-width:992px){.container{width:960px;max-width:100%}}@media (min-width:1200px){.container{width:1140px;max-width:100%}}.container-fluid{position:relative;margin-right:auto;margin-left:auto;padding-right:15px;padding-left:15px}@media (min-width:576px){.container-fluid{padding-right:15px;padding-left:15px}}@media (min-width:768px){.container-fluid{padding-right:15px;padding-left:15px}}@media (min-width:992px){.container-fluid{padding-right:15px;padding-left:15px}}@media (min-width:1200px){.container-fluid{padding-right:15px;padding-left:15px}}.row{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-right:-15px;margin-left:-15px}@media (min-width:576px){.row{margin-right:-15px;margin-left:-15px}}@media (min-width:768px){.row{margin-right:-15px;margin-left:-15px}}@media (min-width:992px){.row{margin-right:-15px;margin-left:-15px}}@media (min-width:1200px){.row{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-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-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-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-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{position:relative;width:100%;min-height:1px;padding-right:15px;padding-left:15px}@media (min-width:576px){.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-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-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-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-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{padding-right:15px;padding-left:15px}}@media (min-width:768px){.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-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-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-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-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{padding-right:15px;padding-left:15px}}@media (min-width:992px){.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-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-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-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-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{padding-right:15px;padding-left:15px}}@media (min-width:1200px){.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-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-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-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-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{padding-right:15px;padding-left:15px}}.col{-webkit-flex-basis:0;-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-auto{-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.col-1{-webkit-box-flex:0;-webkit-flex:0 0 8.333333%;-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-2{-webkit-box-flex:0;-webkit-flex:0 0 16.666667%;-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-3{-webkit-box-flex:0;-webkit-flex:0 0 25%;-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-4{-webkit-box-flex:0;-webkit-flex:0 0 33.333333%;-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-5{-webkit-box-flex:0;-webkit-flex:0 0 41.666667%;-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-6{-webkit-box-flex:0;-webkit-flex:0 0 50%;-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-7{-webkit-box-flex:0;-webkit-flex:0 0 58.333333%;-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-8{-webkit-box-flex:0;-webkit-flex:0 0 66.666667%;-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-9{-webkit-box-flex:0;-webkit-flex:0 0 75%;-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-10{-webkit-box-flex:0;-webkit-flex:0 0 83.333333%;-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-11{-webkit-box-flex:0;-webkit-flex:0 0 91.666667%;-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-12{-webkit-box-flex:0;-webkit-flex:0 0 100%;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.pull-0{right:auto}.pull-1{right:8.333333%}.pull-2{right:16.666667%}.pull-3{right:25%}.pull-4{right:33.333333%}.pull-5{right:41.666667%}.pull-6{right:50%}.pull-7{right:58.333333%}.pull-8{right:66.666667%}.pull-9{right:75%}.pull-10{right:83.333333%}.pull-11{right:91.666667%}.pull-12{right:100%}.push-0{left:auto}.push-1{left:8.333333%}.push-2{left:16.666667%}.push-3{left:25%}.push-4{left:33.333333%}.push-5{left:41.666667%}.push-6{left:50%}.push-7{left:58.333333%}.push-8{left:66.666667%}.push-9{left:75%}.push-10{left:83.333333%}.push-11{left:91.666667%}.push-12{left: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{-webkit-flex-basis:0;-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-sm-auto{-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.col-sm-1{-webkit-box-flex:0;-webkit-flex:0 0 8.333333%;-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-sm-2{-webkit-box-flex:0;-webkit-flex:0 0 16.666667%;-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-sm-3{-webkit-box-flex:0;-webkit-flex:0 0 25%;-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-sm-4{-webkit-box-flex:0;-webkit-flex:0 0 33.333333%;-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-sm-5{-webkit-box-flex:0;-webkit-flex:0 0 41.666667%;-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-sm-6{-webkit-box-flex:0;-webkit-flex:0 0 50%;-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-sm-7{-webkit-box-flex:0;-webkit-flex:0 0 58.333333%;-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-sm-8{-webkit-box-flex:0;-webkit-flex:0 0 66.666667%;-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-sm-9{-webkit-box-flex:0;-webkit-flex:0 0 75%;-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-sm-10{-webkit-box-flex:0;-webkit-flex:0 0 83.333333%;-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-sm-11{-webkit-box-flex:0;-webkit-flex:0 0 91.666667%;-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-sm-12{-webkit-box-flex:0;-webkit-flex:0 0 100%;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.pull-sm-0{right:auto}.pull-sm-1{right:8.333333%}.pull-sm-2{right:16.666667%}.pull-sm-3{right:25%}.pull-sm-4{right:33.333333%}.pull-sm-5{right:41.666667%}.pull-sm-6{right:50%}.pull-sm-7{right:58.333333%}.pull-sm-8{right:66.666667%}.pull-sm-9{right:75%}.pull-sm-10{right:83.333333%}.pull-sm-11{right:91.666667%}.pull-sm-12{right:100%}.push-sm-0{left:auto}.push-sm-1{left:8.333333%}.push-sm-2{left:16.666667%}.push-sm-3{left:25%}.push-sm-4{left:33.333333%}.push-sm-5{left:41.666667%}.push-sm-6{left:50%}.push-sm-7{left:58.333333%}.push-sm-8{left:66.666667%}.push-sm-9{left:75%}.push-sm-10{left:83.333333%}.push-sm-11{left:91.666667%}.push-sm-12{left: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{-webkit-flex-basis:0;-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-md-auto{-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.col-md-1{-webkit-box-flex:0;-webkit-flex:0 0 8.333333%;-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-md-2{-webkit-box-flex:0;-webkit-flex:0 0 16.666667%;-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-md-3{-webkit-box-flex:0;-webkit-flex:0 0 25%;-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-md-4{-webkit-box-flex:0;-webkit-flex:0 0 33.333333%;-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-md-5{-webkit-box-flex:0;-webkit-flex:0 0 41.666667%;-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-md-6{-webkit-box-flex:0;-webkit-flex:0 0 50%;-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-md-7{-webkit-box-flex:0;-webkit-flex:0 0 58.333333%;-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-md-8{-webkit-box-flex:0;-webkit-flex:0 0 66.666667%;-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-md-9{-webkit-box-flex:0;-webkit-flex:0 0 75%;-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-md-10{-webkit-box-flex:0;-webkit-flex:0 0 83.333333%;-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-md-11{-webkit-box-flex:0;-webkit-flex:0 0 91.666667%;-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-md-12{-webkit-box-flex:0;-webkit-flex:0 0 100%;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.pull-md-0{right:auto}.pull-md-1{right:8.333333%}.pull-md-2{right:16.666667%}.pull-md-3{right:25%}.pull-md-4{right:33.333333%}.pull-md-5{right:41.666667%}.pull-md-6{right:50%}.pull-md-7{right:58.333333%}.pull-md-8{right:66.666667%}.pull-md-9{right:75%}.pull-md-10{right:83.333333%}.pull-md-11{right:91.666667%}.pull-md-12{right:100%}.push-md-0{left:auto}.push-md-1{left:8.333333%}.push-md-2{left:16.666667%}.push-md-3{left:25%}.push-md-4{left:33.333333%}.push-md-5{left:41.666667%}.push-md-6{left:50%}.push-md-7{left:58.333333%}.push-md-8{left:66.666667%}.push-md-9{left:75%}.push-md-10{left:83.333333%}.push-md-11{left:91.666667%}.push-md-12{left: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{-webkit-flex-basis:0;-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-lg-auto{-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.col-lg-1{-webkit-box-flex:0;-webkit-flex:0 0 8.333333%;-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-lg-2{-webkit-box-flex:0;-webkit-flex:0 0 16.666667%;-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-lg-3{-webkit-box-flex:0;-webkit-flex:0 0 25%;-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-lg-4{-webkit-box-flex:0;-webkit-flex:0 0 33.333333%;-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-lg-5{-webkit-box-flex:0;-webkit-flex:0 0 41.666667%;-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-lg-6{-webkit-box-flex:0;-webkit-flex:0 0 50%;-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-lg-7{-webkit-box-flex:0;-webkit-flex:0 0 58.333333%;-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-lg-8{-webkit-box-flex:0;-webkit-flex:0 0 66.666667%;-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-lg-9{-webkit-box-flex:0;-webkit-flex:0 0 75%;-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-lg-10{-webkit-box-flex:0;-webkit-flex:0 0 83.333333%;-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-lg-11{-webkit-box-flex:0;-webkit-flex:0 0 91.666667%;-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-lg-12{-webkit-box-flex:0;-webkit-flex:0 0 100%;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.pull-lg-0{right:auto}.pull-lg-1{right:8.333333%}.pull-lg-2{right:16.666667%}.pull-lg-3{right:25%}.pull-lg-4{right:33.333333%}.pull-lg-5{right:41.666667%}.pull-lg-6{right:50%}.pull-lg-7{right:58.333333%}.pull-lg-8{right:66.666667%}.pull-lg-9{right:75%}.pull-lg-10{right:83.333333%}.pull-lg-11{right:91.666667%}.pull-lg-12{right:100%}.push-lg-0{left:auto}.push-lg-1{left:8.333333%}.push-lg-2{left:16.666667%}.push-lg-3{left:25%}.push-lg-4{left:33.333333%}.push-lg-5{left:41.666667%}.push-lg-6{left:50%}.push-lg-7{left:58.333333%}.push-lg-8{left:66.666667%}.push-lg-9{left:75%}.push-lg-10{left:83.333333%}.push-lg-11{left:91.666667%}.push-lg-12{left: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{-webkit-flex-basis:0;-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-xl-auto{-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.col-xl-1{-webkit-box-flex:0;-webkit-flex:0 0 8.333333%;-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-xl-2{-webkit-box-flex:0;-webkit-flex:0 0 16.666667%;-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-xl-3{-webkit-box-flex:0;-webkit-flex:0 0 25%;-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-xl-4{-webkit-box-flex:0;-webkit-flex:0 0 33.333333%;-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-xl-5{-webkit-box-flex:0;-webkit-flex:0 0 41.666667%;-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-xl-6{-webkit-box-flex:0;-webkit-flex:0 0 50%;-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-xl-7{-webkit-box-flex:0;-webkit-flex:0 0 58.333333%;-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-xl-8{-webkit-box-flex:0;-webkit-flex:0 0 66.666667%;-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-xl-9{-webkit-box-flex:0;-webkit-flex:0 0 75%;-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-xl-10{-webkit-box-flex:0;-webkit-flex:0 0 83.333333%;-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-xl-11{-webkit-box-flex:0;-webkit-flex:0 0 91.666667%;-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-xl-12{-webkit-box-flex:0;-webkit-flex:0 0 100%;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.pull-xl-0{right:auto}.pull-xl-1{right:8.333333%}.pull-xl-2{right:16.666667%}.pull-xl-3{right:25%}.pull-xl-4{right:33.333333%}.pull-xl-5{right:41.666667%}.pull-xl-6{right:50%}.pull-xl-7{right:58.333333%}.pull-xl-8{right:66.666667%}.pull-xl-9{right:75%}.pull-xl-10{right:83.333333%}.pull-xl-11{right:91.666667%}.pull-xl-12{right:100%}.push-xl-0{left:auto}.push-xl-1{left:8.333333%}.push-xl-2{left:16.666667%}.push-xl-3{left:25%}.push-xl-4{left:33.333333%}.push-xl-5{left:41.666667%}.push-xl-6{left:50%}.push-xl-7{left:58.333333%}.push-xl-8{left:66.666667%}.push-xl-9{left:75%}.push-xl-10{left:83.333333%}.push-xl-11{left:91.666667%}.push-xl-12{left: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%}}.order-first{-webkit-box-ordinal-group:0;-webkit-order:-1;-ms-flex-order:-1;order:-1}.order-last{-webkit-box-ordinal-group:2;-webkit-order:1;-ms-flex-order:1;order:1}.order-0{-webkit-box-ordinal-group:1;-webkit-order:0;-ms-flex-order:0;order:0}.flex-row{-webkit-box-orient:horizontal!important;-webkit-box-direction:normal!important;-webkit-flex-direction:row!important;-ms-flex-direction:row!important;flex-direction:row!important}.flex-column{-webkit-box-orient:vertical!important;-webkit-box-direction:normal!important;-webkit-flex-direction:column!important;-ms-flex-direction:column!important;flex-direction:column!important}.flex-row-reverse{-webkit-box-orient:horizontal!important;-webkit-box-direction:reverse!important;-webkit-flex-direction:row-reverse!important;-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-column-reverse{-webkit-box-orient:vertical!important;-webkit-box-direction:reverse!important;-webkit-flex-direction:column-reverse!important;-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-wrap{-webkit-flex-wrap:wrap!important;-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-nowrap{-webkit-flex-wrap:nowrap!important;-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-wrap-reverse{-webkit-flex-wrap:wrap-reverse!important;-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.justify-content-start{-webkit-box-pack:start!important;-webkit-justify-content:flex-start!important;-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-end{-webkit-box-pack:end!important;-webkit-justify-content:flex-end!important;-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-center{-webkit-box-pack:center!important;-webkit-justify-content:center!important;-ms-flex-pack:center!important;justify-content:center!important}.justify-content-between{-webkit-box-pack:justify!important;-webkit-justify-content:space-between!important;-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-around{-webkit-justify-content:space-around!important;-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-start{-webkit-box-align:start!important;-webkit-align-items:flex-start!important;-ms-flex-align:start!important;align-items:flex-start!important}.align-items-end{-webkit-box-align:end!important;-webkit-align-items:flex-end!important;-ms-flex-align:end!important;align-items:flex-end!important}.align-items-center{-webkit-box-align:center!important;-webkit-align-items:center!important;-ms-flex-align:center!important;align-items:center!important}.align-items-baseline{-webkit-box-align:baseline!important;-webkit-align-items:baseline!important;-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-stretch{-webkit-box-align:stretch!important;-webkit-align-items:stretch!important;-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-start{-webkit-align-content:flex-start!important;-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-end{-webkit-align-content:flex-end!important;-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-center{-webkit-align-content:center!important;-ms-flex-line-pack:center!important;align-content:center!important}.align-content-between{-webkit-align-content:space-between!important;-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-around{-webkit-align-content:space-around!important;-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-stretch{-webkit-align-content:stretch!important;-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-auto{-webkit-align-self:auto!important;-ms-flex-item-align:auto!important;-ms-grid-row-align:auto!important;align-self:auto!important}.align-self-start{-webkit-align-self:flex-start!important;-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-end{-webkit-align-self:flex-end!important;-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-center{-webkit-align-self:center!important;-ms-flex-item-align:center!important;-ms-grid-row-align:center!important;align-self:center!important}.align-self-baseline{-webkit-align-self:baseline!important;-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-stretch{-webkit-align-self:stretch!important;-ms-flex-item-align:stretch!important;-ms-grid-row-align:stretch!important;align-self:stretch!important}@media (min-width:576px){.order-sm-first{-webkit-box-ordinal-group:0;-webkit-order:-1;-ms-flex-order:-1;order:-1}.order-sm-last{-webkit-box-ordinal-group:2;-webkit-order:1;-ms-flex-order:1;order:1}.order-sm-0{-webkit-box-ordinal-group:1;-webkit-order:0;-ms-flex-order:0;order:0}.flex-sm-row{-webkit-box-orient:horizontal!important;-webkit-box-direction:normal!important;-webkit-flex-direction:row!important;-ms-flex-direction:row!important;flex-direction:row!important}.flex-sm-column{-webkit-box-orient:vertical!important;-webkit-box-direction:normal!important;-webkit-flex-direction:column!important;-ms-flex-direction:column!important;flex-direction:column!important}.flex-sm-row-reverse{-webkit-box-orient:horizontal!important;-webkit-box-direction:reverse!important;-webkit-flex-direction:row-reverse!important;-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-sm-column-reverse{-webkit-box-orient:vertical!important;-webkit-box-direction:reverse!important;-webkit-flex-direction:column-reverse!important;-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-sm-wrap{-webkit-flex-wrap:wrap!important;-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-sm-nowrap{-webkit-flex-wrap:nowrap!important;-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-sm-wrap-reverse{-webkit-flex-wrap:wrap-reverse!important;-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.justify-content-sm-start{-webkit-box-pack:start!important;-webkit-justify-content:flex-start!important;-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-sm-end{-webkit-box-pack:end!important;-webkit-justify-content:flex-end!important;-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-sm-center{-webkit-box-pack:center!important;-webkit-justify-content:center!important;-ms-flex-pack:center!important;justify-content:center!important}.justify-content-sm-between{-webkit-box-pack:justify!important;-webkit-justify-content:space-between!important;-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-sm-around{-webkit-justify-content:space-around!important;-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-sm-start{-webkit-box-align:start!important;-webkit-align-items:flex-start!important;-ms-flex-align:start!important;align-items:flex-start!important}.align-items-sm-end{-webkit-box-align:end!important;-webkit-align-items:flex-end!important;-ms-flex-align:end!important;align-items:flex-end!important}.align-items-sm-center{-webkit-box-align:center!important;-webkit-align-items:center!important;-ms-flex-align:center!important;align-items:center!important}.align-items-sm-baseline{-webkit-box-align:baseline!important;-webkit-align-items:baseline!important;-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-sm-stretch{-webkit-box-align:stretch!important;-webkit-align-items:stretch!important;-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-sm-start{-webkit-align-content:flex-start!important;-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-sm-end{-webkit-align-content:flex-end!important;-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-sm-center{-webkit-align-content:center!important;-ms-flex-line-pack:center!important;align-content:center!important}.align-content-sm-between{-webkit-align-content:space-between!important;-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-sm-around{-webkit-align-content:space-around!important;-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-sm-stretch{-webkit-align-content:stretch!important;-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-sm-auto{-webkit-align-self:auto!important;-ms-flex-item-align:auto!important;-ms-grid-row-align:auto!important;align-self:auto!important}.align-self-sm-start{-webkit-align-self:flex-start!important;-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-sm-end{-webkit-align-self:flex-end!important;-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-sm-center{-webkit-align-self:center!important;-ms-flex-item-align:center!important;-ms-grid-row-align:center!important;align-self:center!important}.align-self-sm-baseline{-webkit-align-self:baseline!important;-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-sm-stretch{-webkit-align-self:stretch!important;-ms-flex-item-align:stretch!important;-ms-grid-row-align:stretch!important;align-self:stretch!important}}@media (min-width:768px){.order-md-first{-webkit-box-ordinal-group:0;-webkit-order:-1;-ms-flex-order:-1;order:-1}.order-md-last{-webkit-box-ordinal-group:2;-webkit-order:1;-ms-flex-order:1;order:1}.order-md-0{-webkit-box-ordinal-group:1;-webkit-order:0;-ms-flex-order:0;order:0}.flex-md-row{-webkit-box-orient:horizontal!important;-webkit-box-direction:normal!important;-webkit-flex-direction:row!important;-ms-flex-direction:row!important;flex-direction:row!important}.flex-md-column{-webkit-box-orient:vertical!important;-webkit-box-direction:normal!important;-webkit-flex-direction:column!important;-ms-flex-direction:column!important;flex-direction:column!important}.flex-md-row-reverse{-webkit-box-orient:horizontal!important;-webkit-box-direction:reverse!important;-webkit-flex-direction:row-reverse!important;-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-md-column-reverse{-webkit-box-orient:vertical!important;-webkit-box-direction:reverse!important;-webkit-flex-direction:column-reverse!important;-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-md-wrap{-webkit-flex-wrap:wrap!important;-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-md-nowrap{-webkit-flex-wrap:nowrap!important;-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-md-wrap-reverse{-webkit-flex-wrap:wrap-reverse!important;-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.justify-content-md-start{-webkit-box-pack:start!important;-webkit-justify-content:flex-start!important;-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-md-end{-webkit-box-pack:end!important;-webkit-justify-content:flex-end!important;-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-md-center{-webkit-box-pack:center!important;-webkit-justify-content:center!important;-ms-flex-pack:center!important;justify-content:center!important}.justify-content-md-between{-webkit-box-pack:justify!important;-webkit-justify-content:space-between!important;-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-md-around{-webkit-justify-content:space-around!important;-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-md-start{-webkit-box-align:start!important;-webkit-align-items:flex-start!important;-ms-flex-align:start!important;align-items:flex-start!important}.align-items-md-end{-webkit-box-align:end!important;-webkit-align-items:flex-end!important;-ms-flex-align:end!important;align-items:flex-end!important}.align-items-md-center{-webkit-box-align:center!important;-webkit-align-items:center!important;-ms-flex-align:center!important;align-items:center!important}.align-items-md-baseline{-webkit-box-align:baseline!important;-webkit-align-items:baseline!important;-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-md-stretch{-webkit-box-align:stretch!important;-webkit-align-items:stretch!important;-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-md-start{-webkit-align-content:flex-start!important;-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-md-end{-webkit-align-content:flex-end!important;-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-md-center{-webkit-align-content:center!important;-ms-flex-line-pack:center!important;align-content:center!important}.align-content-md-between{-webkit-align-content:space-between!important;-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-md-around{-webkit-align-content:space-around!important;-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-md-stretch{-webkit-align-content:stretch!important;-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-md-auto{-webkit-align-self:auto!important;-ms-flex-item-align:auto!important;-ms-grid-row-align:auto!important;align-self:auto!important}.align-self-md-start{-webkit-align-self:flex-start!important;-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-md-end{-webkit-align-self:flex-end!important;-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-md-center{-webkit-align-self:center!important;-ms-flex-item-align:center!important;-ms-grid-row-align:center!important;align-self:center!important}.align-self-md-baseline{-webkit-align-self:baseline!important;-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-md-stretch{-webkit-align-self:stretch!important;-ms-flex-item-align:stretch!important;-ms-grid-row-align:stretch!important;align-self:stretch!important}}@media (min-width:992px){.order-lg-first{-webkit-box-ordinal-group:0;-webkit-order:-1;-ms-flex-order:-1;order:-1}.order-lg-last{-webkit-box-ordinal-group:2;-webkit-order:1;-ms-flex-order:1;order:1}.order-lg-0{-webkit-box-ordinal-group:1;-webkit-order:0;-ms-flex-order:0;order:0}.flex-lg-row{-webkit-box-orient:horizontal!important;-webkit-box-direction:normal!important;-webkit-flex-direction:row!important;-ms-flex-direction:row!important;flex-direction:row!important}.flex-lg-column{-webkit-box-orient:vertical!important;-webkit-box-direction:normal!important;-webkit-flex-direction:column!important;-ms-flex-direction:column!important;flex-direction:column!important}.flex-lg-row-reverse{-webkit-box-orient:horizontal!important;-webkit-box-direction:reverse!important;-webkit-flex-direction:row-reverse!important;-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-lg-column-reverse{-webkit-box-orient:vertical!important;-webkit-box-direction:reverse!important;-webkit-flex-direction:column-reverse!important;-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-lg-wrap{-webkit-flex-wrap:wrap!important;-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-lg-nowrap{-webkit-flex-wrap:nowrap!important;-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-lg-wrap-reverse{-webkit-flex-wrap:wrap-reverse!important;-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.justify-content-lg-start{-webkit-box-pack:start!important;-webkit-justify-content:flex-start!important;-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-lg-end{-webkit-box-pack:end!important;-webkit-justify-content:flex-end!important;-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-lg-center{-webkit-box-pack:center!important;-webkit-justify-content:center!important;-ms-flex-pack:center!important;justify-content:center!important}.justify-content-lg-between{-webkit-box-pack:justify!important;-webkit-justify-content:space-between!important;-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-lg-around{-webkit-justify-content:space-around!important;-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-lg-start{-webkit-box-align:start!important;-webkit-align-items:flex-start!important;-ms-flex-align:start!important;align-items:flex-start!important}.align-items-lg-end{-webkit-box-align:end!important;-webkit-align-items:flex-end!important;-ms-flex-align:end!important;align-items:flex-end!important}.align-items-lg-center{-webkit-box-align:center!important;-webkit-align-items:center!important;-ms-flex-align:center!important;align-items:center!important}.align-items-lg-baseline{-webkit-box-align:baseline!important;-webkit-align-items:baseline!important;-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-lg-stretch{-webkit-box-align:stretch!important;-webkit-align-items:stretch!important;-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-lg-start{-webkit-align-content:flex-start!important;-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-lg-end{-webkit-align-content:flex-end!important;-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-lg-center{-webkit-align-content:center!important;-ms-flex-line-pack:center!important;align-content:center!important}.align-content-lg-between{-webkit-align-content:space-between!important;-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-lg-around{-webkit-align-content:space-around!important;-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-lg-stretch{-webkit-align-content:stretch!important;-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-lg-auto{-webkit-align-self:auto!important;-ms-flex-item-align:auto!important;-ms-grid-row-align:auto!important;align-self:auto!important}.align-self-lg-start{-webkit-align-self:flex-start!important;-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-lg-end{-webkit-align-self:flex-end!important;-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-lg-center{-webkit-align-self:center!important;-ms-flex-item-align:center!important;-ms-grid-row-align:center!important;align-self:center!important}.align-self-lg-baseline{-webkit-align-self:baseline!important;-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-lg-stretch{-webkit-align-self:stretch!important;-ms-flex-item-align:stretch!important;-ms-grid-row-align:stretch!important;align-self:stretch!important}}@media (min-width:1200px){.order-xl-first{-webkit-box-ordinal-group:0;-webkit-order:-1;-ms-flex-order:-1;order:-1}.order-xl-last{-webkit-box-ordinal-group:2;-webkit-order:1;-ms-flex-order:1;order:1}.order-xl-0{-webkit-box-ordinal-group:1;-webkit-order:0;-ms-flex-order:0;order:0}.flex-xl-row{-webkit-box-orient:horizontal!important;-webkit-box-direction:normal!important;-webkit-flex-direction:row!important;-ms-flex-direction:row!important;flex-direction:row!important}.flex-xl-column{-webkit-box-orient:vertical!important;-webkit-box-direction:normal!important;-webkit-flex-direction:column!important;-ms-flex-direction:column!important;flex-direction:column!important}.flex-xl-row-reverse{-webkit-box-orient:horizontal!important;-webkit-box-direction:reverse!important;-webkit-flex-direction:row-reverse!important;-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-xl-column-reverse{-webkit-box-orient:vertical!important;-webkit-box-direction:reverse!important;-webkit-flex-direction:column-reverse!important;-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-xl-wrap{-webkit-flex-wrap:wrap!important;-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-xl-nowrap{-webkit-flex-wrap:nowrap!important;-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-xl-wrap-reverse{-webkit-flex-wrap:wrap-reverse!important;-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.justify-content-xl-start{-webkit-box-pack:start!important;-webkit-justify-content:flex-start!important;-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-xl-end{-webkit-box-pack:end!important;-webkit-justify-content:flex-end!important;-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-xl-center{-webkit-box-pack:center!important;-webkit-justify-content:center!important;-ms-flex-pack:center!important;justify-content:center!important}.justify-content-xl-between{-webkit-box-pack:justify!important;-webkit-justify-content:space-between!important;-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-xl-around{-webkit-justify-content:space-around!important;-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-xl-start{-webkit-box-align:start!important;-webkit-align-items:flex-start!important;-ms-flex-align:start!important;align-items:flex-start!important}.align-items-xl-end{-webkit-box-align:end!important;-webkit-align-items:flex-end!important;-ms-flex-align:end!important;align-items:flex-end!important}.align-items-xl-center{-webkit-box-align:center!important;-webkit-align-items:center!important;-ms-flex-align:center!important;align-items:center!important}.align-items-xl-baseline{-webkit-box-align:baseline!important;-webkit-align-items:baseline!important;-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-xl-stretch{-webkit-box-align:stretch!important;-webkit-align-items:stretch!important;-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-xl-start{-webkit-align-content:flex-start!important;-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-xl-end{-webkit-align-content:flex-end!important;-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-xl-center{-webkit-align-content:center!important;-ms-flex-line-pack:center!important;align-content:center!important}.align-content-xl-between{-webkit-align-content:space-between!important;-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-xl-around{-webkit-align-content:space-around!important;-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-xl-stretch{-webkit-align-content:stretch!important;-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-xl-auto{-webkit-align-self:auto!important;-ms-flex-item-align:auto!important;-ms-grid-row-align:auto!important;align-self:auto!important}.align-self-xl-start{-webkit-align-self:flex-start!important;-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-xl-end{-webkit-align-self:flex-end!important;-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-xl-center{-webkit-align-self:center!important;-ms-flex-item-align:center!important;-ms-grid-row-align:center!important;align-self:center!important}.align-self-xl-baseline{-webkit-align-self:baseline!important;-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-xl-stretch{-webkit-align-self:stretch!important;-ms-flex-item-align:stretch!important;-ms-grid-row-align:stretch!important;align-self:stretch!important}}/*# sourceMappingURL=bootstrap-grid.min.css.map */ \ No newline at end of file
diff --git a/templates/assets/bootstrap/dist/css/bootstrap-grid.min.css.map b/templates/assets/bootstrap/dist/css/bootstrap-grid.min.css.map
new file mode 100644
index 0000000..d0b711c
--- /dev/null
+++ b/templates/assets/bootstrap/dist/css/bootstrap-grid.min.css.map
@@ -0,0 +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/utilities/_flex.scss"],"names":[],"mappings":"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"} \ No newline at end of file
diff --git a/templates/assets/bootstrap/dist/css/bootstrap-reboot.css b/templates/assets/bootstrap/dist/css/bootstrap-reboot.css
new file mode 100644
index 0000000..6509cf5
--- /dev/null
+++ b/templates/assets/bootstrap/dist/css/bootstrap-reboot.css
@@ -0,0 +1,334 @@
+html {
+ -webkit-box-sizing: border-box;
+ box-sizing: border-box;
+ font-family: sans-serif;
+ line-height: 1.15;
+ -webkit-text-size-adjust: 100%;
+ -ms-text-size-adjust: 100%;
+ -ms-overflow-style: scrollbar;
+ -webkit-tap-highlight-color: transparent;
+}
+
+*,
+*::before,
+*::after {
+ -webkit-box-sizing: inherit;
+ box-sizing: inherit;
+}
+
+@-ms-viewport {
+ width: device-width;
+}
+
+body {
+ margin: 0;
+ font-family: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
+ font-size: 1rem;
+ font-weight: normal;
+ line-height: 1.5;
+ color: #292b2c;
+ background-color: #fff;
+}
+
+[tabindex="-1"]:focus {
+ outline: none !important;
+}
+
+hr {
+ -webkit-box-sizing: content-box;
+ box-sizing: content-box;
+ height: 0;
+ overflow: visible;
+}
+
+h1, h2, h3, h4, h5, h6 {
+ margin-top: 0;
+ margin-bottom: .5rem;
+}
+
+p {
+ margin-top: 0;
+ margin-bottom: 1rem;
+}
+
+abbr[title],
+abbr[data-original-title] {
+ text-decoration: underline;
+ text-decoration: underline dotted;
+ cursor: help;
+ border-bottom: 0;
+}
+
+address {
+ margin-bottom: 1rem;
+ font-style: normal;
+ line-height: inherit;
+}
+
+ol,
+ul,
+dl {
+ margin-top: 0;
+ margin-bottom: 1rem;
+}
+
+ol ol,
+ul ul,
+ol ul,
+ul ol {
+ margin-bottom: 0;
+}
+
+dt {
+ font-weight: bold;
+}
+
+dd {
+ margin-bottom: .5rem;
+ margin-left: 0;
+}
+
+blockquote {
+ margin: 0 0 1rem;
+}
+
+dfn {
+ font-style: italic;
+}
+
+b,
+strong {
+ font-weight: bolder;
+}
+
+small {
+ font-size: 80%;
+}
+
+sub,
+sup {
+ position: relative;
+ font-size: 75%;
+ line-height: 0;
+ vertical-align: baseline;
+}
+
+sub {
+ bottom: -.25em;
+}
+
+sup {
+ top: -.5em;
+}
+
+a {
+ color: #0275d8;
+ text-decoration: none;
+ background-color: transparent;
+ -webkit-text-decoration-skip: objects;
+}
+
+a:hover {
+ color: #014c8c;
+ text-decoration: underline;
+}
+
+a:not([href]):not([tabindex]) {
+ color: inherit;
+ text-decoration: none;
+}
+
+a:not([href]):not([tabindex]):focus, a:not([href]):not([tabindex]):hover {
+ color: inherit;
+ text-decoration: none;
+}
+
+a:not([href]):not([tabindex]):focus {
+ outline: 0;
+}
+
+pre,
+code,
+kbd,
+samp {
+ font-family: monospace, monospace;
+ font-size: 1em;
+}
+
+pre {
+ margin-top: 0;
+ margin-bottom: 1rem;
+ overflow: auto;
+}
+
+figure {
+ margin: 0 0 1rem;
+}
+
+img {
+ vertical-align: middle;
+ border-style: none;
+}
+
+svg:not(:root) {
+ overflow: hidden;
+}
+
+a,
+area,
+button,
+[role="button"],
+input,
+label,
+select,
+summary,
+textarea {
+ -ms-touch-action: manipulation;
+ touch-action: manipulation;
+}
+
+table {
+ border-collapse: collapse;
+}
+
+caption {
+ padding-top: 0.75rem;
+ padding-bottom: 0.75rem;
+ color: #636c72;
+ text-align: left;
+ caption-side: bottom;
+}
+
+th {
+ text-align: left;
+}
+
+label {
+ display: inline-block;
+ margin-bottom: .5rem;
+}
+
+button:focus {
+ outline: 1px dotted;
+ outline: 5px auto -webkit-focus-ring-color;
+}
+
+input,
+button,
+select,
+optgroup,
+textarea {
+ margin: 0;
+ font-family: inherit;
+ font-size: inherit;
+ line-height: inherit;
+}
+
+button,
+input {
+ overflow: visible;
+}
+
+button,
+select {
+ text-transform: none;
+}
+
+button,
+html [type="button"],
+[type="reset"],
+[type="submit"] {
+ -webkit-appearance: button;
+}
+
+button::-moz-focus-inner,
+[type="button"]::-moz-focus-inner,
+[type="reset"]::-moz-focus-inner,
+[type="submit"]::-moz-focus-inner {
+ padding: 0;
+ border-style: none;
+}
+
+input[type="radio"],
+input[type="checkbox"] {
+ -webkit-box-sizing: border-box;
+ box-sizing: border-box;
+ padding: 0;
+}
+
+input[type="radio"]:disabled,
+input[type="checkbox"]:disabled {
+ cursor: not-allowed;
+}
+
+input[type="date"],
+input[type="time"],
+input[type="datetime-local"],
+input[type="month"] {
+ -webkit-appearance: listbox;
+}
+
+textarea {
+ overflow: auto;
+ resize: vertical;
+}
+
+fieldset {
+ min-width: 0;
+ padding: 0;
+ margin: 0;
+ border: 0;
+}
+
+legend {
+ display: block;
+ width: 100%;
+ max-width: 100%;
+ padding: 0;
+ margin-bottom: .5rem;
+ font-size: 1.5rem;
+ line-height: inherit;
+ color: inherit;
+ white-space: normal;
+}
+
+progress {
+ vertical-align: baseline;
+}
+
+[type="number"]::-webkit-inner-spin-button,
+[type="number"]::-webkit-outer-spin-button {
+ height: auto;
+}
+
+[type="search"] {
+ outline-offset: -2px;
+ -webkit-appearance: none;
+}
+
+[type="search"]::-webkit-search-cancel-button,
+[type="search"]::-webkit-search-decoration {
+ -webkit-appearance: none;
+}
+
+::-webkit-file-upload-button {
+ font: inherit;
+ -webkit-appearance: button;
+}
+
+output {
+ display: inline-block;
+}
+
+summary {
+ display: list-item;
+}
+
+template {
+ display: none;
+}
+
+[hidden] {
+ display: none !important;
+}
+/*# sourceMappingURL=bootstrap-reboot.css.map */ \ No newline at end of file
diff --git a/templates/assets/bootstrap/dist/css/bootstrap-reboot.css.map b/templates/assets/bootstrap/dist/css/bootstrap-reboot.css.map
new file mode 100644
index 0000000..23fa59c
--- /dev/null
+++ b/templates/assets/bootstrap/dist/css/bootstrap-reboot.css.map
@@ -0,0 +1 @@
+{"version":3,"sources":["../../scss/_reboot.scss","bootstrap-reboot.css","../../scss/_variables.scss","../../scss/mixins/_hover.scss"],"names":[],"mappings":"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","file":"bootstrap-reboot.css","sourcesContent":[null,"html {\n box-sizing: border-box;\n font-family: sans-serif;\n line-height: 1.15;\n -webkit-text-size-adjust: 100%;\n -ms-text-size-adjust: 100%;\n -ms-overflow-style: scrollbar;\n -webkit-tap-highlight-color: transparent;\n}\n\n*,\n*::before,\n*::after {\n box-sizing: inherit;\n}\n\n@-ms-viewport {\n width: device-width;\n}\n\nbody {\n margin: 0;\n font-family: -apple-system, system-ui, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif;\n font-size: 1rem;\n font-weight: normal;\n line-height: 1.5;\n color: #292b2c;\n background-color: #fff;\n}\n\n[tabindex=\"-1\"]:focus {\n outline: none !important;\n}\n\nhr {\n box-sizing: content-box;\n height: 0;\n overflow: visible;\n}\n\nh1, h2, h3, h4, h5, h6 {\n margin-top: 0;\n margin-bottom: .5rem;\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 border-bottom: 0;\n}\n\naddress {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\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: bold;\n}\n\ndd {\n margin-bottom: .5rem;\n margin-left: 0;\n}\n\nblockquote {\n margin: 0 0 1rem;\n}\n\ndfn {\n font-style: italic;\n}\n\nb,\nstrong {\n font-weight: bolder;\n}\n\nsmall {\n font-size: 80%;\n}\n\nsub,\nsup {\n position: relative;\n font-size: 75%;\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: #0275d8;\n text-decoration: none;\n background-color: transparent;\n -webkit-text-decoration-skip: objects;\n}\n\na:hover {\n color: #014c8c;\n text-decoration: underline;\n}\n\na:not([href]):not([tabindex]) {\n color: inherit;\n text-decoration: none;\n}\n\na:not([href]):not([tabindex]):focus, a:not([href]):not([tabindex]):hover {\n color: inherit;\n text-decoration: none;\n}\n\na:not([href]):not([tabindex]):focus {\n outline: 0;\n}\n\npre,\ncode,\nkbd,\nsamp {\n font-family: monospace, monospace;\n font-size: 1em;\n}\n\npre {\n margin-top: 0;\n margin-bottom: 1rem;\n overflow: auto;\n}\n\nfigure {\n margin: 0 0 1rem;\n}\n\nimg {\n vertical-align: middle;\n border-style: none;\n}\n\nsvg:not(:root) {\n overflow: hidden;\n}\n\na,\narea,\nbutton,\n[role=\"button\"],\ninput,\nlabel,\nselect,\nsummary,\ntextarea {\n touch-action: manipulation;\n}\n\ntable {\n border-collapse: collapse;\n}\n\ncaption {\n padding-top: 0.75rem;\n padding-bottom: 0.75rem;\n color: #636c72;\n text-align: left;\n caption-side: bottom;\n}\n\nth {\n text-align: left;\n}\n\nlabel {\n display: inline-block;\n margin-bottom: .5rem;\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\nbutton,\nhtml [type=\"button\"],\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button;\n}\n\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n padding: 0;\n border-style: none;\n}\n\ninput[type=\"radio\"],\ninput[type=\"checkbox\"] {\n box-sizing: border-box;\n padding: 0;\n}\n\ninput[type=\"radio\"]:disabled,\ninput[type=\"checkbox\"]:disabled {\n cursor: not-allowed;\n}\n\ninput[type=\"date\"],\ninput[type=\"time\"],\ninput[type=\"datetime-local\"],\ninput[type=\"month\"] {\n -webkit-appearance: listbox;\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 display: block;\n width: 100%;\n max-width: 100%;\n padding: 0;\n margin-bottom: .5rem;\n font-size: 1.5rem;\n line-height: inherit;\n color: inherit;\n white-space: normal;\n}\n\nprogress {\n vertical-align: baseline;\n}\n\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n[type=\"search\"] {\n outline-offset: -2px;\n -webkit-appearance: none;\n}\n\n[type=\"search\"]::-webkit-search-cancel-button,\n[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\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}\n\ntemplate {\n display: none;\n}\n\n[hidden] {\n display: none !important;\n}\n\n/*# sourceMappingURL=bootstrap-reboot.css.map */",null,null]} \ No newline at end of file
diff --git a/templates/assets/bootstrap/dist/css/bootstrap-reboot.min.css b/templates/assets/bootstrap/dist/css/bootstrap-reboot.min.css
new file mode 100644
index 0000000..c39472e
--- /dev/null
+++ b/templates/assets/bootstrap/dist/css/bootstrap-reboot.min.css
@@ -0,0 +1 @@
+html{-webkit-box-sizing:border-box;box-sizing:border-box;font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;-ms-overflow-style:scrollbar;-webkit-tap-highlight-color:transparent}*,::after,::before{-webkit-box-sizing:inherit;box-sizing:inherit}@-ms-viewport{width:device-width}body{margin:0;font-family:-apple-system,system-ui,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-size:1rem;font-weight:400;line-height:1.5;color:#292b2c;background-color:#fff}[tabindex="-1"]:focus{outline:0!important}hr{-webkit-box-sizing:content-box;box-sizing:content-box;height:0;overflow:visible}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem}p{margin-top:0;margin-bottom:1rem}abbr[data-original-title],abbr[title]{text-decoration:underline;text-decoration:underline dotted;cursor:help;border-bottom:0}address{margin-bottom:1rem;font-style:normal;line-height:inherit}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}dfn{font-style:italic}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:#0275d8;text-decoration:none;background-color:transparent;-webkit-text-decoration-skip:objects}a:hover{color:#014c8c;text-decoration:underline}a:not([href]):not([tabindex]){color:inherit;text-decoration:none}a:not([href]):not([tabindex]):focus,a:not([href]):not([tabindex]):hover{color:inherit;text-decoration:none}a:not([href]):not([tabindex]):focus{outline:0}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}pre{margin-top:0;margin-bottom:1rem;overflow:auto}figure{margin:0 0 1rem}img{vertical-align:middle;border-style:none}svg:not(:root){overflow:hidden}[role=button],a,area,button,input,label,select,summary,textarea{-ms-touch-action:manipulation;touch-action:manipulation}table{border-collapse:collapse}caption{padding-top:.75rem;padding-bottom:.75rem;color:#636c72;text-align:left;caption-side:bottom}th{text-align:left}label{display:inline-block;margin-bottom:.5rem}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}[type=reset],[type=submit],button,html [type=button]{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{padding:0;border-style:none}input[type=checkbox],input[type=radio]{-webkit-box-sizing:border-box;box-sizing:border-box;padding:0}input[type=checkbox]:disabled,input[type=radio]:disabled{cursor:not-allowed}input[type=date],input[type=datetime-local],input[type=month],input[type=time]{-webkit-appearance:listbox}textarea{overflow:auto;resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;max-width:100%;padding:0;margin-bottom:.5rem;font-size:1.5rem;line-height:inherit;color:inherit;white-space:normal}progress{vertical-align:baseline}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:none}[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}summary{display:list-item}template{display:none}[hidden]{display:none!important}/*# sourceMappingURL=bootstrap-reboot.min.css.map */ \ No newline at end of file
diff --git a/templates/assets/bootstrap/dist/css/bootstrap-reboot.min.css.map b/templates/assets/bootstrap/dist/css/bootstrap-reboot.min.css.map
new file mode 100644
index 0000000..a99e82e
--- /dev/null
+++ b/templates/assets/bootstrap/dist/css/bootstrap-reboot.min.css.map
@@ -0,0 +1 @@
+{"version":3,"sources":["../../scss/_reboot.scss","dist/css/bootstrap-reboot.css","bootstrap-reboot.css","../../scss/mixins/_hover.scss"],"names":[],"mappings":"AAoBA,KACE,mBAAA,WAAA,WAAA,WACA,YAAA,WACA,YAAA,KACA,yBAAA,KACA,qBAAA,KACA,mBAAA,UACA,4BAAA,YAGF,ECjBA,QADA,SDqBE,mBAAA,QAAA,WAAA,QAKA,cAAgB,MAAA,aASlB,KACE,OAAA,EACA,YAAA,aAAA,CAAA,SAAA,CAAA,kBAAA,CAAA,UAAA,CAAA,MAAA,CAAA,gBAAA,CAAA,KAAA,CAAA,WACA,UAAA,KACA,YAAA,IACA,YAAA,IACA,MAAA,QACA,iBAAA,KExBF,sBFiCE,QAAA,YASF,GACE,mBAAA,YAAA,WAAA,YACA,OAAA,EACA,SAAA,QAYF,GAAA,GAAA,GAAA,GAAA,GAAA,GACE,WAAA,EACA,cAAA,MAOF,EACE,WAAA,EACA,cAAA,KC5CF,0BDsDA,YAEE,gBAAA,UACA,gBAAA,UAAA,OACA,OAAA,KACA,cAAA,EAGF,QACE,cAAA,KACA,WAAA,OACA,YAAA,QClDF,GDqDA,GCtDA,GDyDE,WAAA,EACA,cAAA,KAGF,MCrDA,MACA,MAFA,MD0DE,cAAA,EAGF,GACE,YAAA,IAGF,GACE,cAAA,MACA,YAAA,EAGF,WACE,OAAA,EAAA,EAAA,KAGF,IACE,WAAA,OAGF,ECtDA,ODwDE,YAAA,OAGF,MACE,UAAA,IAQF,IC3DA,ID6DE,SAAA,SACA,UAAA,IACA,YAAA,EACA,eAAA,SAGF,IAAM,OAAA,OACN,IAAM,IAAA,MAON,EACE,MAAA,QACA,gBAAA,KACA,iBAAA,YACA,6BAAA,QGhLE,QHmLA,MAAA,QACA,gBAAA,UAUJ,8BACE,MAAA,QACA,gBAAA,KGrLE,oCAAA,oCHwLA,MAAA,QACA,gBAAA,KANJ,oCAUI,QAAA,EC7DJ,KACA,IDqEA,ICpEA,KDwEE,YAAA,SAAA,CAAA,UACA,UAAA,IAGF,IAEE,WAAA,EAEA,cAAA,KAEA,SAAA,KAQF,OAEE,OAAA,EAAA,EAAA,KAQF,IACE,eAAA,OACA,aAAA,KAGF,eACE,SAAA,OC/EF,cD6FA,EC/FA,KACA,OAEA,MACA,MACA,OACA,QACA,SDiGE,iBAAA,aAAA,aAAA,aAQF,MACE,gBAAA,SAGF,QACE,YAAA,OACA,eAAA,OACA,MAAA,QACA,WAAA,KACA,aAAA,OAGF,GAEE,WAAA,KAQF,MAEE,QAAA,aACA,cAAA,MAOF,aACE,QAAA,IAAA,OACA,QAAA,IAAA,KAAA,yBC3GF,OD8GA,MC5GA,SADA,OAEA,SDgHE,OAAA,EACA,YAAA,QACA,UAAA,QACA,YAAA,QAGF,OC9GA,MDgHE,SAAA,QAGF,OC9GA,ODgHE,eAAA,KC1GF,aACA,cD+GA,OCjHA,mBDqHE,mBAAA,OC9GF,gCACA,+BACA,gCDgHA,yBAIE,QAAA,EACA,aAAA,KC/GF,qBDkHA,kBAEE,mBAAA,WAAA,WAAA,WACA,QAAA,EC9GF,8BD2GA,2BASI,OAAA,YAKJ,iBCnHA,2BACA,kBAFA,iBD6HE,mBAAA,QAGF,SACE,SAAA,KAEA,OAAA,SAGF,SAME,UAAA,EAEA,QAAA,EACA,OAAA,EACA,OAAA,EAKF,OACE,QAAA,MACA,MAAA,KACA,UAAA,KACA,QAAA,EACA,cAAA,MACA,UAAA,OACA,YAAA,QACA,MAAA,QACA,YAAA,OAGF,SACE,eAAA,SErIF,yCDMA,yCDqIE,OAAA,KEtIF,cF8IE,eAAA,KACA,mBAAA,KE1IF,4CDMA,yCD6IE,mBAAA,KAQF,6BACE,KAAA,QACA,mBAAA,OAOF,OACE,QAAA,aAGF,QACE,QAAA,UAGF,SACE,QAAA,KEvJF,SF6JE,QAAA"} \ No newline at end of file
diff --git a/templates/assets/bootstrap/dist/css/bootstrap.css b/templates/assets/bootstrap/dist/css/bootstrap.css
new file mode 100644
index 0000000..fa6d189
--- /dev/null
+++ b/templates/assets/bootstrap/dist/css/bootstrap.css
@@ -0,0 +1,9119 @@
+/*!
+ * Bootstrap v4.0.0-alpha.6 (https://getbootstrap.com)
+ * Copyright 2011-2017 The Bootstrap Authors
+ * Copyright 2011-2017 Twitter, Inc.
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ */
+@media print {
+ *,
+ *::before,
+ *::after,
+ p::first-letter,
+ div::first-letter,
+ blockquote::first-letter,
+ li::first-letter,
+ p::first-line,
+ div::first-line,
+ blockquote::first-line,
+ li::first-line {
+ text-shadow: none !important;
+ -webkit-box-shadow: none !important;
+ box-shadow: none !important;
+ }
+ a,
+ a:visited {
+ text-decoration: underline;
+ }
+ abbr[title]::after {
+ content: " (" attr(title) ")";
+ }
+ pre {
+ white-space: pre-wrap !important;
+ }
+ pre,
+ blockquote {
+ border: 1px solid #999;
+ page-break-inside: avoid;
+ }
+ thead {
+ display: table-header-group;
+ }
+ tr,
+ img {
+ page-break-inside: avoid;
+ }
+ p,
+ h2,
+ h3 {
+ orphans: 3;
+ widows: 3;
+ }
+ h2,
+ h3 {
+ page-break-after: avoid;
+ }
+ .navbar {
+ display: none;
+ }
+ .badge {
+ border: 1px solid #000;
+ }
+ .table {
+ border-collapse: collapse !important;
+ }
+ .table td,
+ .table th {
+ background-color: #fff !important;
+ }
+ .table-bordered th,
+ .table-bordered td {
+ border: 1px solid #ddd !important;
+ }
+}
+
+html {
+ -webkit-box-sizing: border-box;
+ box-sizing: border-box;
+ font-family: sans-serif;
+ line-height: 1.15;
+ -webkit-text-size-adjust: 100%;
+ -ms-text-size-adjust: 100%;
+ -ms-overflow-style: scrollbar;
+ -webkit-tap-highlight-color: transparent;
+}
+
+*,
+*::before,
+*::after {
+ -webkit-box-sizing: inherit;
+ box-sizing: inherit;
+}
+
+@-ms-viewport {
+ width: device-width;
+}
+
+body {
+ margin: 0;
+ font-family: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
+ font-size: 1rem;
+ font-weight: normal;
+ line-height: 1.5;
+ color: #292b2c;
+ background-color: #fff;
+}
+
+[tabindex="-1"]:focus {
+ outline: none !important;
+}
+
+hr {
+ -webkit-box-sizing: content-box;
+ box-sizing: content-box;
+ height: 0;
+ overflow: visible;
+}
+
+h1, h2, h3, h4, h5, h6 {
+ margin-top: 0;
+ margin-bottom: .5rem;
+}
+
+p {
+ margin-top: 0;
+ margin-bottom: 1rem;
+}
+
+abbr[title],
+abbr[data-original-title] {
+ text-decoration: underline;
+ text-decoration: underline dotted;
+ cursor: help;
+ border-bottom: 0;
+}
+
+address {
+ margin-bottom: 1rem;
+ font-style: normal;
+ line-height: inherit;
+}
+
+ol,
+ul,
+dl {
+ margin-top: 0;
+ margin-bottom: 1rem;
+}
+
+ol ol,
+ul ul,
+ol ul,
+ul ol {
+ margin-bottom: 0;
+}
+
+dt {
+ font-weight: bold;
+}
+
+dd {
+ margin-bottom: .5rem;
+ margin-left: 0;
+}
+
+blockquote {
+ margin: 0 0 1rem;
+}
+
+dfn {
+ font-style: italic;
+}
+
+b,
+strong {
+ font-weight: bolder;
+}
+
+small {
+ font-size: 80%;
+}
+
+sub,
+sup {
+ position: relative;
+ font-size: 75%;
+ line-height: 0;
+ vertical-align: baseline;
+}
+
+sub {
+ bottom: -.25em;
+}
+
+sup {
+ top: -.5em;
+}
+
+a {
+ color: #0275d8;
+ text-decoration: none;
+ background-color: transparent;
+ -webkit-text-decoration-skip: objects;
+}
+
+a:hover {
+ color: #014c8c;
+ text-decoration: underline;
+}
+
+a:not([href]):not([tabindex]) {
+ color: inherit;
+ text-decoration: none;
+}
+
+a:not([href]):not([tabindex]):focus, a:not([href]):not([tabindex]):hover {
+ color: inherit;
+ text-decoration: none;
+}
+
+a:not([href]):not([tabindex]):focus {
+ outline: 0;
+}
+
+pre,
+code,
+kbd,
+samp {
+ font-family: monospace, monospace;
+ font-size: 1em;
+}
+
+pre {
+ margin-top: 0;
+ margin-bottom: 1rem;
+ overflow: auto;
+}
+
+figure {
+ margin: 0 0 1rem;
+}
+
+img {
+ vertical-align: middle;
+ border-style: none;
+}
+
+svg:not(:root) {
+ overflow: hidden;
+}
+
+a,
+area,
+button,
+[role="button"],
+input,
+label,
+select,
+summary,
+textarea {
+ -ms-touch-action: manipulation;
+ touch-action: manipulation;
+}
+
+table {
+ border-collapse: collapse;
+}
+
+caption {
+ padding-top: 0.75rem;
+ padding-bottom: 0.75rem;
+ color: #636c72;
+ text-align: left;
+ caption-side: bottom;
+}
+
+th {
+ text-align: left;
+}
+
+label {
+ display: inline-block;
+ margin-bottom: .5rem;
+}
+
+button:focus {
+ outline: 1px dotted;
+ outline: 5px auto -webkit-focus-ring-color;
+}
+
+input,
+button,
+select,
+optgroup,
+textarea {
+ margin: 0;
+ font-family: inherit;
+ font-size: inherit;
+ line-height: inherit;
+}
+
+button,
+input {
+ overflow: visible;
+}
+
+button,
+select {
+ text-transform: none;
+}
+
+button,
+html [type="button"],
+[type="reset"],
+[type="submit"] {
+ -webkit-appearance: button;
+}
+
+button::-moz-focus-inner,
+[type="button"]::-moz-focus-inner,
+[type="reset"]::-moz-focus-inner,
+[type="submit"]::-moz-focus-inner {
+ padding: 0;
+ border-style: none;
+}
+
+input[type="radio"],
+input[type="checkbox"] {
+ -webkit-box-sizing: border-box;
+ box-sizing: border-box;
+ padding: 0;
+}
+
+input[type="radio"]:disabled,
+input[type="checkbox"]:disabled {
+ cursor: not-allowed;
+}
+
+input[type="date"],
+input[type="time"],
+input[type="datetime-local"],
+input[type="month"] {
+ -webkit-appearance: listbox;
+}
+
+textarea {
+ overflow: auto;
+ resize: vertical;
+}
+
+fieldset {
+ min-width: 0;
+ padding: 0;
+ margin: 0;
+ border: 0;
+}
+
+legend {
+ display: block;
+ width: 100%;
+ max-width: 100%;
+ padding: 0;
+ margin-bottom: .5rem;
+ font-size: 1.5rem;
+ line-height: inherit;
+ color: inherit;
+ white-space: normal;
+}
+
+progress {
+ vertical-align: baseline;
+}
+
+[type="number"]::-webkit-inner-spin-button,
+[type="number"]::-webkit-outer-spin-button {
+ height: auto;
+}
+
+[type="search"] {
+ outline-offset: -2px;
+ -webkit-appearance: none;
+}
+
+[type="search"]::-webkit-search-cancel-button,
+[type="search"]::-webkit-search-decoration {
+ -webkit-appearance: none;
+}
+
+::-webkit-file-upload-button {
+ font: inherit;
+ -webkit-appearance: button;
+}
+
+output {
+ display: inline-block;
+}
+
+summary {
+ display: list-item;
+}
+
+template {
+ display: none;
+}
+
+[hidden] {
+ display: none !important;
+}
+
+h1, h2, h3, h4, h5, h6,
+.h1, .h2, .h3, .h4, .h5, .h6 {
+ margin-bottom: 0.5rem;
+ font-family: inherit;
+ font-weight: 500;
+ line-height: 1.1;
+ color: inherit;
+}
+
+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;
+}
+
+.lead {
+ font-size: 1.25rem;
+ font-weight: 300;
+}
+
+.display-1 {
+ font-size: 6rem;
+ font-weight: 300;
+ line-height: 1.1;
+}
+
+.display-2 {
+ font-size: 5.5rem;
+ font-weight: 300;
+ line-height: 1.1;
+}
+
+.display-3 {
+ font-size: 4.5rem;
+ font-weight: 300;
+ line-height: 1.1;
+}
+
+.display-4 {
+ font-size: 3.5rem;
+ font-weight: 300;
+ line-height: 1.1;
+}
+
+hr {
+ margin-top: 1rem;
+ margin-bottom: 1rem;
+ border: 0;
+ border-top: 1px solid rgba(0, 0, 0, 0.1);
+}
+
+small,
+.small {
+ font-size: 80%;
+ font-weight: normal;
+}
+
+mark,
+.mark {
+ padding: 0.2em;
+ background-color: #fcf8e3;
+}
+
+.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: 5px;
+}
+
+.initialism {
+ font-size: 90%;
+ text-transform: uppercase;
+}
+
+.blockquote {
+ padding: 0.5rem 1rem;
+ margin-bottom: 1rem;
+ font-size: 1.25rem;
+ border-left: 0.25rem solid #eceeef;
+}
+
+.blockquote-footer {
+ display: block;
+ font-size: 80%;
+ color: #636c72;
+}
+
+.blockquote-footer::before {
+ content: "\2014 \00A0";
+}
+
+.blockquote-reverse {
+ padding-right: 1rem;
+ padding-left: 0;
+ text-align: right;
+ border-right: 0.25rem solid #eceeef;
+ border-left: 0;
+}
+
+.blockquote-reverse .blockquote-footer::before {
+ content: "";
+}
+
+.blockquote-reverse .blockquote-footer::after {
+ content: "\00A0 \2014";
+}
+
+.img-fluid {
+ max-width: 100%;
+ height: auto;
+}
+
+.img-thumbnail {
+ padding: 0.25rem;
+ background-color: #fff;
+ border: 1px solid #ddd;
+ border-radius: 0.25rem;
+ -webkit-transition: all 0.2s ease-in-out;
+ -o-transition: all 0.2s ease-in-out;
+ transition: all 0.2s ease-in-out;
+ max-width: 100%;
+ height: auto;
+}
+
+.figure {
+ display: inline-block;
+}
+
+.figure-img {
+ margin-bottom: 0.5rem;
+ line-height: 1;
+}
+
+.figure-caption {
+ font-size: 90%;
+ color: #636c72;
+}
+
+code,
+kbd,
+pre,
+samp {
+ font-family: Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
+}
+
+code {
+ padding: 0.2rem 0.4rem;
+ font-size: 90%;
+ color: #bd4147;
+ background-color: #f7f7f9;
+ border-radius: 0.25rem;
+}
+
+a > code {
+ padding: 0;
+ color: inherit;
+ background-color: inherit;
+}
+
+kbd {
+ padding: 0.2rem 0.4rem;
+ font-size: 90%;
+ color: #fff;
+ background-color: #292b2c;
+ border-radius: 0.2rem;
+}
+
+kbd kbd {
+ padding: 0;
+ font-size: 100%;
+ font-weight: bold;
+}
+
+pre {
+ display: block;
+ margin-top: 0;
+ margin-bottom: 1rem;
+ font-size: 90%;
+ color: #292b2c;
+}
+
+pre code {
+ padding: 0;
+ font-size: inherit;
+ color: inherit;
+ background-color: transparent;
+ border-radius: 0;
+}
+
+.pre-scrollable {
+ max-height: 340px;
+ overflow-y: scroll;
+}
+
+.container {
+ position: relative;
+ margin-right: auto;
+ margin-left: auto;
+ padding-right: 15px;
+ padding-left: 15px;
+}
+
+@media (min-width: 576px) {
+ .container {
+ padding-right: 15px;
+ padding-left: 15px;
+ }
+}
+
+@media (min-width: 768px) {
+ .container {
+ padding-right: 15px;
+ padding-left: 15px;
+ }
+}
+
+@media (min-width: 992px) {
+ .container {
+ padding-right: 15px;
+ padding-left: 15px;
+ }
+}
+
+@media (min-width: 1200px) {
+ .container {
+ padding-right: 15px;
+ padding-left: 15px;
+ }
+}
+
+@media (min-width: 576px) {
+ .container {
+ width: 540px;
+ max-width: 100%;
+ }
+}
+
+@media (min-width: 768px) {
+ .container {
+ width: 720px;
+ max-width: 100%;
+ }
+}
+
+@media (min-width: 992px) {
+ .container {
+ width: 960px;
+ max-width: 100%;
+ }
+}
+
+@media (min-width: 1200px) {
+ .container {
+ width: 1140px;
+ max-width: 100%;
+ }
+}
+
+.container-fluid {
+ position: relative;
+ margin-right: auto;
+ margin-left: auto;
+ padding-right: 15px;
+ padding-left: 15px;
+}
+
+@media (min-width: 576px) {
+ .container-fluid {
+ padding-right: 15px;
+ padding-left: 15px;
+ }
+}
+
+@media (min-width: 768px) {
+ .container-fluid {
+ padding-right: 15px;
+ padding-left: 15px;
+ }
+}
+
+@media (min-width: 992px) {
+ .container-fluid {
+ padding-right: 15px;
+ padding-left: 15px;
+ }
+}
+
+@media (min-width: 1200px) {
+ .container-fluid {
+ padding-right: 15px;
+ padding-left: 15px;
+ }
+}
+
+.row {
+ display: -webkit-box;
+ display: -webkit-flex;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-flex-wrap: wrap;
+ -ms-flex-wrap: wrap;
+ flex-wrap: wrap;
+ margin-right: -15px;
+ margin-left: -15px;
+}
+
+@media (min-width: 576px) {
+ .row {
+ margin-right: -15px;
+ margin-left: -15px;
+ }
+}
+
+@media (min-width: 768px) {
+ .row {
+ margin-right: -15px;
+ margin-left: -15px;
+ }
+}
+
+@media (min-width: 992px) {
+ .row {
+ margin-right: -15px;
+ margin-left: -15px;
+ }
+}
+
+@media (min-width: 1200px) {
+ .row {
+ 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-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-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-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-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-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 {
+ position: relative;
+ width: 100%;
+ min-height: 1px;
+ padding-right: 15px;
+ padding-left: 15px;
+}
+
+@media (min-width: 576px) {
+ .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-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-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-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-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 {
+ padding-right: 15px;
+ padding-left: 15px;
+ }
+}
+
+@media (min-width: 768px) {
+ .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-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-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-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-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 {
+ padding-right: 15px;
+ padding-left: 15px;
+ }
+}
+
+@media (min-width: 992px) {
+ .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-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-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-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-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 {
+ padding-right: 15px;
+ padding-left: 15px;
+ }
+}
+
+@media (min-width: 1200px) {
+ .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-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-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-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-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 {
+ padding-right: 15px;
+ padding-left: 15px;
+ }
+}
+
+.col {
+ -webkit-flex-basis: 0;
+ -ms-flex-preferred-size: 0;
+ flex-basis: 0;
+ -webkit-box-flex: 1;
+ -webkit-flex-grow: 1;
+ -ms-flex-positive: 1;
+ flex-grow: 1;
+ max-width: 100%;
+}
+
+.col-auto {
+ -webkit-box-flex: 0;
+ -webkit-flex: 0 0 auto;
+ -ms-flex: 0 0 auto;
+ flex: 0 0 auto;
+ width: auto;
+}
+
+.col-1 {
+ -webkit-box-flex: 0;
+ -webkit-flex: 0 0 8.333333%;
+ -ms-flex: 0 0 8.333333%;
+ flex: 0 0 8.333333%;
+ max-width: 8.333333%;
+}
+
+.col-2 {
+ -webkit-box-flex: 0;
+ -webkit-flex: 0 0 16.666667%;
+ -ms-flex: 0 0 16.666667%;
+ flex: 0 0 16.666667%;
+ max-width: 16.666667%;
+}
+
+.col-3 {
+ -webkit-box-flex: 0;
+ -webkit-flex: 0 0 25%;
+ -ms-flex: 0 0 25%;
+ flex: 0 0 25%;
+ max-width: 25%;
+}
+
+.col-4 {
+ -webkit-box-flex: 0;
+ -webkit-flex: 0 0 33.333333%;
+ -ms-flex: 0 0 33.333333%;
+ flex: 0 0 33.333333%;
+ max-width: 33.333333%;
+}
+
+.col-5 {
+ -webkit-box-flex: 0;
+ -webkit-flex: 0 0 41.666667%;
+ -ms-flex: 0 0 41.666667%;
+ flex: 0 0 41.666667%;
+ max-width: 41.666667%;
+}
+
+.col-6 {
+ -webkit-box-flex: 0;
+ -webkit-flex: 0 0 50%;
+ -ms-flex: 0 0 50%;
+ flex: 0 0 50%;
+ max-width: 50%;
+}
+
+.col-7 {
+ -webkit-box-flex: 0;
+ -webkit-flex: 0 0 58.333333%;
+ -ms-flex: 0 0 58.333333%;
+ flex: 0 0 58.333333%;
+ max-width: 58.333333%;
+}
+
+.col-8 {
+ -webkit-box-flex: 0;
+ -webkit-flex: 0 0 66.666667%;
+ -ms-flex: 0 0 66.666667%;
+ flex: 0 0 66.666667%;
+ max-width: 66.666667%;
+}
+
+.col-9 {
+ -webkit-box-flex: 0;
+ -webkit-flex: 0 0 75%;
+ -ms-flex: 0 0 75%;
+ flex: 0 0 75%;
+ max-width: 75%;
+}
+
+.col-10 {
+ -webkit-box-flex: 0;
+ -webkit-flex: 0 0 83.333333%;
+ -ms-flex: 0 0 83.333333%;
+ flex: 0 0 83.333333%;
+ max-width: 83.333333%;
+}
+
+.col-11 {
+ -webkit-box-flex: 0;
+ -webkit-flex: 0 0 91.666667%;
+ -ms-flex: 0 0 91.666667%;
+ flex: 0 0 91.666667%;
+ max-width: 91.666667%;
+}
+
+.col-12 {
+ -webkit-box-flex: 0;
+ -webkit-flex: 0 0 100%;
+ -ms-flex: 0 0 100%;
+ flex: 0 0 100%;
+ max-width: 100%;
+}
+
+.pull-0 {
+ right: auto;
+}
+
+.pull-1 {
+ right: 8.333333%;
+}
+
+.pull-2 {
+ right: 16.666667%;
+}
+
+.pull-3 {
+ right: 25%;
+}
+
+.pull-4 {
+ right: 33.333333%;
+}
+
+.pull-5 {
+ right: 41.666667%;
+}
+
+.pull-6 {
+ right: 50%;
+}
+
+.pull-7 {
+ right: 58.333333%;
+}
+
+.pull-8 {
+ right: 66.666667%;
+}
+
+.pull-9 {
+ right: 75%;
+}
+
+.pull-10 {
+ right: 83.333333%;
+}
+
+.pull-11 {
+ right: 91.666667%;
+}
+
+.pull-12 {
+ right: 100%;
+}
+
+.push-0 {
+ left: auto;
+}
+
+.push-1 {
+ left: 8.333333%;
+}
+
+.push-2 {
+ left: 16.666667%;
+}
+
+.push-3 {
+ left: 25%;
+}
+
+.push-4 {
+ left: 33.333333%;
+}
+
+.push-5 {
+ left: 41.666667%;
+}
+
+.push-6 {
+ left: 50%;
+}
+
+.push-7 {
+ left: 58.333333%;
+}
+
+.push-8 {
+ left: 66.666667%;
+}
+
+.push-9 {
+ left: 75%;
+}
+
+.push-10 {
+ left: 83.333333%;
+}
+
+.push-11 {
+ left: 91.666667%;
+}
+
+.push-12 {
+ left: 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 {
+ -webkit-flex-basis: 0;
+ -ms-flex-preferred-size: 0;
+ flex-basis: 0;
+ -webkit-box-flex: 1;
+ -webkit-flex-grow: 1;
+ -ms-flex-positive: 1;
+ flex-grow: 1;
+ max-width: 100%;
+ }
+ .col-sm-auto {
+ -webkit-box-flex: 0;
+ -webkit-flex: 0 0 auto;
+ -ms-flex: 0 0 auto;
+ flex: 0 0 auto;
+ width: auto;
+ }
+ .col-sm-1 {
+ -webkit-box-flex: 0;
+ -webkit-flex: 0 0 8.333333%;
+ -ms-flex: 0 0 8.333333%;
+ flex: 0 0 8.333333%;
+ max-width: 8.333333%;
+ }
+ .col-sm-2 {
+ -webkit-box-flex: 0;
+ -webkit-flex: 0 0 16.666667%;
+ -ms-flex: 0 0 16.666667%;
+ flex: 0 0 16.666667%;
+ max-width: 16.666667%;
+ }
+ .col-sm-3 {
+ -webkit-box-flex: 0;
+ -webkit-flex: 0 0 25%;
+ -ms-flex: 0 0 25%;
+ flex: 0 0 25%;
+ max-width: 25%;
+ }
+ .col-sm-4 {
+ -webkit-box-flex: 0;
+ -webkit-flex: 0 0 33.333333%;
+ -ms-flex: 0 0 33.333333%;
+ flex: 0 0 33.333333%;
+ max-width: 33.333333%;
+ }
+ .col-sm-5 {
+ -webkit-box-flex: 0;
+ -webkit-flex: 0 0 41.666667%;
+ -ms-flex: 0 0 41.666667%;
+ flex: 0 0 41.666667%;
+ max-width: 41.666667%;
+ }
+ .col-sm-6 {
+ -webkit-box-flex: 0;
+ -webkit-flex: 0 0 50%;
+ -ms-flex: 0 0 50%;
+ flex: 0 0 50%;
+ max-width: 50%;
+ }
+ .col-sm-7 {
+ -webkit-box-flex: 0;
+ -webkit-flex: 0 0 58.333333%;
+ -ms-flex: 0 0 58.333333%;
+ flex: 0 0 58.333333%;
+ max-width: 58.333333%;
+ }
+ .col-sm-8 {
+ -webkit-box-flex: 0;
+ -webkit-flex: 0 0 66.666667%;
+ -ms-flex: 0 0 66.666667%;
+ flex: 0 0 66.666667%;
+ max-width: 66.666667%;
+ }
+ .col-sm-9 {
+ -webkit-box-flex: 0;
+ -webkit-flex: 0 0 75%;
+ -ms-flex: 0 0 75%;
+ flex: 0 0 75%;
+ max-width: 75%;
+ }
+ .col-sm-10 {
+ -webkit-box-flex: 0;
+ -webkit-flex: 0 0 83.333333%;
+ -ms-flex: 0 0 83.333333%;
+ flex: 0 0 83.333333%;
+ max-width: 83.333333%;
+ }
+ .col-sm-11 {
+ -webkit-box-flex: 0;
+ -webkit-flex: 0 0 91.666667%;
+ -ms-flex: 0 0 91.666667%;
+ flex: 0 0 91.666667%;
+ max-width: 91.666667%;
+ }
+ .col-sm-12 {
+ -webkit-box-flex: 0;
+ -webkit-flex: 0 0 100%;
+ -ms-flex: 0 0 100%;
+ flex: 0 0 100%;
+ max-width: 100%;
+ }
+ .pull-sm-0 {
+ right: auto;
+ }
+ .pull-sm-1 {
+ right: 8.333333%;
+ }
+ .pull-sm-2 {
+ right: 16.666667%;
+ }
+ .pull-sm-3 {
+ right: 25%;
+ }
+ .pull-sm-4 {
+ right: 33.333333%;
+ }
+ .pull-sm-5 {
+ right: 41.666667%;
+ }
+ .pull-sm-6 {
+ right: 50%;
+ }
+ .pull-sm-7 {
+ right: 58.333333%;
+ }
+ .pull-sm-8 {
+ right: 66.666667%;
+ }
+ .pull-sm-9 {
+ right: 75%;
+ }
+ .pull-sm-10 {
+ right: 83.333333%;
+ }
+ .pull-sm-11 {
+ right: 91.666667%;
+ }
+ .pull-sm-12 {
+ right: 100%;
+ }
+ .push-sm-0 {
+ left: auto;
+ }
+ .push-sm-1 {
+ left: 8.333333%;
+ }
+ .push-sm-2 {
+ left: 16.666667%;
+ }
+ .push-sm-3 {
+ left: 25%;
+ }
+ .push-sm-4 {
+ left: 33.333333%;
+ }
+ .push-sm-5 {
+ left: 41.666667%;
+ }
+ .push-sm-6 {
+ left: 50%;
+ }
+ .push-sm-7 {
+ left: 58.333333%;
+ }
+ .push-sm-8 {
+ left: 66.666667%;
+ }
+ .push-sm-9 {
+ left: 75%;
+ }
+ .push-sm-10 {
+ left: 83.333333%;
+ }
+ .push-sm-11 {
+ left: 91.666667%;
+ }
+ .push-sm-12 {
+ left: 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 {
+ -webkit-flex-basis: 0;
+ -ms-flex-preferred-size: 0;
+ flex-basis: 0;
+ -webkit-box-flex: 1;
+ -webkit-flex-grow: 1;
+ -ms-flex-positive: 1;
+ flex-grow: 1;
+ max-width: 100%;
+ }
+ .col-md-auto {
+ -webkit-box-flex: 0;
+ -webkit-flex: 0 0 auto;
+ -ms-flex: 0 0 auto;
+ flex: 0 0 auto;
+ width: auto;
+ }
+ .col-md-1 {
+ -webkit-box-flex: 0;
+ -webkit-flex: 0 0 8.333333%;
+ -ms-flex: 0 0 8.333333%;
+ flex: 0 0 8.333333%;
+ max-width: 8.333333%;
+ }
+ .col-md-2 {
+ -webkit-box-flex: 0;
+ -webkit-flex: 0 0 16.666667%;
+ -ms-flex: 0 0 16.666667%;
+ flex: 0 0 16.666667%;
+ max-width: 16.666667%;
+ }
+ .col-md-3 {
+ -webkit-box-flex: 0;
+ -webkit-flex: 0 0 25%;
+ -ms-flex: 0 0 25%;
+ flex: 0 0 25%;
+ max-width: 25%;
+ }
+ .col-md-4 {
+ -webkit-box-flex: 0;
+ -webkit-flex: 0 0 33.333333%;
+ -ms-flex: 0 0 33.333333%;
+ flex: 0 0 33.333333%;
+ max-width: 33.333333%;
+ }
+ .col-md-5 {
+ -webkit-box-flex: 0;
+ -webkit-flex: 0 0 41.666667%;
+ -ms-flex: 0 0 41.666667%;
+ flex: 0 0 41.666667%;
+ max-width: 41.666667%;
+ }
+ .col-md-6 {
+ -webkit-box-flex: 0;
+ -webkit-flex: 0 0 50%;
+ -ms-flex: 0 0 50%;
+ flex: 0 0 50%;
+ max-width: 50%;
+ }
+ .col-md-7 {
+ -webkit-box-flex: 0;
+ -webkit-flex: 0 0 58.333333%;
+ -ms-flex: 0 0 58.333333%;
+ flex: 0 0 58.333333%;
+ max-width: 58.333333%;
+ }
+ .col-md-8 {
+ -webkit-box-flex: 0;
+ -webkit-flex: 0 0 66.666667%;
+ -ms-flex: 0 0 66.666667%;
+ flex: 0 0 66.666667%;
+ max-width: 66.666667%;
+ }
+ .col-md-9 {
+ -webkit-box-flex: 0;
+ -webkit-flex: 0 0 75%;
+ -ms-flex: 0 0 75%;
+ flex: 0 0 75%;
+ max-width: 75%;
+ }
+ .col-md-10 {
+ -webkit-box-flex: 0;
+ -webkit-flex: 0 0 83.333333%;
+ -ms-flex: 0 0 83.333333%;
+ flex: 0 0 83.333333%;
+ max-width: 83.333333%;
+ }
+ .col-md-11 {
+ -webkit-box-flex: 0;
+ -webkit-flex: 0 0 91.666667%;
+ -ms-flex: 0 0 91.666667%;
+ flex: 0 0 91.666667%;
+ max-width: 91.666667%;
+ }
+ .col-md-12 {
+ -webkit-box-flex: 0;
+ -webkit-flex: 0 0 100%;
+ -ms-flex: 0 0 100%;
+ flex: 0 0 100%;
+ max-width: 100%;
+ }
+ .pull-md-0 {
+ right: auto;
+ }
+ .pull-md-1 {
+ right: 8.333333%;
+ }
+ .pull-md-2 {
+ right: 16.666667%;
+ }
+ .pull-md-3 {
+ right: 25%;
+ }
+ .pull-md-4 {
+ right: 33.333333%;
+ }
+ .pull-md-5 {
+ right: 41.666667%;
+ }
+ .pull-md-6 {
+ right: 50%;
+ }
+ .pull-md-7 {
+ right: 58.333333%;
+ }
+ .pull-md-8 {
+ right: 66.666667%;
+ }
+ .pull-md-9 {
+ right: 75%;
+ }
+ .pull-md-10 {
+ right: 83.333333%;
+ }
+ .pull-md-11 {
+ right: 91.666667%;
+ }
+ .pull-md-12 {
+ right: 100%;
+ }
+ .push-md-0 {
+ left: auto;
+ }
+ .push-md-1 {
+ left: 8.333333%;
+ }
+ .push-md-2 {
+ left: 16.666667%;
+ }
+ .push-md-3 {
+ left: 25%;
+ }
+ .push-md-4 {
+ left: 33.333333%;
+ }
+ .push-md-5 {
+ left: 41.666667%;
+ }
+ .push-md-6 {
+ left: 50%;
+ }
+ .push-md-7 {
+ left: 58.333333%;
+ }
+ .push-md-8 {
+ left: 66.666667%;
+ }
+ .push-md-9 {
+ left: 75%;
+ }
+ .push-md-10 {
+ left: 83.333333%;
+ }
+ .push-md-11 {
+ left: 91.666667%;
+ }
+ .push-md-12 {
+ left: 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 {
+ -webkit-flex-basis: 0;
+ -ms-flex-preferred-size: 0;
+ flex-basis: 0;
+ -webkit-box-flex: 1;
+ -webkit-flex-grow: 1;
+ -ms-flex-positive: 1;
+ flex-grow: 1;
+ max-width: 100%;
+ }
+ .col-lg-auto {
+ -webkit-box-flex: 0;
+ -webkit-flex: 0 0 auto;
+ -ms-flex: 0 0 auto;
+ flex: 0 0 auto;
+ width: auto;
+ }
+ .col-lg-1 {
+ -webkit-box-flex: 0;
+ -webkit-flex: 0 0 8.333333%;
+ -ms-flex: 0 0 8.333333%;
+ flex: 0 0 8.333333%;
+ max-width: 8.333333%;
+ }
+ .col-lg-2 {
+ -webkit-box-flex: 0;
+ -webkit-flex: 0 0 16.666667%;
+ -ms-flex: 0 0 16.666667%;
+ flex: 0 0 16.666667%;
+ max-width: 16.666667%;
+ }
+ .col-lg-3 {
+ -webkit-box-flex: 0;
+ -webkit-flex: 0 0 25%;
+ -ms-flex: 0 0 25%;
+ flex: 0 0 25%;
+ max-width: 25%;
+ }
+ .col-lg-4 {
+ -webkit-box-flex: 0;
+ -webkit-flex: 0 0 33.333333%;
+ -ms-flex: 0 0 33.333333%;
+ flex: 0 0 33.333333%;
+ max-width: 33.333333%;
+ }
+ .col-lg-5 {
+ -webkit-box-flex: 0;
+ -webkit-flex: 0 0 41.666667%;
+ -ms-flex: 0 0 41.666667%;
+ flex: 0 0 41.666667%;
+ max-width: 41.666667%;
+ }
+ .col-lg-6 {
+ -webkit-box-flex: 0;
+ -webkit-flex: 0 0 50%;
+ -ms-flex: 0 0 50%;
+ flex: 0 0 50%;
+ max-width: 50%;
+ }
+ .col-lg-7 {
+ -webkit-box-flex: 0;
+ -webkit-flex: 0 0 58.333333%;
+ -ms-flex: 0 0 58.333333%;
+ flex: 0 0 58.333333%;
+ max-width: 58.333333%;
+ }
+ .col-lg-8 {
+ -webkit-box-flex: 0;
+ -webkit-flex: 0 0 66.666667%;
+ -ms-flex: 0 0 66.666667%;
+ flex: 0 0 66.666667%;
+ max-width: 66.666667%;
+ }
+ .col-lg-9 {
+ -webkit-box-flex: 0;
+ -webkit-flex: 0 0 75%;
+ -ms-flex: 0 0 75%;
+ flex: 0 0 75%;
+ max-width: 75%;
+ }
+ .col-lg-10 {
+ -webkit-box-flex: 0;
+ -webkit-flex: 0 0 83.333333%;
+ -ms-flex: 0 0 83.333333%;
+ flex: 0 0 83.333333%;
+ max-width: 83.333333%;
+ }
+ .col-lg-11 {
+ -webkit-box-flex: 0;
+ -webkit-flex: 0 0 91.666667%;
+ -ms-flex: 0 0 91.666667%;
+ flex: 0 0 91.666667%;
+ max-width: 91.666667%;
+ }
+ .col-lg-12 {
+ -webkit-box-flex: 0;
+ -webkit-flex: 0 0 100%;
+ -ms-flex: 0 0 100%;
+ flex: 0 0 100%;
+ max-width: 100%;
+ }
+ .pull-lg-0 {
+ right: auto;
+ }
+ .pull-lg-1 {
+ right: 8.333333%;
+ }
+ .pull-lg-2 {
+ right: 16.666667%;
+ }
+ .pull-lg-3 {
+ right: 25%;
+ }
+ .pull-lg-4 {
+ right: 33.333333%;
+ }
+ .pull-lg-5 {
+ right: 41.666667%;
+ }
+ .pull-lg-6 {
+ right: 50%;
+ }
+ .pull-lg-7 {
+ right: 58.333333%;
+ }
+ .pull-lg-8 {
+ right: 66.666667%;
+ }
+ .pull-lg-9 {
+ right: 75%;
+ }
+ .pull-lg-10 {
+ right: 83.333333%;
+ }
+ .pull-lg-11 {
+ right: 91.666667%;
+ }
+ .pull-lg-12 {
+ right: 100%;
+ }
+ .push-lg-0 {
+ left: auto;
+ }
+ .push-lg-1 {
+ left: 8.333333%;
+ }
+ .push-lg-2 {
+ left: 16.666667%;
+ }
+ .push-lg-3 {
+ left: 25%;
+ }
+ .push-lg-4 {
+ left: 33.333333%;
+ }
+ .push-lg-5 {
+ left: 41.666667%;
+ }
+ .push-lg-6 {
+ left: 50%;
+ }
+ .push-lg-7 {
+ left: 58.333333%;
+ }
+ .push-lg-8 {
+ left: 66.666667%;
+ }
+ .push-lg-9 {
+ left: 75%;
+ }
+ .push-lg-10 {
+ left: 83.333333%;
+ }
+ .push-lg-11 {
+ left: 91.666667%;
+ }
+ .push-lg-12 {
+ left: 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 {
+ -webkit-flex-basis: 0;
+ -ms-flex-preferred-size: 0;
+ flex-basis: 0;
+ -webkit-box-flex: 1;
+ -webkit-flex-grow: 1;
+ -ms-flex-positive: 1;
+ flex-grow: 1;
+ max-width: 100%;
+ }
+ .col-xl-auto {
+ -webkit-box-flex: 0;
+ -webkit-flex: 0 0 auto;
+ -ms-flex: 0 0 auto;
+ flex: 0 0 auto;
+ width: auto;
+ }
+ .col-xl-1 {
+ -webkit-box-flex: 0;
+ -webkit-flex: 0 0 8.333333%;
+ -ms-flex: 0 0 8.333333%;
+ flex: 0 0 8.333333%;
+ max-width: 8.333333%;
+ }
+ .col-xl-2 {
+ -webkit-box-flex: 0;
+ -webkit-flex: 0 0 16.666667%;
+ -ms-flex: 0 0 16.666667%;
+ flex: 0 0 16.666667%;
+ max-width: 16.666667%;
+ }
+ .col-xl-3 {
+ -webkit-box-flex: 0;
+ -webkit-flex: 0 0 25%;
+ -ms-flex: 0 0 25%;
+ flex: 0 0 25%;
+ max-width: 25%;
+ }
+ .col-xl-4 {
+ -webkit-box-flex: 0;
+ -webkit-flex: 0 0 33.333333%;
+ -ms-flex: 0 0 33.333333%;
+ flex: 0 0 33.333333%;
+ max-width: 33.333333%;
+ }
+ .col-xl-5 {
+ -webkit-box-flex: 0;
+ -webkit-flex: 0 0 41.666667%;
+ -ms-flex: 0 0 41.666667%;
+ flex: 0 0 41.666667%;
+ max-width: 41.666667%;
+ }
+ .col-xl-6 {
+ -webkit-box-flex: 0;
+ -webkit-flex: 0 0 50%;
+ -ms-flex: 0 0 50%;
+ flex: 0 0 50%;
+ max-width: 50%;
+ }
+ .col-xl-7 {
+ -webkit-box-flex: 0;
+ -webkit-flex: 0 0 58.333333%;
+ -ms-flex: 0 0 58.333333%;
+ flex: 0 0 58.333333%;
+ max-width: 58.333333%;
+ }
+ .col-xl-8 {
+ -webkit-box-flex: 0;
+ -webkit-flex: 0 0 66.666667%;
+ -ms-flex: 0 0 66.666667%;
+ flex: 0 0 66.666667%;
+ max-width: 66.666667%;
+ }
+ .col-xl-9 {
+ -webkit-box-flex: 0;
+ -webkit-flex: 0 0 75%;
+ -ms-flex: 0 0 75%;
+ flex: 0 0 75%;
+ max-width: 75%;
+ }
+ .col-xl-10 {
+ -webkit-box-flex: 0;
+ -webkit-flex: 0 0 83.333333%;
+ -ms-flex: 0 0 83.333333%;
+ flex: 0 0 83.333333%;
+ max-width: 83.333333%;
+ }
+ .col-xl-11 {
+ -webkit-box-flex: 0;
+ -webkit-flex: 0 0 91.666667%;
+ -ms-flex: 0 0 91.666667%;
+ flex: 0 0 91.666667%;
+ max-width: 91.666667%;
+ }
+ .col-xl-12 {
+ -webkit-box-flex: 0;
+ -webkit-flex: 0 0 100%;
+ -ms-flex: 0 0 100%;
+ flex: 0 0 100%;
+ max-width: 100%;
+ }
+ .pull-xl-0 {
+ right: auto;
+ }
+ .pull-xl-1 {
+ right: 8.333333%;
+ }
+ .pull-xl-2 {
+ right: 16.666667%;
+ }
+ .pull-xl-3 {
+ right: 25%;
+ }
+ .pull-xl-4 {
+ right: 33.333333%;
+ }
+ .pull-xl-5 {
+ right: 41.666667%;
+ }
+ .pull-xl-6 {
+ right: 50%;
+ }
+ .pull-xl-7 {
+ right: 58.333333%;
+ }
+ .pull-xl-8 {
+ right: 66.666667%;
+ }
+ .pull-xl-9 {
+ right: 75%;
+ }
+ .pull-xl-10 {
+ right: 83.333333%;
+ }
+ .pull-xl-11 {
+ right: 91.666667%;
+ }
+ .pull-xl-12 {
+ right: 100%;
+ }
+ .push-xl-0 {
+ left: auto;
+ }
+ .push-xl-1 {
+ left: 8.333333%;
+ }
+ .push-xl-2 {
+ left: 16.666667%;
+ }
+ .push-xl-3 {
+ left: 25%;
+ }
+ .push-xl-4 {
+ left: 33.333333%;
+ }
+ .push-xl-5 {
+ left: 41.666667%;
+ }
+ .push-xl-6 {
+ left: 50%;
+ }
+ .push-xl-7 {
+ left: 58.333333%;
+ }
+ .push-xl-8 {
+ left: 66.666667%;
+ }
+ .push-xl-9 {
+ left: 75%;
+ }
+ .push-xl-10 {
+ left: 83.333333%;
+ }
+ .push-xl-11 {
+ left: 91.666667%;
+ }
+ .push-xl-12 {
+ left: 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%;
+ max-width: 100%;
+ margin-bottom: 1rem;
+ background-color: transparent;
+}
+
+.table th,
+.table td {
+ padding: 0.75rem;
+ vertical-align: top;
+ border-top: 1px solid #eceeef;
+}
+
+.table thead th {
+ vertical-align: bottom;
+ border-bottom: 2px solid #eceeef;
+}
+
+.table tbody + tbody {
+ border-top: 2px solid #eceeef;
+}
+
+.table .table {
+ background-color: #fff;
+}
+
+.table-sm th,
+.table-sm td {
+ padding: 0.3rem;
+}
+
+.table-bordered {
+ border: 1px solid #eceeef;
+}
+
+.table-bordered th,
+.table-bordered td {
+ border: 1px solid #eceeef;
+}
+
+.table-bordered thead th,
+.table-bordered thead td {
+ border-bottom-width: 2px;
+}
+
+.table-striped tbody tr:nth-of-type(odd) {
+ background-color: rgba(0, 0, 0, 0.05);
+}
+
+.table-hover tbody tr:hover {
+ background-color: rgba(0, 0, 0, 0.075);
+}
+
+.table-active,
+.table-active > th,
+.table-active > td {
+ background-color: rgba(0, 0, 0, 0.075);
+}
+
+.table-hover .table-active:hover {
+ background-color: rgba(0, 0, 0, 0.075);
+}
+
+.table-hover .table-active:hover > td,
+.table-hover .table-active:hover > th {
+ background-color: rgba(0, 0, 0, 0.075);
+}
+
+.table-success,
+.table-success > th,
+.table-success > td {
+ background-color: #dff0d8;
+}
+
+.table-hover .table-success:hover {
+ background-color: #d0e9c6;
+}
+
+.table-hover .table-success:hover > td,
+.table-hover .table-success:hover > th {
+ background-color: #d0e9c6;
+}
+
+.table-info,
+.table-info > th,
+.table-info > td {
+ background-color: #d9edf7;
+}
+
+.table-hover .table-info:hover {
+ background-color: #c4e3f3;
+}
+
+.table-hover .table-info:hover > td,
+.table-hover .table-info:hover > th {
+ background-color: #c4e3f3;
+}
+
+.table-warning,
+.table-warning > th,
+.table-warning > td {
+ background-color: #fcf8e3;
+}
+
+.table-hover .table-warning:hover {
+ background-color: #faf2cc;
+}
+
+.table-hover .table-warning:hover > td,
+.table-hover .table-warning:hover > th {
+ background-color: #faf2cc;
+}
+
+.table-danger,
+.table-danger > th,
+.table-danger > td {
+ background-color: #f2dede;
+}
+
+.table-hover .table-danger:hover {
+ background-color: #ebcccc;
+}
+
+.table-hover .table-danger:hover > td,
+.table-hover .table-danger:hover > th {
+ background-color: #ebcccc;
+}
+
+.thead-inverse th {
+ color: #fff;
+ background-color: #292b2c;
+}
+
+.thead-default th {
+ color: #464a4c;
+ background-color: #eceeef;
+}
+
+.table-inverse {
+ color: #fff;
+ background-color: #292b2c;
+}
+
+.table-inverse th,
+.table-inverse td,
+.table-inverse thead th {
+ border-color: #3b3e40;
+}
+
+.table-inverse.table-bordered {
+ border: 0;
+}
+
+.table-inverse.table-striped tbody tr:nth-of-type(odd) {
+ background-color: rgba(255, 255, 255, 0.05);
+}
+
+.table-inverse.table-hover tbody tr:hover {
+ background-color: rgba(255, 255, 255, 0.075);
+}
+
+@media (max-width: 991px) {
+ .table-responsive {
+ display: block;
+ width: 100%;
+ overflow-x: auto;
+ -ms-overflow-style: -ms-autohiding-scrollbar;
+ }
+ .table-responsive.table-bordered {
+ border: 0;
+ }
+}
+
+.form-control {
+ display: block;
+ width: 100%;
+ padding: 0.5rem 0.75rem;
+ font-size: 1rem;
+ line-height: 1.25;
+ color: #464a4c;
+ background-color: #fff;
+ background-image: none;
+ -webkit-background-clip: padding-box;
+ background-clip: padding-box;
+ border: 1px solid rgba(0, 0, 0, 0.15);
+ border-radius: 0.25rem;
+ -webkit-transition: border-color ease-in-out 0.15s, -webkit-box-shadow ease-in-out 0.15s;
+ transition: border-color ease-in-out 0.15s, -webkit-box-shadow ease-in-out 0.15s;
+ -o-transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s;
+ transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s;
+ transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s, -webkit-box-shadow ease-in-out 0.15s;
+}
+
+.form-control::-ms-expand {
+ background-color: transparent;
+ border: 0;
+}
+
+.form-control:focus {
+ color: #464a4c;
+ background-color: #fff;
+ border-color: #5cb3fd;
+ outline: none;
+}
+
+.form-control::-webkit-input-placeholder {
+ color: #636c72;
+ opacity: 1;
+}
+
+.form-control::-moz-placeholder {
+ color: #636c72;
+ opacity: 1;
+}
+
+.form-control:-ms-input-placeholder {
+ color: #636c72;
+ opacity: 1;
+}
+
+.form-control::placeholder {
+ color: #636c72;
+ opacity: 1;
+}
+
+.form-control:disabled, .form-control[readonly] {
+ background-color: #eceeef;
+ opacity: 1;
+}
+
+.form-control:disabled {
+ cursor: not-allowed;
+}
+
+select.form-control:not([size]):not([multiple]) {
+ height: calc(2.25rem + 2px);
+}
+
+select.form-control:focus::-ms-value {
+ color: #464a4c;
+ background-color: #fff;
+}
+
+.form-control-file,
+.form-control-range {
+ display: block;
+}
+
+.col-form-label {
+ padding-top: calc(0.5rem - 1px * 2);
+ padding-bottom: calc(0.5rem - 1px * 2);
+ margin-bottom: 0;
+}
+
+.col-form-label-lg {
+ padding-top: calc(0.75rem - 1px * 2);
+ padding-bottom: calc(0.75rem - 1px * 2);
+ font-size: 1.25rem;
+}
+
+.col-form-label-sm {
+ padding-top: calc(0.25rem - 1px * 2);
+ padding-bottom: calc(0.25rem - 1px * 2);
+ font-size: 0.875rem;
+}
+
+.col-form-legend {
+ padding-top: 0.5rem;
+ padding-bottom: 0.5rem;
+ margin-bottom: 0;
+ font-size: 1rem;
+}
+
+.form-control-static {
+ padding-top: 0.5rem;
+ padding-bottom: 0.5rem;
+ margin-bottom: 0;
+ line-height: 1.25;
+ border: solid transparent;
+ border-width: 1px 0;
+}
+
+.form-control-static.form-control-sm, .input-group-sm > .form-control-static.form-control,
+.input-group-sm > .form-control-static.input-group-addon,
+.input-group-sm > .input-group-btn > .form-control-static.btn, .form-control-static.form-control-lg, .input-group-lg > .form-control-static.form-control,
+.input-group-lg > .form-control-static.input-group-addon,
+.input-group-lg > .input-group-btn > .form-control-static.btn {
+ padding-right: 0;
+ padding-left: 0;
+}
+
+.form-control-sm, .input-group-sm > .form-control,
+.input-group-sm > .input-group-addon,
+.input-group-sm > .input-group-btn > .btn {
+ padding: 0.25rem 0.5rem;
+ font-size: 0.875rem;
+ border-radius: 0.2rem;
+}
+
+select.form-control-sm:not([size]):not([multiple]), .input-group-sm > select.form-control:not([size]):not([multiple]),
+.input-group-sm > select.input-group-addon:not([size]):not([multiple]),
+.input-group-sm > .input-group-btn > select.btn:not([size]):not([multiple]) {
+ height: 1.8125rem;
+}
+
+.form-control-lg, .input-group-lg > .form-control,
+.input-group-lg > .input-group-addon,
+.input-group-lg > .input-group-btn > .btn {
+ padding: 0.75rem 1.5rem;
+ font-size: 1.25rem;
+ border-radius: 0.3rem;
+}
+
+select.form-control-lg:not([size]):not([multiple]), .input-group-lg > select.form-control:not([size]):not([multiple]),
+.input-group-lg > select.input-group-addon:not([size]):not([multiple]),
+.input-group-lg > .input-group-btn > select.btn:not([size]):not([multiple]) {
+ height: 3.166667rem;
+}
+
+.form-group {
+ margin-bottom: 1rem;
+}
+
+.form-text {
+ display: block;
+ margin-top: 0.25rem;
+}
+
+.form-check {
+ position: relative;
+ display: block;
+ margin-bottom: 0.5rem;
+}
+
+.form-check.disabled .form-check-label {
+ color: #636c72;
+ cursor: not-allowed;
+}
+
+.form-check-label {
+ padding-left: 1.25rem;
+ margin-bottom: 0;
+}
+
+.form-check-input {
+ position: absolute;
+ margin-top: 0.25rem;
+ margin-left: -1.25rem;
+}
+
+.form-check-input:only-child {
+ position: static;
+}
+
+.form-check-inline {
+ display: inline-block;
+}
+
+.form-check-inline .form-check-label {
+ vertical-align: middle;
+}
+
+.form-check-inline + .form-check-inline {
+ margin-left: 0.75rem;
+}
+
+.form-control-feedback {
+ margin-top: 0.25rem;
+}
+
+.form-control-success,
+.form-control-warning,
+.form-control-danger {
+ padding-right: 2.25rem;
+ background-repeat: no-repeat;
+ background-position: center right 0.5625rem;
+ -webkit-background-size: 1.125rem 1.125rem;
+ background-size: 1.125rem 1.125rem;
+}
+
+.has-success .form-control-feedback,
+.has-success .form-control-label,
+.has-success .col-form-label,
+.has-success .form-check-label,
+.has-success .custom-control {
+ color: #5cb85c;
+}
+
+.has-success .form-control,
+.has-success .custom-select,
+.has-success .custom-file-control {
+ border-color: #5cb85c;
+}
+
+.has-success .input-group-addon {
+ color: #5cb85c;
+ background-color: #eaf6ea;
+ border-color: #5cb85c;
+}
+
+.has-success .form-control-success {
+ background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%235cb85c' 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");
+}
+
+.has-warning .form-control-feedback,
+.has-warning .form-control-label,
+.has-warning .col-form-label,
+.has-warning .form-check-label,
+.has-warning .custom-control {
+ color: #f0ad4e;
+}
+
+.has-warning .form-control,
+.has-warning .custom-select,
+.has-warning .custom-file-control {
+ border-color: #f0ad4e;
+}
+
+.has-warning .input-group-addon {
+ color: #f0ad4e;
+ background-color: white;
+ border-color: #f0ad4e;
+}
+
+.has-warning .form-control-warning {
+ background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23f0ad4e' d='M4.4 5.324h-.8v-2.46h.8zm0 1.42h-.8V5.89h.8zM3.76.63L.04 7.075c-.115.2.016.425.26.426h7.397c.242 0 .372-.226.258-.426C6.726 4.924 5.47 2.79 4.253.63c-.113-.174-.39-.174-.494 0z'/%3E%3C/svg%3E");
+}
+
+.has-danger .form-control-feedback,
+.has-danger .form-control-label,
+.has-danger .col-form-label,
+.has-danger .form-check-label,
+.has-danger .custom-control {
+ color: #d9534f;
+}
+
+.has-danger .form-control,
+.has-danger .custom-select,
+.has-danger .custom-file-control {
+ border-color: #d9534f;
+}
+
+.has-danger .input-group-addon {
+ color: #d9534f;
+ background-color: #fdf7f7;
+ border-color: #d9534f;
+}
+
+.has-danger .form-control-danger {
+ background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23d9534f' viewBox='-2 -2 7 7'%3E%3Cpath stroke='%23d9534f' d='M0 0l3 3m0-3L0 3'/%3E%3Ccircle r='.5'/%3E%3Ccircle cx='3' r='.5'/%3E%3Ccircle cy='3' r='.5'/%3E%3Ccircle cx='3' cy='3' r='.5'/%3E%3C/svg%3E");
+}
+
+.form-inline {
+ display: -webkit-box;
+ display: -webkit-flex;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-box-orient: horizontal;
+ -webkit-box-direction: normal;
+ -webkit-flex-flow: row wrap;
+ -ms-flex-flow: row wrap;
+ flex-flow: row wrap;
+ -webkit-box-align: center;
+ -webkit-align-items: center;
+ -ms-flex-align: center;
+ align-items: center;
+}
+
+.form-inline .form-check {
+ width: 100%;
+}
+
+@media (min-width: 576px) {
+ .form-inline label {
+ display: -webkit-box;
+ display: -webkit-flex;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-box-align: center;
+ -webkit-align-items: center;
+ -ms-flex-align: center;
+ align-items: center;
+ -webkit-box-pack: center;
+ -webkit-justify-content: center;
+ -ms-flex-pack: center;
+ justify-content: center;
+ margin-bottom: 0;
+ }
+ .form-inline .form-group {
+ display: -webkit-box;
+ display: -webkit-flex;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-box-flex: 0;
+ -webkit-flex: 0 0 auto;
+ -ms-flex: 0 0 auto;
+ flex: 0 0 auto;
+ -webkit-box-orient: horizontal;
+ -webkit-box-direction: normal;
+ -webkit-flex-flow: row wrap;
+ -ms-flex-flow: row wrap;
+ flex-flow: row wrap;
+ -webkit-box-align: center;
+ -webkit-align-items: center;
+ -ms-flex-align: center;
+ align-items: center;
+ margin-bottom: 0;
+ }
+ .form-inline .form-control {
+ display: inline-block;
+ width: auto;
+ vertical-align: middle;
+ }
+ .form-inline .form-control-static {
+ display: inline-block;
+ }
+ .form-inline .input-group {
+ width: auto;
+ }
+ .form-inline .form-control-label {
+ margin-bottom: 0;
+ vertical-align: middle;
+ }
+ .form-inline .form-check {
+ display: -webkit-box;
+ display: -webkit-flex;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-box-align: center;
+ -webkit-align-items: center;
+ -ms-flex-align: center;
+ align-items: center;
+ -webkit-box-pack: center;
+ -webkit-justify-content: center;
+ -ms-flex-pack: center;
+ justify-content: center;
+ width: auto;
+ margin-top: 0;
+ margin-bottom: 0;
+ }
+ .form-inline .form-check-label {
+ padding-left: 0;
+ }
+ .form-inline .form-check-input {
+ position: relative;
+ margin-top: 0;
+ margin-right: 0.25rem;
+ margin-left: 0;
+ }
+ .form-inline .custom-control {
+ display: -webkit-box;
+ display: -webkit-flex;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-box-align: center;
+ -webkit-align-items: center;
+ -ms-flex-align: center;
+ align-items: center;
+ -webkit-box-pack: center;
+ -webkit-justify-content: center;
+ -ms-flex-pack: center;
+ justify-content: center;
+ padding-left: 0;
+ }
+ .form-inline .custom-control-indicator {
+ position: static;
+ display: inline-block;
+ margin-right: 0.25rem;
+ vertical-align: text-bottom;
+ }
+ .form-inline .has-feedback .form-control-feedback {
+ top: 0;
+ }
+}
+
+.btn {
+ display: inline-block;
+ font-weight: normal;
+ line-height: 1.25;
+ text-align: center;
+ white-space: nowrap;
+ vertical-align: middle;
+ -webkit-user-select: none;
+ -moz-user-select: none;
+ -ms-user-select: none;
+ user-select: none;
+ border: 1px solid transparent;
+ padding: 0.5rem 1rem;
+ font-size: 1rem;
+ border-radius: 0.25rem;
+ -webkit-transition: all 0.2s ease-in-out;
+ -o-transition: all 0.2s ease-in-out;
+ transition: all 0.2s ease-in-out;
+}
+
+.btn:focus, .btn:hover {
+ text-decoration: none;
+}
+
+.btn:focus, .btn.focus {
+ outline: 0;
+ -webkit-box-shadow: 0 0 0 2px rgba(2, 117, 216, 0.25);
+ box-shadow: 0 0 0 2px rgba(2, 117, 216, 0.25);
+}
+
+.btn.disabled, .btn:disabled {
+ cursor: not-allowed;
+ opacity: .65;
+}
+
+.btn:active, .btn.active {
+ background-image: none;
+}
+
+a.btn.disabled,
+fieldset[disabled] a.btn {
+ pointer-events: none;
+}
+
+.btn-primary {
+ color: #fff;
+ background-color: #0275d8;
+ border-color: #0275d8;
+}
+
+.btn-primary:hover {
+ color: #fff;
+ background-color: #025aa5;
+ border-color: #01549b;
+}
+
+.btn-primary:focus, .btn-primary.focus {
+ -webkit-box-shadow: 0 0 0 2px rgba(2, 117, 216, 0.5);
+ box-shadow: 0 0 0 2px rgba(2, 117, 216, 0.5);
+}
+
+.btn-primary.disabled, .btn-primary:disabled {
+ background-color: #0275d8;
+ border-color: #0275d8;
+}
+
+.btn-primary:active, .btn-primary.active,
+.show > .btn-primary.dropdown-toggle {
+ color: #fff;
+ background-color: #025aa5;
+ background-image: none;
+ border-color: #01549b;
+}
+
+.btn-secondary {
+ color: #292b2c;
+ background-color: #fff;
+ border-color: #ccc;
+}
+
+.btn-secondary:hover {
+ color: #292b2c;
+ background-color: #e6e6e6;
+ border-color: #adadad;
+}
+
+.btn-secondary:focus, .btn-secondary.focus {
+ -webkit-box-shadow: 0 0 0 2px rgba(204, 204, 204, 0.5);
+ box-shadow: 0 0 0 2px rgba(204, 204, 204, 0.5);
+}
+
+.btn-secondary.disabled, .btn-secondary:disabled {
+ background-color: #fff;
+ border-color: #ccc;
+}
+
+.btn-secondary:active, .btn-secondary.active,
+.show > .btn-secondary.dropdown-toggle {
+ color: #292b2c;
+ background-color: #e6e6e6;
+ background-image: none;
+ border-color: #adadad;
+}
+
+.btn-info {
+ color: #fff;
+ background-color: #5bc0de;
+ border-color: #5bc0de;
+}
+
+.btn-info:hover {
+ color: #fff;
+ background-color: #31b0d5;
+ border-color: #2aabd2;
+}
+
+.btn-info:focus, .btn-info.focus {
+ -webkit-box-shadow: 0 0 0 2px rgba(91, 192, 222, 0.5);
+ box-shadow: 0 0 0 2px rgba(91, 192, 222, 0.5);
+}
+
+.btn-info.disabled, .btn-info:disabled {
+ background-color: #5bc0de;
+ border-color: #5bc0de;
+}
+
+.btn-info:active, .btn-info.active,
+.show > .btn-info.dropdown-toggle {
+ color: #fff;
+ background-color: #31b0d5;
+ background-image: none;
+ border-color: #2aabd2;
+}
+
+.btn-success {
+ color: #fff;
+ background-color: #5cb85c;
+ border-color: #5cb85c;
+}
+
+.btn-success:hover {
+ color: #fff;
+ background-color: #449d44;
+ border-color: #419641;
+}
+
+.btn-success:focus, .btn-success.focus {
+ -webkit-box-shadow: 0 0 0 2px rgba(92, 184, 92, 0.5);
+ box-shadow: 0 0 0 2px rgba(92, 184, 92, 0.5);
+}
+
+.btn-success.disabled, .btn-success:disabled {
+ background-color: #5cb85c;
+ border-color: #5cb85c;
+}
+
+.btn-success:active, .btn-success.active,
+.show > .btn-success.dropdown-toggle {
+ color: #fff;
+ background-color: #449d44;
+ background-image: none;
+ border-color: #419641;
+}
+
+.btn-warning {
+ color: #fff;
+ background-color: #f0ad4e;
+ border-color: #f0ad4e;
+}
+
+.btn-warning:hover {
+ color: #fff;
+ background-color: #ec971f;
+ border-color: #eb9316;
+}
+
+.btn-warning:focus, .btn-warning.focus {
+ -webkit-box-shadow: 0 0 0 2px rgba(240, 173, 78, 0.5);
+ box-shadow: 0 0 0 2px rgba(240, 173, 78, 0.5);
+}
+
+.btn-warning.disabled, .btn-warning:disabled {
+ background-color: #f0ad4e;
+ border-color: #f0ad4e;
+}
+
+.btn-warning:active, .btn-warning.active,
+.show > .btn-warning.dropdown-toggle {
+ color: #fff;
+ background-color: #ec971f;
+ background-image: none;
+ border-color: #eb9316;
+}
+
+.btn-danger {
+ color: #fff;
+ background-color: #d9534f;
+ border-color: #d9534f;
+}
+
+.btn-danger:hover {
+ color: #fff;
+ background-color: #c9302c;
+ border-color: #c12e2a;
+}
+
+.btn-danger:focus, .btn-danger.focus {
+ -webkit-box-shadow: 0 0 0 2px rgba(217, 83, 79, 0.5);
+ box-shadow: 0 0 0 2px rgba(217, 83, 79, 0.5);
+}
+
+.btn-danger.disabled, .btn-danger:disabled {
+ background-color: #d9534f;
+ border-color: #d9534f;
+}
+
+.btn-danger:active, .btn-danger.active,
+.show > .btn-danger.dropdown-toggle {
+ color: #fff;
+ background-color: #c9302c;
+ background-image: none;
+ border-color: #c12e2a;
+}
+
+.btn-outline-primary {
+ color: #0275d8;
+ background-color: transparent;
+ background-image: none;
+ border-color: #0275d8;
+}
+
+.btn-outline-primary:hover {
+ color: #fff;
+ background-color: #0275d8;
+ border-color: #0275d8;
+}
+
+.btn-outline-primary:focus, .btn-outline-primary.focus {
+ -webkit-box-shadow: 0 0 0 2px rgba(2, 117, 216, 0.5);
+ box-shadow: 0 0 0 2px rgba(2, 117, 216, 0.5);
+}
+
+.btn-outline-primary.disabled, .btn-outline-primary:disabled {
+ color: #0275d8;
+ background-color: transparent;
+}
+
+.btn-outline-primary:active, .btn-outline-primary.active,
+.show > .btn-outline-primary.dropdown-toggle {
+ color: #fff;
+ background-color: #0275d8;
+ border-color: #0275d8;
+}
+
+.btn-outline-secondary {
+ color: #ccc;
+ background-color: transparent;
+ background-image: none;
+ border-color: #ccc;
+}
+
+.btn-outline-secondary:hover {
+ color: #292b2c;
+ background-color: #ccc;
+ border-color: #ccc;
+}
+
+.btn-outline-secondary:focus, .btn-outline-secondary.focus {
+ -webkit-box-shadow: 0 0 0 2px rgba(204, 204, 204, 0.5);
+ box-shadow: 0 0 0 2px rgba(204, 204, 204, 0.5);
+}
+
+.btn-outline-secondary.disabled, .btn-outline-secondary:disabled {
+ color: #ccc;
+ background-color: transparent;
+}
+
+.btn-outline-secondary:active, .btn-outline-secondary.active,
+.show > .btn-outline-secondary.dropdown-toggle {
+ color: #292b2c;
+ background-color: #ccc;
+ border-color: #ccc;
+}
+
+.btn-outline-info {
+ color: #5bc0de;
+ background-color: transparent;
+ background-image: none;
+ border-color: #5bc0de;
+}
+
+.btn-outline-info:hover {
+ color: #fff;
+ background-color: #5bc0de;
+ border-color: #5bc0de;
+}
+
+.btn-outline-info:focus, .btn-outline-info.focus {
+ -webkit-box-shadow: 0 0 0 2px rgba(91, 192, 222, 0.5);
+ box-shadow: 0 0 0 2px rgba(91, 192, 222, 0.5);
+}
+
+.btn-outline-info.disabled, .btn-outline-info:disabled {
+ color: #5bc0de;
+ background-color: transparent;
+}
+
+.btn-outline-info:active, .btn-outline-info.active,
+.show > .btn-outline-info.dropdown-toggle {
+ color: #fff;
+ background-color: #5bc0de;
+ border-color: #5bc0de;
+}
+
+.btn-outline-success {
+ color: #5cb85c;
+ background-color: transparent;
+ background-image: none;
+ border-color: #5cb85c;
+}
+
+.btn-outline-success:hover {
+ color: #fff;
+ background-color: #5cb85c;
+ border-color: #5cb85c;
+}
+
+.btn-outline-success:focus, .btn-outline-success.focus {
+ -webkit-box-shadow: 0 0 0 2px rgba(92, 184, 92, 0.5);
+ box-shadow: 0 0 0 2px rgba(92, 184, 92, 0.5);
+}
+
+.btn-outline-success.disabled, .btn-outline-success:disabled {
+ color: #5cb85c;
+ background-color: transparent;
+}
+
+.btn-outline-success:active, .btn-outline-success.active,
+.show > .btn-outline-success.dropdown-toggle {
+ color: #fff;
+ background-color: #5cb85c;
+ border-color: #5cb85c;
+}
+
+.btn-outline-warning {
+ color: #f0ad4e;
+ background-color: transparent;
+ background-image: none;
+ border-color: #f0ad4e;
+}
+
+.btn-outline-warning:hover {
+ color: #fff;
+ background-color: #f0ad4e;
+ border-color: #f0ad4e;
+}
+
+.btn-outline-warning:focus, .btn-outline-warning.focus {
+ -webkit-box-shadow: 0 0 0 2px rgba(240, 173, 78, 0.5);
+ box-shadow: 0 0 0 2px rgba(240, 173, 78, 0.5);
+}
+
+.btn-outline-warning.disabled, .btn-outline-warning:disabled {
+ color: #f0ad4e;
+ background-color: transparent;
+}
+
+.btn-outline-warning:active, .btn-outline-warning.active,
+.show > .btn-outline-warning.dropdown-toggle {
+ color: #fff;
+ background-color: #f0ad4e;
+ border-color: #f0ad4e;
+}
+
+.btn-outline-danger {
+ color: #d9534f;
+ background-color: transparent;
+ background-image: none;
+ border-color: #d9534f;
+}
+
+.btn-outline-danger:hover {
+ color: #fff;
+ background-color: #d9534f;
+ border-color: #d9534f;
+}
+
+.btn-outline-danger:focus, .btn-outline-danger.focus {
+ -webkit-box-shadow: 0 0 0 2px rgba(217, 83, 79, 0.5);
+ box-shadow: 0 0 0 2px rgba(217, 83, 79, 0.5);
+}
+
+.btn-outline-danger.disabled, .btn-outline-danger:disabled {
+ color: #d9534f;
+ background-color: transparent;
+}
+
+.btn-outline-danger:active, .btn-outline-danger.active,
+.show > .btn-outline-danger.dropdown-toggle {
+ color: #fff;
+ background-color: #d9534f;
+ border-color: #d9534f;
+}
+
+.btn-link {
+ font-weight: normal;
+ color: #0275d8;
+ border-radius: 0;
+}
+
+.btn-link, .btn-link:active, .btn-link.active, .btn-link:disabled {
+ background-color: transparent;
+}
+
+.btn-link, .btn-link:focus, .btn-link:active {
+ border-color: transparent;
+}
+
+.btn-link:hover {
+ border-color: transparent;
+}
+
+.btn-link:focus, .btn-link:hover {
+ color: #014c8c;
+ text-decoration: underline;
+ background-color: transparent;
+}
+
+.btn-link:disabled {
+ color: #636c72;
+}
+
+.btn-link:disabled:focus, .btn-link:disabled:hover {
+ text-decoration: none;
+}
+
+.btn-lg, .btn-group-lg > .btn {
+ padding: 0.75rem 1.5rem;
+ font-size: 1.25rem;
+ border-radius: 0.3rem;
+}
+
+.btn-sm, .btn-group-sm > .btn {
+ padding: 0.25rem 0.5rem;
+ font-size: 0.875rem;
+ border-radius: 0.2rem;
+}
+
+.btn-block {
+ display: block;
+ width: 100%;
+}
+
+.btn-block + .btn-block {
+ margin-top: 0.5rem;
+}
+
+input[type="submit"].btn-block,
+input[type="reset"].btn-block,
+input[type="button"].btn-block {
+ width: 100%;
+}
+
+.fade {
+ opacity: 0;
+ -webkit-transition: opacity 0.15s linear;
+ -o-transition: opacity 0.15s linear;
+ transition: opacity 0.15s linear;
+}
+
+.fade.show {
+ opacity: 1;
+}
+
+.collapse {
+ display: none;
+}
+
+.collapse.show {
+ display: block;
+}
+
+tr.collapse.show {
+ display: table-row;
+}
+
+tbody.collapse.show {
+ display: table-row-group;
+}
+
+.collapsing {
+ position: relative;
+ height: 0;
+ overflow: hidden;
+ -webkit-transition: height 0.35s ease;
+ -o-transition: height 0.35s ease;
+ transition: height 0.35s ease;
+}
+
+.dropup,
+.dropdown {
+ position: relative;
+}
+
+.dropdown-toggle::after {
+ display: inline-block;
+ width: 0;
+ height: 0;
+ margin-left: 0.3em;
+ vertical-align: middle;
+ content: "";
+ border-top: 0.3em solid;
+ border-right: 0.3em solid transparent;
+ border-left: 0.3em solid transparent;
+}
+
+.dropup .dropdown-toggle::after {
+ border-top: 0;
+ border-bottom: 0.3em solid;
+}
+
+.dropdown-menu {
+ position: absolute;
+ top: 100%;
+ left: 0;
+ z-index: 1000;
+ display: none;
+ float: left;
+ min-width: 10rem;
+ padding: 0.5rem 0;
+ margin: 0.125rem 0 0;
+ font-size: 1rem;
+ color: #292b2c;
+ text-align: left;
+ list-style: none;
+ background-color: #fff;
+ -webkit-background-clip: padding-box;
+ background-clip: padding-box;
+ border: 1px solid rgba(0, 0, 0, 0.15);
+ border-radius: 0.25rem;
+}
+
+.dropdown-divider {
+ height: 1px;
+ margin: 0.5rem 0;
+ overflow: hidden;
+ background-color: #eceeef;
+}
+
+.dropdown-item {
+ display: block;
+ width: 100%;
+ padding: 3px 1.5rem;
+ clear: both;
+ font-weight: normal;
+ color: #292b2c;
+ text-align: inherit;
+ white-space: nowrap;
+ background: none;
+ border: 0;
+}
+
+.dropdown-item:focus, .dropdown-item:hover {
+ color: #1d1e1f;
+ text-decoration: none;
+ background-color: #f7f7f9;
+}
+
+.dropdown-item.active, .dropdown-item:active {
+ color: #fff;
+ text-decoration: none;
+ background-color: #0275d8;
+}
+
+.dropdown-item.disabled, .dropdown-item:disabled {
+ color: #636c72;
+ cursor: not-allowed;
+ background-color: transparent;
+}
+
+.show > .dropdown-menu {
+ display: block;
+}
+
+.show > a {
+ outline: 0;
+}
+
+.dropdown-menu-right {
+ right: 0;
+ left: auto;
+}
+
+.dropdown-menu-left {
+ right: auto;
+ left: 0;
+}
+
+.dropdown-header {
+ display: block;
+ padding: 0.5rem 1.5rem;
+ margin-bottom: 0;
+ font-size: 0.875rem;
+ color: #636c72;
+ white-space: nowrap;
+}
+
+.dropdown-backdrop {
+ position: fixed;
+ top: 0;
+ right: 0;
+ bottom: 0;
+ left: 0;
+ z-index: 990;
+}
+
+.dropup .dropdown-menu {
+ top: auto;
+ bottom: 100%;
+ margin-bottom: 0.125rem;
+}
+
+.btn-group,
+.btn-group-vertical {
+ position: relative;
+ display: -webkit-inline-box;
+ display: -webkit-inline-flex;
+ display: -ms-inline-flexbox;
+ display: inline-flex;
+ vertical-align: middle;
+}
+
+.btn-group > .btn,
+.btn-group-vertical > .btn {
+ position: relative;
+ -webkit-box-flex: 0;
+ -webkit-flex: 0 1 auto;
+ -ms-flex: 0 1 auto;
+ flex: 0 1 auto;
+ margin-bottom: 0;
+}
+
+.btn-group > .btn:hover,
+.btn-group-vertical > .btn:hover {
+ z-index: 2;
+}
+
+.btn-group > .btn:focus, .btn-group > .btn:active, .btn-group > .btn.active,
+.btn-group-vertical > .btn:focus,
+.btn-group-vertical > .btn:active,
+.btn-group-vertical > .btn.active {
+ z-index: 2;
+}
+
+.btn-group .btn + .btn,
+.btn-group .btn + .btn-group,
+.btn-group .btn-group + .btn,
+.btn-group .btn-group + .btn-group,
+.btn-group-vertical .btn + .btn,
+.btn-group-vertical .btn + .btn-group,
+.btn-group-vertical .btn-group + .btn,
+.btn-group-vertical .btn-group + .btn-group {
+ margin-left: -1px;
+}
+
+.btn-toolbar {
+ display: -webkit-box;
+ display: -webkit-flex;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-flex-wrap: wrap;
+ -ms-flex-wrap: wrap;
+ flex-wrap: wrap;
+ -webkit-box-pack: start;
+ -webkit-justify-content: flex-start;
+ -ms-flex-pack: start;
+ justify-content: flex-start;
+}
+
+.btn-toolbar .input-group {
+ width: auto;
+}
+
+.btn-group > .btn:not(:first-child):not(:last-child):not(.dropdown-toggle) {
+ border-radius: 0;
+}
+
+.btn-group > .btn:first-child {
+ margin-left: 0;
+}
+
+.btn-group > .btn:first-child:not(:last-child):not(.dropdown-toggle) {
+ border-top-right-radius: 0;
+ border-bottom-right-radius: 0;
+}
+
+.btn-group > .btn:last-child:not(:first-child),
+.btn-group > .dropdown-toggle:not(:first-child) {
+ border-top-left-radius: 0;
+ border-bottom-left-radius: 0;
+}
+
+.btn-group > .btn-group {
+ float: left;
+}
+
+.btn-group > .btn-group:not(:first-child):not(:last-child) > .btn {
+ border-radius: 0;
+}
+
+.btn-group > .btn-group:first-child:not(:last-child) > .btn:last-child,
+.btn-group > .btn-group:first-child:not(:last-child) > .dropdown-toggle {
+ border-top-right-radius: 0;
+ border-bottom-right-radius: 0;
+}
+
+.btn-group > .btn-group:last-child:not(:first-child) > .btn:first-child {
+ border-top-left-radius: 0;
+ border-bottom-left-radius: 0;
+}
+
+.btn-group .dropdown-toggle:active,
+.btn-group.open .dropdown-toggle {
+ outline: 0;
+}
+
+.btn + .dropdown-toggle-split {
+ padding-right: 0.75rem;
+ padding-left: 0.75rem;
+}
+
+.btn + .dropdown-toggle-split::after {
+ margin-left: 0;
+}
+
+.btn-sm + .dropdown-toggle-split, .btn-group-sm > .btn + .dropdown-toggle-split {
+ padding-right: 0.375rem;
+ padding-left: 0.375rem;
+}
+
+.btn-lg + .dropdown-toggle-split, .btn-group-lg > .btn + .dropdown-toggle-split {
+ padding-right: 1.125rem;
+ padding-left: 1.125rem;
+}
+
+.btn-group-vertical {
+ display: -webkit-inline-box;
+ display: -webkit-inline-flex;
+ display: -ms-inline-flexbox;
+ display: inline-flex;
+ -webkit-box-orient: vertical;
+ -webkit-box-direction: normal;
+ -webkit-flex-direction: column;
+ -ms-flex-direction: column;
+ flex-direction: column;
+ -webkit-box-align: start;
+ -webkit-align-items: flex-start;
+ -ms-flex-align: start;
+ align-items: flex-start;
+ -webkit-box-pack: center;
+ -webkit-justify-content: center;
+ -ms-flex-pack: center;
+ justify-content: center;
+}
+
+.btn-group-vertical .btn,
+.btn-group-vertical .btn-group {
+ width: 100%;
+}
+
+.btn-group-vertical > .btn + .btn,
+.btn-group-vertical > .btn + .btn-group,
+.btn-group-vertical > .btn-group + .btn,
+.btn-group-vertical > .btn-group + .btn-group {
+ margin-top: -1px;
+ margin-left: 0;
+}
+
+.btn-group-vertical > .btn:not(:first-child):not(:last-child) {
+ border-radius: 0;
+}
+
+.btn-group-vertical > .btn:first-child:not(:last-child) {
+ border-bottom-right-radius: 0;
+ border-bottom-left-radius: 0;
+}
+
+.btn-group-vertical > .btn:last-child:not(:first-child) {
+ border-top-left-radius: 0;
+ border-top-right-radius: 0;
+}
+
+.btn-group-vertical > .btn-group:not(:first-child):not(:last-child) > .btn {
+ border-radius: 0;
+}
+
+.btn-group-vertical > .btn-group:first-child:not(:last-child) > .btn:last-child,
+.btn-group-vertical > .btn-group:first-child:not(:last-child) > .dropdown-toggle {
+ border-bottom-right-radius: 0;
+ border-bottom-left-radius: 0;
+}
+
+.btn-group-vertical > .btn-group:last-child:not(:first-child) > .btn:first-child {
+ border-top-left-radius: 0;
+ border-top-right-radius: 0;
+}
+
+[data-toggle="buttons"] > .btn input[type="radio"],
+[data-toggle="buttons"] > .btn input[type="checkbox"],
+[data-toggle="buttons"] > .btn-group > .btn input[type="radio"],
+[data-toggle="buttons"] > .btn-group > .btn input[type="checkbox"] {
+ position: absolute;
+ clip: rect(0, 0, 0, 0);
+ pointer-events: none;
+}
+
+.input-group {
+ position: relative;
+ display: -webkit-box;
+ display: -webkit-flex;
+ display: -ms-flexbox;
+ display: flex;
+ width: 100%;
+}
+
+.input-group .form-control {
+ position: relative;
+ z-index: 2;
+ -webkit-box-flex: 1;
+ -webkit-flex: 1 1 auto;
+ -ms-flex: 1 1 auto;
+ flex: 1 1 auto;
+ width: 1%;
+ margin-bottom: 0;
+}
+
+.input-group .form-control:focus, .input-group .form-control:active, .input-group .form-control:hover {
+ z-index: 3;
+}
+
+.input-group-addon,
+.input-group-btn,
+.input-group .form-control {
+ display: -webkit-box;
+ display: -webkit-flex;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-box-align: center;
+ -webkit-align-items: center;
+ -ms-flex-align: center;
+ align-items: center;
+}
+
+.input-group-addon:not(:first-child):not(:last-child),
+.input-group-btn:not(:first-child):not(:last-child),
+.input-group .form-control:not(:first-child):not(:last-child) {
+ border-radius: 0;
+}
+
+.input-group-addon,
+.input-group-btn {
+ white-space: nowrap;
+ vertical-align: middle;
+}
+
+.input-group-addon {
+ padding: 0.5rem 0.75rem;
+ margin-bottom: 0;
+ font-size: 1rem;
+ font-weight: normal;
+ line-height: 1.25;
+ color: #464a4c;
+ text-align: center;
+ background-color: #eceeef;
+ border: 1px solid rgba(0, 0, 0, 0.15);
+ border-radius: 0.25rem;
+}
+
+.input-group-addon.form-control-sm,
+.input-group-sm > .input-group-addon,
+.input-group-sm > .input-group-btn > .input-group-addon.btn {
+ padding: 0.25rem 0.5rem;
+ font-size: 0.875rem;
+ border-radius: 0.2rem;
+}
+
+.input-group-addon.form-control-lg,
+.input-group-lg > .input-group-addon,
+.input-group-lg > .input-group-btn > .input-group-addon.btn {
+ padding: 0.75rem 1.5rem;
+ font-size: 1.25rem;
+ border-radius: 0.3rem;
+}
+
+.input-group-addon input[type="radio"],
+.input-group-addon input[type="checkbox"] {
+ margin-top: 0;
+}
+
+.input-group .form-control:not(:last-child),
+.input-group-addon:not(:last-child),
+.input-group-btn:not(:last-child) > .btn,
+.input-group-btn:not(:last-child) > .btn-group > .btn,
+.input-group-btn:not(:last-child) > .dropdown-toggle,
+.input-group-btn:not(:first-child) > .btn:not(:last-child):not(.dropdown-toggle),
+.input-group-btn:not(:first-child) > .btn-group:not(:last-child) > .btn {
+ border-top-right-radius: 0;
+ border-bottom-right-radius: 0;
+}
+
+.input-group-addon:not(:last-child) {
+ border-right: 0;
+}
+
+.input-group .form-control:not(:first-child),
+.input-group-addon:not(:first-child),
+.input-group-btn:not(:first-child) > .btn,
+.input-group-btn:not(:first-child) > .btn-group > .btn,
+.input-group-btn:not(:first-child) > .dropdown-toggle,
+.input-group-btn:not(:last-child) > .btn:not(:first-child),
+.input-group-btn:not(:last-child) > .btn-group:not(:first-child) > .btn {
+ border-top-left-radius: 0;
+ border-bottom-left-radius: 0;
+}
+
+.form-control + .input-group-addon:not(:first-child) {
+ border-left: 0;
+}
+
+.input-group-btn {
+ position: relative;
+ font-size: 0;
+ white-space: nowrap;
+}
+
+.input-group-btn > .btn {
+ position: relative;
+}
+
+.input-group-btn > .btn + .btn {
+ margin-left: -1px;
+}
+
+.input-group-btn > .btn:focus, .input-group-btn > .btn:active, .input-group-btn > .btn:hover {
+ z-index: 3;
+}
+
+.input-group-btn:not(:last-child) > .btn,
+.input-group-btn:not(:last-child) > .btn-group {
+ margin-right: -1px;
+}
+
+.input-group-btn:not(:first-child) > .btn,
+.input-group-btn:not(:first-child) > .btn-group {
+ z-index: 2;
+ margin-left: -1px;
+}
+
+.input-group-btn:not(:first-child) > .btn:focus, .input-group-btn:not(:first-child) > .btn:active, .input-group-btn:not(:first-child) > .btn:hover,
+.input-group-btn:not(:first-child) > .btn-group:focus,
+.input-group-btn:not(:first-child) > .btn-group:active,
+.input-group-btn:not(:first-child) > .btn-group:hover {
+ z-index: 3;
+}
+
+.custom-control {
+ position: relative;
+ display: -webkit-inline-box;
+ display: -webkit-inline-flex;
+ display: -ms-inline-flexbox;
+ display: inline-flex;
+ min-height: 1.5rem;
+ padding-left: 1.5rem;
+ margin-right: 1rem;
+}
+
+.custom-control-input {
+ position: absolute;
+ z-index: -1;
+ opacity: 0;
+}
+
+.custom-control-input:checked ~ .custom-control-indicator {
+ color: #fff;
+ background-color: #0275d8;
+}
+
+.custom-control-input:focus ~ .custom-control-indicator {
+ -webkit-box-shadow: 0 0 0 1px #fff, 0 0 0 3px #0275d8;
+ box-shadow: 0 0 0 1px #fff, 0 0 0 3px #0275d8;
+}
+
+.custom-control-input:active ~ .custom-control-indicator {
+ color: #fff;
+ background-color: #8fcafe;
+}
+
+.custom-control-input:disabled ~ .custom-control-indicator {
+ cursor: not-allowed;
+ background-color: #eceeef;
+}
+
+.custom-control-input:disabled ~ .custom-control-description {
+ color: #636c72;
+ cursor: not-allowed;
+}
+
+.custom-control-indicator {
+ position: absolute;
+ top: 0.25rem;
+ left: 0;
+ display: block;
+ width: 1rem;
+ height: 1rem;
+ pointer-events: none;
+ -webkit-user-select: none;
+ -moz-user-select: none;
+ -ms-user-select: none;
+ user-select: none;
+ background-color: #ddd;
+ background-repeat: no-repeat;
+ background-position: center center;
+ -webkit-background-size: 50% 50%;
+ background-size: 50% 50%;
+}
+
+.custom-checkbox .custom-control-indicator {
+ border-radius: 0.25rem;
+}
+
+.custom-checkbox .custom-control-input:checked ~ .custom-control-indicator {
+ background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3E%3C/svg%3E");
+}
+
+.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-indicator {
+ background-color: #0275d8;
+ background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 4'%3E%3Cpath stroke='%23fff' d='M0 2h4'/%3E%3C/svg%3E");
+}
+
+.custom-radio .custom-control-indicator {
+ border-radius: 50%;
+}
+
+.custom-radio .custom-control-input:checked ~ .custom-control-indicator {
+ background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='%23fff'/%3E%3C/svg%3E");
+}
+
+.custom-controls-stacked {
+ display: -webkit-box;
+ display: -webkit-flex;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-box-orient: vertical;
+ -webkit-box-direction: normal;
+ -webkit-flex-direction: column;
+ -ms-flex-direction: column;
+ flex-direction: column;
+}
+
+.custom-controls-stacked .custom-control {
+ margin-bottom: 0.25rem;
+}
+
+.custom-controls-stacked .custom-control + .custom-control {
+ margin-left: 0;
+}
+
+.custom-select {
+ display: inline-block;
+ max-width: 100%;
+ height: calc(2.25rem + 2px);
+ padding: 0.375rem 1.75rem 0.375rem 0.75rem;
+ line-height: 1.25;
+ color: #464a4c;
+ vertical-align: middle;
+ background: #fff url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3E%3Cpath fill='%23333' d='M2 0L0 2h4zm0 5L0 3h4z'/%3E%3C/svg%3E") no-repeat right 0.75rem center;
+ -webkit-background-size: 8px 10px;
+ background-size: 8px 10px;
+ border: 1px solid rgba(0, 0, 0, 0.15);
+ border-radius: 0.25rem;
+ -webkit-appearance: none;
+ -moz-appearance: none;
+ appearance: none;
+}
+
+.custom-select:focus {
+ border-color: #5cb3fd;
+ outline: none;
+}
+
+.custom-select:focus::-ms-value {
+ color: #464a4c;
+ background-color: #fff;
+}
+
+.custom-select:disabled {
+ color: #636c72;
+ cursor: not-allowed;
+ background-color: #eceeef;
+}
+
+.custom-select::-ms-expand {
+ opacity: 0;
+}
+
+.custom-select-sm {
+ padding-top: 0.375rem;
+ padding-bottom: 0.375rem;
+ font-size: 75%;
+}
+
+.custom-file {
+ position: relative;
+ display: inline-block;
+ max-width: 100%;
+ height: 2.5rem;
+ margin-bottom: 0;
+}
+
+.custom-file-input {
+ min-width: 14rem;
+ max-width: 100%;
+ height: 2.5rem;
+ margin: 0;
+ opacity: 0;
+}
+
+.custom-file-control {
+ position: absolute;
+ top: 0;
+ right: 0;
+ left: 0;
+ z-index: 5;
+ height: 2.5rem;
+ padding: 0.5rem 1rem;
+ line-height: 1.5;
+ color: #464a4c;
+ pointer-events: none;
+ -webkit-user-select: none;
+ -moz-user-select: none;
+ -ms-user-select: none;
+ user-select: none;
+ background-color: #fff;
+ border: 1px solid rgba(0, 0, 0, 0.15);
+ border-radius: 0.25rem;
+}
+
+.custom-file-control:lang(en):empty::after {
+ content: "Choose file...";
+}
+
+.custom-file-control::before {
+ position: absolute;
+ top: -1px;
+ right: -1px;
+ bottom: -1px;
+ z-index: 6;
+ display: block;
+ height: 2.5rem;
+ padding: 0.5rem 1rem;
+ line-height: 1.5;
+ color: #464a4c;
+ background-color: #eceeef;
+ border: 1px solid rgba(0, 0, 0, 0.15);
+ border-radius: 0 0.25rem 0.25rem 0;
+}
+
+.custom-file-control:lang(en)::before {
+ content: "Browse";
+}
+
+.nav {
+ display: -webkit-box;
+ display: -webkit-flex;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-flex-wrap: wrap;
+ -ms-flex-wrap: wrap;
+ flex-wrap: wrap;
+ padding-left: 0;
+ margin-bottom: 0;
+ list-style: none;
+}
+
+.nav-link {
+ display: block;
+ padding: 0.5em 1em;
+}
+
+.nav-link:focus, .nav-link:hover {
+ text-decoration: none;
+}
+
+.nav-link.disabled {
+ color: #636c72;
+ cursor: not-allowed;
+}
+
+.nav-tabs {
+ border-bottom: 1px solid #ddd;
+}
+
+.nav-tabs .nav-item {
+ margin-bottom: -1px;
+}
+
+.nav-tabs .nav-link {
+ border: 1px solid transparent;
+ border-top-left-radius: 0.25rem;
+ border-top-right-radius: 0.25rem;
+}
+
+.nav-tabs .nav-link:focus, .nav-tabs .nav-link:hover {
+ border-color: #eceeef #eceeef #ddd;
+}
+
+.nav-tabs .nav-link.disabled {
+ color: #636c72;
+ background-color: transparent;
+ border-color: transparent;
+}
+
+.nav-tabs .nav-link.active,
+.nav-tabs .nav-item.show .nav-link {
+ color: #464a4c;
+ background-color: #fff;
+ border-color: #ddd #ddd #fff;
+}
+
+.nav-tabs .dropdown-menu {
+ margin-top: -1px;
+ border-top-left-radius: 0;
+ border-top-right-radius: 0;
+}
+
+.nav-pills .nav-link {
+ border-radius: 0.25rem;
+}
+
+.nav-pills .nav-link.active,
+.nav-pills .nav-item.show .nav-link {
+ color: #fff;
+ background-color: #0275d8;
+}
+
+.nav-fill .nav-item {
+ -webkit-box-flex: 1;
+ -webkit-flex: 1 1 auto;
+ -ms-flex: 1 1 auto;
+ flex: 1 1 auto;
+ text-align: center;
+}
+
+.nav-justified .nav-item {
+ -webkit-flex-basis: 0;
+ -ms-flex-preferred-size: 0;
+ flex-basis: 0;
+ -webkit-box-flex: 1;
+ -webkit-flex-grow: 1;
+ -ms-flex-positive: 1;
+ flex-grow: 1;
+ text-align: center;
+}
+
+.tab-content > .tab-pane {
+ display: none;
+}
+
+.tab-content > .active {
+ display: block;
+}
+
+.navbar {
+ position: relative;
+ display: -webkit-box;
+ display: -webkit-flex;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-box-orient: vertical;
+ -webkit-box-direction: normal;
+ -webkit-flex-direction: column;
+ -ms-flex-direction: column;
+ flex-direction: column;
+ padding: 0.5rem 1rem;
+}
+
+@media (max-width: 575px) {
+ .navbar > .container {
+ margin-right: 0;
+ margin-left: 0;
+ }
+}
+
+.navbar-brand {
+ display: inline-block;
+ -webkit-align-self: flex-start;
+ -ms-flex-item-align: start;
+ align-self: flex-start;
+ padding-top: .25rem;
+ padding-bottom: .25rem;
+ margin-right: 1rem;
+ font-size: 1.25rem;
+ line-height: inherit;
+ white-space: nowrap;
+}
+
+.navbar-brand:focus, .navbar-brand:hover {
+ text-decoration: none;
+}
+
+.navbar-nav {
+ display: -webkit-box;
+ display: -webkit-flex;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-box-orient: vertical;
+ -webkit-box-direction: normal;
+ -webkit-flex-direction: column;
+ -ms-flex-direction: column;
+ flex-direction: column;
+ padding-left: 0;
+ margin-bottom: 0;
+ list-style: none;
+}
+
+.navbar-nav .nav-link {
+ padding-right: 0;
+ padding-left: 0;
+}
+
+.navbar-text {
+ display: inline-block;
+ padding-top: .425rem;
+ padding-bottom: .425rem;
+}
+
+.navbar-toggler {
+ -webkit-align-self: flex-start;
+ -ms-flex-item-align: start;
+ align-self: flex-start;
+ padding: 0.25rem 0.75rem;
+ font-size: 1.25rem;
+ line-height: 1;
+ background: transparent;
+ border: 1px solid transparent;
+ border-radius: 0.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;
+ -webkit-background-size: 100% 100%;
+ background-size: 100% 100%;
+}
+
+.navbar-toggler-left {
+ position: absolute;
+ left: 1rem;
+}
+
+.navbar-toggler-right {
+ position: absolute;
+ right: 1rem;
+}
+
+@media (max-width: 575px) {
+ .navbar-toggleable .navbar-nav .dropdown-menu {
+ position: static;
+ float: none;
+ }
+ .navbar-toggleable > .container {
+ padding-right: 0;
+ padding-left: 0;
+ }
+}
+
+@media (min-width: 576px) {
+ .navbar-toggleable {
+ -webkit-box-orient: horizontal;
+ -webkit-box-direction: normal;
+ -webkit-flex-direction: row;
+ -ms-flex-direction: row;
+ flex-direction: row;
+ -webkit-flex-wrap: nowrap;
+ -ms-flex-wrap: nowrap;
+ flex-wrap: nowrap;
+ -webkit-box-align: center;
+ -webkit-align-items: center;
+ -ms-flex-align: center;
+ align-items: center;
+ }
+ .navbar-toggleable .navbar-nav {
+ -webkit-box-orient: horizontal;
+ -webkit-box-direction: normal;
+ -webkit-flex-direction: row;
+ -ms-flex-direction: row;
+ flex-direction: row;
+ }
+ .navbar-toggleable .navbar-nav .nav-link {
+ padding-right: .5rem;
+ padding-left: .5rem;
+ }
+ .navbar-toggleable > .container {
+ display: -webkit-box;
+ display: -webkit-flex;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-flex-wrap: nowrap;
+ -ms-flex-wrap: nowrap;
+ flex-wrap: nowrap;
+ -webkit-box-align: center;
+ -webkit-align-items: center;
+ -ms-flex-align: center;
+ align-items: center;
+ }
+ .navbar-toggleable .navbar-collapse {
+ display: -webkit-box !important;
+ display: -webkit-flex !important;
+ display: -ms-flexbox !important;
+ display: flex !important;
+ width: 100%;
+ }
+ .navbar-toggleable .navbar-toggler {
+ display: none;
+ }
+}
+
+@media (max-width: 767px) {
+ .navbar-toggleable-sm .navbar-nav .dropdown-menu {
+ position: static;
+ float: none;
+ }
+ .navbar-toggleable-sm > .container {
+ padding-right: 0;
+ padding-left: 0;
+ }
+}
+
+@media (min-width: 768px) {
+ .navbar-toggleable-sm {
+ -webkit-box-orient: horizontal;
+ -webkit-box-direction: normal;
+ -webkit-flex-direction: row;
+ -ms-flex-direction: row;
+ flex-direction: row;
+ -webkit-flex-wrap: nowrap;
+ -ms-flex-wrap: nowrap;
+ flex-wrap: nowrap;
+ -webkit-box-align: center;
+ -webkit-align-items: center;
+ -ms-flex-align: center;
+ align-items: center;
+ }
+ .navbar-toggleable-sm .navbar-nav {
+ -webkit-box-orient: horizontal;
+ -webkit-box-direction: normal;
+ -webkit-flex-direction: row;
+ -ms-flex-direction: row;
+ flex-direction: row;
+ }
+ .navbar-toggleable-sm .navbar-nav .nav-link {
+ padding-right: .5rem;
+ padding-left: .5rem;
+ }
+ .navbar-toggleable-sm > .container {
+ display: -webkit-box;
+ display: -webkit-flex;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-flex-wrap: nowrap;
+ -ms-flex-wrap: nowrap;
+ flex-wrap: nowrap;
+ -webkit-box-align: center;
+ -webkit-align-items: center;
+ -ms-flex-align: center;
+ align-items: center;
+ }
+ .navbar-toggleable-sm .navbar-collapse {
+ display: -webkit-box !important;
+ display: -webkit-flex !important;
+ display: -ms-flexbox !important;
+ display: flex !important;
+ width: 100%;
+ }
+ .navbar-toggleable-sm .navbar-toggler {
+ display: none;
+ }
+}
+
+@media (max-width: 991px) {
+ .navbar-toggleable-md .navbar-nav .dropdown-menu {
+ position: static;
+ float: none;
+ }
+ .navbar-toggleable-md > .container {
+ padding-right: 0;
+ padding-left: 0;
+ }
+}
+
+@media (min-width: 992px) {
+ .navbar-toggleable-md {
+ -webkit-box-orient: horizontal;
+ -webkit-box-direction: normal;
+ -webkit-flex-direction: row;
+ -ms-flex-direction: row;
+ flex-direction: row;
+ -webkit-flex-wrap: nowrap;
+ -ms-flex-wrap: nowrap;
+ flex-wrap: nowrap;
+ -webkit-box-align: center;
+ -webkit-align-items: center;
+ -ms-flex-align: center;
+ align-items: center;
+ }
+ .navbar-toggleable-md .navbar-nav {
+ -webkit-box-orient: horizontal;
+ -webkit-box-direction: normal;
+ -webkit-flex-direction: row;
+ -ms-flex-direction: row;
+ flex-direction: row;
+ }
+ .navbar-toggleable-md .navbar-nav .nav-link {
+ padding-right: .5rem;
+ padding-left: .5rem;
+ }
+ .navbar-toggleable-md > .container {
+ display: -webkit-box;
+ display: -webkit-flex;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-flex-wrap: nowrap;
+ -ms-flex-wrap: nowrap;
+ flex-wrap: nowrap;
+ -webkit-box-align: center;
+ -webkit-align-items: center;
+ -ms-flex-align: center;
+ align-items: center;
+ }
+ .navbar-toggleable-md .navbar-collapse {
+ display: -webkit-box !important;
+ display: -webkit-flex !important;
+ display: -ms-flexbox !important;
+ display: flex !important;
+ width: 100%;
+ }
+ .navbar-toggleable-md .navbar-toggler {
+ display: none;
+ }
+}
+
+@media (max-width: 1199px) {
+ .navbar-toggleable-lg .navbar-nav .dropdown-menu {
+ position: static;
+ float: none;
+ }
+ .navbar-toggleable-lg > .container {
+ padding-right: 0;
+ padding-left: 0;
+ }
+}
+
+@media (min-width: 1200px) {
+ .navbar-toggleable-lg {
+ -webkit-box-orient: horizontal;
+ -webkit-box-direction: normal;
+ -webkit-flex-direction: row;
+ -ms-flex-direction: row;
+ flex-direction: row;
+ -webkit-flex-wrap: nowrap;
+ -ms-flex-wrap: nowrap;
+ flex-wrap: nowrap;
+ -webkit-box-align: center;
+ -webkit-align-items: center;
+ -ms-flex-align: center;
+ align-items: center;
+ }
+ .navbar-toggleable-lg .navbar-nav {
+ -webkit-box-orient: horizontal;
+ -webkit-box-direction: normal;
+ -webkit-flex-direction: row;
+ -ms-flex-direction: row;
+ flex-direction: row;
+ }
+ .navbar-toggleable-lg .navbar-nav .nav-link {
+ padding-right: .5rem;
+ padding-left: .5rem;
+ }
+ .navbar-toggleable-lg > .container {
+ display: -webkit-box;
+ display: -webkit-flex;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-flex-wrap: nowrap;
+ -ms-flex-wrap: nowrap;
+ flex-wrap: nowrap;
+ -webkit-box-align: center;
+ -webkit-align-items: center;
+ -ms-flex-align: center;
+ align-items: center;
+ }
+ .navbar-toggleable-lg .navbar-collapse {
+ display: -webkit-box !important;
+ display: -webkit-flex !important;
+ display: -ms-flexbox !important;
+ display: flex !important;
+ width: 100%;
+ }
+ .navbar-toggleable-lg .navbar-toggler {
+ display: none;
+ }
+}
+
+.navbar-toggleable-xl {
+ -webkit-box-orient: horizontal;
+ -webkit-box-direction: normal;
+ -webkit-flex-direction: row;
+ -ms-flex-direction: row;
+ flex-direction: row;
+ -webkit-flex-wrap: nowrap;
+ -ms-flex-wrap: nowrap;
+ flex-wrap: nowrap;
+ -webkit-box-align: center;
+ -webkit-align-items: center;
+ -ms-flex-align: center;
+ align-items: center;
+}
+
+.navbar-toggleable-xl .navbar-nav .dropdown-menu {
+ position: static;
+ float: none;
+}
+
+.navbar-toggleable-xl > .container {
+ padding-right: 0;
+ padding-left: 0;
+}
+
+.navbar-toggleable-xl .navbar-nav {
+ -webkit-box-orient: horizontal;
+ -webkit-box-direction: normal;
+ -webkit-flex-direction: row;
+ -ms-flex-direction: row;
+ flex-direction: row;
+}
+
+.navbar-toggleable-xl .navbar-nav .nav-link {
+ padding-right: .5rem;
+ padding-left: .5rem;
+}
+
+.navbar-toggleable-xl > .container {
+ display: -webkit-box;
+ display: -webkit-flex;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-flex-wrap: nowrap;
+ -ms-flex-wrap: nowrap;
+ flex-wrap: nowrap;
+ -webkit-box-align: center;
+ -webkit-align-items: center;
+ -ms-flex-align: center;
+ align-items: center;
+}
+
+.navbar-toggleable-xl .navbar-collapse {
+ display: -webkit-box !important;
+ display: -webkit-flex !important;
+ display: -ms-flexbox !important;
+ display: flex !important;
+ width: 100%;
+}
+
+.navbar-toggleable-xl .navbar-toggler {
+ display: none;
+}
+
+.navbar-light .navbar-brand,
+.navbar-light .navbar-toggler {
+ color: rgba(0, 0, 0, 0.9);
+}
+
+.navbar-light .navbar-brand:focus, .navbar-light .navbar-brand:hover,
+.navbar-light .navbar-toggler:focus,
+.navbar-light .navbar-toggler:hover {
+ color: rgba(0, 0, 0, 0.9);
+}
+
+.navbar-light .navbar-nav .nav-link {
+ color: rgba(0, 0, 0, 0.5);
+}
+
+.navbar-light .navbar-nav .nav-link:focus, .navbar-light .navbar-nav .nav-link:hover {
+ color: rgba(0, 0, 0, 0.7);
+}
+
+.navbar-light .navbar-nav .nav-link.disabled {
+ color: rgba(0, 0, 0, 0.3);
+}
+
+.navbar-light .navbar-nav .open > .nav-link,
+.navbar-light .navbar-nav .active > .nav-link,
+.navbar-light .navbar-nav .nav-link.open,
+.navbar-light .navbar-nav .nav-link.active {
+ color: rgba(0, 0, 0, 0.9);
+}
+
+.navbar-light .navbar-toggler {
+ border-color: rgba(0, 0, 0, 0.1);
+}
+
+.navbar-light .navbar-toggler-icon {
+ background-image: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(0, 0, 0, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E");
+}
+
+.navbar-light .navbar-text {
+ color: rgba(0, 0, 0, 0.5);
+}
+
+.navbar-inverse .navbar-brand,
+.navbar-inverse .navbar-toggler {
+ color: white;
+}
+
+.navbar-inverse .navbar-brand:focus, .navbar-inverse .navbar-brand:hover,
+.navbar-inverse .navbar-toggler:focus,
+.navbar-inverse .navbar-toggler:hover {
+ color: white;
+}
+
+.navbar-inverse .navbar-nav .nav-link {
+ color: rgba(255, 255, 255, 0.5);
+}
+
+.navbar-inverse .navbar-nav .nav-link:focus, .navbar-inverse .navbar-nav .nav-link:hover {
+ color: rgba(255, 255, 255, 0.75);
+}
+
+.navbar-inverse .navbar-nav .nav-link.disabled {
+ color: rgba(255, 255, 255, 0.25);
+}
+
+.navbar-inverse .navbar-nav .open > .nav-link,
+.navbar-inverse .navbar-nav .active > .nav-link,
+.navbar-inverse .navbar-nav .nav-link.open,
+.navbar-inverse .navbar-nav .nav-link.active {
+ color: white;
+}
+
+.navbar-inverse .navbar-toggler {
+ border-color: rgba(255, 255, 255, 0.1);
+}
+
+.navbar-inverse .navbar-toggler-icon {
+ background-image: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(255, 255, 255, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E");
+}
+
+.navbar-inverse .navbar-text {
+ color: rgba(255, 255, 255, 0.5);
+}
+
+.card {
+ position: relative;
+ display: -webkit-box;
+ display: -webkit-flex;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-box-orient: vertical;
+ -webkit-box-direction: normal;
+ -webkit-flex-direction: column;
+ -ms-flex-direction: column;
+ flex-direction: column;
+ background-color: #fff;
+ border: 1px solid rgba(0, 0, 0, 0.125);
+ border-radius: 0.25rem;
+}
+
+.card-block {
+ -webkit-box-flex: 1;
+ -webkit-flex: 1 1 auto;
+ -ms-flex: 1 1 auto;
+ flex: 1 1 auto;
+ padding: 1.25rem;
+}
+
+.card-title {
+ margin-bottom: 0.75rem;
+}
+
+.card-subtitle {
+ margin-top: -0.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 > .list-group:first-child .list-group-item:first-child {
+ border-top-left-radius: 0.25rem;
+ border-top-right-radius: 0.25rem;
+}
+
+.card > .list-group:last-child .list-group-item:last-child {
+ border-bottom-right-radius: 0.25rem;
+ border-bottom-left-radius: 0.25rem;
+}
+
+.card-header {
+ padding: 0.75rem 1.25rem;
+ margin-bottom: 0;
+ background-color: #f7f7f9;
+ border-bottom: 1px solid rgba(0, 0, 0, 0.125);
+}
+
+.card-header:first-child {
+ border-radius: calc(0.25rem - 1px) calc(0.25rem - 1px) 0 0;
+}
+
+.card-footer {
+ padding: 0.75rem 1.25rem;
+ background-color: #f7f7f9;
+ border-top: 1px solid rgba(0, 0, 0, 0.125);
+}
+
+.card-footer:last-child {
+ border-radius: 0 0 calc(0.25rem - 1px) calc(0.25rem - 1px);
+}
+
+.card-header-tabs {
+ margin-right: -0.625rem;
+ margin-bottom: -0.75rem;
+ margin-left: -0.625rem;
+ border-bottom: 0;
+}
+
+.card-header-pills {
+ margin-right: -0.625rem;
+ margin-left: -0.625rem;
+}
+
+.card-primary {
+ background-color: #0275d8;
+ border-color: #0275d8;
+}
+
+.card-primary .card-header,
+.card-primary .card-footer {
+ background-color: transparent;
+}
+
+.card-success {
+ background-color: #5cb85c;
+ border-color: #5cb85c;
+}
+
+.card-success .card-header,
+.card-success .card-footer {
+ background-color: transparent;
+}
+
+.card-info {
+ background-color: #5bc0de;
+ border-color: #5bc0de;
+}
+
+.card-info .card-header,
+.card-info .card-footer {
+ background-color: transparent;
+}
+
+.card-warning {
+ background-color: #f0ad4e;
+ border-color: #f0ad4e;
+}
+
+.card-warning .card-header,
+.card-warning .card-footer {
+ background-color: transparent;
+}
+
+.card-danger {
+ background-color: #d9534f;
+ border-color: #d9534f;
+}
+
+.card-danger .card-header,
+.card-danger .card-footer {
+ background-color: transparent;
+}
+
+.card-outline-primary {
+ background-color: transparent;
+ border-color: #0275d8;
+}
+
+.card-outline-secondary {
+ background-color: transparent;
+ border-color: #ccc;
+}
+
+.card-outline-info {
+ background-color: transparent;
+ border-color: #5bc0de;
+}
+
+.card-outline-success {
+ background-color: transparent;
+ border-color: #5cb85c;
+}
+
+.card-outline-warning {
+ background-color: transparent;
+ border-color: #f0ad4e;
+}
+
+.card-outline-danger {
+ background-color: transparent;
+ border-color: #d9534f;
+}
+
+.card-inverse {
+ color: rgba(255, 255, 255, 0.65);
+}
+
+.card-inverse .card-header,
+.card-inverse .card-footer {
+ background-color: transparent;
+ border-color: rgba(255, 255, 255, 0.2);
+}
+
+.card-inverse .card-header,
+.card-inverse .card-footer,
+.card-inverse .card-title,
+.card-inverse .card-blockquote {
+ color: #fff;
+}
+
+.card-inverse .card-link,
+.card-inverse .card-text,
+.card-inverse .card-subtitle,
+.card-inverse .card-blockquote .blockquote-footer {
+ color: rgba(255, 255, 255, 0.65);
+}
+
+.card-inverse .card-link:focus, .card-inverse .card-link:hover {
+ color: #fff;
+}
+
+.card-blockquote {
+ padding: 0;
+ margin-bottom: 0;
+ border-left: 0;
+}
+
+.card-img {
+ border-radius: calc(0.25rem - 1px);
+}
+
+.card-img-overlay {
+ position: absolute;
+ top: 0;
+ right: 0;
+ bottom: 0;
+ left: 0;
+ padding: 1.25rem;
+}
+
+.card-img-top {
+ border-top-left-radius: calc(0.25rem - 1px);
+ border-top-right-radius: calc(0.25rem - 1px);
+}
+
+.card-img-bottom {
+ border-bottom-right-radius: calc(0.25rem - 1px);
+ border-bottom-left-radius: calc(0.25rem - 1px);
+}
+
+@media (min-width: 576px) {
+ .card-deck {
+ display: -webkit-box;
+ display: -webkit-flex;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-box-orient: horizontal;
+ -webkit-box-direction: normal;
+ -webkit-flex-flow: row wrap;
+ -ms-flex-flow: row wrap;
+ flex-flow: row wrap;
+ }
+ .card-deck .card {
+ display: -webkit-box;
+ display: -webkit-flex;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-box-flex: 1;
+ -webkit-flex: 1 0 0;
+ -ms-flex: 1 0 0px;
+ flex: 1 0 0%;
+ -webkit-box-orient: vertical;
+ -webkit-box-direction: normal;
+ -webkit-flex-direction: column;
+ -ms-flex-direction: column;
+ flex-direction: column;
+ }
+ .card-deck .card:not(:first-child) {
+ margin-left: 15px;
+ }
+ .card-deck .card:not(:last-child) {
+ margin-right: 15px;
+ }
+}
+
+@media (min-width: 576px) {
+ .card-group {
+ display: -webkit-box;
+ display: -webkit-flex;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-box-orient: horizontal;
+ -webkit-box-direction: normal;
+ -webkit-flex-flow: row wrap;
+ -ms-flex-flow: row wrap;
+ flex-flow: row wrap;
+ }
+ .card-group .card {
+ -webkit-box-flex: 1;
+ -webkit-flex: 1 0 0;
+ -ms-flex: 1 0 0px;
+ flex: 1 0 0%;
+ }
+ .card-group .card + .card {
+ margin-left: 0;
+ border-left: 0;
+ }
+ .card-group .card:first-child {
+ border-top-right-radius: 0;
+ border-bottom-right-radius: 0;
+ }
+ .card-group .card:first-child .card-img-top {
+ border-top-right-radius: 0;
+ }
+ .card-group .card:first-child .card-img-bottom {
+ border-bottom-right-radius: 0;
+ }
+ .card-group .card:last-child {
+ border-top-left-radius: 0;
+ border-bottom-left-radius: 0;
+ }
+ .card-group .card:last-child .card-img-top {
+ border-top-left-radius: 0;
+ }
+ .card-group .card:last-child .card-img-bottom {
+ border-bottom-left-radius: 0;
+ }
+ .card-group .card:not(:first-child):not(:last-child) {
+ border-radius: 0;
+ }
+ .card-group .card:not(:first-child):not(:last-child) .card-img-top,
+ .card-group .card:not(:first-child):not(:last-child) .card-img-bottom {
+ border-radius: 0;
+ }
+}
+
+@media (min-width: 576px) {
+ .card-columns {
+ -webkit-column-count: 3;
+ -moz-column-count: 3;
+ column-count: 3;
+ -webkit-column-gap: 1.25rem;
+ -moz-column-gap: 1.25rem;
+ column-gap: 1.25rem;
+ }
+ .card-columns .card {
+ display: inline-block;
+ width: 100%;
+ margin-bottom: 0.75rem;
+ }
+}
+
+.breadcrumb {
+ padding: 0.75rem 1rem;
+ margin-bottom: 1rem;
+ list-style: none;
+ background-color: #eceeef;
+ border-radius: 0.25rem;
+}
+
+.breadcrumb::after {
+ display: block;
+ clear: both;
+ content: "";
+}
+
+.breadcrumb-item {
+ float: left;
+}
+
+.breadcrumb-item + .breadcrumb-item::before {
+ display: inline-block;
+ padding-right: 0.5rem;
+ padding-left: 0.5rem;
+ color: #636c72;
+ content: "/";
+}
+
+.breadcrumb-item + .breadcrumb-item:hover::before {
+ text-decoration: underline;
+}
+
+.breadcrumb-item + .breadcrumb-item:hover::before {
+ text-decoration: none;
+}
+
+.breadcrumb-item.active {
+ color: #636c72;
+}
+
+.pagination {
+ display: -webkit-box;
+ display: -webkit-flex;
+ display: -ms-flexbox;
+ display: flex;
+ padding-left: 0;
+ list-style: none;
+ border-radius: 0.25rem;
+}
+
+.page-item:first-child .page-link {
+ margin-left: 0;
+ border-top-left-radius: 0.25rem;
+ border-bottom-left-radius: 0.25rem;
+}
+
+.page-item:last-child .page-link {
+ border-top-right-radius: 0.25rem;
+ border-bottom-right-radius: 0.25rem;
+}
+
+.page-item.active .page-link {
+ z-index: 2;
+ color: #fff;
+ background-color: #0275d8;
+ border-color: #0275d8;
+}
+
+.page-item.disabled .page-link {
+ color: #636c72;
+ pointer-events: none;
+ cursor: not-allowed;
+ background-color: #fff;
+ border-color: #ddd;
+}
+
+.page-link {
+ position: relative;
+ display: block;
+ padding: 0.5rem 0.75rem;
+ margin-left: -1px;
+ line-height: 1.25;
+ color: #0275d8;
+ background-color: #fff;
+ border: 1px solid #ddd;
+}
+
+.page-link:focus, .page-link:hover {
+ color: #014c8c;
+ text-decoration: none;
+ background-color: #eceeef;
+ border-color: #ddd;
+}
+
+.pagination-lg .page-link {
+ padding: 0.75rem 1.5rem;
+ font-size: 1.25rem;
+}
+
+.pagination-lg .page-item:first-child .page-link {
+ border-top-left-radius: 0.3rem;
+ border-bottom-left-radius: 0.3rem;
+}
+
+.pagination-lg .page-item:last-child .page-link {
+ border-top-right-radius: 0.3rem;
+ border-bottom-right-radius: 0.3rem;
+}
+
+.pagination-sm .page-link {
+ padding: 0.25rem 0.5rem;
+ font-size: 0.875rem;
+}
+
+.pagination-sm .page-item:first-child .page-link {
+ border-top-left-radius: 0.2rem;
+ border-bottom-left-radius: 0.2rem;
+}
+
+.pagination-sm .page-item:last-child .page-link {
+ border-top-right-radius: 0.2rem;
+ border-bottom-right-radius: 0.2rem;
+}
+
+.badge {
+ display: inline-block;
+ padding: 0.25em 0.4em;
+ font-size: 75%;
+ font-weight: bold;
+ line-height: 1;
+ color: #fff;
+ text-align: center;
+ white-space: nowrap;
+ vertical-align: baseline;
+ border-radius: 0.25rem;
+}
+
+.badge:empty {
+ display: none;
+}
+
+.btn .badge {
+ position: relative;
+ top: -1px;
+}
+
+a.badge:focus, a.badge:hover {
+ color: #fff;
+ text-decoration: none;
+}
+
+.badge-pill {
+ padding-right: 0.6em;
+ padding-left: 0.6em;
+ border-radius: 10rem;
+}
+
+.badge-default {
+ background-color: #636c72;
+}
+
+.badge-default[href]:focus, .badge-default[href]:hover {
+ background-color: #4b5257;
+}
+
+.badge-primary {
+ background-color: #0275d8;
+}
+
+.badge-primary[href]:focus, .badge-primary[href]:hover {
+ background-color: #025aa5;
+}
+
+.badge-success {
+ background-color: #5cb85c;
+}
+
+.badge-success[href]:focus, .badge-success[href]:hover {
+ background-color: #449d44;
+}
+
+.badge-info {
+ background-color: #5bc0de;
+}
+
+.badge-info[href]:focus, .badge-info[href]:hover {
+ background-color: #31b0d5;
+}
+
+.badge-warning {
+ background-color: #f0ad4e;
+}
+
+.badge-warning[href]:focus, .badge-warning[href]:hover {
+ background-color: #ec971f;
+}
+
+.badge-danger {
+ background-color: #d9534f;
+}
+
+.badge-danger[href]:focus, .badge-danger[href]:hover {
+ background-color: #c9302c;
+}
+
+.jumbotron {
+ padding: 2rem 1rem;
+ margin-bottom: 2rem;
+ background-color: #eceeef;
+ border-radius: 0.3rem;
+}
+
+@media (min-width: 576px) {
+ .jumbotron {
+ padding: 4rem 2rem;
+ }
+}
+
+.jumbotron-hr {
+ border-top-color: #d0d5d8;
+}
+
+.jumbotron-fluid {
+ padding-right: 0;
+ padding-left: 0;
+ border-radius: 0;
+}
+
+.alert {
+ padding: 0.75rem 1.25rem;
+ margin-bottom: 1rem;
+ border: 1px solid transparent;
+ border-radius: 0.25rem;
+}
+
+.alert-heading {
+ color: inherit;
+}
+
+.alert-link {
+ font-weight: bold;
+}
+
+.alert-dismissible .close {
+ position: relative;
+ top: -0.75rem;
+ right: -1.25rem;
+ padding: 0.75rem 1.25rem;
+ color: inherit;
+}
+
+.alert-success {
+ color: #3c763d;
+ background-color: #dff0d8;
+ border-color: #d0e9c6;
+}
+
+.alert-success hr {
+ border-top-color: #c1e2b3;
+}
+
+.alert-success .alert-link {
+ color: #2b542c;
+}
+
+.alert-info {
+ color: #31708f;
+ background-color: #d9edf7;
+ border-color: #bcdff1;
+}
+
+.alert-info hr {
+ border-top-color: #a6d5ec;
+}
+
+.alert-info .alert-link {
+ color: #245269;
+}
+
+.alert-warning {
+ color: #8a6d3b;
+ background-color: #fcf8e3;
+ border-color: #faf2cc;
+}
+
+.alert-warning hr {
+ border-top-color: #f7ecb5;
+}
+
+.alert-warning .alert-link {
+ color: #66512c;
+}
+
+.alert-danger {
+ color: #a94442;
+ background-color: #f2dede;
+ border-color: #ebcccc;
+}
+
+.alert-danger hr {
+ border-top-color: #e4b9b9;
+}
+
+.alert-danger .alert-link {
+ color: #843534;
+}
+
+@-webkit-keyframes progress-bar-stripes {
+ from {
+ background-position: 1rem 0;
+ }
+ to {
+ background-position: 0 0;
+ }
+}
+
+@-o-keyframes progress-bar-stripes {
+ from {
+ background-position: 1rem 0;
+ }
+ to {
+ background-position: 0 0;
+ }
+}
+
+@keyframes progress-bar-stripes {
+ from {
+ background-position: 1rem 0;
+ }
+ to {
+ background-position: 0 0;
+ }
+}
+
+.progress {
+ display: -webkit-box;
+ display: -webkit-flex;
+ display: -ms-flexbox;
+ display: flex;
+ overflow: hidden;
+ font-size: 0.75rem;
+ line-height: 1rem;
+ text-align: center;
+ background-color: #eceeef;
+ border-radius: 0.25rem;
+}
+
+.progress-bar {
+ height: 1rem;
+ line-height: 1rem;
+ color: #fff;
+ background-color: #0275d8;
+}
+
+.progress-bar-striped {
+ background-image: -webkit-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);
+ background-image: -o-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);
+ 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);
+ -webkit-background-size: 1rem 1rem;
+ background-size: 1rem 1rem;
+}
+
+.progress-bar-animated {
+ -webkit-animation: progress-bar-stripes 1s linear infinite;
+ -o-animation: progress-bar-stripes 1s linear infinite;
+ animation: progress-bar-stripes 1s linear infinite;
+}
+
+.media {
+ display: -webkit-box;
+ display: -webkit-flex;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-box-align: start;
+ -webkit-align-items: flex-start;
+ -ms-flex-align: start;
+ align-items: flex-start;
+}
+
+.media-body {
+ -webkit-box-flex: 1;
+ -webkit-flex: 1;
+ -ms-flex: 1;
+ flex: 1 1 0%;
+}
+
+.list-group {
+ display: -webkit-box;
+ display: -webkit-flex;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-box-orient: vertical;
+ -webkit-box-direction: normal;
+ -webkit-flex-direction: column;
+ -ms-flex-direction: column;
+ flex-direction: column;
+ padding-left: 0;
+ margin-bottom: 0;
+}
+
+.list-group-item-action {
+ width: 100%;
+ color: #464a4c;
+ text-align: inherit;
+}
+
+.list-group-item-action:focus, .list-group-item-action:hover {
+ color: #464a4c;
+ text-decoration: none;
+ background-color: #f7f7f9;
+}
+
+.list-group-item-action:active {
+ color: #292b2c;
+ background-color: #eceeef;
+}
+
+.list-group-item {
+ position: relative;
+ display: block;
+ padding: 0.75rem 1.25rem;
+ margin-bottom: -1px;
+ background-color: #fff;
+ border: 1px solid rgba(0, 0, 0, 0.125);
+}
+
+.list-group-item:first-child {
+ border-top-left-radius: 0.25rem;
+ border-top-right-radius: 0.25rem;
+}
+
+.list-group-item:last-child {
+ margin-bottom: 0;
+ border-bottom-right-radius: 0.25rem;
+ border-bottom-left-radius: 0.25rem;
+}
+
+.list-group-item:focus, .list-group-item:hover {
+ text-decoration: none;
+}
+
+.list-group-item.disabled, .list-group-item:disabled {
+ color: #636c72;
+ cursor: not-allowed;
+ background-color: #fff;
+}
+
+.list-group-item.active {
+ z-index: 2;
+ color: #fff;
+ background-color: #0275d8;
+ border-color: #0275d8;
+}
+
+.list-group-flush .list-group-item {
+ border-right: 0;
+ border-left: 0;
+ border-radius: 0;
+}
+
+.list-group-flush:first-child .list-group-item:first-child {
+ border-top: 0;
+}
+
+.list-group-flush:last-child .list-group-item:last-child {
+ border-bottom: 0;
+}
+
+.list-group-item-success {
+ color: #3c763d;
+ background-color: #dff0d8;
+}
+
+a.list-group-item-success,
+button.list-group-item-success {
+ color: #3c763d;
+}
+
+a.list-group-item-success:focus, a.list-group-item-success:hover,
+button.list-group-item-success:focus,
+button.list-group-item-success:hover {
+ color: #3c763d;
+ background-color: #d0e9c6;
+}
+
+a.list-group-item-success.active,
+button.list-group-item-success.active {
+ color: #fff;
+ background-color: #3c763d;
+ border-color: #3c763d;
+}
+
+.list-group-item-info {
+ color: #31708f;
+ background-color: #d9edf7;
+}
+
+a.list-group-item-info,
+button.list-group-item-info {
+ color: #31708f;
+}
+
+a.list-group-item-info:focus, a.list-group-item-info:hover,
+button.list-group-item-info:focus,
+button.list-group-item-info:hover {
+ color: #31708f;
+ background-color: #c4e3f3;
+}
+
+a.list-group-item-info.active,
+button.list-group-item-info.active {
+ color: #fff;
+ background-color: #31708f;
+ border-color: #31708f;
+}
+
+.list-group-item-warning {
+ color: #8a6d3b;
+ background-color: #fcf8e3;
+}
+
+a.list-group-item-warning,
+button.list-group-item-warning {
+ color: #8a6d3b;
+}
+
+a.list-group-item-warning:focus, a.list-group-item-warning:hover,
+button.list-group-item-warning:focus,
+button.list-group-item-warning:hover {
+ color: #8a6d3b;
+ background-color: #faf2cc;
+}
+
+a.list-group-item-warning.active,
+button.list-group-item-warning.active {
+ color: #fff;
+ background-color: #8a6d3b;
+ border-color: #8a6d3b;
+}
+
+.list-group-item-danger {
+ color: #a94442;
+ background-color: #f2dede;
+}
+
+a.list-group-item-danger,
+button.list-group-item-danger {
+ color: #a94442;
+}
+
+a.list-group-item-danger:focus, a.list-group-item-danger:hover,
+button.list-group-item-danger:focus,
+button.list-group-item-danger:hover {
+ color: #a94442;
+ background-color: #ebcccc;
+}
+
+a.list-group-item-danger.active,
+button.list-group-item-danger.active {
+ color: #fff;
+ background-color: #a94442;
+ border-color: #a94442;
+}
+
+.embed-responsive {
+ position: relative;
+ display: block;
+ width: 100%;
+ padding: 0;
+ overflow: hidden;
+}
+
+.embed-responsive::before {
+ display: block;
+ content: "";
+}
+
+.embed-responsive .embed-responsive-item,
+.embed-responsive iframe,
+.embed-responsive embed,
+.embed-responsive object,
+.embed-responsive video {
+ position: absolute;
+ top: 0;
+ bottom: 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%;
+}
+
+.close {
+ float: right;
+ font-size: 1.5rem;
+ font-weight: bold;
+ line-height: 1;
+ color: #000;
+ text-shadow: 0 1px 0 #fff;
+ opacity: .5;
+}
+
+.close:focus, .close:hover {
+ color: #000;
+ text-decoration: none;
+ opacity: .75;
+}
+
+button.close {
+ padding: 0;
+ background: transparent;
+ border: 0;
+ -webkit-appearance: none;
+}
+
+.modal-open {
+ overflow: hidden;
+}
+
+.modal {
+ position: fixed;
+ top: 0;
+ right: 0;
+ bottom: 0;
+ left: 0;
+ z-index: 1050;
+ display: none;
+ overflow: hidden;
+ outline: 0;
+}
+
+.modal.fade .modal-dialog {
+ -webkit-transition: -webkit-transform 0.3s ease-out;
+ transition: -webkit-transform 0.3s ease-out;
+ -o-transition: -o-transform 0.3s ease-out;
+ transition: transform 0.3s ease-out;
+ transition: transform 0.3s ease-out, -webkit-transform 0.3s ease-out, -o-transform 0.3s ease-out;
+ -webkit-transform: translate(0, -25%);
+ -o-transform: translate(0, -25%);
+ transform: translate(0, -25%);
+}
+
+.modal.show .modal-dialog {
+ -webkit-transform: translate(0, 0);
+ -o-transform: translate(0, 0);
+ transform: translate(0, 0);
+}
+
+.modal-open .modal {
+ overflow-x: hidden;
+ overflow-y: auto;
+}
+
+.modal-dialog {
+ position: relative;
+ width: auto;
+ margin: 10px;
+}
+
+.modal-content {
+ position: relative;
+ display: -webkit-box;
+ display: -webkit-flex;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-box-orient: vertical;
+ -webkit-box-direction: normal;
+ -webkit-flex-direction: column;
+ -ms-flex-direction: column;
+ flex-direction: column;
+ background-color: #fff;
+ -webkit-background-clip: padding-box;
+ background-clip: padding-box;
+ border: 1px solid rgba(0, 0, 0, 0.2);
+ border-radius: 0.3rem;
+ outline: 0;
+}
+
+.modal-backdrop {
+ position: fixed;
+ top: 0;
+ right: 0;
+ bottom: 0;
+ left: 0;
+ z-index: 1040;
+ background-color: #000;
+}
+
+.modal-backdrop.fade {
+ opacity: 0;
+}
+
+.modal-backdrop.show {
+ opacity: 0.5;
+}
+
+.modal-header {
+ display: -webkit-box;
+ display: -webkit-flex;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-box-align: center;
+ -webkit-align-items: center;
+ -ms-flex-align: center;
+ align-items: center;
+ -webkit-box-pack: justify;
+ -webkit-justify-content: space-between;
+ -ms-flex-pack: justify;
+ justify-content: space-between;
+ padding: 15px;
+ border-bottom: 1px solid #eceeef;
+}
+
+.modal-title {
+ margin-bottom: 0;
+ line-height: 1.5;
+}
+
+.modal-body {
+ position: relative;
+ -webkit-box-flex: 1;
+ -webkit-flex: 1 1 auto;
+ -ms-flex: 1 1 auto;
+ flex: 1 1 auto;
+ padding: 15px;
+}
+
+.modal-footer {
+ display: -webkit-box;
+ display: -webkit-flex;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-box-align: center;
+ -webkit-align-items: center;
+ -ms-flex-align: center;
+ align-items: center;
+ -webkit-box-pack: end;
+ -webkit-justify-content: flex-end;
+ -ms-flex-pack: end;
+ justify-content: flex-end;
+ padding: 15px;
+ border-top: 1px solid #eceeef;
+}
+
+.modal-footer > :not(:first-child) {
+ margin-left: .25rem;
+}
+
+.modal-footer > :not(:last-child) {
+ margin-right: .25rem;
+}
+
+.modal-scrollbar-measure {
+ position: absolute;
+ top: -9999px;
+ width: 50px;
+ height: 50px;
+ overflow: scroll;
+}
+
+@media (min-width: 576px) {
+ .modal-dialog {
+ max-width: 500px;
+ margin: 30px auto;
+ }
+ .modal-sm {
+ max-width: 300px;
+ }
+}
+
+@media (min-width: 992px) {
+ .modal-lg {
+ max-width: 800px;
+ }
+}
+
+.tooltip {
+ position: absolute;
+ z-index: 1070;
+ display: block;
+ font-family: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
+ font-style: normal;
+ font-weight: normal;
+ 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: 0.875rem;
+ word-wrap: break-word;
+ opacity: 0;
+}
+
+.tooltip.show {
+ opacity: 0.9;
+}
+
+.tooltip.tooltip-top, .tooltip.bs-tether-element-attached-bottom {
+ padding: 5px 0;
+ margin-top: -3px;
+}
+
+.tooltip.tooltip-top .tooltip-inner::before, .tooltip.bs-tether-element-attached-bottom .tooltip-inner::before {
+ bottom: 0;
+ left: 50%;
+ margin-left: -5px;
+ content: "";
+ border-width: 5px 5px 0;
+ border-top-color: #000;
+}
+
+.tooltip.tooltip-right, .tooltip.bs-tether-element-attached-left {
+ padding: 0 5px;
+ margin-left: 3px;
+}
+
+.tooltip.tooltip-right .tooltip-inner::before, .tooltip.bs-tether-element-attached-left .tooltip-inner::before {
+ top: 50%;
+ left: 0;
+ margin-top: -5px;
+ content: "";
+ border-width: 5px 5px 5px 0;
+ border-right-color: #000;
+}
+
+.tooltip.tooltip-bottom, .tooltip.bs-tether-element-attached-top {
+ padding: 5px 0;
+ margin-top: 3px;
+}
+
+.tooltip.tooltip-bottom .tooltip-inner::before, .tooltip.bs-tether-element-attached-top .tooltip-inner::before {
+ top: 0;
+ left: 50%;
+ margin-left: -5px;
+ content: "";
+ border-width: 0 5px 5px;
+ border-bottom-color: #000;
+}
+
+.tooltip.tooltip-left, .tooltip.bs-tether-element-attached-right {
+ padding: 0 5px;
+ margin-left: -3px;
+}
+
+.tooltip.tooltip-left .tooltip-inner::before, .tooltip.bs-tether-element-attached-right .tooltip-inner::before {
+ top: 50%;
+ right: 0;
+ margin-top: -5px;
+ content: "";
+ border-width: 5px 0 5px 5px;
+ border-left-color: #000;
+}
+
+.tooltip-inner {
+ max-width: 200px;
+ padding: 3px 8px;
+ color: #fff;
+ text-align: center;
+ background-color: #000;
+ border-radius: 0.25rem;
+}
+
+.tooltip-inner::before {
+ position: absolute;
+ width: 0;
+ height: 0;
+ border-color: transparent;
+ border-style: solid;
+}
+
+.popover {
+ position: absolute;
+ top: 0;
+ left: 0;
+ z-index: 1060;
+ display: block;
+ max-width: 276px;
+ padding: 1px;
+ font-family: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
+ font-style: normal;
+ font-weight: normal;
+ 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: 0.875rem;
+ word-wrap: break-word;
+ background-color: #fff;
+ -webkit-background-clip: padding-box;
+ background-clip: padding-box;
+ border: 1px solid rgba(0, 0, 0, 0.2);
+ border-radius: 0.3rem;
+}
+
+.popover.popover-top, .popover.bs-tether-element-attached-bottom {
+ margin-top: -10px;
+}
+
+.popover.popover-top::before, .popover.popover-top::after, .popover.bs-tether-element-attached-bottom::before, .popover.bs-tether-element-attached-bottom::after {
+ left: 50%;
+ border-bottom-width: 0;
+}
+
+.popover.popover-top::before, .popover.bs-tether-element-attached-bottom::before {
+ bottom: -11px;
+ margin-left: -11px;
+ border-top-color: rgba(0, 0, 0, 0.25);
+}
+
+.popover.popover-top::after, .popover.bs-tether-element-attached-bottom::after {
+ bottom: -10px;
+ margin-left: -10px;
+ border-top-color: #fff;
+}
+
+.popover.popover-right, .popover.bs-tether-element-attached-left {
+ margin-left: 10px;
+}
+
+.popover.popover-right::before, .popover.popover-right::after, .popover.bs-tether-element-attached-left::before, .popover.bs-tether-element-attached-left::after {
+ top: 50%;
+ border-left-width: 0;
+}
+
+.popover.popover-right::before, .popover.bs-tether-element-attached-left::before {
+ left: -11px;
+ margin-top: -11px;
+ border-right-color: rgba(0, 0, 0, 0.25);
+}
+
+.popover.popover-right::after, .popover.bs-tether-element-attached-left::after {
+ left: -10px;
+ margin-top: -10px;
+ border-right-color: #fff;
+}
+
+.popover.popover-bottom, .popover.bs-tether-element-attached-top {
+ margin-top: 10px;
+}
+
+.popover.popover-bottom::before, .popover.popover-bottom::after, .popover.bs-tether-element-attached-top::before, .popover.bs-tether-element-attached-top::after {
+ left: 50%;
+ border-top-width: 0;
+}
+
+.popover.popover-bottom::before, .popover.bs-tether-element-attached-top::before {
+ top: -11px;
+ margin-left: -11px;
+ border-bottom-color: rgba(0, 0, 0, 0.25);
+}
+
+.popover.popover-bottom::after, .popover.bs-tether-element-attached-top::after {
+ top: -10px;
+ margin-left: -10px;
+ border-bottom-color: #f7f7f7;
+}
+
+.popover.popover-bottom .popover-title::before, .popover.bs-tether-element-attached-top .popover-title::before {
+ position: absolute;
+ top: 0;
+ left: 50%;
+ display: block;
+ width: 20px;
+ margin-left: -10px;
+ content: "";
+ border-bottom: 1px solid #f7f7f7;
+}
+
+.popover.popover-left, .popover.bs-tether-element-attached-right {
+ margin-left: -10px;
+}
+
+.popover.popover-left::before, .popover.popover-left::after, .popover.bs-tether-element-attached-right::before, .popover.bs-tether-element-attached-right::after {
+ top: 50%;
+ border-right-width: 0;
+}
+
+.popover.popover-left::before, .popover.bs-tether-element-attached-right::before {
+ right: -11px;
+ margin-top: -11px;
+ border-left-color: rgba(0, 0, 0, 0.25);
+}
+
+.popover.popover-left::after, .popover.bs-tether-element-attached-right::after {
+ right: -10px;
+ margin-top: -10px;
+ border-left-color: #fff;
+}
+
+.popover-title {
+ padding: 8px 14px;
+ margin-bottom: 0;
+ font-size: 1rem;
+ background-color: #f7f7f7;
+ border-bottom: 1px solid #ebebeb;
+ border-top-left-radius: calc(0.3rem - 1px);
+ border-top-right-radius: calc(0.3rem - 1px);
+}
+
+.popover-title:empty {
+ display: none;
+}
+
+.popover-content {
+ padding: 9px 14px;
+}
+
+.popover::before,
+.popover::after {
+ position: absolute;
+ display: block;
+ width: 0;
+ height: 0;
+ border-color: transparent;
+ border-style: solid;
+}
+
+.popover::before {
+ content: "";
+ border-width: 11px;
+}
+
+.popover::after {
+ content: "";
+ border-width: 10px;
+}
+
+.carousel {
+ position: relative;
+}
+
+.carousel-inner {
+ position: relative;
+ width: 100%;
+ overflow: hidden;
+}
+
+.carousel-item {
+ position: relative;
+ display: none;
+ width: 100%;
+}
+
+@media (-webkit-transform-3d) {
+ .carousel-item {
+ -webkit-transition: -webkit-transform 0.6s ease-in-out;
+ transition: -webkit-transform 0.6s ease-in-out;
+ -o-transition: -o-transform 0.6s ease-in-out;
+ transition: transform 0.6s ease-in-out;
+ transition: transform 0.6s ease-in-out, -webkit-transform 0.6s ease-in-out, -o-transform 0.6s ease-in-out;
+ -webkit-backface-visibility: hidden;
+ backface-visibility: hidden;
+ -webkit-perspective: 1000px;
+ perspective: 1000px;
+ }
+}
+
+@supports ((-webkit-transform: translate3d(0, 0, 0)) or (transform: translate3d(0, 0, 0))) {
+ .carousel-item {
+ -webkit-transition: -webkit-transform 0.6s ease-in-out;
+ transition: -webkit-transform 0.6s ease-in-out;
+ -o-transition: -o-transform 0.6s ease-in-out;
+ transition: transform 0.6s ease-in-out;
+ transition: transform 0.6s ease-in-out, -webkit-transform 0.6s ease-in-out, -o-transform 0.6s ease-in-out;
+ -webkit-backface-visibility: hidden;
+ backface-visibility: hidden;
+ -webkit-perspective: 1000px;
+ perspective: 1000px;
+ }
+}
+
+.carousel-item.active,
+.carousel-item-next,
+.carousel-item-prev {
+ display: -webkit-box;
+ display: -webkit-flex;
+ display: -ms-flexbox;
+ display: flex;
+}
+
+.carousel-item-next,
+.carousel-item-prev {
+ position: absolute;
+ top: 0;
+}
+
+@media (-webkit-transform-3d) {
+ .carousel-item-next.carousel-item-left,
+ .carousel-item-prev.carousel-item-right {
+ -webkit-transform: translate3d(0, 0, 0);
+ transform: translate3d(0, 0, 0);
+ }
+ .carousel-item-next,
+ .active.carousel-item-right {
+ -webkit-transform: translate3d(100%, 0, 0);
+ transform: translate3d(100%, 0, 0);
+ }
+ .carousel-item-prev,
+ .active.carousel-item-left {
+ -webkit-transform: translate3d(-100%, 0, 0);
+ transform: translate3d(-100%, 0, 0);
+ }
+}
+
+@supports ((-webkit-transform: translate3d(0, 0, 0)) or (transform: translate3d(0, 0, 0))) {
+ .carousel-item-next.carousel-item-left,
+ .carousel-item-prev.carousel-item-right {
+ -webkit-transform: translate3d(0, 0, 0);
+ transform: translate3d(0, 0, 0);
+ }
+ .carousel-item-next,
+ .active.carousel-item-right {
+ -webkit-transform: translate3d(100%, 0, 0);
+ transform: translate3d(100%, 0, 0);
+ }
+ .carousel-item-prev,
+ .active.carousel-item-left {
+ -webkit-transform: translate3d(-100%, 0, 0);
+ transform: translate3d(-100%, 0, 0);
+ }
+}
+
+.carousel-control-prev,
+.carousel-control-next {
+ position: absolute;
+ top: 0;
+ bottom: 0;
+ display: -webkit-box;
+ display: -webkit-flex;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-box-align: center;
+ -webkit-align-items: center;
+ -ms-flex-align: center;
+ align-items: center;
+ -webkit-box-pack: center;
+ -webkit-justify-content: center;
+ -ms-flex-pack: center;
+ justify-content: center;
+ width: 15%;
+ color: #fff;
+ text-align: center;
+ opacity: 0.5;
+}
+
+.carousel-control-prev:focus, .carousel-control-prev:hover,
+.carousel-control-next:focus,
+.carousel-control-next:hover {
+ color: #fff;
+ text-decoration: none;
+ outline: 0;
+ opacity: .9;
+}
+
+.carousel-control-prev {
+ left: 0;
+}
+
+.carousel-control-next {
+ right: 0;
+}
+
+.carousel-control-prev-icon,
+.carousel-control-next-icon {
+ display: inline-block;
+ width: 20px;
+ height: 20px;
+ background: transparent no-repeat center center;
+ -webkit-background-size: 100% 100%;
+ background-size: 100% 100%;
+}
+
+.carousel-control-prev-icon {
+ background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3E%3Cpath d='M4 0l-4 4 4 4 1.5-1.5-2.5-2.5 2.5-2.5-1.5-1.5z'/%3E%3C/svg%3E");
+}
+
+.carousel-control-next-icon {
+ background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3E%3Cpath d='M1.5 0l-1.5 1.5 2.5 2.5-2.5 2.5 1.5 1.5 4-4-4-4z'/%3E%3C/svg%3E");
+}
+
+.carousel-indicators {
+ position: absolute;
+ right: 0;
+ bottom: 10px;
+ left: 0;
+ z-index: 15;
+ display: -webkit-box;
+ display: -webkit-flex;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-box-pack: center;
+ -webkit-justify-content: center;
+ -ms-flex-pack: center;
+ justify-content: center;
+ padding-left: 0;
+ margin-right: 15%;
+ margin-left: 15%;
+ list-style: none;
+}
+
+.carousel-indicators li {
+ position: relative;
+ -webkit-box-flex: 1;
+ -webkit-flex: 1 0 auto;
+ -ms-flex: 1 0 auto;
+ flex: 1 0 auto;
+ max-width: 30px;
+ height: 3px;
+ margin-right: 3px;
+ margin-left: 3px;
+ text-indent: -999px;
+ background-color: rgba(255, 255, 255, 0.5);
+}
+
+.carousel-indicators li::before {
+ position: absolute;
+ top: -10px;
+ left: 0;
+ display: inline-block;
+ width: 100%;
+ height: 10px;
+ content: "";
+}
+
+.carousel-indicators li::after {
+ position: absolute;
+ bottom: -10px;
+ left: 0;
+ display: inline-block;
+ width: 100%;
+ height: 10px;
+ content: "";
+}
+
+.carousel-indicators .active {
+ background-color: #fff;
+}
+
+.carousel-caption {
+ position: absolute;
+ right: 15%;
+ bottom: 20px;
+ left: 15%;
+ z-index: 10;
+ padding-top: 20px;
+ padding-bottom: 20px;
+ color: #fff;
+ text-align: center;
+}
+
+.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;
+}
+
+.bg-faded {
+ background-color: #f7f7f7;
+}
+
+.bg-primary {
+ background-color: #0275d8 !important;
+}
+
+a.bg-primary:focus, a.bg-primary:hover {
+ background-color: #025aa5 !important;
+}
+
+.bg-success {
+ background-color: #5cb85c !important;
+}
+
+a.bg-success:focus, a.bg-success:hover {
+ background-color: #449d44 !important;
+}
+
+.bg-info {
+ background-color: #5bc0de !important;
+}
+
+a.bg-info:focus, a.bg-info:hover {
+ background-color: #31b0d5 !important;
+}
+
+.bg-warning {
+ background-color: #f0ad4e !important;
+}
+
+a.bg-warning:focus, a.bg-warning:hover {
+ background-color: #ec971f !important;
+}
+
+.bg-danger {
+ background-color: #d9534f !important;
+}
+
+a.bg-danger:focus, a.bg-danger:hover {
+ background-color: #c9302c !important;
+}
+
+.bg-inverse {
+ background-color: #292b2c !important;
+}
+
+a.bg-inverse:focus, a.bg-inverse:hover {
+ background-color: #101112 !important;
+}
+
+.border-0 {
+ border: 0 !important;
+}
+
+.border-top-0 {
+ border-top: 0 !important;
+}
+
+.border-right-0 {
+ border-right: 0 !important;
+}
+
+.border-bottom-0 {
+ border-bottom: 0 !important;
+}
+
+.border-left-0 {
+ border-left: 0 !important;
+}
+
+.rounded {
+ border-radius: 0.25rem;
+}
+
+.rounded-top {
+ border-top-left-radius: 0.25rem;
+ border-top-right-radius: 0.25rem;
+}
+
+.rounded-right {
+ border-top-right-radius: 0.25rem;
+ border-bottom-right-radius: 0.25rem;
+}
+
+.rounded-bottom {
+ border-bottom-right-radius: 0.25rem;
+ border-bottom-left-radius: 0.25rem;
+}
+
+.rounded-left {
+ border-top-left-radius: 0.25rem;
+ border-bottom-left-radius: 0.25rem;
+}
+
+.rounded-circle {
+ border-radius: 50%;
+}
+
+.rounded-0 {
+ border-radius: 0;
+}
+
+.clearfix::after {
+ display: block;
+ clear: both;
+ content: "";
+}
+
+.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-cell {
+ display: table-cell !important;
+}
+
+.d-flex {
+ display: -webkit-box !important;
+ display: -webkit-flex !important;
+ display: -ms-flexbox !important;
+ display: flex !important;
+}
+
+.d-inline-flex {
+ display: -webkit-inline-box !important;
+ display: -webkit-inline-flex !important;
+ display: -ms-inline-flexbox !important;
+ display: inline-flex !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-cell {
+ display: table-cell !important;
+ }
+ .d-sm-flex {
+ display: -webkit-box !important;
+ display: -webkit-flex !important;
+ display: -ms-flexbox !important;
+ display: flex !important;
+ }
+ .d-sm-inline-flex {
+ display: -webkit-inline-box !important;
+ display: -webkit-inline-flex !important;
+ display: -ms-inline-flexbox !important;
+ display: inline-flex !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-cell {
+ display: table-cell !important;
+ }
+ .d-md-flex {
+ display: -webkit-box !important;
+ display: -webkit-flex !important;
+ display: -ms-flexbox !important;
+ display: flex !important;
+ }
+ .d-md-inline-flex {
+ display: -webkit-inline-box !important;
+ display: -webkit-inline-flex !important;
+ display: -ms-inline-flexbox !important;
+ display: inline-flex !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-cell {
+ display: table-cell !important;
+ }
+ .d-lg-flex {
+ display: -webkit-box !important;
+ display: -webkit-flex !important;
+ display: -ms-flexbox !important;
+ display: flex !important;
+ }
+ .d-lg-inline-flex {
+ display: -webkit-inline-box !important;
+ display: -webkit-inline-flex !important;
+ display: -ms-inline-flexbox !important;
+ display: inline-flex !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-cell {
+ display: table-cell !important;
+ }
+ .d-xl-flex {
+ display: -webkit-box !important;
+ display: -webkit-flex !important;
+ display: -ms-flexbox !important;
+ display: flex !important;
+ }
+ .d-xl-inline-flex {
+ display: -webkit-inline-box !important;
+ display: -webkit-inline-flex !important;
+ display: -ms-inline-flexbox !important;
+ display: inline-flex !important;
+ }
+}
+
+.d-print-block {
+ display: none !important;
+}
+
+@media print {
+ .d-print-block {
+ display: block !important;
+ }
+}
+
+.d-print-inline {
+ display: none !important;
+}
+
+@media print {
+ .d-print-inline {
+ display: inline !important;
+ }
+}
+
+.d-print-inline-block {
+ display: none !important;
+}
+
+@media print {
+ .d-print-inline-block {
+ display: inline-block !important;
+ }
+}
+
+@media print {
+ .d-print-none {
+ display: none !important;
+ }
+}
+
+.order-first {
+ -webkit-box-ordinal-group: 0;
+ -webkit-order: -1;
+ -ms-flex-order: -1;
+ order: -1;
+}
+
+.order-last {
+ -webkit-box-ordinal-group: 2;
+ -webkit-order: 1;
+ -ms-flex-order: 1;
+ order: 1;
+}
+
+.order-0 {
+ -webkit-box-ordinal-group: 1;
+ -webkit-order: 0;
+ -ms-flex-order: 0;
+ order: 0;
+}
+
+.flex-row {
+ -webkit-box-orient: horizontal !important;
+ -webkit-box-direction: normal !important;
+ -webkit-flex-direction: row !important;
+ -ms-flex-direction: row !important;
+ flex-direction: row !important;
+}
+
+.flex-column {
+ -webkit-box-orient: vertical !important;
+ -webkit-box-direction: normal !important;
+ -webkit-flex-direction: column !important;
+ -ms-flex-direction: column !important;
+ flex-direction: column !important;
+}
+
+.flex-row-reverse {
+ -webkit-box-orient: horizontal !important;
+ -webkit-box-direction: reverse !important;
+ -webkit-flex-direction: row-reverse !important;
+ -ms-flex-direction: row-reverse !important;
+ flex-direction: row-reverse !important;
+}
+
+.flex-column-reverse {
+ -webkit-box-orient: vertical !important;
+ -webkit-box-direction: reverse !important;
+ -webkit-flex-direction: column-reverse !important;
+ -ms-flex-direction: column-reverse !important;
+ flex-direction: column-reverse !important;
+}
+
+.flex-wrap {
+ -webkit-flex-wrap: wrap !important;
+ -ms-flex-wrap: wrap !important;
+ flex-wrap: wrap !important;
+}
+
+.flex-nowrap {
+ -webkit-flex-wrap: nowrap !important;
+ -ms-flex-wrap: nowrap !important;
+ flex-wrap: nowrap !important;
+}
+
+.flex-wrap-reverse {
+ -webkit-flex-wrap: wrap-reverse !important;
+ -ms-flex-wrap: wrap-reverse !important;
+ flex-wrap: wrap-reverse !important;
+}
+
+.justify-content-start {
+ -webkit-box-pack: start !important;
+ -webkit-justify-content: flex-start !important;
+ -ms-flex-pack: start !important;
+ justify-content: flex-start !important;
+}
+
+.justify-content-end {
+ -webkit-box-pack: end !important;
+ -webkit-justify-content: flex-end !important;
+ -ms-flex-pack: end !important;
+ justify-content: flex-end !important;
+}
+
+.justify-content-center {
+ -webkit-box-pack: center !important;
+ -webkit-justify-content: center !important;
+ -ms-flex-pack: center !important;
+ justify-content: center !important;
+}
+
+.justify-content-between {
+ -webkit-box-pack: justify !important;
+ -webkit-justify-content: space-between !important;
+ -ms-flex-pack: justify !important;
+ justify-content: space-between !important;
+}
+
+.justify-content-around {
+ -webkit-justify-content: space-around !important;
+ -ms-flex-pack: distribute !important;
+ justify-content: space-around !important;
+}
+
+.align-items-start {
+ -webkit-box-align: start !important;
+ -webkit-align-items: flex-start !important;
+ -ms-flex-align: start !important;
+ align-items: flex-start !important;
+}
+
+.align-items-end {
+ -webkit-box-align: end !important;
+ -webkit-align-items: flex-end !important;
+ -ms-flex-align: end !important;
+ align-items: flex-end !important;
+}
+
+.align-items-center {
+ -webkit-box-align: center !important;
+ -webkit-align-items: center !important;
+ -ms-flex-align: center !important;
+ align-items: center !important;
+}
+
+.align-items-baseline {
+ -webkit-box-align: baseline !important;
+ -webkit-align-items: baseline !important;
+ -ms-flex-align: baseline !important;
+ align-items: baseline !important;
+}
+
+.align-items-stretch {
+ -webkit-box-align: stretch !important;
+ -webkit-align-items: stretch !important;
+ -ms-flex-align: stretch !important;
+ align-items: stretch !important;
+}
+
+.align-content-start {
+ -webkit-align-content: flex-start !important;
+ -ms-flex-line-pack: start !important;
+ align-content: flex-start !important;
+}
+
+.align-content-end {
+ -webkit-align-content: flex-end !important;
+ -ms-flex-line-pack: end !important;
+ align-content: flex-end !important;
+}
+
+.align-content-center {
+ -webkit-align-content: center !important;
+ -ms-flex-line-pack: center !important;
+ align-content: center !important;
+}
+
+.align-content-between {
+ -webkit-align-content: space-between !important;
+ -ms-flex-line-pack: justify !important;
+ align-content: space-between !important;
+}
+
+.align-content-around {
+ -webkit-align-content: space-around !important;
+ -ms-flex-line-pack: distribute !important;
+ align-content: space-around !important;
+}
+
+.align-content-stretch {
+ -webkit-align-content: stretch !important;
+ -ms-flex-line-pack: stretch !important;
+ align-content: stretch !important;
+}
+
+.align-self-auto {
+ -webkit-align-self: auto !important;
+ -ms-flex-item-align: auto !important;
+ -ms-grid-row-align: auto !important;
+ align-self: auto !important;
+}
+
+.align-self-start {
+ -webkit-align-self: flex-start !important;
+ -ms-flex-item-align: start !important;
+ align-self: flex-start !important;
+}
+
+.align-self-end {
+ -webkit-align-self: flex-end !important;
+ -ms-flex-item-align: end !important;
+ align-self: flex-end !important;
+}
+
+.align-self-center {
+ -webkit-align-self: center !important;
+ -ms-flex-item-align: center !important;
+ -ms-grid-row-align: center !important;
+ align-self: center !important;
+}
+
+.align-self-baseline {
+ -webkit-align-self: baseline !important;
+ -ms-flex-item-align: baseline !important;
+ align-self: baseline !important;
+}
+
+.align-self-stretch {
+ -webkit-align-self: stretch !important;
+ -ms-flex-item-align: stretch !important;
+ -ms-grid-row-align: stretch !important;
+ align-self: stretch !important;
+}
+
+@media (min-width: 576px) {
+ .order-sm-first {
+ -webkit-box-ordinal-group: 0;
+ -webkit-order: -1;
+ -ms-flex-order: -1;
+ order: -1;
+ }
+ .order-sm-last {
+ -webkit-box-ordinal-group: 2;
+ -webkit-order: 1;
+ -ms-flex-order: 1;
+ order: 1;
+ }
+ .order-sm-0 {
+ -webkit-box-ordinal-group: 1;
+ -webkit-order: 0;
+ -ms-flex-order: 0;
+ order: 0;
+ }
+ .flex-sm-row {
+ -webkit-box-orient: horizontal !important;
+ -webkit-box-direction: normal !important;
+ -webkit-flex-direction: row !important;
+ -ms-flex-direction: row !important;
+ flex-direction: row !important;
+ }
+ .flex-sm-column {
+ -webkit-box-orient: vertical !important;
+ -webkit-box-direction: normal !important;
+ -webkit-flex-direction: column !important;
+ -ms-flex-direction: column !important;
+ flex-direction: column !important;
+ }
+ .flex-sm-row-reverse {
+ -webkit-box-orient: horizontal !important;
+ -webkit-box-direction: reverse !important;
+ -webkit-flex-direction: row-reverse !important;
+ -ms-flex-direction: row-reverse !important;
+ flex-direction: row-reverse !important;
+ }
+ .flex-sm-column-reverse {
+ -webkit-box-orient: vertical !important;
+ -webkit-box-direction: reverse !important;
+ -webkit-flex-direction: column-reverse !important;
+ -ms-flex-direction: column-reverse !important;
+ flex-direction: column-reverse !important;
+ }
+ .flex-sm-wrap {
+ -webkit-flex-wrap: wrap !important;
+ -ms-flex-wrap: wrap !important;
+ flex-wrap: wrap !important;
+ }
+ .flex-sm-nowrap {
+ -webkit-flex-wrap: nowrap !important;
+ -ms-flex-wrap: nowrap !important;
+ flex-wrap: nowrap !important;
+ }
+ .flex-sm-wrap-reverse {
+ -webkit-flex-wrap: wrap-reverse !important;
+ -ms-flex-wrap: wrap-reverse !important;
+ flex-wrap: wrap-reverse !important;
+ }
+ .justify-content-sm-start {
+ -webkit-box-pack: start !important;
+ -webkit-justify-content: flex-start !important;
+ -ms-flex-pack: start !important;
+ justify-content: flex-start !important;
+ }
+ .justify-content-sm-end {
+ -webkit-box-pack: end !important;
+ -webkit-justify-content: flex-end !important;
+ -ms-flex-pack: end !important;
+ justify-content: flex-end !important;
+ }
+ .justify-content-sm-center {
+ -webkit-box-pack: center !important;
+ -webkit-justify-content: center !important;
+ -ms-flex-pack: center !important;
+ justify-content: center !important;
+ }
+ .justify-content-sm-between {
+ -webkit-box-pack: justify !important;
+ -webkit-justify-content: space-between !important;
+ -ms-flex-pack: justify !important;
+ justify-content: space-between !important;
+ }
+ .justify-content-sm-around {
+ -webkit-justify-content: space-around !important;
+ -ms-flex-pack: distribute !important;
+ justify-content: space-around !important;
+ }
+ .align-items-sm-start {
+ -webkit-box-align: start !important;
+ -webkit-align-items: flex-start !important;
+ -ms-flex-align: start !important;
+ align-items: flex-start !important;
+ }
+ .align-items-sm-end {
+ -webkit-box-align: end !important;
+ -webkit-align-items: flex-end !important;
+ -ms-flex-align: end !important;
+ align-items: flex-end !important;
+ }
+ .align-items-sm-center {
+ -webkit-box-align: center !important;
+ -webkit-align-items: center !important;
+ -ms-flex-align: center !important;
+ align-items: center !important;
+ }
+ .align-items-sm-baseline {
+ -webkit-box-align: baseline !important;
+ -webkit-align-items: baseline !important;
+ -ms-flex-align: baseline !important;
+ align-items: baseline !important;
+ }
+ .align-items-sm-stretch {
+ -webkit-box-align: stretch !important;
+ -webkit-align-items: stretch !important;
+ -ms-flex-align: stretch !important;
+ align-items: stretch !important;
+ }
+ .align-content-sm-start {
+ -webkit-align-content: flex-start !important;
+ -ms-flex-line-pack: start !important;
+ align-content: flex-start !important;
+ }
+ .align-content-sm-end {
+ -webkit-align-content: flex-end !important;
+ -ms-flex-line-pack: end !important;
+ align-content: flex-end !important;
+ }
+ .align-content-sm-center {
+ -webkit-align-content: center !important;
+ -ms-flex-line-pack: center !important;
+ align-content: center !important;
+ }
+ .align-content-sm-between {
+ -webkit-align-content: space-between !important;
+ -ms-flex-line-pack: justify !important;
+ align-content: space-between !important;
+ }
+ .align-content-sm-around {
+ -webkit-align-content: space-around !important;
+ -ms-flex-line-pack: distribute !important;
+ align-content: space-around !important;
+ }
+ .align-content-sm-stretch {
+ -webkit-align-content: stretch !important;
+ -ms-flex-line-pack: stretch !important;
+ align-content: stretch !important;
+ }
+ .align-self-sm-auto {
+ -webkit-align-self: auto !important;
+ -ms-flex-item-align: auto !important;
+ -ms-grid-row-align: auto !important;
+ align-self: auto !important;
+ }
+ .align-self-sm-start {
+ -webkit-align-self: flex-start !important;
+ -ms-flex-item-align: start !important;
+ align-self: flex-start !important;
+ }
+ .align-self-sm-end {
+ -webkit-align-self: flex-end !important;
+ -ms-flex-item-align: end !important;
+ align-self: flex-end !important;
+ }
+ .align-self-sm-center {
+ -webkit-align-self: center !important;
+ -ms-flex-item-align: center !important;
+ -ms-grid-row-align: center !important;
+ align-self: center !important;
+ }
+ .align-self-sm-baseline {
+ -webkit-align-self: baseline !important;
+ -ms-flex-item-align: baseline !important;
+ align-self: baseline !important;
+ }
+ .align-self-sm-stretch {
+ -webkit-align-self: stretch !important;
+ -ms-flex-item-align: stretch !important;
+ -ms-grid-row-align: stretch !important;
+ align-self: stretch !important;
+ }
+}
+
+@media (min-width: 768px) {
+ .order-md-first {
+ -webkit-box-ordinal-group: 0;
+ -webkit-order: -1;
+ -ms-flex-order: -1;
+ order: -1;
+ }
+ .order-md-last {
+ -webkit-box-ordinal-group: 2;
+ -webkit-order: 1;
+ -ms-flex-order: 1;
+ order: 1;
+ }
+ .order-md-0 {
+ -webkit-box-ordinal-group: 1;
+ -webkit-order: 0;
+ -ms-flex-order: 0;
+ order: 0;
+ }
+ .flex-md-row {
+ -webkit-box-orient: horizontal !important;
+ -webkit-box-direction: normal !important;
+ -webkit-flex-direction: row !important;
+ -ms-flex-direction: row !important;
+ flex-direction: row !important;
+ }
+ .flex-md-column {
+ -webkit-box-orient: vertical !important;
+ -webkit-box-direction: normal !important;
+ -webkit-flex-direction: column !important;
+ -ms-flex-direction: column !important;
+ flex-direction: column !important;
+ }
+ .flex-md-row-reverse {
+ -webkit-box-orient: horizontal !important;
+ -webkit-box-direction: reverse !important;
+ -webkit-flex-direction: row-reverse !important;
+ -ms-flex-direction: row-reverse !important;
+ flex-direction: row-reverse !important;
+ }
+ .flex-md-column-reverse {
+ -webkit-box-orient: vertical !important;
+ -webkit-box-direction: reverse !important;
+ -webkit-flex-direction: column-reverse !important;
+ -ms-flex-direction: column-reverse !important;
+ flex-direction: column-reverse !important;
+ }
+ .flex-md-wrap {
+ -webkit-flex-wrap: wrap !important;
+ -ms-flex-wrap: wrap !important;
+ flex-wrap: wrap !important;
+ }
+ .flex-md-nowrap {
+ -webkit-flex-wrap: nowrap !important;
+ -ms-flex-wrap: nowrap !important;
+ flex-wrap: nowrap !important;
+ }
+ .flex-md-wrap-reverse {
+ -webkit-flex-wrap: wrap-reverse !important;
+ -ms-flex-wrap: wrap-reverse !important;
+ flex-wrap: wrap-reverse !important;
+ }
+ .justify-content-md-start {
+ -webkit-box-pack: start !important;
+ -webkit-justify-content: flex-start !important;
+ -ms-flex-pack: start !important;
+ justify-content: flex-start !important;
+ }
+ .justify-content-md-end {
+ -webkit-box-pack: end !important;
+ -webkit-justify-content: flex-end !important;
+ -ms-flex-pack: end !important;
+ justify-content: flex-end !important;
+ }
+ .justify-content-md-center {
+ -webkit-box-pack: center !important;
+ -webkit-justify-content: center !important;
+ -ms-flex-pack: center !important;
+ justify-content: center !important;
+ }
+ .justify-content-md-between {
+ -webkit-box-pack: justify !important;
+ -webkit-justify-content: space-between !important;
+ -ms-flex-pack: justify !important;
+ justify-content: space-between !important;
+ }
+ .justify-content-md-around {
+ -webkit-justify-content: space-around !important;
+ -ms-flex-pack: distribute !important;
+ justify-content: space-around !important;
+ }
+ .align-items-md-start {
+ -webkit-box-align: start !important;
+ -webkit-align-items: flex-start !important;
+ -ms-flex-align: start !important;
+ align-items: flex-start !important;
+ }
+ .align-items-md-end {
+ -webkit-box-align: end !important;
+ -webkit-align-items: flex-end !important;
+ -ms-flex-align: end !important;
+ align-items: flex-end !important;
+ }
+ .align-items-md-center {
+ -webkit-box-align: center !important;
+ -webkit-align-items: center !important;
+ -ms-flex-align: center !important;
+ align-items: center !important;
+ }
+ .align-items-md-baseline {
+ -webkit-box-align: baseline !important;
+ -webkit-align-items: baseline !important;
+ -ms-flex-align: baseline !important;
+ align-items: baseline !important;
+ }
+ .align-items-md-stretch {
+ -webkit-box-align: stretch !important;
+ -webkit-align-items: stretch !important;
+ -ms-flex-align: stretch !important;
+ align-items: stretch !important;
+ }
+ .align-content-md-start {
+ -webkit-align-content: flex-start !important;
+ -ms-flex-line-pack: start !important;
+ align-content: flex-start !important;
+ }
+ .align-content-md-end {
+ -webkit-align-content: flex-end !important;
+ -ms-flex-line-pack: end !important;
+ align-content: flex-end !important;
+ }
+ .align-content-md-center {
+ -webkit-align-content: center !important;
+ -ms-flex-line-pack: center !important;
+ align-content: center !important;
+ }
+ .align-content-md-between {
+ -webkit-align-content: space-between !important;
+ -ms-flex-line-pack: justify !important;
+ align-content: space-between !important;
+ }
+ .align-content-md-around {
+ -webkit-align-content: space-around !important;
+ -ms-flex-line-pack: distribute !important;
+ align-content: space-around !important;
+ }
+ .align-content-md-stretch {
+ -webkit-align-content: stretch !important;
+ -ms-flex-line-pack: stretch !important;
+ align-content: stretch !important;
+ }
+ .align-self-md-auto {
+ -webkit-align-self: auto !important;
+ -ms-flex-item-align: auto !important;
+ -ms-grid-row-align: auto !important;
+ align-self: auto !important;
+ }
+ .align-self-md-start {
+ -webkit-align-self: flex-start !important;
+ -ms-flex-item-align: start !important;
+ align-self: flex-start !important;
+ }
+ .align-self-md-end {
+ -webkit-align-self: flex-end !important;
+ -ms-flex-item-align: end !important;
+ align-self: flex-end !important;
+ }
+ .align-self-md-center {
+ -webkit-align-self: center !important;
+ -ms-flex-item-align: center !important;
+ -ms-grid-row-align: center !important;
+ align-self: center !important;
+ }
+ .align-self-md-baseline {
+ -webkit-align-self: baseline !important;
+ -ms-flex-item-align: baseline !important;
+ align-self: baseline !important;
+ }
+ .align-self-md-stretch {
+ -webkit-align-self: stretch !important;
+ -ms-flex-item-align: stretch !important;
+ -ms-grid-row-align: stretch !important;
+ align-self: stretch !important;
+ }
+}
+
+@media (min-width: 992px) {
+ .order-lg-first {
+ -webkit-box-ordinal-group: 0;
+ -webkit-order: -1;
+ -ms-flex-order: -1;
+ order: -1;
+ }
+ .order-lg-last {
+ -webkit-box-ordinal-group: 2;
+ -webkit-order: 1;
+ -ms-flex-order: 1;
+ order: 1;
+ }
+ .order-lg-0 {
+ -webkit-box-ordinal-group: 1;
+ -webkit-order: 0;
+ -ms-flex-order: 0;
+ order: 0;
+ }
+ .flex-lg-row {
+ -webkit-box-orient: horizontal !important;
+ -webkit-box-direction: normal !important;
+ -webkit-flex-direction: row !important;
+ -ms-flex-direction: row !important;
+ flex-direction: row !important;
+ }
+ .flex-lg-column {
+ -webkit-box-orient: vertical !important;
+ -webkit-box-direction: normal !important;
+ -webkit-flex-direction: column !important;
+ -ms-flex-direction: column !important;
+ flex-direction: column !important;
+ }
+ .flex-lg-row-reverse {
+ -webkit-box-orient: horizontal !important;
+ -webkit-box-direction: reverse !important;
+ -webkit-flex-direction: row-reverse !important;
+ -ms-flex-direction: row-reverse !important;
+ flex-direction: row-reverse !important;
+ }
+ .flex-lg-column-reverse {
+ -webkit-box-orient: vertical !important;
+ -webkit-box-direction: reverse !important;
+ -webkit-flex-direction: column-reverse !important;
+ -ms-flex-direction: column-reverse !important;
+ flex-direction: column-reverse !important;
+ }
+ .flex-lg-wrap {
+ -webkit-flex-wrap: wrap !important;
+ -ms-flex-wrap: wrap !important;
+ flex-wrap: wrap !important;
+ }
+ .flex-lg-nowrap {
+ -webkit-flex-wrap: nowrap !important;
+ -ms-flex-wrap: nowrap !important;
+ flex-wrap: nowrap !important;
+ }
+ .flex-lg-wrap-reverse {
+ -webkit-flex-wrap: wrap-reverse !important;
+ -ms-flex-wrap: wrap-reverse !important;
+ flex-wrap: wrap-reverse !important;
+ }
+ .justify-content-lg-start {
+ -webkit-box-pack: start !important;
+ -webkit-justify-content: flex-start !important;
+ -ms-flex-pack: start !important;
+ justify-content: flex-start !important;
+ }
+ .justify-content-lg-end {
+ -webkit-box-pack: end !important;
+ -webkit-justify-content: flex-end !important;
+ -ms-flex-pack: end !important;
+ justify-content: flex-end !important;
+ }
+ .justify-content-lg-center {
+ -webkit-box-pack: center !important;
+ -webkit-justify-content: center !important;
+ -ms-flex-pack: center !important;
+ justify-content: center !important;
+ }
+ .justify-content-lg-between {
+ -webkit-box-pack: justify !important;
+ -webkit-justify-content: space-between !important;
+ -ms-flex-pack: justify !important;
+ justify-content: space-between !important;
+ }
+ .justify-content-lg-around {
+ -webkit-justify-content: space-around !important;
+ -ms-flex-pack: distribute !important;
+ justify-content: space-around !important;
+ }
+ .align-items-lg-start {
+ -webkit-box-align: start !important;
+ -webkit-align-items: flex-start !important;
+ -ms-flex-align: start !important;
+ align-items: flex-start !important;
+ }
+ .align-items-lg-end {
+ -webkit-box-align: end !important;
+ -webkit-align-items: flex-end !important;
+ -ms-flex-align: end !important;
+ align-items: flex-end !important;
+ }
+ .align-items-lg-center {
+ -webkit-box-align: center !important;
+ -webkit-align-items: center !important;
+ -ms-flex-align: center !important;
+ align-items: center !important;
+ }
+ .align-items-lg-baseline {
+ -webkit-box-align: baseline !important;
+ -webkit-align-items: baseline !important;
+ -ms-flex-align: baseline !important;
+ align-items: baseline !important;
+ }
+ .align-items-lg-stretch {
+ -webkit-box-align: stretch !important;
+ -webkit-align-items: stretch !important;
+ -ms-flex-align: stretch !important;
+ align-items: stretch !important;
+ }
+ .align-content-lg-start {
+ -webkit-align-content: flex-start !important;
+ -ms-flex-line-pack: start !important;
+ align-content: flex-start !important;
+ }
+ .align-content-lg-end {
+ -webkit-align-content: flex-end !important;
+ -ms-flex-line-pack: end !important;
+ align-content: flex-end !important;
+ }
+ .align-content-lg-center {
+ -webkit-align-content: center !important;
+ -ms-flex-line-pack: center !important;
+ align-content: center !important;
+ }
+ .align-content-lg-between {
+ -webkit-align-content: space-between !important;
+ -ms-flex-line-pack: justify !important;
+ align-content: space-between !important;
+ }
+ .align-content-lg-around {
+ -webkit-align-content: space-around !important;
+ -ms-flex-line-pack: distribute !important;
+ align-content: space-around !important;
+ }
+ .align-content-lg-stretch {
+ -webkit-align-content: stretch !important;
+ -ms-flex-line-pack: stretch !important;
+ align-content: stretch !important;
+ }
+ .align-self-lg-auto {
+ -webkit-align-self: auto !important;
+ -ms-flex-item-align: auto !important;
+ -ms-grid-row-align: auto !important;
+ align-self: auto !important;
+ }
+ .align-self-lg-start {
+ -webkit-align-self: flex-start !important;
+ -ms-flex-item-align: start !important;
+ align-self: flex-start !important;
+ }
+ .align-self-lg-end {
+ -webkit-align-self: flex-end !important;
+ -ms-flex-item-align: end !important;
+ align-self: flex-end !important;
+ }
+ .align-self-lg-center {
+ -webkit-align-self: center !important;
+ -ms-flex-item-align: center !important;
+ -ms-grid-row-align: center !important;
+ align-self: center !important;
+ }
+ .align-self-lg-baseline {
+ -webkit-align-self: baseline !important;
+ -ms-flex-item-align: baseline !important;
+ align-self: baseline !important;
+ }
+ .align-self-lg-stretch {
+ -webkit-align-self: stretch !important;
+ -ms-flex-item-align: stretch !important;
+ -ms-grid-row-align: stretch !important;
+ align-self: stretch !important;
+ }
+}
+
+@media (min-width: 1200px) {
+ .order-xl-first {
+ -webkit-box-ordinal-group: 0;
+ -webkit-order: -1;
+ -ms-flex-order: -1;
+ order: -1;
+ }
+ .order-xl-last {
+ -webkit-box-ordinal-group: 2;
+ -webkit-order: 1;
+ -ms-flex-order: 1;
+ order: 1;
+ }
+ .order-xl-0 {
+ -webkit-box-ordinal-group: 1;
+ -webkit-order: 0;
+ -ms-flex-order: 0;
+ order: 0;
+ }
+ .flex-xl-row {
+ -webkit-box-orient: horizontal !important;
+ -webkit-box-direction: normal !important;
+ -webkit-flex-direction: row !important;
+ -ms-flex-direction: row !important;
+ flex-direction: row !important;
+ }
+ .flex-xl-column {
+ -webkit-box-orient: vertical !important;
+ -webkit-box-direction: normal !important;
+ -webkit-flex-direction: column !important;
+ -ms-flex-direction: column !important;
+ flex-direction: column !important;
+ }
+ .flex-xl-row-reverse {
+ -webkit-box-orient: horizontal !important;
+ -webkit-box-direction: reverse !important;
+ -webkit-flex-direction: row-reverse !important;
+ -ms-flex-direction: row-reverse !important;
+ flex-direction: row-reverse !important;
+ }
+ .flex-xl-column-reverse {
+ -webkit-box-orient: vertical !important;
+ -webkit-box-direction: reverse !important;
+ -webkit-flex-direction: column-reverse !important;
+ -ms-flex-direction: column-reverse !important;
+ flex-direction: column-reverse !important;
+ }
+ .flex-xl-wrap {
+ -webkit-flex-wrap: wrap !important;
+ -ms-flex-wrap: wrap !important;
+ flex-wrap: wrap !important;
+ }
+ .flex-xl-nowrap {
+ -webkit-flex-wrap: nowrap !important;
+ -ms-flex-wrap: nowrap !important;
+ flex-wrap: nowrap !important;
+ }
+ .flex-xl-wrap-reverse {
+ -webkit-flex-wrap: wrap-reverse !important;
+ -ms-flex-wrap: wrap-reverse !important;
+ flex-wrap: wrap-reverse !important;
+ }
+ .justify-content-xl-start {
+ -webkit-box-pack: start !important;
+ -webkit-justify-content: flex-start !important;
+ -ms-flex-pack: start !important;
+ justify-content: flex-start !important;
+ }
+ .justify-content-xl-end {
+ -webkit-box-pack: end !important;
+ -webkit-justify-content: flex-end !important;
+ -ms-flex-pack: end !important;
+ justify-content: flex-end !important;
+ }
+ .justify-content-xl-center {
+ -webkit-box-pack: center !important;
+ -webkit-justify-content: center !important;
+ -ms-flex-pack: center !important;
+ justify-content: center !important;
+ }
+ .justify-content-xl-between {
+ -webkit-box-pack: justify !important;
+ -webkit-justify-content: space-between !important;
+ -ms-flex-pack: justify !important;
+ justify-content: space-between !important;
+ }
+ .justify-content-xl-around {
+ -webkit-justify-content: space-around !important;
+ -ms-flex-pack: distribute !important;
+ justify-content: space-around !important;
+ }
+ .align-items-xl-start {
+ -webkit-box-align: start !important;
+ -webkit-align-items: flex-start !important;
+ -ms-flex-align: start !important;
+ align-items: flex-start !important;
+ }
+ .align-items-xl-end {
+ -webkit-box-align: end !important;
+ -webkit-align-items: flex-end !important;
+ -ms-flex-align: end !important;
+ align-items: flex-end !important;
+ }
+ .align-items-xl-center {
+ -webkit-box-align: center !important;
+ -webkit-align-items: center !important;
+ -ms-flex-align: center !important;
+ align-items: center !important;
+ }
+ .align-items-xl-baseline {
+ -webkit-box-align: baseline !important;
+ -webkit-align-items: baseline !important;
+ -ms-flex-align: baseline !important;
+ align-items: baseline !important;
+ }
+ .align-items-xl-stretch {
+ -webkit-box-align: stretch !important;
+ -webkit-align-items: stretch !important;
+ -ms-flex-align: stretch !important;
+ align-items: stretch !important;
+ }
+ .align-content-xl-start {
+ -webkit-align-content: flex-start !important;
+ -ms-flex-line-pack: start !important;
+ align-content: flex-start !important;
+ }
+ .align-content-xl-end {
+ -webkit-align-content: flex-end !important;
+ -ms-flex-line-pack: end !important;
+ align-content: flex-end !important;
+ }
+ .align-content-xl-center {
+ -webkit-align-content: center !important;
+ -ms-flex-line-pack: center !important;
+ align-content: center !important;
+ }
+ .align-content-xl-between {
+ -webkit-align-content: space-between !important;
+ -ms-flex-line-pack: justify !important;
+ align-content: space-between !important;
+ }
+ .align-content-xl-around {
+ -webkit-align-content: space-around !important;
+ -ms-flex-line-pack: distribute !important;
+ align-content: space-around !important;
+ }
+ .align-content-xl-stretch {
+ -webkit-align-content: stretch !important;
+ -ms-flex-line-pack: stretch !important;
+ align-content: stretch !important;
+ }
+ .align-self-xl-auto {
+ -webkit-align-self: auto !important;
+ -ms-flex-item-align: auto !important;
+ -ms-grid-row-align: auto !important;
+ align-self: auto !important;
+ }
+ .align-self-xl-start {
+ -webkit-align-self: flex-start !important;
+ -ms-flex-item-align: start !important;
+ align-self: flex-start !important;
+ }
+ .align-self-xl-end {
+ -webkit-align-self: flex-end !important;
+ -ms-flex-item-align: end !important;
+ align-self: flex-end !important;
+ }
+ .align-self-xl-center {
+ -webkit-align-self: center !important;
+ -ms-flex-item-align: center !important;
+ -ms-grid-row-align: center !important;
+ align-self: center !important;
+ }
+ .align-self-xl-baseline {
+ -webkit-align-self: baseline !important;
+ -ms-flex-item-align: baseline !important;
+ align-self: baseline !important;
+ }
+ .align-self-xl-stretch {
+ -webkit-align-self: stretch !important;
+ -ms-flex-item-align: stretch !important;
+ -ms-grid-row-align: stretch !important;
+ align-self: stretch !important;
+ }
+}
+
+.float-left {
+ float: left !important;
+}
+
+.float-right {
+ float: right !important;
+}
+
+.float-none {
+ float: none !important;
+}
+
+@media (min-width: 576px) {
+ .float-sm-left {
+ float: left !important;
+ }
+ .float-sm-right {
+ float: right !important;
+ }
+ .float-sm-none {
+ float: none !important;
+ }
+}
+
+@media (min-width: 768px) {
+ .float-md-left {
+ float: left !important;
+ }
+ .float-md-right {
+ float: right !important;
+ }
+ .float-md-none {
+ float: none !important;
+ }
+}
+
+@media (min-width: 992px) {
+ .float-lg-left {
+ float: left !important;
+ }
+ .float-lg-right {
+ float: right !important;
+ }
+ .float-lg-none {
+ float: none !important;
+ }
+}
+
+@media (min-width: 1200px) {
+ .float-xl-left {
+ float: left !important;
+ }
+ .float-xl-right {
+ float: right !important;
+ }
+ .float-xl-none {
+ float: none !important;
+ }
+}
+
+.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;
+}
+
+.sticky-top {
+ position: -webkit-sticky;
+ position: sticky;
+ top: 0;
+ z-index: 1020;
+}
+
+.sr-only {
+ position: absolute;
+ width: 1px;
+ height: 1px;
+ padding: 0;
+ overflow: hidden;
+ clip: rect(0, 0, 0, 0);
+ white-space: nowrap;
+ -webkit-clip-path: inset(50%);
+ clip-path: inset(50%);
+ border: 0;
+}
+
+.sr-only-focusable:active, .sr-only-focusable:focus {
+ position: static;
+ width: auto;
+ height: auto;
+ overflow: visible;
+ clip: auto;
+ white-space: normal;
+ -webkit-clip-path: none;
+ clip-path: none;
+}
+
+.w-25 {
+ width: 25% !important;
+}
+
+.w-50 {
+ width: 50% !important;
+}
+
+.w-75 {
+ width: 75% !important;
+}
+
+.w-100 {
+ width: 100% !important;
+}
+
+.h-25 {
+ height: 25% !important;
+}
+
+.h-50 {
+ height: 50% !important;
+}
+
+.h-75 {
+ height: 75% !important;
+}
+
+.h-100 {
+ height: 100% !important;
+}
+
+.mw-100 {
+ max-width: 100% !important;
+}
+
+.mh-100 {
+ max-height: 100% !important;
+}
+
+.m-0 {
+ margin: 0 !important;
+}
+
+.mt-0 {
+ margin-top: 0 !important;
+}
+
+.mr-0 {
+ margin-right: 0 !important;
+}
+
+.mb-0 {
+ margin-bottom: 0 !important;
+}
+
+.ml-0 {
+ margin-left: 0 !important;
+}
+
+.mx-0 {
+ margin-right: 0 !important;
+ margin-left: 0 !important;
+}
+
+.my-0 {
+ margin-top: 0 !important;
+ margin-bottom: 0 !important;
+}
+
+.m-1 {
+ margin: 0.25rem !important;
+}
+
+.mt-1 {
+ margin-top: 0.25rem !important;
+}
+
+.mr-1 {
+ margin-right: 0.25rem !important;
+}
+
+.mb-1 {
+ margin-bottom: 0.25rem !important;
+}
+
+.ml-1 {
+ margin-left: 0.25rem !important;
+}
+
+.mx-1 {
+ margin-right: 0.25rem !important;
+ margin-left: 0.25rem !important;
+}
+
+.my-1 {
+ margin-top: 0.25rem !important;
+ margin-bottom: 0.25rem !important;
+}
+
+.m-2 {
+ margin: 0.5rem !important;
+}
+
+.mt-2 {
+ margin-top: 0.5rem !important;
+}
+
+.mr-2 {
+ margin-right: 0.5rem !important;
+}
+
+.mb-2 {
+ margin-bottom: 0.5rem !important;
+}
+
+.ml-2 {
+ margin-left: 0.5rem !important;
+}
+
+.mx-2 {
+ margin-right: 0.5rem !important;
+ margin-left: 0.5rem !important;
+}
+
+.my-2 {
+ margin-top: 0.5rem !important;
+ margin-bottom: 0.5rem !important;
+}
+
+.m-3 {
+ margin: 1rem !important;
+}
+
+.mt-3 {
+ margin-top: 1rem !important;
+}
+
+.mr-3 {
+ margin-right: 1rem !important;
+}
+
+.mb-3 {
+ margin-bottom: 1rem !important;
+}
+
+.ml-3 {
+ margin-left: 1rem !important;
+}
+
+.mx-3 {
+ margin-right: 1rem !important;
+ margin-left: 1rem !important;
+}
+
+.my-3 {
+ margin-top: 1rem !important;
+ margin-bottom: 1rem !important;
+}
+
+.m-4 {
+ margin: 1.5rem !important;
+}
+
+.mt-4 {
+ margin-top: 1.5rem !important;
+}
+
+.mr-4 {
+ margin-right: 1.5rem !important;
+}
+
+.mb-4 {
+ margin-bottom: 1.5rem !important;
+}
+
+.ml-4 {
+ margin-left: 1.5rem !important;
+}
+
+.mx-4 {
+ margin-right: 1.5rem !important;
+ margin-left: 1.5rem !important;
+}
+
+.my-4 {
+ margin-top: 1.5rem !important;
+ margin-bottom: 1.5rem !important;
+}
+
+.m-5 {
+ margin: 3rem !important;
+}
+
+.mt-5 {
+ margin-top: 3rem !important;
+}
+
+.mr-5 {
+ margin-right: 3rem !important;
+}
+
+.mb-5 {
+ margin-bottom: 3rem !important;
+}
+
+.ml-5 {
+ margin-left: 3rem !important;
+}
+
+.mx-5 {
+ margin-right: 3rem !important;
+ margin-left: 3rem !important;
+}
+
+.my-5 {
+ margin-top: 3rem !important;
+ margin-bottom: 3rem !important;
+}
+
+.p-0 {
+ padding: 0 !important;
+}
+
+.pt-0 {
+ padding-top: 0 !important;
+}
+
+.pr-0 {
+ padding-right: 0 !important;
+}
+
+.pb-0 {
+ padding-bottom: 0 !important;
+}
+
+.pl-0 {
+ padding-left: 0 !important;
+}
+
+.px-0 {
+ padding-right: 0 !important;
+ padding-left: 0 !important;
+}
+
+.py-0 {
+ padding-top: 0 !important;
+ padding-bottom: 0 !important;
+}
+
+.p-1 {
+ padding: 0.25rem !important;
+}
+
+.pt-1 {
+ padding-top: 0.25rem !important;
+}
+
+.pr-1 {
+ padding-right: 0.25rem !important;
+}
+
+.pb-1 {
+ padding-bottom: 0.25rem !important;
+}
+
+.pl-1 {
+ padding-left: 0.25rem !important;
+}
+
+.px-1 {
+ padding-right: 0.25rem !important;
+ padding-left: 0.25rem !important;
+}
+
+.py-1 {
+ padding-top: 0.25rem !important;
+ padding-bottom: 0.25rem !important;
+}
+
+.p-2 {
+ padding: 0.5rem !important;
+}
+
+.pt-2 {
+ padding-top: 0.5rem !important;
+}
+
+.pr-2 {
+ padding-right: 0.5rem !important;
+}
+
+.pb-2 {
+ padding-bottom: 0.5rem !important;
+}
+
+.pl-2 {
+ padding-left: 0.5rem !important;
+}
+
+.px-2 {
+ padding-right: 0.5rem !important;
+ padding-left: 0.5rem !important;
+}
+
+.py-2 {
+ padding-top: 0.5rem !important;
+ padding-bottom: 0.5rem !important;
+}
+
+.p-3 {
+ padding: 1rem !important;
+}
+
+.pt-3 {
+ padding-top: 1rem !important;
+}
+
+.pr-3 {
+ padding-right: 1rem !important;
+}
+
+.pb-3 {
+ padding-bottom: 1rem !important;
+}
+
+.pl-3 {
+ padding-left: 1rem !important;
+}
+
+.px-3 {
+ padding-right: 1rem !important;
+ padding-left: 1rem !important;
+}
+
+.py-3 {
+ padding-top: 1rem !important;
+ padding-bottom: 1rem !important;
+}
+
+.p-4 {
+ padding: 1.5rem !important;
+}
+
+.pt-4 {
+ padding-top: 1.5rem !important;
+}
+
+.pr-4 {
+ padding-right: 1.5rem !important;
+}
+
+.pb-4 {
+ padding-bottom: 1.5rem !important;
+}
+
+.pl-4 {
+ padding-left: 1.5rem !important;
+}
+
+.px-4 {
+ padding-right: 1.5rem !important;
+ padding-left: 1.5rem !important;
+}
+
+.py-4 {
+ padding-top: 1.5rem !important;
+ padding-bottom: 1.5rem !important;
+}
+
+.p-5 {
+ padding: 3rem !important;
+}
+
+.pt-5 {
+ padding-top: 3rem !important;
+}
+
+.pr-5 {
+ padding-right: 3rem !important;
+}
+
+.pb-5 {
+ padding-bottom: 3rem !important;
+}
+
+.pl-5 {
+ padding-left: 3rem !important;
+}
+
+.px-5 {
+ padding-right: 3rem !important;
+ padding-left: 3rem !important;
+}
+
+.py-5 {
+ padding-top: 3rem !important;
+ padding-bottom: 3rem !important;
+}
+
+.m-auto {
+ margin: auto !important;
+}
+
+.mt-auto {
+ margin-top: auto !important;
+}
+
+.mr-auto {
+ margin-right: auto !important;
+}
+
+.mb-auto {
+ margin-bottom: auto !important;
+}
+
+.ml-auto {
+ margin-left: auto !important;
+}
+
+.mx-auto {
+ margin-right: auto !important;
+ margin-left: auto !important;
+}
+
+.my-auto {
+ margin-top: auto !important;
+ margin-bottom: auto !important;
+}
+
+@media (min-width: 576px) {
+ .m-sm-0 {
+ margin: 0 !important;
+ }
+ .mt-sm-0 {
+ margin-top: 0 !important;
+ }
+ .mr-sm-0 {
+ margin-right: 0 !important;
+ }
+ .mb-sm-0 {
+ margin-bottom: 0 !important;
+ }
+ .ml-sm-0 {
+ margin-left: 0 !important;
+ }
+ .mx-sm-0 {
+ margin-right: 0 !important;
+ margin-left: 0 !important;
+ }
+ .my-sm-0 {
+ margin-top: 0 !important;
+ margin-bottom: 0 !important;
+ }
+ .m-sm-1 {
+ margin: 0.25rem !important;
+ }
+ .mt-sm-1 {
+ margin-top: 0.25rem !important;
+ }
+ .mr-sm-1 {
+ margin-right: 0.25rem !important;
+ }
+ .mb-sm-1 {
+ margin-bottom: 0.25rem !important;
+ }
+ .ml-sm-1 {
+ margin-left: 0.25rem !important;
+ }
+ .mx-sm-1 {
+ margin-right: 0.25rem !important;
+ margin-left: 0.25rem !important;
+ }
+ .my-sm-1 {
+ margin-top: 0.25rem !important;
+ margin-bottom: 0.25rem !important;
+ }
+ .m-sm-2 {
+ margin: 0.5rem !important;
+ }
+ .mt-sm-2 {
+ margin-top: 0.5rem !important;
+ }
+ .mr-sm-2 {
+ margin-right: 0.5rem !important;
+ }
+ .mb-sm-2 {
+ margin-bottom: 0.5rem !important;
+ }
+ .ml-sm-2 {
+ margin-left: 0.5rem !important;
+ }
+ .mx-sm-2 {
+ margin-right: 0.5rem !important;
+ margin-left: 0.5rem !important;
+ }
+ .my-sm-2 {
+ margin-top: 0.5rem !important;
+ margin-bottom: 0.5rem !important;
+ }
+ .m-sm-3 {
+ margin: 1rem !important;
+ }
+ .mt-sm-3 {
+ margin-top: 1rem !important;
+ }
+ .mr-sm-3 {
+ margin-right: 1rem !important;
+ }
+ .mb-sm-3 {
+ margin-bottom: 1rem !important;
+ }
+ .ml-sm-3 {
+ margin-left: 1rem !important;
+ }
+ .mx-sm-3 {
+ margin-right: 1rem !important;
+ margin-left: 1rem !important;
+ }
+ .my-sm-3 {
+ margin-top: 1rem !important;
+ margin-bottom: 1rem !important;
+ }
+ .m-sm-4 {
+ margin: 1.5rem !important;
+ }
+ .mt-sm-4 {
+ margin-top: 1.5rem !important;
+ }
+ .mr-sm-4 {
+ margin-right: 1.5rem !important;
+ }
+ .mb-sm-4 {
+ margin-bottom: 1.5rem !important;
+ }
+ .ml-sm-4 {
+ margin-left: 1.5rem !important;
+ }
+ .mx-sm-4 {
+ margin-right: 1.5rem !important;
+ margin-left: 1.5rem !important;
+ }
+ .my-sm-4 {
+ margin-top: 1.5rem !important;
+ margin-bottom: 1.5rem !important;
+ }
+ .m-sm-5 {
+ margin: 3rem !important;
+ }
+ .mt-sm-5 {
+ margin-top: 3rem !important;
+ }
+ .mr-sm-5 {
+ margin-right: 3rem !important;
+ }
+ .mb-sm-5 {
+ margin-bottom: 3rem !important;
+ }
+ .ml-sm-5 {
+ margin-left: 3rem !important;
+ }
+ .mx-sm-5 {
+ margin-right: 3rem !important;
+ margin-left: 3rem !important;
+ }
+ .my-sm-5 {
+ margin-top: 3rem !important;
+ margin-bottom: 3rem !important;
+ }
+ .p-sm-0 {
+ padding: 0 !important;
+ }
+ .pt-sm-0 {
+ padding-top: 0 !important;
+ }
+ .pr-sm-0 {
+ padding-right: 0 !important;
+ }
+ .pb-sm-0 {
+ padding-bottom: 0 !important;
+ }
+ .pl-sm-0 {
+ padding-left: 0 !important;
+ }
+ .px-sm-0 {
+ padding-right: 0 !important;
+ padding-left: 0 !important;
+ }
+ .py-sm-0 {
+ padding-top: 0 !important;
+ padding-bottom: 0 !important;
+ }
+ .p-sm-1 {
+ padding: 0.25rem !important;
+ }
+ .pt-sm-1 {
+ padding-top: 0.25rem !important;
+ }
+ .pr-sm-1 {
+ padding-right: 0.25rem !important;
+ }
+ .pb-sm-1 {
+ padding-bottom: 0.25rem !important;
+ }
+ .pl-sm-1 {
+ padding-left: 0.25rem !important;
+ }
+ .px-sm-1 {
+ padding-right: 0.25rem !important;
+ padding-left: 0.25rem !important;
+ }
+ .py-sm-1 {
+ padding-top: 0.25rem !important;
+ padding-bottom: 0.25rem !important;
+ }
+ .p-sm-2 {
+ padding: 0.5rem !important;
+ }
+ .pt-sm-2 {
+ padding-top: 0.5rem !important;
+ }
+ .pr-sm-2 {
+ padding-right: 0.5rem !important;
+ }
+ .pb-sm-2 {
+ padding-bottom: 0.5rem !important;
+ }
+ .pl-sm-2 {
+ padding-left: 0.5rem !important;
+ }
+ .px-sm-2 {
+ padding-right: 0.5rem !important;
+ padding-left: 0.5rem !important;
+ }
+ .py-sm-2 {
+ padding-top: 0.5rem !important;
+ padding-bottom: 0.5rem !important;
+ }
+ .p-sm-3 {
+ padding: 1rem !important;
+ }
+ .pt-sm-3 {
+ padding-top: 1rem !important;
+ }
+ .pr-sm-3 {
+ padding-right: 1rem !important;
+ }
+ .pb-sm-3 {
+ padding-bottom: 1rem !important;
+ }
+ .pl-sm-3 {
+ padding-left: 1rem !important;
+ }
+ .px-sm-3 {
+ padding-right: 1rem !important;
+ padding-left: 1rem !important;
+ }
+ .py-sm-3 {
+ padding-top: 1rem !important;
+ padding-bottom: 1rem !important;
+ }
+ .p-sm-4 {
+ padding: 1.5rem !important;
+ }
+ .pt-sm-4 {
+ padding-top: 1.5rem !important;
+ }
+ .pr-sm-4 {
+ padding-right: 1.5rem !important;
+ }
+ .pb-sm-4 {
+ padding-bottom: 1.5rem !important;
+ }
+ .pl-sm-4 {
+ padding-left: 1.5rem !important;
+ }
+ .px-sm-4 {
+ padding-right: 1.5rem !important;
+ padding-left: 1.5rem !important;
+ }
+ .py-sm-4 {
+ padding-top: 1.5rem !important;
+ padding-bottom: 1.5rem !important;
+ }
+ .p-sm-5 {
+ padding: 3rem !important;
+ }
+ .pt-sm-5 {
+ padding-top: 3rem !important;
+ }
+ .pr-sm-5 {
+ padding-right: 3rem !important;
+ }
+ .pb-sm-5 {
+ padding-bottom: 3rem !important;
+ }
+ .pl-sm-5 {
+ padding-left: 3rem !important;
+ }
+ .px-sm-5 {
+ padding-right: 3rem !important;
+ padding-left: 3rem !important;
+ }
+ .py-sm-5 {
+ padding-top: 3rem !important;
+ padding-bottom: 3rem !important;
+ }
+ .m-sm-auto {
+ margin: auto !important;
+ }
+ .mt-sm-auto {
+ margin-top: auto !important;
+ }
+ .mr-sm-auto {
+ margin-right: auto !important;
+ }
+ .mb-sm-auto {
+ margin-bottom: auto !important;
+ }
+ .ml-sm-auto {
+ margin-left: auto !important;
+ }
+ .mx-sm-auto {
+ margin-right: auto !important;
+ margin-left: auto !important;
+ }
+ .my-sm-auto {
+ margin-top: auto !important;
+ margin-bottom: auto !important;
+ }
+}
+
+@media (min-width: 768px) {
+ .m-md-0 {
+ margin: 0 !important;
+ }
+ .mt-md-0 {
+ margin-top: 0 !important;
+ }
+ .mr-md-0 {
+ margin-right: 0 !important;
+ }
+ .mb-md-0 {
+ margin-bottom: 0 !important;
+ }
+ .ml-md-0 {
+ margin-left: 0 !important;
+ }
+ .mx-md-0 {
+ margin-right: 0 !important;
+ margin-left: 0 !important;
+ }
+ .my-md-0 {
+ margin-top: 0 !important;
+ margin-bottom: 0 !important;
+ }
+ .m-md-1 {
+ margin: 0.25rem !important;
+ }
+ .mt-md-1 {
+ margin-top: 0.25rem !important;
+ }
+ .mr-md-1 {
+ margin-right: 0.25rem !important;
+ }
+ .mb-md-1 {
+ margin-bottom: 0.25rem !important;
+ }
+ .ml-md-1 {
+ margin-left: 0.25rem !important;
+ }
+ .mx-md-1 {
+ margin-right: 0.25rem !important;
+ margin-left: 0.25rem !important;
+ }
+ .my-md-1 {
+ margin-top: 0.25rem !important;
+ margin-bottom: 0.25rem !important;
+ }
+ .m-md-2 {
+ margin: 0.5rem !important;
+ }
+ .mt-md-2 {
+ margin-top: 0.5rem !important;
+ }
+ .mr-md-2 {
+ margin-right: 0.5rem !important;
+ }
+ .mb-md-2 {
+ margin-bottom: 0.5rem !important;
+ }
+ .ml-md-2 {
+ margin-left: 0.5rem !important;
+ }
+ .mx-md-2 {
+ margin-right: 0.5rem !important;
+ margin-left: 0.5rem !important;
+ }
+ .my-md-2 {
+ margin-top: 0.5rem !important;
+ margin-bottom: 0.5rem !important;
+ }
+ .m-md-3 {
+ margin: 1rem !important;
+ }
+ .mt-md-3 {
+ margin-top: 1rem !important;
+ }
+ .mr-md-3 {
+ margin-right: 1rem !important;
+ }
+ .mb-md-3 {
+ margin-bottom: 1rem !important;
+ }
+ .ml-md-3 {
+ margin-left: 1rem !important;
+ }
+ .mx-md-3 {
+ margin-right: 1rem !important;
+ margin-left: 1rem !important;
+ }
+ .my-md-3 {
+ margin-top: 1rem !important;
+ margin-bottom: 1rem !important;
+ }
+ .m-md-4 {
+ margin: 1.5rem !important;
+ }
+ .mt-md-4 {
+ margin-top: 1.5rem !important;
+ }
+ .mr-md-4 {
+ margin-right: 1.5rem !important;
+ }
+ .mb-md-4 {
+ margin-bottom: 1.5rem !important;
+ }
+ .ml-md-4 {
+ margin-left: 1.5rem !important;
+ }
+ .mx-md-4 {
+ margin-right: 1.5rem !important;
+ margin-left: 1.5rem !important;
+ }
+ .my-md-4 {
+ margin-top: 1.5rem !important;
+ margin-bottom: 1.5rem !important;
+ }
+ .m-md-5 {
+ margin: 3rem !important;
+ }
+ .mt-md-5 {
+ margin-top: 3rem !important;
+ }
+ .mr-md-5 {
+ margin-right: 3rem !important;
+ }
+ .mb-md-5 {
+ margin-bottom: 3rem !important;
+ }
+ .ml-md-5 {
+ margin-left: 3rem !important;
+ }
+ .mx-md-5 {
+ margin-right: 3rem !important;
+ margin-left: 3rem !important;
+ }
+ .my-md-5 {
+ margin-top: 3rem !important;
+ margin-bottom: 3rem !important;
+ }
+ .p-md-0 {
+ padding: 0 !important;
+ }
+ .pt-md-0 {
+ padding-top: 0 !important;
+ }
+ .pr-md-0 {
+ padding-right: 0 !important;
+ }
+ .pb-md-0 {
+ padding-bottom: 0 !important;
+ }
+ .pl-md-0 {
+ padding-left: 0 !important;
+ }
+ .px-md-0 {
+ padding-right: 0 !important;
+ padding-left: 0 !important;
+ }
+ .py-md-0 {
+ padding-top: 0 !important;
+ padding-bottom: 0 !important;
+ }
+ .p-md-1 {
+ padding: 0.25rem !important;
+ }
+ .pt-md-1 {
+ padding-top: 0.25rem !important;
+ }
+ .pr-md-1 {
+ padding-right: 0.25rem !important;
+ }
+ .pb-md-1 {
+ padding-bottom: 0.25rem !important;
+ }
+ .pl-md-1 {
+ padding-left: 0.25rem !important;
+ }
+ .px-md-1 {
+ padding-right: 0.25rem !important;
+ padding-left: 0.25rem !important;
+ }
+ .py-md-1 {
+ padding-top: 0.25rem !important;
+ padding-bottom: 0.25rem !important;
+ }
+ .p-md-2 {
+ padding: 0.5rem !important;
+ }
+ .pt-md-2 {
+ padding-top: 0.5rem !important;
+ }
+ .pr-md-2 {
+ padding-right: 0.5rem !important;
+ }
+ .pb-md-2 {
+ padding-bottom: 0.5rem !important;
+ }
+ .pl-md-2 {
+ padding-left: 0.5rem !important;
+ }
+ .px-md-2 {
+ padding-right: 0.5rem !important;
+ padding-left: 0.5rem !important;
+ }
+ .py-md-2 {
+ padding-top: 0.5rem !important;
+ padding-bottom: 0.5rem !important;
+ }
+ .p-md-3 {
+ padding: 1rem !important;
+ }
+ .pt-md-3 {
+ padding-top: 1rem !important;
+ }
+ .pr-md-3 {
+ padding-right: 1rem !important;
+ }
+ .pb-md-3 {
+ padding-bottom: 1rem !important;
+ }
+ .pl-md-3 {
+ padding-left: 1rem !important;
+ }
+ .px-md-3 {
+ padding-right: 1rem !important;
+ padding-left: 1rem !important;
+ }
+ .py-md-3 {
+ padding-top: 1rem !important;
+ padding-bottom: 1rem !important;
+ }
+ .p-md-4 {
+ padding: 1.5rem !important;
+ }
+ .pt-md-4 {
+ padding-top: 1.5rem !important;
+ }
+ .pr-md-4 {
+ padding-right: 1.5rem !important;
+ }
+ .pb-md-4 {
+ padding-bottom: 1.5rem !important;
+ }
+ .pl-md-4 {
+ padding-left: 1.5rem !important;
+ }
+ .px-md-4 {
+ padding-right: 1.5rem !important;
+ padding-left: 1.5rem !important;
+ }
+ .py-md-4 {
+ padding-top: 1.5rem !important;
+ padding-bottom: 1.5rem !important;
+ }
+ .p-md-5 {
+ padding: 3rem !important;
+ }
+ .pt-md-5 {
+ padding-top: 3rem !important;
+ }
+ .pr-md-5 {
+ padding-right: 3rem !important;
+ }
+ .pb-md-5 {
+ padding-bottom: 3rem !important;
+ }
+ .pl-md-5 {
+ padding-left: 3rem !important;
+ }
+ .px-md-5 {
+ padding-right: 3rem !important;
+ padding-left: 3rem !important;
+ }
+ .py-md-5 {
+ padding-top: 3rem !important;
+ padding-bottom: 3rem !important;
+ }
+ .m-md-auto {
+ margin: auto !important;
+ }
+ .mt-md-auto {
+ margin-top: auto !important;
+ }
+ .mr-md-auto {
+ margin-right: auto !important;
+ }
+ .mb-md-auto {
+ margin-bottom: auto !important;
+ }
+ .ml-md-auto {
+ margin-left: auto !important;
+ }
+ .mx-md-auto {
+ margin-right: auto !important;
+ margin-left: auto !important;
+ }
+ .my-md-auto {
+ margin-top: auto !important;
+ margin-bottom: auto !important;
+ }
+}
+
+@media (min-width: 992px) {
+ .m-lg-0 {
+ margin: 0 !important;
+ }
+ .mt-lg-0 {
+ margin-top: 0 !important;
+ }
+ .mr-lg-0 {
+ margin-right: 0 !important;
+ }
+ .mb-lg-0 {
+ margin-bottom: 0 !important;
+ }
+ .ml-lg-0 {
+ margin-left: 0 !important;
+ }
+ .mx-lg-0 {
+ margin-right: 0 !important;
+ margin-left: 0 !important;
+ }
+ .my-lg-0 {
+ margin-top: 0 !important;
+ margin-bottom: 0 !important;
+ }
+ .m-lg-1 {
+ margin: 0.25rem !important;
+ }
+ .mt-lg-1 {
+ margin-top: 0.25rem !important;
+ }
+ .mr-lg-1 {
+ margin-right: 0.25rem !important;
+ }
+ .mb-lg-1 {
+ margin-bottom: 0.25rem !important;
+ }
+ .ml-lg-1 {
+ margin-left: 0.25rem !important;
+ }
+ .mx-lg-1 {
+ margin-right: 0.25rem !important;
+ margin-left: 0.25rem !important;
+ }
+ .my-lg-1 {
+ margin-top: 0.25rem !important;
+ margin-bottom: 0.25rem !important;
+ }
+ .m-lg-2 {
+ margin: 0.5rem !important;
+ }
+ .mt-lg-2 {
+ margin-top: 0.5rem !important;
+ }
+ .mr-lg-2 {
+ margin-right: 0.5rem !important;
+ }
+ .mb-lg-2 {
+ margin-bottom: 0.5rem !important;
+ }
+ .ml-lg-2 {
+ margin-left: 0.5rem !important;
+ }
+ .mx-lg-2 {
+ margin-right: 0.5rem !important;
+ margin-left: 0.5rem !important;
+ }
+ .my-lg-2 {
+ margin-top: 0.5rem !important;
+ margin-bottom: 0.5rem !important;
+ }
+ .m-lg-3 {
+ margin: 1rem !important;
+ }
+ .mt-lg-3 {
+ margin-top: 1rem !important;
+ }
+ .mr-lg-3 {
+ margin-right: 1rem !important;
+ }
+ .mb-lg-3 {
+ margin-bottom: 1rem !important;
+ }
+ .ml-lg-3 {
+ margin-left: 1rem !important;
+ }
+ .mx-lg-3 {
+ margin-right: 1rem !important;
+ margin-left: 1rem !important;
+ }
+ .my-lg-3 {
+ margin-top: 1rem !important;
+ margin-bottom: 1rem !important;
+ }
+ .m-lg-4 {
+ margin: 1.5rem !important;
+ }
+ .mt-lg-4 {
+ margin-top: 1.5rem !important;
+ }
+ .mr-lg-4 {
+ margin-right: 1.5rem !important;
+ }
+ .mb-lg-4 {
+ margin-bottom: 1.5rem !important;
+ }
+ .ml-lg-4 {
+ margin-left: 1.5rem !important;
+ }
+ .mx-lg-4 {
+ margin-right: 1.5rem !important;
+ margin-left: 1.5rem !important;
+ }
+ .my-lg-4 {
+ margin-top: 1.5rem !important;
+ margin-bottom: 1.5rem !important;
+ }
+ .m-lg-5 {
+ margin: 3rem !important;
+ }
+ .mt-lg-5 {
+ margin-top: 3rem !important;
+ }
+ .mr-lg-5 {
+ margin-right: 3rem !important;
+ }
+ .mb-lg-5 {
+ margin-bottom: 3rem !important;
+ }
+ .ml-lg-5 {
+ margin-left: 3rem !important;
+ }
+ .mx-lg-5 {
+ margin-right: 3rem !important;
+ margin-left: 3rem !important;
+ }
+ .my-lg-5 {
+ margin-top: 3rem !important;
+ margin-bottom: 3rem !important;
+ }
+ .p-lg-0 {
+ padding: 0 !important;
+ }
+ .pt-lg-0 {
+ padding-top: 0 !important;
+ }
+ .pr-lg-0 {
+ padding-right: 0 !important;
+ }
+ .pb-lg-0 {
+ padding-bottom: 0 !important;
+ }
+ .pl-lg-0 {
+ padding-left: 0 !important;
+ }
+ .px-lg-0 {
+ padding-right: 0 !important;
+ padding-left: 0 !important;
+ }
+ .py-lg-0 {
+ padding-top: 0 !important;
+ padding-bottom: 0 !important;
+ }
+ .p-lg-1 {
+ padding: 0.25rem !important;
+ }
+ .pt-lg-1 {
+ padding-top: 0.25rem !important;
+ }
+ .pr-lg-1 {
+ padding-right: 0.25rem !important;
+ }
+ .pb-lg-1 {
+ padding-bottom: 0.25rem !important;
+ }
+ .pl-lg-1 {
+ padding-left: 0.25rem !important;
+ }
+ .px-lg-1 {
+ padding-right: 0.25rem !important;
+ padding-left: 0.25rem !important;
+ }
+ .py-lg-1 {
+ padding-top: 0.25rem !important;
+ padding-bottom: 0.25rem !important;
+ }
+ .p-lg-2 {
+ padding: 0.5rem !important;
+ }
+ .pt-lg-2 {
+ padding-top: 0.5rem !important;
+ }
+ .pr-lg-2 {
+ padding-right: 0.5rem !important;
+ }
+ .pb-lg-2 {
+ padding-bottom: 0.5rem !important;
+ }
+ .pl-lg-2 {
+ padding-left: 0.5rem !important;
+ }
+ .px-lg-2 {
+ padding-right: 0.5rem !important;
+ padding-left: 0.5rem !important;
+ }
+ .py-lg-2 {
+ padding-top: 0.5rem !important;
+ padding-bottom: 0.5rem !important;
+ }
+ .p-lg-3 {
+ padding: 1rem !important;
+ }
+ .pt-lg-3 {
+ padding-top: 1rem !important;
+ }
+ .pr-lg-3 {
+ padding-right: 1rem !important;
+ }
+ .pb-lg-3 {
+ padding-bottom: 1rem !important;
+ }
+ .pl-lg-3 {
+ padding-left: 1rem !important;
+ }
+ .px-lg-3 {
+ padding-right: 1rem !important;
+ padding-left: 1rem !important;
+ }
+ .py-lg-3 {
+ padding-top: 1rem !important;
+ padding-bottom: 1rem !important;
+ }
+ .p-lg-4 {
+ padding: 1.5rem !important;
+ }
+ .pt-lg-4 {
+ padding-top: 1.5rem !important;
+ }
+ .pr-lg-4 {
+ padding-right: 1.5rem !important;
+ }
+ .pb-lg-4 {
+ padding-bottom: 1.5rem !important;
+ }
+ .pl-lg-4 {
+ padding-left: 1.5rem !important;
+ }
+ .px-lg-4 {
+ padding-right: 1.5rem !important;
+ padding-left: 1.5rem !important;
+ }
+ .py-lg-4 {
+ padding-top: 1.5rem !important;
+ padding-bottom: 1.5rem !important;
+ }
+ .p-lg-5 {
+ padding: 3rem !important;
+ }
+ .pt-lg-5 {
+ padding-top: 3rem !important;
+ }
+ .pr-lg-5 {
+ padding-right: 3rem !important;
+ }
+ .pb-lg-5 {
+ padding-bottom: 3rem !important;
+ }
+ .pl-lg-5 {
+ padding-left: 3rem !important;
+ }
+ .px-lg-5 {
+ padding-right: 3rem !important;
+ padding-left: 3rem !important;
+ }
+ .py-lg-5 {
+ padding-top: 3rem !important;
+ padding-bottom: 3rem !important;
+ }
+ .m-lg-auto {
+ margin: auto !important;
+ }
+ .mt-lg-auto {
+ margin-top: auto !important;
+ }
+ .mr-lg-auto {
+ margin-right: auto !important;
+ }
+ .mb-lg-auto {
+ margin-bottom: auto !important;
+ }
+ .ml-lg-auto {
+ margin-left: auto !important;
+ }
+ .mx-lg-auto {
+ margin-right: auto !important;
+ margin-left: auto !important;
+ }
+ .my-lg-auto {
+ margin-top: auto !important;
+ margin-bottom: auto !important;
+ }
+}
+
+@media (min-width: 1200px) {
+ .m-xl-0 {
+ margin: 0 !important;
+ }
+ .mt-xl-0 {
+ margin-top: 0 !important;
+ }
+ .mr-xl-0 {
+ margin-right: 0 !important;
+ }
+ .mb-xl-0 {
+ margin-bottom: 0 !important;
+ }
+ .ml-xl-0 {
+ margin-left: 0 !important;
+ }
+ .mx-xl-0 {
+ margin-right: 0 !important;
+ margin-left: 0 !important;
+ }
+ .my-xl-0 {
+ margin-top: 0 !important;
+ margin-bottom: 0 !important;
+ }
+ .m-xl-1 {
+ margin: 0.25rem !important;
+ }
+ .mt-xl-1 {
+ margin-top: 0.25rem !important;
+ }
+ .mr-xl-1 {
+ margin-right: 0.25rem !important;
+ }
+ .mb-xl-1 {
+ margin-bottom: 0.25rem !important;
+ }
+ .ml-xl-1 {
+ margin-left: 0.25rem !important;
+ }
+ .mx-xl-1 {
+ margin-right: 0.25rem !important;
+ margin-left: 0.25rem !important;
+ }
+ .my-xl-1 {
+ margin-top: 0.25rem !important;
+ margin-bottom: 0.25rem !important;
+ }
+ .m-xl-2 {
+ margin: 0.5rem !important;
+ }
+ .mt-xl-2 {
+ margin-top: 0.5rem !important;
+ }
+ .mr-xl-2 {
+ margin-right: 0.5rem !important;
+ }
+ .mb-xl-2 {
+ margin-bottom: 0.5rem !important;
+ }
+ .ml-xl-2 {
+ margin-left: 0.5rem !important;
+ }
+ .mx-xl-2 {
+ margin-right: 0.5rem !important;
+ margin-left: 0.5rem !important;
+ }
+ .my-xl-2 {
+ margin-top: 0.5rem !important;
+ margin-bottom: 0.5rem !important;
+ }
+ .m-xl-3 {
+ margin: 1rem !important;
+ }
+ .mt-xl-3 {
+ margin-top: 1rem !important;
+ }
+ .mr-xl-3 {
+ margin-right: 1rem !important;
+ }
+ .mb-xl-3 {
+ margin-bottom: 1rem !important;
+ }
+ .ml-xl-3 {
+ margin-left: 1rem !important;
+ }
+ .mx-xl-3 {
+ margin-right: 1rem !important;
+ margin-left: 1rem !important;
+ }
+ .my-xl-3 {
+ margin-top: 1rem !important;
+ margin-bottom: 1rem !important;
+ }
+ .m-xl-4 {
+ margin: 1.5rem !important;
+ }
+ .mt-xl-4 {
+ margin-top: 1.5rem !important;
+ }
+ .mr-xl-4 {
+ margin-right: 1.5rem !important;
+ }
+ .mb-xl-4 {
+ margin-bottom: 1.5rem !important;
+ }
+ .ml-xl-4 {
+ margin-left: 1.5rem !important;
+ }
+ .mx-xl-4 {
+ margin-right: 1.5rem !important;
+ margin-left: 1.5rem !important;
+ }
+ .my-xl-4 {
+ margin-top: 1.5rem !important;
+ margin-bottom: 1.5rem !important;
+ }
+ .m-xl-5 {
+ margin: 3rem !important;
+ }
+ .mt-xl-5 {
+ margin-top: 3rem !important;
+ }
+ .mr-xl-5 {
+ margin-right: 3rem !important;
+ }
+ .mb-xl-5 {
+ margin-bottom: 3rem !important;
+ }
+ .ml-xl-5 {
+ margin-left: 3rem !important;
+ }
+ .mx-xl-5 {
+ margin-right: 3rem !important;
+ margin-left: 3rem !important;
+ }
+ .my-xl-5 {
+ margin-top: 3rem !important;
+ margin-bottom: 3rem !important;
+ }
+ .p-xl-0 {
+ padding: 0 !important;
+ }
+ .pt-xl-0 {
+ padding-top: 0 !important;
+ }
+ .pr-xl-0 {
+ padding-right: 0 !important;
+ }
+ .pb-xl-0 {
+ padding-bottom: 0 !important;
+ }
+ .pl-xl-0 {
+ padding-left: 0 !important;
+ }
+ .px-xl-0 {
+ padding-right: 0 !important;
+ padding-left: 0 !important;
+ }
+ .py-xl-0 {
+ padding-top: 0 !important;
+ padding-bottom: 0 !important;
+ }
+ .p-xl-1 {
+ padding: 0.25rem !important;
+ }
+ .pt-xl-1 {
+ padding-top: 0.25rem !important;
+ }
+ .pr-xl-1 {
+ padding-right: 0.25rem !important;
+ }
+ .pb-xl-1 {
+ padding-bottom: 0.25rem !important;
+ }
+ .pl-xl-1 {
+ padding-left: 0.25rem !important;
+ }
+ .px-xl-1 {
+ padding-right: 0.25rem !important;
+ padding-left: 0.25rem !important;
+ }
+ .py-xl-1 {
+ padding-top: 0.25rem !important;
+ padding-bottom: 0.25rem !important;
+ }
+ .p-xl-2 {
+ padding: 0.5rem !important;
+ }
+ .pt-xl-2 {
+ padding-top: 0.5rem !important;
+ }
+ .pr-xl-2 {
+ padding-right: 0.5rem !important;
+ }
+ .pb-xl-2 {
+ padding-bottom: 0.5rem !important;
+ }
+ .pl-xl-2 {
+ padding-left: 0.5rem !important;
+ }
+ .px-xl-2 {
+ padding-right: 0.5rem !important;
+ padding-left: 0.5rem !important;
+ }
+ .py-xl-2 {
+ padding-top: 0.5rem !important;
+ padding-bottom: 0.5rem !important;
+ }
+ .p-xl-3 {
+ padding: 1rem !important;
+ }
+ .pt-xl-3 {
+ padding-top: 1rem !important;
+ }
+ .pr-xl-3 {
+ padding-right: 1rem !important;
+ }
+ .pb-xl-3 {
+ padding-bottom: 1rem !important;
+ }
+ .pl-xl-3 {
+ padding-left: 1rem !important;
+ }
+ .px-xl-3 {
+ padding-right: 1rem !important;
+ padding-left: 1rem !important;
+ }
+ .py-xl-3 {
+ padding-top: 1rem !important;
+ padding-bottom: 1rem !important;
+ }
+ .p-xl-4 {
+ padding: 1.5rem !important;
+ }
+ .pt-xl-4 {
+ padding-top: 1.5rem !important;
+ }
+ .pr-xl-4 {
+ padding-right: 1.5rem !important;
+ }
+ .pb-xl-4 {
+ padding-bottom: 1.5rem !important;
+ }
+ .pl-xl-4 {
+ padding-left: 1.5rem !important;
+ }
+ .px-xl-4 {
+ padding-right: 1.5rem !important;
+ padding-left: 1.5rem !important;
+ }
+ .py-xl-4 {
+ padding-top: 1.5rem !important;
+ padding-bottom: 1.5rem !important;
+ }
+ .p-xl-5 {
+ padding: 3rem !important;
+ }
+ .pt-xl-5 {
+ padding-top: 3rem !important;
+ }
+ .pr-xl-5 {
+ padding-right: 3rem !important;
+ }
+ .pb-xl-5 {
+ padding-bottom: 3rem !important;
+ }
+ .pl-xl-5 {
+ padding-left: 3rem !important;
+ }
+ .px-xl-5 {
+ padding-right: 3rem !important;
+ padding-left: 3rem !important;
+ }
+ .py-xl-5 {
+ padding-top: 3rem !important;
+ padding-bottom: 3rem !important;
+ }
+ .m-xl-auto {
+ margin: auto !important;
+ }
+ .mt-xl-auto {
+ margin-top: auto !important;
+ }
+ .mr-xl-auto {
+ margin-right: auto !important;
+ }
+ .mb-xl-auto {
+ margin-bottom: auto !important;
+ }
+ .ml-xl-auto {
+ margin-left: auto !important;
+ }
+ .mx-xl-auto {
+ margin-right: auto !important;
+ margin-left: auto !important;
+ }
+ .my-xl-auto {
+ margin-top: auto !important;
+ margin-bottom: auto !important;
+ }
+}
+
+.text-justify {
+ text-align: justify !important;
+}
+
+.text-nowrap {
+ white-space: nowrap !important;
+}
+
+.text-truncate {
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+}
+
+.text-left {
+ text-align: left !important;
+}
+
+.text-right {
+ text-align: right !important;
+}
+
+.text-center {
+ text-align: center !important;
+}
+
+@media (min-width: 576px) {
+ .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) {
+ .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) {
+ .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) {
+ .text-xl-left {
+ text-align: left !important;
+ }
+ .text-xl-right {
+ text-align: right !important;
+ }
+ .text-xl-center {
+ text-align: center !important;
+ }
+}
+
+.text-lowercase {
+ text-transform: lowercase !important;
+}
+
+.text-uppercase {
+ text-transform: uppercase !important;
+}
+
+.text-capitalize {
+ text-transform: capitalize !important;
+}
+
+.font-weight-normal {
+ font-weight: normal;
+}
+
+.font-weight-bold {
+ font-weight: bold;
+}
+
+.font-italic {
+ font-style: italic;
+}
+
+.text-white {
+ color: #fff !important;
+}
+
+.text-muted {
+ color: #636c72 !important;
+}
+
+a.text-muted:focus, a.text-muted:hover {
+ color: #4b5257 !important;
+}
+
+.text-primary {
+ color: #0275d8 !important;
+}
+
+a.text-primary:focus, a.text-primary:hover {
+ color: #025aa5 !important;
+}
+
+.text-success {
+ color: #5cb85c !important;
+}
+
+a.text-success:focus, a.text-success:hover {
+ color: #449d44 !important;
+}
+
+.text-info {
+ color: #5bc0de !important;
+}
+
+a.text-info:focus, a.text-info:hover {
+ color: #31b0d5 !important;
+}
+
+.text-warning {
+ color: #f0ad4e !important;
+}
+
+a.text-warning:focus, a.text-warning:hover {
+ color: #ec971f !important;
+}
+
+.text-danger {
+ color: #d9534f !important;
+}
+
+a.text-danger:focus, a.text-danger:hover {
+ color: #c9302c !important;
+}
+
+.text-gray-dark {
+ color: #292b2c !important;
+}
+
+a.text-gray-dark:focus, a.text-gray-dark:hover {
+ color: #101112 !important;
+}
+
+.text-hide {
+ font: 0/0 a;
+ color: transparent;
+ text-shadow: none;
+ background-color: transparent;
+ border: 0;
+}
+
+.visible {
+ visibility: visible !important;
+}
+
+.invisible {
+ visibility: hidden !important;
+}
+/*# sourceMappingURL=bootstrap.css.map */ \ No newline at end of file
diff --git a/templates/assets/bootstrap/dist/css/bootstrap.css.map b/templates/assets/bootstrap/dist/css/bootstrap.css.map
new file mode 100644
index 0000000..4058f8d
--- /dev/null
+++ b/templates/assets/bootstrap/dist/css/bootstrap.css.map
@@ -0,0 +1 @@
+{"version":3,"sources":["../../scss/bootstrap.scss","../../scss/_print.scss","bootstrap.css","../../scss/_reboot.scss","../../scss/_variables.scss","../../scss/mixins/_hover.scss","../../scss/_type.scss","../../scss/mixins/_lists.scss","../../scss/_images.scss","../../scss/mixins/_image.scss","../../scss/mixins/_border-radius.scss","../../scss/mixins/_transition.scss","../../scss/_code.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.scss","../../scss/mixins/_forms.scss","../../scss/_buttons.scss","../../scss/mixins/_buttons.scss","../../scss/_transitions.scss","../../scss/_dropdown.scss","../../scss/mixins/_nav-divider.scss","../../scss/_button-group.scss","../../scss/_input-group.scss","../../scss/_custom-forms.scss","../../scss/_nav.scss","../../scss/_navbar.scss","../../scss/_card.scss","../../scss/mixins/_cards.scss","../../scss/_breadcrumb.scss","../../scss/mixins/_clearfix.scss","../../scss/_pagination.scss","../../scss/mixins/_pagination.scss","../../scss/_badge.scss","../../scss/mixins/_badge.scss","../../scss/_jumbotron.scss","../../scss/_alert.scss","../../scss/mixins/_alert.scss","../../scss/_progress.scss","../../scss/mixins/_gradients.scss","../../scss/_media.scss","../../scss/_list-group.scss","../../scss/mixins/_list-group.scss","../../scss/_responsive-embed.scss","../../scss/_close.scss","../../scss/_modal.scss","../../scss/_tooltip.scss","../../scss/mixins/_reset-text.scss","../../scss/_popover.scss","../../scss/_carousel.scss","../../scss/mixins/_transforms.scss","../../scss/utilities/_align.scss","../../scss/utilities/_background.scss","../../scss/mixins/_background-variant.scss","../../scss/utilities/_borders.scss","../../scss/utilities/_display.scss","../../scss/utilities/_flex.scss","../../scss/utilities/_float.scss","../../scss/mixins/_float.scss","../../scss/utilities/_position.scss","../../scss/utilities/_screenreaders.scss","../../scss/mixins/_screen-reader.scss","../../scss/utilities/_sizing.scss","../../scss/utilities/_spacing.scss","../../scss/utilities/_text.scss","../../scss/mixins/_text-truncate.scss","../../scss/mixins/_text-emphasis.scss","../../scss/mixins/_text-hide.scss","../../scss/utilities/_visibility.scss","../../scss/mixins/_visibility.scss"],"names":[],"mappings":"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BfwD4B;IevD5B,4BAA2B;GAC5B;EAnFL;IAuFM,OAAM;GACP;CjB+yDJ;;AmBzqED;EACE,sBAAqB;EACrB,oBjBuPyB;EiBtPzB,kBjB6UmC;EiB5UnC,mBAAkB;EAClB,oBAAmB;EACnB,uBAAsB;EACtB,0BAAiB;KAAjB,uBAAiB;MAAjB,sBAAiB;UAAjB,kBAAiB;EACjB,8BAAiD;ECoEjD,qBlBkQmC;EkBjQnC,gBlBuKmB;EMtPjB,uBNgO2B;EO/NzB,yCP8X8C;EO9X9C,oCP8X8C;EO9X9C,iCP8X8C;CiB1VnD;;AhBnBG;EgBFA,sBAAqB;ChBKpB;;AgBnBL;EAkBI,WAAU;EACV,sDjB2EY;UiB3EZ,8CjB2EY;CiB1Eb;;AApBH;EAyBI,oBjB2ZwC;EiB1ZxC,aAAY;CAEb;;AA5BH;EAgCI,uBAAsB;CAEvB;;AAIH;;EAEE,qBAAoB;CACrB;;AAOD;EC7CE,YlBqFW;EkBpFX,0BlB0Fc;EkBzFd,sBlByFc;CiB5Cf;;AhB7CG;EiBKA,YlB8ES;EkB7ET,0BAX0C;EAY1C,sBAXkC;CjBIb;;AiBSvB;EAMI,qDlB0EU;UkB1EV,6ClB0EU;CkBxEb;;AAGD;EAEE,0BlBmEY;EkBlEZ,sBlBkEY;CkBjEb;;AAED;;EAGE,YlBsDS;EkBrDT,0BAnC0C;EAoC1C,uBAAsB;EACtB,sBApCkC;CAsCnC;;ADYH;EChDE,elBiGiC;EkBhGjC,uBlBoFW;EkBnFX,mBlBuVmC;CiBvSpC;;AhBhDG;EiBKA,elB0F+B;EkBzF/B,0BAX0C;EAY1C,sBAXkC;CjBIb;;AiBSvB;EAMI,uDlBwU+B;UkBxU/B,+ClBwU+B;CkBtUlC;;AAGD;EAEE,uBlB6DS;EkB5DT,mBlBgUiC;CkB/TlC;;AAED;;EAGE,elBkE+B;EkBjE/B,0BAnC0C;EAoC1C,uBAAsB;EACtB,sBApCkC;CAsCnC;;ADeH;ECnDE,YlBqFW;EkBpFX,0BlB2Fc;EkB1Fd,sBlB0Fc;CiBvCf;;AhBnDG;EiBKA,YlB8ES;EkB7ET,0BAX0C;EAY1C,sBAXkC;CjBIb;;AiBSvB;EAMI,sDlB2EU;UkB3EV,8ClB2EU;CkBzEb;;AAGD;EAEE,0BlBoEY;EkBnEZ,sBlBmEY;CkBlEb;;AAED;;EAGE,YlBsDS;EkBrDT,0BAnC0C;EAoC1C,uBAAsB;EACtB,sBApCkC;CAsCnC;;ADkBH;ECtDE,YlBqFW;EkBpFX,0BlByFc;EkBxFd,sBlBwFc;CiBlCf;;AhBtDG;EiBKA,YlB8ES;EkB7ET,0BAX0C;EAY1C,sBAXkC;CjBIb;;AiBSvB;EAMI,qDlByEU;UkBzEV,6ClByEU;CkBvEb;;AAGD;EAEE,0BlBkEY;EkBjEZ,sBlBiEY;CkBhEb;;AAED;;EAGE,YlBsDS;EkBrDT,0BAnC0C;EAoC1C,uBAAsB;EACtB,sBApCkC;CAsCnC;;ADqBH;ECzDE,YlBqFW;EkBpFX,0BlBuFc;EkBtFd,sBlBsFc;CiB7Bf;;AhBzDG;EiBKA,YlB8ES;EkB7ET,0BAX0C;EAY1C,sBAXkC;CjBIb;;AiBSvB;EAMI,sDlBuEU;UkBvEV,8ClBuEU;CkBrEb;;AAGD;EAEE,0BlBgEY;EkB/DZ,sBlB+DY;CkB9Db;;AAED;;EAGE,YlBsDS;EkBrDT,0BAnC0C;EAoC1C,uBAAsB;EACtB,sBApCkC;CAsCnC;;ADwBH;EC5DE,YlBqFW;EkBpFX,0BlBsFc;EkBrFd,sBlBqFc;CiBzBf;;AhB5DG;EiBKA,YlB8ES;EkB7ET,0BAX0C;EAY1C,sBAXkC;CjBIb;;AiBSvB;EAMI,qDlBsEU;UkBtEV,6ClBsEU;CkBpEb;;AAGD;EAEE,0BlB+DY;EkB9DZ,sBlB8DY;CkB7Db;;AAED;;EAGE,YlBsDS;EkBrDT,0BAnC0C;EAoC1C,uBAAsB;EACtB,sBApCkC;CAsCnC;;AD6BH;ECzBE,elBmDc;EkBlDd,8BAA6B;EAC7B,uBAAsB;EACtB,sBlBgDc;CiBxBf;;AhBjEG;EiB4CA,YlBuCS;EkBtCT,0BlB4CY;EkB3CZ,sBlB2CY;CCzFS;;AiBiDvB;EAEE,qDlBsCY;UkBtCZ,6ClBsCY;CkBrCb;;AAED;EAEE,elBiCY;EkBhCZ,8BAA6B;CAC9B;;AAED;;EAGE,YlBoBS;EkBnBT,0BlByBY;EkBxBZ,sBlBwBY;CkBvBb;;ADAH;EC5BE,YlBiTmC;EkBhTnC,8BAA6B;EAC7B,uBAAsB;EACtB,mBlB8SmC;CiBnRpC;;AhBpEG;EiB4CA,elBmD+B;EkBlD/B,uBlB0SiC;EkBzSjC,mBlBySiC;CCvVZ;;AiBiDvB;EAEE,uDlBoSiC;UkBpSjC,+ClBoSiC;CkBnSlC;;AAED;EAEE,YlB+RiC;EkB9RjC,8BAA6B;CAC9B;;AAED;;EAGE,elBgC+B;EkB/B/B,uBlBuRiC;EkBtRjC,mBlBsRiC;CkBrRlC;;ADGH;EC/BE,elBoDc;EkBnDd,8BAA6B;EAC7B,uBAAsB;EACtB,sBlBiDc;CiBnBf;;AhBvEG;EiB4CA,YlBuCS;EkBtCT,0BlB6CY;EkB5CZ,sBlB4CY;CC1FS;;AiBiDvB;EAEE,sDlBuCY;UkBvCZ,8ClBuCY;CkBtCb;;AAED;EAEE,elBkCY;EkBjCZ,8BAA6B;CAC9B;;AAED;;EAGE,YlBoBS;EkBnBT,0BlB0BY;EkBzBZ,sBlByBY;CkBxBb;;ADMH;EClCE,elBkDc;EkBjDd,8BAA6B;EAC7B,uBAAsB;EACtB,sBlB+Cc;CiBdf;;AhB1EG;EiB4CA,YlBuCS;EkBtCT,0BlB2CY;EkB1CZ,sBlB0CY;CCxFS;;AiBiDvB;EAEE,qDlBqCY;UkBrCZ,6ClBqCY;CkBpCb;;AAED;EAEE,elBgCY;EkB/BZ,8BAA6B;CAC9B;;AAED;;EAGE,YlBoBS;EkBnBT,0BlBwBY;EkBvBZ,sBlBuBY;CkBtBb;;ADSH;ECrCE,elBgDc;EkB/Cd,8BAA6B;EAC7B,uBAAsB;EACtB,sBlB6Cc;CiBTf;;AhB7EG;EiB4CA,YlBuCS;EkBtCT,0BlByCY;EkBxCZ,sBlBwCY;CCtFS;;AiBiDvB;EAEE,sDlBmCY;UkBnCZ,8ClBmCY;CkBlCb;;AAED;EAEE,elB8BY;EkB7BZ,8BAA6B;CAC9B;;AAED;;EAGE,YlBoBS;EkBnBT,0BlBsBY;EkBrBZ,sBlBqBY;CkBpBb;;ADYH;ECxCE,elB+Cc;EkB9Cd,8BAA6B;EAC7B,uBAAsB;EACtB,sBlB4Cc;CiBLf;;AhBhFG;EiB4CA,YlBuCS;EkBtCT,0BlBwCY;EkBvCZ,sBlBuCY;CCrFS;;AiBiDvB;EAEE,qDlBkCY;UkBlCZ,6ClBkCY;CkBjCb;;AAED;EAEE,e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BAAsB;EAAtB,+BAAsB;MAAtB,2BAAsB;UAAtB,uBAAsB;EACtB,uB3BsFW;E2BrFX,uC3BsFW;EM3FT,uBNgO2B;C2BzN9B;;AAED;EAGE,oBAAc;EAAd,uBAAc;MAAd,mBAAc;UAAd,eAAc;EACd,iB3BkpBgC;C2BjpBjC;;AAED;EACE,uB3B+oB+B;C2B9oBhC;;AAED;EACE,sBAAgC;EAChC,iBAAgB;CACjB;;AAED;EACE,iBAAgB;CACjB;;A1BpBG;E0BwBA,sBAAqB;C1BxBA;;A0BsBzB;EAMI,qB3B4nB8B;C2B3nB/B;;AAGH;ErBjCI,gCN0N2B;EMzN3B,iCNyN2B;C2BrL1B;;AAJL;ErBnBI,oCN4M2B;EM3M3B,mCN2M2B;C2B/K1B;;AASL;EACE,yB3BomBgC;E2BnmBhC,iBAAgB;EAChB,0B3B6CiC;E2B5CjC,8C3B6BW;C2BxBZ;;AATD;ErB1DI,2DqBiE8E;CAC/E;;AAGH;EACE,yB3BylBgC;E2BxlBhC,0B3BmCiC;E2BlCjC,2C3BmBW;C2BdZ;;AARD;ErBrEI,2DNoqB2E;C2BxlB5E;;AAQH;EACE,wBAAkC;EAClC,wB3B0kB+B;E2BzkB/B,uBAAiC;EACjC,iBAAgB;CACjB;;AAED;EACE,wBAAkC;EAClC,uBAAiC;CAClC;;AAOD;ECtGE,0B5BiGc;E4BhGd,sB5BgGc;C2BOf;;ACrGC;;EAEE,8BAA6B;CAC9B;;ADmGH;ECzGE,0B5BgGc;E4B/Fd,sB5B+Fc;C2BWf;;ACxGC;;EAEE,8BAA6B;CAC9B;;ADsGH;EC5GE,0B5BkGc;E4BjGd,sB5BiGc;C2BYf;;AC3GC;;EAEE,8BAA6B;CAC9B;;ADyGH;EC/GE,0B5B8Fc;E4B7Fd,sB5B6Fc;C2BmBf;;AC9GC;;EAEE,8BAA6B;CAC9B;;AD4GH;EClHE,0B5B6Fc;E4B5Fd,sB5B4Fc;C2BuBf;;ACjHC;;EAEE,8BAA6B;CAC9B;;ADiHH;EC7GE,8BAA6B;EAC7B,sB5BsFc;C2BwBf;;AACD;EChHE,8BAA6B;EAC7B,mB5BoVmC;C2BnOpC;;AACD;ECnHE,8BAA6B;EAC7B,sB5BuFc;C2B6Bf;;AACD;ECtHE,8BAA6B;EAC7B,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mBxC,mBhCsPoB;CgCrPrB;;AAIG;E1BqBF,+BNsM0B;EMrM1B,kCNqM0B;CgCzNvB;;AAGD;E1BEF,gCNoN0B;EMnN1B,mCNmN0B;CgCpNvB;;AAdL;EACE,wBhCymBuC;EgCxmBvC,oBhCuPoB;CgCtPrB;;AAIG;E1BqBF,+BNuM0B;EMtM1B,kCNsM0B;CgC1NvB;;AAGD;E1BEF,gCNqN0B;EMpN1B,mCNoN0B;CgCrNvB;;ACZP;EACE,sBAAqB;EACrB,sBjCkuBgC;EiCjuBhC,ejC+tB+B;EiC9tB/B,kBjCuPqB;EiCtPrB,eAAc;EACd,YjCmFW;EiClFX,mBAAkB;EAClB,oBAAmB;EACnB,yBAAwB;E3BVtB,uBNgO2B;CiC/M9B;;AAhBD;EAcI,cAAa;CACd;;AAIH;EACE,mBAAkB;EAClB,UAAS;CACV;;AhCLG;EgCWA,YjC6DS;EiC5DT,sBAAqB;ChCTpB;;AgCkBL;EACE,qBjCgsBgC;EiC/rBhC,oBjC+rBgC;EMxuB9B,qBN2uB+B;CiChsBlC;;AAMD;EClDE,0BlCyGiC;CiCrDlC;;AhCjCG;EiCfE,0BAAqC;CjCkBtC;;AgCgCL;ECtDE,0BlCiGc;CiCzCf;;AhCrCG;EiCfE,0BAAqC;CjCkBtC;;AgCoCL;EC1DE,0BlCgGc;CiCpCf;;AhCzCG;EiCfE,0BAAqC;CjCkBtC;;AgCwCL;EC9DE,0BlCkGc;CiClCf;;AhC7CG;EiCfE,0BAAqC;CjCkBtC;;AgC4CL;EClEE,0BlC8Fc;CiC1Bf;;AhCjDG;EiCfE,0BAAqC;CjCkBtC;;AgCgDL;ECtEE,0BlC6Fc;CiCrBf;;AhCrDG;EiCfE,0BAAqC;CjCkBtC;;AkCzBL;EACE,mBAAoD;EACpD,oBnCqoBmC;EmCpoBnC,0BnC0GiC;EMzG/B,sBNiO0B;CmC5N7B;;AxB+CG;EwBxDJ;IAOI,mBnCgoBiC;GmC9nBpC;CrCupIA;;AqCrpID;EACE,0BAA4C;CAC7C;;AAED;EACE,iBAAgB;EAChB,gBAAe;E7Bbb,iB6BcsB;CACzB;;ACfD;EACE,yBpCgxBmC;EoC/wBnC,oBpCixBgC;EoChxBhC,8BAA6C;E9BH3C,uBNgO2B;CoC3N9B;;AAGD;EAEE,eAAc;CACf;;AAGD;EACE,kBpC6OqB;CoC5OtB;;AAOD;EAGI,mBAAkB;EAClB,cpCuvBgC;EoCtvBhC,gBpCqvBiC;EoCpvBjC,yBpCovBiC;EoCnvBjC,eAAc;CACf;;AAQH;ECxCE,erC4oBsC;EqC3oBtC,0BrC4oBsC;EqC3oBtC,sBrC4oB4D;CoCpmB7D;;ACtCC;EACE,0BAAqC;CACtC;;AACD;EACE,eAA+B;CAChC;;ADkCH;EC3CE,erCgpBsC;EqC/oBtC,0BrCgpBsC;EqC/oBtC,sBrCgpByD;CoCrmB1D;;ACzCC;EACE,0BAAqC;CACtC;;AACD;EACE,eAA+B;CAChC;;ADqCH;EC9CE,erCopBsC;EqCnpBtC,0BrCopBsC;EqCnpBtC,sBrCqpB4D;CoCvmB7D;;AC5CC;EACE,0BAAqC;CACtC;;AACD;EACE,eAA+B;CAChC;;ADwCH;ECjDE,erCypBsC;EqCxpBtC,0BrCypBsC;EqCxpBtC,sBrCypB2D;CoCxmB5D;;AC/CC;EACE,0BAAqC;CACtC;;AACD;EACE,eAA+B;CAChC;;ACZH;EACE;IAAO,4BAAuC;GxC6vI7C;EwC5vID;IAAK,yBAAwB;GxC+vI5B;CACF;;AwClwID;EACE;IAAO,4BAAuC;GxC6vI7C;EwC5vID;IAAK,yBAAwB;GxC+vI5B;CACF;;AwClwID;EACE;IAAO,4BAAuC;GxC6vI7C;EwC5vID;IAAK,yBAAwB;GxC+vI5B;CACF;;AwC7vID;EACE,qBAAa;EAAb,sBAAa;EAAb,qBAAa;EAAb,cAAa;EACb,iBAAgB;EAChB,mBtCwyBoC;EsCvyBpC,kBtCsyBkC;EsCryBlC,mBAAkB;EAClB,0BtCkGiC;EMzG/B,uBNgO2B;CsCvN9B;;AAED;EACE,atC+xBkC;EsC9xBlC,kBtC8xBkC;EsC7xBlC,YtC4EW;EsC3EX,0BtCiFc;CsChFf;;AAED;ECaE,8MAA6I;EAA7I,yMAA6I;EAA7I,sMAA6I;EDX7I,mCtCuxBkC;UsCvxBlC,2BtCuxBkC;CsCtxBnC;;AAED;EACE,2DtC0xBgD;OsC1xBhD,sDtC0xBgD;UsC1xBhD,mDtC0xBgD;CsCzxBjD;;AE7BD;EAC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","file":"bootstrap.css","sourcesContent":[null,null,"/*!\n * Bootstrap v4.0.0-alpha.6 (https://getbootstrap.com)\n * Copyright 2011-2017 The Bootstrap Authors\n * Copyright 2011-2017 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */\n@media print {\n *,\n *::before,\n *::after,\n p::first-letter,\n div::first-letter,\n blockquote::first-letter,\n li::first-letter,\n p::first-line,\n div::first-line,\n blockquote::first-line,\n li::first-line {\n text-shadow: none !important;\n box-shadow: none !important;\n }\n a,\n a:visited {\n text-decoration: underline;\n }\n abbr[title]::after {\n content: \" (\" attr(title) \")\";\n }\n pre {\n white-space: pre-wrap !important;\n }\n pre,\n blockquote {\n border: 1px solid #999;\n page-break-inside: avoid;\n }\n thead {\n display: table-header-group;\n }\n tr,\n img {\n page-break-inside: avoid;\n }\n p,\n h2,\n h3 {\n orphans: 3;\n widows: 3;\n }\n h2,\n h3 {\n page-break-after: avoid;\n }\n .navbar {\n display: none;\n }\n .badge {\n border: 1px solid #000;\n }\n .table {\n border-collapse: collapse !important;\n }\n .table td,\n .table th {\n background-color: #fff !important;\n }\n .table-bordered th,\n .table-bordered td {\n border: 1px solid #ddd !important;\n }\n}\n\nhtml {\n box-sizing: border-box;\n font-family: sans-serif;\n line-height: 1.15;\n -webkit-text-size-adjust: 100%;\n -ms-text-size-adjust: 100%;\n -ms-overflow-style: scrollbar;\n -webkit-tap-highlight-color: transparent;\n}\n\n*,\n*::before,\n*::after {\n box-sizing: inherit;\n}\n\n@-ms-viewport {\n width: device-width;\n}\n\nbody {\n margin: 0;\n font-family: -apple-system, system-ui, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif;\n font-size: 1rem;\n font-weight: normal;\n line-height: 1.5;\n color: #292b2c;\n background-color: #fff;\n}\n\n[tabindex=\"-1\"]:focus {\n outline: none !important;\n}\n\nhr {\n box-sizing: content-box;\n height: 0;\n overflow: visible;\n}\n\nh1, h2, h3, h4, h5, h6 {\n margin-top: 0;\n margin-bottom: .5rem;\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 border-bottom: 0;\n}\n\naddress {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\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: bold;\n}\n\ndd {\n margin-bottom: .5rem;\n margin-left: 0;\n}\n\nblockquote {\n margin: 0 0 1rem;\n}\n\ndfn {\n font-style: italic;\n}\n\nb,\nstrong {\n font-weight: bolder;\n}\n\nsmall {\n font-size: 80%;\n}\n\nsub,\nsup {\n position: relative;\n font-size: 75%;\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: #0275d8;\n text-decoration: none;\n background-color: transparent;\n -webkit-text-decoration-skip: objects;\n}\n\na:hover {\n color: #014c8c;\n text-decoration: underline;\n}\n\na:not([href]):not([tabindex]) {\n color: inherit;\n text-decoration: none;\n}\n\na:not([href]):not([tabindex]):focus, a:not([href]):not([tabindex]):hover {\n color: inherit;\n text-decoration: none;\n}\n\na:not([href]):not([tabindex]):focus {\n outline: 0;\n}\n\npre,\ncode,\nkbd,\nsamp {\n font-family: monospace, monospace;\n font-size: 1em;\n}\n\npre {\n margin-top: 0;\n margin-bottom: 1rem;\n overflow: auto;\n}\n\nfigure {\n margin: 0 0 1rem;\n}\n\nimg {\n vertical-align: middle;\n border-style: none;\n}\n\nsvg:not(:root) {\n overflow: hidden;\n}\n\na,\narea,\nbutton,\n[role=\"button\"],\ninput,\nlabel,\nselect,\nsummary,\ntextarea {\n touch-action: manipulation;\n}\n\ntable {\n border-collapse: collapse;\n}\n\ncaption {\n padding-top: 0.75rem;\n padding-bottom: 0.75rem;\n color: #636c72;\n text-align: left;\n caption-side: bottom;\n}\n\nth {\n text-align: left;\n}\n\nlabel {\n display: inline-block;\n margin-bottom: .5rem;\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\nbutton,\nhtml [type=\"button\"],\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button;\n}\n\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n padding: 0;\n border-style: none;\n}\n\ninput[type=\"radio\"],\ninput[type=\"checkbox\"] {\n box-sizing: border-box;\n padding: 0;\n}\n\ninput[type=\"radio\"]:disabled,\ninput[type=\"checkbox\"]:disabled {\n cursor: not-allowed;\n}\n\ninput[type=\"date\"],\ninput[type=\"time\"],\ninput[type=\"datetime-local\"],\ninput[type=\"month\"] {\n -webkit-appearance: listbox;\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 display: block;\n width: 100%;\n max-width: 100%;\n padding: 0;\n margin-bottom: .5rem;\n font-size: 1.5rem;\n line-height: inherit;\n color: inherit;\n white-space: normal;\n}\n\nprogress {\n vertical-align: baseline;\n}\n\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n[type=\"search\"] {\n outline-offset: -2px;\n -webkit-appearance: none;\n}\n\n[type=\"search\"]::-webkit-search-cancel-button,\n[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\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}\n\ntemplate {\n display: none;\n}\n\n[hidden] {\n display: none !important;\n}\n\nh1, h2, h3, h4, h5, h6,\n.h1, .h2, .h3, .h4, .h5, .h6 {\n margin-bottom: 0.5rem;\n font-family: inherit;\n font-weight: 500;\n line-height: 1.1;\n color: inherit;\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\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.1;\n}\n\n.display-2 {\n font-size: 5.5rem;\n font-weight: 300;\n line-height: 1.1;\n}\n\n.display-3 {\n font-size: 4.5rem;\n font-weight: 300;\n line-height: 1.1;\n}\n\n.display-4 {\n font-size: 3.5rem;\n font-weight: 300;\n line-height: 1.1;\n}\n\nhr {\n margin-top: 1rem;\n margin-bottom: 1rem;\n border: 0;\n border-top: 1px solid rgba(0, 0, 0, 0.1);\n}\n\nsmall,\n.small {\n font-size: 80%;\n font-weight: normal;\n}\n\nmark,\n.mark {\n padding: 0.2em;\n background-color: #fcf8e3;\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: 5px;\n}\n\n.initialism {\n font-size: 90%;\n text-transform: uppercase;\n}\n\n.blockquote {\n padding: 0.5rem 1rem;\n margin-bottom: 1rem;\n font-size: 1.25rem;\n border-left: 0.25rem solid #eceeef;\n}\n\n.blockquote-footer {\n display: block;\n font-size: 80%;\n color: #636c72;\n}\n\n.blockquote-footer::before {\n content: \"\\2014 \\00A0\";\n}\n\n.blockquote-reverse {\n padding-right: 1rem;\n padding-left: 0;\n text-align: right;\n border-right: 0.25rem solid #eceeef;\n border-left: 0;\n}\n\n.blockquote-reverse .blockquote-footer::before {\n content: \"\";\n}\n\n.blockquote-reverse .blockquote-footer::after {\n content: \"\\00A0 \\2014\";\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 #ddd;\n border-radius: 0.25rem;\n transition: all 0.2s ease-in-out;\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: 90%;\n color: #636c72;\n}\n\ncode,\nkbd,\npre,\nsamp {\n font-family: Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;\n}\n\ncode {\n padding: 0.2rem 0.4rem;\n font-size: 90%;\n color: #bd4147;\n background-color: #f7f7f9;\n border-radius: 0.25rem;\n}\n\na > code {\n padding: 0;\n color: inherit;\n background-color: inherit;\n}\n\nkbd {\n padding: 0.2rem 0.4rem;\n font-size: 90%;\n color: #fff;\n background-color: #292b2c;\n border-radius: 0.2rem;\n}\n\nkbd kbd {\n padding: 0;\n font-size: 100%;\n font-weight: bold;\n}\n\npre {\n display: block;\n margin-top: 0;\n margin-bottom: 1rem;\n font-size: 90%;\n color: #292b2c;\n}\n\npre code {\n padding: 0;\n font-size: inherit;\n color: inherit;\n background-color: transparent;\n border-radius: 0;\n}\n\n.pre-scrollable {\n max-height: 340px;\n overflow-y: scroll;\n}\n\n.container {\n position: relative;\n margin-right: auto;\n margin-left: auto;\n padding-right: 15px;\n padding-left: 15px;\n}\n\n@media (min-width: 576px) {\n .container {\n padding-right: 15px;\n padding-left: 15px;\n }\n}\n\n@media (min-width: 768px) {\n .container {\n padding-right: 15px;\n padding-left: 15px;\n }\n}\n\n@media (min-width: 992px) {\n .container {\n padding-right: 15px;\n padding-left: 15px;\n }\n}\n\n@media (min-width: 1200px) {\n .container {\n padding-right: 15px;\n padding-left: 15px;\n }\n}\n\n@media (min-width: 576px) {\n .container {\n width: 540px;\n max-width: 100%;\n }\n}\n\n@media (min-width: 768px) {\n .container {\n width: 720px;\n max-width: 100%;\n }\n}\n\n@media (min-width: 992px) {\n .container {\n width: 960px;\n max-width: 100%;\n }\n}\n\n@media (min-width: 1200px) {\n .container {\n width: 1140px;\n max-width: 100%;\n }\n}\n\n.container-fluid {\n position: relative;\n margin-right: auto;\n margin-left: auto;\n padding-right: 15px;\n padding-left: 15px;\n}\n\n@media (min-width: 576px) {\n .container-fluid {\n padding-right: 15px;\n padding-left: 15px;\n }\n}\n\n@media (min-width: 768px) {\n .container-fluid {\n padding-right: 15px;\n padding-left: 15px;\n }\n}\n\n@media (min-width: 992px) {\n .container-fluid {\n padding-right: 15px;\n padding-left: 15px;\n }\n}\n\n@media (min-width: 1200px) {\n .container-fluid {\n padding-right: 15px;\n padding-left: 15px;\n }\n}\n\n.row {\n display: flex;\n flex-wrap: wrap;\n margin-right: -15px;\n margin-left: -15px;\n}\n\n@media (min-width: 576px) {\n .row {\n margin-right: -15px;\n margin-left: -15px;\n }\n}\n\n@media (min-width: 768px) {\n .row {\n margin-right: -15px;\n margin-left: -15px;\n }\n}\n\n@media (min-width: 992px) {\n .row {\n margin-right: -15px;\n margin-left: -15px;\n }\n}\n\n@media (min-width: 1200px) {\n .row {\n margin-right: -15px;\n margin-left: -15px;\n }\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, .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-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-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-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 position: relative;\n width: 100%;\n min-height: 1px;\n padding-right: 15px;\n padding-left: 15px;\n}\n\n@media (min-width: 576px) {\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, .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-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-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-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 padding-right: 15px;\n padding-left: 15px;\n }\n}\n\n@media (min-width: 768px) {\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, .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-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-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-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 padding-right: 15px;\n padding-left: 15px;\n }\n}\n\n@media (min-width: 992px) {\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, .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-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-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-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 padding-right: 15px;\n padding-left: 15px;\n }\n}\n\n@media (min-width: 1200px) {\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, .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-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-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-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 padding-right: 15px;\n padding-left: 15px;\n }\n}\n\n.col {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n}\n\n.col-auto {\n flex: 0 0 auto;\n width: auto;\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.pull-0 {\n right: auto;\n}\n\n.pull-1 {\n right: 8.333333%;\n}\n\n.pull-2 {\n right: 16.666667%;\n}\n\n.pull-3 {\n right: 25%;\n}\n\n.pull-4 {\n right: 33.333333%;\n}\n\n.pull-5 {\n right: 41.666667%;\n}\n\n.pull-6 {\n right: 50%;\n}\n\n.pull-7 {\n right: 58.333333%;\n}\n\n.pull-8 {\n right: 66.666667%;\n}\n\n.pull-9 {\n right: 75%;\n}\n\n.pull-10 {\n right: 83.333333%;\n}\n\n.pull-11 {\n right: 91.666667%;\n}\n\n.pull-12 {\n right: 100%;\n}\n\n.push-0 {\n left: auto;\n}\n\n.push-1 {\n left: 8.333333%;\n}\n\n.push-2 {\n left: 16.666667%;\n}\n\n.push-3 {\n left: 25%;\n}\n\n.push-4 {\n left: 33.333333%;\n}\n\n.push-5 {\n left: 41.666667%;\n}\n\n.push-6 {\n left: 50%;\n}\n\n.push-7 {\n left: 58.333333%;\n}\n\n.push-8 {\n left: 66.666667%;\n}\n\n.push-9 {\n left: 75%;\n}\n\n.push-10 {\n left: 83.333333%;\n}\n\n.push-11 {\n left: 91.666667%;\n}\n\n.push-12 {\n left: 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 .col-sm-auto {\n flex: 0 0 auto;\n width: auto;\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 .pull-sm-0 {\n right: auto;\n }\n .pull-sm-1 {\n right: 8.333333%;\n }\n .pull-sm-2 {\n right: 16.666667%;\n }\n .pull-sm-3 {\n right: 25%;\n }\n .pull-sm-4 {\n right: 33.333333%;\n }\n .pull-sm-5 {\n right: 41.666667%;\n }\n .pull-sm-6 {\n right: 50%;\n }\n .pull-sm-7 {\n right: 58.333333%;\n }\n .pull-sm-8 {\n right: 66.666667%;\n }\n .pull-sm-9 {\n right: 75%;\n }\n .pull-sm-10 {\n right: 83.333333%;\n }\n .pull-sm-11 {\n right: 91.666667%;\n }\n .pull-sm-12 {\n right: 100%;\n }\n .push-sm-0 {\n left: auto;\n }\n .push-sm-1 {\n left: 8.333333%;\n }\n .push-sm-2 {\n left: 16.666667%;\n }\n .push-sm-3 {\n left: 25%;\n }\n .push-sm-4 {\n left: 33.333333%;\n }\n .push-sm-5 {\n left: 41.666667%;\n }\n .push-sm-6 {\n left: 50%;\n }\n .push-sm-7 {\n left: 58.333333%;\n }\n .push-sm-8 {\n left: 66.666667%;\n }\n .push-sm-9 {\n left: 75%;\n }\n .push-sm-10 {\n left: 83.333333%;\n }\n .push-sm-11 {\n left: 91.666667%;\n }\n .push-sm-12 {\n left: 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 .col-md-auto {\n flex: 0 0 auto;\n width: auto;\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 .pull-md-0 {\n right: auto;\n }\n .pull-md-1 {\n right: 8.333333%;\n }\n .pull-md-2 {\n right: 16.666667%;\n }\n .pull-md-3 {\n right: 25%;\n }\n .pull-md-4 {\n right: 33.333333%;\n }\n .pull-md-5 {\n right: 41.666667%;\n }\n .pull-md-6 {\n right: 50%;\n }\n .pull-md-7 {\n right: 58.333333%;\n }\n .pull-md-8 {\n right: 66.666667%;\n }\n .pull-md-9 {\n right: 75%;\n }\n .pull-md-10 {\n right: 83.333333%;\n }\n .pull-md-11 {\n right: 91.666667%;\n }\n .pull-md-12 {\n right: 100%;\n }\n .push-md-0 {\n left: auto;\n }\n .push-md-1 {\n left: 8.333333%;\n }\n .push-md-2 {\n left: 16.666667%;\n }\n .push-md-3 {\n left: 25%;\n }\n .push-md-4 {\n left: 33.333333%;\n }\n .push-md-5 {\n left: 41.666667%;\n }\n .push-md-6 {\n left: 50%;\n }\n .push-md-7 {\n left: 58.333333%;\n }\n .push-md-8 {\n left: 66.666667%;\n }\n .push-md-9 {\n left: 75%;\n }\n .push-md-10 {\n left: 83.333333%;\n }\n .push-md-11 {\n left: 91.666667%;\n }\n .push-md-12 {\n left: 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 .col-lg-auto {\n flex: 0 0 auto;\n width: auto;\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 .pull-lg-0 {\n right: auto;\n }\n .pull-lg-1 {\n right: 8.333333%;\n }\n .pull-lg-2 {\n right: 16.666667%;\n }\n .pull-lg-3 {\n right: 25%;\n }\n .pull-lg-4 {\n right: 33.333333%;\n }\n .pull-lg-5 {\n right: 41.666667%;\n }\n .pull-lg-6 {\n right: 50%;\n }\n .pull-lg-7 {\n right: 58.333333%;\n }\n .pull-lg-8 {\n right: 66.666667%;\n }\n .pull-lg-9 {\n right: 75%;\n }\n .pull-lg-10 {\n right: 83.333333%;\n }\n .pull-lg-11 {\n right: 91.666667%;\n }\n .pull-lg-12 {\n right: 100%;\n }\n .push-lg-0 {\n left: auto;\n }\n .push-lg-1 {\n left: 8.333333%;\n }\n .push-lg-2 {\n left: 16.666667%;\n }\n .push-lg-3 {\n left: 25%;\n }\n .push-lg-4 {\n left: 33.333333%;\n }\n .push-lg-5 {\n left: 41.666667%;\n }\n .push-lg-6 {\n left: 50%;\n }\n .push-lg-7 {\n left: 58.333333%;\n }\n .push-lg-8 {\n left: 66.666667%;\n }\n .push-lg-9 {\n left: 75%;\n }\n .push-lg-10 {\n left: 83.333333%;\n }\n .push-lg-11 {\n left: 91.666667%;\n }\n .push-lg-12 {\n left: 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 .col-xl-auto {\n flex: 0 0 auto;\n width: auto;\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 .pull-xl-0 {\n right: auto;\n }\n .pull-xl-1 {\n right: 8.333333%;\n }\n .pull-xl-2 {\n right: 16.666667%;\n }\n .pull-xl-3 {\n right: 25%;\n }\n .pull-xl-4 {\n right: 33.333333%;\n }\n .pull-xl-5 {\n right: 41.666667%;\n }\n .pull-xl-6 {\n right: 50%;\n }\n .pull-xl-7 {\n right: 58.333333%;\n }\n .pull-xl-8 {\n right: 66.666667%;\n }\n .pull-xl-9 {\n right: 75%;\n }\n .pull-xl-10 {\n right: 83.333333%;\n }\n .pull-xl-11 {\n right: 91.666667%;\n }\n .pull-xl-12 {\n right: 100%;\n }\n .push-xl-0 {\n left: auto;\n }\n .push-xl-1 {\n left: 8.333333%;\n }\n .push-xl-2 {\n left: 16.666667%;\n }\n .push-xl-3 {\n left: 25%;\n }\n .push-xl-4 {\n left: 33.333333%;\n }\n .push-xl-5 {\n left: 41.666667%;\n }\n .push-xl-6 {\n left: 50%;\n }\n .push-xl-7 {\n left: 58.333333%;\n }\n .push-xl-8 {\n left: 66.666667%;\n }\n .push-xl-9 {\n left: 75%;\n }\n .push-xl-10 {\n left: 83.333333%;\n }\n .push-xl-11 {\n left: 91.666667%;\n }\n .push-xl-12 {\n left: 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 max-width: 100%;\n margin-bottom: 1rem;\n background-color: transparent;\n}\n\n.table th,\n.table td {\n padding: 0.75rem;\n vertical-align: top;\n border-top: 1px solid #eceeef;\n}\n\n.table thead th {\n vertical-align: bottom;\n border-bottom: 2px solid #eceeef;\n}\n\n.table tbody + tbody {\n border-top: 2px solid #eceeef;\n}\n\n.table .table {\n background-color: #fff;\n}\n\n.table-sm th,\n.table-sm td {\n padding: 0.3rem;\n}\n\n.table-bordered {\n border: 1px solid #eceeef;\n}\n\n.table-bordered th,\n.table-bordered td {\n border: 1px solid #eceeef;\n}\n\n.table-bordered thead th,\n.table-bordered thead td {\n border-bottom-width: 2px;\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 background-color: rgba(0, 0, 0, 0.075);\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-success,\n.table-success > th,\n.table-success > td {\n background-color: #dff0d8;\n}\n\n.table-hover .table-success:hover {\n background-color: #d0e9c6;\n}\n\n.table-hover .table-success:hover > td,\n.table-hover .table-success:hover > th {\n background-color: #d0e9c6;\n}\n\n.table-info,\n.table-info > th,\n.table-info > td {\n background-color: #d9edf7;\n}\n\n.table-hover .table-info:hover {\n background-color: #c4e3f3;\n}\n\n.table-hover .table-info:hover > td,\n.table-hover .table-info:hover > th {\n background-color: #c4e3f3;\n}\n\n.table-warning,\n.table-warning > th,\n.table-warning > td {\n background-color: #fcf8e3;\n}\n\n.table-hover .table-warning:hover {\n background-color: #faf2cc;\n}\n\n.table-hover .table-warning:hover > td,\n.table-hover .table-warning:hover > th {\n background-color: #faf2cc;\n}\n\n.table-danger,\n.table-danger > th,\n.table-danger > td {\n background-color: #f2dede;\n}\n\n.table-hover .table-danger:hover {\n background-color: #ebcccc;\n}\n\n.table-hover .table-danger:hover > td,\n.table-hover .table-danger:hover > th {\n background-color: #ebcccc;\n}\n\n.thead-inverse th {\n color: #fff;\n background-color: #292b2c;\n}\n\n.thead-default th {\n color: #464a4c;\n background-color: #eceeef;\n}\n\n.table-inverse {\n color: #fff;\n background-color: #292b2c;\n}\n\n.table-inverse th,\n.table-inverse td,\n.table-inverse thead th {\n border-color: #3b3e40;\n}\n\n.table-inverse.table-bordered {\n border: 0;\n}\n\n.table-inverse.table-striped tbody tr:nth-of-type(odd) {\n background-color: rgba(255, 255, 255, 0.05);\n}\n\n.table-inverse.table-hover tbody tr:hover {\n background-color: rgba(255, 255, 255, 0.075);\n}\n\n@media (max-width: 991px) {\n .table-responsive {\n display: block;\n width: 100%;\n overflow-x: auto;\n -ms-overflow-style: -ms-autohiding-scrollbar;\n }\n .table-responsive.table-bordered {\n border: 0;\n }\n}\n\n.form-control {\n display: block;\n width: 100%;\n padding: 0.5rem 0.75rem;\n font-size: 1rem;\n line-height: 1.25;\n color: #464a4c;\n background-color: #fff;\n background-image: none;\n background-clip: padding-box;\n border: 1px solid rgba(0, 0, 0, 0.15);\n border-radius: 0.25rem;\n transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s;\n}\n\n.form-control::-ms-expand {\n background-color: transparent;\n border: 0;\n}\n\n.form-control:focus {\n color: #464a4c;\n background-color: #fff;\n border-color: #5cb3fd;\n outline: none;\n}\n\n.form-control::placeholder {\n color: #636c72;\n opacity: 1;\n}\n\n.form-control:disabled, .form-control[readonly] {\n background-color: #eceeef;\n opacity: 1;\n}\n\n.form-control:disabled {\n cursor: not-allowed;\n}\n\nselect.form-control:not([size]):not([multiple]) {\n height: calc(2.25rem + 2px);\n}\n\nselect.form-control:focus::-ms-value {\n color: #464a4c;\n background-color: #fff;\n}\n\n.form-control-file,\n.form-control-range {\n display: block;\n}\n\n.col-form-label {\n padding-top: calc(0.5rem - 1px * 2);\n padding-bottom: calc(0.5rem - 1px * 2);\n margin-bottom: 0;\n}\n\n.col-form-label-lg {\n padding-top: calc(0.75rem - 1px * 2);\n padding-bottom: calc(0.75rem - 1px * 2);\n font-size: 1.25rem;\n}\n\n.col-form-label-sm {\n padding-top: calc(0.25rem - 1px * 2);\n padding-bottom: calc(0.25rem - 1px * 2);\n font-size: 0.875rem;\n}\n\n.col-form-legend {\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n margin-bottom: 0;\n font-size: 1rem;\n}\n\n.form-control-static {\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n margin-bottom: 0;\n line-height: 1.25;\n border: solid transparent;\n border-width: 1px 0;\n}\n\n.form-control-static.form-control-sm, .input-group-sm > .form-control-static.form-control,\n.input-group-sm > .form-control-static.input-group-addon,\n.input-group-sm > .input-group-btn > .form-control-static.btn, .form-control-static.form-control-lg, .input-group-lg > .form-control-static.form-control,\n.input-group-lg > .form-control-static.input-group-addon,\n.input-group-lg > .input-group-btn > .form-control-static.btn {\n padding-right: 0;\n padding-left: 0;\n}\n\n.form-control-sm, .input-group-sm > .form-control,\n.input-group-sm > .input-group-addon,\n.input-group-sm > .input-group-btn > .btn {\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n border-radius: 0.2rem;\n}\n\nselect.form-control-sm:not([size]):not([multiple]), .input-group-sm > select.form-control:not([size]):not([multiple]),\n.input-group-sm > select.input-group-addon:not([size]):not([multiple]),\n.input-group-sm > .input-group-btn > select.btn:not([size]):not([multiple]) {\n height: 1.8125rem;\n}\n\n.form-control-lg, .input-group-lg > .form-control,\n.input-group-lg > .input-group-addon,\n.input-group-lg > .input-group-btn > .btn {\n padding: 0.75rem 1.5rem;\n font-size: 1.25rem;\n border-radius: 0.3rem;\n}\n\nselect.form-control-lg:not([size]):not([multiple]), .input-group-lg > select.form-control:not([size]):not([multiple]),\n.input-group-lg > select.input-group-addon:not([size]):not([multiple]),\n.input-group-lg > .input-group-btn > select.btn:not([size]):not([multiple]) {\n height: 3.166667rem;\n}\n\n.form-group {\n margin-bottom: 1rem;\n}\n\n.form-text {\n display: block;\n margin-top: 0.25rem;\n}\n\n.form-check {\n position: relative;\n display: block;\n margin-bottom: 0.5rem;\n}\n\n.form-check.disabled .form-check-label {\n color: #636c72;\n cursor: not-allowed;\n}\n\n.form-check-label {\n padding-left: 1.25rem;\n margin-bottom: 0;\n}\n\n.form-check-input {\n position: absolute;\n margin-top: 0.25rem;\n margin-left: -1.25rem;\n}\n\n.form-check-input:only-child {\n position: static;\n}\n\n.form-check-inline {\n display: inline-block;\n}\n\n.form-check-inline .form-check-label {\n vertical-align: middle;\n}\n\n.form-check-inline + .form-check-inline {\n margin-left: 0.75rem;\n}\n\n.form-control-feedback {\n margin-top: 0.25rem;\n}\n\n.form-control-success,\n.form-control-warning,\n.form-control-danger {\n padding-right: 2.25rem;\n background-repeat: no-repeat;\n background-position: center right 0.5625rem;\n background-size: 1.125rem 1.125rem;\n}\n\n.has-success .form-control-feedback,\n.has-success .form-control-label,\n.has-success .col-form-label,\n.has-success .form-check-label,\n.has-success .custom-control {\n color: #5cb85c;\n}\n\n.has-success .form-control,\n.has-success .custom-select,\n.has-success .custom-file-control {\n border-color: #5cb85c;\n}\n\n.has-success .input-group-addon {\n color: #5cb85c;\n background-color: #eaf6ea;\n border-color: #5cb85c;\n}\n\n.has-success .form-control-success {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%235cb85c' 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}\n\n.has-warning .form-control-feedback,\n.has-warning .form-control-label,\n.has-warning .col-form-label,\n.has-warning .form-check-label,\n.has-warning .custom-control {\n color: #f0ad4e;\n}\n\n.has-warning .form-control,\n.has-warning .custom-select,\n.has-warning .custom-file-control {\n border-color: #f0ad4e;\n}\n\n.has-warning .input-group-addon {\n color: #f0ad4e;\n background-color: white;\n border-color: #f0ad4e;\n}\n\n.has-warning .form-control-warning {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23f0ad4e' d='M4.4 5.324h-.8v-2.46h.8zm0 1.42h-.8V5.89h.8zM3.76.63L.04 7.075c-.115.2.016.425.26.426h7.397c.242 0 .372-.226.258-.426C6.726 4.924 5.47 2.79 4.253.63c-.113-.174-.39-.174-.494 0z'/%3E%3C/svg%3E\");\n}\n\n.has-danger .form-control-feedback,\n.has-danger .form-control-label,\n.has-danger .col-form-label,\n.has-danger .form-check-label,\n.has-danger .custom-control {\n color: #d9534f;\n}\n\n.has-danger .form-control,\n.has-danger .custom-select,\n.has-danger .custom-file-control {\n border-color: #d9534f;\n}\n\n.has-danger .input-group-addon {\n color: #d9534f;\n background-color: #fdf7f7;\n border-color: #d9534f;\n}\n\n.has-danger .form-control-danger {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23d9534f' viewBox='-2 -2 7 7'%3E%3Cpath stroke='%23d9534f' d='M0 0l3 3m0-3L0 3'/%3E%3Ccircle r='.5'/%3E%3Ccircle cx='3' r='.5'/%3E%3Ccircle cy='3' r='.5'/%3E%3Ccircle cx='3' cy='3' r='.5'/%3E%3C/svg%3E\");\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-static {\n display: inline-block;\n }\n .form-inline .input-group {\n width: auto;\n }\n .form-inline .form-control-label {\n margin-bottom: 0;\n vertical-align: middle;\n }\n .form-inline .form-check {\n display: flex;\n align-items: center;\n justify-content: center;\n width: auto;\n margin-top: 0;\n margin-bottom: 0;\n }\n .form-inline .form-check-label {\n padding-left: 0;\n }\n .form-inline .form-check-input {\n position: relative;\n margin-top: 0;\n margin-right: 0.25rem;\n margin-left: 0;\n }\n .form-inline .custom-control {\n display: flex;\n align-items: center;\n justify-content: center;\n padding-left: 0;\n }\n .form-inline .custom-control-indicator {\n position: static;\n display: inline-block;\n margin-right: 0.25rem;\n vertical-align: text-bottom;\n }\n .form-inline .has-feedback .form-control-feedback {\n top: 0;\n }\n}\n\n.btn {\n display: inline-block;\n font-weight: normal;\n line-height: 1.25;\n text-align: center;\n white-space: nowrap;\n vertical-align: middle;\n user-select: none;\n border: 1px solid transparent;\n padding: 0.5rem 1rem;\n font-size: 1rem;\n border-radius: 0.25rem;\n transition: all 0.2s ease-in-out;\n}\n\n.btn:focus, .btn:hover {\n text-decoration: none;\n}\n\n.btn:focus, .btn.focus {\n outline: 0;\n box-shadow: 0 0 0 2px rgba(2, 117, 216, 0.25);\n}\n\n.btn.disabled, .btn:disabled {\n cursor: not-allowed;\n opacity: .65;\n}\n\n.btn:active, .btn.active {\n background-image: none;\n}\n\na.btn.disabled,\nfieldset[disabled] a.btn {\n pointer-events: none;\n}\n\n.btn-primary {\n color: #fff;\n background-color: #0275d8;\n border-color: #0275d8;\n}\n\n.btn-primary:hover {\n color: #fff;\n background-color: #025aa5;\n border-color: #01549b;\n}\n\n.btn-primary:focus, .btn-primary.focus {\n box-shadow: 0 0 0 2px rgba(2, 117, 216, 0.5);\n}\n\n.btn-primary.disabled, .btn-primary:disabled {\n background-color: #0275d8;\n border-color: #0275d8;\n}\n\n.btn-primary:active, .btn-primary.active,\n.show > .btn-primary.dropdown-toggle {\n color: #fff;\n background-color: #025aa5;\n background-image: none;\n border-color: #01549b;\n}\n\n.btn-secondary {\n color: #292b2c;\n background-color: #fff;\n border-color: #ccc;\n}\n\n.btn-secondary:hover {\n color: #292b2c;\n background-color: #e6e6e6;\n border-color: #adadad;\n}\n\n.btn-secondary:focus, .btn-secondary.focus {\n box-shadow: 0 0 0 2px rgba(204, 204, 204, 0.5);\n}\n\n.btn-secondary.disabled, .btn-secondary:disabled {\n background-color: #fff;\n border-color: #ccc;\n}\n\n.btn-secondary:active, .btn-secondary.active,\n.show > .btn-secondary.dropdown-toggle {\n color: #292b2c;\n background-color: #e6e6e6;\n background-image: none;\n border-color: #adadad;\n}\n\n.btn-info {\n color: #fff;\n background-color: #5bc0de;\n border-color: #5bc0de;\n}\n\n.btn-info:hover {\n color: #fff;\n background-color: #31b0d5;\n border-color: #2aabd2;\n}\n\n.btn-info:focus, .btn-info.focus {\n box-shadow: 0 0 0 2px rgba(91, 192, 222, 0.5);\n}\n\n.btn-info.disabled, .btn-info:disabled {\n background-color: #5bc0de;\n border-color: #5bc0de;\n}\n\n.btn-info:active, .btn-info.active,\n.show > .btn-info.dropdown-toggle {\n color: #fff;\n background-color: #31b0d5;\n background-image: none;\n border-color: #2aabd2;\n}\n\n.btn-success {\n color: #fff;\n background-color: #5cb85c;\n border-color: #5cb85c;\n}\n\n.btn-success:hover {\n color: #fff;\n background-color: #449d44;\n border-color: #419641;\n}\n\n.btn-success:focus, .btn-success.focus {\n box-shadow: 0 0 0 2px rgba(92, 184, 92, 0.5);\n}\n\n.btn-success.disabled, .btn-success:disabled {\n background-color: #5cb85c;\n border-color: #5cb85c;\n}\n\n.btn-success:active, .btn-success.active,\n.show > .btn-success.dropdown-toggle {\n color: #fff;\n background-color: #449d44;\n background-image: none;\n border-color: #419641;\n}\n\n.btn-warning {\n color: #fff;\n background-color: #f0ad4e;\n border-color: #f0ad4e;\n}\n\n.btn-warning:hover {\n color: #fff;\n background-color: #ec971f;\n border-color: #eb9316;\n}\n\n.btn-warning:focus, .btn-warning.focus {\n box-shadow: 0 0 0 2px rgba(240, 173, 78, 0.5);\n}\n\n.btn-warning.disabled, .btn-warning:disabled {\n background-color: #f0ad4e;\n border-color: #f0ad4e;\n}\n\n.btn-warning:active, .btn-warning.active,\n.show > .btn-warning.dropdown-toggle {\n color: #fff;\n background-color: #ec971f;\n background-image: none;\n border-color: #eb9316;\n}\n\n.btn-danger {\n color: #fff;\n background-color: #d9534f;\n border-color: #d9534f;\n}\n\n.btn-danger:hover {\n color: #fff;\n background-color: #c9302c;\n border-color: #c12e2a;\n}\n\n.btn-danger:focus, .btn-danger.focus {\n box-shadow: 0 0 0 2px rgba(217, 83, 79, 0.5);\n}\n\n.btn-danger.disabled, .btn-danger:disabled {\n background-color: #d9534f;\n border-color: #d9534f;\n}\n\n.btn-danger:active, .btn-danger.active,\n.show > .btn-danger.dropdown-toggle {\n color: #fff;\n background-color: #c9302c;\n background-image: none;\n border-color: #c12e2a;\n}\n\n.btn-outline-primary {\n color: #0275d8;\n background-color: transparent;\n background-image: none;\n border-color: #0275d8;\n}\n\n.btn-outline-primary:hover {\n color: #fff;\n background-color: #0275d8;\n border-color: #0275d8;\n}\n\n.btn-outline-primary:focus, .btn-outline-primary.focus {\n box-shadow: 0 0 0 2px rgba(2, 117, 216, 0.5);\n}\n\n.btn-outline-primary.disabled, .btn-outline-primary:disabled {\n color: #0275d8;\n background-color: transparent;\n}\n\n.btn-outline-primary:active, .btn-outline-primary.active,\n.show > .btn-outline-primary.dropdown-toggle {\n color: #fff;\n background-color: #0275d8;\n border-color: #0275d8;\n}\n\n.btn-outline-secondary {\n color: #ccc;\n background-color: transparent;\n background-image: none;\n border-color: #ccc;\n}\n\n.btn-outline-secondary:hover {\n color: #292b2c;\n background-color: #ccc;\n border-color: #ccc;\n}\n\n.btn-outline-secondary:focus, .btn-outline-secondary.focus {\n box-shadow: 0 0 0 2px rgba(204, 204, 204, 0.5);\n}\n\n.btn-outline-secondary.disabled, .btn-outline-secondary:disabled {\n color: #ccc;\n background-color: transparent;\n}\n\n.btn-outline-secondary:active, .btn-outline-secondary.active,\n.show > .btn-outline-secondary.dropdown-toggle {\n color: #292b2c;\n background-color: #ccc;\n border-color: #ccc;\n}\n\n.btn-outline-info {\n color: #5bc0de;\n background-color: transparent;\n background-image: none;\n border-color: #5bc0de;\n}\n\n.btn-outline-info:hover {\n color: #fff;\n background-color: #5bc0de;\n border-color: #5bc0de;\n}\n\n.btn-outline-info:focus, .btn-outline-info.focus {\n box-shadow: 0 0 0 2px rgba(91, 192, 222, 0.5);\n}\n\n.btn-outline-info.disabled, .btn-outline-info:disabled {\n color: #5bc0de;\n background-color: transparent;\n}\n\n.btn-outline-info:active, .btn-outline-info.active,\n.show > .btn-outline-info.dropdown-toggle {\n color: #fff;\n background-color: #5bc0de;\n border-color: #5bc0de;\n}\n\n.btn-outline-success {\n color: #5cb85c;\n background-color: transparent;\n background-image: none;\n border-color: #5cb85c;\n}\n\n.btn-outline-success:hover {\n color: #fff;\n background-color: #5cb85c;\n border-color: #5cb85c;\n}\n\n.btn-outline-success:focus, .btn-outline-success.focus {\n box-shadow: 0 0 0 2px rgba(92, 184, 92, 0.5);\n}\n\n.btn-outline-success.disabled, .btn-outline-success:disabled {\n color: #5cb85c;\n background-color: transparent;\n}\n\n.btn-outline-success:active, .btn-outline-success.active,\n.show > .btn-outline-success.dropdown-toggle {\n color: #fff;\n background-color: #5cb85c;\n border-color: #5cb85c;\n}\n\n.btn-outline-warning {\n color: #f0ad4e;\n background-color: transparent;\n background-image: none;\n border-color: #f0ad4e;\n}\n\n.btn-outline-warning:hover {\n color: #fff;\n background-color: #f0ad4e;\n border-color: #f0ad4e;\n}\n\n.btn-outline-warning:focus, .btn-outline-warning.focus {\n box-shadow: 0 0 0 2px rgba(240, 173, 78, 0.5);\n}\n\n.btn-outline-warning.disabled, .btn-outline-warning:disabled {\n color: #f0ad4e;\n background-color: transparent;\n}\n\n.btn-outline-warning:active, .btn-outline-warning.active,\n.show > .btn-outline-warning.dropdown-toggle {\n color: #fff;\n background-color: #f0ad4e;\n border-color: #f0ad4e;\n}\n\n.btn-outline-danger {\n color: #d9534f;\n background-color: transparent;\n background-image: none;\n border-color: #d9534f;\n}\n\n.btn-outline-danger:hover {\n color: #fff;\n background-color: #d9534f;\n border-color: #d9534f;\n}\n\n.btn-outline-danger:focus, .btn-outline-danger.focus {\n box-shadow: 0 0 0 2px rgba(217, 83, 79, 0.5);\n}\n\n.btn-outline-danger.disabled, .btn-outline-danger:disabled {\n color: #d9534f;\n background-color: transparent;\n}\n\n.btn-outline-danger:active, .btn-outline-danger.active,\n.show > .btn-outline-danger.dropdown-toggle {\n color: #fff;\n background-color: #d9534f;\n border-color: #d9534f;\n}\n\n.btn-link {\n font-weight: normal;\n color: #0275d8;\n border-radius: 0;\n}\n\n.btn-link, .btn-link:active, .btn-link.active, .btn-link:disabled {\n background-color: transparent;\n}\n\n.btn-link, .btn-link:focus, .btn-link:active {\n border-color: transparent;\n}\n\n.btn-link:hover {\n border-color: transparent;\n}\n\n.btn-link:focus, .btn-link:hover {\n color: #014c8c;\n text-decoration: underline;\n background-color: transparent;\n}\n\n.btn-link:disabled {\n color: #636c72;\n}\n\n.btn-link:disabled:focus, .btn-link:disabled:hover {\n text-decoration: none;\n}\n\n.btn-lg, .btn-group-lg > .btn {\n padding: 0.75rem 1.5rem;\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\ninput[type=\"submit\"].btn-block,\ninput[type=\"reset\"].btn-block,\ninput[type=\"button\"].btn-block {\n width: 100%;\n}\n\n.fade {\n opacity: 0;\n transition: opacity 0.15s linear;\n}\n\n.fade.show {\n opacity: 1;\n}\n\n.collapse {\n display: none;\n}\n\n.collapse.show {\n display: block;\n}\n\ntr.collapse.show {\n display: table-row;\n}\n\ntbody.collapse.show {\n display: table-row-group;\n}\n\n.collapsing {\n position: relative;\n height: 0;\n overflow: hidden;\n transition: height 0.35s ease;\n}\n\n.dropup,\n.dropdown {\n position: relative;\n}\n\n.dropdown-toggle::after {\n display: inline-block;\n width: 0;\n height: 0;\n margin-left: 0.3em;\n vertical-align: middle;\n content: \"\";\n border-top: 0.3em solid;\n border-right: 0.3em solid transparent;\n border-left: 0.3em solid transparent;\n}\n\n.dropup .dropdown-toggle::after {\n border-top: 0;\n border-bottom: 0.3em solid;\n}\n\n.dropdown-menu {\n position: absolute;\n top: 100%;\n left: 0;\n z-index: 1000;\n display: none;\n float: left;\n min-width: 10rem;\n padding: 0.5rem 0;\n margin: 0.125rem 0 0;\n font-size: 1rem;\n color: #292b2c;\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-divider {\n height: 1px;\n margin: 0.5rem 0;\n overflow: hidden;\n background-color: #eceeef;\n}\n\n.dropdown-item {\n display: block;\n width: 100%;\n padding: 3px 1.5rem;\n clear: both;\n font-weight: normal;\n color: #292b2c;\n text-align: inherit;\n white-space: nowrap;\n background: none;\n border: 0;\n}\n\n.dropdown-item:focus, .dropdown-item:hover {\n color: #1d1e1f;\n text-decoration: none;\n background-color: #f7f7f9;\n}\n\n.dropdown-item.active, .dropdown-item:active {\n color: #fff;\n text-decoration: none;\n background-color: #0275d8;\n}\n\n.dropdown-item.disabled, .dropdown-item:disabled {\n color: #636c72;\n cursor: not-allowed;\n background-color: transparent;\n}\n\n.show > .dropdown-menu {\n display: block;\n}\n\n.show > a {\n outline: 0;\n}\n\n.dropdown-menu-right {\n right: 0;\n left: auto;\n}\n\n.dropdown-menu-left {\n right: auto;\n left: 0;\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: #636c72;\n white-space: nowrap;\n}\n\n.dropdown-backdrop {\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 990;\n}\n\n.dropup .dropdown-menu {\n top: auto;\n bottom: 100%;\n margin-bottom: 0.125rem;\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: 0 1 auto;\n margin-bottom: 0;\n}\n\n.btn-group > .btn:hover,\n.btn-group-vertical > .btn:hover {\n z-index: 2;\n}\n\n.btn-group > .btn:focus, .btn-group > .btn:active, .btn-group > .btn.active,\n.btn-group-vertical > .btn:focus,\n.btn-group-vertical > .btn:active,\n.btn-group-vertical > .btn.active {\n z-index: 2;\n}\n\n.btn-group .btn + .btn,\n.btn-group .btn + .btn-group,\n.btn-group .btn-group + .btn,\n.btn-group .btn-group + .btn-group,\n.btn-group-vertical .btn + .btn,\n.btn-group-vertical .btn + .btn-group,\n.btn-group-vertical .btn-group + .btn,\n.btn-group-vertical .btn-group + .btn-group {\n margin-left: -1px;\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):not(:last-child):not(.dropdown-toggle) {\n border-radius: 0;\n}\n\n.btn-group > .btn:first-child {\n margin-left: 0;\n}\n\n.btn-group > .btn:first-child:not(:last-child):not(.dropdown-toggle) {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n\n.btn-group > .btn:last-child:not(:first-child),\n.btn-group > .dropdown-toggle:not(:first-child) {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.btn-group > .btn-group {\n float: left;\n}\n\n.btn-group > .btn-group:not(:first-child):not(:last-child) > .btn {\n border-radius: 0;\n}\n\n.btn-group > .btn-group:first-child:not(:last-child) > .btn:last-child,\n.btn-group > .btn-group:first-child:not(:last-child) > .dropdown-toggle {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n\n.btn-group > .btn-group:last-child:not(:first-child) > .btn:first-child {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.btn-group .dropdown-toggle:active,\n.btn-group.open .dropdown-toggle {\n outline: 0;\n}\n\n.btn + .dropdown-toggle-split {\n padding-right: 0.75rem;\n padding-left: 0.75rem;\n}\n\n.btn + .dropdown-toggle-split::after {\n margin-left: 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: 1.125rem;\n padding-left: 1.125rem;\n}\n\n.btn-group-vertical {\n display: inline-flex;\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 + .btn,\n.btn-group-vertical > .btn + .btn-group,\n.btn-group-vertical > .btn-group + .btn,\n.btn-group-vertical > .btn-group + .btn-group {\n margin-top: -1px;\n margin-left: 0;\n}\n\n.btn-group-vertical > .btn:not(:first-child):not(:last-child) {\n border-radius: 0;\n}\n\n.btn-group-vertical > .btn:first-child:not(:last-child) {\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.btn-group-vertical > .btn:last-child:not(:first-child) {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n\n.btn-group-vertical > .btn-group:not(:first-child):not(:last-child) > .btn {\n border-radius: 0;\n}\n\n.btn-group-vertical > .btn-group:first-child:not(:last-child) > .btn:last-child,\n.btn-group-vertical > .btn-group:first-child:not(:last-child) > .dropdown-toggle {\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.btn-group-vertical > .btn-group:last-child:not(:first-child) > .btn:first-child {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n\n[data-toggle=\"buttons\"] > .btn input[type=\"radio\"],\n[data-toggle=\"buttons\"] > .btn input[type=\"checkbox\"],\n[data-toggle=\"buttons\"] > .btn-group > .btn input[type=\"radio\"],\n[data-toggle=\"buttons\"] > .btn-group > .btn input[type=\"checkbox\"] {\n position: absolute;\n clip: rect(0, 0, 0, 0);\n pointer-events: none;\n}\n\n.input-group {\n position: relative;\n display: flex;\n width: 100%;\n}\n\n.input-group .form-control {\n position: relative;\n z-index: 2;\n flex: 1 1 auto;\n width: 1%;\n margin-bottom: 0;\n}\n\n.input-group .form-control:focus, .input-group .form-control:active, .input-group .form-control:hover {\n z-index: 3;\n}\n\n.input-group-addon,\n.input-group-btn,\n.input-group .form-control {\n display: flex;\n align-items: center;\n}\n\n.input-group-addon:not(:first-child):not(:last-child),\n.input-group-btn:not(:first-child):not(:last-child),\n.input-group .form-control:not(:first-child):not(:last-child) {\n border-radius: 0;\n}\n\n.input-group-addon,\n.input-group-btn {\n white-space: nowrap;\n vertical-align: middle;\n}\n\n.input-group-addon {\n padding: 0.5rem 0.75rem;\n margin-bottom: 0;\n font-size: 1rem;\n font-weight: normal;\n line-height: 1.25;\n color: #464a4c;\n text-align: center;\n background-color: #eceeef;\n border: 1px solid rgba(0, 0, 0, 0.15);\n border-radius: 0.25rem;\n}\n\n.input-group-addon.form-control-sm,\n.input-group-sm > .input-group-addon,\n.input-group-sm > .input-group-btn > .input-group-addon.btn {\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n border-radius: 0.2rem;\n}\n\n.input-group-addon.form-control-lg,\n.input-group-lg > .input-group-addon,\n.input-group-lg > .input-group-btn > .input-group-addon.btn {\n padding: 0.75rem 1.5rem;\n font-size: 1.25rem;\n border-radius: 0.3rem;\n}\n\n.input-group-addon input[type=\"radio\"],\n.input-group-addon input[type=\"checkbox\"] {\n margin-top: 0;\n}\n\n.input-group .form-control:not(:last-child),\n.input-group-addon:not(:last-child),\n.input-group-btn:not(:last-child) > .btn,\n.input-group-btn:not(:last-child) > .btn-group > .btn,\n.input-group-btn:not(:last-child) > .dropdown-toggle,\n.input-group-btn:not(:first-child) > .btn:not(:last-child):not(.dropdown-toggle),\n.input-group-btn:not(:first-child) > .btn-group:not(:last-child) > .btn {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n\n.input-group-addon:not(:last-child) {\n border-right: 0;\n}\n\n.input-group .form-control:not(:first-child),\n.input-group-addon:not(:first-child),\n.input-group-btn:not(:first-child) > .btn,\n.input-group-btn:not(:first-child) > .btn-group > .btn,\n.input-group-btn:not(:first-child) > .dropdown-toggle,\n.input-group-btn:not(:last-child) > .btn:not(:first-child),\n.input-group-btn:not(:last-child) > .btn-group:not(:first-child) > .btn {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.form-control + .input-group-addon:not(:first-child) {\n border-left: 0;\n}\n\n.input-group-btn {\n position: relative;\n font-size: 0;\n white-space: nowrap;\n}\n\n.input-group-btn > .btn {\n position: relative;\n}\n\n.input-group-btn > .btn + .btn {\n margin-left: -1px;\n}\n\n.input-group-btn > .btn:focus, .input-group-btn > .btn:active, .input-group-btn > .btn:hover {\n z-index: 3;\n}\n\n.input-group-btn:not(:last-child) > .btn,\n.input-group-btn:not(:last-child) > .btn-group {\n margin-right: -1px;\n}\n\n.input-group-btn:not(:first-child) > .btn,\n.input-group-btn:not(:first-child) > .btn-group {\n z-index: 2;\n margin-left: -1px;\n}\n\n.input-group-btn:not(:first-child) > .btn:focus, .input-group-btn:not(:first-child) > .btn:active, .input-group-btn:not(:first-child) > .btn:hover,\n.input-group-btn:not(:first-child) > .btn-group:focus,\n.input-group-btn:not(:first-child) > .btn-group:active,\n.input-group-btn:not(:first-child) > .btn-group:hover {\n z-index: 3;\n}\n\n.custom-control {\n position: relative;\n display: inline-flex;\n min-height: 1.5rem;\n padding-left: 1.5rem;\n margin-right: 1rem;\n}\n\n.custom-control-input {\n position: absolute;\n z-index: -1;\n opacity: 0;\n}\n\n.custom-control-input:checked ~ .custom-control-indicator {\n color: #fff;\n background-color: #0275d8;\n}\n\n.custom-control-input:focus ~ .custom-control-indicator {\n box-shadow: 0 0 0 1px #fff, 0 0 0 3px #0275d8;\n}\n\n.custom-control-input:active ~ .custom-control-indicator {\n color: #fff;\n background-color: #8fcafe;\n}\n\n.custom-control-input:disabled ~ .custom-control-indicator {\n cursor: not-allowed;\n background-color: #eceeef;\n}\n\n.custom-control-input:disabled ~ .custom-control-description {\n color: #636c72;\n cursor: not-allowed;\n}\n\n.custom-control-indicator {\n position: absolute;\n top: 0.25rem;\n left: 0;\n display: block;\n width: 1rem;\n height: 1rem;\n pointer-events: none;\n user-select: none;\n background-color: #ddd;\n background-repeat: no-repeat;\n background-position: center center;\n background-size: 50% 50%;\n}\n\n.custom-checkbox .custom-control-indicator {\n border-radius: 0.25rem;\n}\n\n.custom-checkbox .custom-control-input:checked ~ .custom-control-indicator {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3E%3C/svg%3E\");\n}\n\n.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-indicator {\n background-color: #0275d8;\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 4'%3E%3Cpath stroke='%23fff' d='M0 2h4'/%3E%3C/svg%3E\");\n}\n\n.custom-radio .custom-control-indicator {\n border-radius: 50%;\n}\n\n.custom-radio .custom-control-input:checked ~ .custom-control-indicator {\n background-image: url(\"data:image/svg+xml;charset=utf8,%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.custom-controls-stacked {\n display: flex;\n flex-direction: column;\n}\n\n.custom-controls-stacked .custom-control {\n margin-bottom: 0.25rem;\n}\n\n.custom-controls-stacked .custom-control + .custom-control {\n margin-left: 0;\n}\n\n.custom-select {\n display: inline-block;\n max-width: 100%;\n height: calc(2.25rem + 2px);\n padding: 0.375rem 1.75rem 0.375rem 0.75rem;\n line-height: 1.25;\n color: #464a4c;\n vertical-align: middle;\n background: #fff url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3E%3Cpath fill='%23333' d='M2 0L0 2h4zm0 5L0 3h4z'/%3E%3C/svg%3E\") no-repeat right 0.75rem center;\n background-size: 8px 10px;\n border: 1px solid rgba(0, 0, 0, 0.15);\n border-radius: 0.25rem;\n appearance: none;\n}\n\n.custom-select:focus {\n border-color: #5cb3fd;\n outline: none;\n}\n\n.custom-select:focus::-ms-value {\n color: #464a4c;\n background-color: #fff;\n}\n\n.custom-select:disabled {\n color: #636c72;\n cursor: not-allowed;\n background-color: #eceeef;\n}\n\n.custom-select::-ms-expand {\n opacity: 0;\n}\n\n.custom-select-sm {\n padding-top: 0.375rem;\n padding-bottom: 0.375rem;\n font-size: 75%;\n}\n\n.custom-file {\n position: relative;\n display: inline-block;\n max-width: 100%;\n height: 2.5rem;\n margin-bottom: 0;\n}\n\n.custom-file-input {\n min-width: 14rem;\n max-width: 100%;\n height: 2.5rem;\n margin: 0;\n opacity: 0;\n}\n\n.custom-file-control {\n position: absolute;\n top: 0;\n right: 0;\n left: 0;\n z-index: 5;\n height: 2.5rem;\n padding: 0.5rem 1rem;\n line-height: 1.5;\n color: #464a4c;\n pointer-events: none;\n user-select: none;\n background-color: #fff;\n border: 1px solid rgba(0, 0, 0, 0.15);\n border-radius: 0.25rem;\n}\n\n.custom-file-control:lang(en):empty::after {\n content: \"Choose file...\";\n}\n\n.custom-file-control::before {\n position: absolute;\n top: -1px;\n right: -1px;\n bottom: -1px;\n z-index: 6;\n display: block;\n height: 2.5rem;\n padding: 0.5rem 1rem;\n line-height: 1.5;\n color: #464a4c;\n background-color: #eceeef;\n border: 1px solid rgba(0, 0, 0, 0.15);\n border-radius: 0 0.25rem 0.25rem 0;\n}\n\n.custom-file-control:lang(en)::before {\n content: \"Browse\";\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.5em 1em;\n}\n\n.nav-link:focus, .nav-link:hover {\n text-decoration: none;\n}\n\n.nav-link.disabled {\n color: #636c72;\n cursor: not-allowed;\n}\n\n.nav-tabs {\n border-bottom: 1px solid #ddd;\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:focus, .nav-tabs .nav-link:hover {\n border-color: #eceeef #eceeef #ddd;\n}\n\n.nav-tabs .nav-link.disabled {\n color: #636c72;\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: #464a4c;\n background-color: #fff;\n border-color: #ddd #ddd #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 .nav-item.show .nav-link {\n color: #fff;\n background-color: #0275d8;\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-direction: column;\n padding: 0.5rem 1rem;\n}\n\n@media (max-width: 575px) {\n .navbar > .container {\n margin-right: 0;\n margin-left: 0;\n }\n}\n\n.navbar-brand {\n display: inline-block;\n align-self: flex-start;\n padding-top: .25rem;\n padding-bottom: .25rem;\n margin-right: 1rem;\n font-size: 1.25rem;\n line-height: inherit;\n white-space: nowrap;\n}\n\n.navbar-brand:focus, .navbar-brand:hover {\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-text {\n display: inline-block;\n padding-top: .425rem;\n padding-bottom: .425rem;\n}\n\n.navbar-toggler {\n align-self: flex-start;\n padding: 0.25rem 0.75rem;\n font-size: 1.25rem;\n line-height: 1;\n background: transparent;\n border: 1px solid transparent;\n border-radius: 0.25rem;\n}\n\n.navbar-toggler:focus, .navbar-toggler:hover {\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.navbar-toggler-left {\n position: absolute;\n left: 1rem;\n}\n\n.navbar-toggler-right {\n position: absolute;\n right: 1rem;\n}\n\n@media (max-width: 575px) {\n .navbar-toggleable .navbar-nav .dropdown-menu {\n position: static;\n float: none;\n }\n .navbar-toggleable > .container {\n padding-right: 0;\n padding-left: 0;\n }\n}\n\n@media (min-width: 576px) {\n .navbar-toggleable {\n flex-direction: row;\n flex-wrap: nowrap;\n align-items: center;\n }\n .navbar-toggleable .navbar-nav {\n flex-direction: row;\n }\n .navbar-toggleable .navbar-nav .nav-link {\n padding-right: .5rem;\n padding-left: .5rem;\n }\n .navbar-toggleable > .container {\n display: flex;\n flex-wrap: nowrap;\n align-items: center;\n }\n .navbar-toggleable .navbar-collapse {\n display: flex !important;\n width: 100%;\n }\n .navbar-toggleable .navbar-toggler {\n display: none;\n }\n}\n\n@media (max-width: 767px) {\n .navbar-toggleable-sm .navbar-nav .dropdown-menu {\n position: static;\n float: none;\n }\n .navbar-toggleable-sm > .container {\n padding-right: 0;\n padding-left: 0;\n }\n}\n\n@media (min-width: 768px) {\n .navbar-toggleable-sm {\n flex-direction: row;\n flex-wrap: nowrap;\n align-items: center;\n }\n .navbar-toggleable-sm .navbar-nav {\n flex-direction: row;\n }\n .navbar-toggleable-sm .navbar-nav .nav-link {\n padding-right: .5rem;\n padding-left: .5rem;\n }\n .navbar-toggleable-sm > .container {\n display: flex;\n flex-wrap: nowrap;\n align-items: center;\n }\n .navbar-toggleable-sm .navbar-collapse {\n display: flex !important;\n width: 100%;\n }\n .navbar-toggleable-sm .navbar-toggler {\n display: none;\n }\n}\n\n@media (max-width: 991px) {\n .navbar-toggleable-md .navbar-nav .dropdown-menu {\n position: static;\n float: none;\n }\n .navbar-toggleable-md > .container {\n padding-right: 0;\n padding-left: 0;\n }\n}\n\n@media (min-width: 992px) {\n .navbar-toggleable-md {\n flex-direction: row;\n flex-wrap: nowrap;\n align-items: center;\n }\n .navbar-toggleable-md .navbar-nav {\n flex-direction: row;\n }\n .navbar-toggleable-md .navbar-nav .nav-link {\n padding-right: .5rem;\n padding-left: .5rem;\n }\n .navbar-toggleable-md > .container {\n display: flex;\n flex-wrap: nowrap;\n align-items: center;\n }\n .navbar-toggleable-md .navbar-collapse {\n display: flex !important;\n width: 100%;\n }\n .navbar-toggleable-md .navbar-toggler {\n display: none;\n }\n}\n\n@media (max-width: 1199px) {\n .navbar-toggleable-lg .navbar-nav .dropdown-menu {\n position: static;\n float: none;\n }\n .navbar-toggleable-lg > .container {\n padding-right: 0;\n padding-left: 0;\n }\n}\n\n@media (min-width: 1200px) {\n .navbar-toggleable-lg {\n flex-direction: row;\n flex-wrap: nowrap;\n align-items: center;\n }\n .navbar-toggleable-lg .navbar-nav {\n flex-direction: row;\n }\n .navbar-toggleable-lg .navbar-nav .nav-link {\n padding-right: .5rem;\n padding-left: .5rem;\n }\n .navbar-toggleable-lg > .container {\n display: flex;\n flex-wrap: nowrap;\n align-items: center;\n }\n .navbar-toggleable-lg .navbar-collapse {\n display: flex !important;\n width: 100%;\n }\n .navbar-toggleable-lg .navbar-toggler {\n display: none;\n }\n}\n\n.navbar-toggleable-xl {\n flex-direction: row;\n flex-wrap: nowrap;\n align-items: center;\n}\n\n.navbar-toggleable-xl .navbar-nav .dropdown-menu {\n position: static;\n float: none;\n}\n\n.navbar-toggleable-xl > .container {\n padding-right: 0;\n padding-left: 0;\n}\n\n.navbar-toggleable-xl .navbar-nav {\n flex-direction: row;\n}\n\n.navbar-toggleable-xl .navbar-nav .nav-link {\n padding-right: .5rem;\n padding-left: .5rem;\n}\n\n.navbar-toggleable-xl > .container {\n display: flex;\n flex-wrap: nowrap;\n align-items: center;\n}\n\n.navbar-toggleable-xl .navbar-collapse {\n display: flex !important;\n width: 100%;\n}\n\n.navbar-toggleable-xl .navbar-toggler {\n display: none;\n}\n\n.navbar-light .navbar-brand,\n.navbar-light .navbar-toggler {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-light .navbar-brand:focus, .navbar-light .navbar-brand:hover,\n.navbar-light .navbar-toggler:focus,\n.navbar-light .navbar-toggler:hover {\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:focus, .navbar-light .navbar-nav .nav-link:hover {\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 .open > .nav-link,\n.navbar-light .navbar-nav .active > .nav-link,\n.navbar-light .navbar-nav .nav-link.open,\n.navbar-light .navbar-nav .nav-link.active {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-light .navbar-toggler {\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;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(0, 0, 0, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' 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-inverse .navbar-brand,\n.navbar-inverse .navbar-toggler {\n color: white;\n}\n\n.navbar-inverse .navbar-brand:focus, .navbar-inverse .navbar-brand:hover,\n.navbar-inverse .navbar-toggler:focus,\n.navbar-inverse .navbar-toggler:hover {\n color: white;\n}\n\n.navbar-inverse .navbar-nav .nav-link {\n color: rgba(255, 255, 255, 0.5);\n}\n\n.navbar-inverse .navbar-nav .nav-link:focus, .navbar-inverse .navbar-nav .nav-link:hover {\n color: rgba(255, 255, 255, 0.75);\n}\n\n.navbar-inverse .navbar-nav .nav-link.disabled {\n color: rgba(255, 255, 255, 0.25);\n}\n\n.navbar-inverse .navbar-nav .open > .nav-link,\n.navbar-inverse .navbar-nav .active > .nav-link,\n.navbar-inverse .navbar-nav .nav-link.open,\n.navbar-inverse .navbar-nav .nav-link.active {\n color: white;\n}\n\n.navbar-inverse .navbar-toggler {\n border-color: rgba(255, 255, 255, 0.1);\n}\n\n.navbar-inverse .navbar-toggler-icon {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(255, 255, 255, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E\");\n}\n\n.navbar-inverse .navbar-text {\n color: rgba(255, 255, 255, 0.5);\n}\n\n.card {\n position: relative;\n display: flex;\n flex-direction: column;\n background-color: #fff;\n border: 1px solid rgba(0, 0, 0, 0.125);\n border-radius: 0.25rem;\n}\n\n.card-block {\n flex: 1 1 auto;\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 > .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-header {\n padding: 0.75rem 1.25rem;\n margin-bottom: 0;\n background-color: #f7f7f9;\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-footer {\n padding: 0.75rem 1.25rem;\n background-color: #f7f7f9;\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-primary {\n background-color: #0275d8;\n border-color: #0275d8;\n}\n\n.card-primary .card-header,\n.card-primary .card-footer {\n background-color: transparent;\n}\n\n.card-success {\n background-color: #5cb85c;\n border-color: #5cb85c;\n}\n\n.card-success .card-header,\n.card-success .card-footer {\n background-color: transparent;\n}\n\n.card-info {\n background-color: #5bc0de;\n border-color: #5bc0de;\n}\n\n.card-info .card-header,\n.card-info .card-footer {\n background-color: transparent;\n}\n\n.card-warning {\n background-color: #f0ad4e;\n border-color: #f0ad4e;\n}\n\n.card-warning .card-header,\n.card-warning .card-footer {\n background-color: transparent;\n}\n\n.card-danger {\n background-color: #d9534f;\n border-color: #d9534f;\n}\n\n.card-danger .card-header,\n.card-danger .card-footer {\n background-color: transparent;\n}\n\n.card-outline-primary {\n background-color: transparent;\n border-color: #0275d8;\n}\n\n.card-outline-secondary {\n background-color: transparent;\n border-color: #ccc;\n}\n\n.card-outline-info {\n background-color: transparent;\n border-color: #5bc0de;\n}\n\n.card-outline-success {\n background-color: transparent;\n border-color: #5cb85c;\n}\n\n.card-outline-warning {\n background-color: transparent;\n border-color: #f0ad4e;\n}\n\n.card-outline-danger {\n background-color: transparent;\n border-color: #d9534f;\n}\n\n.card-inverse {\n color: rgba(255, 255, 255, 0.65);\n}\n\n.card-inverse .card-header,\n.card-inverse .card-footer {\n background-color: transparent;\n border-color: rgba(255, 255, 255, 0.2);\n}\n\n.card-inverse .card-header,\n.card-inverse .card-footer,\n.card-inverse .card-title,\n.card-inverse .card-blockquote {\n color: #fff;\n}\n\n.card-inverse .card-link,\n.card-inverse .card-text,\n.card-inverse .card-subtitle,\n.card-inverse .card-blockquote .blockquote-footer {\n color: rgba(255, 255, 255, 0.65);\n}\n\n.card-inverse .card-link:focus, .card-inverse .card-link:hover {\n color: #fff;\n}\n\n.card-blockquote {\n padding: 0;\n margin-bottom: 0;\n border-left: 0;\n}\n\n.card-img {\n border-radius: calc(0.25rem - 1px);\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-top {\n border-top-left-radius: calc(0.25rem - 1px);\n border-top-right-radius: calc(0.25rem - 1px);\n}\n\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@media (min-width: 576px) {\n .card-deck {\n display: flex;\n flex-flow: row wrap;\n }\n .card-deck .card {\n display: flex;\n flex: 1 0 0;\n flex-direction: column;\n }\n .card-deck .card:not(:first-child) {\n margin-left: 15px;\n }\n .card-deck .card:not(:last-child) {\n margin-right: 15px;\n }\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 }\n .card-group .card + .card {\n margin-left: 0;\n border-left: 0;\n }\n .card-group .card:first-child {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n }\n .card-group .card:first-child .card-img-top {\n border-top-right-radius: 0;\n }\n .card-group .card:first-child .card-img-bottom {\n border-bottom-right-radius: 0;\n }\n .card-group .card:last-child {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n }\n .card-group .card:last-child .card-img-top {\n border-top-left-radius: 0;\n }\n .card-group .card:last-child .card-img-bottom {\n border-bottom-left-radius: 0;\n }\n .card-group .card:not(:first-child):not(:last-child) {\n border-radius: 0;\n }\n .card-group .card:not(:first-child):not(:last-child) .card-img-top,\n .card-group .card:not(:first-child):not(:last-child) .card-img-bottom {\n border-radius: 0;\n }\n}\n\n@media (min-width: 576px) {\n .card-columns {\n column-count: 3;\n column-gap: 1.25rem;\n }\n .card-columns .card {\n display: inline-block;\n width: 100%;\n margin-bottom: 0.75rem;\n }\n}\n\n.breadcrumb {\n padding: 0.75rem 1rem;\n margin-bottom: 1rem;\n list-style: none;\n background-color: #eceeef;\n border-radius: 0.25rem;\n}\n\n.breadcrumb::after {\n display: block;\n clear: both;\n content: \"\";\n}\n\n.breadcrumb-item {\n float: left;\n}\n\n.breadcrumb-item + .breadcrumb-item::before {\n display: inline-block;\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n color: #636c72;\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: #636c72;\n}\n\n.pagination {\n display: flex;\n padding-left: 0;\n list-style: none;\n border-radius: 0.25rem;\n}\n\n.page-item:first-child .page-link {\n margin-left: 0;\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.page-item.active .page-link {\n z-index: 2;\n color: #fff;\n background-color: #0275d8;\n border-color: #0275d8;\n}\n\n.page-item.disabled .page-link {\n color: #636c72;\n pointer-events: none;\n cursor: not-allowed;\n background-color: #fff;\n border-color: #ddd;\n}\n\n.page-link {\n position: relative;\n display: block;\n padding: 0.5rem 0.75rem;\n margin-left: -1px;\n line-height: 1.25;\n color: #0275d8;\n background-color: #fff;\n border: 1px solid #ddd;\n}\n\n.page-link:focus, .page-link:hover {\n color: #014c8c;\n text-decoration: none;\n background-color: #eceeef;\n border-color: #ddd;\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.4em;\n font-size: 75%;\n font-weight: bold;\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\na.badge:focus, a.badge:hover {\n color: #fff;\n text-decoration: none;\n}\n\n.badge-pill {\n padding-right: 0.6em;\n padding-left: 0.6em;\n border-radius: 10rem;\n}\n\n.badge-default {\n background-color: #636c72;\n}\n\n.badge-default[href]:focus, .badge-default[href]:hover {\n background-color: #4b5257;\n}\n\n.badge-primary {\n background-color: #0275d8;\n}\n\n.badge-primary[href]:focus, .badge-primary[href]:hover {\n background-color: #025aa5;\n}\n\n.badge-success {\n background-color: #5cb85c;\n}\n\n.badge-success[href]:focus, .badge-success[href]:hover {\n background-color: #449d44;\n}\n\n.badge-info {\n background-color: #5bc0de;\n}\n\n.badge-info[href]:focus, .badge-info[href]:hover {\n background-color: #31b0d5;\n}\n\n.badge-warning {\n background-color: #f0ad4e;\n}\n\n.badge-warning[href]:focus, .badge-warning[href]:hover {\n background-color: #ec971f;\n}\n\n.badge-danger {\n background-color: #d9534f;\n}\n\n.badge-danger[href]:focus, .badge-danger[href]:hover {\n background-color: #c9302c;\n}\n\n.jumbotron {\n padding: 2rem 1rem;\n margin-bottom: 2rem;\n background-color: #eceeef;\n border-radius: 0.3rem;\n}\n\n@media (min-width: 576px) {\n .jumbotron {\n padding: 4rem 2rem;\n }\n}\n\n.jumbotron-hr {\n border-top-color: #d0d5d8;\n}\n\n.jumbotron-fluid {\n padding-right: 0;\n padding-left: 0;\n border-radius: 0;\n}\n\n.alert {\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: bold;\n}\n\n.alert-dismissible .close {\n position: relative;\n top: -0.75rem;\n right: -1.25rem;\n padding: 0.75rem 1.25rem;\n color: inherit;\n}\n\n.alert-success {\n color: #3c763d;\n background-color: #dff0d8;\n border-color: #d0e9c6;\n}\n\n.alert-success hr {\n border-top-color: #c1e2b3;\n}\n\n.alert-success .alert-link {\n color: #2b542c;\n}\n\n.alert-info {\n color: #31708f;\n background-color: #d9edf7;\n border-color: #bcdff1;\n}\n\n.alert-info hr {\n border-top-color: #a6d5ec;\n}\n\n.alert-info .alert-link {\n color: #245269;\n}\n\n.alert-warning {\n color: #8a6d3b;\n background-color: #fcf8e3;\n border-color: #faf2cc;\n}\n\n.alert-warning hr {\n border-top-color: #f7ecb5;\n}\n\n.alert-warning .alert-link {\n color: #66512c;\n}\n\n.alert-danger {\n color: #a94442;\n background-color: #f2dede;\n border-color: #ebcccc;\n}\n\n.alert-danger hr {\n border-top-color: #e4b9b9;\n}\n\n.alert-danger .alert-link {\n color: #843534;\n}\n\n@keyframes progress-bar-stripes {\n from {\n background-position: 1rem 0;\n }\n to {\n background-position: 0 0;\n }\n}\n\n.progress {\n display: flex;\n overflow: hidden;\n font-size: 0.75rem;\n line-height: 1rem;\n text-align: center;\n background-color: #eceeef;\n border-radius: 0.25rem;\n}\n\n.progress-bar {\n height: 1rem;\n line-height: 1rem;\n color: #fff;\n background-color: #0275d8;\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 {\n display: flex;\n align-items: flex-start;\n}\n\n.media-body {\n flex: 1;\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: #464a4c;\n text-align: inherit;\n}\n\n.list-group-item-action:focus, .list-group-item-action:hover {\n color: #464a4c;\n text-decoration: none;\n background-color: #f7f7f9;\n}\n\n.list-group-item-action:active {\n color: #292b2c;\n background-color: #eceeef;\n}\n\n.list-group-item {\n position: relative;\n display: block;\n padding: 0.75rem 1.25rem;\n margin-bottom: -1px;\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 margin-bottom: 0;\n border-bottom-right-radius: 0.25rem;\n border-bottom-left-radius: 0.25rem;\n}\n\n.list-group-item:focus, .list-group-item:hover {\n text-decoration: none;\n}\n\n.list-group-item.disabled, .list-group-item:disabled {\n color: #636c72;\n cursor: not-allowed;\n background-color: #fff;\n}\n\n.list-group-item.active {\n z-index: 2;\n color: #fff;\n background-color: #0275d8;\n border-color: #0275d8;\n}\n\n.list-group-flush .list-group-item {\n border-right: 0;\n border-left: 0;\n border-radius: 0;\n}\n\n.list-group-flush:first-child .list-group-item:first-child {\n border-top: 0;\n}\n\n.list-group-flush:last-child .list-group-item:last-child {\n border-bottom: 0;\n}\n\n.list-group-item-success {\n color: #3c763d;\n background-color: #dff0d8;\n}\n\na.list-group-item-success,\nbutton.list-group-item-success {\n color: #3c763d;\n}\n\na.list-group-item-success:focus, a.list-group-item-success:hover,\nbutton.list-group-item-success:focus,\nbutton.list-group-item-success:hover {\n color: #3c763d;\n background-color: #d0e9c6;\n}\n\na.list-group-item-success.active,\nbutton.list-group-item-success.active {\n color: #fff;\n background-color: #3c763d;\n border-color: #3c763d;\n}\n\n.list-group-item-info {\n color: #31708f;\n background-color: #d9edf7;\n}\n\na.list-group-item-info,\nbutton.list-group-item-info {\n color: #31708f;\n}\n\na.list-group-item-info:focus, a.list-group-item-info:hover,\nbutton.list-group-item-info:focus,\nbutton.list-group-item-info:hover {\n color: #31708f;\n background-color: #c4e3f3;\n}\n\na.list-group-item-info.active,\nbutton.list-group-item-info.active {\n color: #fff;\n background-color: #31708f;\n border-color: #31708f;\n}\n\n.list-group-item-warning {\n color: #8a6d3b;\n background-color: #fcf8e3;\n}\n\na.list-group-item-warning,\nbutton.list-group-item-warning {\n color: #8a6d3b;\n}\n\na.list-group-item-warning:focus, a.list-group-item-warning:hover,\nbutton.list-group-item-warning:focus,\nbutton.list-group-item-warning:hover {\n color: #8a6d3b;\n background-color: #faf2cc;\n}\n\na.list-group-item-warning.active,\nbutton.list-group-item-warning.active {\n color: #fff;\n background-color: #8a6d3b;\n border-color: #8a6d3b;\n}\n\n.list-group-item-danger {\n color: #a94442;\n background-color: #f2dede;\n}\n\na.list-group-item-danger,\nbutton.list-group-item-danger {\n color: #a94442;\n}\n\na.list-group-item-danger:focus, a.list-group-item-danger:hover,\nbutton.list-group-item-danger:focus,\nbutton.list-group-item-danger:hover {\n color: #a94442;\n background-color: #ebcccc;\n}\n\na.list-group-item-danger.active,\nbutton.list-group-item-danger.active {\n color: #fff;\n background-color: #a94442;\n border-color: #a94442;\n}\n\n.embed-responsive {\n position: relative;\n display: block;\n width: 100%;\n padding: 0;\n overflow: hidden;\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 bottom: 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.close {\n float: right;\n font-size: 1.5rem;\n font-weight: bold;\n line-height: 1;\n color: #000;\n text-shadow: 0 1px 0 #fff;\n opacity: .5;\n}\n\n.close:focus, .close:hover {\n color: #000;\n text-decoration: none;\n opacity: .75;\n}\n\nbutton.close {\n padding: 0;\n background: transparent;\n border: 0;\n -webkit-appearance: none;\n}\n\n.modal-open {\n overflow: hidden;\n}\n\n.modal {\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1050;\n display: none;\n overflow: hidden;\n outline: 0;\n}\n\n.modal.fade .modal-dialog {\n transition: transform 0.3s ease-out;\n transform: translate(0, -25%);\n}\n\n.modal.show .modal-dialog {\n transform: translate(0, 0);\n}\n\n.modal-open .modal {\n overflow-x: hidden;\n overflow-y: auto;\n}\n\n.modal-dialog {\n position: relative;\n width: auto;\n margin: 10px;\n}\n\n.modal-content {\n position: relative;\n display: flex;\n flex-direction: column;\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 right: 0;\n bottom: 0;\n left: 0;\n z-index: 1040;\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: center;\n justify-content: space-between;\n padding: 15px;\n border-bottom: 1px solid #eceeef;\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: 15px;\n}\n\n.modal-footer {\n display: flex;\n align-items: center;\n justify-content: flex-end;\n padding: 15px;\n border-top: 1px solid #eceeef;\n}\n\n.modal-footer > :not(:first-child) {\n margin-left: .25rem;\n}\n\n.modal-footer > :not(:last-child) {\n margin-right: .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: 30px auto;\n }\n .modal-sm {\n max-width: 300px;\n }\n}\n\n@media (min-width: 992px) {\n .modal-lg {\n max-width: 800px;\n }\n}\n\n.tooltip {\n position: absolute;\n z-index: 1070;\n display: block;\n font-family: -apple-system, system-ui, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif;\n font-style: normal;\n font-weight: normal;\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-top, .tooltip.bs-tether-element-attached-bottom {\n padding: 5px 0;\n margin-top: -3px;\n}\n\n.tooltip.tooltip-top .tooltip-inner::before, .tooltip.bs-tether-element-attached-bottom .tooltip-inner::before {\n bottom: 0;\n left: 50%;\n margin-left: -5px;\n content: \"\";\n border-width: 5px 5px 0;\n border-top-color: #000;\n}\n\n.tooltip.tooltip-right, .tooltip.bs-tether-element-attached-left {\n padding: 0 5px;\n margin-left: 3px;\n}\n\n.tooltip.tooltip-right .tooltip-inner::before, .tooltip.bs-tether-element-attached-left .tooltip-inner::before {\n top: 50%;\n left: 0;\n margin-top: -5px;\n content: \"\";\n border-width: 5px 5px 5px 0;\n border-right-color: #000;\n}\n\n.tooltip.tooltip-bottom, .tooltip.bs-tether-element-attached-top {\n padding: 5px 0;\n margin-top: 3px;\n}\n\n.tooltip.tooltip-bottom .tooltip-inner::before, .tooltip.bs-tether-element-attached-top .tooltip-inner::before {\n top: 0;\n left: 50%;\n margin-left: -5px;\n content: \"\";\n border-width: 0 5px 5px;\n border-bottom-color: #000;\n}\n\n.tooltip.tooltip-left, .tooltip.bs-tether-element-attached-right {\n padding: 0 5px;\n margin-left: -3px;\n}\n\n.tooltip.tooltip-left .tooltip-inner::before, .tooltip.bs-tether-element-attached-right .tooltip-inner::before {\n top: 50%;\n right: 0;\n margin-top: -5px;\n content: \"\";\n border-width: 5px 0 5px 5px;\n border-left-color: #000;\n}\n\n.tooltip-inner {\n max-width: 200px;\n padding: 3px 8px;\n color: #fff;\n text-align: center;\n background-color: #000;\n border-radius: 0.25rem;\n}\n\n.tooltip-inner::before {\n position: absolute;\n width: 0;\n height: 0;\n border-color: transparent;\n border-style: solid;\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 padding: 1px;\n font-family: -apple-system, system-ui, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif;\n font-style: normal;\n font-weight: normal;\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-top, .popover.bs-tether-element-attached-bottom {\n margin-top: -10px;\n}\n\n.popover.popover-top::before, .popover.popover-top::after, .popover.bs-tether-element-attached-bottom::before, .popover.bs-tether-element-attached-bottom::after {\n left: 50%;\n border-bottom-width: 0;\n}\n\n.popover.popover-top::before, .popover.bs-tether-element-attached-bottom::before {\n bottom: -11px;\n margin-left: -11px;\n border-top-color: rgba(0, 0, 0, 0.25);\n}\n\n.popover.popover-top::after, .popover.bs-tether-element-attached-bottom::after {\n bottom: -10px;\n margin-left: -10px;\n border-top-color: #fff;\n}\n\n.popover.popover-right, .popover.bs-tether-element-attached-left {\n margin-left: 10px;\n}\n\n.popover.popover-right::before, .popover.popover-right::after, .popover.bs-tether-element-attached-left::before, .popover.bs-tether-element-attached-left::after {\n top: 50%;\n border-left-width: 0;\n}\n\n.popover.popover-right::before, .popover.bs-tether-element-attached-left::before {\n left: -11px;\n margin-top: -11px;\n border-right-color: rgba(0, 0, 0, 0.25);\n}\n\n.popover.popover-right::after, .popover.bs-tether-element-attached-left::after {\n left: -10px;\n margin-top: -10px;\n border-right-color: #fff;\n}\n\n.popover.popover-bottom, .popover.bs-tether-element-attached-top {\n margin-top: 10px;\n}\n\n.popover.popover-bottom::before, .popover.popover-bottom::after, .popover.bs-tether-element-attached-top::before, .popover.bs-tether-element-attached-top::after {\n left: 50%;\n border-top-width: 0;\n}\n\n.popover.popover-bottom::before, .popover.bs-tether-element-attached-top::before {\n top: -11px;\n margin-left: -11px;\n border-bottom-color: rgba(0, 0, 0, 0.25);\n}\n\n.popover.popover-bottom::after, .popover.bs-tether-element-attached-top::after {\n top: -10px;\n margin-left: -10px;\n border-bottom-color: #f7f7f7;\n}\n\n.popover.popover-bottom .popover-title::before, .popover.bs-tether-element-attached-top .popover-title::before {\n position: absolute;\n top: 0;\n left: 50%;\n display: block;\n width: 20px;\n margin-left: -10px;\n content: \"\";\n border-bottom: 1px solid #f7f7f7;\n}\n\n.popover.popover-left, .popover.bs-tether-element-attached-right {\n margin-left: -10px;\n}\n\n.popover.popover-left::before, .popover.popover-left::after, .popover.bs-tether-element-attached-right::before, .popover.bs-tether-element-attached-right::after {\n top: 50%;\n border-right-width: 0;\n}\n\n.popover.popover-left::before, .popover.bs-tether-element-attached-right::before {\n right: -11px;\n margin-top: -11px;\n border-left-color: rgba(0, 0, 0, 0.25);\n}\n\n.popover.popover-left::after, .popover.bs-tether-element-attached-right::after {\n right: -10px;\n margin-top: -10px;\n border-left-color: #fff;\n}\n\n.popover-title {\n padding: 8px 14px;\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-title:empty {\n display: none;\n}\n\n.popover-content {\n padding: 9px 14px;\n}\n\n.popover::before,\n.popover::after {\n position: absolute;\n display: block;\n width: 0;\n height: 0;\n border-color: transparent;\n border-style: solid;\n}\n\n.popover::before {\n content: \"\";\n border-width: 11px;\n}\n\n.popover::after {\n content: \"\";\n border-width: 10px;\n}\n\n.carousel {\n position: relative;\n}\n\n.carousel-inner {\n position: relative;\n width: 100%;\n overflow: hidden;\n}\n\n.carousel-item {\n position: relative;\n display: none;\n width: 100%;\n}\n\n@media (-webkit-transform-3d) {\n .carousel-item {\n transition: transform 0.6s ease-in-out;\n backface-visibility: hidden;\n perspective: 1000px;\n }\n}\n\n@supports (transform: translate3d(0, 0, 0)) {\n .carousel-item {\n transition: transform 0.6s ease-in-out;\n backface-visibility: hidden;\n perspective: 1000px;\n }\n}\n\n.carousel-item.active,\n.carousel-item-next,\n.carousel-item-prev {\n display: flex;\n}\n\n.carousel-item-next,\n.carousel-item-prev {\n position: absolute;\n top: 0;\n}\n\n@media (-webkit-transform-3d) {\n .carousel-item-next.carousel-item-left,\n .carousel-item-prev.carousel-item-right {\n transform: translate3d(0, 0, 0);\n }\n .carousel-item-next,\n .active.carousel-item-right {\n transform: translate3d(100%, 0, 0);\n }\n .carousel-item-prev,\n .active.carousel-item-left {\n transform: translate3d(-100%, 0, 0);\n }\n}\n\n@supports (transform: translate3d(0, 0, 0)) {\n .carousel-item-next.carousel-item-left,\n .carousel-item-prev.carousel-item-right {\n transform: translate3d(0, 0, 0);\n }\n .carousel-item-next,\n .active.carousel-item-right {\n transform: translate3d(100%, 0, 0);\n }\n .carousel-item-prev,\n .active.carousel-item-left {\n transform: translate3d(-100%, 0, 0);\n }\n}\n\n.carousel-control-prev,\n.carousel-control-next {\n position: absolute;\n top: 0;\n bottom: 0;\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}\n\n.carousel-control-prev:focus, .carousel-control-prev:hover,\n.carousel-control-next:focus,\n.carousel-control-next:hover {\n color: #fff;\n text-decoration: none;\n outline: 0;\n opacity: .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: transparent no-repeat center center;\n background-size: 100% 100%;\n}\n\n.carousel-control-prev-icon {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3E%3Cpath d='M4 0l-4 4 4 4 1.5-1.5-2.5-2.5 2.5-2.5-1.5-1.5z'/%3E%3C/svg%3E\");\n}\n\n.carousel-control-next-icon {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3E%3Cpath d='M1.5 0l-1.5 1.5 2.5 2.5-2.5 2.5 1.5 1.5 4-4-4-4z'/%3E%3C/svg%3E\");\n}\n\n.carousel-indicators {\n position: absolute;\n right: 0;\n bottom: 10px;\n left: 0;\n z-index: 15;\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 position: relative;\n flex: 1 0 auto;\n max-width: 30px;\n height: 3px;\n margin-right: 3px;\n margin-left: 3px;\n text-indent: -999px;\n background-color: rgba(255, 255, 255, 0.5);\n}\n\n.carousel-indicators li::before {\n position: absolute;\n top: -10px;\n left: 0;\n display: inline-block;\n width: 100%;\n height: 10px;\n content: \"\";\n}\n\n.carousel-indicators li::after {\n position: absolute;\n bottom: -10px;\n left: 0;\n display: inline-block;\n width: 100%;\n height: 10px;\n content: \"\";\n}\n\n.carousel-indicators .active {\n background-color: #fff;\n}\n\n.carousel-caption {\n position: absolute;\n right: 15%;\n bottom: 20px;\n left: 15%;\n z-index: 10;\n padding-top: 20px;\n padding-bottom: 20px;\n color: #fff;\n text-align: center;\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.bg-faded {\n background-color: #f7f7f7;\n}\n\n.bg-primary {\n background-color: #0275d8 !important;\n}\n\na.bg-primary:focus, a.bg-primary:hover {\n background-color: #025aa5 !important;\n}\n\n.bg-success {\n background-color: #5cb85c !important;\n}\n\na.bg-success:focus, a.bg-success:hover {\n background-color: #449d44 !important;\n}\n\n.bg-info {\n background-color: #5bc0de !important;\n}\n\na.bg-info:focus, a.bg-info:hover {\n background-color: #31b0d5 !important;\n}\n\n.bg-warning {\n background-color: #f0ad4e !important;\n}\n\na.bg-warning:focus, a.bg-warning:hover {\n background-color: #ec971f !important;\n}\n\n.bg-danger {\n background-color: #d9534f !important;\n}\n\na.bg-danger:focus, a.bg-danger:hover {\n background-color: #c9302c !important;\n}\n\n.bg-inverse {\n background-color: #292b2c !important;\n}\n\na.bg-inverse:focus, a.bg-inverse:hover {\n background-color: #101112 !important;\n}\n\n.border-0 {\n border: 0 !important;\n}\n\n.border-top-0 {\n border-top: 0 !important;\n}\n\n.border-right-0 {\n border-right: 0 !important;\n}\n\n.border-bottom-0 {\n border-bottom: 0 !important;\n}\n\n.border-left-0 {\n border-left: 0 !important;\n}\n\n.rounded {\n border-radius: 0.25rem;\n}\n\n.rounded-top {\n border-top-left-radius: 0.25rem;\n border-top-right-radius: 0.25rem;\n}\n\n.rounded-right {\n border-top-right-radius: 0.25rem;\n border-bottom-right-radius: 0.25rem;\n}\n\n.rounded-bottom {\n border-bottom-right-radius: 0.25rem;\n border-bottom-left-radius: 0.25rem;\n}\n\n.rounded-left {\n border-top-left-radius: 0.25rem;\n border-bottom-left-radius: 0.25rem;\n}\n\n.rounded-circle {\n border-radius: 50%;\n}\n\n.rounded-0 {\n border-radius: 0;\n}\n\n.clearfix::after {\n display: block;\n clear: both;\n content: \"\";\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-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@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-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}\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-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}\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-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}\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-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}\n\n.d-print-block {\n display: none !important;\n}\n\n@media print {\n .d-print-block {\n display: block !important;\n }\n}\n\n.d-print-inline {\n display: none !important;\n}\n\n@media print {\n .d-print-inline {\n display: inline !important;\n }\n}\n\n.d-print-inline-block {\n display: none !important;\n}\n\n@media print {\n .d-print-inline-block {\n display: inline-block !important;\n }\n}\n\n@media print {\n .d-print-none {\n display: none !important;\n }\n}\n\n.order-first {\n order: -1;\n}\n\n.order-last {\n order: 1;\n}\n\n.order-0 {\n order: 0;\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-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@media (min-width: 576px) {\n .order-sm-first {\n order: -1;\n }\n .order-sm-last {\n order: 1;\n }\n .order-sm-0 {\n order: 0;\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-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}\n\n@media (min-width: 768px) {\n .order-md-first {\n order: -1;\n }\n .order-md-last {\n order: 1;\n }\n .order-md-0 {\n order: 0;\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-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}\n\n@media (min-width: 992px) {\n .order-lg-first {\n order: -1;\n }\n .order-lg-last {\n order: 1;\n }\n .order-lg-0 {\n order: 0;\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-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}\n\n@media (min-width: 1200px) {\n .order-xl-first {\n order: -1;\n }\n .order-xl-last {\n order: 1;\n }\n .order-xl-0 {\n order: 0;\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-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}\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@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}\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}\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}\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}\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.sticky-top {\n position: sticky;\n top: 0;\n z-index: 1020;\n}\n\n.sr-only {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n white-space: nowrap;\n clip-path: inset(50%);\n border: 0;\n}\n\n.sr-only-focusable:active, .sr-only-focusable:focus {\n position: static;\n width: auto;\n height: auto;\n overflow: visible;\n clip: auto;\n white-space: normal;\n clip-path: none;\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.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.mw-100 {\n max-width: 100% !important;\n}\n\n.mh-100 {\n max-height: 100% !important;\n}\n\n.m-0 {\n margin: 0 !important;\n}\n\n.mt-0 {\n margin-top: 0 !important;\n}\n\n.mr-0 {\n margin-right: 0 !important;\n}\n\n.mb-0 {\n margin-bottom: 0 !important;\n}\n\n.ml-0 {\n margin-left: 0 !important;\n}\n\n.mx-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n}\n\n.my-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n}\n\n.m-1 {\n margin: 0.25rem !important;\n}\n\n.mt-1 {\n margin-top: 0.25rem !important;\n}\n\n.mr-1 {\n margin-right: 0.25rem !important;\n}\n\n.mb-1 {\n margin-bottom: 0.25rem !important;\n}\n\n.ml-1 {\n margin-left: 0.25rem !important;\n}\n\n.mx-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n}\n\n.my-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n}\n\n.m-2 {\n margin: 0.5rem !important;\n}\n\n.mt-2 {\n margin-top: 0.5rem !important;\n}\n\n.mr-2 {\n margin-right: 0.5rem !important;\n}\n\n.mb-2 {\n margin-bottom: 0.5rem !important;\n}\n\n.ml-2 {\n margin-left: 0.5rem !important;\n}\n\n.mx-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n}\n\n.my-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n}\n\n.m-3 {\n margin: 1rem !important;\n}\n\n.mt-3 {\n margin-top: 1rem !important;\n}\n\n.mr-3 {\n margin-right: 1rem !important;\n}\n\n.mb-3 {\n margin-bottom: 1rem !important;\n}\n\n.ml-3 {\n margin-left: 1rem !important;\n}\n\n.mx-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n}\n\n.my-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n}\n\n.m-4 {\n margin: 1.5rem !important;\n}\n\n.mt-4 {\n margin-top: 1.5rem !important;\n}\n\n.mr-4 {\n margin-right: 1.5rem !important;\n}\n\n.mb-4 {\n margin-bottom: 1.5rem !important;\n}\n\n.ml-4 {\n margin-left: 1.5rem !important;\n}\n\n.mx-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n}\n\n.my-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n}\n\n.m-5 {\n margin: 3rem !important;\n}\n\n.mt-5 {\n margin-top: 3rem !important;\n}\n\n.mr-5 {\n margin-right: 3rem !important;\n}\n\n.mb-5 {\n margin-bottom: 3rem !important;\n}\n\n.ml-5 {\n margin-left: 3rem !important;\n}\n\n.mx-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n}\n\n.my-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n}\n\n.p-0 {\n padding: 0 !important;\n}\n\n.pt-0 {\n padding-top: 0 !important;\n}\n\n.pr-0 {\n padding-right: 0 !important;\n}\n\n.pb-0 {\n padding-bottom: 0 !important;\n}\n\n.pl-0 {\n padding-left: 0 !important;\n}\n\n.px-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n}\n\n.py-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n}\n\n.p-1 {\n padding: 0.25rem !important;\n}\n\n.pt-1 {\n padding-top: 0.25rem !important;\n}\n\n.pr-1 {\n padding-right: 0.25rem !important;\n}\n\n.pb-1 {\n padding-bottom: 0.25rem !important;\n}\n\n.pl-1 {\n padding-left: 0.25rem !important;\n}\n\n.px-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n}\n\n.py-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n}\n\n.p-2 {\n padding: 0.5rem !important;\n}\n\n.pt-2 {\n padding-top: 0.5rem !important;\n}\n\n.pr-2 {\n padding-right: 0.5rem !important;\n}\n\n.pb-2 {\n padding-bottom: 0.5rem !important;\n}\n\n.pl-2 {\n padding-left: 0.5rem !important;\n}\n\n.px-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n}\n\n.py-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n}\n\n.p-3 {\n padding: 1rem !important;\n}\n\n.pt-3 {\n padding-top: 1rem !important;\n}\n\n.pr-3 {\n padding-right: 1rem !important;\n}\n\n.pb-3 {\n padding-bottom: 1rem !important;\n}\n\n.pl-3 {\n padding-left: 1rem !important;\n}\n\n.px-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n}\n\n.py-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n}\n\n.p-4 {\n padding: 1.5rem !important;\n}\n\n.pt-4 {\n padding-top: 1.5rem !important;\n}\n\n.pr-4 {\n padding-right: 1.5rem !important;\n}\n\n.pb-4 {\n padding-bottom: 1.5rem !important;\n}\n\n.pl-4 {\n padding-left: 1.5rem !important;\n}\n\n.px-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n}\n\n.py-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n}\n\n.p-5 {\n padding: 3rem !important;\n}\n\n.pt-5 {\n padding-top: 3rem !important;\n}\n\n.pr-5 {\n padding-right: 3rem !important;\n}\n\n.pb-5 {\n padding-bottom: 3rem !important;\n}\n\n.pl-5 {\n padding-left: 3rem !important;\n}\n\n.px-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n}\n\n.py-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n}\n\n.m-auto {\n margin: auto !important;\n}\n\n.mt-auto {\n margin-top: auto !important;\n}\n\n.mr-auto {\n margin-right: auto !important;\n}\n\n.mb-auto {\n margin-bottom: auto !important;\n}\n\n.ml-auto {\n margin-left: auto !important;\n}\n\n.mx-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n}\n\n.my-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n}\n\n@media (min-width: 576px) {\n .m-sm-0 {\n margin: 0 !important;\n }\n .mt-sm-0 {\n margin-top: 0 !important;\n }\n .mr-sm-0 {\n margin-right: 0 !important;\n }\n .mb-sm-0 {\n margin-bottom: 0 !important;\n }\n .ml-sm-0 {\n margin-left: 0 !important;\n }\n .mx-sm-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .my-sm-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .m-sm-1 {\n margin: 0.25rem !important;\n }\n .mt-sm-1 {\n margin-top: 0.25rem !important;\n }\n .mr-sm-1 {\n margin-right: 0.25rem !important;\n }\n .mb-sm-1 {\n margin-bottom: 0.25rem !important;\n }\n .ml-sm-1 {\n margin-left: 0.25rem !important;\n }\n .mx-sm-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .my-sm-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .m-sm-2 {\n margin: 0.5rem !important;\n }\n .mt-sm-2 {\n margin-top: 0.5rem !important;\n }\n .mr-sm-2 {\n margin-right: 0.5rem !important;\n }\n .mb-sm-2 {\n margin-bottom: 0.5rem !important;\n }\n .ml-sm-2 {\n margin-left: 0.5rem !important;\n }\n .mx-sm-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .my-sm-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .m-sm-3 {\n margin: 1rem !important;\n }\n .mt-sm-3 {\n margin-top: 1rem !important;\n }\n .mr-sm-3 {\n margin-right: 1rem !important;\n }\n .mb-sm-3 {\n margin-bottom: 1rem !important;\n }\n .ml-sm-3 {\n margin-left: 1rem !important;\n }\n .mx-sm-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .my-sm-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .m-sm-4 {\n margin: 1.5rem !important;\n }\n .mt-sm-4 {\n margin-top: 1.5rem !important;\n }\n .mr-sm-4 {\n margin-right: 1.5rem !important;\n }\n .mb-sm-4 {\n margin-bottom: 1.5rem !important;\n }\n .ml-sm-4 {\n margin-left: 1.5rem !important;\n }\n .mx-sm-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .my-sm-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .m-sm-5 {\n margin: 3rem !important;\n }\n .mt-sm-5 {\n margin-top: 3rem !important;\n }\n .mr-sm-5 {\n margin-right: 3rem !important;\n }\n .mb-sm-5 {\n margin-bottom: 3rem !important;\n }\n .ml-sm-5 {\n margin-left: 3rem !important;\n }\n .mx-sm-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .my-sm-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .p-sm-0 {\n padding: 0 !important;\n }\n .pt-sm-0 {\n padding-top: 0 !important;\n }\n .pr-sm-0 {\n padding-right: 0 !important;\n }\n .pb-sm-0 {\n padding-bottom: 0 !important;\n }\n .pl-sm-0 {\n padding-left: 0 !important;\n }\n .px-sm-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .py-sm-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .p-sm-1 {\n padding: 0.25rem !important;\n }\n .pt-sm-1 {\n padding-top: 0.25rem !important;\n }\n .pr-sm-1 {\n padding-right: 0.25rem !important;\n }\n .pb-sm-1 {\n padding-bottom: 0.25rem !important;\n }\n .pl-sm-1 {\n padding-left: 0.25rem !important;\n }\n .px-sm-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .py-sm-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .p-sm-2 {\n padding: 0.5rem !important;\n }\n .pt-sm-2 {\n padding-top: 0.5rem !important;\n }\n .pr-sm-2 {\n padding-right: 0.5rem !important;\n }\n .pb-sm-2 {\n padding-bottom: 0.5rem !important;\n }\n .pl-sm-2 {\n padding-left: 0.5rem !important;\n }\n .px-sm-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .py-sm-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .p-sm-3 {\n padding: 1rem !important;\n }\n .pt-sm-3 {\n padding-top: 1rem !important;\n }\n .pr-sm-3 {\n padding-right: 1rem !important;\n }\n .pb-sm-3 {\n padding-bottom: 1rem !important;\n }\n .pl-sm-3 {\n padding-left: 1rem !important;\n }\n .px-sm-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .py-sm-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .p-sm-4 {\n padding: 1.5rem !important;\n }\n .pt-sm-4 {\n padding-top: 1.5rem !important;\n }\n .pr-sm-4 {\n padding-right: 1.5rem !important;\n }\n .pb-sm-4 {\n padding-bottom: 1.5rem !important;\n }\n .pl-sm-4 {\n padding-left: 1.5rem !important;\n }\n .px-sm-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .py-sm-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .p-sm-5 {\n padding: 3rem !important;\n }\n .pt-sm-5 {\n padding-top: 3rem !important;\n }\n .pr-sm-5 {\n padding-right: 3rem !important;\n }\n .pb-sm-5 {\n padding-bottom: 3rem !important;\n }\n .pl-sm-5 {\n padding-left: 3rem !important;\n }\n .px-sm-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-sm-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .m-sm-auto {\n margin: auto !important;\n }\n .mt-sm-auto {\n margin-top: auto !important;\n }\n .mr-sm-auto {\n margin-right: auto !important;\n }\n .mb-sm-auto {\n margin-bottom: auto !important;\n }\n .ml-sm-auto {\n margin-left: auto !important;\n }\n .mx-sm-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-sm-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n}\n\n@media (min-width: 768px) {\n .m-md-0 {\n margin: 0 !important;\n }\n .mt-md-0 {\n margin-top: 0 !important;\n }\n .mr-md-0 {\n margin-right: 0 !important;\n }\n .mb-md-0 {\n margin-bottom: 0 !important;\n }\n .ml-md-0 {\n margin-left: 0 !important;\n }\n .mx-md-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .my-md-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .m-md-1 {\n margin: 0.25rem !important;\n }\n .mt-md-1 {\n margin-top: 0.25rem !important;\n }\n .mr-md-1 {\n margin-right: 0.25rem !important;\n }\n .mb-md-1 {\n margin-bottom: 0.25rem !important;\n }\n .ml-md-1 {\n margin-left: 0.25rem !important;\n }\n .mx-md-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .my-md-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .m-md-2 {\n margin: 0.5rem !important;\n }\n .mt-md-2 {\n margin-top: 0.5rem !important;\n }\n .mr-md-2 {\n margin-right: 0.5rem !important;\n }\n .mb-md-2 {\n margin-bottom: 0.5rem !important;\n }\n .ml-md-2 {\n margin-left: 0.5rem !important;\n }\n .mx-md-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .my-md-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .m-md-3 {\n margin: 1rem !important;\n }\n .mt-md-3 {\n margin-top: 1rem !important;\n }\n .mr-md-3 {\n margin-right: 1rem !important;\n }\n .mb-md-3 {\n margin-bottom: 1rem !important;\n }\n .ml-md-3 {\n margin-left: 1rem !important;\n }\n .mx-md-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .my-md-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .m-md-4 {\n margin: 1.5rem !important;\n }\n .mt-md-4 {\n margin-top: 1.5rem !important;\n }\n .mr-md-4 {\n margin-right: 1.5rem !important;\n }\n .mb-md-4 {\n margin-bottom: 1.5rem !important;\n }\n .ml-md-4 {\n margin-left: 1.5rem !important;\n }\n .mx-md-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .my-md-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .m-md-5 {\n margin: 3rem !important;\n }\n .mt-md-5 {\n margin-top: 3rem !important;\n }\n .mr-md-5 {\n margin-right: 3rem !important;\n }\n .mb-md-5 {\n margin-bottom: 3rem !important;\n }\n .ml-md-5 {\n margin-left: 3rem !important;\n }\n .mx-md-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .my-md-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .p-md-0 {\n padding: 0 !important;\n }\n .pt-md-0 {\n padding-top: 0 !important;\n }\n .pr-md-0 {\n padding-right: 0 !important;\n }\n .pb-md-0 {\n padding-bottom: 0 !important;\n }\n .pl-md-0 {\n padding-left: 0 !important;\n }\n .px-md-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .py-md-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .p-md-1 {\n padding: 0.25rem !important;\n }\n .pt-md-1 {\n padding-top: 0.25rem !important;\n }\n .pr-md-1 {\n padding-right: 0.25rem !important;\n }\n .pb-md-1 {\n padding-bottom: 0.25rem !important;\n }\n .pl-md-1 {\n padding-left: 0.25rem !important;\n }\n .px-md-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .py-md-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .p-md-2 {\n padding: 0.5rem !important;\n }\n .pt-md-2 {\n padding-top: 0.5rem !important;\n }\n .pr-md-2 {\n padding-right: 0.5rem !important;\n }\n .pb-md-2 {\n padding-bottom: 0.5rem !important;\n }\n .pl-md-2 {\n padding-left: 0.5rem !important;\n }\n .px-md-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .py-md-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .p-md-3 {\n padding: 1rem !important;\n }\n .pt-md-3 {\n padding-top: 1rem !important;\n }\n .pr-md-3 {\n padding-right: 1rem !important;\n }\n .pb-md-3 {\n padding-bottom: 1rem !important;\n }\n .pl-md-3 {\n padding-left: 1rem !important;\n }\n .px-md-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .py-md-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .p-md-4 {\n padding: 1.5rem !important;\n }\n .pt-md-4 {\n padding-top: 1.5rem !important;\n }\n .pr-md-4 {\n padding-right: 1.5rem !important;\n }\n .pb-md-4 {\n padding-bottom: 1.5rem !important;\n }\n .pl-md-4 {\n padding-left: 1.5rem !important;\n }\n .px-md-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .py-md-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .p-md-5 {\n padding: 3rem !important;\n }\n .pt-md-5 {\n padding-top: 3rem !important;\n }\n .pr-md-5 {\n padding-right: 3rem !important;\n }\n .pb-md-5 {\n padding-bottom: 3rem !important;\n }\n .pl-md-5 {\n padding-left: 3rem !important;\n }\n .px-md-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-md-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .m-md-auto {\n margin: auto !important;\n }\n .mt-md-auto {\n margin-top: auto !important;\n }\n .mr-md-auto {\n margin-right: auto !important;\n }\n .mb-md-auto {\n margin-bottom: auto !important;\n }\n .ml-md-auto {\n margin-left: auto !important;\n }\n .mx-md-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-md-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n}\n\n@media (min-width: 992px) {\n .m-lg-0 {\n margin: 0 !important;\n }\n .mt-lg-0 {\n margin-top: 0 !important;\n }\n .mr-lg-0 {\n margin-right: 0 !important;\n }\n .mb-lg-0 {\n margin-bottom: 0 !important;\n }\n .ml-lg-0 {\n margin-left: 0 !important;\n }\n .mx-lg-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .my-lg-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .m-lg-1 {\n margin: 0.25rem !important;\n }\n .mt-lg-1 {\n margin-top: 0.25rem !important;\n }\n .mr-lg-1 {\n margin-right: 0.25rem !important;\n }\n .mb-lg-1 {\n margin-bottom: 0.25rem !important;\n }\n .ml-lg-1 {\n margin-left: 0.25rem !important;\n }\n .mx-lg-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .my-lg-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .m-lg-2 {\n margin: 0.5rem !important;\n }\n .mt-lg-2 {\n margin-top: 0.5rem !important;\n }\n .mr-lg-2 {\n margin-right: 0.5rem !important;\n }\n .mb-lg-2 {\n margin-bottom: 0.5rem !important;\n }\n .ml-lg-2 {\n margin-left: 0.5rem !important;\n }\n .mx-lg-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .my-lg-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .m-lg-3 {\n margin: 1rem !important;\n }\n .mt-lg-3 {\n margin-top: 1rem !important;\n }\n .mr-lg-3 {\n margin-right: 1rem !important;\n }\n .mb-lg-3 {\n margin-bottom: 1rem !important;\n }\n .ml-lg-3 {\n margin-left: 1rem !important;\n }\n .mx-lg-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .my-lg-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .m-lg-4 {\n margin: 1.5rem !important;\n }\n .mt-lg-4 {\n margin-top: 1.5rem !important;\n }\n .mr-lg-4 {\n margin-right: 1.5rem !important;\n }\n .mb-lg-4 {\n margin-bottom: 1.5rem !important;\n }\n .ml-lg-4 {\n margin-left: 1.5rem !important;\n }\n .mx-lg-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .my-lg-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .m-lg-5 {\n margin: 3rem !important;\n }\n .mt-lg-5 {\n margin-top: 3rem !important;\n }\n .mr-lg-5 {\n margin-right: 3rem !important;\n }\n .mb-lg-5 {\n margin-bottom: 3rem !important;\n }\n .ml-lg-5 {\n margin-left: 3rem !important;\n }\n .mx-lg-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .my-lg-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .p-lg-0 {\n padding: 0 !important;\n }\n .pt-lg-0 {\n padding-top: 0 !important;\n }\n .pr-lg-0 {\n padding-right: 0 !important;\n }\n .pb-lg-0 {\n padding-bottom: 0 !important;\n }\n .pl-lg-0 {\n padding-left: 0 !important;\n }\n .px-lg-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .py-lg-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .p-lg-1 {\n padding: 0.25rem !important;\n }\n .pt-lg-1 {\n padding-top: 0.25rem !important;\n }\n .pr-lg-1 {\n padding-right: 0.25rem !important;\n }\n .pb-lg-1 {\n padding-bottom: 0.25rem !important;\n }\n .pl-lg-1 {\n padding-left: 0.25rem !important;\n }\n .px-lg-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .py-lg-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .p-lg-2 {\n padding: 0.5rem !important;\n }\n .pt-lg-2 {\n padding-top: 0.5rem !important;\n }\n .pr-lg-2 {\n padding-right: 0.5rem !important;\n }\n .pb-lg-2 {\n padding-bottom: 0.5rem !important;\n }\n .pl-lg-2 {\n padding-left: 0.5rem !important;\n }\n .px-lg-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .py-lg-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .p-lg-3 {\n padding: 1rem !important;\n }\n .pt-lg-3 {\n padding-top: 1rem !important;\n }\n .pr-lg-3 {\n padding-right: 1rem !important;\n }\n .pb-lg-3 {\n padding-bottom: 1rem !important;\n }\n .pl-lg-3 {\n padding-left: 1rem !important;\n }\n .px-lg-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .py-lg-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .p-lg-4 {\n padding: 1.5rem !important;\n }\n .pt-lg-4 {\n padding-top: 1.5rem !important;\n }\n .pr-lg-4 {\n padding-right: 1.5rem !important;\n }\n .pb-lg-4 {\n padding-bottom: 1.5rem !important;\n }\n .pl-lg-4 {\n padding-left: 1.5rem !important;\n }\n .px-lg-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .py-lg-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .p-lg-5 {\n padding: 3rem !important;\n }\n .pt-lg-5 {\n padding-top: 3rem !important;\n }\n .pr-lg-5 {\n padding-right: 3rem !important;\n }\n .pb-lg-5 {\n padding-bottom: 3rem !important;\n }\n .pl-lg-5 {\n padding-left: 3rem !important;\n }\n .px-lg-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-lg-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .m-lg-auto {\n margin: auto !important;\n }\n .mt-lg-auto {\n margin-top: auto !important;\n }\n .mr-lg-auto {\n margin-right: auto !important;\n }\n .mb-lg-auto {\n margin-bottom: auto !important;\n }\n .ml-lg-auto {\n margin-left: auto !important;\n }\n .mx-lg-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-lg-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n}\n\n@media (min-width: 1200px) {\n .m-xl-0 {\n margin: 0 !important;\n }\n .mt-xl-0 {\n margin-top: 0 !important;\n }\n .mr-xl-0 {\n margin-right: 0 !important;\n }\n .mb-xl-0 {\n margin-bottom: 0 !important;\n }\n .ml-xl-0 {\n margin-left: 0 !important;\n }\n .mx-xl-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .my-xl-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .m-xl-1 {\n margin: 0.25rem !important;\n }\n .mt-xl-1 {\n margin-top: 0.25rem !important;\n }\n .mr-xl-1 {\n margin-right: 0.25rem !important;\n }\n .mb-xl-1 {\n margin-bottom: 0.25rem !important;\n }\n .ml-xl-1 {\n margin-left: 0.25rem !important;\n }\n .mx-xl-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .my-xl-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .m-xl-2 {\n margin: 0.5rem !important;\n }\n .mt-xl-2 {\n margin-top: 0.5rem !important;\n }\n .mr-xl-2 {\n margin-right: 0.5rem !important;\n }\n .mb-xl-2 {\n margin-bottom: 0.5rem !important;\n }\n .ml-xl-2 {\n margin-left: 0.5rem !important;\n }\n .mx-xl-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .my-xl-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .m-xl-3 {\n margin: 1rem !important;\n }\n .mt-xl-3 {\n margin-top: 1rem !important;\n }\n .mr-xl-3 {\n margin-right: 1rem !important;\n }\n .mb-xl-3 {\n margin-bottom: 1rem !important;\n }\n .ml-xl-3 {\n margin-left: 1rem !important;\n }\n .mx-xl-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .my-xl-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .m-xl-4 {\n margin: 1.5rem !important;\n }\n .mt-xl-4 {\n margin-top: 1.5rem !important;\n }\n .mr-xl-4 {\n margin-right: 1.5rem !important;\n }\n .mb-xl-4 {\n margin-bottom: 1.5rem !important;\n }\n .ml-xl-4 {\n margin-left: 1.5rem !important;\n }\n .mx-xl-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .my-xl-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .m-xl-5 {\n margin: 3rem !important;\n }\n .mt-xl-5 {\n margin-top: 3rem !important;\n }\n .mr-xl-5 {\n margin-right: 3rem !important;\n }\n .mb-xl-5 {\n margin-bottom: 3rem !important;\n }\n .ml-xl-5 {\n margin-left: 3rem !important;\n }\n .mx-xl-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .my-xl-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .p-xl-0 {\n padding: 0 !important;\n }\n .pt-xl-0 {\n padding-top: 0 !important;\n }\n .pr-xl-0 {\n padding-right: 0 !important;\n }\n .pb-xl-0 {\n padding-bottom: 0 !important;\n }\n .pl-xl-0 {\n padding-left: 0 !important;\n }\n .px-xl-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .py-xl-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .p-xl-1 {\n padding: 0.25rem !important;\n }\n .pt-xl-1 {\n padding-top: 0.25rem !important;\n }\n .pr-xl-1 {\n padding-right: 0.25rem !important;\n }\n .pb-xl-1 {\n padding-bottom: 0.25rem !important;\n }\n .pl-xl-1 {\n padding-left: 0.25rem !important;\n }\n .px-xl-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .py-xl-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .p-xl-2 {\n padding: 0.5rem !important;\n }\n .pt-xl-2 {\n padding-top: 0.5rem !important;\n }\n .pr-xl-2 {\n padding-right: 0.5rem !important;\n }\n .pb-xl-2 {\n padding-bottom: 0.5rem !important;\n }\n .pl-xl-2 {\n padding-left: 0.5rem !important;\n }\n .px-xl-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .py-xl-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .p-xl-3 {\n padding: 1rem !important;\n }\n .pt-xl-3 {\n padding-top: 1rem !important;\n }\n .pr-xl-3 {\n padding-right: 1rem !important;\n }\n .pb-xl-3 {\n padding-bottom: 1rem !important;\n }\n .pl-xl-3 {\n padding-left: 1rem !important;\n }\n .px-xl-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .py-xl-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .p-xl-4 {\n padding: 1.5rem !important;\n }\n .pt-xl-4 {\n padding-top: 1.5rem !important;\n }\n .pr-xl-4 {\n padding-right: 1.5rem !important;\n }\n .pb-xl-4 {\n padding-bottom: 1.5rem !important;\n }\n .pl-xl-4 {\n padding-left: 1.5rem !important;\n }\n .px-xl-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .py-xl-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .p-xl-5 {\n padding: 3rem !important;\n }\n .pt-xl-5 {\n padding-top: 3rem !important;\n }\n .pr-xl-5 {\n padding-right: 3rem !important;\n }\n .pb-xl-5 {\n padding-bottom: 3rem !important;\n }\n .pl-xl-5 {\n padding-left: 3rem !important;\n }\n .px-xl-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-xl-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .m-xl-auto {\n margin: auto !important;\n }\n .mt-xl-auto {\n margin-top: auto !important;\n }\n .mr-xl-auto {\n margin-right: auto !important;\n }\n .mb-xl-auto {\n margin-bottom: auto !important;\n }\n .ml-xl-auto {\n margin-left: auto !important;\n }\n .mx-xl-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-xl-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n}\n\n.text-justify {\n text-align: justify !important;\n}\n\n.text-nowrap {\n white-space: nowrap !important;\n}\n\n.text-truncate {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\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@media (min-width: 576px) {\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 .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 .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 .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.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.font-weight-normal {\n font-weight: normal;\n}\n\n.font-weight-bold {\n font-weight: bold;\n}\n\n.font-italic {\n font-style: italic;\n}\n\n.text-white {\n color: #fff !important;\n}\n\n.text-muted {\n color: #636c72 !important;\n}\n\na.text-muted:focus, a.text-muted:hover {\n color: #4b5257 !important;\n}\n\n.text-primary {\n color: #0275d8 !important;\n}\n\na.text-primary:focus, a.text-primary:hover {\n color: #025aa5 !important;\n}\n\n.text-success {\n color: #5cb85c !important;\n}\n\na.text-success:focus, a.text-success:hover {\n color: #449d44 !important;\n}\n\n.text-info {\n color: #5bc0de !important;\n}\n\na.text-info:focus, a.text-info:hover {\n color: #31b0d5 !important;\n}\n\n.text-warning {\n color: #f0ad4e !important;\n}\n\na.text-warning:focus, a.text-warning:hover {\n color: #ec971f !important;\n}\n\n.text-danger {\n color: #d9534f !important;\n}\n\na.text-danger:focus, a.text-danger:hover {\n color: #c9302c !important;\n}\n\n.text-gray-dark {\n color: #292b2c !important;\n}\n\na.text-gray-dark:focus, a.text-gray-dark:hover {\n color: #101112 !important;\n}\n\n.text-hide {\n font: 0/0 a;\n color: transparent;\n text-shadow: none;\n background-color: transparent;\n border: 0;\n}\n\n.visible {\n visibility: visible !important;\n}\n\n.invisible {\n visibility: hidden !important;\n}\n\n/*# sourceMappingURL=bootstrap.css.map */",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null]} \ No newline at end of file
diff --git a/templates/assets/bootstrap/dist/css/bootstrap.min.css b/templates/assets/bootstrap/dist/css/bootstrap.min.css
new file mode 100644
index 0000000..0f62bf2
--- /dev/null
+++ b/templates/assets/bootstrap/dist/css/bootstrap.min.css
@@ -0,0 +1,6 @@
+/*!
+ * Bootstrap v4.0.0-alpha.6 (https://getbootstrap.com)
+ * Copyright 2011-2017 The Bootstrap Authors
+ * Copyright 2011-2017 Twitter, Inc.
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ */@media print{*,::after,::before,blockquote::first-letter,blockquote::first-line,div::first-letter,div::first-line,li::first-letter,li::first-line,p::first-letter,p::first-line{text-shadow:none!important;-webkit-box-shadow:none!important;box-shadow:none!important}a,a:visited{text-decoration:underline}abbr[title]::after{content:" (" attr(title) ")"}pre{white-space:pre-wrap!important}blockquote,pre{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}img,tr{page-break-inside:avoid}h2,h3,p{orphans:3;widows:3}h2,h3{page-break-after:avoid}.navbar{display:none}.badge{border:1px solid #000}.table{border-collapse:collapse!important}.table td,.table th{background-color:#fff!important}.table-bordered td,.table-bordered th{border:1px solid #ddd!important}}html{-webkit-box-sizing:border-box;box-sizing:border-box;font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;-ms-overflow-style:scrollbar;-webkit-tap-highlight-color:transparent}*,::after,::before{-webkit-box-sizing:inherit;box-sizing:inherit}@-ms-viewport{width:device-width}body{margin:0;font-family:-apple-system,system-ui,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-size:1rem;font-weight:400;line-height:1.5;color:#292b2c;background-color:#fff}[tabindex="-1"]:focus{outline:0!important}hr{-webkit-box-sizing:content-box;box-sizing:content-box;height:0;overflow:visible}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem}p{margin-top:0;margin-bottom:1rem}abbr[data-original-title],abbr[title]{text-decoration:underline;text-decoration:underline dotted;cursor:help;border-bottom:0}address{margin-bottom:1rem;font-style:normal;line-height:inherit}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}dfn{font-style:italic}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:#0275d8;text-decoration:none;background-color:transparent;-webkit-text-decoration-skip:objects}a:hover{color:#014c8c;text-decoration:underline}a:not([href]):not([tabindex]){color:inherit;text-decoration:none}a:not([href]):not([tabindex]):focus,a:not([href]):not([tabindex]):hover{color:inherit;text-decoration:none}a:not([href]):not([tabindex]):focus{outline:0}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}pre{margin-top:0;margin-bottom:1rem;overflow:auto}figure{margin:0 0 1rem}img{vertical-align:middle;border-style:none}svg:not(:root){overflow:hidden}[role=button],a,area,button,input,label,select,summary,textarea{-ms-touch-action:manipulation;touch-action:manipulation}table{border-collapse:collapse}caption{padding-top:.75rem;padding-bottom:.75rem;color:#636c72;text-align:left;caption-side:bottom}th{text-align:left}label{display:inline-block;margin-bottom:.5rem}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}[type=reset],[type=submit],button,html [type=button]{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{padding:0;border-style:none}input[type=checkbox],input[type=radio]{-webkit-box-sizing:border-box;box-sizing:border-box;padding:0}input[type=checkbox]:disabled,input[type=radio]:disabled{cursor:not-allowed}input[type=date],input[type=datetime-local],input[type=month],input[type=time]{-webkit-appearance:listbox}textarea{overflow:auto;resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;max-width:100%;padding:0;margin-bottom:.5rem;font-size:1.5rem;line-height:inherit;color:inherit;white-space:normal}progress{vertical-align:baseline}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:none}[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}summary{display:list-item}template{display:none}[hidden]{display:none!important}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{margin-bottom:.5rem;font-family:inherit;font-weight:500;line-height:1.1;color:inherit}.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}.lead{font-size:1.25rem;font-weight:300}.display-1{font-size:6rem;font-weight:300;line-height:1.1}.display-2{font-size:5.5rem;font-weight:300;line-height:1.1}.display-3{font-size:4.5rem;font-weight:300;line-height:1.1}.display-4{font-size:3.5rem;font-weight:300;line-height:1.1}hr{margin-top:1rem;margin-bottom:1rem;border:0;border-top:1px solid rgba(0,0,0,.1)}.small,small{font-size:80%;font-weight:400}.mark,mark{padding:.2em;background-color:#fcf8e3}.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:5px}.initialism{font-size:90%;text-transform:uppercase}.blockquote{padding:.5rem 1rem;margin-bottom:1rem;font-size:1.25rem;border-left:.25rem solid #eceeef}.blockquote-footer{display:block;font-size:80%;color:#636c72}.blockquote-footer::before{content:"\2014 \00A0"}.blockquote-reverse{padding-right:1rem;padding-left:0;text-align:right;border-right:.25rem solid #eceeef;border-left:0}.blockquote-reverse .blockquote-footer::before{content:""}.blockquote-reverse .blockquote-footer::after{content:"\00A0 \2014"}.img-fluid{max-width:100%;height:auto}.img-thumbnail{padding:.25rem;background-color:#fff;border:1px solid #ddd;border-radius:.25rem;-webkit-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out;max-width:100%;height:auto}.figure{display:inline-block}.figure-img{margin-bottom:.5rem;line-height:1}.figure-caption{font-size:90%;color:#636c72}code,kbd,pre,samp{font-family:Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace}code{padding:.2rem .4rem;font-size:90%;color:#bd4147;background-color:#f7f7f9;border-radius:.25rem}a>code{padding:0;color:inherit;background-color:inherit}kbd{padding:.2rem .4rem;font-size:90%;color:#fff;background-color:#292b2c;border-radius:.2rem}kbd kbd{padding:0;font-size:100%;font-weight:700}pre{display:block;margin-top:0;margin-bottom:1rem;font-size:90%;color:#292b2c}pre code{padding:0;font-size:inherit;color:inherit;background-color:transparent;border-radius:0}.pre-scrollable{max-height:340px;overflow-y:scroll}.container{position:relative;margin-right:auto;margin-left:auto;padding-right:15px;padding-left:15px}@media (min-width:576px){.container{padding-right:15px;padding-left:15px}}@media (min-width:768px){.container{padding-right:15px;padding-left:15px}}@media (min-width:992px){.container{padding-right:15px;padding-left:15px}}@media (min-width:1200px){.container{padding-right:15px;padding-left:15px}}@media (min-width:576px){.container{width:540px;max-width:100%}}@media (min-width:768px){.container{width:720px;max-width:100%}}@media (min-width:992px){.container{width:960px;max-width:100%}}@media (min-width:1200px){.container{width:1140px;max-width:100%}}.container-fluid{position:relative;margin-right:auto;margin-left:auto;padding-right:15px;padding-left:15px}@media (min-width:576px){.container-fluid{padding-right:15px;padding-left:15px}}@media (min-width:768px){.container-fluid{padding-right:15px;padding-left:15px}}@media (min-width:992px){.container-fluid{padding-right:15px;padding-left:15px}}@media (min-width:1200px){.container-fluid{padding-right:15px;padding-left:15px}}.row{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-right:-15px;margin-left:-15px}@media (min-width:576px){.row{margin-right:-15px;margin-left:-15px}}@media (min-width:768px){.row{margin-right:-15px;margin-left:-15px}}@media (min-width:992px){.row{margin-right:-15px;margin-left:-15px}}@media (min-width:1200px){.row{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-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-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-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-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{position:relative;width:100%;min-height:1px;padding-right:15px;padding-left:15px}@media (min-width:576px){.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-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-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-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-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{padding-right:15px;padding-left:15px}}@media (min-width:768px){.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-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-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-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-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{padding-right:15px;padding-left:15px}}@media (min-width:992px){.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-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-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-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-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{padding-right:15px;padding-left:15px}}@media (min-width:1200px){.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-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-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-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-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{padding-right:15px;padding-left:15px}}.col{-webkit-flex-basis:0;-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-auto{-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.col-1{-webkit-box-flex:0;-webkit-flex:0 0 8.333333%;-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-2{-webkit-box-flex:0;-webkit-flex:0 0 16.666667%;-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-3{-webkit-box-flex:0;-webkit-flex:0 0 25%;-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-4{-webkit-box-flex:0;-webkit-flex:0 0 33.333333%;-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-5{-webkit-box-flex:0;-webkit-flex:0 0 41.666667%;-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-6{-webkit-box-flex:0;-webkit-flex:0 0 50%;-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-7{-webkit-box-flex:0;-webkit-flex:0 0 58.333333%;-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-8{-webkit-box-flex:0;-webkit-flex:0 0 66.666667%;-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-9{-webkit-box-flex:0;-webkit-flex:0 0 75%;-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-10{-webkit-box-flex:0;-webkit-flex:0 0 83.333333%;-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-11{-webkit-box-flex:0;-webkit-flex:0 0 91.666667%;-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-12{-webkit-box-flex:0;-webkit-flex:0 0 100%;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.pull-0{right:auto}.pull-1{right:8.333333%}.pull-2{right:16.666667%}.pull-3{right:25%}.pull-4{right:33.333333%}.pull-5{right:41.666667%}.pull-6{right:50%}.pull-7{right:58.333333%}.pull-8{right:66.666667%}.pull-9{right:75%}.pull-10{right:83.333333%}.pull-11{right:91.666667%}.pull-12{right:100%}.push-0{left:auto}.push-1{left:8.333333%}.push-2{left:16.666667%}.push-3{left:25%}.push-4{left:33.333333%}.push-5{left:41.666667%}.push-6{left:50%}.push-7{left:58.333333%}.push-8{left:66.666667%}.push-9{left:75%}.push-10{left:83.333333%}.push-11{left:91.666667%}.push-12{left: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{-webkit-flex-basis:0;-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-sm-auto{-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.col-sm-1{-webkit-box-flex:0;-webkit-flex:0 0 8.333333%;-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-sm-2{-webkit-box-flex:0;-webkit-flex:0 0 16.666667%;-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-sm-3{-webkit-box-flex:0;-webkit-flex:0 0 25%;-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-sm-4{-webkit-box-flex:0;-webkit-flex:0 0 33.333333%;-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-sm-5{-webkit-box-flex:0;-webkit-flex:0 0 41.666667%;-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-sm-6{-webkit-box-flex:0;-webkit-flex:0 0 50%;-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-sm-7{-webkit-box-flex:0;-webkit-flex:0 0 58.333333%;-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-sm-8{-webkit-box-flex:0;-webkit-flex:0 0 66.666667%;-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-sm-9{-webkit-box-flex:0;-webkit-flex:0 0 75%;-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-sm-10{-webkit-box-flex:0;-webkit-flex:0 0 83.333333%;-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-sm-11{-webkit-box-flex:0;-webkit-flex:0 0 91.666667%;-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-sm-12{-webkit-box-flex:0;-webkit-flex:0 0 100%;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.pull-sm-0{right:auto}.pull-sm-1{right:8.333333%}.pull-sm-2{right:16.666667%}.pull-sm-3{right:25%}.pull-sm-4{right:33.333333%}.pull-sm-5{right:41.666667%}.pull-sm-6{right:50%}.pull-sm-7{right:58.333333%}.pull-sm-8{right:66.666667%}.pull-sm-9{right:75%}.pull-sm-10{right:83.333333%}.pull-sm-11{right:91.666667%}.pull-sm-12{right:100%}.push-sm-0{left:auto}.push-sm-1{left:8.333333%}.push-sm-2{left:16.666667%}.push-sm-3{left:25%}.push-sm-4{left:33.333333%}.push-sm-5{left:41.666667%}.push-sm-6{left:50%}.push-sm-7{left:58.333333%}.push-sm-8{left:66.666667%}.push-sm-9{left:75%}.push-sm-10{left:83.333333%}.push-sm-11{left:91.666667%}.push-sm-12{left: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{-webkit-flex-basis:0;-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-md-auto{-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.col-md-1{-webkit-box-flex:0;-webkit-flex:0 0 8.333333%;-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-md-2{-webkit-box-flex:0;-webkit-flex:0 0 16.666667%;-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-md-3{-webkit-box-flex:0;-webkit-flex:0 0 25%;-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-md-4{-webkit-box-flex:0;-webkit-flex:0 0 33.333333%;-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-md-5{-webkit-box-flex:0;-webkit-flex:0 0 41.666667%;-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-md-6{-webkit-box-flex:0;-webkit-flex:0 0 50%;-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-md-7{-webkit-box-flex:0;-webkit-flex:0 0 58.333333%;-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-md-8{-webkit-box-flex:0;-webkit-flex:0 0 66.666667%;-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-md-9{-webkit-box-flex:0;-webkit-flex:0 0 75%;-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-md-10{-webkit-box-flex:0;-webkit-flex:0 0 83.333333%;-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-md-11{-webkit-box-flex:0;-webkit-flex:0 0 91.666667%;-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-md-12{-webkit-box-flex:0;-webkit-flex:0 0 100%;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.pull-md-0{right:auto}.pull-md-1{right:8.333333%}.pull-md-2{right:16.666667%}.pull-md-3{right:25%}.pull-md-4{right:33.333333%}.pull-md-5{right:41.666667%}.pull-md-6{right:50%}.pull-md-7{right:58.333333%}.pull-md-8{right:66.666667%}.pull-md-9{right:75%}.pull-md-10{right:83.333333%}.pull-md-11{right:91.666667%}.pull-md-12{right:100%}.push-md-0{left:auto}.push-md-1{left:8.333333%}.push-md-2{left:16.666667%}.push-md-3{left:25%}.push-md-4{left:33.333333%}.push-md-5{left:41.666667%}.push-md-6{left:50%}.push-md-7{left:58.333333%}.push-md-8{left:66.666667%}.push-md-9{left:75%}.push-md-10{left:83.333333%}.push-md-11{left:91.666667%}.push-md-12{left: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{-webkit-flex-basis:0;-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-lg-auto{-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.col-lg-1{-webkit-box-flex:0;-webkit-flex:0 0 8.333333%;-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-lg-2{-webkit-box-flex:0;-webkit-flex:0 0 16.666667%;-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-lg-3{-webkit-box-flex:0;-webkit-flex:0 0 25%;-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-lg-4{-webkit-box-flex:0;-webkit-flex:0 0 33.333333%;-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-lg-5{-webkit-box-flex:0;-webkit-flex:0 0 41.666667%;-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-lg-6{-webkit-box-flex:0;-webkit-flex:0 0 50%;-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-lg-7{-webkit-box-flex:0;-webkit-flex:0 0 58.333333%;-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-lg-8{-webkit-box-flex:0;-webkit-flex:0 0 66.666667%;-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-lg-9{-webkit-box-flex:0;-webkit-flex:0 0 75%;-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-lg-10{-webkit-box-flex:0;-webkit-flex:0 0 83.333333%;-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-lg-11{-webkit-box-flex:0;-webkit-flex:0 0 91.666667%;-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-lg-12{-webkit-box-flex:0;-webkit-flex:0 0 100%;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.pull-lg-0{right:auto}.pull-lg-1{right:8.333333%}.pull-lg-2{right:16.666667%}.pull-lg-3{right:25%}.pull-lg-4{right:33.333333%}.pull-lg-5{right:41.666667%}.pull-lg-6{right:50%}.pull-lg-7{right:58.333333%}.pull-lg-8{right:66.666667%}.pull-lg-9{right:75%}.pull-lg-10{right:83.333333%}.pull-lg-11{right:91.666667%}.pull-lg-12{right:100%}.push-lg-0{left:auto}.push-lg-1{left:8.333333%}.push-lg-2{left:16.666667%}.push-lg-3{left:25%}.push-lg-4{left:33.333333%}.push-lg-5{left:41.666667%}.push-lg-6{left:50%}.push-lg-7{left:58.333333%}.push-lg-8{left:66.666667%}.push-lg-9{left:75%}.push-lg-10{left:83.333333%}.push-lg-11{left:91.666667%}.push-lg-12{left: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{-webkit-flex-basis:0;-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-xl-auto{-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.col-xl-1{-webkit-box-flex:0;-webkit-flex:0 0 8.333333%;-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-xl-2{-webkit-box-flex:0;-webkit-flex:0 0 16.666667%;-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-xl-3{-webkit-box-flex:0;-webkit-flex:0 0 25%;-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-xl-4{-webkit-box-flex:0;-webkit-flex:0 0 33.333333%;-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-xl-5{-webkit-box-flex:0;-webkit-flex:0 0 41.666667%;-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-xl-6{-webkit-box-flex:0;-webkit-flex:0 0 50%;-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-xl-7{-webkit-box-flex:0;-webkit-flex:0 0 58.333333%;-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-xl-8{-webkit-box-flex:0;-webkit-flex:0 0 66.666667%;-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-xl-9{-webkit-box-flex:0;-webkit-flex:0 0 75%;-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-xl-10{-webkit-box-flex:0;-webkit-flex:0 0 83.333333%;-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-xl-11{-webkit-box-flex:0;-webkit-flex:0 0 91.666667%;-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-xl-12{-webkit-box-flex:0;-webkit-flex:0 0 100%;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.pull-xl-0{right:auto}.pull-xl-1{right:8.333333%}.pull-xl-2{right:16.666667%}.pull-xl-3{right:25%}.pull-xl-4{right:33.333333%}.pull-xl-5{right:41.666667%}.pull-xl-6{right:50%}.pull-xl-7{right:58.333333%}.pull-xl-8{right:66.666667%}.pull-xl-9{right:75%}.pull-xl-10{right:83.333333%}.pull-xl-11{right:91.666667%}.pull-xl-12{right:100%}.push-xl-0{left:auto}.push-xl-1{left:8.333333%}.push-xl-2{left:16.666667%}.push-xl-3{left:25%}.push-xl-4{left:33.333333%}.push-xl-5{left:41.666667%}.push-xl-6{left:50%}.push-xl-7{left:58.333333%}.push-xl-8{left:66.666667%}.push-xl-9{left:75%}.push-xl-10{left:83.333333%}.push-xl-11{left:91.666667%}.push-xl-12{left: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%;max-width:100%;margin-bottom:1rem;background-color:transparent}.table td,.table th{padding:.75rem;vertical-align:top;border-top:1px solid #eceeef}.table thead th{vertical-align:bottom;border-bottom:2px solid #eceeef}.table tbody+tbody{border-top:2px solid #eceeef}.table .table{background-color:#fff}.table-sm td,.table-sm th{padding:.3rem}.table-bordered{border:1px solid #eceeef}.table-bordered td,.table-bordered th{border:1px solid #eceeef}.table-bordered thead td,.table-bordered thead th{border-bottom-width:2px}.table-striped tbody tr:nth-of-type(odd){background-color:rgba(0,0,0,.05)}.table-hover tbody tr:hover{background-color:rgba(0,0,0,.075)}.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-success,.table-success>td,.table-success>th{background-color:#dff0d8}.table-hover .table-success:hover{background-color:#d0e9c6}.table-hover .table-success:hover>td,.table-hover .table-success:hover>th{background-color:#d0e9c6}.table-info,.table-info>td,.table-info>th{background-color:#d9edf7}.table-hover .table-info:hover{background-color:#c4e3f3}.table-hover .table-info:hover>td,.table-hover .table-info:hover>th{background-color:#c4e3f3}.table-warning,.table-warning>td,.table-warning>th{background-color:#fcf8e3}.table-hover .table-warning:hover{background-color:#faf2cc}.table-hover .table-warning:hover>td,.table-hover .table-warning:hover>th{background-color:#faf2cc}.table-danger,.table-danger>td,.table-danger>th{background-color:#f2dede}.table-hover .table-danger:hover{background-color:#ebcccc}.table-hover .table-danger:hover>td,.table-hover .table-danger:hover>th{background-color:#ebcccc}.thead-inverse th{color:#fff;background-color:#292b2c}.thead-default th{color:#464a4c;background-color:#eceeef}.table-inverse{color:#fff;background-color:#292b2c}.table-inverse td,.table-inverse th,.table-inverse thead th{border-color:#3b3e40}.table-inverse.table-bordered{border:0}.table-inverse.table-striped tbody tr:nth-of-type(odd){background-color:rgba(255,255,255,.05)}.table-inverse.table-hover tbody tr:hover{background-color:rgba(255,255,255,.075)}@media (max-width:991px){.table-responsive{display:block;width:100%;overflow-x:auto;-ms-overflow-style:-ms-autohiding-scrollbar}.table-responsive.table-bordered{border:0}}.form-control{display:block;width:100%;padding:.5rem .75rem;font-size:1rem;line-height:1.25;color:#464a4c;background-color:#fff;background-image:none;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid rgba(0,0,0,.15);border-radius:.25rem;-webkit-transition:border-color ease-in-out .15s,-webkit-box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,-webkit-box-shadow ease-in-out .15s;-o-transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s,-webkit-box-shadow ease-in-out .15s}.form-control::-ms-expand{background-color:transparent;border:0}.form-control:focus{color:#464a4c;background-color:#fff;border-color:#5cb3fd;outline:0}.form-control::-webkit-input-placeholder{color:#636c72;opacity:1}.form-control::-moz-placeholder{color:#636c72;opacity:1}.form-control:-ms-input-placeholder{color:#636c72;opacity:1}.form-control::placeholder{color:#636c72;opacity:1}.form-control:disabled,.form-control[readonly]{background-color:#eceeef;opacity:1}.form-control:disabled{cursor:not-allowed}select.form-control:not([size]):not([multiple]){height:calc(2.25rem + 2px)}select.form-control:focus::-ms-value{color:#464a4c;background-color:#fff}.form-control-file,.form-control-range{display:block}.col-form-label{padding-top:calc(.5rem - 1px * 2);padding-bottom:calc(.5rem - 1px * 2);margin-bottom:0}.col-form-label-lg{padding-top:calc(.75rem - 1px * 2);padding-bottom:calc(.75rem - 1px * 2);font-size:1.25rem}.col-form-label-sm{padding-top:calc(.25rem - 1px * 2);padding-bottom:calc(.25rem - 1px * 2);font-size:.875rem}.col-form-legend{padding-top:.5rem;padding-bottom:.5rem;margin-bottom:0;font-size:1rem}.form-control-static{padding-top:.5rem;padding-bottom:.5rem;margin-bottom:0;line-height:1.25;border:solid transparent;border-width:1px 0}.form-control-static.form-control-lg,.form-control-static.form-control-sm,.input-group-lg>.form-control-static.form-control,.input-group-lg>.form-control-static.input-group-addon,.input-group-lg>.input-group-btn>.form-control-static.btn,.input-group-sm>.form-control-static.form-control,.input-group-sm>.form-control-static.input-group-addon,.input-group-sm>.input-group-btn>.form-control-static.btn{padding-right:0;padding-left:0}.form-control-sm,.input-group-sm>.form-control,.input-group-sm>.input-group-addon,.input-group-sm>.input-group-btn>.btn{padding:.25rem .5rem;font-size:.875rem;border-radius:.2rem}.input-group-sm>.input-group-btn>select.btn:not([size]):not([multiple]),.input-group-sm>select.form-control:not([size]):not([multiple]),.input-group-sm>select.input-group-addon:not([size]):not([multiple]),select.form-control-sm:not([size]):not([multiple]){height:1.8125rem}.form-control-lg,.input-group-lg>.form-control,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.btn{padding:.75rem 1.5rem;font-size:1.25rem;border-radius:.3rem}.input-group-lg>.input-group-btn>select.btn:not([size]):not([multiple]),.input-group-lg>select.form-control:not([size]):not([multiple]),.input-group-lg>select.input-group-addon:not([size]):not([multiple]),select.form-control-lg:not([size]):not([multiple]){height:3.166667rem}.form-group{margin-bottom:1rem}.form-text{display:block;margin-top:.25rem}.form-check{position:relative;display:block;margin-bottom:.5rem}.form-check.disabled .form-check-label{color:#636c72;cursor:not-allowed}.form-check-label{padding-left:1.25rem;margin-bottom:0}.form-check-input{position:absolute;margin-top:.25rem;margin-left:-1.25rem}.form-check-input:only-child{position:static}.form-check-inline{display:inline-block}.form-check-inline .form-check-label{vertical-align:middle}.form-check-inline+.form-check-inline{margin-left:.75rem}.form-control-feedback{margin-top:.25rem}.form-control-danger,.form-control-success,.form-control-warning{padding-right:2.25rem;background-repeat:no-repeat;background-position:center right .5625rem;-webkit-background-size:1.125rem 1.125rem;background-size:1.125rem 1.125rem}.has-success .col-form-label,.has-success .custom-control,.has-success .form-check-label,.has-success .form-control-feedback,.has-success .form-control-label{color:#5cb85c}.has-success .custom-file-control,.has-success .custom-select,.has-success .form-control{border-color:#5cb85c}.has-success .input-group-addon{color:#5cb85c;background-color:#eaf6ea;border-color:#5cb85c}.has-success .form-control-success{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%235cb85c' 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")}.has-warning .col-form-label,.has-warning .custom-control,.has-warning .form-check-label,.has-warning .form-control-feedback,.has-warning .form-control-label{color:#f0ad4e}.has-warning .custom-file-control,.has-warning .custom-select,.has-warning .form-control{border-color:#f0ad4e}.has-warning .input-group-addon{color:#f0ad4e;background-color:#fff;border-color:#f0ad4e}.has-warning .form-control-warning{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23f0ad4e' d='M4.4 5.324h-.8v-2.46h.8zm0 1.42h-.8V5.89h.8zM3.76.63L.04 7.075c-.115.2.016.425.26.426h7.397c.242 0 .372-.226.258-.426C6.726 4.924 5.47 2.79 4.253.63c-.113-.174-.39-.174-.494 0z'/%3E%3C/svg%3E")}.has-danger .col-form-label,.has-danger .custom-control,.has-danger .form-check-label,.has-danger .form-control-feedback,.has-danger .form-control-label{color:#d9534f}.has-danger .custom-file-control,.has-danger .custom-select,.has-danger .form-control{border-color:#d9534f}.has-danger .input-group-addon{color:#d9534f;background-color:#fdf7f7;border-color:#d9534f}.has-danger .form-control-danger{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23d9534f' viewBox='-2 -2 7 7'%3E%3Cpath stroke='%23d9534f' d='M0 0l3 3m0-3L0 3'/%3E%3Ccircle r='.5'/%3E%3Ccircle cx='3' r='.5'/%3E%3Ccircle cy='3' r='.5'/%3E%3Ccircle cx='3' cy='3' r='.5'/%3E%3C/svg%3E")}.form-inline{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-flow:row wrap;-ms-flex-flow:row wrap;flex-flow:row wrap;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.form-inline .form-check{width:100%}@media (min-width:576px){.form-inline label{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;margin-bottom:0}.form-inline .form-group{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-flow:row wrap;-ms-flex-flow:row wrap;flex-flow:row wrap;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;margin-bottom:0}.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .form-control-static{display:inline-block}.form-inline .input-group{width:auto}.form-inline .form-control-label{margin-bottom:0;vertical-align:middle}.form-inline .form-check{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;width:auto;margin-top:0;margin-bottom:0}.form-inline .form-check-label{padding-left:0}.form-inline .form-check-input{position:relative;margin-top:0;margin-right:.25rem;margin-left:0}.form-inline .custom-control{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;padding-left:0}.form-inline .custom-control-indicator{position:static;display:inline-block;margin-right:.25rem;vertical-align:text-bottom}.form-inline .has-feedback .form-control-feedback{top:0}}.btn{display:inline-block;font-weight:400;line-height:1.25;text-align:center;white-space:nowrap;vertical-align:middle;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;border:1px solid transparent;padding:.5rem 1rem;font-size:1rem;border-radius:.25rem;-webkit-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.btn:focus,.btn:hover{text-decoration:none}.btn.focus,.btn:focus{outline:0;-webkit-box-shadow:0 0 0 2px rgba(2,117,216,.25);box-shadow:0 0 0 2px rgba(2,117,216,.25)}.btn.disabled,.btn:disabled{cursor:not-allowed;opacity:.65}.btn.active,.btn:active{background-image:none}a.btn.disabled,fieldset[disabled] a.btn{pointer-events:none}.btn-primary{color:#fff;background-color:#0275d8;border-color:#0275d8}.btn-primary:hover{color:#fff;background-color:#025aa5;border-color:#01549b}.btn-primary.focus,.btn-primary:focus{-webkit-box-shadow:0 0 0 2px rgba(2,117,216,.5);box-shadow:0 0 0 2px rgba(2,117,216,.5)}.btn-primary.disabled,.btn-primary:disabled{background-color:#0275d8;border-color:#0275d8}.btn-primary.active,.btn-primary:active,.show>.btn-primary.dropdown-toggle{color:#fff;background-color:#025aa5;background-image:none;border-color:#01549b}.btn-secondary{color:#292b2c;background-color:#fff;border-color:#ccc}.btn-secondary:hover{color:#292b2c;background-color:#e6e6e6;border-color:#adadad}.btn-secondary.focus,.btn-secondary:focus{-webkit-box-shadow:0 0 0 2px rgba(204,204,204,.5);box-shadow:0 0 0 2px rgba(204,204,204,.5)}.btn-secondary.disabled,.btn-secondary:disabled{background-color:#fff;border-color:#ccc}.btn-secondary.active,.btn-secondary:active,.show>.btn-secondary.dropdown-toggle{color:#292b2c;background-color:#e6e6e6;background-image:none;border-color:#adadad}.btn-info{color:#fff;background-color:#5bc0de;border-color:#5bc0de}.btn-info:hover{color:#fff;background-color:#31b0d5;border-color:#2aabd2}.btn-info.focus,.btn-info:focus{-webkit-box-shadow:0 0 0 2px rgba(91,192,222,.5);box-shadow:0 0 0 2px rgba(91,192,222,.5)}.btn-info.disabled,.btn-info:disabled{background-color:#5bc0de;border-color:#5bc0de}.btn-info.active,.btn-info:active,.show>.btn-info.dropdown-toggle{color:#fff;background-color:#31b0d5;background-image:none;border-color:#2aabd2}.btn-success{color:#fff;background-color:#5cb85c;border-color:#5cb85c}.btn-success:hover{color:#fff;background-color:#449d44;border-color:#419641}.btn-success.focus,.btn-success:focus{-webkit-box-shadow:0 0 0 2px rgba(92,184,92,.5);box-shadow:0 0 0 2px rgba(92,184,92,.5)}.btn-success.disabled,.btn-success:disabled{background-color:#5cb85c;border-color:#5cb85c}.btn-success.active,.btn-success:active,.show>.btn-success.dropdown-toggle{color:#fff;background-color:#449d44;background-image:none;border-color:#419641}.btn-warning{color:#fff;background-color:#f0ad4e;border-color:#f0ad4e}.btn-warning:hover{color:#fff;background-color:#ec971f;border-color:#eb9316}.btn-warning.focus,.btn-warning:focus{-webkit-box-shadow:0 0 0 2px rgba(240,173,78,.5);box-shadow:0 0 0 2px rgba(240,173,78,.5)}.btn-warning.disabled,.btn-warning:disabled{background-color:#f0ad4e;border-color:#f0ad4e}.btn-warning.active,.btn-warning:active,.show>.btn-warning.dropdown-toggle{color:#fff;background-color:#ec971f;background-image:none;border-color:#eb9316}.btn-danger{color:#fff;background-color:#d9534f;border-color:#d9534f}.btn-danger:hover{color:#fff;background-color:#c9302c;border-color:#c12e2a}.btn-danger.focus,.btn-danger:focus{-webkit-box-shadow:0 0 0 2px rgba(217,83,79,.5);box-shadow:0 0 0 2px rgba(217,83,79,.5)}.btn-danger.disabled,.btn-danger:disabled{background-color:#d9534f;border-color:#d9534f}.btn-danger.active,.btn-danger:active,.show>.btn-danger.dropdown-toggle{color:#fff;background-color:#c9302c;background-image:none;border-color:#c12e2a}.btn-outline-primary{color:#0275d8;background-color:transparent;background-image:none;border-color:#0275d8}.btn-outline-primary:hover{color:#fff;background-color:#0275d8;border-color:#0275d8}.btn-outline-primary.focus,.btn-outline-primary:focus{-webkit-box-shadow:0 0 0 2px rgba(2,117,216,.5);box-shadow:0 0 0 2px rgba(2,117,216,.5)}.btn-outline-primary.disabled,.btn-outline-primary:disabled{color:#0275d8;background-color:transparent}.btn-outline-primary.active,.btn-outline-primary:active,.show>.btn-outline-primary.dropdown-toggle{color:#fff;background-color:#0275d8;border-color:#0275d8}.btn-outline-secondary{color:#ccc;background-color:transparent;background-image:none;border-color:#ccc}.btn-outline-secondary:hover{color:#292b2c;background-color:#ccc;border-color:#ccc}.btn-outline-secondary.focus,.btn-outline-secondary:focus{-webkit-box-shadow:0 0 0 2px rgba(204,204,204,.5);box-shadow:0 0 0 2px rgba(204,204,204,.5)}.btn-outline-secondary.disabled,.btn-outline-secondary:disabled{color:#ccc;background-color:transparent}.btn-outline-secondary.active,.btn-outline-secondary:active,.show>.btn-outline-secondary.dropdown-toggle{color:#292b2c;background-color:#ccc;border-color:#ccc}.btn-outline-info{color:#5bc0de;background-color:transparent;background-image:none;border-color:#5bc0de}.btn-outline-info:hover{color:#fff;background-color:#5bc0de;border-color:#5bc0de}.btn-outline-info.focus,.btn-outline-info:focus{-webkit-box-shadow:0 0 0 2px rgba(91,192,222,.5);box-shadow:0 0 0 2px rgba(91,192,222,.5)}.btn-outline-info.disabled,.btn-outline-info:disabled{color:#5bc0de;background-color:transparent}.btn-outline-info.active,.btn-outline-info:active,.show>.btn-outline-info.dropdown-toggle{color:#fff;background-color:#5bc0de;border-color:#5bc0de}.btn-outline-success{color:#5cb85c;background-color:transparent;background-image:none;border-color:#5cb85c}.btn-outline-success:hover{color:#fff;background-color:#5cb85c;border-color:#5cb85c}.btn-outline-success.focus,.btn-outline-success:focus{-webkit-box-shadow:0 0 0 2px rgba(92,184,92,.5);box-shadow:0 0 0 2px rgba(92,184,92,.5)}.btn-outline-success.disabled,.btn-outline-success:disabled{color:#5cb85c;background-color:transparent}.btn-outline-success.active,.btn-outline-success:active,.show>.btn-outline-success.dropdown-toggle{color:#fff;background-color:#5cb85c;border-color:#5cb85c}.btn-outline-warning{color:#f0ad4e;background-color:transparent;background-image:none;border-color:#f0ad4e}.btn-outline-warning:hover{color:#fff;background-color:#f0ad4e;border-color:#f0ad4e}.btn-outline-warning.focus,.btn-outline-warning:focus{-webkit-box-shadow:0 0 0 2px rgba(240,173,78,.5);box-shadow:0 0 0 2px rgba(240,173,78,.5)}.btn-outline-warning.disabled,.btn-outline-warning:disabled{color:#f0ad4e;background-color:transparent}.btn-outline-warning.active,.btn-outline-warning:active,.show>.btn-outline-warning.dropdown-toggle{color:#fff;background-color:#f0ad4e;border-color:#f0ad4e}.btn-outline-danger{color:#d9534f;background-color:transparent;background-image:none;border-color:#d9534f}.btn-outline-danger:hover{color:#fff;background-color:#d9534f;border-color:#d9534f}.btn-outline-danger.focus,.btn-outline-danger:focus{-webkit-box-shadow:0 0 0 2px rgba(217,83,79,.5);box-shadow:0 0 0 2px rgba(217,83,79,.5)}.btn-outline-danger.disabled,.btn-outline-danger:disabled{color:#d9534f;background-color:transparent}.btn-outline-danger.active,.btn-outline-danger:active,.show>.btn-outline-danger.dropdown-toggle{color:#fff;background-color:#d9534f;border-color:#d9534f}.btn-link{font-weight:400;color:#0275d8;border-radius:0}.btn-link,.btn-link.active,.btn-link:active,.btn-link:disabled{background-color:transparent}.btn-link,.btn-link:active,.btn-link:focus{border-color:transparent}.btn-link:hover{border-color:transparent}.btn-link:focus,.btn-link:hover{color:#014c8c;text-decoration:underline;background-color:transparent}.btn-link:disabled{color:#636c72}.btn-link:disabled:focus,.btn-link:disabled:hover{text-decoration:none}.btn-group-lg>.btn,.btn-lg{padding:.75rem 1.5rem;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}input[type=button].btn-block,input[type=reset].btn-block,input[type=submit].btn-block{width:100%}.fade{opacity:0;-webkit-transition:opacity .15s linear;-o-transition:opacity .15s linear;transition:opacity .15s linear}.fade.show{opacity:1}.collapse{display:none}.collapse.show{display:block}tr.collapse.show{display:table-row}tbody.collapse.show{display:table-row-group}.collapsing{position:relative;height:0;overflow:hidden;-webkit-transition:height .35s ease;-o-transition:height .35s ease;transition:height .35s ease}.dropdown,.dropup{position:relative}.dropdown-toggle::after{display:inline-block;width:0;height:0;margin-left:.3em;vertical-align:middle;content:"";border-top:.3em solid;border-right:.3em solid transparent;border-left:.3em solid transparent}.dropup .dropdown-toggle::after{border-top:0;border-bottom:.3em solid}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:10rem;padding:.5rem 0;margin:.125rem 0 0;font-size:1rem;color:#292b2c;text-align:left;list-style:none;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid rgba(0,0,0,.15);border-radius:.25rem}.dropdown-divider{height:1px;margin:.5rem 0;overflow:hidden;background-color:#eceeef}.dropdown-item{display:block;width:100%;padding:3px 1.5rem;clear:both;font-weight:400;color:#292b2c;text-align:inherit;white-space:nowrap;background:0 0;border:0}.dropdown-item:focus,.dropdown-item:hover{color:#1d1e1f;text-decoration:none;background-color:#f7f7f9}.dropdown-item.active,.dropdown-item:active{color:#fff;text-decoration:none;background-color:#0275d8}.dropdown-item.disabled,.dropdown-item:disabled{color:#636c72;cursor:not-allowed;background-color:transparent}.show>.dropdown-menu{display:block}.show>a{outline:0}.dropdown-menu-right{right:0;left:auto}.dropdown-menu-left{right:auto;left:0}.dropdown-header{display:block;padding:.5rem 1.5rem;margin-bottom:0;font-size:.875rem;color:#636c72;white-space:nowrap}.dropdown-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:990}.dropup .dropdown-menu{top:auto;bottom:100%;margin-bottom:.125rem}.btn-group,.btn-group-vertical{position:relative;display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;vertical-align:middle}.btn-group-vertical>.btn,.btn-group>.btn{position:relative;-webkit-box-flex:0;-webkit-flex:0 1 auto;-ms-flex:0 1 auto;flex:0 1 auto;margin-bottom:0}.btn-group-vertical>.btn:hover,.btn-group>.btn:hover{z-index:2}.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn:focus,.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus{z-index:2}.btn-group .btn+.btn,.btn-group .btn+.btn-group,.btn-group .btn-group+.btn,.btn-group .btn-group+.btn-group,.btn-group-vertical .btn+.btn,.btn-group-vertical .btn+.btn-group,.btn-group-vertical .btn-group+.btn,.btn-group-vertical .btn-group+.btn-group{margin-left:-1px}.btn-toolbar{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-pack:start;-webkit-justify-content:flex-start;-ms-flex-pack:start;justify-content:flex-start}.btn-toolbar .input-group{width:auto}.btn-group>.btn:not(:first-child):not(:last-child):not(.dropdown-toggle){border-radius:0}.btn-group>.btn:first-child{margin-left:0}.btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn:last-child:not(:first-child),.btn-group>.dropdown-toggle:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.btn-group>.btn-group{float:left}.btn-group>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-left-radius:0;border-bottom-left-radius:0}.btn-group .dropdown-toggle:active,.btn-group.open .dropdown-toggle{outline:0}.btn+.dropdown-toggle-split{padding-right:.75rem;padding-left:.75rem}.btn+.dropdown-toggle-split::after{margin-left: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:1.125rem;padding-left:1.125rem}.btn-group-vertical{display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:start;-webkit-align-items:flex-start;-ms-flex-align:start;align-items:flex-start;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center}.btn-group-vertical .btn,.btn-group-vertical .btn-group{width:100%}.btn-group-vertical>.btn+.btn,.btn-group-vertical>.btn+.btn-group,.btn-group-vertical>.btn-group+.btn,.btn-group-vertical>.btn-group+.btn-group{margin-top:-1px;margin-left:0}.btn-group-vertical>.btn:not(:first-child):not(:last-child){border-radius:0}.btn-group-vertical>.btn:first-child:not(:last-child){border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn:last-child:not(:first-child){border-top-left-radius:0;border-top-right-radius:0}.btn-group-vertical>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group-vertical>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group-vertical>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-left-radius:0;border-top-right-radius:0}[data-toggle=buttons]>.btn input[type=checkbox],[data-toggle=buttons]>.btn input[type=radio],[data-toggle=buttons]>.btn-group>.btn input[type=checkbox],[data-toggle=buttons]>.btn-group>.btn input[type=radio]{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.input-group{position:relative;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;width:100%}.input-group .form-control{position:relative;z-index:2;-webkit-box-flex:1;-webkit-flex:1 1 auto;-ms-flex:1 1 auto;flex:1 1 auto;width:1%;margin-bottom:0}.input-group .form-control:active,.input-group .form-control:focus,.input-group .form-control:hover{z-index:3}.input-group .form-control,.input-group-addon,.input-group-btn{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.input-group .form-control:not(:first-child):not(:last-child),.input-group-addon:not(:first-child):not(:last-child),.input-group-btn:not(:first-child):not(:last-child){border-radius:0}.input-group-addon,.input-group-btn{white-space:nowrap;vertical-align:middle}.input-group-addon{padding:.5rem .75rem;margin-bottom:0;font-size:1rem;font-weight:400;line-height:1.25;color:#464a4c;text-align:center;background-color:#eceeef;border:1px solid rgba(0,0,0,.15);border-radius:.25rem}.input-group-addon.form-control-sm,.input-group-sm>.input-group-addon,.input-group-sm>.input-group-btn>.input-group-addon.btn{padding:.25rem .5rem;font-size:.875rem;border-radius:.2rem}.input-group-addon.form-control-lg,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.input-group-addon.btn{padding:.75rem 1.5rem;font-size:1.25rem;border-radius:.3rem}.input-group-addon input[type=checkbox],.input-group-addon input[type=radio]{margin-top:0}.input-group .form-control:not(:last-child),.input-group-addon:not(:last-child),.input-group-btn:not(:first-child)>.btn-group:not(:last-child)>.btn,.input-group-btn:not(:first-child)>.btn:not(:last-child):not(.dropdown-toggle),.input-group-btn:not(:last-child)>.btn,.input-group-btn:not(:last-child)>.btn-group>.btn,.input-group-btn:not(:last-child)>.dropdown-toggle{border-top-right-radius:0;border-bottom-right-radius:0}.input-group-addon:not(:last-child){border-right:0}.input-group .form-control:not(:first-child),.input-group-addon:not(:first-child),.input-group-btn:not(:first-child)>.btn,.input-group-btn:not(:first-child)>.btn-group>.btn,.input-group-btn:not(:first-child)>.dropdown-toggle,.input-group-btn:not(:last-child)>.btn-group:not(:first-child)>.btn,.input-group-btn:not(:last-child)>.btn:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.form-control+.input-group-addon:not(:first-child){border-left:0}.input-group-btn{position:relative;font-size:0;white-space:nowrap}.input-group-btn>.btn{position:relative}.input-group-btn>.btn+.btn{margin-left:-1px}.input-group-btn>.btn:active,.input-group-btn>.btn:focus,.input-group-btn>.btn:hover{z-index:3}.input-group-btn:not(:last-child)>.btn,.input-group-btn:not(:last-child)>.btn-group{margin-right:-1px}.input-group-btn:not(:first-child)>.btn,.input-group-btn:not(:first-child)>.btn-group{z-index:2;margin-left:-1px}.input-group-btn:not(:first-child)>.btn-group:active,.input-group-btn:not(:first-child)>.btn-group:focus,.input-group-btn:not(:first-child)>.btn-group:hover,.input-group-btn:not(:first-child)>.btn:active,.input-group-btn:not(:first-child)>.btn:focus,.input-group-btn:not(:first-child)>.btn:hover{z-index:3}.custom-control{position:relative;display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;min-height:1.5rem;padding-left:1.5rem;margin-right:1rem}.custom-control-input{position:absolute;z-index:-1;opacity:0}.custom-control-input:checked~.custom-control-indicator{color:#fff;background-color:#0275d8}.custom-control-input:focus~.custom-control-indicator{-webkit-box-shadow:0 0 0 1px #fff,0 0 0 3px #0275d8;box-shadow:0 0 0 1px #fff,0 0 0 3px #0275d8}.custom-control-input:active~.custom-control-indicator{color:#fff;background-color:#8fcafe}.custom-control-input:disabled~.custom-control-indicator{cursor:not-allowed;background-color:#eceeef}.custom-control-input:disabled~.custom-control-description{color:#636c72;cursor:not-allowed}.custom-control-indicator{position:absolute;top:.25rem;left:0;display:block;width:1rem;height:1rem;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-color:#ddd;background-repeat:no-repeat;background-position:center center;-webkit-background-size:50% 50%;background-size:50% 50%}.custom-checkbox .custom-control-indicator{border-radius:.25rem}.custom-checkbox .custom-control-input:checked~.custom-control-indicator{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3E%3C/svg%3E")}.custom-checkbox .custom-control-input:indeterminate~.custom-control-indicator{background-color:#0275d8;background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 4'%3E%3Cpath stroke='%23fff' d='M0 2h4'/%3E%3C/svg%3E")}.custom-radio .custom-control-indicator{border-radius:50%}.custom-radio .custom-control-input:checked~.custom-control-indicator{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='%23fff'/%3E%3C/svg%3E")}.custom-controls-stacked{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column}.custom-controls-stacked .custom-control{margin-bottom:.25rem}.custom-controls-stacked .custom-control+.custom-control{margin-left:0}.custom-select{display:inline-block;max-width:100%;height:calc(2.25rem + 2px);padding:.375rem 1.75rem .375rem .75rem;line-height:1.25;color:#464a4c;vertical-align:middle;background:#fff url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3E%3Cpath fill='%23333' d='M2 0L0 2h4zm0 5L0 3h4z'/%3E%3C/svg%3E") no-repeat right .75rem center;-webkit-background-size:8px 10px;background-size:8px 10px;border:1px solid rgba(0,0,0,.15);border-radius:.25rem;-webkit-appearance:none;-moz-appearance:none;appearance:none}.custom-select:focus{border-color:#5cb3fd;outline:0}.custom-select:focus::-ms-value{color:#464a4c;background-color:#fff}.custom-select:disabled{color:#636c72;cursor:not-allowed;background-color:#eceeef}.custom-select::-ms-expand{opacity:0}.custom-select-sm{padding-top:.375rem;padding-bottom:.375rem;font-size:75%}.custom-file{position:relative;display:inline-block;max-width:100%;height:2.5rem;margin-bottom:0}.custom-file-input{min-width:14rem;max-width:100%;height:2.5rem;margin:0;opacity:0}.custom-file-control{position:absolute;top:0;right:0;left:0;z-index:5;height:2.5rem;padding:.5rem 1rem;line-height:1.5;color:#464a4c;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-color:#fff;border:1px solid rgba(0,0,0,.15);border-radius:.25rem}.custom-file-control:lang(en):empty::after{content:"Choose file..."}.custom-file-control::before{position:absolute;top:-1px;right:-1px;bottom:-1px;z-index:6;display:block;height:2.5rem;padding:.5rem 1rem;line-height:1.5;color:#464a4c;background-color:#eceeef;border:1px solid rgba(0,0,0,.15);border-radius:0 .25rem .25rem 0}.custom-file-control:lang(en)::before{content:"Browse"}.nav{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;padding-left:0;margin-bottom:0;list-style:none}.nav-link{display:block;padding:.5em 1em}.nav-link:focus,.nav-link:hover{text-decoration:none}.nav-link.disabled{color:#636c72;cursor:not-allowed}.nav-tabs{border-bottom:1px solid #ddd}.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:#eceeef #eceeef #ddd}.nav-tabs .nav-link.disabled{color:#636c72;background-color:transparent;border-color:transparent}.nav-tabs .nav-item.show .nav-link,.nav-tabs .nav-link.active{color:#464a4c;background-color:#fff;border-color:#ddd #ddd #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-item.show .nav-link,.nav-pills .nav-link.active{color:#fff;background-color:#0275d8}.nav-fill .nav-item{-webkit-box-flex:1;-webkit-flex:1 1 auto;-ms-flex:1 1 auto;flex:1 1 auto;text-align:center}.nav-justified .nav-item{-webkit-flex-basis:0;-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;text-align:center}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.navbar{position:relative;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;padding:.5rem 1rem}@media (max-width:575px){.navbar>.container{margin-right:0;margin-left:0}}.navbar-brand{display:inline-block;-webkit-align-self:flex-start;-ms-flex-item-align:start;align-self:flex-start;padding-top:.25rem;padding-bottom:.25rem;margin-right:1rem;font-size:1.25rem;line-height:inherit;white-space:nowrap}.navbar-brand:focus,.navbar-brand:hover{text-decoration:none}.navbar-nav{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;padding-left:0;margin-bottom:0;list-style:none}.navbar-nav .nav-link{padding-right:0;padding-left:0}.navbar-text{display:inline-block;padding-top:.425rem;padding-bottom:.425rem}.navbar-toggler{-webkit-align-self:flex-start;-ms-flex-item-align:start;align-self:flex-start;padding:.25rem .75rem;font-size:1.25rem;line-height:1;background:0 0;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;-webkit-background-size:100% 100%;background-size:100% 100%}.navbar-toggler-left{position:absolute;left:1rem}.navbar-toggler-right{position:absolute;right:1rem}@media (max-width:575px){.navbar-toggleable .navbar-nav .dropdown-menu{position:static;float:none}.navbar-toggleable>.container{padding-right:0;padding-left:0}}@media (min-width:576px){.navbar-toggleable{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.navbar-toggleable .navbar-nav{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row}.navbar-toggleable .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-toggleable>.container{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.navbar-toggleable .navbar-collapse{display:-webkit-box!important;display:-webkit-flex!important;display:-ms-flexbox!important;display:flex!important;width:100%}.navbar-toggleable .navbar-toggler{display:none}}@media (max-width:767px){.navbar-toggleable-sm .navbar-nav .dropdown-menu{position:static;float:none}.navbar-toggleable-sm>.container{padding-right:0;padding-left:0}}@media (min-width:768px){.navbar-toggleable-sm{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.navbar-toggleable-sm .navbar-nav{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row}.navbar-toggleable-sm .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-toggleable-sm>.container{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.navbar-toggleable-sm .navbar-collapse{display:-webkit-box!important;display:-webkit-flex!important;display:-ms-flexbox!important;display:flex!important;width:100%}.navbar-toggleable-sm .navbar-toggler{display:none}}@media (max-width:991px){.navbar-toggleable-md .navbar-nav .dropdown-menu{position:static;float:none}.navbar-toggleable-md>.container{padding-right:0;padding-left:0}}@media (min-width:992px){.navbar-toggleable-md{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.navbar-toggleable-md .navbar-nav{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row}.navbar-toggleable-md .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-toggleable-md>.container{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.navbar-toggleable-md .navbar-collapse{display:-webkit-box!important;display:-webkit-flex!important;display:-ms-flexbox!important;display:flex!important;width:100%}.navbar-toggleable-md .navbar-toggler{display:none}}@media (max-width:1199px){.navbar-toggleable-lg .navbar-nav .dropdown-menu{position:static;float:none}.navbar-toggleable-lg>.container{padding-right:0;padding-left:0}}@media (min-width:1200px){.navbar-toggleable-lg{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.navbar-toggleable-lg .navbar-nav{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row}.navbar-toggleable-lg .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-toggleable-lg>.container{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.navbar-toggleable-lg .navbar-collapse{display:-webkit-box!important;display:-webkit-flex!important;display:-ms-flexbox!important;display:flex!important;width:100%}.navbar-toggleable-lg .navbar-toggler{display:none}}.navbar-toggleable-xl{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.navbar-toggleable-xl .navbar-nav .dropdown-menu{position:static;float:none}.navbar-toggleable-xl>.container{padding-right:0;padding-left:0}.navbar-toggleable-xl .navbar-nav{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row}.navbar-toggleable-xl .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-toggleable-xl>.container{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.navbar-toggleable-xl .navbar-collapse{display:-webkit-box!important;display:-webkit-flex!important;display:-ms-flexbox!important;display:flex!important;width:100%}.navbar-toggleable-xl .navbar-toggler{display:none}.navbar-light .navbar-brand,.navbar-light .navbar-toggler{color:rgba(0,0,0,.9)}.navbar-light .navbar-brand:focus,.navbar-light .navbar-brand:hover,.navbar-light .navbar-toggler:focus,.navbar-light .navbar-toggler: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.open,.navbar-light .navbar-nav .open>.nav-link{color:rgba(0,0,0,.9)}.navbar-light .navbar-toggler{border-color:rgba(0,0,0,.1)}.navbar-light .navbar-toggler-icon{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(0, 0, 0, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E")}.navbar-light .navbar-text{color:rgba(0,0,0,.5)}.navbar-inverse .navbar-brand,.navbar-inverse .navbar-toggler{color:#fff}.navbar-inverse .navbar-brand:focus,.navbar-inverse .navbar-brand:hover,.navbar-inverse .navbar-toggler:focus,.navbar-inverse .navbar-toggler:hover{color:#fff}.navbar-inverse .navbar-nav .nav-link{color:rgba(255,255,255,.5)}.navbar-inverse .navbar-nav .nav-link:focus,.navbar-inverse .navbar-nav .nav-link:hover{color:rgba(255,255,255,.75)}.navbar-inverse .navbar-nav .nav-link.disabled{color:rgba(255,255,255,.25)}.navbar-inverse .navbar-nav .active>.nav-link,.navbar-inverse .navbar-nav .nav-link.active,.navbar-inverse .navbar-nav .nav-link.open,.navbar-inverse .navbar-nav .open>.nav-link{color:#fff}.navbar-inverse .navbar-toggler{border-color:rgba(255,255,255,.1)}.navbar-inverse .navbar-toggler-icon{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(255, 255, 255, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E")}.navbar-inverse .navbar-text{color:rgba(255,255,255,.5)}.card{position:relative;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;background-color:#fff;border:1px solid rgba(0,0,0,.125);border-radius:.25rem}.card-block{-webkit-box-flex:1;-webkit-flex:1 1 auto;-ms-flex:1 1 auto;flex:1 1 auto;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>.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-header{padding:.75rem 1.25rem;margin-bottom:0;background-color:#f7f7f9;border-bottom:1px solid rgba(0,0,0,.125)}.card-header:first-child{border-radius:calc(.25rem - 1px) calc(.25rem - 1px) 0 0}.card-footer{padding:.75rem 1.25rem;background-color:#f7f7f9;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-primary{background-color:#0275d8;border-color:#0275d8}.card-primary .card-footer,.card-primary .card-header{background-color:transparent}.card-success{background-color:#5cb85c;border-color:#5cb85c}.card-success .card-footer,.card-success .card-header{background-color:transparent}.card-info{background-color:#5bc0de;border-color:#5bc0de}.card-info .card-footer,.card-info .card-header{background-color:transparent}.card-warning{background-color:#f0ad4e;border-color:#f0ad4e}.card-warning .card-footer,.card-warning .card-header{background-color:transparent}.card-danger{background-color:#d9534f;border-color:#d9534f}.card-danger .card-footer,.card-danger .card-header{background-color:transparent}.card-outline-primary{background-color:transparent;border-color:#0275d8}.card-outline-secondary{background-color:transparent;border-color:#ccc}.card-outline-info{background-color:transparent;border-color:#5bc0de}.card-outline-success{background-color:transparent;border-color:#5cb85c}.card-outline-warning{background-color:transparent;border-color:#f0ad4e}.card-outline-danger{background-color:transparent;border-color:#d9534f}.card-inverse{color:rgba(255,255,255,.65)}.card-inverse .card-footer,.card-inverse .card-header{background-color:transparent;border-color:rgba(255,255,255,.2)}.card-inverse .card-blockquote,.card-inverse .card-footer,.card-inverse .card-header,.card-inverse .card-title{color:#fff}.card-inverse .card-blockquote .blockquote-footer,.card-inverse .card-link,.card-inverse .card-subtitle,.card-inverse .card-text{color:rgba(255,255,255,.65)}.card-inverse .card-link:focus,.card-inverse .card-link:hover{color:#fff}.card-blockquote{padding:0;margin-bottom:0;border-left:0}.card-img{border-radius:calc(.25rem - 1px)}.card-img-overlay{position:absolute;top:0;right:0;bottom:0;left:0;padding:1.25rem}.card-img-top{border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px)}.card-img-bottom{border-bottom-right-radius:calc(.25rem - 1px);border-bottom-left-radius:calc(.25rem - 1px)}@media (min-width:576px){.card-deck{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-flow:row wrap;-ms-flex-flow:row wrap;flex-flow:row wrap}.card-deck .card{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-flex:1;-webkit-flex:1 0 0;-ms-flex:1 0 0px;flex:1 0 0%;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column}.card-deck .card:not(:first-child){margin-left:15px}.card-deck .card:not(:last-child){margin-right:15px}}@media (min-width:576px){.card-group{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-flow:row wrap;-ms-flex-flow:row wrap;flex-flow:row wrap}.card-group .card{-webkit-box-flex:1;-webkit-flex:1 0 0;-ms-flex:1 0 0px;flex:1 0 0%}.card-group .card+.card{margin-left:0;border-left:0}.card-group .card:first-child{border-top-right-radius:0;border-bottom-right-radius:0}.card-group .card:first-child .card-img-top{border-top-right-radius:0}.card-group .card:first-child .card-img-bottom{border-bottom-right-radius:0}.card-group .card:last-child{border-top-left-radius:0;border-bottom-left-radius:0}.card-group .card:last-child .card-img-top{border-top-left-radius:0}.card-group .card:last-child .card-img-bottom{border-bottom-left-radius:0}.card-group .card:not(:first-child):not(:last-child){border-radius:0}.card-group .card:not(:first-child):not(:last-child) .card-img-bottom,.card-group .card:not(:first-child):not(:last-child) .card-img-top{border-radius:0}}@media (min-width:576px){.card-columns{-webkit-column-count:3;-moz-column-count:3;column-count:3;-webkit-column-gap:1.25rem;-moz-column-gap:1.25rem;column-gap:1.25rem}.card-columns .card{display:inline-block;width:100%;margin-bottom:.75rem}}.breadcrumb{padding:.75rem 1rem;margin-bottom:1rem;list-style:none;background-color:#eceeef;border-radius:.25rem}.breadcrumb::after{display:block;clear:both;content:""}.breadcrumb-item{float:left}.breadcrumb-item+.breadcrumb-item::before{display:inline-block;padding-right:.5rem;padding-left:.5rem;color:#636c72;content:"/"}.breadcrumb-item+.breadcrumb-item:hover::before{text-decoration:underline}.breadcrumb-item+.breadcrumb-item:hover::before{text-decoration:none}.breadcrumb-item.active{color:#636c72}.pagination{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;padding-left:0;list-style:none;border-radius:.25rem}.page-item:first-child .page-link{margin-left:0;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}.page-item.active .page-link{z-index:2;color:#fff;background-color:#0275d8;border-color:#0275d8}.page-item.disabled .page-link{color:#636c72;pointer-events:none;cursor:not-allowed;background-color:#fff;border-color:#ddd}.page-link{position:relative;display:block;padding:.5rem .75rem;margin-left:-1px;line-height:1.25;color:#0275d8;background-color:#fff;border:1px solid #ddd}.page-link:focus,.page-link:hover{color:#014c8c;text-decoration:none;background-color:#eceeef;border-color:#ddd}.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 .4em;font-size:75%;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}a.badge:focus,a.badge:hover{color:#fff;text-decoration:none}.badge-pill{padding-right:.6em;padding-left:.6em;border-radius:10rem}.badge-default{background-color:#636c72}.badge-default[href]:focus,.badge-default[href]:hover{background-color:#4b5257}.badge-primary{background-color:#0275d8}.badge-primary[href]:focus,.badge-primary[href]:hover{background-color:#025aa5}.badge-success{background-color:#5cb85c}.badge-success[href]:focus,.badge-success[href]:hover{background-color:#449d44}.badge-info{background-color:#5bc0de}.badge-info[href]:focus,.badge-info[href]:hover{background-color:#31b0d5}.badge-warning{background-color:#f0ad4e}.badge-warning[href]:focus,.badge-warning[href]:hover{background-color:#ec971f}.badge-danger{background-color:#d9534f}.badge-danger[href]:focus,.badge-danger[href]:hover{background-color:#c9302c}.jumbotron{padding:2rem 1rem;margin-bottom:2rem;background-color:#eceeef;border-radius:.3rem}@media (min-width:576px){.jumbotron{padding:4rem 2rem}}.jumbotron-hr{border-top-color:#d0d5d8}.jumbotron-fluid{padding-right:0;padding-left:0;border-radius:0}.alert{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 .close{position:relative;top:-.75rem;right:-1.25rem;padding:.75rem 1.25rem;color:inherit}.alert-success{color:#3c763d;background-color:#dff0d8;border-color:#d0e9c6}.alert-success hr{border-top-color:#c1e2b3}.alert-success .alert-link{color:#2b542c}.alert-info{color:#31708f;background-color:#d9edf7;border-color:#bcdff1}.alert-info hr{border-top-color:#a6d5ec}.alert-info .alert-link{color:#245269}.alert-warning{color:#8a6d3b;background-color:#fcf8e3;border-color:#faf2cc}.alert-warning hr{border-top-color:#f7ecb5}.alert-warning .alert-link{color:#66512c}.alert-danger{color:#a94442;background-color:#f2dede;border-color:#ebcccc}.alert-danger hr{border-top-color:#e4b9b9}.alert-danger .alert-link{color:#843534}@-webkit-keyframes progress-bar-stripes{from{background-position:1rem 0}to{background-position:0 0}}@-o-keyframes progress-bar-stripes{from{background-position:1rem 0}to{background-position:0 0}}@keyframes progress-bar-stripes{from{background-position:1rem 0}to{background-position:0 0}}.progress{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;overflow:hidden;font-size:.75rem;line-height:1rem;text-align:center;background-color:#eceeef;border-radius:.25rem}.progress-bar{height:1rem;line-height:1rem;color:#fff;background-color:#0275d8}.progress-bar-striped{background-image:-webkit-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-image:-o-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-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);-webkit-background-size:1rem 1rem;background-size:1rem 1rem}.progress-bar-animated{-webkit-animation:progress-bar-stripes 1s linear infinite;-o-animation:progress-bar-stripes 1s linear infinite;animation:progress-bar-stripes 1s linear infinite}.media{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:start;-webkit-align-items:flex-start;-ms-flex-align:start;align-items:flex-start}.media-body{-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1 1 0%}.list-group{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;padding-left:0;margin-bottom:0}.list-group-item-action{width:100%;color:#464a4c;text-align:inherit}.list-group-item-action:focus,.list-group-item-action:hover{color:#464a4c;text-decoration:none;background-color:#f7f7f9}.list-group-item-action:active{color:#292b2c;background-color:#eceeef}.list-group-item{position:relative;display:block;padding:.75rem 1.25rem;margin-bottom:-1px;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{margin-bottom:0;border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.list-group-item:focus,.list-group-item:hover{text-decoration:none}.list-group-item.disabled,.list-group-item:disabled{color:#636c72;cursor:not-allowed;background-color:#fff}.list-group-item.active{z-index:2;color:#fff;background-color:#0275d8;border-color:#0275d8}.list-group-flush .list-group-item{border-right:0;border-left:0;border-radius:0}.list-group-flush:first-child .list-group-item:first-child{border-top:0}.list-group-flush:last-child .list-group-item:last-child{border-bottom:0}.list-group-item-success{color:#3c763d;background-color:#dff0d8}a.list-group-item-success,button.list-group-item-success{color:#3c763d}a.list-group-item-success:focus,a.list-group-item-success:hover,button.list-group-item-success:focus,button.list-group-item-success:hover{color:#3c763d;background-color:#d0e9c6}a.list-group-item-success.active,button.list-group-item-success.active{color:#fff;background-color:#3c763d;border-color:#3c763d}.list-group-item-info{color:#31708f;background-color:#d9edf7}a.list-group-item-info,button.list-group-item-info{color:#31708f}a.list-group-item-info:focus,a.list-group-item-info:hover,button.list-group-item-info:focus,button.list-group-item-info:hover{color:#31708f;background-color:#c4e3f3}a.list-group-item-info.active,button.list-group-item-info.active{color:#fff;background-color:#31708f;border-color:#31708f}.list-group-item-warning{color:#8a6d3b;background-color:#fcf8e3}a.list-group-item-warning,button.list-group-item-warning{color:#8a6d3b}a.list-group-item-warning:focus,a.list-group-item-warning:hover,button.list-group-item-warning:focus,button.list-group-item-warning:hover{color:#8a6d3b;background-color:#faf2cc}a.list-group-item-warning.active,button.list-group-item-warning.active{color:#fff;background-color:#8a6d3b;border-color:#8a6d3b}.list-group-item-danger{color:#a94442;background-color:#f2dede}a.list-group-item-danger,button.list-group-item-danger{color:#a94442}a.list-group-item-danger:focus,a.list-group-item-danger:hover,button.list-group-item-danger:focus,button.list-group-item-danger:hover{color:#a94442;background-color:#ebcccc}a.list-group-item-danger.active,button.list-group-item-danger.active{color:#fff;background-color:#a94442;border-color:#a94442}.embed-responsive{position:relative;display:block;width:100%;padding:0;overflow:hidden}.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;bottom: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%}.close{float:right;font-size:1.5rem;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;opacity:.5}.close:focus,.close:hover{color:#000;text-decoration:none;opacity:.75}button.close{padding:0;background:0 0;border:0;-webkit-appearance:none}.modal-open{overflow:hidden}.modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1050;display:none;overflow:hidden;outline:0}.modal.fade .modal-dialog{-webkit-transition:-webkit-transform .3s ease-out;transition:-webkit-transform .3s ease-out;-o-transition:-o-transform .3s ease-out;transition:transform .3s ease-out;transition:transform .3s ease-out,-webkit-transform .3s ease-out,-o-transform .3s ease-out;-webkit-transform:translate(0,-25%);-o-transform:translate(0,-25%);transform:translate(0,-25%)}.modal.show .modal-dialog{-webkit-transform:translate(0,0);-o-transform:translate(0,0);transform:translate(0,0)}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal-dialog{position:relative;width:auto;margin:10px}.modal-content{position:relative;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:.3rem;outline:0}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;background-color:#000}.modal-backdrop.fade{opacity:0}.modal-backdrop.show{opacity:.5}.modal-header{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;padding:15px;border-bottom:1px solid #eceeef}.modal-title{margin-bottom:0;line-height:1.5}.modal-body{position:relative;-webkit-box-flex:1;-webkit-flex:1 1 auto;-ms-flex:1 1 auto;flex:1 1 auto;padding:15px}.modal-footer{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:end;-webkit-justify-content:flex-end;-ms-flex-pack:end;justify-content:flex-end;padding:15px;border-top:1px solid #eceeef}.modal-footer>:not(:first-child){margin-left:.25rem}.modal-footer>:not(:last-child){margin-right:.25rem}.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media (min-width:576px){.modal-dialog{max-width:500px;margin:30px auto}.modal-sm{max-width:300px}}@media (min-width:992px){.modal-lg{max-width:800px}}.tooltip{position:absolute;z-index:1070;display:block;font-family:-apple-system,system-ui,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;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.bs-tether-element-attached-bottom,.tooltip.tooltip-top{padding:5px 0;margin-top:-3px}.tooltip.bs-tether-element-attached-bottom .tooltip-inner::before,.tooltip.tooltip-top .tooltip-inner::before{bottom:0;left:50%;margin-left:-5px;content:"";border-width:5px 5px 0;border-top-color:#000}.tooltip.bs-tether-element-attached-left,.tooltip.tooltip-right{padding:0 5px;margin-left:3px}.tooltip.bs-tether-element-attached-left .tooltip-inner::before,.tooltip.tooltip-right .tooltip-inner::before{top:50%;left:0;margin-top:-5px;content:"";border-width:5px 5px 5px 0;border-right-color:#000}.tooltip.bs-tether-element-attached-top,.tooltip.tooltip-bottom{padding:5px 0;margin-top:3px}.tooltip.bs-tether-element-attached-top .tooltip-inner::before,.tooltip.tooltip-bottom .tooltip-inner::before{top:0;left:50%;margin-left:-5px;content:"";border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bs-tether-element-attached-right,.tooltip.tooltip-left{padding:0 5px;margin-left:-3px}.tooltip.bs-tether-element-attached-right .tooltip-inner::before,.tooltip.tooltip-left .tooltip-inner::before{top:50%;right:0;margin-top:-5px;content:"";border-width:5px 0 5px 5px;border-left-color:#000}.tooltip-inner{max-width:200px;padding:3px 8px;color:#fff;text-align:center;background-color:#000;border-radius:.25rem}.tooltip-inner::before{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.popover{position:absolute;top:0;left:0;z-index:1060;display:block;max-width:276px;padding:1px;font-family:-apple-system,system-ui,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;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;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:.3rem}.popover.bs-tether-element-attached-bottom,.popover.popover-top{margin-top:-10px}.popover.bs-tether-element-attached-bottom::after,.popover.bs-tether-element-attached-bottom::before,.popover.popover-top::after,.popover.popover-top::before{left:50%;border-bottom-width:0}.popover.bs-tether-element-attached-bottom::before,.popover.popover-top::before{bottom:-11px;margin-left:-11px;border-top-color:rgba(0,0,0,.25)}.popover.bs-tether-element-attached-bottom::after,.popover.popover-top::after{bottom:-10px;margin-left:-10px;border-top-color:#fff}.popover.bs-tether-element-attached-left,.popover.popover-right{margin-left:10px}.popover.bs-tether-element-attached-left::after,.popover.bs-tether-element-attached-left::before,.popover.popover-right::after,.popover.popover-right::before{top:50%;border-left-width:0}.popover.bs-tether-element-attached-left::before,.popover.popover-right::before{left:-11px;margin-top:-11px;border-right-color:rgba(0,0,0,.25)}.popover.bs-tether-element-attached-left::after,.popover.popover-right::after{left:-10px;margin-top:-10px;border-right-color:#fff}.popover.bs-tether-element-attached-top,.popover.popover-bottom{margin-top:10px}.popover.bs-tether-element-attached-top::after,.popover.bs-tether-element-attached-top::before,.popover.popover-bottom::after,.popover.popover-bottom::before{left:50%;border-top-width:0}.popover.bs-tether-element-attached-top::before,.popover.popover-bottom::before{top:-11px;margin-left:-11px;border-bottom-color:rgba(0,0,0,.25)}.popover.bs-tether-element-attached-top::after,.popover.popover-bottom::after{top:-10px;margin-left:-10px;border-bottom-color:#f7f7f7}.popover.bs-tether-element-attached-top .popover-title::before,.popover.popover-bottom .popover-title::before{position:absolute;top:0;left:50%;display:block;width:20px;margin-left:-10px;content:"";border-bottom:1px solid #f7f7f7}.popover.bs-tether-element-attached-right,.popover.popover-left{margin-left:-10px}.popover.bs-tether-element-attached-right::after,.popover.bs-tether-element-attached-right::before,.popover.popover-left::after,.popover.popover-left::before{top:50%;border-right-width:0}.popover.bs-tether-element-attached-right::before,.popover.popover-left::before{right:-11px;margin-top:-11px;border-left-color:rgba(0,0,0,.25)}.popover.bs-tether-element-attached-right::after,.popover.popover-left::after{right:-10px;margin-top:-10px;border-left-color:#fff}.popover-title{padding:8px 14px;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-title:empty{display:none}.popover-content{padding:9px 14px}.popover::after,.popover::before{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.popover::before{content:"";border-width:11px}.popover::after{content:"";border-width:10px}.carousel{position:relative}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-item{position:relative;display:none;width:100%}@media (-webkit-transform-3d){.carousel-item{-webkit-transition:-webkit-transform .6s ease-in-out;transition:-webkit-transform .6s ease-in-out;-o-transition:-o-transform .6s ease-in-out;transition:transform .6s ease-in-out;transition:transform .6s ease-in-out,-webkit-transform .6s ease-in-out,-o-transform .6s ease-in-out;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-perspective:1000px;perspective:1000px}}@supports ((-webkit-transform:translate3d(0,0,0)) or (transform:translate3d(0,0,0))){.carousel-item{-webkit-transition:-webkit-transform .6s ease-in-out;transition:-webkit-transform .6s ease-in-out;-o-transition:-o-transform .6s ease-in-out;transition:transform .6s ease-in-out;transition:transform .6s ease-in-out,-webkit-transform .6s ease-in-out,-o-transform .6s ease-in-out;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-perspective:1000px;perspective:1000px}}.carousel-item-next,.carousel-item-prev,.carousel-item.active{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}.carousel-item-next,.carousel-item-prev{position:absolute;top:0}@media (-webkit-transform-3d){.carousel-item-next.carousel-item-left,.carousel-item-prev.carousel-item-right{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.active.carousel-item-right,.carousel-item-next{-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}.active.carousel-item-left,.carousel-item-prev{-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}}@supports ((-webkit-transform:translate3d(0,0,0)) or (transform:translate3d(0,0,0))){.carousel-item-next.carousel-item-left,.carousel-item-prev.carousel-item-right{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.active.carousel-item-right,.carousel-item-next{-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}.active.carousel-item-left,.carousel-item-prev{-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}}.carousel-control-next,.carousel-control-prev{position:absolute;top:0;bottom:0;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;width:15%;color:#fff;text-align:center;opacity:.5}.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:transparent no-repeat center center;-webkit-background-size:100% 100%;background-size:100% 100%}.carousel-control-prev-icon{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3E%3Cpath d='M4 0l-4 4 4 4 1.5-1.5-2.5-2.5 2.5-2.5-1.5-1.5z'/%3E%3C/svg%3E")}.carousel-control-next-icon{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3E%3Cpath d='M1.5 0l-1.5 1.5 2.5 2.5-2.5 2.5 1.5 1.5 4-4-4-4z'/%3E%3C/svg%3E")}.carousel-indicators{position:absolute;right:0;bottom:10px;left:0;z-index:15;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;padding-left:0;margin-right:15%;margin-left:15%;list-style:none}.carousel-indicators li{position:relative;-webkit-box-flex:1;-webkit-flex:1 0 auto;-ms-flex:1 0 auto;flex:1 0 auto;max-width:30px;height:3px;margin-right:3px;margin-left:3px;text-indent:-999px;background-color:rgba(255,255,255,.5)}.carousel-indicators li::before{position:absolute;top:-10px;left:0;display:inline-block;width:100%;height:10px;content:""}.carousel-indicators li::after{position:absolute;bottom:-10px;left:0;display:inline-block;width:100%;height:10px;content:""}.carousel-indicators .active{background-color:#fff}.carousel-caption{position:absolute;right:15%;bottom:20px;left:15%;z-index:10;padding-top:20px;padding-bottom:20px;color:#fff;text-align:center}.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}.bg-faded{background-color:#f7f7f7}.bg-primary{background-color:#0275d8!important}a.bg-primary:focus,a.bg-primary:hover{background-color:#025aa5!important}.bg-success{background-color:#5cb85c!important}a.bg-success:focus,a.bg-success:hover{background-color:#449d44!important}.bg-info{background-color:#5bc0de!important}a.bg-info:focus,a.bg-info:hover{background-color:#31b0d5!important}.bg-warning{background-color:#f0ad4e!important}a.bg-warning:focus,a.bg-warning:hover{background-color:#ec971f!important}.bg-danger{background-color:#d9534f!important}a.bg-danger:focus,a.bg-danger:hover{background-color:#c9302c!important}.bg-inverse{background-color:#292b2c!important}a.bg-inverse:focus,a.bg-inverse:hover{background-color:#101112!important}.border-0{border:0!important}.border-top-0{border-top:0!important}.border-right-0{border-right:0!important}.border-bottom-0{border-bottom:0!important}.border-left-0{border-left:0!important}.rounded{border-radius:.25rem}.rounded-top{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.rounded-right{border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}.rounded-bottom{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.rounded-left{border-top-left-radius:.25rem;border-bottom-left-radius:.25rem}.rounded-circle{border-radius:50%}.rounded-0{border-radius:0}.clearfix::after{display:block;clear:both;content:""}.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-cell{display:table-cell!important}.d-flex{display:-webkit-box!important;display:-webkit-flex!important;display:-ms-flexbox!important;display:flex!important}.d-inline-flex{display:-webkit-inline-box!important;display:-webkit-inline-flex!important;display:-ms-inline-flexbox!important;display:inline-flex!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-cell{display:table-cell!important}.d-sm-flex{display:-webkit-box!important;display:-webkit-flex!important;display:-ms-flexbox!important;display:flex!important}.d-sm-inline-flex{display:-webkit-inline-box!important;display:-webkit-inline-flex!important;display:-ms-inline-flexbox!important;display:inline-flex!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-cell{display:table-cell!important}.d-md-flex{display:-webkit-box!important;display:-webkit-flex!important;display:-ms-flexbox!important;display:flex!important}.d-md-inline-flex{display:-webkit-inline-box!important;display:-webkit-inline-flex!important;display:-ms-inline-flexbox!important;display:inline-flex!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-cell{display:table-cell!important}.d-lg-flex{display:-webkit-box!important;display:-webkit-flex!important;display:-ms-flexbox!important;display:flex!important}.d-lg-inline-flex{display:-webkit-inline-box!important;display:-webkit-inline-flex!important;display:-ms-inline-flexbox!important;display:inline-flex!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-cell{display:table-cell!important}.d-xl-flex{display:-webkit-box!important;display:-webkit-flex!important;display:-ms-flexbox!important;display:flex!important}.d-xl-inline-flex{display:-webkit-inline-box!important;display:-webkit-inline-flex!important;display:-ms-inline-flexbox!important;display:inline-flex!important}}.d-print-block{display:none!important}@media print{.d-print-block{display:block!important}}.d-print-inline{display:none!important}@media print{.d-print-inline{display:inline!important}}.d-print-inline-block{display:none!important}@media print{.d-print-inline-block{display:inline-block!important}}@media print{.d-print-none{display:none!important}}.order-first{-webkit-box-ordinal-group:0;-webkit-order:-1;-ms-flex-order:-1;order:-1}.order-last{-webkit-box-ordinal-group:2;-webkit-order:1;-ms-flex-order:1;order:1}.order-0{-webkit-box-ordinal-group:1;-webkit-order:0;-ms-flex-order:0;order:0}.flex-row{-webkit-box-orient:horizontal!important;-webkit-box-direction:normal!important;-webkit-flex-direction:row!important;-ms-flex-direction:row!important;flex-direction:row!important}.flex-column{-webkit-box-orient:vertical!important;-webkit-box-direction:normal!important;-webkit-flex-direction:column!important;-ms-flex-direction:column!important;flex-direction:column!important}.flex-row-reverse{-webkit-box-orient:horizontal!important;-webkit-box-direction:reverse!important;-webkit-flex-direction:row-reverse!important;-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-column-reverse{-webkit-box-orient:vertical!important;-webkit-box-direction:reverse!important;-webkit-flex-direction:column-reverse!important;-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-wrap{-webkit-flex-wrap:wrap!important;-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-nowrap{-webkit-flex-wrap:nowrap!important;-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-wrap-reverse{-webkit-flex-wrap:wrap-reverse!important;-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.justify-content-start{-webkit-box-pack:start!important;-webkit-justify-content:flex-start!important;-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-end{-webkit-box-pack:end!important;-webkit-justify-content:flex-end!important;-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-center{-webkit-box-pack:center!important;-webkit-justify-content:center!important;-ms-flex-pack:center!important;justify-content:center!important}.justify-content-between{-webkit-box-pack:justify!important;-webkit-justify-content:space-between!important;-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-around{-webkit-justify-content:space-around!important;-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-start{-webkit-box-align:start!important;-webkit-align-items:flex-start!important;-ms-flex-align:start!important;align-items:flex-start!important}.align-items-end{-webkit-box-align:end!important;-webkit-align-items:flex-end!important;-ms-flex-align:end!important;align-items:flex-end!important}.align-items-center{-webkit-box-align:center!important;-webkit-align-items:center!important;-ms-flex-align:center!important;align-items:center!important}.align-items-baseline{-webkit-box-align:baseline!important;-webkit-align-items:baseline!important;-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-stretch{-webkit-box-align:stretch!important;-webkit-align-items:stretch!important;-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-start{-webkit-align-content:flex-start!important;-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-end{-webkit-align-content:flex-end!important;-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-center{-webkit-align-content:center!important;-ms-flex-line-pack:center!important;align-content:center!important}.align-content-between{-webkit-align-content:space-between!important;-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-around{-webkit-align-content:space-around!important;-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-stretch{-webkit-align-content:stretch!important;-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-auto{-webkit-align-self:auto!important;-ms-flex-item-align:auto!important;-ms-grid-row-align:auto!important;align-self:auto!important}.align-self-start{-webkit-align-self:flex-start!important;-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-end{-webkit-align-self:flex-end!important;-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-center{-webkit-align-self:center!important;-ms-flex-item-align:center!important;-ms-grid-row-align:center!important;align-self:center!important}.align-self-baseline{-webkit-align-self:baseline!important;-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-stretch{-webkit-align-self:stretch!important;-ms-flex-item-align:stretch!important;-ms-grid-row-align:stretch!important;align-self:stretch!important}@media (min-width:576px){.order-sm-first{-webkit-box-ordinal-group:0;-webkit-order:-1;-ms-flex-order:-1;order:-1}.order-sm-last{-webkit-box-ordinal-group:2;-webkit-order:1;-ms-flex-order:1;order:1}.order-sm-0{-webkit-box-ordinal-group:1;-webkit-order:0;-ms-flex-order:0;order:0}.flex-sm-row{-webkit-box-orient:horizontal!important;-webkit-box-direction:normal!important;-webkit-flex-direction:row!important;-ms-flex-direction:row!important;flex-direction:row!important}.flex-sm-column{-webkit-box-orient:vertical!important;-webkit-box-direction:normal!important;-webkit-flex-direction:column!important;-ms-flex-direction:column!important;flex-direction:column!important}.flex-sm-row-reverse{-webkit-box-orient:horizontal!important;-webkit-box-direction:reverse!important;-webkit-flex-direction:row-reverse!important;-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-sm-column-reverse{-webkit-box-orient:vertical!important;-webkit-box-direction:reverse!important;-webkit-flex-direction:column-reverse!important;-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-sm-wrap{-webkit-flex-wrap:wrap!important;-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-sm-nowrap{-webkit-flex-wrap:nowrap!important;-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-sm-wrap-reverse{-webkit-flex-wrap:wrap-reverse!important;-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.justify-content-sm-start{-webkit-box-pack:start!important;-webkit-justify-content:flex-start!important;-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-sm-end{-webkit-box-pack:end!important;-webkit-justify-content:flex-end!important;-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-sm-center{-webkit-box-pack:center!important;-webkit-justify-content:center!important;-ms-flex-pack:center!important;justify-content:center!important}.justify-content-sm-between{-webkit-box-pack:justify!important;-webkit-justify-content:space-between!important;-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-sm-around{-webkit-justify-content:space-around!important;-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-sm-start{-webkit-box-align:start!important;-webkit-align-items:flex-start!important;-ms-flex-align:start!important;align-items:flex-start!important}.align-items-sm-end{-webkit-box-align:end!important;-webkit-align-items:flex-end!important;-ms-flex-align:end!important;align-items:flex-end!important}.align-items-sm-center{-webkit-box-align:center!important;-webkit-align-items:center!important;-ms-flex-align:center!important;align-items:center!important}.align-items-sm-baseline{-webkit-box-align:baseline!important;-webkit-align-items:baseline!important;-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-sm-stretch{-webkit-box-align:stretch!important;-webkit-align-items:stretch!important;-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-sm-start{-webkit-align-content:flex-start!important;-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-sm-end{-webkit-align-content:flex-end!important;-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-sm-center{-webkit-align-content:center!important;-ms-flex-line-pack:center!important;align-content:center!important}.align-content-sm-between{-webkit-align-content:space-between!important;-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-sm-around{-webkit-align-content:space-around!important;-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-sm-stretch{-webkit-align-content:stretch!important;-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-sm-auto{-webkit-align-self:auto!important;-ms-flex-item-align:auto!important;-ms-grid-row-align:auto!important;align-self:auto!important}.align-self-sm-start{-webkit-align-self:flex-start!important;-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-sm-end{-webkit-align-self:flex-end!important;-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-sm-center{-webkit-align-self:center!important;-ms-flex-item-align:center!important;-ms-grid-row-align:center!important;align-self:center!important}.align-self-sm-baseline{-webkit-align-self:baseline!important;-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-sm-stretch{-webkit-align-self:stretch!important;-ms-flex-item-align:stretch!important;-ms-grid-row-align:stretch!important;align-self:stretch!important}}@media (min-width:768px){.order-md-first{-webkit-box-ordinal-group:0;-webkit-order:-1;-ms-flex-order:-1;order:-1}.order-md-last{-webkit-box-ordinal-group:2;-webkit-order:1;-ms-flex-order:1;order:1}.order-md-0{-webkit-box-ordinal-group:1;-webkit-order:0;-ms-flex-order:0;order:0}.flex-md-row{-webkit-box-orient:horizontal!important;-webkit-box-direction:normal!important;-webkit-flex-direction:row!important;-ms-flex-direction:row!important;flex-direction:row!important}.flex-md-column{-webkit-box-orient:vertical!important;-webkit-box-direction:normal!important;-webkit-flex-direction:column!important;-ms-flex-direction:column!important;flex-direction:column!important}.flex-md-row-reverse{-webkit-box-orient:horizontal!important;-webkit-box-direction:reverse!important;-webkit-flex-direction:row-reverse!important;-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-md-column-reverse{-webkit-box-orient:vertical!important;-webkit-box-direction:reverse!important;-webkit-flex-direction:column-reverse!important;-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-md-wrap{-webkit-flex-wrap:wrap!important;-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-md-nowrap{-webkit-flex-wrap:nowrap!important;-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-md-wrap-reverse{-webkit-flex-wrap:wrap-reverse!important;-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.justify-content-md-start{-webkit-box-pack:start!important;-webkit-justify-content:flex-start!important;-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-md-end{-webkit-box-pack:end!important;-webkit-justify-content:flex-end!important;-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-md-center{-webkit-box-pack:center!important;-webkit-justify-content:center!important;-ms-flex-pack:center!important;justify-content:center!important}.justify-content-md-between{-webkit-box-pack:justify!important;-webkit-justify-content:space-between!important;-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-md-around{-webkit-justify-content:space-around!important;-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-md-start{-webkit-box-align:start!important;-webkit-align-items:flex-start!important;-ms-flex-align:start!important;align-items:flex-start!important}.align-items-md-end{-webkit-box-align:end!important;-webkit-align-items:flex-end!important;-ms-flex-align:end!important;align-items:flex-end!important}.align-items-md-center{-webkit-box-align:center!important;-webkit-align-items:center!important;-ms-flex-align:center!important;align-items:center!important}.align-items-md-baseline{-webkit-box-align:baseline!important;-webkit-align-items:baseline!important;-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-md-stretch{-webkit-box-align:stretch!important;-webkit-align-items:stretch!important;-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-md-start{-webkit-align-content:flex-start!important;-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-md-end{-webkit-align-content:flex-end!important;-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-md-center{-webkit-align-content:center!important;-ms-flex-line-pack:center!important;align-content:center!important}.align-content-md-between{-webkit-align-content:space-between!important;-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-md-around{-webkit-align-content:space-around!important;-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-md-stretch{-webkit-align-content:stretch!important;-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-md-auto{-webkit-align-self:auto!important;-ms-flex-item-align:auto!important;-ms-grid-row-align:auto!important;align-self:auto!important}.align-self-md-start{-webkit-align-self:flex-start!important;-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-md-end{-webkit-align-self:flex-end!important;-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-md-center{-webkit-align-self:center!important;-ms-flex-item-align:center!important;-ms-grid-row-align:center!important;align-self:center!important}.align-self-md-baseline{-webkit-align-self:baseline!important;-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-md-stretch{-webkit-align-self:stretch!important;-ms-flex-item-align:stretch!important;-ms-grid-row-align:stretch!important;align-self:stretch!important}}@media (min-width:992px){.order-lg-first{-webkit-box-ordinal-group:0;-webkit-order:-1;-ms-flex-order:-1;order:-1}.order-lg-last{-webkit-box-ordinal-group:2;-webkit-order:1;-ms-flex-order:1;order:1}.order-lg-0{-webkit-box-ordinal-group:1;-webkit-order:0;-ms-flex-order:0;order:0}.flex-lg-row{-webkit-box-orient:horizontal!important;-webkit-box-direction:normal!important;-webkit-flex-direction:row!important;-ms-flex-direction:row!important;flex-direction:row!important}.flex-lg-column{-webkit-box-orient:vertical!important;-webkit-box-direction:normal!important;-webkit-flex-direction:column!important;-ms-flex-direction:column!important;flex-direction:column!important}.flex-lg-row-reverse{-webkit-box-orient:horizontal!important;-webkit-box-direction:reverse!important;-webkit-flex-direction:row-reverse!important;-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-lg-column-reverse{-webkit-box-orient:vertical!important;-webkit-box-direction:reverse!important;-webkit-flex-direction:column-reverse!important;-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-lg-wrap{-webkit-flex-wrap:wrap!important;-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-lg-nowrap{-webkit-flex-wrap:nowrap!important;-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-lg-wrap-reverse{-webkit-flex-wrap:wrap-reverse!important;-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.justify-content-lg-start{-webkit-box-pack:start!important;-webkit-justify-content:flex-start!important;-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-lg-end{-webkit-box-pack:end!important;-webkit-justify-content:flex-end!important;-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-lg-center{-webkit-box-pack:center!important;-webkit-justify-content:center!important;-ms-flex-pack:center!important;justify-content:center!important}.justify-content-lg-between{-webkit-box-pack:justify!important;-webkit-justify-content:space-between!important;-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-lg-around{-webkit-justify-content:space-around!important;-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-lg-start{-webkit-box-align:start!important;-webkit-align-items:flex-start!important;-ms-flex-align:start!important;align-items:flex-start!important}.align-items-lg-end{-webkit-box-align:end!important;-webkit-align-items:flex-end!important;-ms-flex-align:end!important;align-items:flex-end!important}.align-items-lg-center{-webkit-box-align:center!important;-webkit-align-items:center!important;-ms-flex-align:center!important;align-items:center!important}.align-items-lg-baseline{-webkit-box-align:baseline!important;-webkit-align-items:baseline!important;-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-lg-stretch{-webkit-box-align:stretch!important;-webkit-align-items:stretch!important;-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-lg-start{-webkit-align-content:flex-start!important;-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-lg-end{-webkit-align-content:flex-end!important;-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-lg-center{-webkit-align-content:center!important;-ms-flex-line-pack:center!important;align-content:center!important}.align-content-lg-between{-webkit-align-content:space-between!important;-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-lg-around{-webkit-align-content:space-around!important;-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-lg-stretch{-webkit-align-content:stretch!important;-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-lg-auto{-webkit-align-self:auto!important;-ms-flex-item-align:auto!important;-ms-grid-row-align:auto!important;align-self:auto!important}.align-self-lg-start{-webkit-align-self:flex-start!important;-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-lg-end{-webkit-align-self:flex-end!important;-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-lg-center{-webkit-align-self:center!important;-ms-flex-item-align:center!important;-ms-grid-row-align:center!important;align-self:center!important}.align-self-lg-baseline{-webkit-align-self:baseline!important;-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-lg-stretch{-webkit-align-self:stretch!important;-ms-flex-item-align:stretch!important;-ms-grid-row-align:stretch!important;align-self:stretch!important}}@media (min-width:1200px){.order-xl-first{-webkit-box-ordinal-group:0;-webkit-order:-1;-ms-flex-order:-1;order:-1}.order-xl-last{-webkit-box-ordinal-group:2;-webkit-order:1;-ms-flex-order:1;order:1}.order-xl-0{-webkit-box-ordinal-group:1;-webkit-order:0;-ms-flex-order:0;order:0}.flex-xl-row{-webkit-box-orient:horizontal!important;-webkit-box-direction:normal!important;-webkit-flex-direction:row!important;-ms-flex-direction:row!important;flex-direction:row!important}.flex-xl-column{-webkit-box-orient:vertical!important;-webkit-box-direction:normal!important;-webkit-flex-direction:column!important;-ms-flex-direction:column!important;flex-direction:column!important}.flex-xl-row-reverse{-webkit-box-orient:horizontal!important;-webkit-box-direction:reverse!important;-webkit-flex-direction:row-reverse!important;-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-xl-column-reverse{-webkit-box-orient:vertical!important;-webkit-box-direction:reverse!important;-webkit-flex-direction:column-reverse!important;-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-xl-wrap{-webkit-flex-wrap:wrap!important;-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-xl-nowrap{-webkit-flex-wrap:nowrap!important;-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-xl-wrap-reverse{-webkit-flex-wrap:wrap-reverse!important;-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.justify-content-xl-start{-webkit-box-pack:start!important;-webkit-justify-content:flex-start!important;-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-xl-end{-webkit-box-pack:end!important;-webkit-justify-content:flex-end!important;-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-xl-center{-webkit-box-pack:center!important;-webkit-justify-content:center!important;-ms-flex-pack:center!important;justify-content:center!important}.justify-content-xl-between{-webkit-box-pack:justify!important;-webkit-justify-content:space-between!important;-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-xl-around{-webkit-justify-content:space-around!important;-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-xl-start{-webkit-box-align:start!important;-webkit-align-items:flex-start!important;-ms-flex-align:start!important;align-items:flex-start!important}.align-items-xl-end{-webkit-box-align:end!important;-webkit-align-items:flex-end!important;-ms-flex-align:end!important;align-items:flex-end!important}.align-items-xl-center{-webkit-box-align:center!important;-webkit-align-items:center!important;-ms-flex-align:center!important;align-items:center!important}.align-items-xl-baseline{-webkit-box-align:baseline!important;-webkit-align-items:baseline!important;-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-xl-stretch{-webkit-box-align:stretch!important;-webkit-align-items:stretch!important;-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-xl-start{-webkit-align-content:flex-start!important;-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-xl-end{-webkit-align-content:flex-end!important;-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-xl-center{-webkit-align-content:center!important;-ms-flex-line-pack:center!important;align-content:center!important}.align-content-xl-between{-webkit-align-content:space-between!important;-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-xl-around{-webkit-align-content:space-around!important;-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-xl-stretch{-webkit-align-content:stretch!important;-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-xl-auto{-webkit-align-self:auto!important;-ms-flex-item-align:auto!important;-ms-grid-row-align:auto!important;align-self:auto!important}.align-self-xl-start{-webkit-align-self:flex-start!important;-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-xl-end{-webkit-align-self:flex-end!important;-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-xl-center{-webkit-align-self:center!important;-ms-flex-item-align:center!important;-ms-grid-row-align:center!important;align-self:center!important}.align-self-xl-baseline{-webkit-align-self:baseline!important;-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-xl-stretch{-webkit-align-self:stretch!important;-ms-flex-item-align:stretch!important;-ms-grid-row-align:stretch!important;align-self:stretch!important}}.float-left{float:left!important}.float-right{float:right!important}.float-none{float:none!important}@media (min-width:576px){.float-sm-left{float:left!important}.float-sm-right{float:right!important}.float-sm-none{float:none!important}}@media (min-width:768px){.float-md-left{float:left!important}.float-md-right{float:right!important}.float-md-none{float:none!important}}@media (min-width:992px){.float-lg-left{float:left!important}.float-lg-right{float:right!important}.float-lg-none{float:none!important}}@media (min-width:1200px){.float-xl-left{float:left!important}.float-xl-right{float:right!important}.float-xl-none{float:none!important}}.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}.sticky-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;-webkit-clip-path:inset(50%);clip-path:inset(50%);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;overflow:visible;clip:auto;white-space:normal;-webkit-clip-path:none;clip-path:none}.w-25{width:25%!important}.w-50{width:50%!important}.w-75{width:75%!important}.w-100{width:100%!important}.h-25{height:25%!important}.h-50{height:50%!important}.h-75{height:75%!important}.h-100{height:100%!important}.mw-100{max-width:100%!important}.mh-100{max-height:100%!important}.m-0{margin:0!important}.mt-0{margin-top:0!important}.mr-0{margin-right:0!important}.mb-0{margin-bottom:0!important}.ml-0{margin-left:0!important}.mx-0{margin-right:0!important;margin-left:0!important}.my-0{margin-top:0!important;margin-bottom:0!important}.m-1{margin:.25rem!important}.mt-1{margin-top:.25rem!important}.mr-1{margin-right:.25rem!important}.mb-1{margin-bottom:.25rem!important}.ml-1{margin-left:.25rem!important}.mx-1{margin-right:.25rem!important;margin-left:.25rem!important}.my-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.m-2{margin:.5rem!important}.mt-2{margin-top:.5rem!important}.mr-2{margin-right:.5rem!important}.mb-2{margin-bottom:.5rem!important}.ml-2{margin-left:.5rem!important}.mx-2{margin-right:.5rem!important;margin-left:.5rem!important}.my-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.m-3{margin:1rem!important}.mt-3{margin-top:1rem!important}.mr-3{margin-right:1rem!important}.mb-3{margin-bottom:1rem!important}.ml-3{margin-left:1rem!important}.mx-3{margin-right:1rem!important;margin-left:1rem!important}.my-3{margin-top:1rem!important;margin-bottom:1rem!important}.m-4{margin:1.5rem!important}.mt-4{margin-top:1.5rem!important}.mr-4{margin-right:1.5rem!important}.mb-4{margin-bottom:1.5rem!important}.ml-4{margin-left:1.5rem!important}.mx-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.my-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.m-5{margin:3rem!important}.mt-5{margin-top:3rem!important}.mr-5{margin-right:3rem!important}.mb-5{margin-bottom:3rem!important}.ml-5{margin-left:3rem!important}.mx-5{margin-right:3rem!important;margin-left:3rem!important}.my-5{margin-top:3rem!important;margin-bottom:3rem!important}.p-0{padding:0!important}.pt-0{padding-top:0!important}.pr-0{padding-right:0!important}.pb-0{padding-bottom:0!important}.pl-0{padding-left:0!important}.px-0{padding-right:0!important;padding-left:0!important}.py-0{padding-top:0!important;padding-bottom:0!important}.p-1{padding:.25rem!important}.pt-1{padding-top:.25rem!important}.pr-1{padding-right:.25rem!important}.pb-1{padding-bottom:.25rem!important}.pl-1{padding-left:.25rem!important}.px-1{padding-right:.25rem!important;padding-left:.25rem!important}.py-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.p-2{padding:.5rem!important}.pt-2{padding-top:.5rem!important}.pr-2{padding-right:.5rem!important}.pb-2{padding-bottom:.5rem!important}.pl-2{padding-left:.5rem!important}.px-2{padding-right:.5rem!important;padding-left:.5rem!important}.py-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.p-3{padding:1rem!important}.pt-3{padding-top:1rem!important}.pr-3{padding-right:1rem!important}.pb-3{padding-bottom:1rem!important}.pl-3{padding-left:1rem!important}.px-3{padding-right:1rem!important;padding-left:1rem!important}.py-3{padding-top:1rem!important;padding-bottom:1rem!important}.p-4{padding:1.5rem!important}.pt-4{padding-top:1.5rem!important}.pr-4{padding-right:1.5rem!important}.pb-4{padding-bottom:1.5rem!important}.pl-4{padding-left:1.5rem!important}.px-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.py-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.p-5{padding:3rem!important}.pt-5{padding-top:3rem!important}.pr-5{padding-right:3rem!important}.pb-5{padding-bottom:3rem!important}.pl-5{padding-left:3rem!important}.px-5{padding-right:3rem!important;padding-left:3rem!important}.py-5{padding-top:3rem!important;padding-bottom:3rem!important}.m-auto{margin:auto!important}.mt-auto{margin-top:auto!important}.mr-auto{margin-right:auto!important}.mb-auto{margin-bottom:auto!important}.ml-auto{margin-left:auto!important}.mx-auto{margin-right:auto!important;margin-left:auto!important}.my-auto{margin-top:auto!important;margin-bottom:auto!important}@media (min-width:576px){.m-sm-0{margin:0!important}.mt-sm-0{margin-top:0!important}.mr-sm-0{margin-right:0!important}.mb-sm-0{margin-bottom:0!important}.ml-sm-0{margin-left:0!important}.mx-sm-0{margin-right:0!important;margin-left:0!important}.my-sm-0{margin-top:0!important;margin-bottom:0!important}.m-sm-1{margin:.25rem!important}.mt-sm-1{margin-top:.25rem!important}.mr-sm-1{margin-right:.25rem!important}.mb-sm-1{margin-bottom:.25rem!important}.ml-sm-1{margin-left:.25rem!important}.mx-sm-1{margin-right:.25rem!important;margin-left:.25rem!important}.my-sm-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.m-sm-2{margin:.5rem!important}.mt-sm-2{margin-top:.5rem!important}.mr-sm-2{margin-right:.5rem!important}.mb-sm-2{margin-bottom:.5rem!important}.ml-sm-2{margin-left:.5rem!important}.mx-sm-2{margin-right:.5rem!important;margin-left:.5rem!important}.my-sm-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.m-sm-3{margin:1rem!important}.mt-sm-3{margin-top:1rem!important}.mr-sm-3{margin-right:1rem!important}.mb-sm-3{margin-bottom:1rem!important}.ml-sm-3{margin-left:1rem!important}.mx-sm-3{margin-right:1rem!important;margin-left:1rem!important}.my-sm-3{margin-top:1rem!important;margin-bottom:1rem!important}.m-sm-4{margin:1.5rem!important}.mt-sm-4{margin-top:1.5rem!important}.mr-sm-4{margin-right:1.5rem!important}.mb-sm-4{margin-bottom:1.5rem!important}.ml-sm-4{margin-left:1.5rem!important}.mx-sm-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.my-sm-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.m-sm-5{margin:3rem!important}.mt-sm-5{margin-top:3rem!important}.mr-sm-5{margin-right:3rem!important}.mb-sm-5{margin-bottom:3rem!important}.ml-sm-5{margin-left:3rem!important}.mx-sm-5{margin-right:3rem!important;margin-left:3rem!important}.my-sm-5{margin-top:3rem!important;margin-bottom:3rem!important}.p-sm-0{padding:0!important}.pt-sm-0{padding-top:0!important}.pr-sm-0{padding-right:0!important}.pb-sm-0{padding-bottom:0!important}.pl-sm-0{padding-left:0!important}.px-sm-0{padding-right:0!important;padding-left:0!important}.py-sm-0{padding-top:0!important;padding-bottom:0!important}.p-sm-1{padding:.25rem!important}.pt-sm-1{padding-top:.25rem!important}.pr-sm-1{padding-right:.25rem!important}.pb-sm-1{padding-bottom:.25rem!important}.pl-sm-1{padding-left:.25rem!important}.px-sm-1{padding-right:.25rem!important;padding-left:.25rem!important}.py-sm-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.p-sm-2{padding:.5rem!important}.pt-sm-2{padding-top:.5rem!important}.pr-sm-2{padding-right:.5rem!important}.pb-sm-2{padding-bottom:.5rem!important}.pl-sm-2{padding-left:.5rem!important}.px-sm-2{padding-right:.5rem!important;padding-left:.5rem!important}.py-sm-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.p-sm-3{padding:1rem!important}.pt-sm-3{padding-top:1rem!important}.pr-sm-3{padding-right:1rem!important}.pb-sm-3{padding-bottom:1rem!important}.pl-sm-3{padding-left:1rem!important}.px-sm-3{padding-right:1rem!important;padding-left:1rem!important}.py-sm-3{padding-top:1rem!important;padding-bottom:1rem!important}.p-sm-4{padding:1.5rem!important}.pt-sm-4{padding-top:1.5rem!important}.pr-sm-4{padding-right:1.5rem!important}.pb-sm-4{padding-bottom:1.5rem!important}.pl-sm-4{padding-left:1.5rem!important}.px-sm-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.py-sm-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.p-sm-5{padding:3rem!important}.pt-sm-5{padding-top:3rem!important}.pr-sm-5{padding-right:3rem!important}.pb-sm-5{padding-bottom:3rem!important}.pl-sm-5{padding-left:3rem!important}.px-sm-5{padding-right:3rem!important;padding-left:3rem!important}.py-sm-5{padding-top:3rem!important;padding-bottom:3rem!important}.m-sm-auto{margin:auto!important}.mt-sm-auto{margin-top:auto!important}.mr-sm-auto{margin-right:auto!important}.mb-sm-auto{margin-bottom:auto!important}.ml-sm-auto{margin-left:auto!important}.mx-sm-auto{margin-right:auto!important;margin-left:auto!important}.my-sm-auto{margin-top:auto!important;margin-bottom:auto!important}}@media (min-width:768px){.m-md-0{margin:0!important}.mt-md-0{margin-top:0!important}.mr-md-0{margin-right:0!important}.mb-md-0{margin-bottom:0!important}.ml-md-0{margin-left:0!important}.mx-md-0{margin-right:0!important;margin-left:0!important}.my-md-0{margin-top:0!important;margin-bottom:0!important}.m-md-1{margin:.25rem!important}.mt-md-1{margin-top:.25rem!important}.mr-md-1{margin-right:.25rem!important}.mb-md-1{margin-bottom:.25rem!important}.ml-md-1{margin-left:.25rem!important}.mx-md-1{margin-right:.25rem!important;margin-left:.25rem!important}.my-md-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.m-md-2{margin:.5rem!important}.mt-md-2{margin-top:.5rem!important}.mr-md-2{margin-right:.5rem!important}.mb-md-2{margin-bottom:.5rem!important}.ml-md-2{margin-left:.5rem!important}.mx-md-2{margin-right:.5rem!important;margin-left:.5rem!important}.my-md-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.m-md-3{margin:1rem!important}.mt-md-3{margin-top:1rem!important}.mr-md-3{margin-right:1rem!important}.mb-md-3{margin-bottom:1rem!important}.ml-md-3{margin-left:1rem!important}.mx-md-3{margin-right:1rem!important;margin-left:1rem!important}.my-md-3{margin-top:1rem!important;margin-bottom:1rem!important}.m-md-4{margin:1.5rem!important}.mt-md-4{margin-top:1.5rem!important}.mr-md-4{margin-right:1.5rem!important}.mb-md-4{margin-bottom:1.5rem!important}.ml-md-4{margin-left:1.5rem!important}.mx-md-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.my-md-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.m-md-5{margin:3rem!important}.mt-md-5{margin-top:3rem!important}.mr-md-5{margin-right:3rem!important}.mb-md-5{margin-bottom:3rem!important}.ml-md-5{margin-left:3rem!important}.mx-md-5{margin-right:3rem!important;margin-left:3rem!important}.my-md-5{margin-top:3rem!important;margin-bottom:3rem!important}.p-md-0{padding:0!important}.pt-md-0{padding-top:0!important}.pr-md-0{padding-right:0!important}.pb-md-0{padding-bottom:0!important}.pl-md-0{padding-left:0!important}.px-md-0{padding-right:0!important;padding-left:0!important}.py-md-0{padding-top:0!important;padding-bottom:0!important}.p-md-1{padding:.25rem!important}.pt-md-1{padding-top:.25rem!important}.pr-md-1{padding-right:.25rem!important}.pb-md-1{padding-bottom:.25rem!important}.pl-md-1{padding-left:.25rem!important}.px-md-1{padding-right:.25rem!important;padding-left:.25rem!important}.py-md-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.p-md-2{padding:.5rem!important}.pt-md-2{padding-top:.5rem!important}.pr-md-2{padding-right:.5rem!important}.pb-md-2{padding-bottom:.5rem!important}.pl-md-2{padding-left:.5rem!important}.px-md-2{padding-right:.5rem!important;padding-left:.5rem!important}.py-md-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.p-md-3{padding:1rem!important}.pt-md-3{padding-top:1rem!important}.pr-md-3{padding-right:1rem!important}.pb-md-3{padding-bottom:1rem!important}.pl-md-3{padding-left:1rem!important}.px-md-3{padding-right:1rem!important;padding-left:1rem!important}.py-md-3{padding-top:1rem!important;padding-bottom:1rem!important}.p-md-4{padding:1.5rem!important}.pt-md-4{padding-top:1.5rem!important}.pr-md-4{padding-right:1.5rem!important}.pb-md-4{padding-bottom:1.5rem!important}.pl-md-4{padding-left:1.5rem!important}.px-md-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.py-md-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.p-md-5{padding:3rem!important}.pt-md-5{padding-top:3rem!important}.pr-md-5{padding-right:3rem!important}.pb-md-5{padding-bottom:3rem!important}.pl-md-5{padding-left:3rem!important}.px-md-5{padding-right:3rem!important;padding-left:3rem!important}.py-md-5{padding-top:3rem!important;padding-bottom:3rem!important}.m-md-auto{margin:auto!important}.mt-md-auto{margin-top:auto!important}.mr-md-auto{margin-right:auto!important}.mb-md-auto{margin-bottom:auto!important}.ml-md-auto{margin-left:auto!important}.mx-md-auto{margin-right:auto!important;margin-left:auto!important}.my-md-auto{margin-top:auto!important;margin-bottom:auto!important}}@media (min-width:992px){.m-lg-0{margin:0!important}.mt-lg-0{margin-top:0!important}.mr-lg-0{margin-right:0!important}.mb-lg-0{margin-bottom:0!important}.ml-lg-0{margin-left:0!important}.mx-lg-0{margin-right:0!important;margin-left:0!important}.my-lg-0{margin-top:0!important;margin-bottom:0!important}.m-lg-1{margin:.25rem!important}.mt-lg-1{margin-top:.25rem!important}.mr-lg-1{margin-right:.25rem!important}.mb-lg-1{margin-bottom:.25rem!important}.ml-lg-1{margin-left:.25rem!important}.mx-lg-1{margin-right:.25rem!important;margin-left:.25rem!important}.my-lg-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.m-lg-2{margin:.5rem!important}.mt-lg-2{margin-top:.5rem!important}.mr-lg-2{margin-right:.5rem!important}.mb-lg-2{margin-bottom:.5rem!important}.ml-lg-2{margin-left:.5rem!important}.mx-lg-2{margin-right:.5rem!important;margin-left:.5rem!important}.my-lg-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.m-lg-3{margin:1rem!important}.mt-lg-3{margin-top:1rem!important}.mr-lg-3{margin-right:1rem!important}.mb-lg-3{margin-bottom:1rem!important}.ml-lg-3{margin-left:1rem!important}.mx-lg-3{margin-right:1rem!important;margin-left:1rem!important}.my-lg-3{margin-top:1rem!important;margin-bottom:1rem!important}.m-lg-4{margin:1.5rem!important}.mt-lg-4{margin-top:1.5rem!important}.mr-lg-4{margin-right:1.5rem!important}.mb-lg-4{margin-bottom:1.5rem!important}.ml-lg-4{margin-left:1.5rem!important}.mx-lg-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.my-lg-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.m-lg-5{margin:3rem!important}.mt-lg-5{margin-top:3rem!important}.mr-lg-5{margin-right:3rem!important}.mb-lg-5{margin-bottom:3rem!important}.ml-lg-5{margin-left:3rem!important}.mx-lg-5{margin-right:3rem!important;margin-left:3rem!important}.my-lg-5{margin-top:3rem!important;margin-bottom:3rem!important}.p-lg-0{padding:0!important}.pt-lg-0{padding-top:0!important}.pr-lg-0{padding-right:0!important}.pb-lg-0{padding-bottom:0!important}.pl-lg-0{padding-left:0!important}.px-lg-0{padding-right:0!important;padding-left:0!important}.py-lg-0{padding-top:0!important;padding-bottom:0!important}.p-lg-1{padding:.25rem!important}.pt-lg-1{padding-top:.25rem!important}.pr-lg-1{padding-right:.25rem!important}.pb-lg-1{padding-bottom:.25rem!important}.pl-lg-1{padding-left:.25rem!important}.px-lg-1{padding-right:.25rem!important;padding-left:.25rem!important}.py-lg-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.p-lg-2{padding:.5rem!important}.pt-lg-2{padding-top:.5rem!important}.pr-lg-2{padding-right:.5rem!important}.pb-lg-2{padding-bottom:.5rem!important}.pl-lg-2{padding-left:.5rem!important}.px-lg-2{padding-right:.5rem!important;padding-left:.5rem!important}.py-lg-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.p-lg-3{padding:1rem!important}.pt-lg-3{padding-top:1rem!important}.pr-lg-3{padding-right:1rem!important}.pb-lg-3{padding-bottom:1rem!important}.pl-lg-3{padding-left:1rem!important}.px-lg-3{padding-right:1rem!important;padding-left:1rem!important}.py-lg-3{padding-top:1rem!important;padding-bottom:1rem!important}.p-lg-4{padding:1.5rem!important}.pt-lg-4{padding-top:1.5rem!important}.pr-lg-4{padding-right:1.5rem!important}.pb-lg-4{padding-bottom:1.5rem!important}.pl-lg-4{padding-left:1.5rem!important}.px-lg-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.py-lg-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.p-lg-5{padding:3rem!important}.pt-lg-5{padding-top:3rem!important}.pr-lg-5{padding-right:3rem!important}.pb-lg-5{padding-bottom:3rem!important}.pl-lg-5{padding-left:3rem!important}.px-lg-5{padding-right:3rem!important;padding-left:3rem!important}.py-lg-5{padding-top:3rem!important;padding-bottom:3rem!important}.m-lg-auto{margin:auto!important}.mt-lg-auto{margin-top:auto!important}.mr-lg-auto{margin-right:auto!important}.mb-lg-auto{margin-bottom:auto!important}.ml-lg-auto{margin-left:auto!important}.mx-lg-auto{margin-right:auto!important;margin-left:auto!important}.my-lg-auto{margin-top:auto!important;margin-bottom:auto!important}}@media (min-width:1200px){.m-xl-0{margin:0!important}.mt-xl-0{margin-top:0!important}.mr-xl-0{margin-right:0!important}.mb-xl-0{margin-bottom:0!important}.ml-xl-0{margin-left:0!important}.mx-xl-0{margin-right:0!important;margin-left:0!important}.my-xl-0{margin-top:0!important;margin-bottom:0!important}.m-xl-1{margin:.25rem!important}.mt-xl-1{margin-top:.25rem!important}.mr-xl-1{margin-right:.25rem!important}.mb-xl-1{margin-bottom:.25rem!important}.ml-xl-1{margin-left:.25rem!important}.mx-xl-1{margin-right:.25rem!important;margin-left:.25rem!important}.my-xl-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.m-xl-2{margin:.5rem!important}.mt-xl-2{margin-top:.5rem!important}.mr-xl-2{margin-right:.5rem!important}.mb-xl-2{margin-bottom:.5rem!important}.ml-xl-2{margin-left:.5rem!important}.mx-xl-2{margin-right:.5rem!important;margin-left:.5rem!important}.my-xl-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.m-xl-3{margin:1rem!important}.mt-xl-3{margin-top:1rem!important}.mr-xl-3{margin-right:1rem!important}.mb-xl-3{margin-bottom:1rem!important}.ml-xl-3{margin-left:1rem!important}.mx-xl-3{margin-right:1rem!important;margin-left:1rem!important}.my-xl-3{margin-top:1rem!important;margin-bottom:1rem!important}.m-xl-4{margin:1.5rem!important}.mt-xl-4{margin-top:1.5rem!important}.mr-xl-4{margin-right:1.5rem!important}.mb-xl-4{margin-bottom:1.5rem!important}.ml-xl-4{margin-left:1.5rem!important}.mx-xl-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.my-xl-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.m-xl-5{margin:3rem!important}.mt-xl-5{margin-top:3rem!important}.mr-xl-5{margin-right:3rem!important}.mb-xl-5{margin-bottom:3rem!important}.ml-xl-5{margin-left:3rem!important}.mx-xl-5{margin-right:3rem!important;margin-left:3rem!important}.my-xl-5{margin-top:3rem!important;margin-bottom:3rem!important}.p-xl-0{padding:0!important}.pt-xl-0{padding-top:0!important}.pr-xl-0{padding-right:0!important}.pb-xl-0{padding-bottom:0!important}.pl-xl-0{padding-left:0!important}.px-xl-0{padding-right:0!important;padding-left:0!important}.py-xl-0{padding-top:0!important;padding-bottom:0!important}.p-xl-1{padding:.25rem!important}.pt-xl-1{padding-top:.25rem!important}.pr-xl-1{padding-right:.25rem!important}.pb-xl-1{padding-bottom:.25rem!important}.pl-xl-1{padding-left:.25rem!important}.px-xl-1{padding-right:.25rem!important;padding-left:.25rem!important}.py-xl-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.p-xl-2{padding:.5rem!important}.pt-xl-2{padding-top:.5rem!important}.pr-xl-2{padding-right:.5rem!important}.pb-xl-2{padding-bottom:.5rem!important}.pl-xl-2{padding-left:.5rem!important}.px-xl-2{padding-right:.5rem!important;padding-left:.5rem!important}.py-xl-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.p-xl-3{padding:1rem!important}.pt-xl-3{padding-top:1rem!important}.pr-xl-3{padding-right:1rem!important}.pb-xl-3{padding-bottom:1rem!important}.pl-xl-3{padding-left:1rem!important}.px-xl-3{padding-right:1rem!important;padding-left:1rem!important}.py-xl-3{padding-top:1rem!important;padding-bottom:1rem!important}.p-xl-4{padding:1.5rem!important}.pt-xl-4{padding-top:1.5rem!important}.pr-xl-4{padding-right:1.5rem!important}.pb-xl-4{padding-bottom:1.5rem!important}.pl-xl-4{padding-left:1.5rem!important}.px-xl-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.py-xl-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.p-xl-5{padding:3rem!important}.pt-xl-5{padding-top:3rem!important}.pr-xl-5{padding-right:3rem!important}.pb-xl-5{padding-bottom:3rem!important}.pl-xl-5{padding-left:3rem!important}.px-xl-5{padding-right:3rem!important;padding-left:3rem!important}.py-xl-5{padding-top:3rem!important;padding-bottom:3rem!important}.m-xl-auto{margin:auto!important}.mt-xl-auto{margin-top:auto!important}.mr-xl-auto{margin-right:auto!important}.mb-xl-auto{margin-bottom:auto!important}.ml-xl-auto{margin-left:auto!important}.mx-xl-auto{margin-right:auto!important;margin-left:auto!important}.my-xl-auto{margin-top:auto!important;margin-bottom:auto!important}}.text-justify{text-align:justify!important}.text-nowrap{white-space:nowrap!important}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text-left{text-align:left!important}.text-right{text-align:right!important}.text-center{text-align:center!important}@media (min-width:576px){.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){.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){.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){.text-xl-left{text-align:left!important}.text-xl-right{text-align:right!important}.text-xl-center{text-align:center!important}}.text-lowercase{text-transform:lowercase!important}.text-uppercase{text-transform:uppercase!important}.text-capitalize{text-transform:capitalize!important}.font-weight-normal{font-weight:400}.font-weight-bold{font-weight:700}.font-italic{font-style:italic}.text-white{color:#fff!important}.text-muted{color:#636c72!important}a.text-muted:focus,a.text-muted:hover{color:#4b5257!important}.text-primary{color:#0275d8!important}a.text-primary:focus,a.text-primary:hover{color:#025aa5!important}.text-success{color:#5cb85c!important}a.text-success:focus,a.text-success:hover{color:#449d44!important}.text-info{color:#5bc0de!important}a.text-info:focus,a.text-info:hover{color:#31b0d5!important}.text-warning{color:#f0ad4e!important}a.text-warning:focus,a.text-warning:hover{color:#ec971f!important}.text-danger{color:#d9534f!important}a.text-danger:focus,a.text-danger:hover{color:#c9302c!important}.text-gray-dark{color:#292b2c!important}a.text-gray-dark:focus,a.text-gray-dark:hover{color:#101112!important}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.visible{visibility:visible!important}.invisible{visibility:hidden!important}/*# sourceMappingURL=bootstrap.min.css.map */ \ No newline at end of file
diff --git a/templates/assets/bootstrap/dist/css/bootstrap.min.css.map b/templates/assets/bootstrap/dist/css/bootstrap.min.css.map
new file mode 100644
index 0000000..8cc22df
--- /dev/null
+++ b/templates/assets/bootstrap/dist/css/bootstrap.min.css.map
@@ -0,0 +1 @@
+{"version":3,"sources":["../../scss/bootstrap.scss","../../scss/_print.scss","dist/css/bootstrap.css","../../scss/_reboot.scss","bootstrap.css","../../scss/mixins/_hover.scss","../../scss/_type.scss","../../scss/mixins/_lists.scss","../../scss/_images.scss","../../scss/mixins/_image.scss","../../scss/mixins/_border-radius.scss","../../scss/mixins/_transition.scss","../../scss/_code.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.scss","../../scss/mixins/_forms.scss","../../scss/_buttons.scss","../../scss/mixins/_buttons.scss","../../scss/_transitions.scss","../../scss/_dropdown.scss","../../scss/mixins/_nav-divider.scss","../../scss/_button-group.scss","../../scss/_input-group.scss","../../scss/_custom-forms.scss","../../scss/_nav.scss","../../scss/_navbar.scss","../../scss/_card.scss","../../scss/mixins/_cards.scss","../../scss/_breadcrumb.scss","../../scss/mixins/_clearfix.scss","../../scss/_pagination.scss","../../scss/mixins/_pagination.scss","../../scss/_badge.scss","../../scss/mixins/_badge.scss","../../scss/_jumbotron.scss","../../scss/_alert.scss","../../scss/mixins/_alert.scss","../../scss/_progress.scss","../../scss/mixins/_gradients.scss","../../scss/_media.scss","../../scss/_list-group.scss","../../scss/mixins/_list-group.scss","../../scss/_responsive-embed.scss","../../scss/_close.scss","../../scss/_modal.scss","../../scss/_tooltip.scss","../../scss/mixins/_reset-text.scss","../../scss/_popover.scss","../../scss/_carousel.scss","../../scss/mixins/_transforms.scss","../../scss/utilities/_align.scss","../../scss/utilities/_background.scss","../../scss/mixins/_background-variant.scss","../../scss/utilities/_borders.scss","../../scss/utilities/_display.scss","../../scss/utilities/_flex.scss","../../scss/utilities/_float.scss","../../scss/mixins/_float.scss","../../scss/utilities/_position.scss","../../scss/utilities/_screenreaders.scss","../../scss/mixins/_screen-reader.scss","../../scss/utilities/_sizing.scss","../../scss/utilities/_spacing.scss","../../scss/utilities/_text.scss","../../scss/mixins/_text-truncate.scss","../../scss/mixins/_text-emphasis.scss","../../scss/mixins/_text-hide.scss","../../scss/utilities/_visibility.scss","../../scss/mixins/_visibility.scss"],"names":[],"mappings":"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"} \ No newline at end of file
diff --git a/templates/assets/bootstrap/dist/js/bootstrap.js b/templates/assets/bootstrap/dist/js/bootstrap.js
new file mode 100644
index 0000000..d16517b
--- /dev/null
+++ b/templates/assets/bootstrap/dist/js/bootstrap.js
@@ -0,0 +1,3558 @@
+/*!
+ * Bootstrap v4.0.0-alpha.6 (https://getbootstrap.com)
+ * Copyright 2011-2017 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ */
+
+if (typeof jQuery === 'undefined') {
+ throw new Error('Bootstrap\'s JavaScript requires jQuery. jQuery must be included before Bootstrap\'s JavaScript.')
+}
+
++function ($) {
+ var version = $.fn.jquery.split(' ')[0].split('.')
+ if ((version[0] < 2 && version[1] < 9) || (version[0] == 1 && version[1] == 9 && version[2] < 1) || (version[0] >= 4)) {
+ throw new Error('Bootstrap\'s JavaScript requires at least jQuery v1.9.1 but less than v4.0.0')
+ }
+}(jQuery);
+
+
++function () {
+
+var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
+
+var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
+
+function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
+
+function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }
+
+function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
+
+/**
+ * --------------------------------------------------------------------------
+ * Bootstrap (v4.0.0-alpha.6): util.js
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ * --------------------------------------------------------------------------
+ */
+
+var Util = function ($) {
+
+ /**
+ * ------------------------------------------------------------------------
+ * Private TransitionEnd Helpers
+ * ------------------------------------------------------------------------
+ */
+
+ var transition = false;
+
+ var MAX_UID = 1000000;
+
+ var TransitionEndEvent = {
+ WebkitTransition: 'webkitTransitionEnd',
+ MozTransition: 'transitionend',
+ OTransition: 'oTransitionEnd otransitionend',
+ transition: 'transitionend'
+ };
+
+ // shoutout AngusCroll (https://goo.gl/pxwQGp)
+ function toType(obj) {
+ return {}.toString.call(obj).match(/\s([a-zA-Z]+)/)[1].toLowerCase();
+ }
+
+ function isElement(obj) {
+ return (obj[0] || obj).nodeType;
+ }
+
+ function getSpecialTransitionEndEvent() {
+ return {
+ bindType: transition.end,
+ delegateType: transition.end,
+ handle: function handle(event) {
+ if ($(event.target).is(this)) {
+ return event.handleObj.handler.apply(this, arguments); // eslint-disable-line prefer-rest-params
+ }
+ return undefined;
+ }
+ };
+ }
+
+ function transitionEndTest() {
+ if (window.QUnit) {
+ return false;
+ }
+
+ var el = document.createElement('bootstrap');
+
+ for (var name in TransitionEndEvent) {
+ if (el.style[name] !== undefined) {
+ return {
+ end: TransitionEndEvent[name]
+ };
+ }
+ }
+
+ return false;
+ }
+
+ function transitionEndEmulator(duration) {
+ var _this = this;
+
+ var called = false;
+
+ $(this).one(Util.TRANSITION_END, function () {
+ called = true;
+ });
+
+ setTimeout(function () {
+ if (!called) {
+ Util.triggerTransitionEnd(_this);
+ }
+ }, duration);
+
+ return this;
+ }
+
+ function setTransitionEndSupport() {
+ transition = transitionEndTest();
+
+ $.fn.emulateTransitionEnd = transitionEndEmulator;
+
+ if (Util.supportsTransitionEnd()) {
+ $.event.special[Util.TRANSITION_END] = getSpecialTransitionEndEvent();
+ }
+ }
+
+ /**
+ * --------------------------------------------------------------------------
+ * Public Util Api
+ * --------------------------------------------------------------------------
+ */
+
+ var Util = {
+
+ TRANSITION_END: 'bsTransitionEnd',
+
+ getUID: function getUID(prefix) {
+ do {
+ // eslint-disable-next-line no-bitwise
+ prefix += ~~(Math.random() * MAX_UID); // "~~" acts like a faster Math.floor() here
+ } while (document.getElementById(prefix));
+ return prefix;
+ },
+ getSelectorFromElement: function getSelectorFromElement(element) {
+ var selector = element.getAttribute('data-target');
+ if (!selector || selector === '#') {
+ selector = element.getAttribute('href') || '';
+ }
+
+ try {
+ var $selector = $(selector);
+ return $selector.length > 0 ? selector : null;
+ } catch (error) {
+ return null;
+ }
+ },
+ reflow: function reflow(element) {
+ return element.offsetHeight;
+ },
+ triggerTransitionEnd: function triggerTransitionEnd(element) {
+ $(element).trigger(transition.end);
+ },
+ supportsTransitionEnd: function supportsTransitionEnd() {
+ return Boolean(transition);
+ },
+ typeCheckConfig: function typeCheckConfig(componentName, config, configTypes) {
+ for (var property in configTypes) {
+ if (configTypes.hasOwnProperty(property)) {
+ var expectedTypes = configTypes[property];
+ var value = config[property];
+ var valueType = value && isElement(value) ? 'element' : toType(value);
+
+ if (!new RegExp(expectedTypes).test(valueType)) {
+ throw new Error(componentName.toUpperCase() + ': ' + ('Option "' + property + '" provided type "' + valueType + '" ') + ('but expected type "' + expectedTypes + '".'));
+ }
+ }
+ }
+ }
+ };
+
+ setTransitionEndSupport();
+
+ return Util;
+}(jQuery);
+
+/**
+ * --------------------------------------------------------------------------
+ * Bootstrap (v4.0.0-alpha.6): alert.js
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ * --------------------------------------------------------------------------
+ */
+
+var Alert = function ($) {
+
+ /**
+ * ------------------------------------------------------------------------
+ * Constants
+ * ------------------------------------------------------------------------
+ */
+
+ var NAME = 'alert';
+ var VERSION = '4.0.0-alpha.6';
+ var DATA_KEY = 'bs.alert';
+ var EVENT_KEY = '.' + DATA_KEY;
+ var DATA_API_KEY = '.data-api';
+ var JQUERY_NO_CONFLICT = $.fn[NAME];
+ var TRANSITION_DURATION = 150;
+
+ var Selector = {
+ DISMISS: '[data-dismiss="alert"]'
+ };
+
+ var Event = {
+ 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'
+ };
+
+ /**
+ * ------------------------------------------------------------------------
+ * Class Definition
+ * ------------------------------------------------------------------------
+ */
+
+ var Alert = function () {
+ function Alert(element) {
+ _classCallCheck(this, Alert);
+
+ this._element = element;
+ }
+
+ // getters
+
+ // public
+
+ Alert.prototype.close = function close(element) {
+ element = element || this._element;
+
+ var rootElement = this._getRootElement(element);
+ var customEvent = this._triggerCloseEvent(rootElement);
+
+ if (customEvent.isDefaultPrevented()) {
+ return;
+ }
+
+ this._removeElement(rootElement);
+ };
+
+ Alert.prototype.dispose = function dispose() {
+ $.removeData(this._element, DATA_KEY);
+ this._element = null;
+ };
+
+ // private
+
+ Alert.prototype._getRootElement = function _getRootElement(element) {
+ var selector = Util.getSelectorFromElement(element);
+ var parent = false;
+
+ if (selector) {
+ parent = $(selector)[0];
+ }
+
+ if (!parent) {
+ parent = $(element).closest('.' + ClassName.ALERT)[0];
+ }
+
+ return parent;
+ };
+
+ Alert.prototype._triggerCloseEvent = function _triggerCloseEvent(element) {
+ var closeEvent = $.Event(Event.CLOSE);
+
+ $(element).trigger(closeEvent);
+ return closeEvent;
+ };
+
+ Alert.prototype._removeElement = function _removeElement(element) {
+ var _this2 = this;
+
+ $(element).removeClass(ClassName.SHOW);
+
+ if (!Util.supportsTransitionEnd() || !$(element).hasClass(ClassName.FADE)) {
+ this._destroyElement(element);
+ return;
+ }
+
+ $(element).one(Util.TRANSITION_END, function (event) {
+ return _this2._destroyElement(element, event);
+ }).emulateTransitionEnd(TRANSITION_DURATION);
+ };
+
+ Alert.prototype._destroyElement = function _destroyElement(element) {
+ $(element).detach().trigger(Event.CLOSED).remove();
+ };
+
+ // static
+
+ Alert._jQueryInterface = function _jQueryInterface(config) {
+ return this.each(function () {
+ var $element = $(this);
+ var data = $element.data(DATA_KEY);
+
+ if (!data) {
+ data = new Alert(this);
+ $element.data(DATA_KEY, data);
+ }
+
+ if (config === 'close') {
+ data[config](this);
+ }
+ });
+ };
+
+ Alert._handleDismiss = function _handleDismiss(alertInstance) {
+ return function (event) {
+ if (event) {
+ event.preventDefault();
+ }
+
+ alertInstance.close(this);
+ };
+ };
+
+ _createClass(Alert, null, [{
+ key: 'VERSION',
+ get: function get() {
+ return VERSION;
+ }
+ }]);
+
+ return Alert;
+ }();
+
+ /**
+ * ------------------------------------------------------------------------
+ * Data Api implementation
+ * ------------------------------------------------------------------------
+ */
+
+ $(document).on(Event.CLICK_DATA_API, Selector.DISMISS, Alert._handleDismiss(new Alert()));
+
+ /**
+ * ------------------------------------------------------------------------
+ * jQuery
+ * ------------------------------------------------------------------------
+ */
+
+ $.fn[NAME] = Alert._jQueryInterface;
+ $.fn[NAME].Constructor = Alert;
+ $.fn[NAME].noConflict = function () {
+ $.fn[NAME] = JQUERY_NO_CONFLICT;
+ return Alert._jQueryInterface;
+ };
+
+ return Alert;
+}(jQuery);
+
+/**
+ * --------------------------------------------------------------------------
+ * Bootstrap (v4.0.0-alpha.6): button.js
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ * --------------------------------------------------------------------------
+ */
+
+var Button = function ($) {
+
+ /**
+ * ------------------------------------------------------------------------
+ * Constants
+ * ------------------------------------------------------------------------
+ */
+
+ var NAME = 'button';
+ var VERSION = '4.0.0-alpha.6';
+ var DATA_KEY = 'bs.button';
+ var EVENT_KEY = '.' + DATA_KEY;
+ var DATA_API_KEY = '.data-api';
+ var JQUERY_NO_CONFLICT = $.fn[NAME];
+
+ var ClassName = {
+ ACTIVE: 'active',
+ BUTTON: 'btn',
+ FOCUS: 'focus'
+ };
+
+ var Selector = {
+ DATA_TOGGLE_CARROT: '[data-toggle^="button"]',
+ DATA_TOGGLE: '[data-toggle="buttons"]',
+ INPUT: 'input',
+ ACTIVE: '.active',
+ BUTTON: '.btn'
+ };
+
+ var Event = {
+ CLICK_DATA_API: 'click' + EVENT_KEY + DATA_API_KEY,
+ FOCUS_BLUR_DATA_API: 'focus' + EVENT_KEY + DATA_API_KEY + ' ' + ('blur' + EVENT_KEY + DATA_API_KEY)
+ };
+
+ /**
+ * ------------------------------------------------------------------------
+ * Class Definition
+ * ------------------------------------------------------------------------
+ */
+
+ var Button = function () {
+ function Button(element) {
+ _classCallCheck(this, Button);
+
+ this._element = element;
+ }
+
+ // getters
+
+ // public
+
+ Button.prototype.toggle = function toggle() {
+ var triggerChangeEvent = true;
+ var rootElement = $(this._element).closest(Selector.DATA_TOGGLE)[0];
+
+ if (rootElement) {
+ var input = $(this._element).find(Selector.INPUT)[0];
+
+ if (input) {
+ if (input.type === 'radio') {
+ if (input.checked && $(this._element).hasClass(ClassName.ACTIVE)) {
+ triggerChangeEvent = false;
+ } else {
+ var activeElement = $(rootElement).find(Selector.ACTIVE)[0];
+
+ if (activeElement) {
+ $(activeElement).removeClass(ClassName.ACTIVE);
+ }
+ }
+ }
+
+ if (triggerChangeEvent) {
+ input.checked = !$(this._element).hasClass(ClassName.ACTIVE);
+ $(input).trigger('change');
+ }
+
+ input.focus();
+ }
+ }
+
+ this._element.setAttribute('aria-pressed', !$(this._element).hasClass(ClassName.ACTIVE));
+
+ if (triggerChangeEvent) {
+ $(this._element).toggleClass(ClassName.ACTIVE);
+ }
+ };
+
+ Button.prototype.dispose = function dispose() {
+ $.removeData(this._element, DATA_KEY);
+ this._element = null;
+ };
+
+ // static
+
+ Button._jQueryInterface = function _jQueryInterface(config) {
+ return this.each(function () {
+ var data = $(this).data(DATA_KEY);
+
+ if (!data) {
+ data = new Button(this);
+ $(this).data(DATA_KEY, data);
+ }
+
+ if (config === 'toggle') {
+ data[config]();
+ }
+ });
+ };
+
+ _createClass(Button, null, [{
+ key: 'VERSION',
+ get: function get() {
+ return VERSION;
+ }
+ }]);
+
+ return Button;
+ }();
+
+ /**
+ * ------------------------------------------------------------------------
+ * Data Api implementation
+ * ------------------------------------------------------------------------
+ */
+
+ $(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE_CARROT, function (event) {
+ event.preventDefault();
+
+ var button = event.target;
+
+ if (!$(button).hasClass(ClassName.BUTTON)) {
+ button = $(button).closest(Selector.BUTTON);
+ }
+
+ Button._jQueryInterface.call($(button), 'toggle');
+ }).on(Event.FOCUS_BLUR_DATA_API, Selector.DATA_TOGGLE_CARROT, function (event) {
+ var button = $(event.target).closest(Selector.BUTTON)[0];
+ $(button).toggleClass(ClassName.FOCUS, /^focus(in)?$/.test(event.type));
+ });
+
+ /**
+ * ------------------------------------------------------------------------
+ * jQuery
+ * ------------------------------------------------------------------------
+ */
+
+ $.fn[NAME] = Button._jQueryInterface;
+ $.fn[NAME].Constructor = Button;
+ $.fn[NAME].noConflict = function () {
+ $.fn[NAME] = JQUERY_NO_CONFLICT;
+ return Button._jQueryInterface;
+ };
+
+ return Button;
+}(jQuery);
+
+/**
+ * --------------------------------------------------------------------------
+ * Bootstrap (v4.0.0-alpha.6): carousel.js
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ * --------------------------------------------------------------------------
+ */
+
+var Carousel = function ($) {
+
+ /**
+ * ------------------------------------------------------------------------
+ * Constants
+ * ------------------------------------------------------------------------
+ */
+
+ var NAME = 'carousel';
+ var VERSION = '4.0.0-alpha.6';
+ var DATA_KEY = 'bs.carousel';
+ var EVENT_KEY = '.' + DATA_KEY;
+ var DATA_API_KEY = '.data-api';
+ var JQUERY_NO_CONFLICT = $.fn[NAME];
+ var TRANSITION_DURATION = 600;
+ var ARROW_LEFT_KEYCODE = 37; // KeyboardEvent.which value for left arrow key
+ var ARROW_RIGHT_KEYCODE = 39; // KeyboardEvent.which value for right arrow key
+
+ var Default = {
+ interval: 5000,
+ keyboard: true,
+ slide: false,
+ pause: 'hover',
+ wrap: true
+ };
+
+ var DefaultType = {
+ interval: '(number|boolean)',
+ keyboard: 'boolean',
+ slide: '(boolean|string)',
+ pause: '(string|boolean)',
+ wrap: 'boolean'
+ };
+
+ var Direction = {
+ NEXT: 'next',
+ PREV: 'prev',
+ LEFT: 'left',
+ RIGHT: 'right'
+ };
+
+ var Event = {
+ SLIDE: 'slide' + EVENT_KEY,
+ SLID: 'slid' + EVENT_KEY,
+ KEYDOWN: 'keydown' + EVENT_KEY,
+ MOUSEENTER: 'mouseenter' + EVENT_KEY,
+ MOUSELEAVE: 'mouseleave' + EVENT_KEY,
+ LOAD_DATA_API: 'load' + EVENT_KEY + DATA_API_KEY,
+ CLICK_DATA_API: 'click' + EVENT_KEY + DATA_API_KEY
+ };
+
+ var ClassName = {
+ 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'
+ };
+
+ var Selector = {
+ ACTIVE: '.active',
+ ACTIVE_ITEM: '.active.carousel-item',
+ ITEM: '.carousel-item',
+ NEXT_PREV: '.carousel-item-next, .carousel-item-prev',
+ INDICATORS: '.carousel-indicators',
+ DATA_SLIDE: '[data-slide], [data-slide-to]',
+ DATA_RIDE: '[data-ride="carousel"]'
+ };
+
+ /**
+ * ------------------------------------------------------------------------
+ * Class Definition
+ * ------------------------------------------------------------------------
+ */
+
+ var Carousel = function () {
+ function Carousel(element, config) {
+ _classCallCheck(this, Carousel);
+
+ this._items = null;
+ this._interval = null;
+ this._activeElement = null;
+
+ this._isPaused = false;
+ this._isSliding = false;
+
+ this._config = this._getConfig(config);
+ this._element = $(element)[0];
+ this._indicatorsElement = $(this._element).find(Selector.INDICATORS)[0];
+
+ this._addEventListeners();
+ }
+
+ // getters
+
+ // public
+
+ Carousel.prototype.next = function next() {
+ if (this._isSliding) {
+ throw new Error('Carousel is sliding');
+ }
+ this._slide(Direction.NEXT);
+ };
+
+ Carousel.prototype.nextWhenVisible = function nextWhenVisible() {
+ // Don't call next when the page isn't visible
+ if (!document.hidden) {
+ this.next();
+ }
+ };
+
+ Carousel.prototype.prev = function prev() {
+ if (this._isSliding) {
+ throw new Error('Carousel is sliding');
+ }
+ this._slide(Direction.PREV);
+ };
+
+ Carousel.prototype.pause = function pause(event) {
+ if (!event) {
+ this._isPaused = true;
+ }
+
+ if ($(this._element).find(Selector.NEXT_PREV)[0] && Util.supportsTransitionEnd()) {
+ Util.triggerTransitionEnd(this._element);
+ this.cycle(true);
+ }
+
+ clearInterval(this._interval);
+ this._interval = null;
+ };
+
+ Carousel.prototype.cycle = function cycle(event) {
+ if (!event) {
+ this._isPaused = false;
+ }
+
+ if (this._interval) {
+ clearInterval(this._interval);
+ this._interval = null;
+ }
+
+ if (this._config.interval && !this._isPaused) {
+ this._interval = setInterval((document.visibilityState ? this.nextWhenVisible : this.next).bind(this), this._config.interval);
+ }
+ };
+
+ Carousel.prototype.to = function to(index) {
+ var _this3 = this;
+
+ this._activeElement = $(this._element).find(Selector.ACTIVE_ITEM)[0];
+
+ var activeIndex = this._getItemIndex(this._activeElement);
+
+ if (index > this._items.length - 1 || index < 0) {
+ return;
+ }
+
+ if (this._isSliding) {
+ $(this._element).one(Event.SLID, function () {
+ return _this3.to(index);
+ });
+ return;
+ }
+
+ if (activeIndex === index) {
+ this.pause();
+ this.cycle();
+ return;
+ }
+
+ var direction = index > activeIndex ? Direction.NEXT : Direction.PREV;
+
+ this._slide(direction, this._items[index]);
+ };
+
+ Carousel.prototype.dispose = function dispose() {
+ $(this._element).off(EVENT_KEY);
+ $.removeData(this._element, DATA_KEY);
+
+ this._items = null;
+ this._config = null;
+ this._element = null;
+ this._interval = null;
+ this._isPaused = null;
+ this._isSliding = null;
+ this._activeElement = null;
+ this._indicatorsElement = null;
+ };
+
+ // private
+
+ Carousel.prototype._getConfig = function _getConfig(config) {
+ config = $.extend({}, Default, config);
+ Util.typeCheckConfig(NAME, config, DefaultType);
+ return config;
+ };
+
+ Carousel.prototype._addEventListeners = function _addEventListeners() {
+ var _this4 = this;
+
+ if (this._config.keyboard) {
+ $(this._element).on(Event.KEYDOWN, function (event) {
+ return _this4._keydown(event);
+ });
+ }
+
+ if (this._config.pause === 'hover' && !('ontouchstart' in document.documentElement)) {
+ $(this._element).on(Event.MOUSEENTER, function (event) {
+ return _this4.pause(event);
+ }).on(Event.MOUSELEAVE, function (event) {
+ return _this4.cycle(event);
+ });
+ }
+ };
+
+ Carousel.prototype._keydown = function _keydown(event) {
+ if (/input|textarea/i.test(event.target.tagName)) {
+ return;
+ }
+
+ switch (event.which) {
+ case ARROW_LEFT_KEYCODE:
+ event.preventDefault();
+ this.prev();
+ break;
+ case ARROW_RIGHT_KEYCODE:
+ event.preventDefault();
+ this.next();
+ break;
+ default:
+ return;
+ }
+ };
+
+ Carousel.prototype._getItemIndex = function _getItemIndex(element) {
+ this._items = $.makeArray($(element).parent().find(Selector.ITEM));
+ return this._items.indexOf(element);
+ };
+
+ Carousel.prototype._getItemByDirection = function _getItemByDirection(direction, activeElement) {
+ var isNextDirection = direction === Direction.NEXT;
+ var isPrevDirection = direction === Direction.PREV;
+ var activeIndex = this._getItemIndex(activeElement);
+ var lastItemIndex = this._items.length - 1;
+ var isGoingToWrap = isPrevDirection && activeIndex === 0 || isNextDirection && activeIndex === lastItemIndex;
+
+ if (isGoingToWrap && !this._config.wrap) {
+ return activeElement;
+ }
+
+ 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];
+ };
+
+ Carousel.prototype._triggerSlideEvent = function _triggerSlideEvent(relatedTarget, eventDirectionName) {
+ var slideEvent = $.Event(Event.SLIDE, {
+ relatedTarget: relatedTarget,
+ direction: eventDirectionName
+ });
+
+ $(this._element).trigger(slideEvent);
+
+ return slideEvent;
+ };
+
+ Carousel.prototype._setActiveIndicatorElement = function _setActiveIndicatorElement(element) {
+ if (this._indicatorsElement) {
+ $(this._indicatorsElement).find(Selector.ACTIVE).removeClass(ClassName.ACTIVE);
+
+ var nextIndicator = this._indicatorsElement.children[this._getItemIndex(element)];
+
+ if (nextIndicator) {
+ $(nextIndicator).addClass(ClassName.ACTIVE);
+ }
+ }
+ };
+
+ Carousel.prototype._slide = function _slide(direction, element) {
+ var _this5 = this;
+
+ var activeElement = $(this._element).find(Selector.ACTIVE_ITEM)[0];
+ var nextElement = element || activeElement && this._getItemByDirection(direction, activeElement);
+
+ var isCycling = Boolean(this._interval);
+
+ var directionalClassName = void 0;
+ var orderClassName = void 0;
+ var eventDirectionName = void 0;
+
+ if (direction === Direction.NEXT) {
+ directionalClassName = ClassName.LEFT;
+ orderClassName = ClassName.NEXT;
+ eventDirectionName = Direction.LEFT;
+ } else {
+ directionalClassName = ClassName.RIGHT;
+ orderClassName = ClassName.PREV;
+ eventDirectionName = Direction.RIGHT;
+ }
+
+ if (nextElement && $(nextElement).hasClass(ClassName.ACTIVE)) {
+ this._isSliding = false;
+ return;
+ }
+
+ var slideEvent = this._triggerSlideEvent(nextElement, eventDirectionName);
+ if (slideEvent.isDefaultPrevented()) {
+ return;
+ }
+
+ if (!activeElement || !nextElement) {
+ // some weirdness is happening, so we bail
+ return;
+ }
+
+ this._isSliding = true;
+
+ if (isCycling) {
+ this.pause();
+ }
+
+ this._setActiveIndicatorElement(nextElement);
+
+ var slidEvent = $.Event(Event.SLID, {
+ relatedTarget: nextElement,
+ direction: eventDirectionName
+ });
+
+ if (Util.supportsTransitionEnd() && $(this._element).hasClass(ClassName.SLIDE)) {
+
+ $(nextElement).addClass(orderClassName);
+
+ Util.reflow(nextElement);
+
+ $(activeElement).addClass(directionalClassName);
+ $(nextElement).addClass(directionalClassName);
+
+ $(activeElement).one(Util.TRANSITION_END, function () {
+ $(nextElement).removeClass(directionalClassName + ' ' + orderClassName).addClass(ClassName.ACTIVE);
+
+ $(activeElement).removeClass(ClassName.ACTIVE + ' ' + orderClassName + ' ' + directionalClassName);
+
+ _this5._isSliding = false;
+
+ setTimeout(function () {
+ return $(_this5._element).trigger(slidEvent);
+ }, 0);
+ }).emulateTransitionEnd(TRANSITION_DURATION);
+ } else {
+ $(activeElement).removeClass(ClassName.ACTIVE);
+ $(nextElement).addClass(ClassName.ACTIVE);
+
+ this._isSliding = false;
+ $(this._element).trigger(slidEvent);
+ }
+
+ if (isCycling) {
+ this.cycle();
+ }
+ };
+
+ // static
+
+ Carousel._jQueryInterface = function _jQueryInterface(config) {
+ return this.each(function () {
+ var data = $(this).data(DATA_KEY);
+ var _config = $.extend({}, Default, $(this).data());
+
+ if ((typeof config === 'undefined' ? 'undefined' : _typeof(config)) === 'object') {
+ $.extend(_config, config);
+ }
+
+ var action = typeof config === 'string' ? config : _config.slide;
+
+ if (!data) {
+ data = new Carousel(this, _config);
+ $(this).data(DATA_KEY, data);
+ }
+
+ if (typeof config === 'number') {
+ data.to(config);
+ } else if (typeof action === 'string') {
+ if (data[action] === undefined) {
+ throw new Error('No method named "' + action + '"');
+ }
+ data[action]();
+ } else if (_config.interval) {
+ data.pause();
+ data.cycle();
+ }
+ });
+ };
+
+ Carousel._dataApiClickHandler = function _dataApiClickHandler(event) {
+ var selector = Util.getSelectorFromElement(this);
+
+ if (!selector) {
+ return;
+ }
+
+ var target = $(selector)[0];
+
+ if (!target || !$(target).hasClass(ClassName.CAROUSEL)) {
+ return;
+ }
+
+ var config = $.extend({}, $(target).data(), $(this).data());
+ var slideIndex = this.getAttribute('data-slide-to');
+
+ if (slideIndex) {
+ config.interval = false;
+ }
+
+ Carousel._jQueryInterface.call($(target), config);
+
+ if (slideIndex) {
+ $(target).data(DATA_KEY).to(slideIndex);
+ }
+
+ event.preventDefault();
+ };
+
+ _createClass(Carousel, null, [{
+ key: 'VERSION',
+ get: function get() {
+ return VERSION;
+ }
+ }, {
+ key: 'Default',
+ get: function get() {
+ return Default;
+ }
+ }]);
+
+ return Carousel;
+ }();
+
+ /**
+ * ------------------------------------------------------------------------
+ * Data Api implementation
+ * ------------------------------------------------------------------------
+ */
+
+ $(document).on(Event.CLICK_DATA_API, Selector.DATA_SLIDE, Carousel._dataApiClickHandler);
+
+ $(window).on(Event.LOAD_DATA_API, function () {
+ $(Selector.DATA_RIDE).each(function () {
+ var $carousel = $(this);
+ Carousel._jQueryInterface.call($carousel, $carousel.data());
+ });
+ });
+
+ /**
+ * ------------------------------------------------------------------------
+ * jQuery
+ * ------------------------------------------------------------------------
+ */
+
+ $.fn[NAME] = Carousel._jQueryInterface;
+ $.fn[NAME].Constructor = Carousel;
+ $.fn[NAME].noConflict = function () {
+ $.fn[NAME] = JQUERY_NO_CONFLICT;
+ return Carousel._jQueryInterface;
+ };
+
+ return Carousel;
+}(jQuery);
+
+/**
+ * --------------------------------------------------------------------------
+ * Bootstrap (v4.0.0-alpha.6): collapse.js
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ * --------------------------------------------------------------------------
+ */
+
+var Collapse = function ($) {
+
+ /**
+ * ------------------------------------------------------------------------
+ * Constants
+ * ------------------------------------------------------------------------
+ */
+
+ var NAME = 'collapse';
+ var VERSION = '4.0.0-alpha.6';
+ var DATA_KEY = 'bs.collapse';
+ var EVENT_KEY = '.' + DATA_KEY;
+ var DATA_API_KEY = '.data-api';
+ var JQUERY_NO_CONFLICT = $.fn[NAME];
+ var TRANSITION_DURATION = 600;
+
+ var Default = {
+ toggle: true,
+ parent: ''
+ };
+
+ var DefaultType = {
+ toggle: 'boolean',
+ parent: 'string'
+ };
+
+ var Event = {
+ SHOW: 'show' + EVENT_KEY,
+ SHOWN: 'shown' + EVENT_KEY,
+ HIDE: 'hide' + EVENT_KEY,
+ HIDDEN: 'hidden' + EVENT_KEY,
+ CLICK_DATA_API: 'click' + EVENT_KEY + DATA_API_KEY
+ };
+
+ var ClassName = {
+ SHOW: 'show',
+ COLLAPSE: 'collapse',
+ COLLAPSING: 'collapsing',
+ COLLAPSED: 'collapsed'
+ };
+
+ var Dimension = {
+ WIDTH: 'width',
+ HEIGHT: 'height'
+ };
+
+ var Selector = {
+ ACTIVES: '.card > .show, .card > .collapsing',
+ DATA_TOGGLE: '[data-toggle="collapse"]',
+ DATA_CHILDREN: 'data-children'
+ };
+
+ /**
+ * ------------------------------------------------------------------------
+ * Class Definition
+ * ------------------------------------------------------------------------
+ */
+
+ var Collapse = function () {
+ function Collapse(element, config) {
+ _classCallCheck(this, Collapse);
+
+ this._isTransitioning = false;
+ this._element = element;
+ this._config = this._getConfig(config);
+ this._triggerArray = $.makeArray($('[data-toggle="collapse"][href="#' + element.id + '"],' + ('[data-toggle="collapse"][data-target="#' + element.id + '"]')));
+ this._parent = this._config.parent ? this._getParent() : null;
+
+ if (!this._config.parent) {
+ this._addAriaAndCollapsedClass(this._element, this._triggerArray);
+ }
+
+ this._selectorActives = Selector.ACTIVES;
+ if (this._parent) {
+ var childrenSelector = this._parent.hasAttribute(Selector.DATA_CHILDREN) ? this._parent.getAttribute(Selector.DATA_CHILDREN) : null;
+ if (childrenSelector !== null) {
+ this._selectorActives = childrenSelector + ' > .show, ' + childrenSelector + ' > .collapsing';
+ }
+ }
+
+ if (this._config.toggle) {
+ this.toggle();
+ }
+ }
+
+ // getters
+
+ // public
+
+ Collapse.prototype.toggle = function toggle() {
+ if ($(this._element).hasClass(ClassName.SHOW)) {
+ this.hide();
+ } else {
+ this.show();
+ }
+ };
+
+ Collapse.prototype.show = function show() {
+ var _this6 = this;
+
+ if (this._isTransitioning) {
+ throw new Error('Collapse is transitioning');
+ }
+
+ if ($(this._element).hasClass(ClassName.SHOW)) {
+ return;
+ }
+
+ var actives = void 0;
+ var activesData = void 0;
+
+ if (this._parent) {
+ actives = $.makeArray($(this._parent).find(this._selectorActives));
+ if (!actives.length) {
+ actives = null;
+ }
+ }
+
+ if (actives) {
+ activesData = $(actives).data(DATA_KEY);
+ if (activesData && activesData._isTransitioning) {
+ return;
+ }
+ }
+
+ var startEvent = $.Event(Event.SHOW);
+ $(this._element).trigger(startEvent);
+ if (startEvent.isDefaultPrevented()) {
+ return;
+ }
+
+ if (actives) {
+ Collapse._jQueryInterface.call($(actives), 'hide');
+ if (!activesData) {
+ $(actives).data(DATA_KEY, null);
+ }
+ }
+
+ var dimension = this._getDimension();
+
+ $(this._element).removeClass(ClassName.COLLAPSE).addClass(ClassName.COLLAPSING);
+
+ this._element.style[dimension] = 0;
+ this._element.setAttribute('aria-expanded', true);
+
+ if (this._triggerArray.length) {
+ $(this._triggerArray).removeClass(ClassName.COLLAPSED).attr('aria-expanded', true);
+ }
+
+ this.setTransitioning(true);
+
+ var complete = function complete() {
+ $(_this6._element).removeClass(ClassName.COLLAPSING).addClass(ClassName.COLLAPSE).addClass(ClassName.SHOW);
+
+ _this6._element.style[dimension] = '';
+
+ _this6.setTransitioning(false);
+
+ $(_this6._element).trigger(Event.SHOWN);
+ };
+
+ if (!Util.supportsTransitionEnd()) {
+ complete();
+ return;
+ }
+
+ var capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1);
+ var scrollSize = 'scroll' + capitalizedDimension;
+
+ $(this._element).one(Util.TRANSITION_END, complete).emulateTransitionEnd(TRANSITION_DURATION);
+
+ this._element.style[dimension] = this._element[scrollSize] + 'px';
+ };
+
+ Collapse.prototype.hide = function hide() {
+ var _this7 = this;
+
+ if (this._isTransitioning) {
+ throw new Error('Collapse is transitioning');
+ }
+
+ if (!$(this._element).hasClass(ClassName.SHOW)) {
+ return;
+ }
+
+ var startEvent = $.Event(Event.HIDE);
+ $(this._element).trigger(startEvent);
+ if (startEvent.isDefaultPrevented()) {
+ return;
+ }
+
+ var dimension = this._getDimension();
+
+ this._element.style[dimension] = this._element.getBoundingClientRect()[dimension] + 'px';
+
+ Util.reflow(this._element);
+
+ $(this._element).addClass(ClassName.COLLAPSING).removeClass(ClassName.COLLAPSE).removeClass(ClassName.SHOW);
+
+ this._element.setAttribute('aria-expanded', false);
+
+ if (this._triggerArray.length) {
+ $(this._triggerArray).addClass(ClassName.COLLAPSED).attr('aria-expanded', false);
+ }
+
+ this.setTransitioning(true);
+
+ var complete = function complete() {
+ _this7.setTransitioning(false);
+ $(_this7._element).removeClass(ClassName.COLLAPSING).addClass(ClassName.COLLAPSE).trigger(Event.HIDDEN);
+ };
+
+ this._element.style[dimension] = '';
+
+ if (!Util.supportsTransitionEnd()) {
+ complete();
+ return;
+ }
+
+ $(this._element).one(Util.TRANSITION_END, complete).emulateTransitionEnd(TRANSITION_DURATION);
+ };
+
+ Collapse.prototype.setTransitioning = function setTransitioning(isTransitioning) {
+ this._isTransitioning = isTransitioning;
+ };
+
+ Collapse.prototype.dispose = function dispose() {
+ $.removeData(this._element, DATA_KEY);
+
+ this._config = null;
+ this._parent = null;
+ this._element = null;
+ this._triggerArray = null;
+ this._isTransitioning = null;
+ };
+
+ // private
+
+ Collapse.prototype._getConfig = function _getConfig(config) {
+ config = $.extend({}, Default, config);
+ config.toggle = Boolean(config.toggle); // coerce string values
+ Util.typeCheckConfig(NAME, config, DefaultType);
+ return config;
+ };
+
+ Collapse.prototype._getDimension = function _getDimension() {
+ var hasWidth = $(this._element).hasClass(Dimension.WIDTH);
+ return hasWidth ? Dimension.WIDTH : Dimension.HEIGHT;
+ };
+
+ Collapse.prototype._getParent = function _getParent() {
+ var _this8 = this;
+
+ var parent = $(this._config.parent)[0];
+ var selector = '[data-toggle="collapse"][data-parent="' + this._config.parent + '"]';
+
+ $(parent).find(selector).each(function (i, element) {
+ _this8._addAriaAndCollapsedClass(Collapse._getTargetFromElement(element), [element]);
+ });
+
+ return parent;
+ };
+
+ Collapse.prototype._addAriaAndCollapsedClass = function _addAriaAndCollapsedClass(element, triggerArray) {
+ if (element) {
+ var isOpen = $(element).hasClass(ClassName.SHOW);
+ element.setAttribute('aria-expanded', isOpen);
+
+ if (triggerArray.length) {
+ $(triggerArray).toggleClass(ClassName.COLLAPSED, !isOpen).attr('aria-expanded', isOpen);
+ }
+ }
+ };
+
+ // static
+
+ Collapse._getTargetFromElement = function _getTargetFromElement(element) {
+ var selector = Util.getSelectorFromElement(element);
+ return selector ? $(selector)[0] : null;
+ };
+
+ Collapse._jQueryInterface = function _jQueryInterface(config) {
+ return this.each(function () {
+ var $this = $(this);
+ var data = $this.data(DATA_KEY);
+ var _config = $.extend({}, Default, $this.data(), (typeof config === 'undefined' ? 'undefined' : _typeof(config)) === 'object' && config);
+
+ if (!data && _config.toggle && /show|hide/.test(config)) {
+ _config.toggle = false;
+ }
+
+ if (!data) {
+ data = new Collapse(this, _config);
+ $this.data(DATA_KEY, data);
+ }
+
+ if (typeof config === 'string') {
+ if (data[config] === undefined) {
+ throw new Error('No method named "' + config + '"');
+ }
+ data[config]();
+ }
+ });
+ };
+
+ _createClass(Collapse, null, [{
+ key: 'VERSION',
+ get: function get() {
+ return VERSION;
+ }
+ }, {
+ key: 'Default',
+ get: function get() {
+ return Default;
+ }
+ }]);
+
+ return Collapse;
+ }();
+
+ /**
+ * ------------------------------------------------------------------------
+ * Data Api implementation
+ * ------------------------------------------------------------------------
+ */
+
+ $(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {
+ event.preventDefault();
+
+ var target = Collapse._getTargetFromElement(this);
+ var data = $(target).data(DATA_KEY);
+ var config = data ? 'toggle' : $(this).data();
+
+ Collapse._jQueryInterface.call($(target), config);
+ });
+
+ /**
+ * ------------------------------------------------------------------------
+ * jQuery
+ * ------------------------------------------------------------------------
+ */
+
+ $.fn[NAME] = Collapse._jQueryInterface;
+ $.fn[NAME].Constructor = Collapse;
+ $.fn[NAME].noConflict = function () {
+ $.fn[NAME] = JQUERY_NO_CONFLICT;
+ return Collapse._jQueryInterface;
+ };
+
+ return Collapse;
+}(jQuery);
+
+/**
+ * --------------------------------------------------------------------------
+ * Bootstrap (v4.0.0-alpha.6): dropdown.js
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ * --------------------------------------------------------------------------
+ */
+
+var Dropdown = function ($) {
+
+ /**
+ * ------------------------------------------------------------------------
+ * Constants
+ * ------------------------------------------------------------------------
+ */
+
+ var NAME = 'dropdown';
+ var VERSION = '4.0.0-alpha.6';
+ var DATA_KEY = 'bs.dropdown';
+ var EVENT_KEY = '.' + DATA_KEY;
+ var DATA_API_KEY = '.data-api';
+ var JQUERY_NO_CONFLICT = $.fn[NAME];
+ var ESCAPE_KEYCODE = 27; // KeyboardEvent.which value for Escape (Esc) key
+ var SPACE_KEYCODE = 32; // KeyboardEvent.which value for space key
+ var ARROW_UP_KEYCODE = 38; // KeyboardEvent.which value for up arrow key
+ 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 + '|' + SPACE_KEYCODE);
+
+ var Event = {
+ HIDE: 'hide' + EVENT_KEY,
+ HIDDEN: 'hidden' + EVENT_KEY,
+ SHOW: 'show' + EVENT_KEY,
+ SHOWN: 'shown' + EVENT_KEY,
+ CLICK: 'click' + EVENT_KEY,
+ CLICK_DATA_API: 'click' + EVENT_KEY + DATA_API_KEY,
+ FOCUSIN_DATA_API: 'focusin' + EVENT_KEY + DATA_API_KEY,
+ KEYDOWN_DATA_API: 'keydown' + EVENT_KEY + DATA_API_KEY
+ };
+
+ var ClassName = {
+ BACKDROP: 'dropdown-backdrop',
+ DISABLED: 'disabled',
+ SHOW: 'show'
+ };
+
+ var Selector = {
+ BACKDROP: '.dropdown-backdrop',
+ DATA_TOGGLE: '[data-toggle="dropdown"]',
+ FORM_CHILD: '.dropdown form',
+ ROLE_MENU: '[role="menu"]',
+ ROLE_LISTBOX: '[role="listbox"]',
+ NAVBAR_NAV: '.navbar-nav',
+ VISIBLE_ITEMS: '[role="menu"] li:not(.disabled) a, ' + '[role="listbox"] li:not(.disabled) a'
+ };
+
+ /**
+ * ------------------------------------------------------------------------
+ * Class Definition
+ * ------------------------------------------------------------------------
+ */
+
+ var Dropdown = function () {
+ function Dropdown(element) {
+ _classCallCheck(this, Dropdown);
+
+ this._element = element;
+
+ this._addEventListeners();
+ }
+
+ // getters
+
+ // public
+
+ Dropdown.prototype.toggle = function toggle() {
+ if (this.disabled || $(this).hasClass(ClassName.DISABLED)) {
+ return false;
+ }
+
+ var parent = Dropdown._getParentFromElement(this);
+ var isActive = $(parent).hasClass(ClassName.SHOW);
+
+ Dropdown._clearMenus();
+
+ if (isActive) {
+ return false;
+ }
+
+ var relatedTarget = {
+ relatedTarget: this
+ };
+ var showEvent = $.Event(Event.SHOW, relatedTarget);
+
+ $(parent).trigger(showEvent);
+
+ if (showEvent.isDefaultPrevented()) {
+ return false;
+ }
+
+ // set the backdrop only if the dropdown menu will be opened
+ if ('ontouchstart' in document.documentElement && !$(parent).closest(Selector.NAVBAR_NAV).length) {
+
+ // if mobile we use a backdrop because click events don't delegate
+ var dropdown = document.createElement('div');
+ dropdown.className = ClassName.BACKDROP;
+ $(dropdown).insertBefore(this);
+ $(dropdown).on('click', Dropdown._clearMenus);
+ }
+
+ this.focus();
+ this.setAttribute('aria-expanded', true);
+
+ $(parent).toggleClass(ClassName.SHOW);
+ $(parent).trigger($.Event(Event.SHOWN, relatedTarget));
+
+ return false;
+ };
+
+ Dropdown.prototype.dispose = function dispose() {
+ $.removeData(this._element, DATA_KEY);
+ $(this._element).off(EVENT_KEY);
+ this._element = null;
+ };
+
+ // private
+
+ Dropdown.prototype._addEventListeners = function _addEventListeners() {
+ $(this._element).on(Event.CLICK, this.toggle);
+ };
+
+ // static
+
+ Dropdown._jQueryInterface = function _jQueryInterface(config) {
+ return this.each(function () {
+ var data = $(this).data(DATA_KEY);
+
+ if (!data) {
+ data = new Dropdown(this);
+ $(this).data(DATA_KEY, data);
+ }
+
+ if (typeof config === 'string') {
+ if (data[config] === undefined) {
+ throw new Error('No method named "' + config + '"');
+ }
+ data[config].call(this);
+ }
+ });
+ };
+
+ Dropdown._clearMenus = function _clearMenus(event) {
+ if (event && event.which === RIGHT_MOUSE_BUTTON_WHICH) {
+ return;
+ }
+
+ var toggles = $.makeArray($(Selector.DATA_TOGGLE));
+
+ for (var i = 0; i < toggles.length; i++) {
+ var parent = Dropdown._getParentFromElement(toggles[i]);
+ var relatedTarget = {
+ relatedTarget: toggles[i]
+ };
+
+ if (!$(parent).hasClass(ClassName.SHOW)) {
+ continue;
+ }
+
+ if (event && (event.type === 'click' && /input|textarea/i.test(event.target.tagName) || event.type === 'focusin') && $.contains(parent, event.target)) {
+ continue;
+ }
+
+ var hideEvent = $.Event(Event.HIDE, relatedTarget);
+ $(parent).trigger(hideEvent);
+ if (hideEvent.isDefaultPrevented()) {
+ continue;
+ }
+
+ // remove backdrop only if the dropdown menu will be hidden
+ var backdrop = $(parent).find(Selector.BACKDROP)[0];
+ if (backdrop) {
+ backdrop.parentNode.removeChild(backdrop);
+ }
+
+ toggles[i].setAttribute('aria-expanded', 'false');
+
+ $(parent).removeClass(ClassName.SHOW).trigger($.Event(Event.HIDDEN, relatedTarget));
+ }
+ };
+
+ Dropdown._getParentFromElement = function _getParentFromElement(element) {
+ var parent = void 0;
+ var selector = Util.getSelectorFromElement(element);
+
+ if (selector) {
+ parent = $(selector)[0];
+ }
+
+ return parent || element.parentNode;
+ };
+
+ Dropdown._dataApiKeydownHandler = function _dataApiKeydownHandler(event) {
+ if (!REGEXP_KEYDOWN.test(event.which) || /input|textarea/i.test(event.target.tagName)) {
+ return;
+ }
+
+ event.preventDefault();
+ event.stopPropagation();
+
+ if (this.disabled || $(this).hasClass(ClassName.DISABLED)) {
+ return;
+ }
+
+ var parent = Dropdown._getParentFromElement(this);
+ var isActive = $(parent).hasClass(ClassName.SHOW);
+
+ if (!isActive && event.which !== ESCAPE_KEYCODE || isActive && event.which === ESCAPE_KEYCODE) {
+
+ if (event.which === ESCAPE_KEYCODE) {
+ var toggle = $(parent).find(Selector.DATA_TOGGLE)[0];
+ $(toggle).trigger('focus');
+ }
+
+ $(this).trigger('click');
+ return;
+ }
+
+ var items = $(parent).find(Selector.VISIBLE_ITEMS).get();
+
+ if (!items.length) {
+ return;
+ }
+
+ var index = items.indexOf(event.target);
+
+ if (event.which === ARROW_UP_KEYCODE && index > 0) {
+ // up
+ index--;
+ }
+
+ if (event.which === ARROW_DOWN_KEYCODE && index < items.length - 1) {
+ // down
+ index++;
+ }
+
+ if (index < 0) {
+ index = 0;
+ }
+
+ items[index].focus();
+ };
+
+ _createClass(Dropdown, null, [{
+ key: 'VERSION',
+ get: function get() {
+ return VERSION;
+ }
+ }]);
+
+ return Dropdown;
+ }();
+
+ /**
+ * ------------------------------------------------------------------------
+ * Data Api implementation
+ * ------------------------------------------------------------------------
+ */
+
+ $(document).on(Event.KEYDOWN_DATA_API, Selector.DATA_TOGGLE, Dropdown._dataApiKeydownHandler).on(Event.KEYDOWN_DATA_API, Selector.ROLE_MENU, Dropdown._dataApiKeydownHandler).on(Event.KEYDOWN_DATA_API, Selector.ROLE_LISTBOX, Dropdown._dataApiKeydownHandler).on(Event.CLICK_DATA_API + ' ' + Event.FOCUSIN_DATA_API, Dropdown._clearMenus).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, Dropdown.prototype.toggle).on(Event.CLICK_DATA_API, Selector.FORM_CHILD, function (e) {
+ e.stopPropagation();
+ });
+
+ /**
+ * ------------------------------------------------------------------------
+ * jQuery
+ * ------------------------------------------------------------------------
+ */
+
+ $.fn[NAME] = Dropdown._jQueryInterface;
+ $.fn[NAME].Constructor = Dropdown;
+ $.fn[NAME].noConflict = function () {
+ $.fn[NAME] = JQUERY_NO_CONFLICT;
+ return Dropdown._jQueryInterface;
+ };
+
+ return Dropdown;
+}(jQuery);
+
+/**
+ * --------------------------------------------------------------------------
+ * Bootstrap (v4.0.0-alpha.6): modal.js
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ * --------------------------------------------------------------------------
+ */
+
+var Modal = function ($) {
+
+ /**
+ * ------------------------------------------------------------------------
+ * Constants
+ * ------------------------------------------------------------------------
+ */
+
+ var NAME = 'modal';
+ var VERSION = '4.0.0-alpha.6';
+ var DATA_KEY = 'bs.modal';
+ var EVENT_KEY = '.' + DATA_KEY;
+ var DATA_API_KEY = '.data-api';
+ var JQUERY_NO_CONFLICT = $.fn[NAME];
+ var TRANSITION_DURATION = 300;
+ var BACKDROP_TRANSITION_DURATION = 150;
+ var ESCAPE_KEYCODE = 27; // KeyboardEvent.which value for Escape (Esc) key
+
+ var Default = {
+ backdrop: true,
+ keyboard: true,
+ focus: true,
+ show: true
+ };
+
+ var DefaultType = {
+ backdrop: '(boolean|string)',
+ keyboard: 'boolean',
+ focus: 'boolean',
+ show: 'boolean'
+ };
+
+ var Event = {
+ HIDE: 'hide' + EVENT_KEY,
+ HIDDEN: 'hidden' + EVENT_KEY,
+ SHOW: 'show' + EVENT_KEY,
+ SHOWN: 'shown' + EVENT_KEY,
+ FOCUSIN: 'focusin' + EVENT_KEY,
+ RESIZE: 'resize' + EVENT_KEY,
+ CLICK_DISMISS: 'click.dismiss' + EVENT_KEY,
+ KEYDOWN_DISMISS: 'keydown.dismiss' + EVENT_KEY,
+ MOUSEUP_DISMISS: 'mouseup.dismiss' + EVENT_KEY,
+ MOUSEDOWN_DISMISS: 'mousedown.dismiss' + EVENT_KEY,
+ CLICK_DATA_API: 'click' + EVENT_KEY + DATA_API_KEY
+ };
+
+ var ClassName = {
+ SCROLLBAR_MEASURER: 'modal-scrollbar-measure',
+ BACKDROP: 'modal-backdrop',
+ OPEN: 'modal-open',
+ FADE: 'fade',
+ SHOW: 'show'
+ };
+
+ var Selector = {
+ DIALOG: '.modal-dialog',
+ DATA_TOGGLE: '[data-toggle="modal"]',
+ DATA_DISMISS: '[data-dismiss="modal"]',
+ FIXED_CONTENT: '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top'
+ };
+
+ /**
+ * ------------------------------------------------------------------------
+ * Class Definition
+ * ------------------------------------------------------------------------
+ */
+
+ var Modal = function () {
+ function Modal(element, config) {
+ _classCallCheck(this, Modal);
+
+ this._config = this._getConfig(config);
+ this._element = element;
+ this._dialog = $(element).find(Selector.DIALOG)[0];
+ this._backdrop = null;
+ this._isShown = false;
+ this._isBodyOverflowing = false;
+ this._ignoreBackdropClick = false;
+ this._isTransitioning = false;
+ this._originalBodyPadding = 0;
+ this._scrollbarWidth = 0;
+ }
+
+ // getters
+
+ // public
+
+ Modal.prototype.toggle = function toggle(relatedTarget) {
+ return this._isShown ? this.hide() : this.show(relatedTarget);
+ };
+
+ Modal.prototype.show = function show(relatedTarget) {
+ var _this9 = this;
+
+ if (this._isTransitioning) {
+ throw new Error('Modal is transitioning');
+ }
+
+ if (Util.supportsTransitionEnd() && $(this._element).hasClass(ClassName.FADE)) {
+ this._isTransitioning = true;
+ }
+ var showEvent = $.Event(Event.SHOW, {
+ relatedTarget: relatedTarget
+ });
+
+ $(this._element).trigger(showEvent);
+
+ if (this._isShown || showEvent.isDefaultPrevented()) {
+ return;
+ }
+
+ this._isShown = true;
+
+ this._checkScrollbar();
+ this._setScrollbar();
+
+ $(document.body).addClass(ClassName.OPEN);
+
+ this._setEscapeEvent();
+ this._setResizeEvent();
+
+ $(this._element).on(Event.CLICK_DISMISS, Selector.DATA_DISMISS, function (event) {
+ return _this9.hide(event);
+ });
+
+ $(this._dialog).on(Event.MOUSEDOWN_DISMISS, function () {
+ $(_this9._element).one(Event.MOUSEUP_DISMISS, function (event) {
+ if ($(event.target).is(_this9._element)) {
+ _this9._ignoreBackdropClick = true;
+ }
+ });
+ });
+
+ this._showBackdrop(function () {
+ return _this9._showElement(relatedTarget);
+ });
+ };
+
+ Modal.prototype.hide = function hide(event) {
+ var _this10 = this;
+
+ if (event) {
+ event.preventDefault();
+ }
+
+ if (this._isTransitioning) {
+ throw new Error('Modal is transitioning');
+ }
+
+ var transition = Util.supportsTransitionEnd() && $(this._element).hasClass(ClassName.FADE);
+ if (transition) {
+ this._isTransitioning = true;
+ }
+
+ var hideEvent = $.Event(Event.HIDE);
+ $(this._element).trigger(hideEvent);
+
+ if (!this._isShown || hideEvent.isDefaultPrevented()) {
+ return;
+ }
+
+ this._isShown = false;
+
+ this._setEscapeEvent();
+ this._setResizeEvent();
+
+ $(document).off(Event.FOCUSIN);
+
+ $(this._element).removeClass(ClassName.SHOW);
+
+ $(this._element).off(Event.CLICK_DISMISS);
+ $(this._dialog).off(Event.MOUSEDOWN_DISMISS);
+
+ if (transition) {
+ $(this._element).one(Util.TRANSITION_END, function (event) {
+ return _this10._hideModal(event);
+ }).emulateTransitionEnd(TRANSITION_DURATION);
+ } else {
+ this._hideModal();
+ }
+ };
+
+ Modal.prototype.dispose = function dispose() {
+ $.removeData(this._element, DATA_KEY);
+
+ $(window, document, this._element, this._backdrop).off(EVENT_KEY);
+
+ this._config = null;
+ this._element = null;
+ this._dialog = null;
+ this._backdrop = null;
+ this._isShown = null;
+ this._isBodyOverflowing = null;
+ this._ignoreBackdropClick = null;
+ this._originalBodyPadding = null;
+ this._scrollbarWidth = null;
+ };
+
+ // private
+
+ Modal.prototype._getConfig = function _getConfig(config) {
+ config = $.extend({}, Default, config);
+ Util.typeCheckConfig(NAME, config, DefaultType);
+ return config;
+ };
+
+ Modal.prototype._showElement = function _showElement(relatedTarget) {
+ var _this11 = this;
+
+ var transition = Util.supportsTransitionEnd() && $(this._element).hasClass(ClassName.FADE);
+
+ if (!this._element.parentNode || this._element.parentNode.nodeType !== Node.ELEMENT_NODE) {
+ // don't move modals dom position
+ document.body.appendChild(this._element);
+ }
+
+ this._element.style.display = 'block';
+ this._element.removeAttribute('aria-hidden');
+ this._element.scrollTop = 0;
+
+ if (transition) {
+ Util.reflow(this._element);
+ }
+
+ $(this._element).addClass(ClassName.SHOW);
+
+ if (this._config.focus) {
+ this._enforceFocus();
+ }
+
+ var shownEvent = $.Event(Event.SHOWN, {
+ relatedTarget: relatedTarget
+ });
+
+ var transitionComplete = function transitionComplete() {
+ if (_this11._config.focus) {
+ _this11._element.focus();
+ }
+ _this11._isTransitioning = false;
+ $(_this11._element).trigger(shownEvent);
+ };
+
+ if (transition) {
+ $(this._dialog).one(Util.TRANSITION_END, transitionComplete).emulateTransitionEnd(TRANSITION_DURATION);
+ } else {
+ transitionComplete();
+ }
+ };
+
+ Modal.prototype._enforceFocus = function _enforceFocus() {
+ var _this12 = this;
+
+ $(document).off(Event.FOCUSIN) // guard against infinite focus loop
+ .on(Event.FOCUSIN, function (event) {
+ if (document !== event.target && _this12._element !== event.target && !$(_this12._element).has(event.target).length) {
+ _this12._element.focus();
+ }
+ });
+ };
+
+ Modal.prototype._setEscapeEvent = function _setEscapeEvent() {
+ var _this13 = this;
+
+ if (this._isShown && this._config.keyboard) {
+ $(this._element).on(Event.KEYDOWN_DISMISS, function (event) {
+ if (event.which === ESCAPE_KEYCODE) {
+ _this13.hide();
+ }
+ });
+ } else if (!this._isShown) {
+ $(this._element).off(Event.KEYDOWN_DISMISS);
+ }
+ };
+
+ Modal.prototype._setResizeEvent = function _setResizeEvent() {
+ var _this14 = this;
+
+ if (this._isShown) {
+ $(window).on(Event.RESIZE, function (event) {
+ return _this14._handleUpdate(event);
+ });
+ } else {
+ $(window).off(Event.RESIZE);
+ }
+ };
+
+ Modal.prototype._hideModal = function _hideModal() {
+ var _this15 = this;
+
+ this._element.style.display = 'none';
+ this._element.setAttribute('aria-hidden', 'true');
+ this._isTransitioning = false;
+ this._showBackdrop(function () {
+ $(document.body).removeClass(ClassName.OPEN);
+ _this15._resetAdjustments();
+ _this15._resetScrollbar();
+ $(_this15._element).trigger(Event.HIDDEN);
+ });
+ };
+
+ Modal.prototype._removeBackdrop = function _removeBackdrop() {
+ if (this._backdrop) {
+ $(this._backdrop).remove();
+ this._backdrop = null;
+ }
+ };
+
+ Modal.prototype._showBackdrop = function _showBackdrop(callback) {
+ var _this16 = this;
+
+ var animate = $(this._element).hasClass(ClassName.FADE) ? ClassName.FADE : '';
+
+ if (this._isShown && this._config.backdrop) {
+ var doAnimate = Util.supportsTransitionEnd() && animate;
+
+ this._backdrop = document.createElement('div');
+ this._backdrop.className = ClassName.BACKDROP;
+
+ if (animate) {
+ $(this._backdrop).addClass(animate);
+ }
+
+ $(this._backdrop).appendTo(document.body);
+
+ $(this._element).on(Event.CLICK_DISMISS, function (event) {
+ if (_this16._ignoreBackdropClick) {
+ _this16._ignoreBackdropClick = false;
+ return;
+ }
+ if (event.target !== event.currentTarget) {
+ return;
+ }
+ if (_this16._config.backdrop === 'static') {
+ _this16._element.focus();
+ } else {
+ _this16.hide();
+ }
+ });
+
+ if (doAnimate) {
+ Util.reflow(this._backdrop);
+ }
+
+ $(this._backdrop).addClass(ClassName.SHOW);
+
+ if (!callback) {
+ return;
+ }
+
+ if (!doAnimate) {
+ callback();
+ return;
+ }
+
+ $(this._backdrop).one(Util.TRANSITION_END, callback).emulateTransitionEnd(BACKDROP_TRANSITION_DURATION);
+ } else if (!this._isShown && this._backdrop) {
+ $(this._backdrop).removeClass(ClassName.SHOW);
+
+ var callbackRemove = function callbackRemove() {
+ _this16._removeBackdrop();
+ if (callback) {
+ callback();
+ }
+ };
+
+ if (Util.supportsTransitionEnd() && $(this._element).hasClass(ClassName.FADE)) {
+ $(this._backdrop).one(Util.TRANSITION_END, callbackRemove).emulateTransitionEnd(BACKDROP_TRANSITION_DURATION);
+ } else {
+ callbackRemove();
+ }
+ } else if (callback) {
+ callback();
+ }
+ };
+
+ // ----------------------------------------------------------------------
+ // the following methods are used to handle overflowing modals
+ // todo (fat): these should probably be refactored out of modal.js
+ // ----------------------------------------------------------------------
+
+ Modal.prototype._handleUpdate = function _handleUpdate() {
+ this._adjustDialog();
+ };
+
+ Modal.prototype._adjustDialog = function _adjustDialog() {
+ var isModalOverflowing = this._element.scrollHeight > document.documentElement.clientHeight;
+
+ if (!this._isBodyOverflowing && isModalOverflowing) {
+ this._element.style.paddingLeft = this._scrollbarWidth + 'px';
+ }
+
+ if (this._isBodyOverflowing && !isModalOverflowing) {
+ this._element.style.paddingRight = this._scrollbarWidth + 'px';
+ }
+ };
+
+ Modal.prototype._resetAdjustments = function _resetAdjustments() {
+ this._element.style.paddingLeft = '';
+ this._element.style.paddingRight = '';
+ };
+
+ Modal.prototype._checkScrollbar = function _checkScrollbar() {
+ this._isBodyOverflowing = document.body.clientWidth < window.innerWidth;
+ this._scrollbarWidth = this._getScrollbarWidth();
+ };
+
+ Modal.prototype._setScrollbar = function _setScrollbar() {
+ var bodyPadding = parseInt($(Selector.FIXED_CONTENT).css('padding-right') || 0, 10);
+
+ this._originalBodyPadding = document.body.style.paddingRight || '';
+
+ if (this._isBodyOverflowing) {
+ document.body.style.paddingRight = bodyPadding + this._scrollbarWidth + 'px';
+ }
+ };
+
+ Modal.prototype._resetScrollbar = function _resetScrollbar() {
+ document.body.style.paddingRight = this._originalBodyPadding;
+ };
+
+ Modal.prototype._getScrollbarWidth = function _getScrollbarWidth() {
+ // thx d.walsh
+ var scrollDiv = document.createElement('div');
+ scrollDiv.className = ClassName.SCROLLBAR_MEASURER;
+ document.body.appendChild(scrollDiv);
+ var scrollbarWidth = scrollDiv.getBoundingClientRect().width - scrollDiv.clientWidth;
+ document.body.removeChild(scrollDiv);
+ return scrollbarWidth;
+ };
+
+ // static
+
+ Modal._jQueryInterface = function _jQueryInterface(config, relatedTarget) {
+ return this.each(function () {
+ var data = $(this).data(DATA_KEY);
+ var _config = $.extend({}, Modal.Default, $(this).data(), (typeof config === 'undefined' ? 'undefined' : _typeof(config)) === 'object' && config);
+
+ if (!data) {
+ data = new Modal(this, _config);
+ $(this).data(DATA_KEY, data);
+ }
+
+ if (typeof config === 'string') {
+ if (data[config] === undefined) {
+ throw new Error('No method named "' + config + '"');
+ }
+ data[config](relatedTarget);
+ } else if (_config.show) {
+ data.show(relatedTarget);
+ }
+ });
+ };
+
+ _createClass(Modal, null, [{
+ key: 'VERSION',
+ get: function get() {
+ return VERSION;
+ }
+ }, {
+ key: 'Default',
+ get: function get() {
+ return Default;
+ }
+ }]);
+
+ return Modal;
+ }();
+
+ /**
+ * ------------------------------------------------------------------------
+ * Data Api implementation
+ * ------------------------------------------------------------------------
+ */
+
+ $(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {
+ var _this17 = this;
+
+ var target = void 0;
+ var selector = Util.getSelectorFromElement(this);
+
+ if (selector) {
+ target = $(selector)[0];
+ }
+
+ var config = $(target).data(DATA_KEY) ? 'toggle' : $.extend({}, $(target).data(), $(this).data());
+
+ if (this.tagName === 'A' || this.tagName === 'AREA') {
+ event.preventDefault();
+ }
+
+ var $target = $(target).one(Event.SHOW, function (showEvent) {
+ if (showEvent.isDefaultPrevented()) {
+ // only register focus restorer if modal will actually get shown
+ return;
+ }
+
+ $target.one(Event.HIDDEN, function () {
+ if ($(_this17).is(':visible')) {
+ _this17.focus();
+ }
+ });
+ });
+
+ Modal._jQueryInterface.call($(target), config, this);
+ });
+
+ /**
+ * ------------------------------------------------------------------------
+ * jQuery
+ * ------------------------------------------------------------------------
+ */
+
+ $.fn[NAME] = Modal._jQueryInterface;
+ $.fn[NAME].Constructor = Modal;
+ $.fn[NAME].noConflict = function () {
+ $.fn[NAME] = JQUERY_NO_CONFLICT;
+ return Modal._jQueryInterface;
+ };
+
+ return Modal;
+}(jQuery);
+
+/**
+ * --------------------------------------------------------------------------
+ * Bootstrap (v4.0.0-alpha.6): scrollspy.js
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ * --------------------------------------------------------------------------
+ */
+
+var ScrollSpy = function ($) {
+
+ /**
+ * ------------------------------------------------------------------------
+ * Constants
+ * ------------------------------------------------------------------------
+ */
+
+ var NAME = 'scrollspy';
+ var VERSION = '4.0.0-alpha.6';
+ var DATA_KEY = 'bs.scrollspy';
+ var EVENT_KEY = '.' + DATA_KEY;
+ var DATA_API_KEY = '.data-api';
+ var JQUERY_NO_CONFLICT = $.fn[NAME];
+
+ var Default = {
+ offset: 10,
+ method: 'auto',
+ target: ''
+ };
+
+ var DefaultType = {
+ offset: 'number',
+ method: 'string',
+ target: '(string|element)'
+ };
+
+ var Event = {
+ ACTIVATE: 'activate' + EVENT_KEY,
+ SCROLL: 'scroll' + EVENT_KEY,
+ LOAD_DATA_API: 'load' + EVENT_KEY + DATA_API_KEY
+ };
+
+ var ClassName = {
+ DROPDOWN_ITEM: 'dropdown-item',
+ DROPDOWN_MENU: 'dropdown-menu',
+ NAV_LINK: 'nav-link',
+ NAV: 'nav',
+ ACTIVE: 'active'
+ };
+
+ var Selector = {
+ DATA_SPY: '[data-spy="scroll"]',
+ ACTIVE: '.active',
+ LIST_ITEM: '.list-item',
+ LI: 'li',
+ LI_DROPDOWN: 'li.dropdown',
+ NAV_LINKS: '.nav-link',
+ DROPDOWN: '.dropdown',
+ DROPDOWN_ITEMS: '.dropdown-item',
+ DROPDOWN_TOGGLE: '.dropdown-toggle'
+ };
+
+ var OffsetMethod = {
+ OFFSET: 'offset',
+ POSITION: 'position'
+ };
+
+ /**
+ * ------------------------------------------------------------------------
+ * Class Definition
+ * ------------------------------------------------------------------------
+ */
+
+ var ScrollSpy = function () {
+ function ScrollSpy(element, config) {
+ var _this18 = this;
+
+ _classCallCheck(this, ScrollSpy);
+
+ this._element = element;
+ this._scrollElement = element.tagName === 'BODY' ? window : element;
+ this._config = this._getConfig(config);
+ this._selector = this._config.target + ' ' + Selector.NAV_LINKS + ',' + (this._config.target + ' ' + Selector.DROPDOWN_ITEMS);
+ this._offsets = [];
+ this._targets = [];
+ this._activeTarget = null;
+ this._scrollHeight = 0;
+
+ $(this._scrollElement).on(Event.SCROLL, function (event) {
+ return _this18._process(event);
+ });
+
+ this.refresh();
+ this._process();
+ }
+
+ // getters
+
+ // public
+
+ ScrollSpy.prototype.refresh = function refresh() {
+ var _this19 = this;
+
+ var autoMethod = this._scrollElement !== this._scrollElement.window ? OffsetMethod.POSITION : OffsetMethod.OFFSET;
+
+ var offsetMethod = this._config.method === 'auto' ? autoMethod : this._config.method;
+
+ var offsetBase = offsetMethod === OffsetMethod.POSITION ? this._getScrollTop() : 0;
+
+ this._offsets = [];
+ this._targets = [];
+
+ this._scrollHeight = this._getScrollHeight();
+
+ var targets = $.makeArray($(this._selector));
+
+ targets.map(function (element) {
+ var target = void 0;
+ var targetSelector = Util.getSelectorFromElement(element);
+
+ if (targetSelector) {
+ target = $(targetSelector)[0];
+ }
+
+ if (target) {
+ var targetBCR = target.getBoundingClientRect();
+ if (targetBCR.width || targetBCR.height) {
+ // todo (fat): remove sketch reliance on jQuery position/offset
+ return [$(target)[offsetMethod]().top + offsetBase, targetSelector];
+ }
+ }
+ return null;
+ }).filter(function (item) {
+ return item;
+ }).sort(function (a, b) {
+ return a[0] - b[0];
+ }).forEach(function (item) {
+ _this19._offsets.push(item[0]);
+ _this19._targets.push(item[1]);
+ });
+ };
+
+ ScrollSpy.prototype.dispose = function dispose() {
+ $.removeData(this._element, DATA_KEY);
+ $(this._scrollElement).off(EVENT_KEY);
+
+ this._element = null;
+ this._scrollElement = null;
+ this._config = null;
+ this._selector = null;
+ this._offsets = null;
+ this._targets = null;
+ this._activeTarget = null;
+ this._scrollHeight = null;
+ };
+
+ // private
+
+ ScrollSpy.prototype._getConfig = function _getConfig(config) {
+ config = $.extend({}, Default, config);
+
+ if (typeof config.target !== 'string') {
+ var id = $(config.target).attr('id');
+ if (!id) {
+ id = Util.getUID(NAME);
+ $(config.target).attr('id', id);
+ }
+ config.target = '#' + id;
+ }
+
+ Util.typeCheckConfig(NAME, config, DefaultType);
+
+ return config;
+ };
+
+ ScrollSpy.prototype._getScrollTop = function _getScrollTop() {
+ return this._scrollElement === window ? this._scrollElement.pageYOffset : this._scrollElement.scrollTop;
+ };
+
+ ScrollSpy.prototype._getScrollHeight = function _getScrollHeight() {
+ return this._scrollElement.scrollHeight || Math.max(document.body.scrollHeight, document.documentElement.scrollHeight);
+ };
+
+ ScrollSpy.prototype._getOffsetHeight = function _getOffsetHeight() {
+ return this._scrollElement === window ? window.innerHeight : this._scrollElement.getBoundingClientRect().height;
+ };
+
+ ScrollSpy.prototype._process = function _process() {
+ var scrollTop = this._getScrollTop() + this._config.offset;
+ var scrollHeight = this._getScrollHeight();
+ var maxScroll = this._config.offset + scrollHeight - this._getOffsetHeight();
+
+ if (this._scrollHeight !== scrollHeight) {
+ this.refresh();
+ }
+
+ if (scrollTop >= maxScroll) {
+ var target = this._targets[this._targets.length - 1];
+
+ if (this._activeTarget !== target) {
+ this._activate(target);
+ }
+ return;
+ }
+
+ if (this._activeTarget && scrollTop < this._offsets[0] && this._offsets[0] > 0) {
+ this._activeTarget = null;
+ this._clear();
+ return;
+ }
+
+ for (var i = this._offsets.length; i--;) {
+ var isActiveTarget = this._activeTarget !== this._targets[i] && scrollTop >= this._offsets[i] && (this._offsets[i + 1] === undefined || scrollTop < this._offsets[i + 1]);
+
+ if (isActiveTarget) {
+ this._activate(this._targets[i]);
+ }
+ }
+ };
+
+ ScrollSpy.prototype._activate = function _activate(target) {
+ this._activeTarget = target;
+
+ this._clear();
+
+ var queries = this._selector.split(',');
+ queries = queries.map(function (selector) {
+ return selector + '[data-target="' + target + '"],' + (selector + '[href="' + target + '"]');
+ });
+
+ var $link = $(queries.join(','));
+
+ if ($link.hasClass(ClassName.DROPDOWN_ITEM)) {
+ $link.closest(Selector.DROPDOWN).find(Selector.DROPDOWN_TOGGLE).addClass(ClassName.ACTIVE);
+ $link.addClass(ClassName.ACTIVE);
+ } else {
+ // todo (fat) this is kinda sus...
+ // recursively add actives to tested nav-links
+ $link.parents(Selector.LI).find('> ' + Selector.NAV_LINKS).addClass(ClassName.ACTIVE);
+ }
+
+ $(this._scrollElement).trigger(Event.ACTIVATE, {
+ relatedTarget: target
+ });
+ };
+
+ ScrollSpy.prototype._clear = function _clear() {
+ $(this._selector).filter(Selector.ACTIVE).removeClass(ClassName.ACTIVE);
+ };
+
+ // static
+
+ ScrollSpy._jQueryInterface = function _jQueryInterface(config) {
+ return this.each(function () {
+ var data = $(this).data(DATA_KEY);
+ var _config = (typeof config === 'undefined' ? 'undefined' : _typeof(config)) === 'object' && config;
+
+ if (!data) {
+ data = new ScrollSpy(this, _config);
+ $(this).data(DATA_KEY, data);
+ }
+
+ if (typeof config === 'string') {
+ if (data[config] === undefined) {
+ throw new Error('No method named "' + config + '"');
+ }
+ data[config]();
+ }
+ });
+ };
+
+ _createClass(ScrollSpy, null, [{
+ key: 'VERSION',
+ get: function get() {
+ return VERSION;
+ }
+ }, {
+ key: 'Default',
+ get: function get() {
+ return Default;
+ }
+ }]);
+
+ return ScrollSpy;
+ }();
+
+ /**
+ * ------------------------------------------------------------------------
+ * Data Api implementation
+ * ------------------------------------------------------------------------
+ */
+
+ $(window).on(Event.LOAD_DATA_API, function () {
+ var scrollSpys = $.makeArray($(Selector.DATA_SPY));
+
+ for (var i = scrollSpys.length; i--;) {
+ var $spy = $(scrollSpys[i]);
+ ScrollSpy._jQueryInterface.call($spy, $spy.data());
+ }
+ });
+
+ /**
+ * ------------------------------------------------------------------------
+ * jQuery
+ * ------------------------------------------------------------------------
+ */
+
+ $.fn[NAME] = ScrollSpy._jQueryInterface;
+ $.fn[NAME].Constructor = ScrollSpy;
+ $.fn[NAME].noConflict = function () {
+ $.fn[NAME] = JQUERY_NO_CONFLICT;
+ return ScrollSpy._jQueryInterface;
+ };
+
+ return ScrollSpy;
+}(jQuery);
+
+/**
+ * --------------------------------------------------------------------------
+ * Bootstrap (v4.0.0-alpha.6): tab.js
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ * --------------------------------------------------------------------------
+ */
+
+var Tab = function ($) {
+
+ /**
+ * ------------------------------------------------------------------------
+ * Constants
+ * ------------------------------------------------------------------------
+ */
+
+ var NAME = 'tab';
+ var VERSION = '4.0.0-alpha.6';
+ var DATA_KEY = 'bs.tab';
+ var EVENT_KEY = '.' + DATA_KEY;
+ var DATA_API_KEY = '.data-api';
+ var JQUERY_NO_CONFLICT = $.fn[NAME];
+ var TRANSITION_DURATION = 150;
+
+ var Event = {
+ HIDE: 'hide' + EVENT_KEY,
+ HIDDEN: 'hidden' + EVENT_KEY,
+ SHOW: 'show' + EVENT_KEY,
+ SHOWN: 'shown' + EVENT_KEY,
+ CLICK_DATA_API: 'click' + EVENT_KEY + DATA_API_KEY
+ };
+
+ var ClassName = {
+ DROPDOWN_MENU: 'dropdown-menu',
+ ACTIVE: 'active',
+ DISABLED: 'disabled',
+ FADE: 'fade',
+ SHOW: 'show'
+ };
+
+ var Selector = {
+ A: 'a',
+ LI: 'li',
+ DROPDOWN: '.dropdown',
+ LIST: 'ul:not(.dropdown-menu), ol:not(.dropdown-menu), nav:not(.dropdown-menu), .list-group:not(.dropdown-menu)',
+ FADE_CHILD: '> .nav-item .fade, > .list-group-item .fade, > .fade',
+ ACTIVE: '.active',
+ ACTIVE_CHILD: '> .nav-item > .active, > .list-group-item > .active, > .active',
+ DATA_TOGGLE: '[data-toggle="tab"], [data-toggle="pill"]',
+ DROPDOWN_TOGGLE: '.dropdown-toggle',
+ DROPDOWN_ACTIVE_CHILD: '> .dropdown-menu .active'
+ };
+
+ /**
+ * ------------------------------------------------------------------------
+ * Class Definition
+ * ------------------------------------------------------------------------
+ */
+
+ var Tab = function () {
+ function Tab(element) {
+ _classCallCheck(this, Tab);
+
+ this._element = element;
+ }
+
+ // getters
+
+ // public
+
+ Tab.prototype.show = function show() {
+ var _this20 = this;
+
+ if (this._element.parentNode && this._element.parentNode.nodeType === Node.ELEMENT_NODE && $(this._element).hasClass(ClassName.ACTIVE) || $(this._element).hasClass(ClassName.DISABLED)) {
+ return;
+ }
+
+ var target = void 0;
+ var previous = void 0;
+ var listElement = $(this._element).closest(Selector.LIST)[0];
+ var selector = Util.getSelectorFromElement(this._element);
+
+ if (listElement) {
+ previous = $.makeArray($(listElement).find(Selector.ACTIVE));
+ previous = previous[previous.length - 1];
+ }
+
+ var hideEvent = $.Event(Event.HIDE, {
+ relatedTarget: this._element
+ });
+
+ var showEvent = $.Event(Event.SHOW, {
+ relatedTarget: previous
+ });
+
+ if (previous) {
+ $(previous).trigger(hideEvent);
+ }
+
+ $(this._element).trigger(showEvent);
+
+ if (showEvent.isDefaultPrevented() || hideEvent.isDefaultPrevented()) {
+ return;
+ }
+
+ if (selector) {
+ target = $(selector)[0];
+ }
+
+ this._activate(this._element, listElement);
+
+ var complete = function complete() {
+ var hiddenEvent = $.Event(Event.HIDDEN, {
+ relatedTarget: _this20._element
+ });
+
+ var shownEvent = $.Event(Event.SHOWN, {
+ relatedTarget: previous
+ });
+
+ $(previous).trigger(hiddenEvent);
+ $(_this20._element).trigger(shownEvent);
+ };
+
+ if (target) {
+ this._activate(target, target.parentNode, complete);
+ } else {
+ complete();
+ }
+ };
+
+ Tab.prototype.dispose = function dispose() {
+ $.removeClass(this._element, DATA_KEY);
+ this._element = null;
+ };
+
+ // private
+
+ Tab.prototype._activate = function _activate(element, container, callback) {
+ var _this21 = this;
+
+ var active = $(container).find(Selector.ACTIVE_CHILD)[0];
+ var isTransitioning = callback && Util.supportsTransitionEnd() && (active && $(active).hasClass(ClassName.FADE) || Boolean($(container).find(Selector.FADE_CHILD)[0]));
+
+ var complete = function complete() {
+ return _this21._transitionComplete(element, active, isTransitioning, callback);
+ };
+
+ if (active && isTransitioning) {
+ $(active).one(Util.TRANSITION_END, complete).emulateTransitionEnd(TRANSITION_DURATION);
+ } else {
+ complete();
+ }
+
+ if (active) {
+ $(active).removeClass(ClassName.SHOW);
+ }
+ };
+
+ Tab.prototype._transitionComplete = function _transitionComplete(element, active, isTransitioning, callback) {
+ if (active) {
+ $(active).removeClass(ClassName.ACTIVE);
+ if ($(active).hasClass('list-group-item')) {
+ $(active).find('a.nav-link').removeClass(ClassName.ACTIVE);
+ }
+
+ var dropdownChild = $(active.parentNode).find(Selector.DROPDOWN_ACTIVE_CHILD)[0];
+
+ if (dropdownChild) {
+ $(dropdownChild).removeClass(ClassName.ACTIVE);
+ }
+
+ active.setAttribute('aria-expanded', false);
+ }
+
+ $(element).addClass(ClassName.ACTIVE);
+ if ($(element.parentNode).hasClass('list-group-item')) {
+ $(element.parentNode).addClass(ClassName.ACTIVE);
+ }
+ element.setAttribute('aria-expanded', true);
+
+ if (isTransitioning) {
+ Util.reflow(element);
+ $(element).addClass(ClassName.SHOW);
+ } else {
+ $(element).removeClass(ClassName.FADE);
+ }
+
+ if (element.parentNode && $(element.parentNode).hasClass(ClassName.DROPDOWN_MENU)) {
+
+ var dropdownElement = $(element).closest(Selector.DROPDOWN)[0];
+ if (dropdownElement) {
+ $(dropdownElement).find(Selector.DROPDOWN_TOGGLE).addClass(ClassName.ACTIVE);
+ }
+
+ element.setAttribute('aria-expanded', true);
+ }
+
+ if (callback) {
+ callback();
+ }
+ };
+
+ // static
+
+ Tab._jQueryInterface = function _jQueryInterface(config) {
+ return this.each(function () {
+ var $this = $(this);
+ var data = $this.data(DATA_KEY);
+
+ if (!data) {
+ data = new Tab(this);
+ $this.data(DATA_KEY, data);
+ }
+
+ if (typeof config === 'string') {
+ if (data[config] === undefined) {
+ throw new Error('No method named "' + config + '"');
+ }
+ data[config]();
+ }
+ });
+ };
+
+ _createClass(Tab, null, [{
+ key: 'VERSION',
+ get: function get() {
+ return VERSION;
+ }
+ }]);
+
+ return Tab;
+ }();
+
+ /**
+ * ------------------------------------------------------------------------
+ * Data Api implementation
+ * ------------------------------------------------------------------------
+ */
+
+ $(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {
+ event.preventDefault();
+ Tab._jQueryInterface.call($(this), 'show');
+ });
+
+ /**
+ * ------------------------------------------------------------------------
+ * jQuery
+ * ------------------------------------------------------------------------
+ */
+
+ $.fn[NAME] = Tab._jQueryInterface;
+ $.fn[NAME].Constructor = Tab;
+ $.fn[NAME].noConflict = function () {
+ $.fn[NAME] = JQUERY_NO_CONFLICT;
+ return Tab._jQueryInterface;
+ };
+
+ return Tab;
+}(jQuery);
+
+/* global Tether */
+
+/**
+ * --------------------------------------------------------------------------
+ * Bootstrap (v4.0.0-alpha.6): tooltip.js
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ * --------------------------------------------------------------------------
+ */
+
+var Tooltip = function ($) {
+
+ /**
+ * Check for Tether dependency
+ * Tether - http://tether.io/
+ */
+ if (typeof Tether === 'undefined') {
+ throw new Error('Bootstrap tooltips require Tether (http://tether.io/)');
+ }
+
+ /**
+ * ------------------------------------------------------------------------
+ * Constants
+ * ------------------------------------------------------------------------
+ */
+
+ var NAME = 'tooltip';
+ var VERSION = '4.0.0-alpha.6';
+ var DATA_KEY = 'bs.tooltip';
+ var EVENT_KEY = '.' + DATA_KEY;
+ var JQUERY_NO_CONFLICT = $.fn[NAME];
+ var TRANSITION_DURATION = 150;
+ var CLASS_PREFIX = 'bs-tether';
+
+ var Default = {
+ animation: true,
+ template: '<div class="tooltip" role="tooltip">' + '<div class="tooltip-inner"></div></div>',
+ trigger: 'hover focus',
+ title: '',
+ delay: 0,
+ html: false,
+ selector: false,
+ placement: 'top',
+ offset: '0 0',
+ constraints: [],
+ container: false
+ };
+
+ var DefaultType = {
+ animation: 'boolean',
+ template: 'string',
+ title: '(string|element|function)',
+ trigger: 'string',
+ delay: '(number|object)',
+ html: 'boolean',
+ selector: '(string|boolean)',
+ placement: '(string|function)',
+ offset: 'string',
+ constraints: 'array',
+ container: '(string|element|boolean)'
+ };
+
+ var AttachmentMap = {
+ TOP: 'bottom center',
+ RIGHT: 'middle left',
+ BOTTOM: 'top center',
+ LEFT: 'middle right'
+ };
+
+ var HoverState = {
+ SHOW: 'show',
+ OUT: 'out'
+ };
+
+ var Event = {
+ HIDE: 'hide' + EVENT_KEY,
+ HIDDEN: 'hidden' + EVENT_KEY,
+ SHOW: 'show' + EVENT_KEY,
+ SHOWN: 'shown' + EVENT_KEY,
+ INSERTED: 'inserted' + EVENT_KEY,
+ CLICK: 'click' + EVENT_KEY,
+ FOCUSIN: 'focusin' + EVENT_KEY,
+ FOCUSOUT: 'focusout' + EVENT_KEY,
+ MOUSEENTER: 'mouseenter' + EVENT_KEY,
+ MOUSELEAVE: 'mouseleave' + EVENT_KEY
+ };
+
+ var ClassName = {
+ FADE: 'fade',
+ SHOW: 'show'
+ };
+
+ var Selector = {
+ TOOLTIP: '.tooltip',
+ TOOLTIP_INNER: '.tooltip-inner'
+ };
+
+ var TetherClass = {
+ element: false,
+ enabled: false
+ };
+
+ var Trigger = {
+ HOVER: 'hover',
+ FOCUS: 'focus',
+ CLICK: 'click',
+ MANUAL: 'manual'
+ };
+
+ /**
+ * ------------------------------------------------------------------------
+ * Class Definition
+ * ------------------------------------------------------------------------
+ */
+
+ var Tooltip = function () {
+ function Tooltip(element, config) {
+ _classCallCheck(this, Tooltip);
+
+ // private
+ this._isEnabled = true;
+ this._timeout = 0;
+ this._hoverState = '';
+ this._activeTrigger = {};
+ this._isTransitioning = false;
+ this._tether = null;
+
+ // protected
+ this.element = element;
+ this.config = this._getConfig(config);
+ this.tip = null;
+
+ this._setListeners();
+ }
+
+ // getters
+
+ // public
+
+ Tooltip.prototype.enable = function enable() {
+ this._isEnabled = true;
+ };
+
+ Tooltip.prototype.disable = function disable() {
+ this._isEnabled = false;
+ };
+
+ Tooltip.prototype.toggleEnabled = function toggleEnabled() {
+ this._isEnabled = !this._isEnabled;
+ };
+
+ Tooltip.prototype.toggle = function toggle(event) {
+ if (event) {
+ var dataKey = this.constructor.DATA_KEY;
+ var context = $(event.currentTarget).data(dataKey);
+
+ if (!context) {
+ context = new this.constructor(event.currentTarget, this._getDelegateConfig());
+ $(event.currentTarget).data(dataKey, context);
+ }
+
+ context._activeTrigger.click = !context._activeTrigger.click;
+
+ if (context._isWithActiveTrigger()) {
+ context._enter(null, context);
+ } else {
+ context._leave(null, context);
+ }
+ } else {
+
+ if ($(this.getTipElement()).hasClass(ClassName.SHOW)) {
+ this._leave(null, this);
+ return;
+ }
+
+ this._enter(null, this);
+ }
+ };
+
+ Tooltip.prototype.dispose = function dispose() {
+ clearTimeout(this._timeout);
+
+ this.cleanupTether();
+
+ $.removeData(this.element, this.constructor.DATA_KEY);
+
+ $(this.element).off(this.constructor.EVENT_KEY);
+ $(this.element).closest('.modal').off('hide.bs.modal');
+
+ if (this.tip) {
+ $(this.tip).remove();
+ }
+
+ this._isEnabled = null;
+ this._timeout = null;
+ this._hoverState = null;
+ this._activeTrigger = null;
+ this._tether = null;
+
+ this.element = null;
+ this.config = null;
+ this.tip = null;
+ };
+
+ Tooltip.prototype.show = function show() {
+ var _this22 = this;
+
+ if ($(this.element).css('display') === 'none') {
+ throw new Error('Please use show on visible elements');
+ }
+
+ var showEvent = $.Event(this.constructor.Event.SHOW);
+ if (this.isWithContent() && this._isEnabled) {
+ if (this._isTransitioning) {
+ throw new Error('Tooltip is transitioning');
+ }
+ $(this.element).trigger(showEvent);
+
+ var isInTheDom = $.contains(this.element.ownerDocument.documentElement, this.element);
+
+ if (showEvent.isDefaultPrevented() || !isInTheDom) {
+ return;
+ }
+
+ var tip = this.getTipElement();
+ var tipId = Util.getUID(this.constructor.NAME);
+
+ tip.setAttribute('id', tipId);
+ this.element.setAttribute('aria-describedby', tipId);
+
+ this.setContent();
+
+ if (this.config.animation) {
+ $(tip).addClass(ClassName.FADE);
+ }
+
+ var placement = typeof this.config.placement === 'function' ? this.config.placement.call(this, tip, this.element) : this.config.placement;
+
+ var attachment = this._getAttachment(placement);
+
+ var container = this.config.container === false ? document.body : $(this.config.container);
+
+ $(tip).data(this.constructor.DATA_KEY, this).appendTo(container);
+
+ $(this.element).trigger(this.constructor.Event.INSERTED);
+
+ this._tether = new Tether({
+ attachment: attachment,
+ element: tip,
+ target: this.element,
+ classes: TetherClass,
+ classPrefix: CLASS_PREFIX,
+ offset: this.config.offset,
+ constraints: this.config.constraints,
+ addTargetClasses: false
+ });
+
+ Util.reflow(tip);
+ this._tether.position();
+
+ $(tip).addClass(ClassName.SHOW);
+
+ var complete = function complete() {
+ var prevHoverState = _this22._hoverState;
+ _this22._hoverState = null;
+ _this22._isTransitioning = false;
+
+ $(_this22.element).trigger(_this22.constructor.Event.SHOWN);
+
+ if (prevHoverState === HoverState.OUT) {
+ _this22._leave(null, _this22);
+ }
+ };
+
+ if (Util.supportsTransitionEnd() && $(this.tip).hasClass(ClassName.FADE)) {
+ this._isTransitioning = true;
+ $(this.tip).one(Util.TRANSITION_END, complete).emulateTransitionEnd(Tooltip._TRANSITION_DURATION);
+ return;
+ }
+
+ complete();
+ }
+ };
+
+ Tooltip.prototype.hide = function hide(callback) {
+ var _this23 = this;
+
+ var tip = this.getTipElement();
+ var hideEvent = $.Event(this.constructor.Event.HIDE);
+ if (this._isTransitioning) {
+ throw new Error('Tooltip is transitioning');
+ }
+ var complete = function complete() {
+ if (_this23._hoverState !== HoverState.SHOW && tip.parentNode) {
+ tip.parentNode.removeChild(tip);
+ }
+
+ _this23.element.removeAttribute('aria-describedby');
+ $(_this23.element).trigger(_this23.constructor.Event.HIDDEN);
+ _this23._isTransitioning = false;
+ _this23.cleanupTether();
+
+ if (callback) {
+ callback();
+ }
+ };
+
+ $(this.element).trigger(hideEvent);
+
+ if (hideEvent.isDefaultPrevented()) {
+ return;
+ }
+
+ $(tip).removeClass(ClassName.SHOW);
+
+ this._activeTrigger[Trigger.CLICK] = false;
+ this._activeTrigger[Trigger.FOCUS] = false;
+ this._activeTrigger[Trigger.HOVER] = false;
+
+ if (Util.supportsTransitionEnd() && $(this.tip).hasClass(ClassName.FADE)) {
+ this._isTransitioning = true;
+ $(tip).one(Util.TRANSITION_END, complete).emulateTransitionEnd(TRANSITION_DURATION);
+ } else {
+ complete();
+ }
+
+ this._hoverState = '';
+ };
+
+ // protected
+
+ Tooltip.prototype.isWithContent = function isWithContent() {
+ return Boolean(this.getTitle());
+ };
+
+ Tooltip.prototype.getTipElement = function getTipElement() {
+ return this.tip = this.tip || $(this.config.template)[0];
+ };
+
+ Tooltip.prototype.setContent = function setContent() {
+ var $tip = $(this.getTipElement());
+
+ this.setElementContent($tip.find(Selector.TOOLTIP_INNER), this.getTitle());
+
+ $tip.removeClass(ClassName.FADE + ' ' + ClassName.SHOW);
+
+ this.cleanupTether();
+ };
+
+ Tooltip.prototype.setElementContent = function setElementContent($element, content) {
+ var html = this.config.html;
+ if ((typeof content === 'undefined' ? 'undefined' : _typeof(content)) === 'object' && (content.nodeType || content.jquery)) {
+ // content is a DOM node or a jQuery
+ if (html) {
+ if (!$(content).parent().is($element)) {
+ $element.empty().append(content);
+ }
+ } else {
+ $element.text($(content).text());
+ }
+ } else {
+ $element[html ? 'html' : 'text'](content);
+ }
+ };
+
+ Tooltip.prototype.getTitle = function getTitle() {
+ var title = this.element.getAttribute('data-original-title');
+
+ if (!title) {
+ title = typeof this.config.title === 'function' ? this.config.title.call(this.element) : this.config.title;
+ }
+
+ return title;
+ };
+
+ Tooltip.prototype.cleanupTether = function cleanupTether() {
+ if (this._tether) {
+ this._tether.destroy();
+ }
+ };
+
+ // private
+
+ Tooltip.prototype._getAttachment = function _getAttachment(placement) {
+ return AttachmentMap[placement.toUpperCase()];
+ };
+
+ Tooltip.prototype._setListeners = function _setListeners() {
+ var _this24 = this;
+
+ var triggers = this.config.trigger.split(' ');
+
+ triggers.forEach(function (trigger) {
+ if (trigger === 'click') {
+ $(_this24.element).on(_this24.constructor.Event.CLICK, _this24.config.selector, function (event) {
+ return _this24.toggle(event);
+ });
+ } else if (trigger !== Trigger.MANUAL) {
+ var eventIn = trigger === Trigger.HOVER ? _this24.constructor.Event.MOUSEENTER : _this24.constructor.Event.FOCUSIN;
+ var eventOut = trigger === Trigger.HOVER ? _this24.constructor.Event.MOUSELEAVE : _this24.constructor.Event.FOCUSOUT;
+
+ $(_this24.element).on(eventIn, _this24.config.selector, function (event) {
+ return _this24._enter(event);
+ }).on(eventOut, _this24.config.selector, function (event) {
+ return _this24._leave(event);
+ });
+ }
+
+ $(_this24.element).closest('.modal').on('hide.bs.modal', function () {
+ return _this24.hide();
+ });
+ });
+
+ if (this.config.selector) {
+ this.config = $.extend({}, this.config, {
+ trigger: 'manual',
+ selector: ''
+ });
+ } else {
+ this._fixTitle();
+ }
+ };
+
+ Tooltip.prototype._fixTitle = function _fixTitle() {
+ var titleType = _typeof(this.element.getAttribute('data-original-title'));
+ if (this.element.getAttribute('title') || titleType !== 'string') {
+ this.element.setAttribute('data-original-title', this.element.getAttribute('title') || '');
+ this.element.setAttribute('title', '');
+ }
+ };
+
+ Tooltip.prototype._enter = function _enter(event, context) {
+ var dataKey = this.constructor.DATA_KEY;
+
+ context = context || $(event.currentTarget).data(dataKey);
+
+ if (!context) {
+ context = new this.constructor(event.currentTarget, this._getDelegateConfig());
+ $(event.currentTarget).data(dataKey, context);
+ }
+
+ if (event) {
+ context._activeTrigger[event.type === 'focusin' ? Trigger.FOCUS : Trigger.HOVER] = true;
+ }
+
+ if ($(context.getTipElement()).hasClass(ClassName.SHOW) || context._hoverState === HoverState.SHOW) {
+ context._hoverState = HoverState.SHOW;
+ return;
+ }
+
+ clearTimeout(context._timeout);
+
+ context._hoverState = HoverState.SHOW;
+
+ if (!context.config.delay || !context.config.delay.show) {
+ context.show();
+ return;
+ }
+
+ context._timeout = setTimeout(function () {
+ if (context._hoverState === HoverState.SHOW) {
+ context.show();
+ }
+ }, context.config.delay.show);
+ };
+
+ Tooltip.prototype._leave = function _leave(event, context) {
+ var dataKey = this.constructor.DATA_KEY;
+
+ context = context || $(event.currentTarget).data(dataKey);
+
+ if (!context) {
+ context = new this.constructor(event.currentTarget, this._getDelegateConfig());
+ $(event.currentTarget).data(dataKey, context);
+ }
+
+ if (event) {
+ context._activeTrigger[event.type === 'focusout' ? Trigger.FOCUS : Trigger.HOVER] = false;
+ }
+
+ if (context._isWithActiveTrigger()) {
+ return;
+ }
+
+ clearTimeout(context._timeout);
+
+ context._hoverState = HoverState.OUT;
+
+ if (!context.config.delay || !context.config.delay.hide) {
+ context.hide();
+ return;
+ }
+
+ context._timeout = setTimeout(function () {
+ if (context._hoverState === HoverState.OUT) {
+ context.hide();
+ }
+ }, context.config.delay.hide);
+ };
+
+ Tooltip.prototype._isWithActiveTrigger = function _isWithActiveTrigger() {
+ for (var trigger in this._activeTrigger) {
+ if (this._activeTrigger[trigger]) {
+ return true;
+ }
+ }
+
+ return false;
+ };
+
+ Tooltip.prototype._getConfig = function _getConfig(config) {
+ config = $.extend({}, this.constructor.Default, $(this.element).data(), config);
+
+ if (config.delay && typeof config.delay === 'number') {
+ config.delay = {
+ show: config.delay,
+ hide: config.delay
+ };
+ }
+
+ Util.typeCheckConfig(NAME, config, this.constructor.DefaultType);
+
+ return config;
+ };
+
+ Tooltip.prototype._getDelegateConfig = function _getDelegateConfig() {
+ var config = {};
+
+ if (this.config) {
+ for (var key in this.config) {
+ if (this.constructor.Default[key] !== this.config[key]) {
+ config[key] = this.config[key];
+ }
+ }
+ }
+
+ return config;
+ };
+
+ // static
+
+ Tooltip._jQueryInterface = function _jQueryInterface(config) {
+ return this.each(function () {
+ var data = $(this).data(DATA_KEY);
+ var _config = (typeof config === 'undefined' ? 'undefined' : _typeof(config)) === 'object' && config;
+
+ if (!data && /dispose|hide/.test(config)) {
+ return;
+ }
+
+ if (!data) {
+ data = new Tooltip(this, _config);
+ $(this).data(DATA_KEY, data);
+ }
+
+ if (typeof config === 'string') {
+ if (data[config] === undefined) {
+ throw new Error('No method named "' + config + '"');
+ }
+ data[config]();
+ }
+ });
+ };
+
+ _createClass(Tooltip, null, [{
+ key: 'VERSION',
+ get: function get() {
+ return VERSION;
+ }
+ }, {
+ key: 'Default',
+ get: function get() {
+ return Default;
+ }
+ }, {
+ key: 'NAME',
+ get: function get() {
+ return NAME;
+ }
+ }, {
+ key: 'DATA_KEY',
+ get: function get() {
+ return DATA_KEY;
+ }
+ }, {
+ key: 'Event',
+ get: function get() {
+ return Event;
+ }
+ }, {
+ key: 'EVENT_KEY',
+ get: function get() {
+ return EVENT_KEY;
+ }
+ }, {
+ key: 'DefaultType',
+ get: function get() {
+ return DefaultType;
+ }
+ }]);
+
+ return Tooltip;
+ }();
+
+ /**
+ * ------------------------------------------------------------------------
+ * jQuery
+ * ------------------------------------------------------------------------
+ */
+
+ $.fn[NAME] = Tooltip._jQueryInterface;
+ $.fn[NAME].Constructor = Tooltip;
+ $.fn[NAME].noConflict = function () {
+ $.fn[NAME] = JQUERY_NO_CONFLICT;
+ return Tooltip._jQueryInterface;
+ };
+
+ return Tooltip;
+}(jQuery);
+
+/**
+ * --------------------------------------------------------------------------
+ * Bootstrap (v4.0.0-alpha.6): popover.js
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ * --------------------------------------------------------------------------
+ */
+
+var Popover = function ($) {
+
+ /**
+ * ------------------------------------------------------------------------
+ * Constants
+ * ------------------------------------------------------------------------
+ */
+
+ var NAME = 'popover';
+ var VERSION = '4.0.0-alpha.6';
+ var DATA_KEY = 'bs.popover';
+ var EVENT_KEY = '.' + DATA_KEY;
+ var JQUERY_NO_CONFLICT = $.fn[NAME];
+
+ var Default = $.extend({}, Tooltip.Default, {
+ placement: 'right',
+ trigger: 'click',
+ content: '',
+ template: '<div class="popover" role="tooltip">' + '<h3 class="popover-title"></h3>' + '<div class="popover-content"></div></div>'
+ });
+
+ var DefaultType = $.extend({}, Tooltip.DefaultType, {
+ content: '(string|element|function)'
+ });
+
+ var ClassName = {
+ FADE: 'fade',
+ SHOW: 'show'
+ };
+
+ var Selector = {
+ TITLE: '.popover-title',
+ CONTENT: '.popover-content'
+ };
+
+ var Event = {
+ HIDE: 'hide' + EVENT_KEY,
+ HIDDEN: 'hidden' + EVENT_KEY,
+ SHOW: 'show' + EVENT_KEY,
+ SHOWN: 'shown' + EVENT_KEY,
+ INSERTED: 'inserted' + EVENT_KEY,
+ CLICK: 'click' + EVENT_KEY,
+ FOCUSIN: 'focusin' + EVENT_KEY,
+ FOCUSOUT: 'focusout' + EVENT_KEY,
+ MOUSEENTER: 'mouseenter' + EVENT_KEY,
+ MOUSELEAVE: 'mouseleave' + EVENT_KEY
+ };
+
+ /**
+ * ------------------------------------------------------------------------
+ * Class Definition
+ * ------------------------------------------------------------------------
+ */
+
+ var Popover = function (_Tooltip) {
+ _inherits(Popover, _Tooltip);
+
+ function Popover() {
+ _classCallCheck(this, Popover);
+
+ return _possibleConstructorReturn(this, _Tooltip.apply(this, arguments));
+ }
+
+ // overrides
+
+ Popover.prototype.isWithContent = function isWithContent() {
+ return this.getTitle() || this._getContent();
+ };
+
+ Popover.prototype.getTipElement = function getTipElement() {
+ return this.tip = this.tip || $(this.config.template)[0];
+ };
+
+ Popover.prototype.setContent = function setContent() {
+ var $tip = $(this.getTipElement());
+
+ // we use append for html objects to maintain js events
+ this.setElementContent($tip.find(Selector.TITLE), this.getTitle());
+ this.setElementContent($tip.find(Selector.CONTENT), this._getContent());
+
+ $tip.removeClass(ClassName.FADE + ' ' + ClassName.SHOW);
+
+ this.cleanupTether();
+ };
+
+ // private
+
+ Popover.prototype._getContent = function _getContent() {
+ return this.element.getAttribute('data-content') || (typeof this.config.content === 'function' ? this.config.content.call(this.element) : this.config.content);
+ };
+
+ // static
+
+ Popover._jQueryInterface = function _jQueryInterface(config) {
+ return this.each(function () {
+ var data = $(this).data(DATA_KEY);
+ var _config = (typeof config === 'undefined' ? 'undefined' : _typeof(config)) === 'object' ? config : null;
+
+ if (!data && /destroy|hide/.test(config)) {
+ return;
+ }
+
+ if (!data) {
+ data = new Popover(this, _config);
+ $(this).data(DATA_KEY, data);
+ }
+
+ if (typeof config === 'string') {
+ if (data[config] === undefined) {
+ throw new Error('No method named "' + config + '"');
+ }
+ data[config]();
+ }
+ });
+ };
+
+ _createClass(Popover, null, [{
+ key: 'VERSION',
+
+
+ // getters
+
+ get: function get() {
+ return VERSION;
+ }
+ }, {
+ key: 'Default',
+ get: function get() {
+ return Default;
+ }
+ }, {
+ key: 'NAME',
+ get: function get() {
+ return NAME;
+ }
+ }, {
+ key: 'DATA_KEY',
+ get: function get() {
+ return DATA_KEY;
+ }
+ }, {
+ key: 'Event',
+ get: function get() {
+ return Event;
+ }
+ }, {
+ key: 'EVENT_KEY',
+ get: function get() {
+ return EVENT_KEY;
+ }
+ }, {
+ key: 'DefaultType',
+ get: function get() {
+ return DefaultType;
+ }
+ }]);
+
+ return Popover;
+ }(Tooltip);
+
+ /**
+ * ------------------------------------------------------------------------
+ * jQuery
+ * ------------------------------------------------------------------------
+ */
+
+ $.fn[NAME] = Popover._jQueryInterface;
+ $.fn[NAME].Constructor = Popover;
+ $.fn[NAME].noConflict = function () {
+ $.fn[NAME] = JQUERY_NO_CONFLICT;
+ return Popover._jQueryInterface;
+ };
+
+ return Popover;
+}(jQuery);
+
+}();
diff --git a/templates/assets/bootstrap/dist/js/bootstrap.min.js b/templates/assets/bootstrap/dist/js/bootstrap.min.js
new file mode 100644
index 0000000..6b34d21
--- /dev/null
+++ b/templates/assets/bootstrap/dist/js/bootstrap.min.js
@@ -0,0 +1,7 @@
+/*!
+ * Bootstrap v4.0.0-alpha.6 (https://getbootstrap.com)
+ * Copyright 2011-2017 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ */
+if("undefined"==typeof jQuery)throw new Error("Bootstrap's JavaScript requires jQuery. jQuery must be included before Bootstrap's JavaScript.");+function(t){var e=t.fn.jquery.split(" ")[0].split(".");if(e[0]<2&&e[1]<9||1==e[0]&&9==e[1]&&e[2]<1||e[0]>=4)throw new Error("Bootstrap's JavaScript requires at least jQuery v1.9.1 but less than v4.0.0")}(jQuery),function(){function t(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}function e(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}var i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},o=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}}(),r=function(t){function e(t){return{}.toString.call(t).match(/\s([a-zA-Z]+)/)[1].toLowerCase()}function n(t){return(t[0]||t).nodeType}function i(){return{bindType:s.end,delegateType:s.end,handle:function(e){if(t(e.target).is(this))return e.handleObj.handler.apply(this,arguments)}}}function o(){if(window.QUnit)return!1;var t=document.createElement("bootstrap");for(var e in a)if(void 0!==t.style[e])return{end:a[e]};return!1}function r(e){var n=this,i=!1;return t(this).one(l.TRANSITION_END,function(){i=!0}),setTimeout(function(){i||l.triggerTransitionEnd(n)},e),this}var s=!1,a={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"},l={TRANSITION_END:"bsTransitionEnd",getUID:function(t){do{t+=~~(1e6*Math.random())}while(document.getElementById(t));return t},getSelectorFromElement:function(e){var n=e.getAttribute("data-target");n&&"#"!==n||(n=e.getAttribute("href")||"");try{return t(n).length>0?n:null}catch(t){return null}},reflow:function(t){return t.offsetHeight},triggerTransitionEnd:function(e){t(e).trigger(s.end)},supportsTransitionEnd:function(){return Boolean(s)},typeCheckConfig:function(t,i,o){for(var r in o)if(o.hasOwnProperty(r)){var s=o[r],a=i[r],l=a&&n(a)?"element":e(a);if(!new RegExp(s).test(l))throw new Error(t.toUpperCase()+': Option "'+r+'" provided type "'+l+'" but expected type "'+s+'".')}}};return function(){s=o(),t.fn.emulateTransitionEnd=r,l.supportsTransitionEnd()&&(t.event.special[l.TRANSITION_END]=i())}(),l}(jQuery),s=(function(t){var e="alert",i=t.fn[e],s={DISMISS:'[data-dismiss="alert"]'},a={CLOSE:"close.bs.alert",CLOSED:"closed.bs.alert",CLICK_DATA_API:"click.bs.alert.data-api"},l={ALERT:"alert",FADE:"fade",SHOW:"show"},h=function(){function e(t){n(this,e),this._element=t}return e.prototype.close=function(t){t=t||this._element;var e=this._getRootElement(t);this._triggerCloseEvent(e).isDefaultPrevented()||this._removeElement(e)},e.prototype.dispose=function(){t.removeData(this._element,"bs.alert"),this._element=null},e.prototype._getRootElement=function(e){var n=r.getSelectorFromElement(e),i=!1;return n&&(i=t(n)[0]),i||(i=t(e).closest("."+l.ALERT)[0]),i},e.prototype._triggerCloseEvent=function(e){var n=t.Event(a.CLOSE);return t(e).trigger(n),n},e.prototype._removeElement=function(e){var n=this;if(t(e).removeClass(l.SHOW),!r.supportsTransitionEnd()||!t(e).hasClass(l.FADE))return void this._destroyElement(e);t(e).one(r.TRANSITION_END,function(t){return n._destroyElement(e,t)}).emulateTransitionEnd(150)},e.prototype._destroyElement=function(e){t(e).detach().trigger(a.CLOSED).remove()},e._jQueryInterface=function(n){return this.each(function(){var i=t(this),o=i.data("bs.alert");o||(o=new e(this),i.data("bs.alert",o)),"close"===n&&o[n](this)})},e._handleDismiss=function(t){return function(e){e&&e.preventDefault(),t.close(this)}},o(e,null,[{key:"VERSION",get:function(){return"4.0.0-alpha.6"}}]),e}();t(document).on(a.CLICK_DATA_API,s.DISMISS,h._handleDismiss(new h)),t.fn[e]=h._jQueryInterface,t.fn[e].Constructor=h,t.fn[e].noConflict=function(){return t.fn[e]=i,h._jQueryInterface},h}(jQuery),function(t){var e="button",i=t.fn[e],r={ACTIVE:"active",BUTTON:"btn",FOCUS:"focus"},s={DATA_TOGGLE_CARROT:'[data-toggle^="button"]',DATA_TOGGLE:'[data-toggle="buttons"]',INPUT:"input",ACTIVE:".active",BUTTON:".btn"},a={CLICK_DATA_API:"click.bs.button.data-api",FOCUS_BLUR_DATA_API:"focus.bs.button.data-api blur.bs.button.data-api"},l=function(){function e(t){n(this,e),this._element=t}return e.prototype.toggle=function(){var e=!0,n=t(this._element).closest(s.DATA_TOGGLE)[0];if(n){var i=t(this._element).find(s.INPUT)[0];if(i){if("radio"===i.type)if(i.checked&&t(this._element).hasClass(r.ACTIVE))e=!1;else{var o=t(n).find(s.ACTIVE)[0];o&&t(o).removeClass(r.ACTIVE)}e&&(i.checked=!t(this._element).hasClass(r.ACTIVE),t(i).trigger("change")),i.focus()}}this._element.setAttribute("aria-pressed",!t(this._element).hasClass(r.ACTIVE)),e&&t(this._element).toggleClass(r.ACTIVE)},e.prototype.dispose=function(){t.removeData(this._element,"bs.button"),this._element=null},e._jQueryInterface=function(n){return this.each(function(){var i=t(this).data("bs.button");i||(i=new e(this),t(this).data("bs.button",i)),"toggle"===n&&i[n]()})},o(e,null,[{key:"VERSION",get:function(){return"4.0.0-alpha.6"}}]),e}();t(document).on(a.CLICK_DATA_API,s.DATA_TOGGLE_CARROT,function(e){e.preventDefault();var n=e.target;t(n).hasClass(r.BUTTON)||(n=t(n).closest(s.BUTTON)),l._jQueryInterface.call(t(n),"toggle")}).on(a.FOCUS_BLUR_DATA_API,s.DATA_TOGGLE_CARROT,function(e){t(t(e.target).closest(s.BUTTON)[0]).toggleClass(r.FOCUS,/^focus(in)?$/.test(e.type))}),t.fn[e]=l._jQueryInterface,t.fn[e].Constructor=l,t.fn[e].noConflict=function(){return t.fn[e]=i,l._jQueryInterface},l}(jQuery),function(t){var e="carousel",s="bs.carousel",a="."+s,l=t.fn[e],h={interval:5e3,keyboard:!0,slide:!1,pause:"hover",wrap:!0},c={interval:"(number|boolean)",keyboard:"boolean",slide:"(boolean|string)",pause:"(string|boolean)",wrap:"boolean"},u={NEXT:"next",PREV:"prev",LEFT:"left",RIGHT:"right"},d={SLIDE:"slide"+a,SLID:"slid"+a,KEYDOWN:"keydown"+a,MOUSEENTER:"mouseenter"+a,MOUSELEAVE:"mouseleave"+a,LOAD_DATA_API:"load.bs.carousel.data-api",CLICK_DATA_API:"click.bs.carousel.data-api"},f={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"},_={ACTIVE:".active",ACTIVE_ITEM:".active.carousel-item",ITEM:".carousel-item",NEXT_PREV:".carousel-item-next, .carousel-item-prev",INDICATORS:".carousel-indicators",DATA_SLIDE:"[data-slide], [data-slide-to]",DATA_RIDE:'[data-ride="carousel"]'},g=function(){function l(e,i){n(this,l),this._items=null,this._interval=null,this._activeElement=null,this._isPaused=!1,this._isSliding=!1,this._config=this._getConfig(i),this._element=t(e)[0],this._indicatorsElement=t(this._element).find(_.INDICATORS)[0],this._addEventListeners()}return l.prototype.next=function(){if(this._isSliding)throw new Error("Carousel is sliding");this._slide(u.NEXT)},l.prototype.nextWhenVisible=function(){document.hidden||this.next()},l.prototype.prev=function(){if(this._isSliding)throw new Error("Carousel is sliding");this._slide(u.PREV)},l.prototype.pause=function(e){e||(this._isPaused=!0),t(this._element).find(_.NEXT_PREV)[0]&&r.supportsTransitionEnd()&&(r.triggerTransitionEnd(this._element),this.cycle(!0)),clearInterval(this._interval),this._interval=null},l.prototype.cycle=function(t){t||(this._isPaused=!1),this._interval&&(clearInterval(this._interval),this._interval=null),this._config.interval&&!this._isPaused&&(this._interval=setInterval((document.visibilityState?this.nextWhenVisible:this.next).bind(this),this._config.interval))},l.prototype.to=function(e){var n=this;this._activeElement=t(this._element).find(_.ACTIVE_ITEM)[0];var i=this._getItemIndex(this._activeElement);if(!(e>this._items.length-1||e<0)){if(this._isSliding)return void t(this._element).one(d.SLID,function(){return n.to(e)});if(i===e)return this.pause(),void this.cycle();var o=e>i?u.NEXT:u.PREV;this._slide(o,this._items[e])}},l.prototype.dispose=function(){t(this._element).off(a),t.removeData(this._element,s),this._items=null,this._config=null,this._element=null,this._interval=null,this._isPaused=null,this._isSliding=null,this._activeElement=null,this._indicatorsElement=null},l.prototype._getConfig=function(n){return n=t.extend({},h,n),r.typeCheckConfig(e,n,c),n},l.prototype._addEventListeners=function(){var e=this;this._config.keyboard&&t(this._element).on(d.KEYDOWN,function(t){return e._keydown(t)}),"hover"!==this._config.pause||"ontouchstart"in document.documentElement||t(this._element).on(d.MOUSEENTER,function(t){return e.pause(t)}).on(d.MOUSELEAVE,function(t){return e.cycle(t)})},l.prototype._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();break;default:return}},l.prototype._getItemIndex=function(e){return this._items=t.makeArray(t(e).parent().find(_.ITEM)),this._items.indexOf(e)},l.prototype._getItemByDirection=function(t,e){var n=t===u.NEXT,i=t===u.PREV,o=this._getItemIndex(e),r=this._items.length-1;if((i&&0===o||n&&o===r)&&!this._config.wrap)return e;var s=t===u.PREV?-1:1,a=(o+s)%this._items.length;return a===-1?this._items[this._items.length-1]:this._items[a]},l.prototype._triggerSlideEvent=function(e,n){var i=t.Event(d.SLIDE,{relatedTarget:e,direction:n});return t(this._element).trigger(i),i},l.prototype._setActiveIndicatorElement=function(e){if(this._indicatorsElement){t(this._indicatorsElement).find(_.ACTIVE).removeClass(f.ACTIVE);var n=this._indicatorsElement.children[this._getItemIndex(e)];n&&t(n).addClass(f.ACTIVE)}},l.prototype._slide=function(e,n){var i=this,o=t(this._element).find(_.ACTIVE_ITEM)[0],s=n||o&&this._getItemByDirection(e,o),a=Boolean(this._interval),l=void 0,h=void 0,c=void 0;if(e===u.NEXT?(l=f.LEFT,h=f.NEXT,c=u.LEFT):(l=f.RIGHT,h=f.PREV,c=u.RIGHT),s&&t(s).hasClass(f.ACTIVE))return void(this._isSliding=!1);if(!this._triggerSlideEvent(s,c).isDefaultPrevented()&&o&&s){this._isSliding=!0,a&&this.pause(),this._setActiveIndicatorElement(s);var g=t.Event(d.SLID,{relatedTarget:s,direction:c});r.supportsTransitionEnd()&&t(this._element).hasClass(f.SLIDE)?(t(s).addClass(h),r.reflow(s),t(o).addClass(l),t(s).addClass(l),t(o).one(r.TRANSITION_END,function(){t(s).removeClass(l+" "+h).addClass(f.ACTIVE),t(o).removeClass(f.ACTIVE+" "+h+" "+l),i._isSliding=!1,setTimeout(function(){return t(i._element).trigger(g)},0)}).emulateTransitionEnd(600)):(t(o).removeClass(f.ACTIVE),t(s).addClass(f.ACTIVE),this._isSliding=!1,t(this._element).trigger(g)),a&&this.cycle()}},l._jQueryInterface=function(e){return this.each(function(){var n=t(this).data(s),o=t.extend({},h,t(this).data());"object"===(void 0===e?"undefined":i(e))&&t.extend(o,e);var r="string"==typeof e?e:o.slide;if(n||(n=new l(this,o),t(this).data(s,n)),"number"==typeof e)n.to(e);else if("string"==typeof r){if(void 0===n[r])throw new Error('No method named "'+r+'"');n[r]()}else o.interval&&(n.pause(),n.cycle())})},l._dataApiClickHandler=function(e){var n=r.getSelectorFromElement(this);if(n){var i=t(n)[0];if(i&&t(i).hasClass(f.CAROUSEL)){var o=t.extend({},t(i).data(),t(this).data()),a=this.getAttribute("data-slide-to");a&&(o.interval=!1),l._jQueryInterface.call(t(i),o),a&&t(i).data(s).to(a),e.preventDefault()}}},o(l,null,[{key:"VERSION",get:function(){return"4.0.0-alpha.6"}},{key:"Default",get:function(){return h}}]),l}();t(document).on(d.CLICK_DATA_API,_.DATA_SLIDE,g._dataApiClickHandler),t(window).on(d.LOAD_DATA_API,function(){t(_.DATA_RIDE).each(function(){var e=t(this);g._jQueryInterface.call(e,e.data())})}),t.fn[e]=g._jQueryInterface,t.fn[e].Constructor=g,t.fn[e].noConflict=function(){return t.fn[e]=l,g._jQueryInterface},g}(jQuery),function(t){var e="collapse",s="bs.collapse",a=t.fn[e],l={toggle:!0,parent:""},h={toggle:"boolean",parent:"string"},c={SHOW:"show."+s,SHOWN:"shown."+s,HIDE:"hide."+s,HIDDEN:"hidden."+s,CLICK_DATA_API:"click.bs.collapse.data-api"},u={SHOW:"show",COLLAPSE:"collapse",COLLAPSING:"collapsing",COLLAPSED:"collapsed"},d={WIDTH:"width",HEIGHT:"height"},f={ACTIVES:".card > .show, .card > .collapsing",DATA_TOGGLE:'[data-toggle="collapse"]',DATA_CHILDREN:"data-children"},_=function(){function a(e,i){if(n(this,a),this._isTransitioning=!1,this._element=e,this._config=this._getConfig(i),this._triggerArray=t.makeArray(t('[data-toggle="collapse"][href="#'+e.id+'"],[data-toggle="collapse"][data-target="#'+e.id+'"]')),this._parent=this._config.parent?this._getParent():null,this._config.parent||this._addAriaAndCollapsedClass(this._element,this._triggerArray),this._selectorActives=f.ACTIVES,this._parent){var o=this._parent.hasAttribute(f.DATA_CHILDREN)?this._parent.getAttribute(f.DATA_CHILDREN):null;null!==o&&(this._selectorActives=o+" > .show, "+o+" > .collapsing")}this._config.toggle&&this.toggle()}return a.prototype.toggle=function(){t(this._element).hasClass(u.SHOW)?this.hide():this.show()},a.prototype.show=function(){var e=this;if(this._isTransitioning)throw new Error("Collapse is transitioning");if(!t(this._element).hasClass(u.SHOW)){var n=void 0,i=void 0;if(this._parent&&(n=t.makeArray(t(this._parent).find(this._selectorActives)),n.length||(n=null)),!(n&&(i=t(n).data(s))&&i._isTransitioning)){var o=t.Event(c.SHOW);if(t(this._element).trigger(o),!o.isDefaultPrevented()){n&&(a._jQueryInterface.call(t(n),"hide"),i||t(n).data(s,null));var l=this._getDimension();t(this._element).removeClass(u.COLLAPSE).addClass(u.COLLAPSING),this._element.style[l]=0,this._element.setAttribute("aria-expanded",!0),this._triggerArray.length&&t(this._triggerArray).removeClass(u.COLLAPSED).attr("aria-expanded",!0),this.setTransitioning(!0);var h=function(){t(e._element).removeClass(u.COLLAPSING).addClass(u.COLLAPSE).addClass(u.SHOW),e._element.style[l]="",e.setTransitioning(!1),t(e._element).trigger(c.SHOWN)};if(!r.supportsTransitionEnd())return void h();var d=l[0].toUpperCase()+l.slice(1),f="scroll"+d;t(this._element).one(r.TRANSITION_END,h).emulateTransitionEnd(600),this._element.style[l]=this._element[f]+"px"}}}},a.prototype.hide=function(){var e=this;if(this._isTransitioning)throw new Error("Collapse is transitioning");if(t(this._element).hasClass(u.SHOW)){var n=t.Event(c.HIDE);if(t(this._element).trigger(n),!n.isDefaultPrevented()){var i=this._getDimension();this._element.style[i]=this._element.getBoundingClientRect()[i]+"px",r.reflow(this._element),t(this._element).addClass(u.COLLAPSING).removeClass(u.COLLAPSE).removeClass(u.SHOW),this._element.setAttribute("aria-expanded",!1),this._triggerArray.length&&t(this._triggerArray).addClass(u.COLLAPSED).attr("aria-expanded",!1),this.setTransitioning(!0);var o=function(){e.setTransitioning(!1),t(e._element).removeClass(u.COLLAPSING).addClass(u.COLLAPSE).trigger(c.HIDDEN)};if(this._element.style[i]="",!r.supportsTransitionEnd())return void o();t(this._element).one(r.TRANSITION_END,o).emulateTransitionEnd(600)}}},a.prototype.setTransitioning=function(t){this._isTransitioning=t},a.prototype.dispose=function(){t.removeData(this._element,s),this._config=null,this._parent=null,this._element=null,this._triggerArray=null,this._isTransitioning=null},a.prototype._getConfig=function(n){return n=t.extend({},l,n),n.toggle=Boolean(n.toggle),r.typeCheckConfig(e,n,h),n},a.prototype._getDimension=function(){return t(this._element).hasClass(d.WIDTH)?d.WIDTH:d.HEIGHT},a.prototype._getParent=function(){var e=this,n=t(this._config.parent)[0],i='[data-toggle="collapse"][data-parent="'+this._config.parent+'"]';return t(n).find(i).each(function(t,n){e._addAriaAndCollapsedClass(a._getTargetFromElement(n),[n])}),n},a.prototype._addAriaAndCollapsedClass=function(e,n){if(e){var i=t(e).hasClass(u.SHOW);e.setAttribute("aria-expanded",i),n.length&&t(n).toggleClass(u.COLLAPSED,!i).attr("aria-expanded",i)}},a._getTargetFromElement=function(e){var n=r.getSelectorFromElement(e);return n?t(n)[0]:null},a._jQueryInterface=function(e){return this.each(function(){var n=t(this),o=n.data(s),r=t.extend({},l,n.data(),"object"===(void 0===e?"undefined":i(e))&&e);if(!o&&r.toggle&&/show|hide/.test(e)&&(r.toggle=!1),o||(o=new a(this,r),n.data(s,o)),"string"==typeof e){if(void 0===o[e])throw new Error('No method named "'+e+'"');o[e]()}})},o(a,null,[{key:"VERSION",get:function(){return"4.0.0-alpha.6"}},{key:"Default",get:function(){return l}}]),a}();t(document).on(c.CLICK_DATA_API,f.DATA_TOGGLE,function(e){e.preventDefault();var n=_._getTargetFromElement(this),i=t(n).data(s),o=i?"toggle":t(this).data();_._jQueryInterface.call(t(n),o)}),t.fn[e]=_._jQueryInterface,t.fn[e].Constructor=_,t.fn[e].noConflict=function(){return t.fn[e]=a,_._jQueryInterface},_}(jQuery),function(t){var e="dropdown",i=".bs.dropdown",s=t.fn[e],a=new RegExp("38|40|27|32"),l={HIDE:"hide"+i,HIDDEN:"hidden"+i,SHOW:"show"+i,SHOWN:"shown"+i,CLICK:"click"+i,CLICK_DATA_API:"click.bs.dropdown.data-api",FOCUSIN_DATA_API:"focusin.bs.dropdown.data-api",KEYDOWN_DATA_API:"keydown.bs.dropdown.data-api"},h={BACKDROP:"dropdown-backdrop",DISABLED:"disabled",SHOW:"show"},c={BACKDROP:".dropdown-backdrop",DATA_TOGGLE:'[data-toggle="dropdown"]',FORM_CHILD:".dropdown form",ROLE_MENU:'[role="menu"]',ROLE_LISTBOX:'[role="listbox"]',NAVBAR_NAV:".navbar-nav",VISIBLE_ITEMS:'[role="menu"] li:not(.disabled) a, [role="listbox"] li:not(.disabled) a'},u=function(){function e(t){n(this,e),this._element=t,this._addEventListeners()}return e.prototype.toggle=function(){if(this.disabled||t(this).hasClass(h.DISABLED))return!1;var n=e._getParentFromElement(this),i=t(n).hasClass(h.SHOW);if(e._clearMenus(),i)return!1;var o={relatedTarget:this},r=t.Event(l.SHOW,o);if(t(n).trigger(r),r.isDefaultPrevented())return!1;if("ontouchstart"in document.documentElement&&!t(n).closest(c.NAVBAR_NAV).length){var s=document.createElement("div");s.className=h.BACKDROP,t(s).insertBefore(this),t(s).on("click",e._clearMenus)}return this.focus(),this.setAttribute("aria-expanded",!0),t(n).toggleClass(h.SHOW),t(n).trigger(t.Event(l.SHOWN,o)),!1},e.prototype.dispose=function(){t.removeData(this._element,"bs.dropdown"),t(this._element).off(i),this._element=null},e.prototype._addEventListeners=function(){t(this._element).on(l.CLICK,this.toggle)},e._jQueryInterface=function(n){return this.each(function(){var i=t(this).data("bs.dropdown");if(i||(i=new e(this),t(this).data("bs.dropdown",i)),"string"==typeof n){if(void 0===i[n])throw new Error('No method named "'+n+'"');i[n].call(this)}})},e._clearMenus=function(n){if(!n||3!==n.which)for(var i=t.makeArray(t(c.DATA_TOGGLE)),o=0;o<i.length;o++){var r=e._getParentFromElement(i[o]),s={relatedTarget:i[o]};if(t(r).hasClass(h.SHOW)&&!(n&&("click"===n.type&&/input|textarea/i.test(n.target.tagName)||"focusin"===n.type)&&t.contains(r,n.target))){var a=t.Event(l.HIDE,s);if(t(r).trigger(a),!a.isDefaultPrevented()){var u=t(r).find(c.BACKDROP)[0];u&&u.parentNode.removeChild(u),i[o].setAttribute("aria-expanded","false"),t(r).removeClass(h.SHOW).trigger(t.Event(l.HIDDEN,s))}}}},e._getParentFromElement=function(e){var n=void 0,i=r.getSelectorFromElement(e);return i&&(n=t(i)[0]),n||e.parentNode},e._dataApiKeydownHandler=function(n){if(a.test(n.which)&&!/input|textarea/i.test(n.target.tagName)&&(n.preventDefault(),n.stopPropagation(),!this.disabled&&!t(this).hasClass(h.DISABLED))){var i=e._getParentFromElement(this),o=t(i).hasClass(h.SHOW);if(!o&&27!==n.which||o&&27===n.which){if(27===n.which){t(t(i).find(c.DATA_TOGGLE)[0]).trigger("focus")}return void t(this).trigger("click")}var r=t(i).find(c.VISIBLE_ITEMS).get();if(r.length){var s=r.indexOf(n.target);38===n.which&&s>0&&s--,40===n.which&&s<r.length-1&&s++,s<0&&(s=0),r[s].focus()}}},o(e,null,[{key:"VERSION",get:function(){return"4.0.0-alpha.6"}}]),e}();t(document).on(l.KEYDOWN_DATA_API,c.DATA_TOGGLE,u._dataApiKeydownHandler).on(l.KEYDOWN_DATA_API,c.ROLE_MENU,u._dataApiKeydownHandler).on(l.KEYDOWN_DATA_API,c.ROLE_LISTBOX,u._dataApiKeydownHandler).on(l.CLICK_DATA_API+" "+l.FOCUSIN_DATA_API,u._clearMenus).on(l.CLICK_DATA_API,c.DATA_TOGGLE,u.prototype.toggle).on(l.CLICK_DATA_API,c.FORM_CHILD,function(t){t.stopPropagation()}),t.fn[e]=u._jQueryInterface,t.fn[e].Constructor=u,t.fn[e].noConflict=function(){return t.fn[e]=s,u._jQueryInterface},u}(jQuery),function(t){var e="modal",s=".bs.modal",a=t.fn[e],l={backdrop:!0,keyboard:!0,focus:!0,show:!0},h={backdrop:"(boolean|string)",keyboard:"boolean",focus:"boolean",show:"boolean"},c={HIDE:"hide.bs.modal",HIDDEN:"hidden.bs.modal",SHOW:"show.bs.modal",SHOWN:"shown.bs.modal",FOCUSIN:"focusin.bs.modal",RESIZE:"resize.bs.modal",CLICK_DISMISS:"click.dismiss.bs.modal",KEYDOWN_DISMISS:"keydown.dismiss.bs.modal",MOUSEUP_DISMISS:"mouseup.dismiss.bs.modal",MOUSEDOWN_DISMISS:"mousedown.dismiss.bs.modal",CLICK_DATA_API:"click.bs.modal.data-api"},u={SCROLLBAR_MEASURER:"modal-scrollbar-measure",BACKDROP:"modal-backdrop",OPEN:"modal-open",FADE:"fade",SHOW:"show"},d={DIALOG:".modal-dialog",DATA_TOGGLE:'[data-toggle="modal"]',DATA_DISMISS:'[data-dismiss="modal"]',FIXED_CONTENT:".fixed-top, .fixed-bottom, .is-fixed, .sticky-top"},f=function(){function a(e,i){n(this,a),this._config=this._getConfig(i),this._element=e,this._dialog=t(e).find(d.DIALOG)[0],this._backdrop=null,this._isShown=!1,this._isBodyOverflowing=!1,this._ignoreBackdropClick=!1,this._isTransitioning=!1,this._originalBodyPadding=0,this._scrollbarWidth=0}return a.prototype.toggle=function(t){return this._isShown?this.hide():this.show(t)},a.prototype.show=function(e){var n=this;if(this._isTransitioning)throw new Error("Modal is transitioning");r.supportsTransitionEnd()&&t(this._element).hasClass(u.FADE)&&(this._isTransitioning=!0);var i=t.Event(c.SHOW,{relatedTarget:e});t(this._element).trigger(i),this._isShown||i.isDefaultPrevented()||(this._isShown=!0,this._checkScrollbar(),this._setScrollbar(),t(document.body).addClass(u.OPEN),this._setEscapeEvent(),this._setResizeEvent(),t(this._element).on(c.CLICK_DISMISS,d.DATA_DISMISS,function(t){return n.hide(t)}),t(this._dialog).on(c.MOUSEDOWN_DISMISS,function(){t(n._element).one(c.MOUSEUP_DISMISS,function(e){t(e.target).is(n._element)&&(n._ignoreBackdropClick=!0)})}),this._showBackdrop(function(){return n._showElement(e)}))},a.prototype.hide=function(e){var n=this;if(e&&e.preventDefault(),this._isTransitioning)throw new Error("Modal is transitioning");var i=r.supportsTransitionEnd()&&t(this._element).hasClass(u.FADE);i&&(this._isTransitioning=!0);var o=t.Event(c.HIDE);t(this._element).trigger(o),this._isShown&&!o.isDefaultPrevented()&&(this._isShown=!1,this._setEscapeEvent(),this._setResizeEvent(),t(document).off(c.FOCUSIN),t(this._element).removeClass(u.SHOW),t(this._element).off(c.CLICK_DISMISS),t(this._dialog).off(c.MOUSEDOWN_DISMISS),i?t(this._element).one(r.TRANSITION_END,function(t){return n._hideModal(t)}).emulateTransitionEnd(300):this._hideModal())},a.prototype.dispose=function(){t.removeData(this._element,"bs.modal"),t(window,document,this._element,this._backdrop).off(s),this._config=null,this._element=null,this._dialog=null,this._backdrop=null,this._isShown=null,this._isBodyOverflowing=null,this._ignoreBackdropClick=null,this._originalBodyPadding=null,this._scrollbarWidth=null},a.prototype._getConfig=function(n){return n=t.extend({},l,n),r.typeCheckConfig(e,n,h),n},a.prototype._showElement=function(e){var n=this,i=r.supportsTransitionEnd()&&t(this._element).hasClass(u.FADE);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.scrollTop=0,i&&r.reflow(this._element),t(this._element).addClass(u.SHOW),this._config.focus&&this._enforceFocus();var o=t.Event(c.SHOWN,{relatedTarget:e}),s=function(){n._config.focus&&n._element.focus(),n._isTransitioning=!1,t(n._element).trigger(o)};i?t(this._dialog).one(r.TRANSITION_END,s).emulateTransitionEnd(300):s()},a.prototype._enforceFocus=function(){var e=this;t(document).off(c.FOCUSIN).on(c.FOCUSIN,function(n){document===n.target||e._element===n.target||t(e._element).has(n.target).length||e._element.focus()})},a.prototype._setEscapeEvent=function(){var e=this;this._isShown&&this._config.keyboard?t(this._element).on(c.KEYDOWN_DISMISS,function(t){27===t.which&&e.hide()}):this._isShown||t(this._element).off(c.KEYDOWN_DISMISS)},a.prototype._setResizeEvent=function(){var e=this;this._isShown?t(window).on(c.RESIZE,function(t){return e._handleUpdate(t)}):t(window).off(c.RESIZE)},a.prototype._hideModal=function(){var e=this;this._element.style.display="none",this._element.setAttribute("aria-hidden","true"),this._isTransitioning=!1,this._showBackdrop(function(){t(document.body).removeClass(u.OPEN),e._resetAdjustments(),e._resetScrollbar(),t(e._element).trigger(c.HIDDEN)})},a.prototype._removeBackdrop=function(){this._backdrop&&(t(this._backdrop).remove(),this._backdrop=null)},a.prototype._showBackdrop=function(e){var n=this,i=t(this._element).hasClass(u.FADE)?u.FADE:"";if(this._isShown&&this._config.backdrop){var o=r.supportsTransitionEnd()&&i;if(this._backdrop=document.createElement("div"),this._backdrop.className=u.BACKDROP,i&&t(this._backdrop).addClass(i),t(this._backdrop).appendTo(document.body),t(this._element).on(c.CLICK_DISMISS,function(t){if(n._ignoreBackdropClick)return void(n._ignoreBackdropClick=!1);t.target===t.currentTarget&&("static"===n._config.backdrop?n._element.focus():n.hide())}),o&&r.reflow(this._backdrop),t(this._backdrop).addClass(u.SHOW),!e)return;if(!o)return void e();t(this._backdrop).one(r.TRANSITION_END,e).emulateTransitionEnd(150)}else if(!this._isShown&&this._backdrop){t(this._backdrop).removeClass(u.SHOW);var s=function(){n._removeBackdrop(),e&&e()};r.supportsTransitionEnd()&&t(this._element).hasClass(u.FADE)?t(this._backdrop).one(r.TRANSITION_END,s).emulateTransitionEnd(150):s()}else e&&e()},a.prototype._handleUpdate=function(){this._adjustDialog()},a.prototype._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")},a.prototype._resetAdjustments=function(){this._element.style.paddingLeft="",this._element.style.paddingRight=""},a.prototype._checkScrollbar=function(){this._isBodyOverflowing=document.body.clientWidth<window.innerWidth,this._scrollbarWidth=this._getScrollbarWidth()},a.prototype._setScrollbar=function(){var e=parseInt(t(d.FIXED_CONTENT).css("padding-right")||0,10);this._originalBodyPadding=document.body.style.paddingRight||"",this._isBodyOverflowing&&(document.body.style.paddingRight=e+this._scrollbarWidth+"px")},a.prototype._resetScrollbar=function(){document.body.style.paddingRight=this._originalBodyPadding},a.prototype._getScrollbarWidth=function(){var t=document.createElement("div");t.className=u.SCROLLBAR_MEASURER,document.body.appendChild(t);var e=t.getBoundingClientRect().width-t.clientWidth;return document.body.removeChild(t),e},a._jQueryInterface=function(e,n){return this.each(function(){var o=t(this).data("bs.modal"),r=t.extend({},a.Default,t(this).data(),"object"===(void 0===e?"undefined":i(e))&&e);if(o||(o=new a(this,r),t(this).data("bs.modal",o)),"string"==typeof e){if(void 0===o[e])throw new Error('No method named "'+e+'"');o[e](n)}else r.show&&o.show(n)})},o(a,null,[{key:"VERSION",get:function(){return"4.0.0-alpha.6"}},{key:"Default",get:function(){return l}}]),a}();t(document).on(c.CLICK_DATA_API,d.DATA_TOGGLE,function(e){var n=this,i=void 0,o=r.getSelectorFromElement(this);o&&(i=t(o)[0]);var s=t(i).data("bs.modal")?"toggle":t.extend({},t(i).data(),t(this).data());"A"!==this.tagName&&"AREA"!==this.tagName||e.preventDefault();var a=t(i).one(c.SHOW,function(e){e.isDefaultPrevented()||a.one(c.HIDDEN,function(){t(n).is(":visible")&&n.focus()})});f._jQueryInterface.call(t(i),s,this)}),t.fn[e]=f._jQueryInterface,t.fn[e].Constructor=f,t.fn[e].noConflict=function(){return t.fn[e]=a,f._jQueryInterface},f}(jQuery),function(t){var e="scrollspy",s=t.fn[e],a={offset:10,method:"auto",target:""},l={offset:"number",method:"string",target:"(string|element)"},h={ACTIVATE:"activate.bs.scrollspy",SCROLL:"scroll.bs.scrollspy",LOAD_DATA_API:"load.bs.scrollspy.data-api"},c={DROPDOWN_ITEM:"dropdown-item",DROPDOWN_MENU:"dropdown-menu",NAV_LINK:"nav-link",NAV:"nav",ACTIVE:"active"},u={DATA_SPY:'[data-spy="scroll"]',ACTIVE:".active",LIST_ITEM:".list-item",LI:"li",LI_DROPDOWN:"li.dropdown",NAV_LINKS:".nav-link",DROPDOWN:".dropdown",DROPDOWN_ITEMS:".dropdown-item",DROPDOWN_TOGGLE:".dropdown-toggle"},d={OFFSET:"offset",POSITION:"position"},f=function(){function s(e,i){var o=this;n(this,s),this._element=e,this._scrollElement="BODY"===e.tagName?window:e,this._config=this._getConfig(i),this._selector=this._config.target+" "+u.NAV_LINKS+","+this._config.target+" "+u.DROPDOWN_ITEMS,this._offsets=[],this._targets=[],this._activeTarget=null,this._scrollHeight=0,t(this._scrollElement).on(h.SCROLL,function(t){return o._process(t)}),this.refresh(),this._process()}return s.prototype.refresh=function(){var e=this,n=this._scrollElement!==this._scrollElement.window?d.POSITION:d.OFFSET,i="auto"===this._config.method?n:this._config.method,o=i===d.POSITION?this._getScrollTop():0;this._offsets=[],this._targets=[],this._scrollHeight=this._getScrollHeight(),t.makeArray(t(this._selector)).map(function(e){var n=void 0,s=r.getSelectorFromElement(e);if(s&&(n=t(s)[0]),n){var a=n.getBoundingClientRect();if(a.width||a.height)return[t(n)[i]().top+o,s]}return null}).filter(function(t){return t}).sort(function(t,e){return t[0]-e[0]}).forEach(function(t){e._offsets.push(t[0]),e._targets.push(t[1])})},s.prototype.dispose=function(){t.removeData(this._element,"bs.scrollspy"),t(this._scrollElement).off(".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},s.prototype._getConfig=function(n){if(n=t.extend({},a,n),"string"!=typeof n.target){var i=t(n.target).attr("id");i||(i=r.getUID(e),t(n.target).attr("id",i)),n.target="#"+i}return r.typeCheckConfig(e,n,l),n},s.prototype._getScrollTop=function(){return this._scrollElement===window?this._scrollElement.pageYOffset:this._scrollElement.scrollTop},s.prototype._getScrollHeight=function(){return this._scrollElement.scrollHeight||Math.max(document.body.scrollHeight,document.documentElement.scrollHeight)},s.prototype._getOffsetHeight=function(){return this._scrollElement===window?window.innerHeight:this._scrollElement.getBoundingClientRect().height},s.prototype._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];return void(this._activeTarget!==i&&this._activate(i))}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])}},s.prototype._activate=function(e){this._activeTarget=e,this._clear();var n=this._selector.split(",");n=n.map(function(t){return t+'[data-target="'+e+'"],'+t+'[href="'+e+'"]'});var i=t(n.join(","))
+;i.hasClass(c.DROPDOWN_ITEM)?(i.closest(u.DROPDOWN).find(u.DROPDOWN_TOGGLE).addClass(c.ACTIVE),i.addClass(c.ACTIVE)):i.parents(u.LI).find("> "+u.NAV_LINKS).addClass(c.ACTIVE),t(this._scrollElement).trigger(h.ACTIVATE,{relatedTarget:e})},s.prototype._clear=function(){t(this._selector).filter(u.ACTIVE).removeClass(c.ACTIVE)},s._jQueryInterface=function(e){return this.each(function(){var n=t(this).data("bs.scrollspy"),o="object"===(void 0===e?"undefined":i(e))&&e;if(n||(n=new s(this,o),t(this).data("bs.scrollspy",n)),"string"==typeof e){if(void 0===n[e])throw new Error('No method named "'+e+'"');n[e]()}})},o(s,null,[{key:"VERSION",get:function(){return"4.0.0-alpha.6"}},{key:"Default",get:function(){return a}}]),s}();t(window).on(h.LOAD_DATA_API,function(){for(var e=t.makeArray(t(u.DATA_SPY)),n=e.length;n--;){var i=t(e[n]);f._jQueryInterface.call(i,i.data())}}),t.fn[e]=f._jQueryInterface,t.fn[e].Constructor=f,t.fn[e].noConflict=function(){return t.fn[e]=s,f._jQueryInterface},f}(jQuery),function(t){var e=t.fn.tab,i={HIDE:"hide.bs.tab",HIDDEN:"hidden.bs.tab",SHOW:"show.bs.tab",SHOWN:"shown.bs.tab",CLICK_DATA_API:"click.bs.tab.data-api"},s={DROPDOWN_MENU:"dropdown-menu",ACTIVE:"active",DISABLED:"disabled",FADE:"fade",SHOW:"show"},a={A:"a",LI:"li",DROPDOWN:".dropdown",LIST:"ul:not(.dropdown-menu), ol:not(.dropdown-menu), nav:not(.dropdown-menu), .list-group:not(.dropdown-menu)",FADE_CHILD:"> .nav-item .fade, > .list-group-item .fade, > .fade",ACTIVE:".active",ACTIVE_CHILD:"> .nav-item > .active, > .list-group-item > .active, > .active",DATA_TOGGLE:'[data-toggle="tab"], [data-toggle="pill"]',DROPDOWN_TOGGLE:".dropdown-toggle",DROPDOWN_ACTIVE_CHILD:"> .dropdown-menu .active"},l=function(){function e(t){n(this,e),this._element=t}return e.prototype.show=function(){var e=this;if(!(this._element.parentNode&&this._element.parentNode.nodeType===Node.ELEMENT_NODE&&t(this._element).hasClass(s.ACTIVE)||t(this._element).hasClass(s.DISABLED))){var n=void 0,o=void 0,l=t(this._element).closest(a.LIST)[0],h=r.getSelectorFromElement(this._element);l&&(o=t.makeArray(t(l).find(a.ACTIVE)),o=o[o.length-1]);var c=t.Event(i.HIDE,{relatedTarget:this._element}),u=t.Event(i.SHOW,{relatedTarget:o});if(o&&t(o).trigger(c),t(this._element).trigger(u),!u.isDefaultPrevented()&&!c.isDefaultPrevented()){h&&(n=t(h)[0]),this._activate(this._element,l);var d=function(){var n=t.Event(i.HIDDEN,{relatedTarget:e._element}),r=t.Event(i.SHOWN,{relatedTarget:o});t(o).trigger(n),t(e._element).trigger(r)};n?this._activate(n,n.parentNode,d):d()}}},e.prototype.dispose=function(){t.removeClass(this._element,"bs.tab"),this._element=null},e.prototype._activate=function(e,n,i){var o=this,l=t(n).find(a.ACTIVE_CHILD)[0],h=i&&r.supportsTransitionEnd()&&(l&&t(l).hasClass(s.FADE)||Boolean(t(n).find(a.FADE_CHILD)[0])),c=function(){return o._transitionComplete(e,l,h,i)};l&&h?t(l).one(r.TRANSITION_END,c).emulateTransitionEnd(150):c(),l&&t(l).removeClass(s.SHOW)},e.prototype._transitionComplete=function(e,n,i,o){if(n){t(n).removeClass(s.ACTIVE),t(n).hasClass("list-group-item")&&t(n).find("a.nav-link").removeClass(s.ACTIVE);var l=t(n.parentNode).find(a.DROPDOWN_ACTIVE_CHILD)[0];l&&t(l).removeClass(s.ACTIVE),n.setAttribute("aria-expanded",!1)}if(t(e).addClass(s.ACTIVE),t(e.parentNode).hasClass("list-group-item")&&t(e.parentNode).addClass(s.ACTIVE),e.setAttribute("aria-expanded",!0),i?(r.reflow(e),t(e).addClass(s.SHOW)):t(e).removeClass(s.FADE),e.parentNode&&t(e.parentNode).hasClass(s.DROPDOWN_MENU)){var h=t(e).closest(a.DROPDOWN)[0];h&&t(h).find(a.DROPDOWN_TOGGLE).addClass(s.ACTIVE),e.setAttribute("aria-expanded",!0)}o&&o()},e._jQueryInterface=function(n){return this.each(function(){var i=t(this),o=i.data("bs.tab");if(o||(o=new e(this),i.data("bs.tab",o)),"string"==typeof n){if(void 0===o[n])throw new Error('No method named "'+n+'"');o[n]()}})},o(e,null,[{key:"VERSION",get:function(){return"4.0.0-alpha.6"}}]),e}();t(document).on(i.CLICK_DATA_API,a.DATA_TOGGLE,function(e){e.preventDefault(),l._jQueryInterface.call(t(this),"show")}),t.fn.tab=l._jQueryInterface,t.fn.tab.Constructor=l,t.fn.tab.noConflict=function(){return t.fn.tab=e,l._jQueryInterface},l}(jQuery),function(t){if("undefined"==typeof Tether)throw new Error("Bootstrap tooltips require Tether (http://tether.io/)");var e="tooltip",s=".bs.tooltip",a=t.fn[e],l={animation:!0,template:'<div class="tooltip" role="tooltip"><div class="tooltip-inner"></div></div>',trigger:"hover focus",title:"",delay:0,html:!1,selector:!1,placement:"top",offset:"0 0",constraints:[],container:!1},h={animation:"boolean",template:"string",title:"(string|element|function)",trigger:"string",delay:"(number|object)",html:"boolean",selector:"(string|boolean)",placement:"(string|function)",offset:"string",constraints:"array",container:"(string|element|boolean)"},c={TOP:"bottom center",RIGHT:"middle left",BOTTOM:"top center",LEFT:"middle right"},u={SHOW:"show",OUT:"out"},d={HIDE:"hide"+s,HIDDEN:"hidden"+s,SHOW:"show"+s,SHOWN:"shown"+s,INSERTED:"inserted"+s,CLICK:"click"+s,FOCUSIN:"focusin"+s,FOCUSOUT:"focusout"+s,MOUSEENTER:"mouseenter"+s,MOUSELEAVE:"mouseleave"+s},f={FADE:"fade",SHOW:"show"},_={TOOLTIP:".tooltip",TOOLTIP_INNER:".tooltip-inner"},g={element:!1,enabled:!1},p={HOVER:"hover",FOCUS:"focus",CLICK:"click",MANUAL:"manual"},m=function(){function a(t,e){n(this,a),this._isEnabled=!0,this._timeout=0,this._hoverState="",this._activeTrigger={},this._isTransitioning=!1,this._tether=null,this.element=t,this.config=this._getConfig(e),this.tip=null,this._setListeners()}return a.prototype.enable=function(){this._isEnabled=!0},a.prototype.disable=function(){this._isEnabled=!1},a.prototype.toggleEnabled=function(){this._isEnabled=!this._isEnabled},a.prototype.toggle=function(e){if(e){var n=this.constructor.DATA_KEY,i=t(e.currentTarget).data(n);i||(i=new this.constructor(e.currentTarget,this._getDelegateConfig()),t(e.currentTarget).data(n,i)),i._activeTrigger.click=!i._activeTrigger.click,i._isWithActiveTrigger()?i._enter(null,i):i._leave(null,i)}else{if(t(this.getTipElement()).hasClass(f.SHOW))return void this._leave(null,this);this._enter(null,this)}},a.prototype.dispose=function(){clearTimeout(this._timeout),this.cleanupTether(),t.removeData(this.element,this.constructor.DATA_KEY),t(this.element).off(this.constructor.EVENT_KEY),t(this.element).closest(".modal").off("hide.bs.modal"),this.tip&&t(this.tip).remove(),this._isEnabled=null,this._timeout=null,this._hoverState=null,this._activeTrigger=null,this._tether=null,this.element=null,this.config=null,this.tip=null},a.prototype.show=function(){var e=this;if("none"===t(this.element).css("display"))throw new Error("Please use show on visible elements");var n=t.Event(this.constructor.Event.SHOW);if(this.isWithContent()&&this._isEnabled){if(this._isTransitioning)throw new Error("Tooltip is transitioning");t(this.element).trigger(n);var i=t.contains(this.element.ownerDocument.documentElement,this.element);if(n.isDefaultPrevented()||!i)return;var o=this.getTipElement(),s=r.getUID(this.constructor.NAME);o.setAttribute("id",s),this.element.setAttribute("aria-describedby",s),this.setContent(),this.config.animation&&t(o).addClass(f.FADE);var l="function"==typeof this.config.placement?this.config.placement.call(this,o,this.element):this.config.placement,h=this._getAttachment(l),c=this.config.container===!1?document.body:t(this.config.container);t(o).data(this.constructor.DATA_KEY,this).appendTo(c),t(this.element).trigger(this.constructor.Event.INSERTED),this._tether=new Tether({attachment:h,element:o,target:this.element,classes:g,classPrefix:"bs-tether",offset:this.config.offset,constraints:this.config.constraints,addTargetClasses:!1}),r.reflow(o),this._tether.position(),t(o).addClass(f.SHOW);var d=function(){var n=e._hoverState;e._hoverState=null,e._isTransitioning=!1,t(e.element).trigger(e.constructor.Event.SHOWN),n===u.OUT&&e._leave(null,e)};if(r.supportsTransitionEnd()&&t(this.tip).hasClass(f.FADE))return this._isTransitioning=!0,void t(this.tip).one(r.TRANSITION_END,d).emulateTransitionEnd(a._TRANSITION_DURATION);d()}},a.prototype.hide=function(e){var n=this,i=this.getTipElement(),o=t.Event(this.constructor.Event.HIDE);if(this._isTransitioning)throw new Error("Tooltip is transitioning");var s=function(){n._hoverState!==u.SHOW&&i.parentNode&&i.parentNode.removeChild(i),n.element.removeAttribute("aria-describedby"),t(n.element).trigger(n.constructor.Event.HIDDEN),n._isTransitioning=!1,n.cleanupTether(),e&&e()};t(this.element).trigger(o),o.isDefaultPrevented()||(t(i).removeClass(f.SHOW),this._activeTrigger[p.CLICK]=!1,this._activeTrigger[p.FOCUS]=!1,this._activeTrigger[p.HOVER]=!1,r.supportsTransitionEnd()&&t(this.tip).hasClass(f.FADE)?(this._isTransitioning=!0,t(i).one(r.TRANSITION_END,s).emulateTransitionEnd(150)):s(),this._hoverState="")},a.prototype.isWithContent=function(){return Boolean(this.getTitle())},a.prototype.getTipElement=function(){return this.tip=this.tip||t(this.config.template)[0]},a.prototype.setContent=function(){var e=t(this.getTipElement());this.setElementContent(e.find(_.TOOLTIP_INNER),this.getTitle()),e.removeClass(f.FADE+" "+f.SHOW),this.cleanupTether()},a.prototype.setElementContent=function(e,n){var o=this.config.html;"object"===(void 0===n?"undefined":i(n))&&(n.nodeType||n.jquery)?o?t(n).parent().is(e)||e.empty().append(n):e.text(t(n).text()):e[o?"html":"text"](n)},a.prototype.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},a.prototype.cleanupTether=function(){this._tether&&this._tether.destroy()},a.prototype._getAttachment=function(t){return c[t.toUpperCase()]},a.prototype._setListeners=function(){var e=this;this.config.trigger.split(" ").forEach(function(n){if("click"===n)t(e.element).on(e.constructor.Event.CLICK,e.config.selector,function(t){return e.toggle(t)});else if(n!==p.MANUAL){var i=n===p.HOVER?e.constructor.Event.MOUSEENTER:e.constructor.Event.FOCUSIN,o=n===p.HOVER?e.constructor.Event.MOUSELEAVE:e.constructor.Event.FOCUSOUT;t(e.element).on(i,e.config.selector,function(t){return e._enter(t)}).on(o,e.config.selector,function(t){return e._leave(t)})}t(e.element).closest(".modal").on("hide.bs.modal",function(){return e.hide()})}),this.config.selector?this.config=t.extend({},this.config,{trigger:"manual",selector:""}):this._fixTitle()},a.prototype._fixTitle=function(){var t=i(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",""))},a.prototype._enter=function(e,n){var i=this.constructor.DATA_KEY;return n=n||t(e.currentTarget).data(i),n||(n=new this.constructor(e.currentTarget,this._getDelegateConfig()),t(e.currentTarget).data(i,n)),e&&(n._activeTrigger["focusin"===e.type?p.FOCUS:p.HOVER]=!0),t(n.getTipElement()).hasClass(f.SHOW)||n._hoverState===u.SHOW?void(n._hoverState=u.SHOW):(clearTimeout(n._timeout),n._hoverState=u.SHOW,n.config.delay&&n.config.delay.show?void(n._timeout=setTimeout(function(){n._hoverState===u.SHOW&&n.show()},n.config.delay.show)):void n.show())},a.prototype._leave=function(e,n){var i=this.constructor.DATA_KEY;if(n=n||t(e.currentTarget).data(i),n||(n=new this.constructor(e.currentTarget,this._getDelegateConfig()),t(e.currentTarget).data(i,n)),e&&(n._activeTrigger["focusout"===e.type?p.FOCUS:p.HOVER]=!1),!n._isWithActiveTrigger()){if(clearTimeout(n._timeout),n._hoverState=u.OUT,!n.config.delay||!n.config.delay.hide)return void n.hide();n._timeout=setTimeout(function(){n._hoverState===u.OUT&&n.hide()},n.config.delay.hide)}},a.prototype._isWithActiveTrigger=function(){for(var t in this._activeTrigger)if(this._activeTrigger[t])return!0;return!1},a.prototype._getConfig=function(n){return n=t.extend({},this.constructor.Default,t(this.element).data(),n),n.delay&&"number"==typeof n.delay&&(n.delay={show:n.delay,hide:n.delay}),r.typeCheckConfig(e,n,this.constructor.DefaultType),n},a.prototype._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},a._jQueryInterface=function(e){return this.each(function(){var n=t(this).data("bs.tooltip"),o="object"===(void 0===e?"undefined":i(e))&&e;if((n||!/dispose|hide/.test(e))&&(n||(n=new a(this,o),t(this).data("bs.tooltip",n)),"string"==typeof e)){if(void 0===n[e])throw new Error('No method named "'+e+'"');n[e]()}})},o(a,null,[{key:"VERSION",get:function(){return"4.0.0-alpha.6"}},{key:"Default",get:function(){return l}},{key:"NAME",get:function(){return e}},{key:"DATA_KEY",get:function(){return"bs.tooltip"}},{key:"Event",get:function(){return d}},{key:"EVENT_KEY",get:function(){return s}},{key:"DefaultType",get:function(){return h}}]),a}();return t.fn[e]=m._jQueryInterface,t.fn[e].Constructor=m,t.fn[e].noConflict=function(){return t.fn[e]=a,m._jQueryInterface},m}(jQuery));!function(r){var a="popover",l=".bs.popover",h=r.fn[a],c=r.extend({},s.Default,{placement:"right",trigger:"click",content:"",template:'<div class="popover" role="tooltip"><h3 class="popover-title"></h3><div class="popover-content"></div></div>'}),u=r.extend({},s.DefaultType,{content:"(string|element|function)"}),d={FADE:"fade",SHOW:"show"},f={TITLE:".popover-title",CONTENT:".popover-content"},_={HIDE:"hide"+l,HIDDEN:"hidden"+l,SHOW:"show"+l,SHOWN:"shown"+l,INSERTED:"inserted"+l,CLICK:"click"+l,FOCUSIN:"focusin"+l,FOCUSOUT:"focusout"+l,MOUSEENTER:"mouseenter"+l,MOUSELEAVE:"mouseleave"+l},g=function(s){function h(){return n(this,h),t(this,s.apply(this,arguments))}return e(h,s),h.prototype.isWithContent=function(){return this.getTitle()||this._getContent()},h.prototype.getTipElement=function(){return this.tip=this.tip||r(this.config.template)[0]},h.prototype.setContent=function(){var t=r(this.getTipElement());this.setElementContent(t.find(f.TITLE),this.getTitle()),this.setElementContent(t.find(f.CONTENT),this._getContent()),t.removeClass(d.FADE+" "+d.SHOW),this.cleanupTether()},h.prototype._getContent=function(){return this.element.getAttribute("data-content")||("function"==typeof this.config.content?this.config.content.call(this.element):this.config.content)},h._jQueryInterface=function(t){return this.each(function(){var e=r(this).data("bs.popover"),n="object"===(void 0===t?"undefined":i(t))?t:null;if((e||!/destroy|hide/.test(t))&&(e||(e=new h(this,n),r(this).data("bs.popover",e)),"string"==typeof t)){if(void 0===e[t])throw new Error('No method named "'+t+'"');e[t]()}})},o(h,null,[{key:"VERSION",get:function(){return"4.0.0-alpha.6"}},{key:"Default",get:function(){return c}},{key:"NAME",get:function(){return a}},{key:"DATA_KEY",get:function(){return"bs.popover"}},{key:"Event",get:function(){return _}},{key:"EVENT_KEY",get:function(){return l}},{key:"DefaultType",get:function(){return u}}]),h}(s);r.fn[a]=g._jQueryInterface,r.fn[a].Constructor=g,r.fn[a].noConflict=function(){return r.fn[a]=h,g._jQueryInterface},g}(jQuery)}(); \ No newline at end of file
diff --git a/templates/assets/bootstrap/js/dist/alert.js b/templates/assets/bootstrap/js/dist/alert.js
new file mode 100644
index 0000000..2fa6018
--- /dev/null
+++ b/templates/assets/bootstrap/js/dist/alert.js
@@ -0,0 +1,183 @@
+var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
+
+function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
+
+/**
+ * --------------------------------------------------------------------------
+ * Bootstrap (v4.0.0-alpha.6): alert.js
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ * --------------------------------------------------------------------------
+ */
+
+var Alert = function ($) {
+
+ /**
+ * ------------------------------------------------------------------------
+ * Constants
+ * ------------------------------------------------------------------------
+ */
+
+ var NAME = 'alert';
+ var VERSION = '4.0.0-alpha.6';
+ var DATA_KEY = 'bs.alert';
+ var EVENT_KEY = '.' + DATA_KEY;
+ var DATA_API_KEY = '.data-api';
+ var JQUERY_NO_CONFLICT = $.fn[NAME];
+ var TRANSITION_DURATION = 150;
+
+ var Selector = {
+ DISMISS: '[data-dismiss="alert"]'
+ };
+
+ var Event = {
+ 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'
+ };
+
+ /**
+ * ------------------------------------------------------------------------
+ * Class Definition
+ * ------------------------------------------------------------------------
+ */
+
+ var Alert = function () {
+ function Alert(element) {
+ _classCallCheck(this, Alert);
+
+ this._element = element;
+ }
+
+ // getters
+
+ // public
+
+ Alert.prototype.close = function close(element) {
+ element = element || this._element;
+
+ var rootElement = this._getRootElement(element);
+ var customEvent = this._triggerCloseEvent(rootElement);
+
+ if (customEvent.isDefaultPrevented()) {
+ return;
+ }
+
+ this._removeElement(rootElement);
+ };
+
+ Alert.prototype.dispose = function dispose() {
+ $.removeData(this._element, DATA_KEY);
+ this._element = null;
+ };
+
+ // private
+
+ Alert.prototype._getRootElement = function _getRootElement(element) {
+ var selector = Util.getSelectorFromElement(element);
+ var parent = false;
+
+ if (selector) {
+ parent = $(selector)[0];
+ }
+
+ if (!parent) {
+ parent = $(element).closest('.' + ClassName.ALERT)[0];
+ }
+
+ return parent;
+ };
+
+ Alert.prototype._triggerCloseEvent = function _triggerCloseEvent(element) {
+ var closeEvent = $.Event(Event.CLOSE);
+
+ $(element).trigger(closeEvent);
+ return closeEvent;
+ };
+
+ Alert.prototype._removeElement = function _removeElement(element) {
+ var _this = this;
+
+ $(element).removeClass(ClassName.SHOW);
+
+ if (!Util.supportsTransitionEnd() || !$(element).hasClass(ClassName.FADE)) {
+ this._destroyElement(element);
+ return;
+ }
+
+ $(element).one(Util.TRANSITION_END, function (event) {
+ return _this._destroyElement(element, event);
+ }).emulateTransitionEnd(TRANSITION_DURATION);
+ };
+
+ Alert.prototype._destroyElement = function _destroyElement(element) {
+ $(element).detach().trigger(Event.CLOSED).remove();
+ };
+
+ // static
+
+ Alert._jQueryInterface = function _jQueryInterface(config) {
+ return this.each(function () {
+ var $element = $(this);
+ var data = $element.data(DATA_KEY);
+
+ if (!data) {
+ data = new Alert(this);
+ $element.data(DATA_KEY, data);
+ }
+
+ if (config === 'close') {
+ data[config](this);
+ }
+ });
+ };
+
+ Alert._handleDismiss = function _handleDismiss(alertInstance) {
+ return function (event) {
+ if (event) {
+ event.preventDefault();
+ }
+
+ alertInstance.close(this);
+ };
+ };
+
+ _createClass(Alert, null, [{
+ key: 'VERSION',
+ get: function get() {
+ return VERSION;
+ }
+ }]);
+
+ return Alert;
+ }();
+
+ /**
+ * ------------------------------------------------------------------------
+ * Data Api implementation
+ * ------------------------------------------------------------------------
+ */
+
+ $(document).on(Event.CLICK_DATA_API, Selector.DISMISS, Alert._handleDismiss(new Alert()));
+
+ /**
+ * ------------------------------------------------------------------------
+ * jQuery
+ * ------------------------------------------------------------------------
+ */
+
+ $.fn[NAME] = Alert._jQueryInterface;
+ $.fn[NAME].Constructor = Alert;
+ $.fn[NAME].noConflict = function () {
+ $.fn[NAME] = JQUERY_NO_CONFLICT;
+ return Alert._jQueryInterface;
+ };
+
+ return Alert;
+}(jQuery);
+//# sourceMappingURL=alert.js.map
diff --git a/templates/assets/bootstrap/js/dist/alert.js.map b/templates/assets/bootstrap/js/dist/alert.js.map
new file mode 100644
index 0000000..280035d
--- /dev/null
+++ b/templates/assets/bootstrap/js/dist/alert.js.map
@@ -0,0 +1 @@
+{"version":3,"sources":["../src/alert.js"],"names":["Alert","$","NAME","VERSION","DATA_KEY","EVENT_KEY","DATA_API_KEY","JQUERY_NO_CONFLICT","fn","TRANSITION_DURATION","Selector","DISMISS","Event","CLOSE","CLOSED","CLICK_DATA_API","ClassName","ALERT","FADE","SHOW","element","_element","close","rootElement","_getRootElement","customEvent","_triggerCloseEvent","isDefaultPrevented","_removeElement","dispose","removeData","selector","Util","getSelectorFromElement","parent","closest","closeEvent","trigger","removeClass","supportsTransitionEnd","hasClass","_destroyElement","one","TRANSITION_END","event","emulateTransitionEnd","detach","remove","_jQueryInterface","config","each","$element","data","_handleDismiss","alertInstance","preventDefault","document","on","Constructor","noConflict","jQuery"],"mappings":"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","file":"alert.js","sourcesContent":["import Util from './util'\n\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0-alpha.6): alert.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Alert = (($) => {\n\n\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n const NAME = 'alert'\n const VERSION = '4.0.0-alpha.6'\n const DATA_KEY = 'bs.alert'\n const EVENT_KEY = `.${DATA_KEY}`\n const DATA_API_KEY = '.data-api'\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n const TRANSITION_DURATION = 150\n\n const Selector = {\n DISMISS : '[data-dismiss=\"alert\"]'\n }\n\n const Event = {\n CLOSE : `close${EVENT_KEY}`,\n CLOSED : `closed${EVENT_KEY}`,\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`\n }\n\n const ClassName = {\n ALERT : 'alert',\n FADE : 'fade',\n SHOW : 'show'\n }\n\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n class Alert {\n\n constructor(element) {\n this._element = element\n }\n\n\n // getters\n\n static get VERSION() {\n return VERSION\n }\n\n\n // public\n\n close(element) {\n element = element || this._element\n\n const rootElement = this._getRootElement(element)\n const customEvent = this._triggerCloseEvent(rootElement)\n\n if (customEvent.isDefaultPrevented()) {\n return\n }\n\n this._removeElement(rootElement)\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n this._element = null\n }\n\n\n // private\n\n _getRootElement(element) {\n const selector = Util.getSelectorFromElement(element)\n let parent = false\n\n if (selector) {\n parent = $(selector)[0]\n }\n\n if (!parent) {\n parent = $(element).closest(`.${ClassName.ALERT}`)[0]\n }\n\n return parent\n }\n\n _triggerCloseEvent(element) {\n const closeEvent = $.Event(Event.CLOSE)\n\n $(element).trigger(closeEvent)\n return closeEvent\n }\n\n _removeElement(element) {\n $(element).removeClass(ClassName.SHOW)\n\n if (!Util.supportsTransitionEnd() ||\n !$(element).hasClass(ClassName.FADE)) {\n this._destroyElement(element)\n return\n }\n\n $(element)\n .one(Util.TRANSITION_END, (event) => this._destroyElement(element, event))\n .emulateTransitionEnd(TRANSITION_DURATION)\n }\n\n _destroyElement(element) {\n $(element)\n .detach()\n .trigger(Event.CLOSED)\n .remove()\n }\n\n\n // static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n const $element = $(this)\n let data = $element.data(DATA_KEY)\n\n if (!data) {\n data = new Alert(this)\n $element.data(DATA_KEY, data)\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 }\n\n\n /**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n $(document).on(\n Event.CLICK_DATA_API,\n Selector.DISMISS,\n Alert._handleDismiss(new Alert())\n )\n\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME] = Alert._jQueryInterface\n $.fn[NAME].Constructor = Alert\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Alert._jQueryInterface\n }\n\n return Alert\n\n})(jQuery)\n\nexport default Alert\n"]} \ No newline at end of file
diff --git a/templates/assets/bootstrap/js/dist/button.js b/templates/assets/bootstrap/js/dist/button.js
new file mode 100644
index 0000000..6eb6dd5
--- /dev/null
+++ b/templates/assets/bootstrap/js/dist/button.js
@@ -0,0 +1,167 @@
+var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
+
+function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
+
+/**
+ * --------------------------------------------------------------------------
+ * Bootstrap (v4.0.0-alpha.6): button.js
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ * --------------------------------------------------------------------------
+ */
+
+var Button = function ($) {
+
+ /**
+ * ------------------------------------------------------------------------
+ * Constants
+ * ------------------------------------------------------------------------
+ */
+
+ var NAME = 'button';
+ var VERSION = '4.0.0-alpha.6';
+ var DATA_KEY = 'bs.button';
+ var EVENT_KEY = '.' + DATA_KEY;
+ var DATA_API_KEY = '.data-api';
+ var JQUERY_NO_CONFLICT = $.fn[NAME];
+
+ var ClassName = {
+ ACTIVE: 'active',
+ BUTTON: 'btn',
+ FOCUS: 'focus'
+ };
+
+ var Selector = {
+ DATA_TOGGLE_CARROT: '[data-toggle^="button"]',
+ DATA_TOGGLE: '[data-toggle="buttons"]',
+ INPUT: 'input',
+ ACTIVE: '.active',
+ BUTTON: '.btn'
+ };
+
+ var Event = {
+ CLICK_DATA_API: 'click' + EVENT_KEY + DATA_API_KEY,
+ FOCUS_BLUR_DATA_API: 'focus' + EVENT_KEY + DATA_API_KEY + ' ' + ('blur' + EVENT_KEY + DATA_API_KEY)
+ };
+
+ /**
+ * ------------------------------------------------------------------------
+ * Class Definition
+ * ------------------------------------------------------------------------
+ */
+
+ var Button = function () {
+ function Button(element) {
+ _classCallCheck(this, Button);
+
+ this._element = element;
+ }
+
+ // getters
+
+ // public
+
+ Button.prototype.toggle = function toggle() {
+ var triggerChangeEvent = true;
+ var rootElement = $(this._element).closest(Selector.DATA_TOGGLE)[0];
+
+ if (rootElement) {
+ var input = $(this._element).find(Selector.INPUT)[0];
+
+ if (input) {
+ if (input.type === 'radio') {
+ if (input.checked && $(this._element).hasClass(ClassName.ACTIVE)) {
+ triggerChangeEvent = false;
+ } else {
+ var activeElement = $(rootElement).find(Selector.ACTIVE)[0];
+
+ if (activeElement) {
+ $(activeElement).removeClass(ClassName.ACTIVE);
+ }
+ }
+ }
+
+ if (triggerChangeEvent) {
+ input.checked = !$(this._element).hasClass(ClassName.ACTIVE);
+ $(input).trigger('change');
+ }
+
+ input.focus();
+ }
+ }
+
+ this._element.setAttribute('aria-pressed', !$(this._element).hasClass(ClassName.ACTIVE));
+
+ if (triggerChangeEvent) {
+ $(this._element).toggleClass(ClassName.ACTIVE);
+ }
+ };
+
+ Button.prototype.dispose = function dispose() {
+ $.removeData(this._element, DATA_KEY);
+ this._element = null;
+ };
+
+ // static
+
+ Button._jQueryInterface = function _jQueryInterface(config) {
+ return this.each(function () {
+ var data = $(this).data(DATA_KEY);
+
+ if (!data) {
+ data = new Button(this);
+ $(this).data(DATA_KEY, data);
+ }
+
+ if (config === 'toggle') {
+ data[config]();
+ }
+ });
+ };
+
+ _createClass(Button, null, [{
+ key: 'VERSION',
+ get: function get() {
+ return VERSION;
+ }
+ }]);
+
+ return Button;
+ }();
+
+ /**
+ * ------------------------------------------------------------------------
+ * Data Api implementation
+ * ------------------------------------------------------------------------
+ */
+
+ $(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE_CARROT, function (event) {
+ event.preventDefault();
+
+ var button = event.target;
+
+ if (!$(button).hasClass(ClassName.BUTTON)) {
+ button = $(button).closest(Selector.BUTTON);
+ }
+
+ Button._jQueryInterface.call($(button), 'toggle');
+ }).on(Event.FOCUS_BLUR_DATA_API, Selector.DATA_TOGGLE_CARROT, function (event) {
+ var button = $(event.target).closest(Selector.BUTTON)[0];
+ $(button).toggleClass(ClassName.FOCUS, /^focus(in)?$/.test(event.type));
+ });
+
+ /**
+ * ------------------------------------------------------------------------
+ * jQuery
+ * ------------------------------------------------------------------------
+ */
+
+ $.fn[NAME] = Button._jQueryInterface;
+ $.fn[NAME].Constructor = Button;
+ $.fn[NAME].noConflict = function () {
+ $.fn[NAME] = JQUERY_NO_CONFLICT;
+ return Button._jQueryInterface;
+ };
+
+ return Button;
+}(jQuery);
+//# sourceMappingURL=button.js.map
diff --git a/templates/assets/bootstrap/js/dist/button.js.map b/templates/assets/bootstrap/js/dist/button.js.map
new file mode 100644
index 0000000..99aa220
--- /dev/null
+++ b/templates/assets/bootstrap/js/dist/button.js.map
@@ -0,0 +1 @@
+{"version":3,"sources":["../src/button.js"],"names":["Button","$","NAME","VERSION","DATA_KEY","EVENT_KEY","DATA_API_KEY","JQUERY_NO_CONFLICT","fn","ClassName","ACTIVE","BUTTON","FOCUS","Selector","DATA_TOGGLE_CARROT","DATA_TOGGLE","INPUT","Event","CLICK_DATA_API","FOCUS_BLUR_DATA_API","element","_element","toggle","triggerChangeEvent","rootElement","closest","input","find","type","checked","hasClass","activeElement","removeClass","trigger","focus","setAttribute","toggleClass","dispose","removeData","_jQueryInterface","config","each","data","document","on","event","preventDefault","button","target","call","test","Constructor","noConflict","jQuery"],"mappings":"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","file":"button.js","sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0-alpha.6): button.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Button = (($) => {\n\n\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n const NAME = 'button'\n const VERSION = '4.0.0-alpha.6'\n const DATA_KEY = 'bs.button'\n const EVENT_KEY = `.${DATA_KEY}`\n const DATA_API_KEY = '.data-api'\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n\n const ClassName = {\n ACTIVE : 'active',\n BUTTON : 'btn',\n FOCUS : 'focus'\n }\n\n const Selector = {\n DATA_TOGGLE_CARROT : '[data-toggle^=\"button\"]',\n DATA_TOGGLE : '[data-toggle=\"buttons\"]',\n INPUT : 'input',\n ACTIVE : '.active',\n BUTTON : '.btn'\n }\n\n const Event = {\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`,\n FOCUS_BLUR_DATA_API : `focus${EVENT_KEY}${DATA_API_KEY} `\n + `blur${EVENT_KEY}${DATA_API_KEY}`\n }\n\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n class Button {\n\n constructor(element) {\n this._element = element\n }\n\n\n // getters\n\n static get VERSION() {\n return VERSION\n }\n\n\n // public\n\n toggle() {\n let triggerChangeEvent = true\n const rootElement = $(this._element).closest(\n Selector.DATA_TOGGLE\n )[0]\n\n if (rootElement) {\n const input = $(this._element).find(Selector.INPUT)[0]\n\n if (input) {\n if (input.type === 'radio') {\n if (input.checked &&\n $(this._element).hasClass(ClassName.ACTIVE)) {\n triggerChangeEvent = false\n\n } else {\n const activeElement = $(rootElement).find(Selector.ACTIVE)[0]\n\n if (activeElement) {\n $(activeElement).removeClass(ClassName.ACTIVE)\n }\n }\n }\n\n if (triggerChangeEvent) {\n input.checked = !$(this._element).hasClass(ClassName.ACTIVE)\n $(input).trigger('change')\n }\n\n input.focus()\n }\n\n }\n\n this._element.setAttribute('aria-pressed',\n !$(this._element).hasClass(ClassName.ACTIVE))\n\n if (triggerChangeEvent) {\n $(this._element).toggleClass(ClassName.ACTIVE)\n }\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n this._element = null\n }\n\n\n // static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n\n if (!data) {\n data = new Button(this)\n $(this).data(DATA_KEY, data)\n }\n\n if (config === 'toggle') {\n data[config]()\n }\n })\n }\n\n }\n\n\n /**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n $(document)\n .on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE_CARROT, (event) => {\n event.preventDefault()\n\n let button = event.target\n\n if (!$(button).hasClass(ClassName.BUTTON)) {\n button = $(button).closest(Selector.BUTTON)\n }\n\n Button._jQueryInterface.call($(button), 'toggle')\n })\n .on(Event.FOCUS_BLUR_DATA_API, Selector.DATA_TOGGLE_CARROT, (event) => {\n const button = $(event.target).closest(Selector.BUTTON)[0]\n $(button).toggleClass(ClassName.FOCUS, /^focus(in)?$/.test(event.type))\n })\n\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME] = Button._jQueryInterface\n $.fn[NAME].Constructor = Button\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Button._jQueryInterface\n }\n\n return Button\n\n})(jQuery)\n\nexport default Button\n"]} \ No newline at end of file
diff --git a/templates/assets/bootstrap/js/dist/carousel.js b/templates/assets/bootstrap/js/dist/carousel.js
new file mode 100644
index 0000000..6e42692
--- /dev/null
+++ b/templates/assets/bootstrap/js/dist/carousel.js
@@ -0,0 +1,486 @@
+var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
+
+var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
+
+function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
+
+/**
+ * --------------------------------------------------------------------------
+ * Bootstrap (v4.0.0-alpha.6): carousel.js
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ * --------------------------------------------------------------------------
+ */
+
+var Carousel = function ($) {
+
+ /**
+ * ------------------------------------------------------------------------
+ * Constants
+ * ------------------------------------------------------------------------
+ */
+
+ var NAME = 'carousel';
+ var VERSION = '4.0.0-alpha.6';
+ var DATA_KEY = 'bs.carousel';
+ var EVENT_KEY = '.' + DATA_KEY;
+ var DATA_API_KEY = '.data-api';
+ var JQUERY_NO_CONFLICT = $.fn[NAME];
+ var TRANSITION_DURATION = 600;
+ var ARROW_LEFT_KEYCODE = 37; // KeyboardEvent.which value for left arrow key
+ var ARROW_RIGHT_KEYCODE = 39; // KeyboardEvent.which value for right arrow key
+
+ var Default = {
+ interval: 5000,
+ keyboard: true,
+ slide: false,
+ pause: 'hover',
+ wrap: true
+ };
+
+ var DefaultType = {
+ interval: '(number|boolean)',
+ keyboard: 'boolean',
+ slide: '(boolean|string)',
+ pause: '(string|boolean)',
+ wrap: 'boolean'
+ };
+
+ var Direction = {
+ NEXT: 'next',
+ PREV: 'prev',
+ LEFT: 'left',
+ RIGHT: 'right'
+ };
+
+ var Event = {
+ SLIDE: 'slide' + EVENT_KEY,
+ SLID: 'slid' + EVENT_KEY,
+ KEYDOWN: 'keydown' + EVENT_KEY,
+ MOUSEENTER: 'mouseenter' + EVENT_KEY,
+ MOUSELEAVE: 'mouseleave' + EVENT_KEY,
+ LOAD_DATA_API: 'load' + EVENT_KEY + DATA_API_KEY,
+ CLICK_DATA_API: 'click' + EVENT_KEY + DATA_API_KEY
+ };
+
+ var ClassName = {
+ 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'
+ };
+
+ var Selector = {
+ ACTIVE: '.active',
+ ACTIVE_ITEM: '.active.carousel-item',
+ ITEM: '.carousel-item',
+ NEXT_PREV: '.carousel-item-next, .carousel-item-prev',
+ INDICATORS: '.carousel-indicators',
+ DATA_SLIDE: '[data-slide], [data-slide-to]',
+ DATA_RIDE: '[data-ride="carousel"]'
+ };
+
+ /**
+ * ------------------------------------------------------------------------
+ * Class Definition
+ * ------------------------------------------------------------------------
+ */
+
+ var Carousel = function () {
+ function Carousel(element, config) {
+ _classCallCheck(this, Carousel);
+
+ this._items = null;
+ this._interval = null;
+ this._activeElement = null;
+
+ this._isPaused = false;
+ this._isSliding = false;
+
+ this._config = this._getConfig(config);
+ this._element = $(element)[0];
+ this._indicatorsElement = $(this._element).find(Selector.INDICATORS)[0];
+
+ this._addEventListeners();
+ }
+
+ // getters
+
+ // public
+
+ Carousel.prototype.next = function next() {
+ if (this._isSliding) {
+ throw new Error('Carousel is sliding');
+ }
+ this._slide(Direction.NEXT);
+ };
+
+ Carousel.prototype.nextWhenVisible = function nextWhenVisible() {
+ // Don't call next when the page isn't visible
+ if (!document.hidden) {
+ this.next();
+ }
+ };
+
+ Carousel.prototype.prev = function prev() {
+ if (this._isSliding) {
+ throw new Error('Carousel is sliding');
+ }
+ this._slide(Direction.PREV);
+ };
+
+ Carousel.prototype.pause = function pause(event) {
+ if (!event) {
+ this._isPaused = true;
+ }
+
+ if ($(this._element).find(Selector.NEXT_PREV)[0] && Util.supportsTransitionEnd()) {
+ Util.triggerTransitionEnd(this._element);
+ this.cycle(true);
+ }
+
+ clearInterval(this._interval);
+ this._interval = null;
+ };
+
+ Carousel.prototype.cycle = function cycle(event) {
+ if (!event) {
+ this._isPaused = false;
+ }
+
+ if (this._interval) {
+ clearInterval(this._interval);
+ this._interval = null;
+ }
+
+ if (this._config.interval && !this._isPaused) {
+ this._interval = setInterval((document.visibilityState ? this.nextWhenVisible : this.next).bind(this), this._config.interval);
+ }
+ };
+
+ Carousel.prototype.to = function to(index) {
+ var _this = this;
+
+ this._activeElement = $(this._element).find(Selector.ACTIVE_ITEM)[0];
+
+ var activeIndex = this._getItemIndex(this._activeElement);
+
+ if (index > this._items.length - 1 || index < 0) {
+ return;
+ }
+
+ if (this._isSliding) {
+ $(this._element).one(Event.SLID, function () {
+ return _this.to(index);
+ });
+ return;
+ }
+
+ if (activeIndex === index) {
+ this.pause();
+ this.cycle();
+ return;
+ }
+
+ var direction = index > activeIndex ? Direction.NEXT : Direction.PREV;
+
+ this._slide(direction, this._items[index]);
+ };
+
+ Carousel.prototype.dispose = function dispose() {
+ $(this._element).off(EVENT_KEY);
+ $.removeData(this._element, DATA_KEY);
+
+ this._items = null;
+ this._config = null;
+ this._element = null;
+ this._interval = null;
+ this._isPaused = null;
+ this._isSliding = null;
+ this._activeElement = null;
+ this._indicatorsElement = null;
+ };
+
+ // private
+
+ Carousel.prototype._getConfig = function _getConfig(config) {
+ config = $.extend({}, Default, config);
+ Util.typeCheckConfig(NAME, config, DefaultType);
+ return config;
+ };
+
+ Carousel.prototype._addEventListeners = function _addEventListeners() {
+ var _this2 = this;
+
+ if (this._config.keyboard) {
+ $(this._element).on(Event.KEYDOWN, function (event) {
+ return _this2._keydown(event);
+ });
+ }
+
+ if (this._config.pause === 'hover' && !('ontouchstart' in document.documentElement)) {
+ $(this._element).on(Event.MOUSEENTER, function (event) {
+ return _this2.pause(event);
+ }).on(Event.MOUSELEAVE, function (event) {
+ return _this2.cycle(event);
+ });
+ }
+ };
+
+ Carousel.prototype._keydown = function _keydown(event) {
+ if (/input|textarea/i.test(event.target.tagName)) {
+ return;
+ }
+
+ switch (event.which) {
+ case ARROW_LEFT_KEYCODE:
+ event.preventDefault();
+ this.prev();
+ break;
+ case ARROW_RIGHT_KEYCODE:
+ event.preventDefault();
+ this.next();
+ break;
+ default:
+ return;
+ }
+ };
+
+ Carousel.prototype._getItemIndex = function _getItemIndex(element) {
+ this._items = $.makeArray($(element).parent().find(Selector.ITEM));
+ return this._items.indexOf(element);
+ };
+
+ Carousel.prototype._getItemByDirection = function _getItemByDirection(direction, activeElement) {
+ var isNextDirection = direction === Direction.NEXT;
+ var isPrevDirection = direction === Direction.PREV;
+ var activeIndex = this._getItemIndex(activeElement);
+ var lastItemIndex = this._items.length - 1;
+ var isGoingToWrap = isPrevDirection && activeIndex === 0 || isNextDirection && activeIndex === lastItemIndex;
+
+ if (isGoingToWrap && !this._config.wrap) {
+ return activeElement;
+ }
+
+ 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];
+ };
+
+ Carousel.prototype._triggerSlideEvent = function _triggerSlideEvent(relatedTarget, eventDirectionName) {
+ var slideEvent = $.Event(Event.SLIDE, {
+ relatedTarget: relatedTarget,
+ direction: eventDirectionName
+ });
+
+ $(this._element).trigger(slideEvent);
+
+ return slideEvent;
+ };
+
+ Carousel.prototype._setActiveIndicatorElement = function _setActiveIndicatorElement(element) {
+ if (this._indicatorsElement) {
+ $(this._indicatorsElement).find(Selector.ACTIVE).removeClass(ClassName.ACTIVE);
+
+ var nextIndicator = this._indicatorsElement.children[this._getItemIndex(element)];
+
+ if (nextIndicator) {
+ $(nextIndicator).addClass(ClassName.ACTIVE);
+ }
+ }
+ };
+
+ Carousel.prototype._slide = function _slide(direction, element) {
+ var _this3 = this;
+
+ var activeElement = $(this._element).find(Selector.ACTIVE_ITEM)[0];
+ var nextElement = element || activeElement && this._getItemByDirection(direction, activeElement);
+
+ var isCycling = Boolean(this._interval);
+
+ var directionalClassName = void 0;
+ var orderClassName = void 0;
+ var eventDirectionName = void 0;
+
+ if (direction === Direction.NEXT) {
+ directionalClassName = ClassName.LEFT;
+ orderClassName = ClassName.NEXT;
+ eventDirectionName = Direction.LEFT;
+ } else {
+ directionalClassName = ClassName.RIGHT;
+ orderClassName = ClassName.PREV;
+ eventDirectionName = Direction.RIGHT;
+ }
+
+ if (nextElement && $(nextElement).hasClass(ClassName.ACTIVE)) {
+ this._isSliding = false;
+ return;
+ }
+
+ var slideEvent = this._triggerSlideEvent(nextElement, eventDirectionName);
+ if (slideEvent.isDefaultPrevented()) {
+ return;
+ }
+
+ if (!activeElement || !nextElement) {
+ // some weirdness is happening, so we bail
+ return;
+ }
+
+ this._isSliding = true;
+
+ if (isCycling) {
+ this.pause();
+ }
+
+ this._setActiveIndicatorElement(nextElement);
+
+ var slidEvent = $.Event(Event.SLID, {
+ relatedTarget: nextElement,
+ direction: eventDirectionName
+ });
+
+ if (Util.supportsTransitionEnd() && $(this._element).hasClass(ClassName.SLIDE)) {
+
+ $(nextElement).addClass(orderClassName);
+
+ Util.reflow(nextElement);
+
+ $(activeElement).addClass(directionalClassName);
+ $(nextElement).addClass(directionalClassName);
+
+ $(activeElement).one(Util.TRANSITION_END, function () {
+ $(nextElement).removeClass(directionalClassName + ' ' + orderClassName).addClass(ClassName.ACTIVE);
+
+ $(activeElement).removeClass(ClassName.ACTIVE + ' ' + orderClassName + ' ' + directionalClassName);
+
+ _this3._isSliding = false;
+
+ setTimeout(function () {
+ return $(_this3._element).trigger(slidEvent);
+ }, 0);
+ }).emulateTransitionEnd(TRANSITION_DURATION);
+ } else {
+ $(activeElement).removeClass(ClassName.ACTIVE);
+ $(nextElement).addClass(ClassName.ACTIVE);
+
+ this._isSliding = false;
+ $(this._element).trigger(slidEvent);
+ }
+
+ if (isCycling) {
+ this.cycle();
+ }
+ };
+
+ // static
+
+ Carousel._jQueryInterface = function _jQueryInterface(config) {
+ return this.each(function () {
+ var data = $(this).data(DATA_KEY);
+ var _config = $.extend({}, Default, $(this).data());
+
+ if ((typeof config === 'undefined' ? 'undefined' : _typeof(config)) === 'object') {
+ $.extend(_config, config);
+ }
+
+ var action = typeof config === 'string' ? config : _config.slide;
+
+ if (!data) {
+ data = new Carousel(this, _config);
+ $(this).data(DATA_KEY, data);
+ }
+
+ if (typeof config === 'number') {
+ data.to(config);
+ } else if (typeof action === 'string') {
+ if (data[action] === undefined) {
+ throw new Error('No method named "' + action + '"');
+ }
+ data[action]();
+ } else if (_config.interval) {
+ data.pause();
+ data.cycle();
+ }
+ });
+ };
+
+ Carousel._dataApiClickHandler = function _dataApiClickHandler(event) {
+ var selector = Util.getSelectorFromElement(this);
+
+ if (!selector) {
+ return;
+ }
+
+ var target = $(selector)[0];
+
+ if (!target || !$(target).hasClass(ClassName.CAROUSEL)) {
+ return;
+ }
+
+ var config = $.extend({}, $(target).data(), $(this).data());
+ var slideIndex = this.getAttribute('data-slide-to');
+
+ if (slideIndex) {
+ config.interval = false;
+ }
+
+ Carousel._jQueryInterface.call($(target), config);
+
+ if (slideIndex) {
+ $(target).data(DATA_KEY).to(slideIndex);
+ }
+
+ event.preventDefault();
+ };
+
+ _createClass(Carousel, null, [{
+ key: 'VERSION',
+ get: function get() {
+ return VERSION;
+ }
+ }, {
+ key: 'Default',
+ get: function get() {
+ return Default;
+ }
+ }]);
+
+ return Carousel;
+ }();
+
+ /**
+ * ------------------------------------------------------------------------
+ * Data Api implementation
+ * ------------------------------------------------------------------------
+ */
+
+ $(document).on(Event.CLICK_DATA_API, Selector.DATA_SLIDE, Carousel._dataApiClickHandler);
+
+ $(window).on(Event.LOAD_DATA_API, function () {
+ $(Selector.DATA_RIDE).each(function () {
+ var $carousel = $(this);
+ Carousel._jQueryInterface.call($carousel, $carousel.data());
+ });
+ });
+
+ /**
+ * ------------------------------------------------------------------------
+ * jQuery
+ * ------------------------------------------------------------------------
+ */
+
+ $.fn[NAME] = Carousel._jQueryInterface;
+ $.fn[NAME].Constructor = Carousel;
+ $.fn[NAME].noConflict = function () {
+ $.fn[NAME] = JQUERY_NO_CONFLICT;
+ return Carousel._jQueryInterface;
+ };
+
+ return Carousel;
+}(jQuery);
+//# sourceMappingURL=carousel.js.map
diff --git a/templates/assets/bootstrap/js/dist/carousel.js.map b/templates/assets/bootstrap/js/dist/carousel.js.map
new file mode 100644
index 0000000..4edaef0
--- /dev/null
+++ b/templates/assets/bootstrap/js/dist/carousel.js.map
@@ -0,0 +1 @@
+{"version":3,"sources":["../src/carousel.js"],"names":["Carousel","$","NAME","VERSION","DATA_KEY","EVENT_KEY","DATA_API_KEY","JQUERY_NO_CONFLICT","fn","TRANSITION_DURATION","ARROW_LEFT_KEYCODE","ARROW_RIGHT_KEYCODE","Default","interval","keyboard","slide","pause","wrap","DefaultType","Direction","NEXT","PREV","LEFT","RIGHT","Event","SLIDE","SLID","KEYDOWN","MOUSEENTER","MOUSELEAVE","LOAD_DATA_API","CLICK_DATA_API","ClassName","CAROUSEL","ACTIVE","ITEM","Selector","ACTIVE_ITEM","NEXT_PREV","INDICATORS","DATA_SLIDE","DATA_RIDE","element","config","_items","_interval","_activeElement","_isPaused","_isSliding","_config","_getConfig","_element","_indicatorsElement","find","_addEventListeners","next","Error","_slide","nextWhenVisible","document","hidden","prev","event","Util","supportsTransitionEnd","triggerTransitionEnd","cycle","clearInterval","setInterval","visibilityState","bind","to","index","activeIndex","_getItemIndex","length","one","direction","dispose","off","removeData","extend","typeCheckConfig","on","_keydown","documentElement","test","target","tagName","which","preventDefault","makeArray","parent","indexOf","_getItemByDirection","activeElement","isNextDirection","isPrevDirection","lastItemIndex","isGoingToWrap","delta","itemIndex","_triggerSlideEvent","relatedTarget","eventDirectionName","slideEvent","trigger","_setActiveIndicatorElement","removeClass","nextIndicator","children","addClass","nextElement","isCycling","Boolean","directionalClassName","orderClassName","hasClass","isDefaultPrevented","slidEvent","reflow","TRANSITION_END","setTimeout","emulateTransitionEnd","_jQueryInterface","each","data","action","undefined","_dataApiClickHandler","selector","getSelectorFromElement","slideIndex","getAttribute","call","window","$carousel","Constructor","noConflict","jQuery"],"mappings":"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","file":"carousel.js","sourcesContent":["import Util from './util'\n\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0-alpha.6): carousel.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Carousel = (($) => {\n\n\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n const NAME = 'carousel'\n const VERSION = '4.0.0-alpha.6'\n const DATA_KEY = 'bs.carousel'\n const EVENT_KEY = `.${DATA_KEY}`\n const DATA_API_KEY = '.data-api'\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n const TRANSITION_DURATION = 600\n const ARROW_LEFT_KEYCODE = 37 // KeyboardEvent.which value for left arrow key\n const ARROW_RIGHT_KEYCODE = 39 // KeyboardEvent.which value for right arrow key\n\n const Default = {\n interval : 5000,\n keyboard : true,\n slide : false,\n pause : 'hover',\n wrap : true\n }\n\n const DefaultType = {\n interval : '(number|boolean)',\n keyboard : 'boolean',\n slide : '(boolean|string)',\n pause : '(string|boolean)',\n wrap : 'boolean'\n }\n\n const Direction = {\n NEXT : 'next',\n PREV : 'prev',\n LEFT : 'left',\n RIGHT : 'right'\n }\n\n const 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 LOAD_DATA_API : `load${EVENT_KEY}${DATA_API_KEY}`,\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`\n }\n\n const 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 }\n\n const Selector = {\n ACTIVE : '.active',\n ACTIVE_ITEM : '.active.carousel-item',\n ITEM : '.carousel-item',\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\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n class Carousel {\n\n constructor(element, config) {\n this._items = null\n this._interval = null\n this._activeElement = null\n\n this._isPaused = false\n this._isSliding = false\n\n this._config = this._getConfig(config)\n this._element = $(element)[0]\n this._indicatorsElement = $(this._element).find(Selector.INDICATORS)[0]\n\n this._addEventListeners()\n }\n\n\n // getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n\n // public\n\n next() {\n if (this._isSliding) {\n throw new Error('Carousel is sliding')\n }\n this._slide(Direction.NEXT)\n }\n\n nextWhenVisible() {\n // Don't call next when the page isn't visible\n if (!document.hidden) {\n this.next()\n }\n }\n\n prev() {\n if (this._isSliding) {\n throw new Error('Carousel is sliding')\n }\n this._slide(Direction.PREV)\n }\n\n pause(event) {\n if (!event) {\n this._isPaused = true\n }\n\n if ($(this._element).find(Selector.NEXT_PREV)[0] &&\n Util.supportsTransitionEnd()) {\n Util.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.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 = $(this._element).find(Selector.ACTIVE_ITEM)[0]\n\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 $(this._element).one(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 $(this._element).off(EVENT_KEY)\n $.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\n // private\n\n _getConfig(config) {\n config = $.extend({}, Default, config)\n Util.typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _addEventListeners() {\n if (this._config.keyboard) {\n $(this._element)\n .on(Event.KEYDOWN, (event) => this._keydown(event))\n }\n\n if (this._config.pause === 'hover' &&\n !('ontouchstart' in document.documentElement)) {\n $(this._element)\n .on(Event.MOUSEENTER, (event) => this.pause(event))\n .on(Event.MOUSELEAVE, (event) => this.cycle(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 return\n }\n }\n\n _getItemIndex(element) {\n this._items = $.makeArray($(element).parent().find(Selector.ITEM))\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] : this._items[itemIndex]\n }\n\n\n _triggerSlideEvent(relatedTarget, eventDirectionName) {\n const slideEvent = $.Event(Event.SLIDE, {\n relatedTarget,\n direction: eventDirectionName\n })\n\n $(this._element).trigger(slideEvent)\n\n return slideEvent\n }\n\n _setActiveIndicatorElement(element) {\n if (this._indicatorsElement) {\n $(this._indicatorsElement)\n .find(Selector.ACTIVE)\n .removeClass(ClassName.ACTIVE)\n\n const nextIndicator = this._indicatorsElement.children[\n this._getItemIndex(element)\n ]\n\n if (nextIndicator) {\n $(nextIndicator).addClass(ClassName.ACTIVE)\n }\n }\n }\n\n _slide(direction, element) {\n const activeElement = $(this._element).find(Selector.ACTIVE_ITEM)[0]\n const nextElement = element || activeElement &&\n this._getItemByDirection(direction, activeElement)\n\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).hasClass(ClassName.ACTIVE)) {\n this._isSliding = false\n return\n }\n\n const slideEvent = this._triggerSlideEvent(nextElement, eventDirectionName)\n if (slideEvent.isDefaultPrevented()) {\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 const slidEvent = $.Event(Event.SLID, {\n relatedTarget: nextElement,\n direction: eventDirectionName\n })\n\n if (Util.supportsTransitionEnd() &&\n $(this._element).hasClass(ClassName.SLIDE)) {\n\n $(nextElement).addClass(orderClassName)\n\n Util.reflow(nextElement)\n\n $(activeElement).addClass(directionalClassName)\n $(nextElement).addClass(directionalClassName)\n\n $(activeElement)\n .one(Util.TRANSITION_END, () => {\n $(nextElement)\n .removeClass(`${directionalClassName} ${orderClassName}`)\n .addClass(ClassName.ACTIVE)\n\n $(activeElement).removeClass(`${ClassName.ACTIVE} ${orderClassName} ${directionalClassName}`)\n\n this._isSliding = false\n\n setTimeout(() => $(this._element).trigger(slidEvent), 0)\n\n })\n .emulateTransitionEnd(TRANSITION_DURATION)\n\n } else {\n $(activeElement).removeClass(ClassName.ACTIVE)\n $(nextElement).addClass(ClassName.ACTIVE)\n\n this._isSliding = false\n $(this._element).trigger(slidEvent)\n }\n\n if (isCycling) {\n this.cycle()\n }\n }\n\n\n // static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n const _config = $.extend({}, Default, $(this).data())\n\n if (typeof config === 'object') {\n $.extend(_config, config)\n }\n\n const action = typeof config === 'string' ? config : _config.slide\n\n if (!data) {\n data = new Carousel(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'number') {\n data.to(config)\n } else if (typeof action === 'string') {\n if (data[action] === undefined) {\n throw new Error(`No method named \"${action}\"`)\n }\n data[action]()\n } else if (_config.interval) {\n data.pause()\n data.cycle()\n }\n })\n }\n\n static _dataApiClickHandler(event) {\n const selector = Util.getSelectorFromElement(this)\n\n if (!selector) {\n return\n }\n\n const target = $(selector)[0]\n\n if (!target || !$(target).hasClass(ClassName.CAROUSEL)) {\n return\n }\n\n const config = $.extend({}, $(target).data(), $(this).data())\n const slideIndex = this.getAttribute('data-slide-to')\n\n if (slideIndex) {\n config.interval = false\n }\n\n Carousel._jQueryInterface.call($(target), config)\n\n if (slideIndex) {\n $(target).data(DATA_KEY).to(slideIndex)\n }\n\n event.preventDefault()\n }\n\n }\n\n\n /**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n $(document)\n .on(Event.CLICK_DATA_API, Selector.DATA_SLIDE, Carousel._dataApiClickHandler)\n\n $(window).on(Event.LOAD_DATA_API, () => {\n $(Selector.DATA_RIDE).each(function () {\n const $carousel = $(this)\n Carousel._jQueryInterface.call($carousel, $carousel.data())\n })\n })\n\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME] = Carousel._jQueryInterface\n $.fn[NAME].Constructor = Carousel\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Carousel._jQueryInterface\n }\n\n return Carousel\n\n})(jQuery)\n\nexport default Carousel\n"]} \ No newline at end of file
diff --git a/templates/assets/bootstrap/js/dist/collapse.js b/templates/assets/bootstrap/js/dist/collapse.js
new file mode 100644
index 0000000..670f9ad
--- /dev/null
+++ b/templates/assets/bootstrap/js/dist/collapse.js
@@ -0,0 +1,365 @@
+var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
+
+var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
+
+function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
+
+/**
+ * --------------------------------------------------------------------------
+ * Bootstrap (v4.0.0-alpha.6): collapse.js
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ * --------------------------------------------------------------------------
+ */
+
+var Collapse = function ($) {
+
+ /**
+ * ------------------------------------------------------------------------
+ * Constants
+ * ------------------------------------------------------------------------
+ */
+
+ var NAME = 'collapse';
+ var VERSION = '4.0.0-alpha.6';
+ var DATA_KEY = 'bs.collapse';
+ var EVENT_KEY = '.' + DATA_KEY;
+ var DATA_API_KEY = '.data-api';
+ var JQUERY_NO_CONFLICT = $.fn[NAME];
+ var TRANSITION_DURATION = 600;
+
+ var Default = {
+ toggle: true,
+ parent: ''
+ };
+
+ var DefaultType = {
+ toggle: 'boolean',
+ parent: 'string'
+ };
+
+ var Event = {
+ SHOW: 'show' + EVENT_KEY,
+ SHOWN: 'shown' + EVENT_KEY,
+ HIDE: 'hide' + EVENT_KEY,
+ HIDDEN: 'hidden' + EVENT_KEY,
+ CLICK_DATA_API: 'click' + EVENT_KEY + DATA_API_KEY
+ };
+
+ var ClassName = {
+ SHOW: 'show',
+ COLLAPSE: 'collapse',
+ COLLAPSING: 'collapsing',
+ COLLAPSED: 'collapsed'
+ };
+
+ var Dimension = {
+ WIDTH: 'width',
+ HEIGHT: 'height'
+ };
+
+ var Selector = {
+ ACTIVES: '.card > .show, .card > .collapsing',
+ DATA_TOGGLE: '[data-toggle="collapse"]',
+ DATA_CHILDREN: 'data-children'
+ };
+
+ /**
+ * ------------------------------------------------------------------------
+ * Class Definition
+ * ------------------------------------------------------------------------
+ */
+
+ var Collapse = function () {
+ function Collapse(element, config) {
+ _classCallCheck(this, Collapse);
+
+ this._isTransitioning = false;
+ this._element = element;
+ this._config = this._getConfig(config);
+ this._triggerArray = $.makeArray($('[data-toggle="collapse"][href="#' + element.id + '"],' + ('[data-toggle="collapse"][data-target="#' + element.id + '"]')));
+ this._parent = this._config.parent ? this._getParent() : null;
+
+ if (!this._config.parent) {
+ this._addAriaAndCollapsedClass(this._element, this._triggerArray);
+ }
+
+ this._selectorActives = Selector.ACTIVES;
+ if (this._parent) {
+ var childrenSelector = this._parent.hasAttribute(Selector.DATA_CHILDREN) ? this._parent.getAttribute(Selector.DATA_CHILDREN) : null;
+ if (childrenSelector !== null) {
+ this._selectorActives = childrenSelector + ' > .show, ' + childrenSelector + ' > .collapsing';
+ }
+ }
+
+ if (this._config.toggle) {
+ this.toggle();
+ }
+ }
+
+ // getters
+
+ // public
+
+ Collapse.prototype.toggle = function toggle() {
+ if ($(this._element).hasClass(ClassName.SHOW)) {
+ this.hide();
+ } else {
+ this.show();
+ }
+ };
+
+ Collapse.prototype.show = function show() {
+ var _this = this;
+
+ if (this._isTransitioning) {
+ throw new Error('Collapse is transitioning');
+ }
+
+ if ($(this._element).hasClass(ClassName.SHOW)) {
+ return;
+ }
+
+ var actives = void 0;
+ var activesData = void 0;
+
+ if (this._parent) {
+ actives = $.makeArray($(this._parent).find(this._selectorActives));
+ if (!actives.length) {
+ actives = null;
+ }
+ }
+
+ if (actives) {
+ activesData = $(actives).data(DATA_KEY);
+ if (activesData && activesData._isTransitioning) {
+ return;
+ }
+ }
+
+ var startEvent = $.Event(Event.SHOW);
+ $(this._element).trigger(startEvent);
+ if (startEvent.isDefaultPrevented()) {
+ return;
+ }
+
+ if (actives) {
+ Collapse._jQueryInterface.call($(actives), 'hide');
+ if (!activesData) {
+ $(actives).data(DATA_KEY, null);
+ }
+ }
+
+ var dimension = this._getDimension();
+
+ $(this._element).removeClass(ClassName.COLLAPSE).addClass(ClassName.COLLAPSING);
+
+ this._element.style[dimension] = 0;
+ this._element.setAttribute('aria-expanded', true);
+
+ if (this._triggerArray.length) {
+ $(this._triggerArray).removeClass(ClassName.COLLAPSED).attr('aria-expanded', true);
+ }
+
+ this.setTransitioning(true);
+
+ var complete = function complete() {
+ $(_this._element).removeClass(ClassName.COLLAPSING).addClass(ClassName.COLLAPSE).addClass(ClassName.SHOW);
+
+ _this._element.style[dimension] = '';
+
+ _this.setTransitioning(false);
+
+ $(_this._element).trigger(Event.SHOWN);
+ };
+
+ if (!Util.supportsTransitionEnd()) {
+ complete();
+ return;
+ }
+
+ var capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1);
+ var scrollSize = 'scroll' + capitalizedDimension;
+
+ $(this._element).one(Util.TRANSITION_END, complete).emulateTransitionEnd(TRANSITION_DURATION);
+
+ this._element.style[dimension] = this._element[scrollSize] + 'px';
+ };
+
+ Collapse.prototype.hide = function hide() {
+ var _this2 = this;
+
+ if (this._isTransitioning) {
+ throw new Error('Collapse is transitioning');
+ }
+
+ if (!$(this._element).hasClass(ClassName.SHOW)) {
+ return;
+ }
+
+ var startEvent = $.Event(Event.HIDE);
+ $(this._element).trigger(startEvent);
+ if (startEvent.isDefaultPrevented()) {
+ return;
+ }
+
+ var dimension = this._getDimension();
+
+ this._element.style[dimension] = this._element.getBoundingClientRect()[dimension] + 'px';
+
+ Util.reflow(this._element);
+
+ $(this._element).addClass(ClassName.COLLAPSING).removeClass(ClassName.COLLAPSE).removeClass(ClassName.SHOW);
+
+ this._element.setAttribute('aria-expanded', false);
+
+ if (this._triggerArray.length) {
+ $(this._triggerArray).addClass(ClassName.COLLAPSED).attr('aria-expanded', false);
+ }
+
+ this.setTransitioning(true);
+
+ var complete = function complete() {
+ _this2.setTransitioning(false);
+ $(_this2._element).removeClass(ClassName.COLLAPSING).addClass(ClassName.COLLAPSE).trigger(Event.HIDDEN);
+ };
+
+ this._element.style[dimension] = '';
+
+ if (!Util.supportsTransitionEnd()) {
+ complete();
+ return;
+ }
+
+ $(this._element).one(Util.TRANSITION_END, complete).emulateTransitionEnd(TRANSITION_DURATION);
+ };
+
+ Collapse.prototype.setTransitioning = function setTransitioning(isTransitioning) {
+ this._isTransitioning = isTransitioning;
+ };
+
+ Collapse.prototype.dispose = function dispose() {
+ $.removeData(this._element, DATA_KEY);
+
+ this._config = null;
+ this._parent = null;
+ this._element = null;
+ this._triggerArray = null;
+ this._isTransitioning = null;
+ };
+
+ // private
+
+ Collapse.prototype._getConfig = function _getConfig(config) {
+ config = $.extend({}, Default, config);
+ config.toggle = Boolean(config.toggle); // coerce string values
+ Util.typeCheckConfig(NAME, config, DefaultType);
+ return config;
+ };
+
+ Collapse.prototype._getDimension = function _getDimension() {
+ var hasWidth = $(this._element).hasClass(Dimension.WIDTH);
+ return hasWidth ? Dimension.WIDTH : Dimension.HEIGHT;
+ };
+
+ Collapse.prototype._getParent = function _getParent() {
+ var _this3 = this;
+
+ var parent = $(this._config.parent)[0];
+ var selector = '[data-toggle="collapse"][data-parent="' + this._config.parent + '"]';
+
+ $(parent).find(selector).each(function (i, element) {
+ _this3._addAriaAndCollapsedClass(Collapse._getTargetFromElement(element), [element]);
+ });
+
+ return parent;
+ };
+
+ Collapse.prototype._addAriaAndCollapsedClass = function _addAriaAndCollapsedClass(element, triggerArray) {
+ if (element) {
+ var isOpen = $(element).hasClass(ClassName.SHOW);
+ element.setAttribute('aria-expanded', isOpen);
+
+ if (triggerArray.length) {
+ $(triggerArray).toggleClass(ClassName.COLLAPSED, !isOpen).attr('aria-expanded', isOpen);
+ }
+ }
+ };
+
+ // static
+
+ Collapse._getTargetFromElement = function _getTargetFromElement(element) {
+ var selector = Util.getSelectorFromElement(element);
+ return selector ? $(selector)[0] : null;
+ };
+
+ Collapse._jQueryInterface = function _jQueryInterface(config) {
+ return this.each(function () {
+ var $this = $(this);
+ var data = $this.data(DATA_KEY);
+ var _config = $.extend({}, Default, $this.data(), (typeof config === 'undefined' ? 'undefined' : _typeof(config)) === 'object' && config);
+
+ if (!data && _config.toggle && /show|hide/.test(config)) {
+ _config.toggle = false;
+ }
+
+ if (!data) {
+ data = new Collapse(this, _config);
+ $this.data(DATA_KEY, data);
+ }
+
+ if (typeof config === 'string') {
+ if (data[config] === undefined) {
+ throw new Error('No method named "' + config + '"');
+ }
+ data[config]();
+ }
+ });
+ };
+
+ _createClass(Collapse, null, [{
+ key: 'VERSION',
+ get: function get() {
+ return VERSION;
+ }
+ }, {
+ key: 'Default',
+ get: function get() {
+ return Default;
+ }
+ }]);
+
+ return Collapse;
+ }();
+
+ /**
+ * ------------------------------------------------------------------------
+ * Data Api implementation
+ * ------------------------------------------------------------------------
+ */
+
+ $(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {
+ event.preventDefault();
+
+ var target = Collapse._getTargetFromElement(this);
+ var data = $(target).data(DATA_KEY);
+ var config = data ? 'toggle' : $(this).data();
+
+ Collapse._jQueryInterface.call($(target), config);
+ });
+
+ /**
+ * ------------------------------------------------------------------------
+ * jQuery
+ * ------------------------------------------------------------------------
+ */
+
+ $.fn[NAME] = Collapse._jQueryInterface;
+ $.fn[NAME].Constructor = Collapse;
+ $.fn[NAME].noConflict = function () {
+ $.fn[NAME] = JQUERY_NO_CONFLICT;
+ return Collapse._jQueryInterface;
+ };
+
+ return Collapse;
+}(jQuery);
+//# sourceMappingURL=collapse.js.map
diff --git a/templates/assets/bootstrap/js/dist/collapse.js.map b/templates/assets/bootstrap/js/dist/collapse.js.map
new file mode 100644
index 0000000..8837084
--- /dev/null
+++ b/templates/assets/bootstrap/js/dist/collapse.js.map
@@ -0,0 +1 @@
+{"version":3,"sources":["../src/collapse.js"],"names":["Collapse","$","NAME","VERSION","DATA_KEY","EVENT_KEY","DATA_API_KEY","JQUERY_NO_CONFLICT","fn","TRANSITION_DURATION","Default","toggle","parent","DefaultType","Event","SHOW","SHOWN","HIDE","HIDDEN","CLICK_DATA_API","ClassName","COLLAPSE","COLLAPSING","COLLAPSED","Dimension","WIDTH","HEIGHT","Selector","ACTIVES","DATA_TOGGLE","DATA_CHILDREN","element","config","_isTransitioning","_element","_config","_getConfig","_triggerArray","makeArray","id","_parent","_getParent","_addAriaAndCollapsedClass","_selectorActives","childrenSelector","hasAttribute","getAttribute","hasClass","hide","show","Error","actives","activesData","find","length","data","startEvent","trigger","isDefaultPrevented","_jQueryInterface","call","dimension","_getDimension","removeClass","addClass","style","setAttribute","attr","setTransitioning","complete","Util","supportsTransitionEnd","capitalizedDimension","toUpperCase","slice","scrollSize","one","TRANSITION_END","emulateTransitionEnd","getBoundingClientRect","reflow","isTransitioning","dispose","removeData","extend","Boolean","typeCheckConfig","hasWidth","selector","each","i","_getTargetFromElement","triggerArray","isOpen","toggleClass","getSelectorFromElement","$this","test","undefined","document","on","event","preventDefault","target","Constructor","noConflict","jQuery"],"mappings":"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","file":"collapse.js","sourcesContent":["import Util from './util'\n\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0-alpha.6): collapse.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Collapse = (($) => {\n\n\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n const NAME = 'collapse'\n const VERSION = '4.0.0-alpha.6'\n const DATA_KEY = 'bs.collapse'\n const EVENT_KEY = `.${DATA_KEY}`\n const DATA_API_KEY = '.data-api'\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n const TRANSITION_DURATION = 600\n\n const Default = {\n toggle : true,\n parent : ''\n }\n\n const DefaultType = {\n toggle : 'boolean',\n parent : 'string'\n }\n\n const 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\n const ClassName = {\n SHOW : 'show',\n COLLAPSE : 'collapse',\n COLLAPSING : 'collapsing',\n COLLAPSED : 'collapsed'\n }\n\n const Dimension = {\n WIDTH : 'width',\n HEIGHT : 'height'\n }\n\n const Selector = {\n ACTIVES : '.card > .show, .card > .collapsing',\n DATA_TOGGLE : '[data-toggle=\"collapse\"]',\n DATA_CHILDREN : 'data-children'\n }\n\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n class Collapse {\n\n constructor(element, config) {\n this._isTransitioning = false\n this._element = element\n this._config = this._getConfig(config)\n this._triggerArray = $.makeArray($(\n `[data-toggle=\"collapse\"][href=\"#${element.id}\"],` +\n `[data-toggle=\"collapse\"][data-target=\"#${element.id}\"]`\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 this._selectorActives = Selector.ACTIVES\n if (this._parent) {\n const childrenSelector = this._parent.hasAttribute(Selector.DATA_CHILDREN) ? this._parent.getAttribute(Selector.DATA_CHILDREN) : null\n if (childrenSelector !== null) {\n this._selectorActives = `${childrenSelector} > .show, ${childrenSelector} > .collapsing`\n }\n }\n\n if (this._config.toggle) {\n this.toggle()\n }\n }\n\n\n // getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n\n // public\n\n toggle() {\n if ($(this._element).hasClass(ClassName.SHOW)) {\n this.hide()\n } else {\n this.show()\n }\n }\n\n show() {\n if (this._isTransitioning) {\n throw new Error('Collapse is transitioning')\n }\n\n if ($(this._element).hasClass(ClassName.SHOW)) {\n return\n }\n\n let actives\n let activesData\n\n if (this._parent) {\n actives = $.makeArray($(this._parent).find(this._selectorActives))\n if (!actives.length) {\n actives = null\n }\n }\n\n if (actives) {\n activesData = $(actives).data(DATA_KEY)\n if (activesData && activesData._isTransitioning) {\n return\n }\n }\n\n const startEvent = $.Event(Event.SHOW)\n $(this._element).trigger(startEvent)\n if (startEvent.isDefaultPrevented()) {\n return\n }\n\n if (actives) {\n Collapse._jQueryInterface.call($(actives), 'hide')\n if (!activesData) {\n $(actives).data(DATA_KEY, null)\n }\n }\n\n const dimension = this._getDimension()\n\n $(this._element)\n .removeClass(ClassName.COLLAPSE)\n .addClass(ClassName.COLLAPSING)\n\n this._element.style[dimension] = 0\n this._element.setAttribute('aria-expanded', true)\n\n if (this._triggerArray.length) {\n $(this._triggerArray)\n .removeClass(ClassName.COLLAPSED)\n .attr('aria-expanded', true)\n }\n\n this.setTransitioning(true)\n\n const complete = () => {\n $(this._element)\n .removeClass(ClassName.COLLAPSING)\n .addClass(ClassName.COLLAPSE)\n .addClass(ClassName.SHOW)\n\n this._element.style[dimension] = ''\n\n this.setTransitioning(false)\n\n $(this._element).trigger(Event.SHOWN)\n }\n\n if (!Util.supportsTransitionEnd()) {\n complete()\n return\n }\n\n const capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1)\n const scrollSize = `scroll${capitalizedDimension}`\n\n $(this._element)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(TRANSITION_DURATION)\n\n this._element.style[dimension] = `${this._element[scrollSize]}px`\n }\n\n hide() {\n if (this._isTransitioning) {\n throw new Error('Collapse is transitioning')\n }\n\n if (!$(this._element).hasClass(ClassName.SHOW)) {\n return\n }\n\n const startEvent = $.Event(Event.HIDE)\n $(this._element).trigger(startEvent)\n if (startEvent.isDefaultPrevented()) {\n return\n }\n\n const dimension = this._getDimension()\n\n this._element.style[dimension] = `${this._element.getBoundingClientRect()[dimension]}px`\n\n Util.reflow(this._element)\n\n $(this._element)\n .addClass(ClassName.COLLAPSING)\n .removeClass(ClassName.COLLAPSE)\n .removeClass(ClassName.SHOW)\n\n this._element.setAttribute('aria-expanded', false)\n\n if (this._triggerArray.length) {\n $(this._triggerArray)\n .addClass(ClassName.COLLAPSED)\n .attr('aria-expanded', false)\n }\n\n this.setTransitioning(true)\n\n const complete = () => {\n this.setTransitioning(false)\n $(this._element)\n .removeClass(ClassName.COLLAPSING)\n .addClass(ClassName.COLLAPSE)\n .trigger(Event.HIDDEN)\n }\n\n this._element.style[dimension] = ''\n\n if (!Util.supportsTransitionEnd()) {\n complete()\n return\n }\n\n $(this._element)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(TRANSITION_DURATION)\n }\n\n setTransitioning(isTransitioning) {\n this._isTransitioning = isTransitioning\n }\n\n dispose() {\n $.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\n // private\n\n _getConfig(config) {\n config = $.extend({}, Default, config)\n config.toggle = Boolean(config.toggle) // coerce string values\n Util.typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _getDimension() {\n const hasWidth = $(this._element).hasClass(Dimension.WIDTH)\n return hasWidth ? Dimension.WIDTH : Dimension.HEIGHT\n }\n\n _getParent() {\n const parent = $(this._config.parent)[0]\n const selector =\n `[data-toggle=\"collapse\"][data-parent=\"${this._config.parent}\"]`\n\n $(parent).find(selector).each((i, element) => {\n this._addAriaAndCollapsedClass(\n Collapse._getTargetFromElement(element),\n [element]\n )\n })\n\n return parent\n }\n\n _addAriaAndCollapsedClass(element, triggerArray) {\n if (element) {\n const isOpen = $(element).hasClass(ClassName.SHOW)\n element.setAttribute('aria-expanded', isOpen)\n\n if (triggerArray.length) {\n $(triggerArray)\n .toggleClass(ClassName.COLLAPSED, !isOpen)\n .attr('aria-expanded', isOpen)\n }\n }\n }\n\n\n // static\n\n static _getTargetFromElement(element) {\n const selector = Util.getSelectorFromElement(element)\n return selector ? $(selector)[0] : null\n }\n\n static _jQueryInterface(config) {\n return this.each(function () {\n const $this = $(this)\n let data = $this.data(DATA_KEY)\n const _config = $.extend(\n {},\n Default,\n $this.data(),\n typeof config === 'object' && 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(this, _config)\n $this.data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (data[config] === undefined) {\n throw new Error(`No method named \"${config}\"`)\n }\n data[config]()\n }\n })\n }\n\n }\n\n\n /**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n $(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {\n event.preventDefault()\n\n const target = Collapse._getTargetFromElement(this)\n const data = $(target).data(DATA_KEY)\n const config = data ? 'toggle' : $(this).data()\n\n Collapse._jQueryInterface.call($(target), config)\n })\n\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME] = Collapse._jQueryInterface\n $.fn[NAME].Constructor = Collapse\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Collapse._jQueryInterface\n }\n\n return Collapse\n\n})(jQuery)\n\nexport default Collapse\n"]} \ No newline at end of file
diff --git a/templates/assets/bootstrap/js/dist/dropdown.js b/templates/assets/bootstrap/js/dist/dropdown.js
new file mode 100644
index 0000000..0c81fe2
--- /dev/null
+++ b/templates/assets/bootstrap/js/dist/dropdown.js
@@ -0,0 +1,291 @@
+var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
+
+function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
+
+/**
+ * --------------------------------------------------------------------------
+ * Bootstrap (v4.0.0-alpha.6): dropdown.js
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ * --------------------------------------------------------------------------
+ */
+
+var Dropdown = function ($) {
+
+ /**
+ * ------------------------------------------------------------------------
+ * Constants
+ * ------------------------------------------------------------------------
+ */
+
+ var NAME = 'dropdown';
+ var VERSION = '4.0.0-alpha.6';
+ var DATA_KEY = 'bs.dropdown';
+ var EVENT_KEY = '.' + DATA_KEY;
+ var DATA_API_KEY = '.data-api';
+ var JQUERY_NO_CONFLICT = $.fn[NAME];
+ var ESCAPE_KEYCODE = 27; // KeyboardEvent.which value for Escape (Esc) key
+ var SPACE_KEYCODE = 32; // KeyboardEvent.which value for space key
+ var ARROW_UP_KEYCODE = 38; // KeyboardEvent.which value for up arrow key
+ 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 + '|' + SPACE_KEYCODE);
+
+ var Event = {
+ HIDE: 'hide' + EVENT_KEY,
+ HIDDEN: 'hidden' + EVENT_KEY,
+ SHOW: 'show' + EVENT_KEY,
+ SHOWN: 'shown' + EVENT_KEY,
+ CLICK: 'click' + EVENT_KEY,
+ CLICK_DATA_API: 'click' + EVENT_KEY + DATA_API_KEY,
+ FOCUSIN_DATA_API: 'focusin' + EVENT_KEY + DATA_API_KEY,
+ KEYDOWN_DATA_API: 'keydown' + EVENT_KEY + DATA_API_KEY
+ };
+
+ var ClassName = {
+ BACKDROP: 'dropdown-backdrop',
+ DISABLED: 'disabled',
+ SHOW: 'show'
+ };
+
+ var Selector = {
+ BACKDROP: '.dropdown-backdrop',
+ DATA_TOGGLE: '[data-toggle="dropdown"]',
+ FORM_CHILD: '.dropdown form',
+ ROLE_MENU: '[role="menu"]',
+ ROLE_LISTBOX: '[role="listbox"]',
+ NAVBAR_NAV: '.navbar-nav',
+ VISIBLE_ITEMS: '[role="menu"] li:not(.disabled) a, ' + '[role="listbox"] li:not(.disabled) a'
+ };
+
+ /**
+ * ------------------------------------------------------------------------
+ * Class Definition
+ * ------------------------------------------------------------------------
+ */
+
+ var Dropdown = function () {
+ function Dropdown(element) {
+ _classCallCheck(this, Dropdown);
+
+ this._element = element;
+
+ this._addEventListeners();
+ }
+
+ // getters
+
+ // public
+
+ Dropdown.prototype.toggle = function toggle() {
+ if (this.disabled || $(this).hasClass(ClassName.DISABLED)) {
+ return false;
+ }
+
+ var parent = Dropdown._getParentFromElement(this);
+ var isActive = $(parent).hasClass(ClassName.SHOW);
+
+ Dropdown._clearMenus();
+
+ if (isActive) {
+ return false;
+ }
+
+ var relatedTarget = {
+ relatedTarget: this
+ };
+ var showEvent = $.Event(Event.SHOW, relatedTarget);
+
+ $(parent).trigger(showEvent);
+
+ if (showEvent.isDefaultPrevented()) {
+ return false;
+ }
+
+ // set the backdrop only if the dropdown menu will be opened
+ if ('ontouchstart' in document.documentElement && !$(parent).closest(Selector.NAVBAR_NAV).length) {
+
+ // if mobile we use a backdrop because click events don't delegate
+ var dropdown = document.createElement('div');
+ dropdown.className = ClassName.BACKDROP;
+ $(dropdown).insertBefore(this);
+ $(dropdown).on('click', Dropdown._clearMenus);
+ }
+
+ this.focus();
+ this.setAttribute('aria-expanded', true);
+
+ $(parent).toggleClass(ClassName.SHOW);
+ $(parent).trigger($.Event(Event.SHOWN, relatedTarget));
+
+ return false;
+ };
+
+ Dropdown.prototype.dispose = function dispose() {
+ $.removeData(this._element, DATA_KEY);
+ $(this._element).off(EVENT_KEY);
+ this._element = null;
+ };
+
+ // private
+
+ Dropdown.prototype._addEventListeners = function _addEventListeners() {
+ $(this._element).on(Event.CLICK, this.toggle);
+ };
+
+ // static
+
+ Dropdown._jQueryInterface = function _jQueryInterface(config) {
+ return this.each(function () {
+ var data = $(this).data(DATA_KEY);
+
+ if (!data) {
+ data = new Dropdown(this);
+ $(this).data(DATA_KEY, data);
+ }
+
+ if (typeof config === 'string') {
+ if (data[config] === undefined) {
+ throw new Error('No method named "' + config + '"');
+ }
+ data[config].call(this);
+ }
+ });
+ };
+
+ Dropdown._clearMenus = function _clearMenus(event) {
+ if (event && event.which === RIGHT_MOUSE_BUTTON_WHICH) {
+ return;
+ }
+
+ var toggles = $.makeArray($(Selector.DATA_TOGGLE));
+
+ for (var i = 0; i < toggles.length; i++) {
+ var parent = Dropdown._getParentFromElement(toggles[i]);
+ var relatedTarget = {
+ relatedTarget: toggles[i]
+ };
+
+ if (!$(parent).hasClass(ClassName.SHOW)) {
+ continue;
+ }
+
+ if (event && (event.type === 'click' && /input|textarea/i.test(event.target.tagName) || event.type === 'focusin') && $.contains(parent, event.target)) {
+ continue;
+ }
+
+ var hideEvent = $.Event(Event.HIDE, relatedTarget);
+ $(parent).trigger(hideEvent);
+ if (hideEvent.isDefaultPrevented()) {
+ continue;
+ }
+
+ // remove backdrop only if the dropdown menu will be hidden
+ var backdrop = $(parent).find(Selector.BACKDROP)[0];
+ if (backdrop) {
+ backdrop.parentNode.removeChild(backdrop);
+ }
+
+ toggles[i].setAttribute('aria-expanded', 'false');
+
+ $(parent).removeClass(ClassName.SHOW).trigger($.Event(Event.HIDDEN, relatedTarget));
+ }
+ };
+
+ Dropdown._getParentFromElement = function _getParentFromElement(element) {
+ var parent = void 0;
+ var selector = Util.getSelectorFromElement(element);
+
+ if (selector) {
+ parent = $(selector)[0];
+ }
+
+ return parent || element.parentNode;
+ };
+
+ Dropdown._dataApiKeydownHandler = function _dataApiKeydownHandler(event) {
+ if (!REGEXP_KEYDOWN.test(event.which) || /input|textarea/i.test(event.target.tagName)) {
+ return;
+ }
+
+ event.preventDefault();
+ event.stopPropagation();
+
+ if (this.disabled || $(this).hasClass(ClassName.DISABLED)) {
+ return;
+ }
+
+ var parent = Dropdown._getParentFromElement(this);
+ var isActive = $(parent).hasClass(ClassName.SHOW);
+
+ if (!isActive && event.which !== ESCAPE_KEYCODE || isActive && event.which === ESCAPE_KEYCODE) {
+
+ if (event.which === ESCAPE_KEYCODE) {
+ var toggle = $(parent).find(Selector.DATA_TOGGLE)[0];
+ $(toggle).trigger('focus');
+ }
+
+ $(this).trigger('click');
+ return;
+ }
+
+ var items = $(parent).find(Selector.VISIBLE_ITEMS).get();
+
+ if (!items.length) {
+ return;
+ }
+
+ var index = items.indexOf(event.target);
+
+ if (event.which === ARROW_UP_KEYCODE && index > 0) {
+ // up
+ index--;
+ }
+
+ if (event.which === ARROW_DOWN_KEYCODE && index < items.length - 1) {
+ // down
+ index++;
+ }
+
+ if (index < 0) {
+ index = 0;
+ }
+
+ items[index].focus();
+ };
+
+ _createClass(Dropdown, null, [{
+ key: 'VERSION',
+ get: function get() {
+ return VERSION;
+ }
+ }]);
+
+ return Dropdown;
+ }();
+
+ /**
+ * ------------------------------------------------------------------------
+ * Data Api implementation
+ * ------------------------------------------------------------------------
+ */
+
+ $(document).on(Event.KEYDOWN_DATA_API, Selector.DATA_TOGGLE, Dropdown._dataApiKeydownHandler).on(Event.KEYDOWN_DATA_API, Selector.ROLE_MENU, Dropdown._dataApiKeydownHandler).on(Event.KEYDOWN_DATA_API, Selector.ROLE_LISTBOX, Dropdown._dataApiKeydownHandler).on(Event.CLICK_DATA_API + ' ' + Event.FOCUSIN_DATA_API, Dropdown._clearMenus).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, Dropdown.prototype.toggle).on(Event.CLICK_DATA_API, Selector.FORM_CHILD, function (e) {
+ e.stopPropagation();
+ });
+
+ /**
+ * ------------------------------------------------------------------------
+ * jQuery
+ * ------------------------------------------------------------------------
+ */
+
+ $.fn[NAME] = Dropdown._jQueryInterface;
+ $.fn[NAME].Constructor = Dropdown;
+ $.fn[NAME].noConflict = function () {
+ $.fn[NAME] = JQUERY_NO_CONFLICT;
+ return Dropdown._jQueryInterface;
+ };
+
+ return Dropdown;
+}(jQuery);
+//# sourceMappingURL=dropdown.js.map
diff --git a/templates/assets/bootstrap/js/dist/dropdown.js.map b/templates/assets/bootstrap/js/dist/dropdown.js.map
new file mode 100644
index 0000000..0f8e851
--- /dev/null
+++ b/templates/assets/bootstrap/js/dist/dropdown.js.map
@@ -0,0 +1 @@
+{"version":3,"sources":["../src/dropdown.js"],"names":["Dropdown","$","NAME","VERSION","DATA_KEY","EVENT_KEY","DATA_API_KEY","JQUERY_NO_CONFLICT","fn","ESCAPE_KEYCODE","SPACE_KEYCODE","ARROW_UP_KEYCODE","ARROW_DOWN_KEYCODE","RIGHT_MOUSE_BUTTON_WHICH","REGEXP_KEYDOWN","RegExp","Event","HIDE","HIDDEN","SHOW","SHOWN","CLICK","CLICK_DATA_API","FOCUSIN_DATA_API","KEYDOWN_DATA_API","ClassName","BACKDROP","DISABLED","Selector","DATA_TOGGLE","FORM_CHILD","ROLE_MENU","ROLE_LISTBOX","NAVBAR_NAV","VISIBLE_ITEMS","element","_element","_addEventListeners","toggle","disabled","hasClass","parent","_getParentFromElement","isActive","_clearMenus","relatedTarget","showEvent","trigger","isDefaultPrevented","document","documentElement","closest","length","dropdown","createElement","className","insertBefore","on","focus","setAttribute","toggleClass","dispose","removeData","off","_jQueryInterface","config","each","data","undefined","Error","call","event","which","toggles","makeArray","i","type","test","target","tagName","contains","hideEvent","backdrop","find","parentNode","removeChild","removeClass","selector","Util","getSelectorFromElement","_dataApiKeydownHandler","preventDefault","stopPropagation","items","get","index","indexOf","prototype","e","Constructor","noConflict","jQuery"],"mappings":"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","file":"dropdown.js","sourcesContent":["import Util from './util'\n\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0-alpha.6): dropdown.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Dropdown = (($) => {\n\n\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n const NAME = 'dropdown'\n const VERSION = '4.0.0-alpha.6'\n const DATA_KEY = 'bs.dropdown'\n const EVENT_KEY = `.${DATA_KEY}`\n const DATA_API_KEY = '.data-api'\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n const ESCAPE_KEYCODE = 27 // KeyboardEvent.which value for Escape (Esc) key\n const SPACE_KEYCODE = 32 // KeyboardEvent.which value for space key\n const ARROW_UP_KEYCODE = 38 // KeyboardEvent.which value for up arrow key\n const ARROW_DOWN_KEYCODE = 40 // KeyboardEvent.which value for down arrow key\n const RIGHT_MOUSE_BUTTON_WHICH = 3 // MouseEvent.which value for the right button (assuming a right-handed mouse)\n const REGEXP_KEYDOWN = new RegExp(`${ARROW_UP_KEYCODE}|${ARROW_DOWN_KEYCODE}|${ESCAPE_KEYCODE}|${SPACE_KEYCODE}`)\n\n const 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 FOCUSIN_DATA_API : `focusin${EVENT_KEY}${DATA_API_KEY}`,\n KEYDOWN_DATA_API : `keydown${EVENT_KEY}${DATA_API_KEY}`\n }\n\n const ClassName = {\n BACKDROP : 'dropdown-backdrop',\n DISABLED : 'disabled',\n SHOW : 'show'\n }\n\n const Selector = {\n BACKDROP : '.dropdown-backdrop',\n DATA_TOGGLE : '[data-toggle=\"dropdown\"]',\n FORM_CHILD : '.dropdown form',\n ROLE_MENU : '[role=\"menu\"]',\n ROLE_LISTBOX : '[role=\"listbox\"]',\n NAVBAR_NAV : '.navbar-nav',\n VISIBLE_ITEMS : '[role=\"menu\"] li:not(.disabled) a, '\n + '[role=\"listbox\"] li:not(.disabled) a'\n }\n\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n class Dropdown {\n\n constructor(element) {\n this._element = element\n\n this._addEventListeners()\n }\n\n\n // getters\n\n static get VERSION() {\n return VERSION\n }\n\n\n // public\n\n toggle() {\n if (this.disabled || $(this).hasClass(ClassName.DISABLED)) {\n return false\n }\n\n const parent = Dropdown._getParentFromElement(this)\n const isActive = $(parent).hasClass(ClassName.SHOW)\n\n Dropdown._clearMenus()\n\n if (isActive) {\n return false\n }\n\n const relatedTarget = {\n relatedTarget : this\n }\n const showEvent = $.Event(Event.SHOW, relatedTarget)\n\n $(parent).trigger(showEvent)\n\n if (showEvent.isDefaultPrevented()) {\n return false\n }\n\n // set the backdrop only if the dropdown menu will be opened\n if ('ontouchstart' in document.documentElement &&\n !$(parent).closest(Selector.NAVBAR_NAV).length) {\n\n // if mobile we use a backdrop because click events don't delegate\n const dropdown = document.createElement('div')\n dropdown.className = ClassName.BACKDROP\n $(dropdown).insertBefore(this)\n $(dropdown).on('click', Dropdown._clearMenus)\n }\n\n this.focus()\n this.setAttribute('aria-expanded', true)\n\n $(parent).toggleClass(ClassName.SHOW)\n $(parent).trigger($.Event(Event.SHOWN, relatedTarget))\n\n return false\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n $(this._element).off(EVENT_KEY)\n this._element = null\n }\n\n\n // private\n\n _addEventListeners() {\n $(this._element).on(Event.CLICK, this.toggle)\n }\n\n\n // static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n\n if (!data) {\n data = new Dropdown(this)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (data[config] === undefined) {\n throw new Error(`No method named \"${config}\"`)\n }\n data[config].call(this)\n }\n })\n }\n\n static _clearMenus(event) {\n if (event && event.which === RIGHT_MOUSE_BUTTON_WHICH) {\n return\n }\n\n const toggles = $.makeArray($(Selector.DATA_TOGGLE))\n\n for (let i = 0; i < toggles.length; i++) {\n const parent = Dropdown._getParentFromElement(toggles[i])\n const relatedTarget = {\n relatedTarget : toggles[i]\n }\n\n if (!$(parent).hasClass(ClassName.SHOW)) {\n continue\n }\n\n if (event && (event.type === 'click' &&\n /input|textarea/i.test(event.target.tagName) || event.type === 'focusin')\n && $.contains(parent, event.target)) {\n continue\n }\n\n const hideEvent = $.Event(Event.HIDE, relatedTarget)\n $(parent).trigger(hideEvent)\n if (hideEvent.isDefaultPrevented()) {\n continue\n }\n\n // remove backdrop only if the dropdown menu will be hidden\n const backdrop = $(parent).find(Selector.BACKDROP)[0]\n if (backdrop) {\n backdrop.parentNode.removeChild(backdrop)\n }\n\n toggles[i].setAttribute('aria-expanded', 'false')\n\n $(parent)\n .removeClass(ClassName.SHOW)\n .trigger($.Event(Event.HIDDEN, relatedTarget))\n }\n }\n\n static _getParentFromElement(element) {\n let parent\n const selector = Util.getSelectorFromElement(element)\n\n if (selector) {\n parent = $(selector)[0]\n }\n\n return parent || element.parentNode\n }\n\n static _dataApiKeydownHandler(event) {\n if (!REGEXP_KEYDOWN.test(event.which) ||\n /input|textarea/i.test(event.target.tagName)) {\n return\n }\n\n event.preventDefault()\n event.stopPropagation()\n\n if (this.disabled || $(this).hasClass(ClassName.DISABLED)) {\n return\n }\n\n const parent = Dropdown._getParentFromElement(this)\n const isActive = $(parent).hasClass(ClassName.SHOW)\n\n if (!isActive && event.which !== ESCAPE_KEYCODE ||\n isActive && event.which === ESCAPE_KEYCODE) {\n\n if (event.which === ESCAPE_KEYCODE) {\n const toggle = $(parent).find(Selector.DATA_TOGGLE)[0]\n $(toggle).trigger('focus')\n }\n\n $(this).trigger('click')\n return\n }\n\n const items = $(parent).find(Selector.VISIBLE_ITEMS).get()\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 }\n\n\n /**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n $(document)\n .on(Event.KEYDOWN_DATA_API, Selector.DATA_TOGGLE, Dropdown._dataApiKeydownHandler)\n .on(Event.KEYDOWN_DATA_API, Selector.ROLE_MENU, Dropdown._dataApiKeydownHandler)\n .on(Event.KEYDOWN_DATA_API, Selector.ROLE_LISTBOX, Dropdown._dataApiKeydownHandler)\n .on(`${Event.CLICK_DATA_API} ${Event.FOCUSIN_DATA_API}`, Dropdown._clearMenus)\n .on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, Dropdown.prototype.toggle)\n .on(Event.CLICK_DATA_API, Selector.FORM_CHILD, (e) => {\n e.stopPropagation()\n })\n\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME] = Dropdown._jQueryInterface\n $.fn[NAME].Constructor = Dropdown\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Dropdown._jQueryInterface\n }\n\n return Dropdown\n\n})(jQuery)\n\nexport default Dropdown\n"]} \ No newline at end of file
diff --git a/templates/assets/bootstrap/js/dist/modal.js b/templates/assets/bootstrap/js/dist/modal.js
new file mode 100644
index 0000000..8138f19
--- /dev/null
+++ b/templates/assets/bootstrap/js/dist/modal.js
@@ -0,0 +1,535 @@
+var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
+
+var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
+
+function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
+
+/**
+ * --------------------------------------------------------------------------
+ * Bootstrap (v4.0.0-alpha.6): modal.js
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ * --------------------------------------------------------------------------
+ */
+
+var Modal = function ($) {
+
+ /**
+ * ------------------------------------------------------------------------
+ * Constants
+ * ------------------------------------------------------------------------
+ */
+
+ var NAME = 'modal';
+ var VERSION = '4.0.0-alpha.6';
+ var DATA_KEY = 'bs.modal';
+ var EVENT_KEY = '.' + DATA_KEY;
+ var DATA_API_KEY = '.data-api';
+ var JQUERY_NO_CONFLICT = $.fn[NAME];
+ var TRANSITION_DURATION = 300;
+ var BACKDROP_TRANSITION_DURATION = 150;
+ var ESCAPE_KEYCODE = 27; // KeyboardEvent.which value for Escape (Esc) key
+
+ var Default = {
+ backdrop: true,
+ keyboard: true,
+ focus: true,
+ show: true
+ };
+
+ var DefaultType = {
+ backdrop: '(boolean|string)',
+ keyboard: 'boolean',
+ focus: 'boolean',
+ show: 'boolean'
+ };
+
+ var Event = {
+ HIDE: 'hide' + EVENT_KEY,
+ HIDDEN: 'hidden' + EVENT_KEY,
+ SHOW: 'show' + EVENT_KEY,
+ SHOWN: 'shown' + EVENT_KEY,
+ FOCUSIN: 'focusin' + EVENT_KEY,
+ RESIZE: 'resize' + EVENT_KEY,
+ CLICK_DISMISS: 'click.dismiss' + EVENT_KEY,
+ KEYDOWN_DISMISS: 'keydown.dismiss' + EVENT_KEY,
+ MOUSEUP_DISMISS: 'mouseup.dismiss' + EVENT_KEY,
+ MOUSEDOWN_DISMISS: 'mousedown.dismiss' + EVENT_KEY,
+ CLICK_DATA_API: 'click' + EVENT_KEY + DATA_API_KEY
+ };
+
+ var ClassName = {
+ SCROLLBAR_MEASURER: 'modal-scrollbar-measure',
+ BACKDROP: 'modal-backdrop',
+ OPEN: 'modal-open',
+ FADE: 'fade',
+ SHOW: 'show'
+ };
+
+ var Selector = {
+ DIALOG: '.modal-dialog',
+ DATA_TOGGLE: '[data-toggle="modal"]',
+ DATA_DISMISS: '[data-dismiss="modal"]',
+ FIXED_CONTENT: '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top'
+ };
+
+ /**
+ * ------------------------------------------------------------------------
+ * Class Definition
+ * ------------------------------------------------------------------------
+ */
+
+ var Modal = function () {
+ function Modal(element, config) {
+ _classCallCheck(this, Modal);
+
+ this._config = this._getConfig(config);
+ this._element = element;
+ this._dialog = $(element).find(Selector.DIALOG)[0];
+ this._backdrop = null;
+ this._isShown = false;
+ this._isBodyOverflowing = false;
+ this._ignoreBackdropClick = false;
+ this._isTransitioning = false;
+ this._originalBodyPadding = 0;
+ this._scrollbarWidth = 0;
+ }
+
+ // getters
+
+ // public
+
+ Modal.prototype.toggle = function toggle(relatedTarget) {
+ return this._isShown ? this.hide() : this.show(relatedTarget);
+ };
+
+ Modal.prototype.show = function show(relatedTarget) {
+ var _this = this;
+
+ if (this._isTransitioning) {
+ throw new Error('Modal is transitioning');
+ }
+
+ if (Util.supportsTransitionEnd() && $(this._element).hasClass(ClassName.FADE)) {
+ this._isTransitioning = true;
+ }
+ var showEvent = $.Event(Event.SHOW, {
+ relatedTarget: relatedTarget
+ });
+
+ $(this._element).trigger(showEvent);
+
+ if (this._isShown || showEvent.isDefaultPrevented()) {
+ return;
+ }
+
+ this._isShown = true;
+
+ this._checkScrollbar();
+ this._setScrollbar();
+
+ $(document.body).addClass(ClassName.OPEN);
+
+ this._setEscapeEvent();
+ this._setResizeEvent();
+
+ $(this._element).on(Event.CLICK_DISMISS, Selector.DATA_DISMISS, function (event) {
+ return _this.hide(event);
+ });
+
+ $(this._dialog).on(Event.MOUSEDOWN_DISMISS, function () {
+ $(_this._element).one(Event.MOUSEUP_DISMISS, function (event) {
+ if ($(event.target).is(_this._element)) {
+ _this._ignoreBackdropClick = true;
+ }
+ });
+ });
+
+ this._showBackdrop(function () {
+ return _this._showElement(relatedTarget);
+ });
+ };
+
+ Modal.prototype.hide = function hide(event) {
+ var _this2 = this;
+
+ if (event) {
+ event.preventDefault();
+ }
+
+ if (this._isTransitioning) {
+ throw new Error('Modal is transitioning');
+ }
+
+ var transition = Util.supportsTransitionEnd() && $(this._element).hasClass(ClassName.FADE);
+ if (transition) {
+ this._isTransitioning = true;
+ }
+
+ var hideEvent = $.Event(Event.HIDE);
+ $(this._element).trigger(hideEvent);
+
+ if (!this._isShown || hideEvent.isDefaultPrevented()) {
+ return;
+ }
+
+ this._isShown = false;
+
+ this._setEscapeEvent();
+ this._setResizeEvent();
+
+ $(document).off(Event.FOCUSIN);
+
+ $(this._element).removeClass(ClassName.SHOW);
+
+ $(this._element).off(Event.CLICK_DISMISS);
+ $(this._dialog).off(Event.MOUSEDOWN_DISMISS);
+
+ if (transition) {
+ $(this._element).one(Util.TRANSITION_END, function (event) {
+ return _this2._hideModal(event);
+ }).emulateTransitionEnd(TRANSITION_DURATION);
+ } else {
+ this._hideModal();
+ }
+ };
+
+ Modal.prototype.dispose = function dispose() {
+ $.removeData(this._element, DATA_KEY);
+
+ $(window, document, this._element, this._backdrop).off(EVENT_KEY);
+
+ this._config = null;
+ this._element = null;
+ this._dialog = null;
+ this._backdrop = null;
+ this._isShown = null;
+ this._isBodyOverflowing = null;
+ this._ignoreBackdropClick = null;
+ this._originalBodyPadding = null;
+ this._scrollbarWidth = null;
+ };
+
+ // private
+
+ Modal.prototype._getConfig = function _getConfig(config) {
+ config = $.extend({}, Default, config);
+ Util.typeCheckConfig(NAME, config, DefaultType);
+ return config;
+ };
+
+ Modal.prototype._showElement = function _showElement(relatedTarget) {
+ var _this3 = this;
+
+ var transition = Util.supportsTransitionEnd() && $(this._element).hasClass(ClassName.FADE);
+
+ if (!this._element.parentNode || this._element.parentNode.nodeType !== Node.ELEMENT_NODE) {
+ // don't move modals dom position
+ document.body.appendChild(this._element);
+ }
+
+ this._element.style.display = 'block';
+ this._element.removeAttribute('aria-hidden');
+ this._element.scrollTop = 0;
+
+ if (transition) {
+ Util.reflow(this._element);
+ }
+
+ $(this._element).addClass(ClassName.SHOW);
+
+ if (this._config.focus) {
+ this._enforceFocus();
+ }
+
+ var shownEvent = $.Event(Event.SHOWN, {
+ relatedTarget: relatedTarget
+ });
+
+ var transitionComplete = function transitionComplete() {
+ if (_this3._config.focus) {
+ _this3._element.focus();
+ }
+ _this3._isTransitioning = false;
+ $(_this3._element).trigger(shownEvent);
+ };
+
+ if (transition) {
+ $(this._dialog).one(Util.TRANSITION_END, transitionComplete).emulateTransitionEnd(TRANSITION_DURATION);
+ } else {
+ transitionComplete();
+ }
+ };
+
+ Modal.prototype._enforceFocus = function _enforceFocus() {
+ var _this4 = this;
+
+ $(document).off(Event.FOCUSIN) // guard against infinite focus loop
+ .on(Event.FOCUSIN, function (event) {
+ if (document !== event.target && _this4._element !== event.target && !$(_this4._element).has(event.target).length) {
+ _this4._element.focus();
+ }
+ });
+ };
+
+ Modal.prototype._setEscapeEvent = function _setEscapeEvent() {
+ var _this5 = this;
+
+ if (this._isShown && this._config.keyboard) {
+ $(this._element).on(Event.KEYDOWN_DISMISS, function (event) {
+ if (event.which === ESCAPE_KEYCODE) {
+ _this5.hide();
+ }
+ });
+ } else if (!this._isShown) {
+ $(this._element).off(Event.KEYDOWN_DISMISS);
+ }
+ };
+
+ Modal.prototype._setResizeEvent = function _setResizeEvent() {
+ var _this6 = this;
+
+ if (this._isShown) {
+ $(window).on(Event.RESIZE, function (event) {
+ return _this6._handleUpdate(event);
+ });
+ } else {
+ $(window).off(Event.RESIZE);
+ }
+ };
+
+ Modal.prototype._hideModal = function _hideModal() {
+ var _this7 = this;
+
+ this._element.style.display = 'none';
+ this._element.setAttribute('aria-hidden', 'true');
+ this._isTransitioning = false;
+ this._showBackdrop(function () {
+ $(document.body).removeClass(ClassName.OPEN);
+ _this7._resetAdjustments();
+ _this7._resetScrollbar();
+ $(_this7._element).trigger(Event.HIDDEN);
+ });
+ };
+
+ Modal.prototype._removeBackdrop = function _removeBackdrop() {
+ if (this._backdrop) {
+ $(this._backdrop).remove();
+ this._backdrop = null;
+ }
+ };
+
+ Modal.prototype._showBackdrop = function _showBackdrop(callback) {
+ var _this8 = this;
+
+ var animate = $(this._element).hasClass(ClassName.FADE) ? ClassName.FADE : '';
+
+ if (this._isShown && this._config.backdrop) {
+ var doAnimate = Util.supportsTransitionEnd() && animate;
+
+ this._backdrop = document.createElement('div');
+ this._backdrop.className = ClassName.BACKDROP;
+
+ if (animate) {
+ $(this._backdrop).addClass(animate);
+ }
+
+ $(this._backdrop).appendTo(document.body);
+
+ $(this._element).on(Event.CLICK_DISMISS, function (event) {
+ if (_this8._ignoreBackdropClick) {
+ _this8._ignoreBackdropClick = false;
+ return;
+ }
+ if (event.target !== event.currentTarget) {
+ return;
+ }
+ if (_this8._config.backdrop === 'static') {
+ _this8._element.focus();
+ } else {
+ _this8.hide();
+ }
+ });
+
+ if (doAnimate) {
+ Util.reflow(this._backdrop);
+ }
+
+ $(this._backdrop).addClass(ClassName.SHOW);
+
+ if (!callback) {
+ return;
+ }
+
+ if (!doAnimate) {
+ callback();
+ return;
+ }
+
+ $(this._backdrop).one(Util.TRANSITION_END, callback).emulateTransitionEnd(BACKDROP_TRANSITION_DURATION);
+ } else if (!this._isShown && this._backdrop) {
+ $(this._backdrop).removeClass(ClassName.SHOW);
+
+ var callbackRemove = function callbackRemove() {
+ _this8._removeBackdrop();
+ if (callback) {
+ callback();
+ }
+ };
+
+ if (Util.supportsTransitionEnd() && $(this._element).hasClass(ClassName.FADE)) {
+ $(this._backdrop).one(Util.TRANSITION_END, callbackRemove).emulateTransitionEnd(BACKDROP_TRANSITION_DURATION);
+ } else {
+ callbackRemove();
+ }
+ } else if (callback) {
+ callback();
+ }
+ };
+
+ // ----------------------------------------------------------------------
+ // the following methods are used to handle overflowing modals
+ // todo (fat): these should probably be refactored out of modal.js
+ // ----------------------------------------------------------------------
+
+ Modal.prototype._handleUpdate = function _handleUpdate() {
+ this._adjustDialog();
+ };
+
+ Modal.prototype._adjustDialog = function _adjustDialog() {
+ var isModalOverflowing = this._element.scrollHeight > document.documentElement.clientHeight;
+
+ if (!this._isBodyOverflowing && isModalOverflowing) {
+ this._element.style.paddingLeft = this._scrollbarWidth + 'px';
+ }
+
+ if (this._isBodyOverflowing && !isModalOverflowing) {
+ this._element.style.paddingRight = this._scrollbarWidth + 'px';
+ }
+ };
+
+ Modal.prototype._resetAdjustments = function _resetAdjustments() {
+ this._element.style.paddingLeft = '';
+ this._element.style.paddingRight = '';
+ };
+
+ Modal.prototype._checkScrollbar = function _checkScrollbar() {
+ this._isBodyOverflowing = document.body.clientWidth < window.innerWidth;
+ this._scrollbarWidth = this._getScrollbarWidth();
+ };
+
+ Modal.prototype._setScrollbar = function _setScrollbar() {
+ var bodyPadding = parseInt($(Selector.FIXED_CONTENT).css('padding-right') || 0, 10);
+
+ this._originalBodyPadding = document.body.style.paddingRight || '';
+
+ if (this._isBodyOverflowing) {
+ document.body.style.paddingRight = bodyPadding + this._scrollbarWidth + 'px';
+ }
+ };
+
+ Modal.prototype._resetScrollbar = function _resetScrollbar() {
+ document.body.style.paddingRight = this._originalBodyPadding;
+ };
+
+ Modal.prototype._getScrollbarWidth = function _getScrollbarWidth() {
+ // thx d.walsh
+ var scrollDiv = document.createElement('div');
+ scrollDiv.className = ClassName.SCROLLBAR_MEASURER;
+ document.body.appendChild(scrollDiv);
+ var scrollbarWidth = scrollDiv.getBoundingClientRect().width - scrollDiv.clientWidth;
+ document.body.removeChild(scrollDiv);
+ return scrollbarWidth;
+ };
+
+ // static
+
+ Modal._jQueryInterface = function _jQueryInterface(config, relatedTarget) {
+ return this.each(function () {
+ var data = $(this).data(DATA_KEY);
+ var _config = $.extend({}, Modal.Default, $(this).data(), (typeof config === 'undefined' ? 'undefined' : _typeof(config)) === 'object' && config);
+
+ if (!data) {
+ data = new Modal(this, _config);
+ $(this).data(DATA_KEY, data);
+ }
+
+ if (typeof config === 'string') {
+ if (data[config] === undefined) {
+ throw new Error('No method named "' + config + '"');
+ }
+ data[config](relatedTarget);
+ } else if (_config.show) {
+ data.show(relatedTarget);
+ }
+ });
+ };
+
+ _createClass(Modal, null, [{
+ key: 'VERSION',
+ get: function get() {
+ return VERSION;
+ }
+ }, {
+ key: 'Default',
+ get: function get() {
+ return Default;
+ }
+ }]);
+
+ return Modal;
+ }();
+
+ /**
+ * ------------------------------------------------------------------------
+ * Data Api implementation
+ * ------------------------------------------------------------------------
+ */
+
+ $(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {
+ var _this9 = this;
+
+ var target = void 0;
+ var selector = Util.getSelectorFromElement(this);
+
+ if (selector) {
+ target = $(selector)[0];
+ }
+
+ var config = $(target).data(DATA_KEY) ? 'toggle' : $.extend({}, $(target).data(), $(this).data());
+
+ if (this.tagName === 'A' || this.tagName === 'AREA') {
+ event.preventDefault();
+ }
+
+ var $target = $(target).one(Event.SHOW, function (showEvent) {
+ if (showEvent.isDefaultPrevented()) {
+ // only register focus restorer if modal will actually get shown
+ return;
+ }
+
+ $target.one(Event.HIDDEN, function () {
+ if ($(_this9).is(':visible')) {
+ _this9.focus();
+ }
+ });
+ });
+
+ Modal._jQueryInterface.call($(target), config, this);
+ });
+
+ /**
+ * ------------------------------------------------------------------------
+ * jQuery
+ * ------------------------------------------------------------------------
+ */
+
+ $.fn[NAME] = Modal._jQueryInterface;
+ $.fn[NAME].Constructor = Modal;
+ $.fn[NAME].noConflict = function () {
+ $.fn[NAME] = JQUERY_NO_CONFLICT;
+ return Modal._jQueryInterface;
+ };
+
+ return Modal;
+}(jQuery);
+//# sourceMappingURL=modal.js.map
diff --git a/templates/assets/bootstrap/js/dist/modal.js.map b/templates/assets/bootstrap/js/dist/modal.js.map
new file mode 100644
index 0000000..9a34bd6
--- /dev/null
+++ b/templates/assets/bootstrap/js/dist/modal.js.map
@@ -0,0 +1 @@
+{"version":3,"sources":["../src/modal.js"],"names":["Modal","$","NAME","VERSION","DATA_KEY","EVENT_KEY","DATA_API_KEY","JQUERY_NO_CONFLICT","fn","TRANSITION_DURATION","BACKDROP_TRANSITION_DURATION","ESCAPE_KEYCODE","Default","backdrop","keyboard","focus","show","DefaultType","Event","HIDE","HIDDEN","SHOW","SHOWN","FOCUSIN","RESIZE","CLICK_DISMISS","KEYDOWN_DISMISS","MOUSEUP_DISMISS","MOUSEDOWN_DISMISS","CLICK_DATA_API","ClassName","SCROLLBAR_MEASURER","BACKDROP","OPEN","FADE","Selector","DIALOG","DATA_TOGGLE","DATA_DISMISS","FIXED_CONTENT","element","config","_config","_getConfig","_element","_dialog","find","_backdrop","_isShown","_isBodyOverflowing","_ignoreBackdropClick","_isTransitioning","_originalBodyPadding","_scrollbarWidth","toggle","relatedTarget","hide","Error","Util","supportsTransitionEnd","hasClass","showEvent","trigger","isDefaultPrevented","_checkScrollbar","_setScrollbar","document","body","addClass","_setEscapeEvent","_setResizeEvent","on","event","one","target","is","_showBackdrop","_showElement","preventDefault","transition","hideEvent","off","removeClass","TRANSITION_END","_hideModal","emulateTransitionEnd","dispose","removeData","window","extend","typeCheckConfig","parentNode","nodeType","Node","ELEMENT_NODE","appendChild","style","display","removeAttribute","scrollTop","reflow","_enforceFocus","shownEvent","transitionComplete","has","length","which","_handleUpdate","setAttribute","_resetAdjustments","_resetScrollbar","_removeBackdrop","remove","callback","animate","doAnimate","createElement","className","appendTo","currentTarget","callbackRemove","_adjustDialog","isModalOverflowing","scrollHeight","documentElement","clientHeight","paddingLeft","paddingRight","clientWidth","innerWidth","_getScrollbarWidth","bodyPadding","parseInt","css","scrollDiv","scrollbarWidth","getBoundingClientRect","width","removeChild","_jQueryInterface","each","data","undefined","selector","getSelectorFromElement","tagName","$target","call","Constructor","noConflict","jQuery"],"mappings":";;;;;;AAGA;;;;;;;AAOA,IAAMA,QAAS,UAACC,CAAD,EAAO;;AAGpB;;;;;;AAMA,MAAMC,OAA+B,OAArC;AACA,MAAMC,UAA+B,eAArC;AACA,MAAMC,WAA+B,UAArC;AACA,MAAMC,kBAAmCD,QAAzC;AACA,MAAME,eAA+B,WAArC;AACA,MAAMC,qBAA+BN,EAAEO,EAAF,CAAKN,IAAL,CAArC;AACA,MAAMO,sBAA+B,GAArC;AACA,MAAMC,+BAA+B,GAArC;AACA,MAAMC,iBAA+B,EAArC,CAjBoB,CAiBoB;;AAExC,MAAMC,UAAU;AACdC,cAAW,IADG;AAEdC,cAAW,IAFG;AAGdC,WAAW,IAHG;AAIdC,UAAW;AAJG,GAAhB;;AAOA,MAAMC,cAAc;AAClBJ,cAAW,kBADO;AAElBC,cAAW,SAFO;AAGlBC,WAAW,SAHO;AAIlBC,UAAW;AAJO,GAApB;;AAOA,MAAME,QAAQ;AACZC,mBAA2Bd,SADf;AAEZe,uBAA6Bf,SAFjB;AAGZgB,mBAA2BhB,SAHf;AAIZiB,qBAA4BjB,SAJhB;AAKZkB,yBAA8BlB,SALlB;AAMZmB,uBAA6BnB,SANjB;AAOZoB,qCAAoCpB,SAPxB;AAQZqB,yCAAsCrB,SAR1B;AASZsB,yCAAsCtB,SAT1B;AAUZuB,6CAAwCvB,SAV5B;AAWZwB,8BAA4BxB,SAA5B,GAAwCC;AAX5B,GAAd;;AAcA,MAAMwB,YAAY;AAChBC,wBAAqB,yBADL;AAEhBC,cAAqB,gBAFL;AAGhBC,UAAqB,YAHL;AAIhBC,UAAqB,MAJL;AAKhBb,UAAqB;AALL,GAAlB;;AAQA,MAAMc,WAAW;AACfC,YAAqB,eADN;AAEfC,iBAAqB,uBAFN;AAGfC,kBAAqB,wBAHN;AAIfC,mBAAqB;AAJN,GAAjB;;AAQA;;;;;;AA/DoB,MAqEdvC,KArEc;AAuElB,mBAAYwC,OAAZ,EAAqBC,MAArB,EAA6B;AAAA;;AAC3B,WAAKC,OAAL,GAA4B,KAAKC,UAAL,CAAgBF,MAAhB,CAA5B;AACA,WAAKG,QAAL,GAA4BJ,OAA5B;AACA,WAAKK,OAAL,GAA4B5C,EAAEuC,OAAF,EAAWM,IAAX,CAAgBX,SAASC,MAAzB,EAAiC,CAAjC,CAA5B;AACA,WAAKW,SAAL,GAA4B,IAA5B;AACA,WAAKC,QAAL,GAA4B,KAA5B;AACA,WAAKC,kBAAL,GAA4B,KAA5B;AACA,WAAKC,oBAAL,GAA4B,KAA5B;AACA,WAAKC,gBAAL,GAA4B,KAA5B;AACA,WAAKC,oBAAL,GAA4B,CAA5B;AACA,WAAKC,eAAL,GAA4B,CAA5B;AACD;;AAGD;;AAWA;;AAhGkB,oBAkGlBC,MAlGkB,mBAkGXC,aAlGW,EAkGI;AACpB,aAAO,KAAKP,QAAL,GAAgB,KAAKQ,IAAL,EAAhB,GAA8B,KAAKxC,IAAL,CAAUuC,aAAV,CAArC;AACD,KApGiB;;AAAA,oBAsGlBvC,IAtGkB,iBAsGbuC,aAtGa,EAsGE;AAAA;;AAClB,UAAI,KAAKJ,gBAAT,EAA2B;AACzB,cAAM,IAAIM,KAAJ,CAAU,wBAAV,CAAN;AACD;;AAED,UAAIC,KAAKC,qBAAL,MACF1D,EAAE,KAAK2C,QAAP,EAAiBgB,QAAjB,CAA0B9B,UAAUI,IAApC,CADF,EAC6C;AAC3C,aAAKiB,gBAAL,GAAwB,IAAxB;AACD;AACD,UAAMU,YAAY5D,EAAEiB,KAAF,CAAQA,MAAMG,IAAd,EAAoB;AACpCkC;AADoC,OAApB,CAAlB;;AAIAtD,QAAE,KAAK2C,QAAP,EAAiBkB,OAAjB,CAAyBD,SAAzB;;AAEA,UAAI,KAAKb,QAAL,IAAiBa,UAAUE,kBAAV,EAArB,EAAqD;AACnD;AACD;;AAED,WAAKf,QAAL,GAAgB,IAAhB;;AAEA,WAAKgB,eAAL;AACA,WAAKC,aAAL;;AAEAhE,QAAEiE,SAASC,IAAX,EAAiBC,QAAjB,CAA0BtC,UAAUG,IAApC;;AAEA,WAAKoC,eAAL;AACA,WAAKC,eAAL;;AAEArE,QAAE,KAAK2C,QAAP,EAAiB2B,EAAjB,CACErD,MAAMO,aADR,EAEEU,SAASG,YAFX,EAGE,UAACkC,KAAD;AAAA,eAAW,MAAKhB,IAAL,CAAUgB,KAAV,CAAX;AAAA,OAHF;;AAMAvE,QAAE,KAAK4C,OAAP,EAAgB0B,EAAhB,CAAmBrD,MAAMU,iBAAzB,EAA4C,YAAM;AAChD3B,UAAE,MAAK2C,QAAP,EAAiB6B,GAAjB,CAAqBvD,MAAMS,eAA3B,EAA4C,UAAC6C,KAAD,EAAW;AACrD,cAAIvE,EAAEuE,MAAME,MAAR,EAAgBC,EAAhB,CAAmB,MAAK/B,QAAxB,CAAJ,EAAuC;AACrC,kBAAKM,oBAAL,GAA4B,IAA5B;AACD;AACF,SAJD;AAKD,OAND;;AAQA,WAAK0B,aAAL,CAAmB;AAAA,eAAM,MAAKC,YAAL,CAAkBtB,aAAlB,CAAN;AAAA,OAAnB;AACD,KAlJiB;;AAAA,oBAoJlBC,IApJkB,iBAoJbgB,KApJa,EAoJN;AAAA;;AACV,UAAIA,KAAJ,EAAW;AACTA,cAAMM,cAAN;AACD;;AAED,UAAI,KAAK3B,gBAAT,EAA2B;AACzB,cAAM,IAAIM,KAAJ,CAAU,wBAAV,CAAN;AACD;;AAED,UAAMsB,aAAarB,KAAKC,qBAAL,MACjB1D,EAAE,KAAK2C,QAAP,EAAiBgB,QAAjB,CAA0B9B,UAAUI,IAApC,CADF;AAEA,UAAI6C,UAAJ,EAAgB;AACd,aAAK5B,gBAAL,GAAwB,IAAxB;AACD;;AAED,UAAM6B,YAAY/E,EAAEiB,KAAF,CAAQA,MAAMC,IAAd,CAAlB;AACAlB,QAAE,KAAK2C,QAAP,EAAiBkB,OAAjB,CAAyBkB,SAAzB;;AAEA,UAAI,CAAC,KAAKhC,QAAN,IAAkBgC,UAAUjB,kBAAV,EAAtB,EAAsD;AACpD;AACD;;AAED,WAAKf,QAAL,GAAgB,KAAhB;;AAEA,WAAKqB,eAAL;AACA,WAAKC,eAAL;;AAEArE,QAAEiE,QAAF,EAAYe,GAAZ,CAAgB/D,MAAMK,OAAtB;;AAEAtB,QAAE,KAAK2C,QAAP,EAAiBsC,WAAjB,CAA6BpD,UAAUT,IAAvC;;AAEApB,QAAE,KAAK2C,QAAP,EAAiBqC,GAAjB,CAAqB/D,MAAMO,aAA3B;AACAxB,QAAE,KAAK4C,OAAP,EAAgBoC,GAAhB,CAAoB/D,MAAMU,iBAA1B;;AAEA,UAAImD,UAAJ,EAAgB;AACd9E,UAAE,KAAK2C,QAAP,EACG6B,GADH,CACOf,KAAKyB,cADZ,EAC4B,UAACX,KAAD;AAAA,iBAAW,OAAKY,UAAL,CAAgBZ,KAAhB,CAAX;AAAA,SAD5B,EAEGa,oBAFH,CAEwB5E,mBAFxB;AAGD,OAJD,MAIO;AACL,aAAK2E,UAAL;AACD;AACF,KA7LiB;;AAAA,oBA+LlBE,OA/LkB,sBA+LR;AACRrF,QAAEsF,UAAF,CAAa,KAAK3C,QAAlB,EAA4BxC,QAA5B;;AAEAH,QAAEuF,MAAF,EAAUtB,QAAV,EAAoB,KAAKtB,QAAzB,EAAmC,KAAKG,SAAxC,EAAmDkC,GAAnD,CAAuD5E,SAAvD;;AAEA,WAAKqC,OAAL,GAA4B,IAA5B;AACA,WAAKE,QAAL,GAA4B,IAA5B;AACA,WAAKC,OAAL,GAA4B,IAA5B;AACA,WAAKE,SAAL,GAA4B,IAA5B;AACA,WAAKC,QAAL,GAA4B,IAA5B;AACA,WAAKC,kBAAL,GAA4B,IAA5B;AACA,WAAKC,oBAAL,GAA4B,IAA5B;AACA,WAAKE,oBAAL,GAA4B,IAA5B;AACA,WAAKC,eAAL,GAA4B,IAA5B;AACD,KA7MiB;;AAgNlB;;AAhNkB,oBAkNlBV,UAlNkB,uBAkNPF,MAlNO,EAkNC;AACjBA,eAASxC,EAAEwF,MAAF,CAAS,EAAT,EAAa7E,OAAb,EAAsB6B,MAAtB,CAAT;AACAiB,WAAKgC,eAAL,CAAqBxF,IAArB,EAA2BuC,MAA3B,EAAmCxB,WAAnC;AACA,aAAOwB,MAAP;AACD,KAtNiB;;AAAA,oBAwNlBoC,YAxNkB,yBAwNLtB,aAxNK,EAwNU;AAAA;;AAC1B,UAAMwB,aAAarB,KAAKC,qBAAL,MACjB1D,EAAE,KAAK2C,QAAP,EAAiBgB,QAAjB,CAA0B9B,UAAUI,IAApC,CADF;;AAGA,UAAI,CAAC,KAAKU,QAAL,CAAc+C,UAAf,IACD,KAAK/C,QAAL,CAAc+C,UAAd,CAAyBC,QAAzB,KAAsCC,KAAKC,YAD9C,EAC4D;AAC1D;AACA5B,iBAASC,IAAT,CAAc4B,WAAd,CAA0B,KAAKnD,QAA/B;AACD;;AAED,WAAKA,QAAL,CAAcoD,KAAd,CAAoBC,OAApB,GAA8B,OAA9B;AACA,WAAKrD,QAAL,CAAcsD,eAAd,CAA8B,aAA9B;AACA,WAAKtD,QAAL,CAAcuD,SAAd,GAA0B,CAA1B;;AAEA,UAAIpB,UAAJ,EAAgB;AACdrB,aAAK0C,MAAL,CAAY,KAAKxD,QAAjB;AACD;;AAED3C,QAAE,KAAK2C,QAAP,EAAiBwB,QAAjB,CAA0BtC,UAAUT,IAApC;;AAEA,UAAI,KAAKqB,OAAL,CAAa3B,KAAjB,EAAwB;AACtB,aAAKsF,aAAL;AACD;;AAED,UAAMC,aAAarG,EAAEiB,KAAF,CAAQA,MAAMI,KAAd,EAAqB;AACtCiC;AADsC,OAArB,CAAnB;;AAIA,UAAMgD,qBAAqB,SAArBA,kBAAqB,GAAM;AAC/B,YAAI,OAAK7D,OAAL,CAAa3B,KAAjB,EAAwB;AACtB,iBAAK6B,QAAL,CAAc7B,KAAd;AACD;AACD,eAAKoC,gBAAL,GAAwB,KAAxB;AACAlD,UAAE,OAAK2C,QAAP,EAAiBkB,OAAjB,CAAyBwC,UAAzB;AACD,OAND;;AAQA,UAAIvB,UAAJ,EAAgB;AACd9E,UAAE,KAAK4C,OAAP,EACG4B,GADH,CACOf,KAAKyB,cADZ,EAC4BoB,kBAD5B,EAEGlB,oBAFH,CAEwB5E,mBAFxB;AAGD,OAJD,MAIO;AACL8F;AACD;AACF,KAnQiB;;AAAA,oBAqQlBF,aArQkB,4BAqQF;AAAA;;AACdpG,QAAEiE,QAAF,EACGe,GADH,CACO/D,MAAMK,OADb,EACsB;AADtB,OAEGgD,EAFH,CAEMrD,MAAMK,OAFZ,EAEqB,UAACiD,KAAD,EAAW;AAC5B,YAAIN,aAAaM,MAAME,MAAnB,IACA,OAAK9B,QAAL,KAAkB4B,MAAME,MADxB,IAEA,CAACzE,EAAE,OAAK2C,QAAP,EAAiB4D,GAAjB,CAAqBhC,MAAME,MAA3B,EAAmC+B,MAFxC,EAEgD;AAC9C,iBAAK7D,QAAL,CAAc7B,KAAd;AACD;AACF,OARH;AASD,KA/QiB;;AAAA,oBAiRlBsD,eAjRkB,8BAiRA;AAAA;;AAChB,UAAI,KAAKrB,QAAL,IAAiB,KAAKN,OAAL,CAAa5B,QAAlC,EAA4C;AAC1Cb,UAAE,KAAK2C,QAAP,EAAiB2B,EAAjB,CAAoBrD,MAAMQ,eAA1B,EAA2C,UAAC8C,KAAD,EAAW;AACpD,cAAIA,MAAMkC,KAAN,KAAgB/F,cAApB,EAAoC;AAClC,mBAAK6C,IAAL;AACD;AACF,SAJD;AAMD,OAPD,MAOO,IAAI,CAAC,KAAKR,QAAV,EAAoB;AACzB/C,UAAE,KAAK2C,QAAP,EAAiBqC,GAAjB,CAAqB/D,MAAMQ,eAA3B;AACD;AACF,KA5RiB;;AAAA,oBA8RlB4C,eA9RkB,8BA8RA;AAAA;;AAChB,UAAI,KAAKtB,QAAT,EAAmB;AACjB/C,UAAEuF,MAAF,EAAUjB,EAAV,CAAarD,MAAMM,MAAnB,EAA2B,UAACgD,KAAD;AAAA,iBAAW,OAAKmC,aAAL,CAAmBnC,KAAnB,CAAX;AAAA,SAA3B;AACD,OAFD,MAEO;AACLvE,UAAEuF,MAAF,EAAUP,GAAV,CAAc/D,MAAMM,MAApB;AACD;AACF,KApSiB;;AAAA,oBAsSlB4D,UAtSkB,yBAsSL;AAAA;;AACX,WAAKxC,QAAL,CAAcoD,KAAd,CAAoBC,OAApB,GAA8B,MAA9B;AACA,WAAKrD,QAAL,CAAcgE,YAAd,CAA2B,aAA3B,EAA0C,MAA1C;AACA,WAAKzD,gBAAL,GAAwB,KAAxB;AACA,WAAKyB,aAAL,CAAmB,YAAM;AACvB3E,UAAEiE,SAASC,IAAX,EAAiBe,WAAjB,CAA6BpD,UAAUG,IAAvC;AACA,eAAK4E,iBAAL;AACA,eAAKC,eAAL;AACA7G,UAAE,OAAK2C,QAAP,EAAiBkB,OAAjB,CAAyB5C,MAAME,MAA/B;AACD,OALD;AAMD,KAhTiB;;AAAA,oBAkTlB2F,eAlTkB,8BAkTA;AAChB,UAAI,KAAKhE,SAAT,EAAoB;AAClB9C,UAAE,KAAK8C,SAAP,EAAkBiE,MAAlB;AACA,aAAKjE,SAAL,GAAiB,IAAjB;AACD;AACF,KAvTiB;;AAAA,oBAyTlB6B,aAzTkB,0BAyTJqC,QAzTI,EAyTM;AAAA;;AACtB,UAAMC,UAAUjH,EAAE,KAAK2C,QAAP,EAAiBgB,QAAjB,CAA0B9B,UAAUI,IAApC,IACdJ,UAAUI,IADI,GACG,EADnB;;AAGA,UAAI,KAAKc,QAAL,IAAiB,KAAKN,OAAL,CAAa7B,QAAlC,EAA4C;AAC1C,YAAMsG,YAAYzD,KAAKC,qBAAL,MAAgCuD,OAAlD;;AAEA,aAAKnE,SAAL,GAAiBmB,SAASkD,aAAT,CAAuB,KAAvB,CAAjB;AACA,aAAKrE,SAAL,CAAesE,SAAf,GAA2BvF,UAAUE,QAArC;;AAEA,YAAIkF,OAAJ,EAAa;AACXjH,YAAE,KAAK8C,SAAP,EAAkBqB,QAAlB,CAA2B8C,OAA3B;AACD;;AAEDjH,UAAE,KAAK8C,SAAP,EAAkBuE,QAAlB,CAA2BpD,SAASC,IAApC;;AAEAlE,UAAE,KAAK2C,QAAP,EAAiB2B,EAAjB,CAAoBrD,MAAMO,aAA1B,EAAyC,UAAC+C,KAAD,EAAW;AAClD,cAAI,OAAKtB,oBAAT,EAA+B;AAC7B,mBAAKA,oBAAL,GAA4B,KAA5B;AACA;AACD;AACD,cAAIsB,MAAME,MAAN,KAAiBF,MAAM+C,aAA3B,EAA0C;AACxC;AACD;AACD,cAAI,OAAK7E,OAAL,CAAa7B,QAAb,KAA0B,QAA9B,EAAwC;AACtC,mBAAK+B,QAAL,CAAc7B,KAAd;AACD,WAFD,MAEO;AACL,mBAAKyC,IAAL;AACD;AACF,SAbD;;AAeA,YAAI2D,SAAJ,EAAe;AACbzD,eAAK0C,MAAL,CAAY,KAAKrD,SAAjB;AACD;;AAED9C,UAAE,KAAK8C,SAAP,EAAkBqB,QAAlB,CAA2BtC,UAAUT,IAArC;;AAEA,YAAI,CAAC4F,QAAL,EAAe;AACb;AACD;;AAED,YAAI,CAACE,SAAL,EAAgB;AACdF;AACA;AACD;;AAEDhH,UAAE,KAAK8C,SAAP,EACG0B,GADH,CACOf,KAAKyB,cADZ,EAC4B8B,QAD5B,EAEG5B,oBAFH,CAEwB3E,4BAFxB;AAID,OA9CD,MA8CO,IAAI,CAAC,KAAKsC,QAAN,IAAkB,KAAKD,SAA3B,EAAsC;AAC3C9C,UAAE,KAAK8C,SAAP,EAAkBmC,WAAlB,CAA8BpD,UAAUT,IAAxC;;AAEA,YAAMmG,iBAAiB,SAAjBA,cAAiB,GAAM;AAC3B,iBAAKT,eAAL;AACA,cAAIE,QAAJ,EAAc;AACZA;AACD;AACF,SALD;;AAOA,YAAIvD,KAAKC,qBAAL,MACD1D,EAAE,KAAK2C,QAAP,EAAiBgB,QAAjB,CAA0B9B,UAAUI,IAApC,CADH,EAC8C;AAC5CjC,YAAE,KAAK8C,SAAP,EACG0B,GADH,CACOf,KAAKyB,cADZ,EAC4BqC,cAD5B,EAEGnC,oBAFH,CAEwB3E,4BAFxB;AAGD,SALD,MAKO;AACL8G;AACD;AAEF,OAnBM,MAmBA,IAAIP,QAAJ,EAAc;AACnBA;AACD;AACF,KAjYiB;;AAoYlB;AACA;AACA;AACA;;AAvYkB,oBAyYlBN,aAzYkB,4BAyYF;AACd,WAAKc,aAAL;AACD,KA3YiB;;AAAA,oBA6YlBA,aA7YkB,4BA6YF;AACd,UAAMC,qBACJ,KAAK9E,QAAL,CAAc+E,YAAd,GAA6BzD,SAAS0D,eAAT,CAAyBC,YADxD;;AAGA,UAAI,CAAC,KAAK5E,kBAAN,IAA4ByE,kBAAhC,EAAoD;AAClD,aAAK9E,QAAL,CAAcoD,KAAd,CAAoB8B,WAApB,GAAqC,KAAKzE,eAA1C;AACD;;AAED,UAAI,KAAKJ,kBAAL,IAA2B,CAACyE,kBAAhC,EAAoD;AAClD,aAAK9E,QAAL,CAAcoD,KAAd,CAAoB+B,YAApB,GAAsC,KAAK1E,eAA3C;AACD;AACF,KAxZiB;;AAAA,oBA0ZlBwD,iBA1ZkB,gCA0ZE;AAClB,WAAKjE,QAAL,CAAcoD,KAAd,CAAoB8B,WAApB,GAAkC,EAAlC;AACA,WAAKlF,QAAL,CAAcoD,KAAd,CAAoB+B,YAApB,GAAmC,EAAnC;AACD,KA7ZiB;;AAAA,oBA+ZlB/D,eA/ZkB,8BA+ZA;AAChB,WAAKf,kBAAL,GAA0BiB,SAASC,IAAT,CAAc6D,WAAd,GAA4BxC,OAAOyC,UAA7D;AACA,WAAK5E,eAAL,GAAuB,KAAK6E,kBAAL,EAAvB;AACD,KAlaiB;;AAAA,oBAoalBjE,aApakB,4BAoaF;AACd,UAAMkE,cAAcC,SAClBnI,EAAEkC,SAASI,aAAX,EAA0B8F,GAA1B,CAA8B,eAA9B,KAAkD,CADhC,EAElB,EAFkB,CAApB;;AAKA,WAAKjF,oBAAL,GAA4Bc,SAASC,IAAT,CAAc6B,KAAd,CAAoB+B,YAApB,IAAoC,EAAhE;;AAEA,UAAI,KAAK9E,kBAAT,EAA6B;AAC3BiB,iBAASC,IAAT,CAAc6B,KAAd,CAAoB+B,YAApB,GACKI,cAAc,KAAK9E,eADxB;AAED;AACF,KAhbiB;;AAAA,oBAkblByD,eAlbkB,8BAkbA;AAChB5C,eAASC,IAAT,CAAc6B,KAAd,CAAoB+B,YAApB,GAAmC,KAAK3E,oBAAxC;AACD,KApbiB;;AAAA,oBAsblB8E,kBAtbkB,iCAsbG;AAAE;AACrB,UAAMI,YAAYpE,SAASkD,aAAT,CAAuB,KAAvB,CAAlB;AACAkB,gBAAUjB,SAAV,GAAsBvF,UAAUC,kBAAhC;AACAmC,eAASC,IAAT,CAAc4B,WAAd,CAA0BuC,SAA1B;AACA,UAAMC,iBAAiBD,UAAUE,qBAAV,GAAkCC,KAAlC,GAA0CH,UAAUN,WAA3E;AACA9D,eAASC,IAAT,CAAcuE,WAAd,CAA0BJ,SAA1B;AACA,aAAOC,cAAP;AACD,KA7biB;;AAgclB;;AAhckB,UAkcXI,gBAlcW,6BAkcMlG,MAlcN,EAkccc,aAlcd,EAkc6B;AAC7C,aAAO,KAAKqF,IAAL,CAAU,YAAY;AAC3B,YAAIC,OAAY5I,EAAE,IAAF,EAAQ4I,IAAR,CAAazI,QAAb,CAAhB;AACA,YAAMsC,UAAUzC,EAAEwF,MAAF,CACd,EADc,EAEdzF,MAAMY,OAFQ,EAGdX,EAAE,IAAF,EAAQ4I,IAAR,EAHc,EAId,QAAOpG,MAAP,yCAAOA,MAAP,OAAkB,QAAlB,IAA8BA,MAJhB,CAAhB;;AAOA,YAAI,CAACoG,IAAL,EAAW;AACTA,iBAAO,IAAI7I,KAAJ,CAAU,IAAV,EAAgB0C,OAAhB,CAAP;AACAzC,YAAE,IAAF,EAAQ4I,IAAR,CAAazI,QAAb,EAAuByI,IAAvB;AACD;;AAED,YAAI,OAAOpG,MAAP,KAAkB,QAAtB,EAAgC;AAC9B,cAAIoG,KAAKpG,MAAL,MAAiBqG,SAArB,EAAgC;AAC9B,kBAAM,IAAIrF,KAAJ,uBAA8BhB,MAA9B,OAAN;AACD;AACDoG,eAAKpG,MAAL,EAAac,aAAb;AACD,SALD,MAKO,IAAIb,QAAQ1B,IAAZ,EAAkB;AACvB6H,eAAK7H,IAAL,CAAUuC,aAAV;AACD;AACF,OAtBM,CAAP;AAuBD,KA1diB;;AAAA;AAAA;AAAA,0BAuFG;AACnB,eAAOpD,OAAP;AACD;AAzFiB;AAAA;AAAA,0BA2FG;AACnB,eAAOS,OAAP;AACD;AA7FiB;;AAAA;AAAA;;AA+dpB;;;;;;AAMAX,IAAEiE,QAAF,EAAYK,EAAZ,CAAerD,MAAMW,cAArB,EAAqCM,SAASE,WAA9C,EAA2D,UAAUmC,KAAV,EAAiB;AAAA;;AAC1E,QAAIE,eAAJ;AACA,QAAMqE,WAAWrF,KAAKsF,sBAAL,CAA4B,IAA5B,CAAjB;;AAEA,QAAID,QAAJ,EAAc;AACZrE,eAASzE,EAAE8I,QAAF,EAAY,CAAZ,CAAT;AACD;;AAED,QAAMtG,SAASxC,EAAEyE,MAAF,EAAUmE,IAAV,CAAezI,QAAf,IACb,QADa,GACFH,EAAEwF,MAAF,CAAS,EAAT,EAAaxF,EAAEyE,MAAF,EAAUmE,IAAV,EAAb,EAA+B5I,EAAE,IAAF,EAAQ4I,IAAR,EAA/B,CADb;;AAGA,QAAI,KAAKI,OAAL,KAAiB,GAAjB,IAAwB,KAAKA,OAAL,KAAiB,MAA7C,EAAqD;AACnDzE,YAAMM,cAAN;AACD;;AAED,QAAMoE,UAAUjJ,EAAEyE,MAAF,EAAUD,GAAV,CAAcvD,MAAMG,IAApB,EAA0B,UAACwC,SAAD,EAAe;AACvD,UAAIA,UAAUE,kBAAV,EAAJ,EAAoC;AAClC;AACA;AACD;;AAEDmF,cAAQzE,GAAR,CAAYvD,MAAME,MAAlB,EAA0B,YAAM;AAC9B,YAAInB,UAAQ0E,EAAR,CAAW,UAAX,CAAJ,EAA4B;AAC1B,iBAAK5D,KAAL;AACD;AACF,OAJD;AAKD,KAXe,CAAhB;;AAaAf,UAAM2I,gBAAN,CAAuBQ,IAAvB,CAA4BlJ,EAAEyE,MAAF,CAA5B,EAAuCjC,MAAvC,EAA+C,IAA/C;AACD,GA7BD;;AAgCA;;;;;;AAMAxC,IAAEO,EAAF,CAAKN,IAAL,IAAyBF,MAAM2I,gBAA/B;AACA1I,IAAEO,EAAF,CAAKN,IAAL,EAAWkJ,WAAX,GAAyBpJ,KAAzB;AACAC,IAAEO,EAAF,CAAKN,IAAL,EAAWmJ,UAAX,GAAyB,YAAY;AACnCpJ,MAAEO,EAAF,CAAKN,IAAL,IAAaK,kBAAb;AACA,WAAOP,MAAM2I,gBAAb;AACD,GAHD;;AAKA,SAAO3I,KAAP;AAED,CAphBa,CAohBXsJ,MAphBW,CAAd","file":"modal.js","sourcesContent":["import Util from './util'\n\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0-alpha.6): modal.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Modal = (($) => {\n\n\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n const NAME = 'modal'\n const VERSION = '4.0.0-alpha.6'\n const DATA_KEY = 'bs.modal'\n const EVENT_KEY = `.${DATA_KEY}`\n const DATA_API_KEY = '.data-api'\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n const TRANSITION_DURATION = 300\n const BACKDROP_TRANSITION_DURATION = 150\n const ESCAPE_KEYCODE = 27 // KeyboardEvent.which value for Escape (Esc) key\n\n const Default = {\n backdrop : true,\n keyboard : true,\n focus : true,\n show : true\n }\n\n const DefaultType = {\n backdrop : '(boolean|string)',\n keyboard : 'boolean',\n focus : 'boolean',\n show : 'boolean'\n }\n\n const Event = {\n HIDE : `hide${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\n const ClassName = {\n SCROLLBAR_MEASURER : 'modal-scrollbar-measure',\n BACKDROP : 'modal-backdrop',\n OPEN : 'modal-open',\n FADE : 'fade',\n SHOW : 'show'\n }\n\n const Selector = {\n DIALOG : '.modal-dialog',\n DATA_TOGGLE : '[data-toggle=\"modal\"]',\n DATA_DISMISS : '[data-dismiss=\"modal\"]',\n FIXED_CONTENT : '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top'\n }\n\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n class Modal {\n\n constructor(element, config) {\n this._config = this._getConfig(config)\n this._element = element\n this._dialog = $(element).find(Selector.DIALOG)[0]\n this._backdrop = null\n this._isShown = false\n this._isBodyOverflowing = false\n this._ignoreBackdropClick = false\n this._isTransitioning = false\n this._originalBodyPadding = 0\n this._scrollbarWidth = 0\n }\n\n\n // getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\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._isTransitioning) {\n throw new Error('Modal is transitioning')\n }\n\n if (Util.supportsTransitionEnd() &&\n $(this._element).hasClass(ClassName.FADE)) {\n this._isTransitioning = true\n }\n const showEvent = $.Event(Event.SHOW, {\n relatedTarget\n })\n\n $(this._element).trigger(showEvent)\n\n if (this._isShown || showEvent.isDefaultPrevented()) {\n return\n }\n\n this._isShown = true\n\n this._checkScrollbar()\n this._setScrollbar()\n\n $(document.body).addClass(ClassName.OPEN)\n\n this._setEscapeEvent()\n this._setResizeEvent()\n\n $(this._element).on(\n Event.CLICK_DISMISS,\n Selector.DATA_DISMISS,\n (event) => this.hide(event)\n )\n\n $(this._dialog).on(Event.MOUSEDOWN_DISMISS, () => {\n $(this._element).one(Event.MOUSEUP_DISMISS, (event) => {\n if ($(event.target).is(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._isTransitioning) {\n throw new Error('Modal is transitioning')\n }\n\n const transition = Util.supportsTransitionEnd() &&\n $(this._element).hasClass(ClassName.FADE)\n if (transition) {\n this._isTransitioning = true\n }\n\n const hideEvent = $.Event(Event.HIDE)\n $(this._element).trigger(hideEvent)\n\n if (!this._isShown || hideEvent.isDefaultPrevented()) {\n return\n }\n\n this._isShown = false\n\n this._setEscapeEvent()\n this._setResizeEvent()\n\n $(document).off(Event.FOCUSIN)\n\n $(this._element).removeClass(ClassName.SHOW)\n\n $(this._element).off(Event.CLICK_DISMISS)\n $(this._dialog).off(Event.MOUSEDOWN_DISMISS)\n\n if (transition) {\n $(this._element)\n .one(Util.TRANSITION_END, (event) => this._hideModal(event))\n .emulateTransitionEnd(TRANSITION_DURATION)\n } else {\n this._hideModal()\n }\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n\n $(window, document, this._element, this._backdrop).off(EVENT_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._originalBodyPadding = null\n this._scrollbarWidth = null\n }\n\n\n // private\n\n _getConfig(config) {\n config = $.extend({}, Default, config)\n Util.typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _showElement(relatedTarget) {\n const transition = Util.supportsTransitionEnd() &&\n $(this._element).hasClass(ClassName.FADE)\n\n if (!this._element.parentNode ||\n this._element.parentNode.nodeType !== Node.ELEMENT_NODE) {\n // don't move modals 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.scrollTop = 0\n\n if (transition) {\n Util.reflow(this._element)\n }\n\n $(this._element).addClass(ClassName.SHOW)\n\n if (this._config.focus) {\n this._enforceFocus()\n }\n\n const shownEvent = $.Event(Event.SHOWN, {\n relatedTarget\n })\n\n const transitionComplete = () => {\n if (this._config.focus) {\n this._element.focus()\n }\n this._isTransitioning = false\n $(this._element).trigger(shownEvent)\n }\n\n if (transition) {\n $(this._dialog)\n .one(Util.TRANSITION_END, transitionComplete)\n .emulateTransitionEnd(TRANSITION_DURATION)\n } else {\n transitionComplete()\n }\n }\n\n _enforceFocus() {\n $(document)\n .off(Event.FOCUSIN) // guard against infinite focus loop\n .on(Event.FOCUSIN, (event) => {\n if (document !== event.target &&\n this._element !== event.target &&\n !$(this._element).has(event.target).length) {\n this._element.focus()\n }\n })\n }\n\n _setEscapeEvent() {\n if (this._isShown && this._config.keyboard) {\n $(this._element).on(Event.KEYDOWN_DISMISS, (event) => {\n if (event.which === ESCAPE_KEYCODE) {\n this.hide()\n }\n })\n\n } else if (!this._isShown) {\n $(this._element).off(Event.KEYDOWN_DISMISS)\n }\n }\n\n _setResizeEvent() {\n if (this._isShown) {\n $(window).on(Event.RESIZE, (event) => this._handleUpdate(event))\n } else {\n $(window).off(Event.RESIZE)\n }\n }\n\n _hideModal() {\n this._element.style.display = 'none'\n this._element.setAttribute('aria-hidden', 'true')\n this._isTransitioning = false\n this._showBackdrop(() => {\n $(document.body).removeClass(ClassName.OPEN)\n this._resetAdjustments()\n this._resetScrollbar()\n $(this._element).trigger(Event.HIDDEN)\n })\n }\n\n _removeBackdrop() {\n if (this._backdrop) {\n $(this._backdrop).remove()\n this._backdrop = null\n }\n }\n\n _showBackdrop(callback) {\n const animate = $(this._element).hasClass(ClassName.FADE) ?\n ClassName.FADE : ''\n\n if (this._isShown && this._config.backdrop) {\n const doAnimate = Util.supportsTransitionEnd() && animate\n\n this._backdrop = document.createElement('div')\n this._backdrop.className = ClassName.BACKDROP\n\n if (animate) {\n $(this._backdrop).addClass(animate)\n }\n\n $(this._backdrop).appendTo(document.body)\n\n $(this._element).on(Event.CLICK_DISMISS, (event) => {\n if (this._ignoreBackdropClick) {\n this._ignoreBackdropClick = false\n return\n }\n if (event.target !== event.currentTarget) {\n return\n }\n if (this._config.backdrop === 'static') {\n this._element.focus()\n } else {\n this.hide()\n }\n })\n\n if (doAnimate) {\n Util.reflow(this._backdrop)\n }\n\n $(this._backdrop).addClass(ClassName.SHOW)\n\n if (!callback) {\n return\n }\n\n if (!doAnimate) {\n callback()\n return\n }\n\n $(this._backdrop)\n .one(Util.TRANSITION_END, callback)\n .emulateTransitionEnd(BACKDROP_TRANSITION_DURATION)\n\n } else if (!this._isShown && this._backdrop) {\n $(this._backdrop).removeClass(ClassName.SHOW)\n\n const callbackRemove = () => {\n this._removeBackdrop()\n if (callback) {\n callback()\n }\n }\n\n if (Util.supportsTransitionEnd() &&\n $(this._element).hasClass(ClassName.FADE)) {\n $(this._backdrop)\n .one(Util.TRANSITION_END, callbackRemove)\n .emulateTransitionEnd(BACKDROP_TRANSITION_DURATION)\n } else {\n callbackRemove()\n }\n\n } else if (callback) {\n callback()\n }\n }\n\n\n // ----------------------------------------------------------------------\n // the following methods are used to handle overflowing modals\n // todo (fat): these should probably be refactored out of modal.js\n // ----------------------------------------------------------------------\n\n _handleUpdate() {\n this._adjustDialog()\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 this._isBodyOverflowing = document.body.clientWidth < window.innerWidth\n this._scrollbarWidth = this._getScrollbarWidth()\n }\n\n _setScrollbar() {\n const bodyPadding = parseInt(\n $(Selector.FIXED_CONTENT).css('padding-right') || 0,\n 10\n )\n\n this._originalBodyPadding = document.body.style.paddingRight || ''\n\n if (this._isBodyOverflowing) {\n document.body.style.paddingRight =\n `${bodyPadding + this._scrollbarWidth}px`\n }\n }\n\n _resetScrollbar() {\n document.body.style.paddingRight = this._originalBodyPadding\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\n // static\n\n static _jQueryInterface(config, relatedTarget) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n const _config = $.extend(\n {},\n Modal.Default,\n $(this).data(),\n typeof config === 'object' && config\n )\n\n if (!data) {\n data = new Modal(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (data[config] === undefined) {\n throw new Error(`No method named \"${config}\"`)\n }\n data[config](relatedTarget)\n } else if (_config.show) {\n data.show(relatedTarget)\n }\n })\n }\n\n }\n\n\n /**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n $(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {\n let target\n const selector = Util.getSelectorFromElement(this)\n\n if (selector) {\n target = $(selector)[0]\n }\n\n const config = $(target).data(DATA_KEY) ?\n 'toggle' : $.extend({}, $(target).data(), $(this).data())\n\n if (this.tagName === 'A' || this.tagName === 'AREA') {\n event.preventDefault()\n }\n\n const $target = $(target).one(Event.SHOW, (showEvent) => {\n if (showEvent.isDefaultPrevented()) {\n // only register focus restorer if modal will actually get shown\n return\n }\n\n $target.one(Event.HIDDEN, () => {\n if ($(this).is(':visible')) {\n this.focus()\n }\n })\n })\n\n Modal._jQueryInterface.call($(target), config, this)\n })\n\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME] = Modal._jQueryInterface\n $.fn[NAME].Constructor = Modal\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Modal._jQueryInterface\n }\n\n return Modal\n\n})(jQuery)\n\nexport default Modal\n"]} \ No newline at end of file
diff --git a/templates/assets/bootstrap/js/dist/popover.js b/templates/assets/bootstrap/js/dist/popover.js
new file mode 100644
index 0000000..c545a30
--- /dev/null
+++ b/templates/assets/bootstrap/js/dist/popover.js
@@ -0,0 +1,193 @@
+var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
+
+var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
+
+function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
+
+function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
+
+function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }
+
+/**
+ * --------------------------------------------------------------------------
+ * Bootstrap (v4.0.0-alpha.6): popover.js
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ * --------------------------------------------------------------------------
+ */
+
+var Popover = function ($) {
+
+ /**
+ * ------------------------------------------------------------------------
+ * Constants
+ * ------------------------------------------------------------------------
+ */
+
+ var NAME = 'popover';
+ var VERSION = '4.0.0-alpha.6';
+ var DATA_KEY = 'bs.popover';
+ var EVENT_KEY = '.' + DATA_KEY;
+ var JQUERY_NO_CONFLICT = $.fn[NAME];
+
+ var Default = $.extend({}, Tooltip.Default, {
+ placement: 'right',
+ trigger: 'click',
+ content: '',
+ template: '<div class="popover" role="tooltip">' + '<h3 class="popover-title"></h3>' + '<div class="popover-content"></div></div>'
+ });
+
+ var DefaultType = $.extend({}, Tooltip.DefaultType, {
+ content: '(string|element|function)'
+ });
+
+ var ClassName = {
+ FADE: 'fade',
+ SHOW: 'show'
+ };
+
+ var Selector = {
+ TITLE: '.popover-title',
+ CONTENT: '.popover-content'
+ };
+
+ var Event = {
+ HIDE: 'hide' + EVENT_KEY,
+ HIDDEN: 'hidden' + EVENT_KEY,
+ SHOW: 'show' + EVENT_KEY,
+ SHOWN: 'shown' + EVENT_KEY,
+ INSERTED: 'inserted' + EVENT_KEY,
+ CLICK: 'click' + EVENT_KEY,
+ FOCUSIN: 'focusin' + EVENT_KEY,
+ FOCUSOUT: 'focusout' + EVENT_KEY,
+ MOUSEENTER: 'mouseenter' + EVENT_KEY,
+ MOUSELEAVE: 'mouseleave' + EVENT_KEY
+ };
+
+ /**
+ * ------------------------------------------------------------------------
+ * Class Definition
+ * ------------------------------------------------------------------------
+ */
+
+ var Popover = function (_Tooltip) {
+ _inherits(Popover, _Tooltip);
+
+ function Popover() {
+ _classCallCheck(this, Popover);
+
+ return _possibleConstructorReturn(this, _Tooltip.apply(this, arguments));
+ }
+
+ // overrides
+
+ Popover.prototype.isWithContent = function isWithContent() {
+ return this.getTitle() || this._getContent();
+ };
+
+ Popover.prototype.getTipElement = function getTipElement() {
+ return this.tip = this.tip || $(this.config.template)[0];
+ };
+
+ Popover.prototype.setContent = function setContent() {
+ var $tip = $(this.getTipElement());
+
+ // we use append for html objects to maintain js events
+ this.setElementContent($tip.find(Selector.TITLE), this.getTitle());
+ this.setElementContent($tip.find(Selector.CONTENT), this._getContent());
+
+ $tip.removeClass(ClassName.FADE + ' ' + ClassName.SHOW);
+
+ this.cleanupTether();
+ };
+
+ // private
+
+ Popover.prototype._getContent = function _getContent() {
+ return this.element.getAttribute('data-content') || (typeof this.config.content === 'function' ? this.config.content.call(this.element) : this.config.content);
+ };
+
+ // static
+
+ Popover._jQueryInterface = function _jQueryInterface(config) {
+ return this.each(function () {
+ var data = $(this).data(DATA_KEY);
+ var _config = (typeof config === 'undefined' ? 'undefined' : _typeof(config)) === 'object' ? config : null;
+
+ if (!data && /destroy|hide/.test(config)) {
+ return;
+ }
+
+ if (!data) {
+ data = new Popover(this, _config);
+ $(this).data(DATA_KEY, data);
+ }
+
+ if (typeof config === 'string') {
+ if (data[config] === undefined) {
+ throw new Error('No method named "' + config + '"');
+ }
+ data[config]();
+ }
+ });
+ };
+
+ _createClass(Popover, null, [{
+ key: 'VERSION',
+
+
+ // getters
+
+ get: function get() {
+ return VERSION;
+ }
+ }, {
+ key: 'Default',
+ get: function get() {
+ return Default;
+ }
+ }, {
+ key: 'NAME',
+ get: function get() {
+ return NAME;
+ }
+ }, {
+ key: 'DATA_KEY',
+ get: function get() {
+ return DATA_KEY;
+ }
+ }, {
+ key: 'Event',
+ get: function get() {
+ return Event;
+ }
+ }, {
+ key: 'EVENT_KEY',
+ get: function get() {
+ return EVENT_KEY;
+ }
+ }, {
+ key: 'DefaultType',
+ get: function get() {
+ return DefaultType;
+ }
+ }]);
+
+ return Popover;
+ }(Tooltip);
+
+ /**
+ * ------------------------------------------------------------------------
+ * jQuery
+ * ------------------------------------------------------------------------
+ */
+
+ $.fn[NAME] = Popover._jQueryInterface;
+ $.fn[NAME].Constructor = Popover;
+ $.fn[NAME].noConflict = function () {
+ $.fn[NAME] = JQUERY_NO_CONFLICT;
+ return Popover._jQueryInterface;
+ };
+
+ return Popover;
+}(jQuery);
+//# sourceMappingURL=popover.js.map
diff --git a/templates/assets/bootstrap/js/dist/popover.js.map b/templates/assets/bootstrap/js/dist/popover.js.map
new file mode 100644
index 0000000..e8bf8e9
--- /dev/null
+++ b/templates/assets/bootstrap/js/dist/popover.js.map
@@ -0,0 +1 @@
+{"version":3,"sources":["../src/popover.js"],"names":["Popover","$","NAME","VERSION","DATA_KEY","EVENT_KEY","JQUERY_NO_CONFLICT","fn","Default","extend","Tooltip","placement","trigger","content","template","DefaultType","ClassName","FADE","SHOW","Selector","TITLE","CONTENT","Event","HIDE","HIDDEN","SHOWN","INSERTED","CLICK","FOCUSIN","FOCUSOUT","MOUSEENTER","MOUSELEAVE","isWithContent","getTitle","_getContent","getTipElement","tip","config","setContent","$tip","setElementContent","find","removeClass","cleanupTether","element","getAttribute","call","_jQueryInterface","each","data","_config","test","undefined","Error","Constructor","noConflict","jQuery"],"mappings":"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","file":"popover.js","sourcesContent":["import Tooltip from './tooltip'\n\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0-alpha.6): popover.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Popover = (($) => {\n\n\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n const NAME = 'popover'\n const VERSION = '4.0.0-alpha.6'\n const DATA_KEY = 'bs.popover'\n const EVENT_KEY = `.${DATA_KEY}`\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n\n const Default = $.extend({}, Tooltip.Default, {\n placement : 'right',\n trigger : 'click',\n content : '',\n template : '<div class=\"popover\" role=\"tooltip\">'\n + '<h3 class=\"popover-title\"></h3>'\n + '<div class=\"popover-content\"></div></div>'\n })\n\n const DefaultType = $.extend({}, Tooltip.DefaultType, {\n content : '(string|element|function)'\n })\n\n const ClassName = {\n FADE : 'fade',\n SHOW : 'show'\n }\n\n const Selector = {\n TITLE : '.popover-title',\n CONTENT : '.popover-content'\n }\n\n const 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 * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n class Popover extends Tooltip {\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\n // overrides\n\n isWithContent() {\n return this.getTitle() || this._getContent()\n }\n\n getTipElement() {\n return this.tip = this.tip || $(this.config.template)[0]\n }\n\n setContent() {\n const $tip = $(this.getTipElement())\n\n // we use append for html objects to maintain js events\n this.setElementContent($tip.find(Selector.TITLE), this.getTitle())\n this.setElementContent($tip.find(Selector.CONTENT), this._getContent())\n\n $tip.removeClass(`${ClassName.FADE} ${ClassName.SHOW}`)\n\n this.cleanupTether()\n }\n\n // private\n\n _getContent() {\n return this.element.getAttribute('data-content')\n || (typeof this.config.content === 'function' ?\n this.config.content.call(this.element) :\n this.config.content)\n }\n\n\n // static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n const _config = typeof config === 'object' ? config : null\n\n if (!data && /destroy|hide/.test(config)) {\n return\n }\n\n if (!data) {\n data = new Popover(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (data[config] === undefined) {\n throw new Error(`No method named \"${config}\"`)\n }\n data[config]()\n }\n })\n }\n }\n\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME] = Popover._jQueryInterface\n $.fn[NAME].Constructor = Popover\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Popover._jQueryInterface\n }\n\n return Popover\n\n})(jQuery)\n\nexport default Popover\n"]} \ No newline at end of file
diff --git a/templates/assets/bootstrap/js/dist/scrollspy.js b/templates/assets/bootstrap/js/dist/scrollspy.js
new file mode 100644
index 0000000..10fc3c3
--- /dev/null
+++ b/templates/assets/bootstrap/js/dist/scrollspy.js
@@ -0,0 +1,321 @@
+var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
+
+var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
+
+function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
+
+/**
+ * --------------------------------------------------------------------------
+ * Bootstrap (v4.0.0-alpha.6): scrollspy.js
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ * --------------------------------------------------------------------------
+ */
+
+var ScrollSpy = function ($) {
+
+ /**
+ * ------------------------------------------------------------------------
+ * Constants
+ * ------------------------------------------------------------------------
+ */
+
+ var NAME = 'scrollspy';
+ var VERSION = '4.0.0-alpha.6';
+ var DATA_KEY = 'bs.scrollspy';
+ var EVENT_KEY = '.' + DATA_KEY;
+ var DATA_API_KEY = '.data-api';
+ var JQUERY_NO_CONFLICT = $.fn[NAME];
+
+ var Default = {
+ offset: 10,
+ method: 'auto',
+ target: ''
+ };
+
+ var DefaultType = {
+ offset: 'number',
+ method: 'string',
+ target: '(string|element)'
+ };
+
+ var Event = {
+ ACTIVATE: 'activate' + EVENT_KEY,
+ SCROLL: 'scroll' + EVENT_KEY,
+ LOAD_DATA_API: 'load' + EVENT_KEY + DATA_API_KEY
+ };
+
+ var ClassName = {
+ DROPDOWN_ITEM: 'dropdown-item',
+ DROPDOWN_MENU: 'dropdown-menu',
+ NAV_LINK: 'nav-link',
+ NAV: 'nav',
+ ACTIVE: 'active'
+ };
+
+ var Selector = {
+ DATA_SPY: '[data-spy="scroll"]',
+ ACTIVE: '.active',
+ LIST_ITEM: '.list-item',
+ LI: 'li',
+ LI_DROPDOWN: 'li.dropdown',
+ NAV_LINKS: '.nav-link',
+ DROPDOWN: '.dropdown',
+ DROPDOWN_ITEMS: '.dropdown-item',
+ DROPDOWN_TOGGLE: '.dropdown-toggle'
+ };
+
+ var OffsetMethod = {
+ OFFSET: 'offset',
+ POSITION: 'position'
+ };
+
+ /**
+ * ------------------------------------------------------------------------
+ * Class Definition
+ * ------------------------------------------------------------------------
+ */
+
+ var ScrollSpy = function () {
+ function ScrollSpy(element, config) {
+ var _this = this;
+
+ _classCallCheck(this, ScrollSpy);
+
+ this._element = element;
+ this._scrollElement = element.tagName === 'BODY' ? window : element;
+ this._config = this._getConfig(config);
+ this._selector = this._config.target + ' ' + Selector.NAV_LINKS + ',' + (this._config.target + ' ' + Selector.DROPDOWN_ITEMS);
+ this._offsets = [];
+ this._targets = [];
+ this._activeTarget = null;
+ this._scrollHeight = 0;
+
+ $(this._scrollElement).on(Event.SCROLL, function (event) {
+ return _this._process(event);
+ });
+
+ this.refresh();
+ this._process();
+ }
+
+ // getters
+
+ // public
+
+ ScrollSpy.prototype.refresh = function refresh() {
+ var _this2 = this;
+
+ var autoMethod = this._scrollElement !== this._scrollElement.window ? OffsetMethod.POSITION : OffsetMethod.OFFSET;
+
+ var offsetMethod = this._config.method === 'auto' ? autoMethod : this._config.method;
+
+ var offsetBase = offsetMethod === OffsetMethod.POSITION ? this._getScrollTop() : 0;
+
+ this._offsets = [];
+ this._targets = [];
+
+ this._scrollHeight = this._getScrollHeight();
+
+ var targets = $.makeArray($(this._selector));
+
+ targets.map(function (element) {
+ var target = void 0;
+ var targetSelector = Util.getSelectorFromElement(element);
+
+ if (targetSelector) {
+ target = $(targetSelector)[0];
+ }
+
+ if (target) {
+ var targetBCR = target.getBoundingClientRect();
+ if (targetBCR.width || targetBCR.height) {
+ // todo (fat): remove sketch reliance on jQuery position/offset
+ return [$(target)[offsetMethod]().top + offsetBase, targetSelector];
+ }
+ }
+ return null;
+ }).filter(function (item) {
+ return item;
+ }).sort(function (a, b) {
+ return a[0] - b[0];
+ }).forEach(function (item) {
+ _this2._offsets.push(item[0]);
+ _this2._targets.push(item[1]);
+ });
+ };
+
+ ScrollSpy.prototype.dispose = function dispose() {
+ $.removeData(this._element, DATA_KEY);
+ $(this._scrollElement).off(EVENT_KEY);
+
+ this._element = null;
+ this._scrollElement = null;
+ this._config = null;
+ this._selector = null;
+ this._offsets = null;
+ this._targets = null;
+ this._activeTarget = null;
+ this._scrollHeight = null;
+ };
+
+ // private
+
+ ScrollSpy.prototype._getConfig = function _getConfig(config) {
+ config = $.extend({}, Default, config);
+
+ if (typeof config.target !== 'string') {
+ var id = $(config.target).attr('id');
+ if (!id) {
+ id = Util.getUID(NAME);
+ $(config.target).attr('id', id);
+ }
+ config.target = '#' + id;
+ }
+
+ Util.typeCheckConfig(NAME, config, DefaultType);
+
+ return config;
+ };
+
+ ScrollSpy.prototype._getScrollTop = function _getScrollTop() {
+ return this._scrollElement === window ? this._scrollElement.pageYOffset : this._scrollElement.scrollTop;
+ };
+
+ ScrollSpy.prototype._getScrollHeight = function _getScrollHeight() {
+ return this._scrollElement.scrollHeight || Math.max(document.body.scrollHeight, document.documentElement.scrollHeight);
+ };
+
+ ScrollSpy.prototype._getOffsetHeight = function _getOffsetHeight() {
+ return this._scrollElement === window ? window.innerHeight : this._scrollElement.getBoundingClientRect().height;
+ };
+
+ ScrollSpy.prototype._process = function _process() {
+ var scrollTop = this._getScrollTop() + this._config.offset;
+ var scrollHeight = this._getScrollHeight();
+ var maxScroll = this._config.offset + scrollHeight - this._getOffsetHeight();
+
+ if (this._scrollHeight !== scrollHeight) {
+ this.refresh();
+ }
+
+ if (scrollTop >= maxScroll) {
+ var target = this._targets[this._targets.length - 1];
+
+ if (this._activeTarget !== target) {
+ this._activate(target);
+ }
+ return;
+ }
+
+ if (this._activeTarget && scrollTop < this._offsets[0] && this._offsets[0] > 0) {
+ this._activeTarget = null;
+ this._clear();
+ return;
+ }
+
+ for (var i = this._offsets.length; i--;) {
+ var isActiveTarget = this._activeTarget !== this._targets[i] && scrollTop >= this._offsets[i] && (this._offsets[i + 1] === undefined || scrollTop < this._offsets[i + 1]);
+
+ if (isActiveTarget) {
+ this._activate(this._targets[i]);
+ }
+ }
+ };
+
+ ScrollSpy.prototype._activate = function _activate(target) {
+ this._activeTarget = target;
+
+ this._clear();
+
+ var queries = this._selector.split(',');
+ queries = queries.map(function (selector) {
+ return selector + '[data-target="' + target + '"],' + (selector + '[href="' + target + '"]');
+ });
+
+ var $link = $(queries.join(','));
+
+ if ($link.hasClass(ClassName.DROPDOWN_ITEM)) {
+ $link.closest(Selector.DROPDOWN).find(Selector.DROPDOWN_TOGGLE).addClass(ClassName.ACTIVE);
+ $link.addClass(ClassName.ACTIVE);
+ } else {
+ // todo (fat) this is kinda sus...
+ // recursively add actives to tested nav-links
+ $link.parents(Selector.LI).find('> ' + Selector.NAV_LINKS).addClass(ClassName.ACTIVE);
+ }
+
+ $(this._scrollElement).trigger(Event.ACTIVATE, {
+ relatedTarget: target
+ });
+ };
+
+ ScrollSpy.prototype._clear = function _clear() {
+ $(this._selector).filter(Selector.ACTIVE).removeClass(ClassName.ACTIVE);
+ };
+
+ // static
+
+ ScrollSpy._jQueryInterface = function _jQueryInterface(config) {
+ return this.each(function () {
+ var data = $(this).data(DATA_KEY);
+ var _config = (typeof config === 'undefined' ? 'undefined' : _typeof(config)) === 'object' && config;
+
+ if (!data) {
+ data = new ScrollSpy(this, _config);
+ $(this).data(DATA_KEY, data);
+ }
+
+ if (typeof config === 'string') {
+ if (data[config] === undefined) {
+ throw new Error('No method named "' + config + '"');
+ }
+ data[config]();
+ }
+ });
+ };
+
+ _createClass(ScrollSpy, null, [{
+ key: 'VERSION',
+ get: function get() {
+ return VERSION;
+ }
+ }, {
+ key: 'Default',
+ get: function get() {
+ return Default;
+ }
+ }]);
+
+ return ScrollSpy;
+ }();
+
+ /**
+ * ------------------------------------------------------------------------
+ * Data Api implementation
+ * ------------------------------------------------------------------------
+ */
+
+ $(window).on(Event.LOAD_DATA_API, function () {
+ var scrollSpys = $.makeArray($(Selector.DATA_SPY));
+
+ for (var i = scrollSpys.length; i--;) {
+ var $spy = $(scrollSpys[i]);
+ ScrollSpy._jQueryInterface.call($spy, $spy.data());
+ }
+ });
+
+ /**
+ * ------------------------------------------------------------------------
+ * jQuery
+ * ------------------------------------------------------------------------
+ */
+
+ $.fn[NAME] = ScrollSpy._jQueryInterface;
+ $.fn[NAME].Constructor = ScrollSpy;
+ $.fn[NAME].noConflict = function () {
+ $.fn[NAME] = JQUERY_NO_CONFLICT;
+ return ScrollSpy._jQueryInterface;
+ };
+
+ return ScrollSpy;
+}(jQuery);
+//# sourceMappingURL=scrollspy.js.map
diff --git a/templates/assets/bootstrap/js/dist/scrollspy.js.map b/templates/assets/bootstrap/js/dist/scrollspy.js.map
new file mode 100644
index 0000000..132a267
--- /dev/null
+++ b/templates/assets/bootstrap/js/dist/scrollspy.js.map
@@ -0,0 +1 @@
+{"version":3,"sources":["../src/scrollspy.js"],"names":["ScrollSpy","$","NAME","VERSION","DATA_KEY","EVENT_KEY","DATA_API_KEY","JQUERY_NO_CONFLICT","fn","Default","offset","method","target","DefaultType","Event","ACTIVATE","SCROLL","LOAD_DATA_API","ClassName","DROPDOWN_ITEM","DROPDOWN_MENU","NAV_LINK","NAV","ACTIVE","Selector","DATA_SPY","LIST_ITEM","LI","LI_DROPDOWN","NAV_LINKS","DROPDOWN","DROPDOWN_ITEMS","DROPDOWN_TOGGLE","OffsetMethod","OFFSET","POSITION","element","config","_element","_scrollElement","tagName","window","_config","_getConfig","_selector","_offsets","_targets","_activeTarget","_scrollHeight","on","event","_process","refresh","autoMethod","offsetMethod","offsetBase","_getScrollTop","_getScrollHeight","targets","makeArray","map","targetSelector","Util","getSelectorFromElement","targetBCR","getBoundingClientRect","width","height","top","filter","item","sort","a","b","forEach","push","dispose","removeData","off","extend","id","attr","getUID","typeCheckConfig","pageYOffset","scrollTop","scrollHeight","Math","max","document","body","documentElement","_getOffsetHeight","innerHeight","maxScroll","length","_activate","_clear","i","isActiveTarget","undefined","queries","split","selector","$link","join","hasClass","closest","find","addClass","parents","trigger","relatedTarget","removeClass","_jQueryInterface","each","data","Error","scrollSpys","$spy","call","Constructor","noConflict","jQuery"],"mappings":"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","file":"scrollspy.js","sourcesContent":["import Util from './util'\n\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0-alpha.6): scrollspy.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst ScrollSpy = (($) => {\n\n\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n const NAME = 'scrollspy'\n const VERSION = '4.0.0-alpha.6'\n const DATA_KEY = 'bs.scrollspy'\n const EVENT_KEY = `.${DATA_KEY}`\n const DATA_API_KEY = '.data-api'\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n\n const Default = {\n offset : 10,\n method : 'auto',\n target : ''\n }\n\n const DefaultType = {\n offset : 'number',\n method : 'string',\n target : '(string|element)'\n }\n\n const Event = {\n ACTIVATE : `activate${EVENT_KEY}`,\n SCROLL : `scroll${EVENT_KEY}`,\n LOAD_DATA_API : `load${EVENT_KEY}${DATA_API_KEY}`\n }\n\n const ClassName = {\n DROPDOWN_ITEM : 'dropdown-item',\n DROPDOWN_MENU : 'dropdown-menu',\n NAV_LINK : 'nav-link',\n NAV : 'nav',\n ACTIVE : 'active'\n }\n\n const Selector = {\n DATA_SPY : '[data-spy=\"scroll\"]',\n ACTIVE : '.active',\n LIST_ITEM : '.list-item',\n LI : 'li',\n LI_DROPDOWN : 'li.dropdown',\n NAV_LINKS : '.nav-link',\n DROPDOWN : '.dropdown',\n DROPDOWN_ITEMS : '.dropdown-item',\n DROPDOWN_TOGGLE : '.dropdown-toggle'\n }\n\n const OffsetMethod = {\n OFFSET : 'offset',\n POSITION : 'position'\n }\n\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n class ScrollSpy {\n\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.DROPDOWN_ITEMS}`\n this._offsets = []\n this._targets = []\n this._activeTarget = null\n this._scrollHeight = 0\n\n $(this._scrollElement).on(Event.SCROLL, (event) => this._process(event))\n\n this.refresh()\n this._process()\n }\n\n\n // getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n\n // public\n\n refresh() {\n const autoMethod = this._scrollElement !== this._scrollElement.window ?\n OffsetMethod.POSITION : OffsetMethod.OFFSET\n\n const offsetMethod = this._config.method === 'auto' ?\n autoMethod : this._config.method\n\n const offsetBase = offsetMethod === OffsetMethod.POSITION ?\n this._getScrollTop() : 0\n\n this._offsets = []\n this._targets = []\n\n this._scrollHeight = this._getScrollHeight()\n\n const targets = $.makeArray($(this._selector))\n\n targets\n .map((element) => {\n let target\n const targetSelector = Util.getSelectorFromElement(element)\n\n if (targetSelector) {\n target = $(targetSelector)[0]\n }\n\n if (target) {\n const targetBCR = target.getBoundingClientRect()\n if (targetBCR.width || targetBCR.height) {\n // todo (fat): remove sketch reliance on jQuery position/offset\n return [\n $(target)[offsetMethod]().top + offsetBase,\n targetSelector\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 $.removeData(this._element, DATA_KEY)\n $(this._scrollElement).off(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\n // private\n\n _getConfig(config) {\n config = $.extend({}, Default, config)\n\n if (typeof config.target !== 'string') {\n let id = $(config.target).attr('id')\n if (!id) {\n id = Util.getUID(NAME)\n $(config.target).attr('id', id)\n }\n config.target = `#${id}`\n }\n\n Util.typeCheckConfig(NAME, config, DefaultType)\n\n return config\n }\n\n _getScrollTop() {\n return this._scrollElement === window ?\n this._scrollElement.pageYOffset : 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 : 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 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 for (let i = this._offsets.length; i--;) {\n const isActiveTarget = this._activeTarget !== this._targets[i]\n && scrollTop >= this._offsets[i]\n && (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 let queries = this._selector.split(',')\n queries = queries.map((selector) => {\n return `${selector}[data-target=\"${target}\"],` +\n `${selector}[href=\"${target}\"]`\n })\n\n const $link = $(queries.join(','))\n\n if ($link.hasClass(ClassName.DROPDOWN_ITEM)) {\n $link.closest(Selector.DROPDOWN).find(Selector.DROPDOWN_TOGGLE).addClass(ClassName.ACTIVE)\n $link.addClass(ClassName.ACTIVE)\n } else {\n // todo (fat) this is kinda sus...\n // recursively add actives to tested nav-links\n $link.parents(Selector.LI).find(`> ${Selector.NAV_LINKS}`).addClass(ClassName.ACTIVE)\n }\n\n $(this._scrollElement).trigger(Event.ACTIVATE, {\n relatedTarget: target\n })\n }\n\n _clear() {\n $(this._selector).filter(Selector.ACTIVE).removeClass(ClassName.ACTIVE)\n }\n\n\n // static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n const _config = typeof config === 'object' && config\n\n if (!data) {\n data = new ScrollSpy(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (data[config] === undefined) {\n throw new Error(`No method named \"${config}\"`)\n }\n data[config]()\n }\n })\n }\n\n\n }\n\n\n /**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n $(window).on(Event.LOAD_DATA_API, () => {\n const scrollSpys = $.makeArray($(Selector.DATA_SPY))\n\n for (let i = scrollSpys.length; i--;) {\n const $spy = $(scrollSpys[i])\n ScrollSpy._jQueryInterface.call($spy, $spy.data())\n }\n })\n\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME] = ScrollSpy._jQueryInterface\n $.fn[NAME].Constructor = ScrollSpy\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return ScrollSpy._jQueryInterface\n }\n\n return ScrollSpy\n\n})(jQuery)\n\nexport default ScrollSpy\n"]} \ No newline at end of file
diff --git a/templates/assets/bootstrap/js/dist/tab.js b/templates/assets/bootstrap/js/dist/tab.js
new file mode 100644
index 0000000..26117b3
--- /dev/null
+++ b/templates/assets/bootstrap/js/dist/tab.js
@@ -0,0 +1,264 @@
+var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
+
+function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
+
+/**
+ * --------------------------------------------------------------------------
+ * Bootstrap (v4.0.0-alpha.6): tab.js
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ * --------------------------------------------------------------------------
+ */
+
+var Tab = function ($) {
+
+ /**
+ * ------------------------------------------------------------------------
+ * Constants
+ * ------------------------------------------------------------------------
+ */
+
+ var NAME = 'tab';
+ var VERSION = '4.0.0-alpha.6';
+ var DATA_KEY = 'bs.tab';
+ var EVENT_KEY = '.' + DATA_KEY;
+ var DATA_API_KEY = '.data-api';
+ var JQUERY_NO_CONFLICT = $.fn[NAME];
+ var TRANSITION_DURATION = 150;
+
+ var Event = {
+ HIDE: 'hide' + EVENT_KEY,
+ HIDDEN: 'hidden' + EVENT_KEY,
+ SHOW: 'show' + EVENT_KEY,
+ SHOWN: 'shown' + EVENT_KEY,
+ CLICK_DATA_API: 'click' + EVENT_KEY + DATA_API_KEY
+ };
+
+ var ClassName = {
+ DROPDOWN_MENU: 'dropdown-menu',
+ ACTIVE: 'active',
+ DISABLED: 'disabled',
+ FADE: 'fade',
+ SHOW: 'show'
+ };
+
+ var Selector = {
+ A: 'a',
+ LI: 'li',
+ DROPDOWN: '.dropdown',
+ LIST: 'ul:not(.dropdown-menu), ol:not(.dropdown-menu), nav:not(.dropdown-menu), .list-group:not(.dropdown-menu)',
+ FADE_CHILD: '> .nav-item .fade, > .list-group-item .fade, > .fade',
+ ACTIVE: '.active',
+ ACTIVE_CHILD: '> .nav-item > .active, > .list-group-item > .active, > .active',
+ DATA_TOGGLE: '[data-toggle="tab"], [data-toggle="pill"]',
+ DROPDOWN_TOGGLE: '.dropdown-toggle',
+ DROPDOWN_ACTIVE_CHILD: '> .dropdown-menu .active'
+ };
+
+ /**
+ * ------------------------------------------------------------------------
+ * Class Definition
+ * ------------------------------------------------------------------------
+ */
+
+ var Tab = function () {
+ function Tab(element) {
+ _classCallCheck(this, Tab);
+
+ this._element = element;
+ }
+
+ // getters
+
+ // public
+
+ Tab.prototype.show = function show() {
+ var _this = this;
+
+ if (this._element.parentNode && this._element.parentNode.nodeType === Node.ELEMENT_NODE && $(this._element).hasClass(ClassName.ACTIVE) || $(this._element).hasClass(ClassName.DISABLED)) {
+ return;
+ }
+
+ var target = void 0;
+ var previous = void 0;
+ var listElement = $(this._element).closest(Selector.LIST)[0];
+ var selector = Util.getSelectorFromElement(this._element);
+
+ if (listElement) {
+ previous = $.makeArray($(listElement).find(Selector.ACTIVE));
+ previous = previous[previous.length - 1];
+ }
+
+ var hideEvent = $.Event(Event.HIDE, {
+ relatedTarget: this._element
+ });
+
+ var showEvent = $.Event(Event.SHOW, {
+ relatedTarget: previous
+ });
+
+ if (previous) {
+ $(previous).trigger(hideEvent);
+ }
+
+ $(this._element).trigger(showEvent);
+
+ if (showEvent.isDefaultPrevented() || hideEvent.isDefaultPrevented()) {
+ return;
+ }
+
+ if (selector) {
+ target = $(selector)[0];
+ }
+
+ this._activate(this._element, listElement);
+
+ var complete = function complete() {
+ var hiddenEvent = $.Event(Event.HIDDEN, {
+ relatedTarget: _this._element
+ });
+
+ var shownEvent = $.Event(Event.SHOWN, {
+ relatedTarget: previous
+ });
+
+ $(previous).trigger(hiddenEvent);
+ $(_this._element).trigger(shownEvent);
+ };
+
+ if (target) {
+ this._activate(target, target.parentNode, complete);
+ } else {
+ complete();
+ }
+ };
+
+ Tab.prototype.dispose = function dispose() {
+ $.removeClass(this._element, DATA_KEY);
+ this._element = null;
+ };
+
+ // private
+
+ Tab.prototype._activate = function _activate(element, container, callback) {
+ var _this2 = this;
+
+ var active = $(container).find(Selector.ACTIVE_CHILD)[0];
+ var isTransitioning = callback && Util.supportsTransitionEnd() && (active && $(active).hasClass(ClassName.FADE) || Boolean($(container).find(Selector.FADE_CHILD)[0]));
+
+ var complete = function complete() {
+ return _this2._transitionComplete(element, active, isTransitioning, callback);
+ };
+
+ if (active && isTransitioning) {
+ $(active).one(Util.TRANSITION_END, complete).emulateTransitionEnd(TRANSITION_DURATION);
+ } else {
+ complete();
+ }
+
+ if (active) {
+ $(active).removeClass(ClassName.SHOW);
+ }
+ };
+
+ Tab.prototype._transitionComplete = function _transitionComplete(element, active, isTransitioning, callback) {
+ if (active) {
+ $(active).removeClass(ClassName.ACTIVE);
+ if ($(active).hasClass('list-group-item')) {
+ $(active).find('a.nav-link').removeClass(ClassName.ACTIVE);
+ }
+
+ var dropdownChild = $(active.parentNode).find(Selector.DROPDOWN_ACTIVE_CHILD)[0];
+
+ if (dropdownChild) {
+ $(dropdownChild).removeClass(ClassName.ACTIVE);
+ }
+
+ active.setAttribute('aria-expanded', false);
+ }
+
+ $(element).addClass(ClassName.ACTIVE);
+ if ($(element.parentNode).hasClass('list-group-item')) {
+ $(element.parentNode).addClass(ClassName.ACTIVE);
+ }
+ element.setAttribute('aria-expanded', true);
+
+ if (isTransitioning) {
+ Util.reflow(element);
+ $(element).addClass(ClassName.SHOW);
+ } else {
+ $(element).removeClass(ClassName.FADE);
+ }
+
+ if (element.parentNode && $(element.parentNode).hasClass(ClassName.DROPDOWN_MENU)) {
+
+ var dropdownElement = $(element).closest(Selector.DROPDOWN)[0];
+ if (dropdownElement) {
+ $(dropdownElement).find(Selector.DROPDOWN_TOGGLE).addClass(ClassName.ACTIVE);
+ }
+
+ element.setAttribute('aria-expanded', true);
+ }
+
+ if (callback) {
+ callback();
+ }
+ };
+
+ // static
+
+ Tab._jQueryInterface = function _jQueryInterface(config) {
+ return this.each(function () {
+ var $this = $(this);
+ var data = $this.data(DATA_KEY);
+
+ if (!data) {
+ data = new Tab(this);
+ $this.data(DATA_KEY, data);
+ }
+
+ if (typeof config === 'string') {
+ if (data[config] === undefined) {
+ throw new Error('No method named "' + config + '"');
+ }
+ data[config]();
+ }
+ });
+ };
+
+ _createClass(Tab, null, [{
+ key: 'VERSION',
+ get: function get() {
+ return VERSION;
+ }
+ }]);
+
+ return Tab;
+ }();
+
+ /**
+ * ------------------------------------------------------------------------
+ * Data Api implementation
+ * ------------------------------------------------------------------------
+ */
+
+ $(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {
+ event.preventDefault();
+ Tab._jQueryInterface.call($(this), 'show');
+ });
+
+ /**
+ * ------------------------------------------------------------------------
+ * jQuery
+ * ------------------------------------------------------------------------
+ */
+
+ $.fn[NAME] = Tab._jQueryInterface;
+ $.fn[NAME].Constructor = Tab;
+ $.fn[NAME].noConflict = function () {
+ $.fn[NAME] = JQUERY_NO_CONFLICT;
+ return Tab._jQueryInterface;
+ };
+
+ return Tab;
+}(jQuery);
+//# sourceMappingURL=tab.js.map
diff --git a/templates/assets/bootstrap/js/dist/tab.js.map b/templates/assets/bootstrap/js/dist/tab.js.map
new file mode 100644
index 0000000..a2a76e9
--- /dev/null
+++ b/templates/assets/bootstrap/js/dist/tab.js.map
@@ -0,0 +1 @@
+{"version":3,"sources":["../src/tab.js"],"names":["Tab","$","NAME","VERSION","DATA_KEY","EVENT_KEY","DATA_API_KEY","JQUERY_NO_CONFLICT","fn","TRANSITION_DURATION","Event","HIDE","HIDDEN","SHOW","SHOWN","CLICK_DATA_API","ClassName","DROPDOWN_MENU","ACTIVE","DISABLED","FADE","Selector","A","LI","DROPDOWN","LIST","FADE_CHILD","ACTIVE_CHILD","DATA_TOGGLE","DROPDOWN_TOGGLE","DROPDOWN_ACTIVE_CHILD","element","_element","show","parentNode","nodeType","Node","ELEMENT_NODE","hasClass","target","previous","listElement","closest","selector","Util","getSelectorFromElement","makeArray","find","length","hideEvent","relatedTarget","showEvent","trigger","isDefaultPrevented","_activate","complete","hiddenEvent","shownEvent","dispose","removeClass","container","callback","active","isTransitioning","supportsTransitionEnd","Boolean","_transitionComplete","one","TRANSITION_END","emulateTransitionEnd","dropdownChild","setAttribute","addClass","reflow","dropdownElement","_jQueryInterface","config","each","$this","data","undefined","Error","document","on","event","preventDefault","call","Constructor","noConflict","jQuery"],"mappings":"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","file":"tab.js","sourcesContent":["import Util from './util'\n\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0-alpha.6): tab.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Tab = (($) => {\n\n\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n const NAME = 'tab'\n const VERSION = '4.0.0-alpha.6'\n const DATA_KEY = 'bs.tab'\n const EVENT_KEY = `.${DATA_KEY}`\n const DATA_API_KEY = '.data-api'\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n const TRANSITION_DURATION = 150\n\n const 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\n const ClassName = {\n DROPDOWN_MENU : 'dropdown-menu',\n ACTIVE : 'active',\n DISABLED : 'disabled',\n FADE : 'fade',\n SHOW : 'show'\n }\n\n const Selector = {\n A : 'a',\n LI : 'li',\n DROPDOWN : '.dropdown',\n LIST : 'ul:not(.dropdown-menu), ol:not(.dropdown-menu), nav:not(.dropdown-menu), .list-group:not(.dropdown-menu)',\n FADE_CHILD : '> .nav-item .fade, > .list-group-item .fade, > .fade',\n ACTIVE : '.active',\n ACTIVE_CHILD : '> .nav-item > .active, > .list-group-item > .active, > .active',\n DATA_TOGGLE : '[data-toggle=\"tab\"], [data-toggle=\"pill\"]',\n DROPDOWN_TOGGLE : '.dropdown-toggle',\n DROPDOWN_ACTIVE_CHILD : '> .dropdown-menu .active'\n }\n\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n class Tab {\n\n constructor(element) {\n this._element = element\n }\n\n\n // getters\n\n static get VERSION() {\n return VERSION\n }\n\n\n // public\n\n show() {\n if (this._element.parentNode &&\n this._element.parentNode.nodeType === Node.ELEMENT_NODE &&\n $(this._element).hasClass(ClassName.ACTIVE) ||\n $(this._element).hasClass(ClassName.DISABLED)) {\n return\n }\n\n let target\n let previous\n const listElement = $(this._element).closest(Selector.LIST)[0]\n const selector = Util.getSelectorFromElement(this._element)\n\n if (listElement) {\n previous = $.makeArray($(listElement).find(Selector.ACTIVE))\n previous = previous[previous.length - 1]\n }\n\n const hideEvent = $.Event(Event.HIDE, {\n relatedTarget: this._element\n })\n\n const showEvent = $.Event(Event.SHOW, {\n relatedTarget: previous\n })\n\n if (previous) {\n $(previous).trigger(hideEvent)\n }\n\n $(this._element).trigger(showEvent)\n\n if (showEvent.isDefaultPrevented() ||\n hideEvent.isDefaultPrevented()) {\n return\n }\n\n if (selector) {\n target = $(selector)[0]\n }\n\n this._activate(\n this._element,\n listElement\n )\n\n const complete = () => {\n const hiddenEvent = $.Event(Event.HIDDEN, {\n relatedTarget: this._element\n })\n\n const shownEvent = $.Event(Event.SHOWN, {\n relatedTarget: previous\n })\n\n $(previous).trigger(hiddenEvent)\n $(this._element).trigger(shownEvent)\n }\n\n if (target) {\n this._activate(target, target.parentNode, complete)\n } else {\n complete()\n }\n }\n\n dispose() {\n $.removeClass(this._element, DATA_KEY)\n this._element = null\n }\n\n\n // private\n\n _activate(element, container, callback) {\n const active = $(container).find(Selector.ACTIVE_CHILD)[0]\n const isTransitioning = callback\n && Util.supportsTransitionEnd()\n && (active && $(active).hasClass(ClassName.FADE)\n || Boolean($(container).find(Selector.FADE_CHILD)[0]))\n\n const complete = () => this._transitionComplete(\n element,\n active,\n isTransitioning,\n callback\n )\n\n if (active && isTransitioning) {\n $(active)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(TRANSITION_DURATION)\n\n } else {\n complete()\n }\n\n if (active) {\n $(active).removeClass(ClassName.SHOW)\n }\n }\n\n _transitionComplete(element, active, isTransitioning, callback) {\n if (active) {\n $(active).removeClass(ClassName.ACTIVE)\n if ($(active).hasClass('list-group-item')) {\n $(active).find('a.nav-link').removeClass(ClassName.ACTIVE)\n }\n\n const dropdownChild = $(active.parentNode).find(\n Selector.DROPDOWN_ACTIVE_CHILD\n )[0]\n\n if (dropdownChild) {\n $(dropdownChild).removeClass(ClassName.ACTIVE)\n }\n\n active.setAttribute('aria-expanded', false)\n }\n\n $(element).addClass(ClassName.ACTIVE)\n if ($(element.parentNode).hasClass('list-group-item')) {\n $(element.parentNode).addClass(ClassName.ACTIVE)\n }\n element.setAttribute('aria-expanded', true)\n\n if (isTransitioning) {\n Util.reflow(element)\n $(element).addClass(ClassName.SHOW)\n } else {\n $(element).removeClass(ClassName.FADE)\n }\n\n if (element.parentNode &&\n $(element.parentNode).hasClass(ClassName.DROPDOWN_MENU)) {\n\n const dropdownElement = $(element).closest(Selector.DROPDOWN)[0]\n if (dropdownElement) {\n $(dropdownElement).find(Selector.DROPDOWN_TOGGLE).addClass(ClassName.ACTIVE)\n }\n\n element.setAttribute('aria-expanded', true)\n }\n\n if (callback) {\n callback()\n }\n }\n\n\n // static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n const $this = $(this)\n let data = $this.data(DATA_KEY)\n\n if (!data) {\n data = new Tab(this)\n $this.data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (data[config] === undefined) {\n throw new Error(`No method named \"${config}\"`)\n }\n data[config]()\n }\n })\n }\n\n }\n\n\n /**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n $(document)\n .on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {\n event.preventDefault()\n Tab._jQueryInterface.call($(this), 'show')\n })\n\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME] = Tab._jQueryInterface\n $.fn[NAME].Constructor = Tab\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Tab._jQueryInterface\n }\n\n return Tab\n\n})(jQuery)\n\nexport default Tab\n"]} \ No newline at end of file
diff --git a/templates/assets/bootstrap/js/dist/tooltip.js b/templates/assets/bootstrap/js/dist/tooltip.js
new file mode 100644
index 0000000..a7a9f42
--- /dev/null
+++ b/templates/assets/bootstrap/js/dist/tooltip.js
@@ -0,0 +1,623 @@
+var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
+
+var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
+
+function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
+
+/**
+ * --------------------------------------------------------------------------
+ * Bootstrap (v4.0.0-alpha.6): tooltip.js
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ * --------------------------------------------------------------------------
+ */
+
+var Tooltip = function ($) {
+
+ /**
+ * Check for Tether dependency
+ * Tether - http://tether.io/
+ */
+ if (typeof Tether === 'undefined') {
+ throw new Error('Bootstrap tooltips require Tether (http://tether.io/)');
+ }
+
+ /**
+ * ------------------------------------------------------------------------
+ * Constants
+ * ------------------------------------------------------------------------
+ */
+
+ var NAME = 'tooltip';
+ var VERSION = '4.0.0-alpha.6';
+ var DATA_KEY = 'bs.tooltip';
+ var EVENT_KEY = '.' + DATA_KEY;
+ var JQUERY_NO_CONFLICT = $.fn[NAME];
+ var TRANSITION_DURATION = 150;
+ var CLASS_PREFIX = 'bs-tether';
+
+ var Default = {
+ animation: true,
+ template: '<div class="tooltip" role="tooltip">' + '<div class="tooltip-inner"></div></div>',
+ trigger: 'hover focus',
+ title: '',
+ delay: 0,
+ html: false,
+ selector: false,
+ placement: 'top',
+ offset: '0 0',
+ constraints: [],
+ container: false
+ };
+
+ var DefaultType = {
+ animation: 'boolean',
+ template: 'string',
+ title: '(string|element|function)',
+ trigger: 'string',
+ delay: '(number|object)',
+ html: 'boolean',
+ selector: '(string|boolean)',
+ placement: '(string|function)',
+ offset: 'string',
+ constraints: 'array',
+ container: '(string|element|boolean)'
+ };
+
+ var AttachmentMap = {
+ TOP: 'bottom center',
+ RIGHT: 'middle left',
+ BOTTOM: 'top center',
+ LEFT: 'middle right'
+ };
+
+ var HoverState = {
+ SHOW: 'show',
+ OUT: 'out'
+ };
+
+ var Event = {
+ HIDE: 'hide' + EVENT_KEY,
+ HIDDEN: 'hidden' + EVENT_KEY,
+ SHOW: 'show' + EVENT_KEY,
+ SHOWN: 'shown' + EVENT_KEY,
+ INSERTED: 'inserted' + EVENT_KEY,
+ CLICK: 'click' + EVENT_KEY,
+ FOCUSIN: 'focusin' + EVENT_KEY,
+ FOCUSOUT: 'focusout' + EVENT_KEY,
+ MOUSEENTER: 'mouseenter' + EVENT_KEY,
+ MOUSELEAVE: 'mouseleave' + EVENT_KEY
+ };
+
+ var ClassName = {
+ FADE: 'fade',
+ SHOW: 'show'
+ };
+
+ var Selector = {
+ TOOLTIP: '.tooltip',
+ TOOLTIP_INNER: '.tooltip-inner'
+ };
+
+ var TetherClass = {
+ element: false,
+ enabled: false
+ };
+
+ var Trigger = {
+ HOVER: 'hover',
+ FOCUS: 'focus',
+ CLICK: 'click',
+ MANUAL: 'manual'
+ };
+
+ /**
+ * ------------------------------------------------------------------------
+ * Class Definition
+ * ------------------------------------------------------------------------
+ */
+
+ var Tooltip = function () {
+ function Tooltip(element, config) {
+ _classCallCheck(this, Tooltip);
+
+ // private
+ this._isEnabled = true;
+ this._timeout = 0;
+ this._hoverState = '';
+ this._activeTrigger = {};
+ this._isTransitioning = false;
+ this._tether = null;
+
+ // protected
+ this.element = element;
+ this.config = this._getConfig(config);
+ this.tip = null;
+
+ this._setListeners();
+ }
+
+ // getters
+
+ // public
+
+ Tooltip.prototype.enable = function enable() {
+ this._isEnabled = true;
+ };
+
+ Tooltip.prototype.disable = function disable() {
+ this._isEnabled = false;
+ };
+
+ Tooltip.prototype.toggleEnabled = function toggleEnabled() {
+ this._isEnabled = !this._isEnabled;
+ };
+
+ Tooltip.prototype.toggle = function toggle(event) {
+ if (event) {
+ var dataKey = this.constructor.DATA_KEY;
+ var context = $(event.currentTarget).data(dataKey);
+
+ if (!context) {
+ context = new this.constructor(event.currentTarget, this._getDelegateConfig());
+ $(event.currentTarget).data(dataKey, context);
+ }
+
+ context._activeTrigger.click = !context._activeTrigger.click;
+
+ if (context._isWithActiveTrigger()) {
+ context._enter(null, context);
+ } else {
+ context._leave(null, context);
+ }
+ } else {
+
+ if ($(this.getTipElement()).hasClass(ClassName.SHOW)) {
+ this._leave(null, this);
+ return;
+ }
+
+ this._enter(null, this);
+ }
+ };
+
+ Tooltip.prototype.dispose = function dispose() {
+ clearTimeout(this._timeout);
+
+ this.cleanupTether();
+
+ $.removeData(this.element, this.constructor.DATA_KEY);
+
+ $(this.element).off(this.constructor.EVENT_KEY);
+ $(this.element).closest('.modal').off('hide.bs.modal');
+
+ if (this.tip) {
+ $(this.tip).remove();
+ }
+
+ this._isEnabled = null;
+ this._timeout = null;
+ this._hoverState = null;
+ this._activeTrigger = null;
+ this._tether = null;
+
+ this.element = null;
+ this.config = null;
+ this.tip = null;
+ };
+
+ Tooltip.prototype.show = function show() {
+ var _this = this;
+
+ if ($(this.element).css('display') === 'none') {
+ throw new Error('Please use show on visible elements');
+ }
+
+ var showEvent = $.Event(this.constructor.Event.SHOW);
+ if (this.isWithContent() && this._isEnabled) {
+ if (this._isTransitioning) {
+ throw new Error('Tooltip is transitioning');
+ }
+ $(this.element).trigger(showEvent);
+
+ var isInTheDom = $.contains(this.element.ownerDocument.documentElement, this.element);
+
+ if (showEvent.isDefaultPrevented() || !isInTheDom) {
+ return;
+ }
+
+ var tip = this.getTipElement();
+ var tipId = Util.getUID(this.constructor.NAME);
+
+ tip.setAttribute('id', tipId);
+ this.element.setAttribute('aria-describedby', tipId);
+
+ this.setContent();
+
+ if (this.config.animation) {
+ $(tip).addClass(ClassName.FADE);
+ }
+
+ var placement = typeof this.config.placement === 'function' ? this.config.placement.call(this, tip, this.element) : this.config.placement;
+
+ var attachment = this._getAttachment(placement);
+
+ var container = this.config.container === false ? document.body : $(this.config.container);
+
+ $(tip).data(this.constructor.DATA_KEY, this).appendTo(container);
+
+ $(this.element).trigger(this.constructor.Event.INSERTED);
+
+ this._tether = new Tether({
+ attachment: attachment,
+ element: tip,
+ target: this.element,
+ classes: TetherClass,
+ classPrefix: CLASS_PREFIX,
+ offset: this.config.offset,
+ constraints: this.config.constraints,
+ addTargetClasses: false
+ });
+
+ Util.reflow(tip);
+ this._tether.position();
+
+ $(tip).addClass(ClassName.SHOW);
+
+ var complete = function complete() {
+ var prevHoverState = _this._hoverState;
+ _this._hoverState = null;
+ _this._isTransitioning = false;
+
+ $(_this.element).trigger(_this.constructor.Event.SHOWN);
+
+ if (prevHoverState === HoverState.OUT) {
+ _this._leave(null, _this);
+ }
+ };
+
+ if (Util.supportsTransitionEnd() && $(this.tip).hasClass(ClassName.FADE)) {
+ this._isTransitioning = true;
+ $(this.tip).one(Util.TRANSITION_END, complete).emulateTransitionEnd(Tooltip._TRANSITION_DURATION);
+ return;
+ }
+
+ complete();
+ }
+ };
+
+ Tooltip.prototype.hide = function hide(callback) {
+ var _this2 = this;
+
+ var tip = this.getTipElement();
+ var hideEvent = $.Event(this.constructor.Event.HIDE);
+ if (this._isTransitioning) {
+ throw new Error('Tooltip is transitioning');
+ }
+ var complete = function complete() {
+ if (_this2._hoverState !== HoverState.SHOW && tip.parentNode) {
+ tip.parentNode.removeChild(tip);
+ }
+
+ _this2.element.removeAttribute('aria-describedby');
+ $(_this2.element).trigger(_this2.constructor.Event.HIDDEN);
+ _this2._isTransitioning = false;
+ _this2.cleanupTether();
+
+ if (callback) {
+ callback();
+ }
+ };
+
+ $(this.element).trigger(hideEvent);
+
+ if (hideEvent.isDefaultPrevented()) {
+ return;
+ }
+
+ $(tip).removeClass(ClassName.SHOW);
+
+ this._activeTrigger[Trigger.CLICK] = false;
+ this._activeTrigger[Trigger.FOCUS] = false;
+ this._activeTrigger[Trigger.HOVER] = false;
+
+ if (Util.supportsTransitionEnd() && $(this.tip).hasClass(ClassName.FADE)) {
+ this._isTransitioning = true;
+ $(tip).one(Util.TRANSITION_END, complete).emulateTransitionEnd(TRANSITION_DURATION);
+ } else {
+ complete();
+ }
+
+ this._hoverState = '';
+ };
+
+ // protected
+
+ Tooltip.prototype.isWithContent = function isWithContent() {
+ return Boolean(this.getTitle());
+ };
+
+ Tooltip.prototype.getTipElement = function getTipElement() {
+ return this.tip = this.tip || $(this.config.template)[0];
+ };
+
+ Tooltip.prototype.setContent = function setContent() {
+ var $tip = $(this.getTipElement());
+
+ this.setElementContent($tip.find(Selector.TOOLTIP_INNER), this.getTitle());
+
+ $tip.removeClass(ClassName.FADE + ' ' + ClassName.SHOW);
+
+ this.cleanupTether();
+ };
+
+ Tooltip.prototype.setElementContent = function setElementContent($element, content) {
+ var html = this.config.html;
+ if ((typeof content === 'undefined' ? 'undefined' : _typeof(content)) === 'object' && (content.nodeType || content.jquery)) {
+ // content is a DOM node or a jQuery
+ if (html) {
+ if (!$(content).parent().is($element)) {
+ $element.empty().append(content);
+ }
+ } else {
+ $element.text($(content).text());
+ }
+ } else {
+ $element[html ? 'html' : 'text'](content);
+ }
+ };
+
+ Tooltip.prototype.getTitle = function getTitle() {
+ var title = this.element.getAttribute('data-original-title');
+
+ if (!title) {
+ title = typeof this.config.title === 'function' ? this.config.title.call(this.element) : this.config.title;
+ }
+
+ return title;
+ };
+
+ Tooltip.prototype.cleanupTether = function cleanupTether() {
+ if (this._tether) {
+ this._tether.destroy();
+ }
+ };
+
+ // private
+
+ Tooltip.prototype._getAttachment = function _getAttachment(placement) {
+ return AttachmentMap[placement.toUpperCase()];
+ };
+
+ Tooltip.prototype._setListeners = function _setListeners() {
+ var _this3 = this;
+
+ var triggers = this.config.trigger.split(' ');
+
+ triggers.forEach(function (trigger) {
+ if (trigger === 'click') {
+ $(_this3.element).on(_this3.constructor.Event.CLICK, _this3.config.selector, function (event) {
+ return _this3.toggle(event);
+ });
+ } else if (trigger !== Trigger.MANUAL) {
+ var eventIn = trigger === Trigger.HOVER ? _this3.constructor.Event.MOUSEENTER : _this3.constructor.Event.FOCUSIN;
+ var eventOut = trigger === Trigger.HOVER ? _this3.constructor.Event.MOUSELEAVE : _this3.constructor.Event.FOCUSOUT;
+
+ $(_this3.element).on(eventIn, _this3.config.selector, function (event) {
+ return _this3._enter(event);
+ }).on(eventOut, _this3.config.selector, function (event) {
+ return _this3._leave(event);
+ });
+ }
+
+ $(_this3.element).closest('.modal').on('hide.bs.modal', function () {
+ return _this3.hide();
+ });
+ });
+
+ if (this.config.selector) {
+ this.config = $.extend({}, this.config, {
+ trigger: 'manual',
+ selector: ''
+ });
+ } else {
+ this._fixTitle();
+ }
+ };
+
+ Tooltip.prototype._fixTitle = function _fixTitle() {
+ var titleType = _typeof(this.element.getAttribute('data-original-title'));
+ if (this.element.getAttribute('title') || titleType !== 'string') {
+ this.element.setAttribute('data-original-title', this.element.getAttribute('title') || '');
+ this.element.setAttribute('title', '');
+ }
+ };
+
+ Tooltip.prototype._enter = function _enter(event, context) {
+ var dataKey = this.constructor.DATA_KEY;
+
+ context = context || $(event.currentTarget).data(dataKey);
+
+ if (!context) {
+ context = new this.constructor(event.currentTarget, this._getDelegateConfig());
+ $(event.currentTarget).data(dataKey, context);
+ }
+
+ if (event) {
+ context._activeTrigger[event.type === 'focusin' ? Trigger.FOCUS : Trigger.HOVER] = true;
+ }
+
+ if ($(context.getTipElement()).hasClass(ClassName.SHOW) || context._hoverState === HoverState.SHOW) {
+ context._hoverState = HoverState.SHOW;
+ return;
+ }
+
+ clearTimeout(context._timeout);
+
+ context._hoverState = HoverState.SHOW;
+
+ if (!context.config.delay || !context.config.delay.show) {
+ context.show();
+ return;
+ }
+
+ context._timeout = setTimeout(function () {
+ if (context._hoverState === HoverState.SHOW) {
+ context.show();
+ }
+ }, context.config.delay.show);
+ };
+
+ Tooltip.prototype._leave = function _leave(event, context) {
+ var dataKey = this.constructor.DATA_KEY;
+
+ context = context || $(event.currentTarget).data(dataKey);
+
+ if (!context) {
+ context = new this.constructor(event.currentTarget, this._getDelegateConfig());
+ $(event.currentTarget).data(dataKey, context);
+ }
+
+ if (event) {
+ context._activeTrigger[event.type === 'focusout' ? Trigger.FOCUS : Trigger.HOVER] = false;
+ }
+
+ if (context._isWithActiveTrigger()) {
+ return;
+ }
+
+ clearTimeout(context._timeout);
+
+ context._hoverState = HoverState.OUT;
+
+ if (!context.config.delay || !context.config.delay.hide) {
+ context.hide();
+ return;
+ }
+
+ context._timeout = setTimeout(function () {
+ if (context._hoverState === HoverState.OUT) {
+ context.hide();
+ }
+ }, context.config.delay.hide);
+ };
+
+ Tooltip.prototype._isWithActiveTrigger = function _isWithActiveTrigger() {
+ for (var trigger in this._activeTrigger) {
+ if (this._activeTrigger[trigger]) {
+ return true;
+ }
+ }
+
+ return false;
+ };
+
+ Tooltip.prototype._getConfig = function _getConfig(config) {
+ config = $.extend({}, this.constructor.Default, $(this.element).data(), config);
+
+ if (config.delay && typeof config.delay === 'number') {
+ config.delay = {
+ show: config.delay,
+ hide: config.delay
+ };
+ }
+
+ Util.typeCheckConfig(NAME, config, this.constructor.DefaultType);
+
+ return config;
+ };
+
+ Tooltip.prototype._getDelegateConfig = function _getDelegateConfig() {
+ var config = {};
+
+ if (this.config) {
+ for (var key in this.config) {
+ if (this.constructor.Default[key] !== this.config[key]) {
+ config[key] = this.config[key];
+ }
+ }
+ }
+
+ return config;
+ };
+
+ // static
+
+ Tooltip._jQueryInterface = function _jQueryInterface(config) {
+ return this.each(function () {
+ var data = $(this).data(DATA_KEY);
+ var _config = (typeof config === 'undefined' ? 'undefined' : _typeof(config)) === 'object' && config;
+
+ if (!data && /dispose|hide/.test(config)) {
+ return;
+ }
+
+ if (!data) {
+ data = new Tooltip(this, _config);
+ $(this).data(DATA_KEY, data);
+ }
+
+ if (typeof config === 'string') {
+ if (data[config] === undefined) {
+ throw new Error('No method named "' + config + '"');
+ }
+ data[config]();
+ }
+ });
+ };
+
+ _createClass(Tooltip, null, [{
+ key: 'VERSION',
+ get: function get() {
+ return VERSION;
+ }
+ }, {
+ key: 'Default',
+ get: function get() {
+ return Default;
+ }
+ }, {
+ key: 'NAME',
+ get: function get() {
+ return NAME;
+ }
+ }, {
+ key: 'DATA_KEY',
+ get: function get() {
+ return DATA_KEY;
+ }
+ }, {
+ key: 'Event',
+ get: function get() {
+ return Event;
+ }
+ }, {
+ key: 'EVENT_KEY',
+ get: function get() {
+ return EVENT_KEY;
+ }
+ }, {
+ key: 'DefaultType',
+ get: function get() {
+ return DefaultType;
+ }
+ }]);
+
+ return Tooltip;
+ }();
+
+ /**
+ * ------------------------------------------------------------------------
+ * jQuery
+ * ------------------------------------------------------------------------
+ */
+
+ $.fn[NAME] = Tooltip._jQueryInterface;
+ $.fn[NAME].Constructor = Tooltip;
+ $.fn[NAME].noConflict = function () {
+ $.fn[NAME] = JQUERY_NO_CONFLICT;
+ return Tooltip._jQueryInterface;
+ };
+
+ return Tooltip;
+}(jQuery); /* global Tether */
+//# sourceMappingURL=tooltip.js.map
diff --git a/templates/assets/bootstrap/js/dist/tooltip.js.map b/templates/assets/bootstrap/js/dist/tooltip.js.map
new file mode 100644
index 0000000..06d71e2
--- /dev/null
+++ b/templates/assets/bootstrap/js/dist/tooltip.js.map
@@ -0,0 +1 @@
+{"version":3,"sources":["../src/tooltip.js"],"names":["Tooltip","$","Tether","Error","NAME","VERSION","DATA_KEY","EVENT_KEY","JQUERY_NO_CONFLICT","fn","TRANSITION_DURATION","CLASS_PREFIX","Default","animation","template","trigger","title","delay","html","selector","placement","offset","constraints","container","DefaultType","AttachmentMap","TOP","RIGHT","BOTTOM","LEFT","HoverState","SHOW","OUT","Event","HIDE","HIDDEN","SHOWN","INSERTED","CLICK","FOCUSIN","FOCUSOUT","MOUSEENTER","MOUSELEAVE","ClassName","FADE","Selector","TOOLTIP","TOOLTIP_INNER","TetherClass","element","enabled","Trigger","HOVER","FOCUS","MANUAL","config","_isEnabled","_timeout","_hoverState","_activeTrigger","_isTransitioning","_tether","_getConfig","tip","_setListeners","enable","disable","toggleEnabled","toggle","event","dataKey","constructor","context","currentTarget","data","_getDelegateConfig","click","_isWithActiveTrigger","_enter","_leave","getTipElement","hasClass","dispose","clearTimeout","cleanupTether","removeData","off","closest","remove","show","css","showEvent","isWithContent","isInTheDom","contains","ownerDocument","documentElement","isDefaultPrevented","tipId","Util","getUID","setAttribute","setContent","addClass","call","attachment","_getAttachment","document","body","appendTo","target","classes","classPrefix","addTargetClasses","reflow","position","complete","prevHoverState","supportsTransitionEnd","one","TRANSITION_END","emulateTransitionEnd","_TRANSITION_DURATION","hide","callback","hideEvent","parentNode","removeChild","removeAttribute","removeClass","Boolean","getTitle","$tip","setElementContent","find","$element","content","nodeType","jquery","parent","is","empty","append","text","getAttribute","destroy","toUpperCase","triggers","split","forEach","on","eventIn","eventOut","extend","_fixTitle","titleType","type","setTimeout","typeCheckConfig","key","_jQueryInterface","each","_config","test","undefined","Constructor","noConflict","jQuery"],"mappings":"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","file":"tooltip.js","sourcesContent":["/* global Tether */\n\nimport Util from './util'\n\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0-alpha.6): tooltip.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Tooltip = (($) => {\n\n /**\n * Check for Tether dependency\n * Tether - http://tether.io/\n */\n if (typeof Tether === 'undefined') {\n throw new Error('Bootstrap tooltips require Tether (http://tether.io/)')\n }\n\n\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n const NAME = 'tooltip'\n const VERSION = '4.0.0-alpha.6'\n const DATA_KEY = 'bs.tooltip'\n const EVENT_KEY = `.${DATA_KEY}`\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n const TRANSITION_DURATION = 150\n const CLASS_PREFIX = 'bs-tether'\n\n const Default = {\n animation : true,\n template : '<div class=\"tooltip\" role=\"tooltip\">'\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 0',\n constraints : [],\n container : false\n }\n\n const 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 : 'string',\n constraints : 'array',\n container : '(string|element|boolean)'\n }\n\n const AttachmentMap = {\n TOP : 'bottom center',\n RIGHT : 'middle left',\n BOTTOM : 'top center',\n LEFT : 'middle right'\n }\n\n const HoverState = {\n SHOW : 'show',\n OUT : 'out'\n }\n\n const 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 const ClassName = {\n FADE : 'fade',\n SHOW : 'show'\n }\n\n const Selector = {\n TOOLTIP : '.tooltip',\n TOOLTIP_INNER : '.tooltip-inner'\n }\n\n const TetherClass = {\n element : false,\n enabled : false\n }\n\n const Trigger = {\n HOVER : 'hover',\n FOCUS : 'focus',\n CLICK : 'click',\n MANUAL : 'manual'\n }\n\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n class Tooltip {\n\n constructor(element, config) {\n\n // private\n this._isEnabled = true\n this._timeout = 0\n this._hoverState = ''\n this._activeTrigger = {}\n this._isTransitioning = false\n this._tether = null\n\n // protected\n this.element = element\n this.config = this._getConfig(config)\n this.tip = null\n\n this._setListeners()\n\n }\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\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 (event) {\n const dataKey = this.constructor.DATA_KEY\n let context = $(event.currentTarget).data(dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.currentTarget,\n this._getDelegateConfig()\n )\n $(event.currentTarget).data(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\n } else {\n\n if ($(this.getTipElement()).hasClass(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 this.cleanupTether()\n\n $.removeData(this.element, this.constructor.DATA_KEY)\n\n $(this.element).off(this.constructor.EVENT_KEY)\n $(this.element).closest('.modal').off('hide.bs.modal')\n\n if (this.tip) {\n $(this.tip).remove()\n }\n\n this._isEnabled = null\n this._timeout = null\n this._hoverState = null\n this._activeTrigger = null\n this._tether = null\n\n this.element = null\n this.config = null\n this.tip = null\n }\n\n show() {\n if ($(this.element).css('display') === 'none') {\n throw new Error('Please use show on visible elements')\n }\n\n const showEvent = $.Event(this.constructor.Event.SHOW)\n if (this.isWithContent() && this._isEnabled) {\n if (this._isTransitioning) {\n throw new Error('Tooltip is transitioning')\n }\n $(this.element).trigger(showEvent)\n\n const isInTheDom = $.contains(\n this.element.ownerDocument.documentElement,\n this.element\n )\n\n if (showEvent.isDefaultPrevented() || !isInTheDom) {\n return\n }\n\n const tip = this.getTipElement()\n const tipId = Util.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).addClass(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\n const container = this.config.container === false ? document.body : $(this.config.container)\n\n $(tip)\n .data(this.constructor.DATA_KEY, this)\n .appendTo(container)\n\n $(this.element).trigger(this.constructor.Event.INSERTED)\n\n this._tether = new Tether({\n attachment,\n element : tip,\n target : this.element,\n classes : TetherClass,\n classPrefix : CLASS_PREFIX,\n offset : this.config.offset,\n constraints : this.config.constraints,\n addTargetClasses: false\n })\n\n Util.reflow(tip)\n this._tether.position()\n\n $(tip).addClass(ClassName.SHOW)\n\n const complete = () => {\n const prevHoverState = this._hoverState\n this._hoverState = null\n this._isTransitioning = false\n\n $(this.element).trigger(this.constructor.Event.SHOWN)\n\n if (prevHoverState === HoverState.OUT) {\n this._leave(null, this)\n }\n }\n\n if (Util.supportsTransitionEnd() && $(this.tip).hasClass(ClassName.FADE)) {\n this._isTransitioning = true\n $(this.tip)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(Tooltip._TRANSITION_DURATION)\n return\n }\n\n complete()\n }\n }\n\n hide(callback) {\n const tip = this.getTipElement()\n const hideEvent = $.Event(this.constructor.Event.HIDE)\n if (this._isTransitioning) {\n throw new Error('Tooltip is transitioning')\n }\n const complete = () => {\n if (this._hoverState !== HoverState.SHOW && tip.parentNode) {\n tip.parentNode.removeChild(tip)\n }\n\n this.element.removeAttribute('aria-describedby')\n $(this.element).trigger(this.constructor.Event.HIDDEN)\n this._isTransitioning = false\n this.cleanupTether()\n\n if (callback) {\n callback()\n }\n }\n\n $(this.element).trigger(hideEvent)\n\n if (hideEvent.isDefaultPrevented()) {\n return\n }\n\n $(tip).removeClass(ClassName.SHOW)\n\n this._activeTrigger[Trigger.CLICK] = false\n this._activeTrigger[Trigger.FOCUS] = false\n this._activeTrigger[Trigger.HOVER] = false\n\n if (Util.supportsTransitionEnd() &&\n $(this.tip).hasClass(ClassName.FADE)) {\n this._isTransitioning = true\n $(tip)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(TRANSITION_DURATION)\n\n } else {\n complete()\n }\n\n this._hoverState = ''\n }\n\n\n // protected\n\n isWithContent() {\n return Boolean(this.getTitle())\n }\n\n getTipElement() {\n return this.tip = this.tip || $(this.config.template)[0]\n }\n\n setContent() {\n const $tip = $(this.getTipElement())\n\n this.setElementContent($tip.find(Selector.TOOLTIP_INNER), this.getTitle())\n\n $tip.removeClass(`${ClassName.FADE} ${ClassName.SHOW}`)\n\n this.cleanupTether()\n }\n\n setElementContent($element, content) {\n const html = this.config.html\n if (typeof content === 'object' && (content.nodeType || content.jquery)) {\n // content is a DOM node or a jQuery\n if (html) {\n if (!$(content).parent().is($element)) {\n $element.empty().append(content)\n }\n } else {\n $element.text($(content).text())\n }\n } else {\n $element[html ? 'html' : 'text'](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 cleanupTether() {\n if (this._tether) {\n this._tether.destroy()\n }\n }\n\n\n // private\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 $(this.element).on(\n this.constructor.Event.CLICK,\n this.config.selector,\n (event) => this.toggle(event)\n )\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 $(this.element)\n .on(\n eventIn,\n this.config.selector,\n (event) => this._enter(event)\n )\n .on(\n eventOut,\n this.config.selector,\n (event) => this._leave(event)\n )\n }\n\n $(this.element).closest('.modal').on(\n 'hide.bs.modal',\n () => this.hide()\n )\n })\n\n if (this.config.selector) {\n this.config = $.extend({}, 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 if (this.element.getAttribute('title') ||\n titleType !== 'string') {\n this.element.setAttribute(\n 'data-original-title',\n this.element.getAttribute('title') || ''\n )\n this.element.setAttribute('title', '')\n }\n }\n\n _enter(event, context) {\n const dataKey = this.constructor.DATA_KEY\n\n context = context || $(event.currentTarget).data(dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.currentTarget,\n this._getDelegateConfig()\n )\n $(event.currentTarget).data(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()).hasClass(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\n context = context || $(event.currentTarget).data(dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.currentTarget,\n this._getDelegateConfig()\n )\n $(event.currentTarget).data(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 config = $.extend(\n {},\n this.constructor.Default,\n $(this.element).data(),\n config\n )\n\n if (config.delay && typeof config.delay === 'number') {\n config.delay = {\n show : config.delay,\n hide : config.delay\n }\n }\n\n Util.typeCheckConfig(\n NAME,\n config,\n this.constructor.DefaultType\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\n // static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(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 $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (data[config] === undefined) {\n throw new Error(`No method named \"${config}\"`)\n }\n data[config]()\n }\n })\n }\n\n }\n\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME] = Tooltip._jQueryInterface\n $.fn[NAME].Constructor = Tooltip\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Tooltip._jQueryInterface\n }\n\n return Tooltip\n\n})(jQuery)\n\nexport default Tooltip\n"]} \ No newline at end of file
diff --git a/templates/assets/bootstrap/js/dist/util.js b/templates/assets/bootstrap/js/dist/util.js
new file mode 100644
index 0000000..6eadcc3
--- /dev/null
+++ b/templates/assets/bootstrap/js/dist/util.js
@@ -0,0 +1,153 @@
+/**
+ * --------------------------------------------------------------------------
+ * Bootstrap (v4.0.0-alpha.6): util.js
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ * --------------------------------------------------------------------------
+ */
+
+var Util = function ($) {
+
+ /**
+ * ------------------------------------------------------------------------
+ * Private TransitionEnd Helpers
+ * ------------------------------------------------------------------------
+ */
+
+ var transition = false;
+
+ var MAX_UID = 1000000;
+
+ var TransitionEndEvent = {
+ WebkitTransition: 'webkitTransitionEnd',
+ MozTransition: 'transitionend',
+ OTransition: 'oTransitionEnd otransitionend',
+ transition: 'transitionend'
+ };
+
+ // shoutout AngusCroll (https://goo.gl/pxwQGp)
+ function toType(obj) {
+ return {}.toString.call(obj).match(/\s([a-zA-Z]+)/)[1].toLowerCase();
+ }
+
+ function isElement(obj) {
+ return (obj[0] || obj).nodeType;
+ }
+
+ function getSpecialTransitionEndEvent() {
+ return {
+ bindType: transition.end,
+ delegateType: transition.end,
+ handle: function handle(event) {
+ if ($(event.target).is(this)) {
+ return event.handleObj.handler.apply(this, arguments); // eslint-disable-line prefer-rest-params
+ }
+ return undefined;
+ }
+ };
+ }
+
+ function transitionEndTest() {
+ if (window.QUnit) {
+ return false;
+ }
+
+ var el = document.createElement('bootstrap');
+
+ for (var name in TransitionEndEvent) {
+ if (el.style[name] !== undefined) {
+ return {
+ end: TransitionEndEvent[name]
+ };
+ }
+ }
+
+ return false;
+ }
+
+ function transitionEndEmulator(duration) {
+ var _this = this;
+
+ var called = false;
+
+ $(this).one(Util.TRANSITION_END, function () {
+ called = true;
+ });
+
+ setTimeout(function () {
+ if (!called) {
+ Util.triggerTransitionEnd(_this);
+ }
+ }, duration);
+
+ return this;
+ }
+
+ function setTransitionEndSupport() {
+ transition = transitionEndTest();
+
+ $.fn.emulateTransitionEnd = transitionEndEmulator;
+
+ if (Util.supportsTransitionEnd()) {
+ $.event.special[Util.TRANSITION_END] = getSpecialTransitionEndEvent();
+ }
+ }
+
+ /**
+ * --------------------------------------------------------------------------
+ * Public Util Api
+ * --------------------------------------------------------------------------
+ */
+
+ var Util = {
+
+ TRANSITION_END: 'bsTransitionEnd',
+
+ getUID: function getUID(prefix) {
+ do {
+ // eslint-disable-next-line no-bitwise
+ prefix += ~~(Math.random() * MAX_UID); // "~~" acts like a faster Math.floor() here
+ } while (document.getElementById(prefix));
+ return prefix;
+ },
+ getSelectorFromElement: function getSelectorFromElement(element) {
+ var selector = element.getAttribute('data-target');
+ if (!selector || selector === '#') {
+ selector = element.getAttribute('href') || '';
+ }
+
+ try {
+ var $selector = $(selector);
+ return $selector.length > 0 ? selector : null;
+ } catch (error) {
+ return null;
+ }
+ },
+ reflow: function reflow(element) {
+ return element.offsetHeight;
+ },
+ triggerTransitionEnd: function triggerTransitionEnd(element) {
+ $(element).trigger(transition.end);
+ },
+ supportsTransitionEnd: function supportsTransitionEnd() {
+ return Boolean(transition);
+ },
+ typeCheckConfig: function typeCheckConfig(componentName, config, configTypes) {
+ for (var property in configTypes) {
+ if (configTypes.hasOwnProperty(property)) {
+ var expectedTypes = configTypes[property];
+ var value = config[property];
+ var valueType = value && isElement(value) ? 'element' : toType(value);
+
+ if (!new RegExp(expectedTypes).test(valueType)) {
+ throw new Error(componentName.toUpperCase() + ': ' + ('Option "' + property + '" provided type "' + valueType + '" ') + ('but expected type "' + expectedTypes + '".'));
+ }
+ }
+ }
+ }
+ };
+
+ setTransitionEndSupport();
+
+ return Util;
+}(jQuery);
+//# sourceMappingURL=util.js.map
diff --git a/templates/assets/bootstrap/js/dist/util.js.map b/templates/assets/bootstrap/js/dist/util.js.map
new file mode 100644
index 0000000..011bc69
--- /dev/null
+++ b/templates/assets/bootstrap/js/dist/util.js.map
@@ -0,0 +1 @@
+{"version":3,"sources":["../src/util.js"],"names":["Util","$","transition","MAX_UID","TransitionEndEvent","WebkitTransition","MozTransition","OTransition","toType","obj","toString","call","match","toLowerCase","isElement","nodeType","getSpecialTransitionEndEvent","bindType","end","delegateType","handle","event","target","is","handleObj","handler","apply","arguments","undefined","transitionEndTest","window","QUnit","el","document","createElement","name","style","transitionEndEmulator","duration","called","one","TRANSITION_END","setTimeout","triggerTransitionEnd","setTransitionEndSupport","fn","emulateTransitionEnd","supportsTransitionEnd","special","getUID","prefix","Math","random","getElementById","getSelectorFromElement","element","selector","getAttribute","$selector","length","error","reflow","offsetHeight","trigger","Boolean","typeCheckConfig","componentName","config","configTypes","property","hasOwnProperty","expectedTypes","value","valueType","RegExp","test","Error","toUpperCase","jQuery"],"mappings":"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","file":"util.js","sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0-alpha.6): util.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Util = (($) => {\n\n\n /**\n * ------------------------------------------------------------------------\n * Private TransitionEnd Helpers\n * ------------------------------------------------------------------------\n */\n\n let transition = false\n\n const MAX_UID = 1000000\n\n const TransitionEndEvent = {\n WebkitTransition : 'webkitTransitionEnd',\n MozTransition : 'transitionend',\n OTransition : 'oTransitionEnd otransitionend',\n transition : 'transitionend'\n }\n\n // shoutout AngusCroll (https://goo.gl/pxwQGp)\n function toType(obj) {\n return {}.toString.call(obj).match(/\\s([a-zA-Z]+)/)[1].toLowerCase()\n }\n\n function isElement(obj) {\n return (obj[0] || obj).nodeType\n }\n\n function getSpecialTransitionEndEvent() {\n return {\n bindType: transition.end,\n delegateType: transition.end,\n handle(event) {\n if ($(event.target).is(this)) {\n return event.handleObj.handler.apply(this, arguments) // eslint-disable-line prefer-rest-params\n }\n return undefined\n }\n }\n }\n\n function transitionEndTest() {\n if (window.QUnit) {\n return false\n }\n\n const el = document.createElement('bootstrap')\n\n for (const name in TransitionEndEvent) {\n if (el.style[name] !== undefined) {\n return {\n end: TransitionEndEvent[name]\n }\n }\n }\n\n return false\n }\n\n function transitionEndEmulator(duration) {\n let called = false\n\n $(this).one(Util.TRANSITION_END, () => {\n called = true\n })\n\n setTimeout(() => {\n if (!called) {\n Util.triggerTransitionEnd(this)\n }\n }, duration)\n\n return this\n }\n\n function setTransitionEndSupport() {\n transition = transitionEndTest()\n\n $.fn.emulateTransitionEnd = transitionEndEmulator\n\n if (Util.supportsTransitionEnd()) {\n $.event.special[Util.TRANSITION_END] = getSpecialTransitionEndEvent()\n }\n }\n\n\n /**\n * --------------------------------------------------------------------------\n * Public Util Api\n * --------------------------------------------------------------------------\n */\n\n const Util = {\n\n TRANSITION_END: 'bsTransitionEnd',\n\n getUID(prefix) {\n do {\n // eslint-disable-next-line no-bitwise\n prefix += ~~(Math.random() * MAX_UID) // \"~~\" acts like a faster Math.floor() here\n } while (document.getElementById(prefix))\n return prefix\n },\n\n getSelectorFromElement(element) {\n let selector = element.getAttribute('data-target')\n if (!selector || selector === '#') {\n selector = element.getAttribute('href') || ''\n }\n\n try {\n const $selector = $(selector)\n return $selector.length > 0 ? selector : null\n } catch (error) {\n return null\n }\n },\n\n reflow(element) {\n return element.offsetHeight\n },\n\n triggerTransitionEnd(element) {\n $(element).trigger(transition.end)\n },\n\n supportsTransitionEnd() {\n return Boolean(transition)\n },\n\n typeCheckConfig(componentName, config, configTypes) {\n for (const property in configTypes) {\n if (configTypes.hasOwnProperty(property)) {\n const expectedTypes = configTypes[property]\n const value = config[property]\n const valueType = value && isElement(value) ?\n 'element' : 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 }\n }\n\n setTransitionEndSupport()\n\n return Util\n\n})(jQuery)\n\nexport default Util\n"]} \ No newline at end of file
diff --git a/templates/assets/jquery/dist/jquery.js b/templates/assets/jquery/dist/jquery.js
new file mode 100644
index 0000000..5c3c456
--- /dev/null
+++ b/templates/assets/jquery/dist/jquery.js
@@ -0,0 +1,9814 @@
+/*!
+ * jQuery JavaScript Library v2.2.4
+ * http://jquery.com/
+ *
+ * Includes Sizzle.js
+ * http://sizzlejs.com/
+ *
+ * Copyright jQuery Foundation and other contributors
+ * Released under the MIT license
+ * http://jquery.org/license
+ *
+ * Date: 2016-05-20T17:23Z
+ */
+
+(function( global, factory ) {
+
+ if ( typeof module === "object" && typeof module.exports === "object" ) {
+ // For CommonJS and CommonJS-like environments where a proper `window`
+ // is present, execute the factory and get jQuery.
+ // For environments that do not have a `window` with a `document`
+ // (such as Node.js), expose a factory as module.exports.
+ // This accentuates the need for the creation of a real `window`.
+ // e.g. var jQuery = require("jquery")(window);
+ // See ticket #14549 for more info.
+ module.exports = global.document ?
+ factory( global, true ) :
+ function( w ) {
+ if ( !w.document ) {
+ throw new Error( "jQuery requires a window with a document" );
+ }
+ return factory( w );
+ };
+ } else {
+ factory( global );
+ }
+
+// Pass this if window is not defined yet
+}(typeof window !== "undefined" ? window : this, function( window, noGlobal ) {
+
+// Support: Firefox 18+
+// Can't be in strict mode, several libs including ASP.NET trace
+// the stack via arguments.caller.callee and Firefox dies if
+// you try to trace through "use strict" call chains. (#13335)
+//"use strict";
+var arr = [];
+
+var document = window.document;
+
+var slice = arr.slice;
+
+var concat = arr.concat;
+
+var push = arr.push;
+
+var indexOf = arr.indexOf;
+
+var class2type = {};
+
+var toString = class2type.toString;
+
+var hasOwn = class2type.hasOwnProperty;
+
+var support = {};
+
+
+
+var
+ version = "2.2.4",
+
+ // Define a local copy of jQuery
+ jQuery = function( selector, context ) {
+
+ // The jQuery object is actually just the init constructor 'enhanced'
+ // Need init if jQuery is called (just allow error to be thrown if not included)
+ return new jQuery.fn.init( selector, context );
+ },
+
+ // Support: Android<4.1
+ // Make sure we trim BOM and NBSP
+ rtrim = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,
+
+ // Matches dashed string for camelizing
+ rmsPrefix = /^-ms-/,
+ rdashAlpha = /-([\da-z])/gi,
+
+ // Used by jQuery.camelCase as callback to replace()
+ fcamelCase = function( all, letter ) {
+ return letter.toUpperCase();
+ };
+
+jQuery.fn = jQuery.prototype = {
+
+ // The current version of jQuery being used
+ jquery: version,
+
+ constructor: jQuery,
+
+ // Start with an empty selector
+ selector: "",
+
+ // The default length of a jQuery object is 0
+ length: 0,
+
+ toArray: function() {
+ return slice.call( this );
+ },
+
+ // Get the Nth element in the matched element set OR
+ // Get the whole matched element set as a clean array
+ get: function( num ) {
+ return num != null ?
+
+ // Return just the one element from the set
+ ( num < 0 ? this[ num + this.length ] : this[ num ] ) :
+
+ // Return all the elements in a clean array
+ slice.call( this );
+ },
+
+ // Take an array of elements and push it onto the stack
+ // (returning the new matched element set)
+ pushStack: function( elems ) {
+
+ // Build a new jQuery matched element set
+ var ret = jQuery.merge( this.constructor(), elems );
+
+ // Add the old object onto the stack (as a reference)
+ ret.prevObject = this;
+ ret.context = this.context;
+
+ // Return the newly-formed element set
+ return ret;
+ },
+
+ // Execute a callback for every element in the matched set.
+ each: function( callback ) {
+ return jQuery.each( this, callback );
+ },
+
+ map: function( callback ) {
+ return this.pushStack( jQuery.map( this, function( elem, i ) {
+ return callback.call( elem, i, elem );
+ } ) );
+ },
+
+ slice: function() {
+ return this.pushStack( slice.apply( this, arguments ) );
+ },
+
+ first: function() {
+ return this.eq( 0 );
+ },
+
+ last: function() {
+ return this.eq( -1 );
+ },
+
+ eq: function( i ) {
+ var len = this.length,
+ j = +i + ( i < 0 ? len : 0 );
+ return this.pushStack( j >= 0 && j < len ? [ this[ j ] ] : [] );
+ },
+
+ end: function() {
+ return this.prevObject || this.constructor();
+ },
+
+ // For internal use only.
+ // Behaves like an Array's method, not like a jQuery method.
+ push: push,
+ sort: arr.sort,
+ splice: arr.splice
+};
+
+jQuery.extend = jQuery.fn.extend = function() {
+ var options, name, src, copy, copyIsArray, clone,
+ target = arguments[ 0 ] || {},
+ i = 1,
+ length = arguments.length,
+ deep = false;
+
+ // Handle a deep copy situation
+ if ( typeof target === "boolean" ) {
+ deep = target;
+
+ // Skip the boolean and the target
+ target = arguments[ i ] || {};
+ i++;
+ }
+
+ // Handle case when target is a string or something (possible in deep copy)
+ if ( typeof target !== "object" && !jQuery.isFunction( target ) ) {
+ target = {};
+ }
+
+ // Extend jQuery itself if only one argument is passed
+ if ( i === length ) {
+ target = this;
+ i--;
+ }
+
+ for ( ; i < length; i++ ) {
+
+ // Only deal with non-null/undefined values
+ if ( ( options = arguments[ i ] ) != null ) {
+
+ // Extend the base object
+ for ( name in options ) {
+ src = target[ name ];
+ copy = options[ name ];
+
+ // Prevent never-ending loop
+ if ( target === copy ) {
+ continue;
+ }
+
+ // Recurse if we're merging plain objects or arrays
+ if ( deep && copy && ( jQuery.isPlainObject( copy ) ||
+ ( copyIsArray = jQuery.isArray( copy ) ) ) ) {
+
+ if ( copyIsArray ) {
+ copyIsArray = false;
+ clone = src && jQuery.isArray( src ) ? src : [];
+
+ } else {
+ clone = src && jQuery.isPlainObject( src ) ? src : {};
+ }
+
+ // Never move original objects, clone them
+ target[ name ] = jQuery.extend( deep, clone, copy );
+
+ // Don't bring in undefined values
+ } else if ( copy !== undefined ) {
+ target[ name ] = copy;
+ }
+ }
+ }
+ }
+
+ // Return the modified object
+ return target;
+};
+
+jQuery.extend( {
+
+ // Unique for each copy of jQuery on the page
+ expando: "jQuery" + ( version + Math.random() ).replace( /\D/g, "" ),
+
+ // Assume jQuery is ready without the ready module
+ isReady: true,
+
+ error: function( msg ) {
+ throw new Error( msg );
+ },
+
+ noop: function() {},
+
+ isFunction: function( obj ) {
+ return jQuery.type( obj ) === "function";
+ },
+
+ isArray: Array.isArray,
+
+ isWindow: function( obj ) {
+ return obj != null && obj === obj.window;
+ },
+
+ isNumeric: function( obj ) {
+
+ // parseFloat NaNs numeric-cast false positives (null|true|false|"")
+ // ...but misinterprets leading-number strings, particularly hex literals ("0x...")
+ // subtraction forces infinities to NaN
+ // adding 1 corrects loss of precision from parseFloat (#15100)
+ var realStringObj = obj && obj.toString();
+ return !jQuery.isArray( obj ) && ( realStringObj - parseFloat( realStringObj ) + 1 ) >= 0;
+ },
+
+ isPlainObject: function( obj ) {
+ var key;
+
+ // Not plain objects:
+ // - Any object or value whose internal [[Class]] property is not "[object Object]"
+ // - DOM nodes
+ // - window
+ if ( jQuery.type( obj ) !== "object" || obj.nodeType || jQuery.isWindow( obj ) ) {
+ return false;
+ }
+
+ // Not own constructor property must be Object
+ if ( obj.constructor &&
+ !hasOwn.call( obj, "constructor" ) &&
+ !hasOwn.call( obj.constructor.prototype || {}, "isPrototypeOf" ) ) {
+ return false;
+ }
+
+ // Own properties are enumerated firstly, so to speed up,
+ // if last one is own, then all properties are own
+ for ( key in obj ) {}
+
+ return key === undefined || hasOwn.call( obj, key );
+ },
+
+ isEmptyObject: function( obj ) {
+ var name;
+ for ( name in obj ) {
+ return false;
+ }
+ return true;
+ },
+
+ type: function( obj ) {
+ if ( obj == null ) {
+ return obj + "";
+ }
+
+ // Support: Android<4.0, iOS<6 (functionish RegExp)
+ return typeof obj === "object" || typeof obj === "function" ?
+ class2type[ toString.call( obj ) ] || "object" :
+ typeof obj;
+ },
+
+ // Evaluates a script in a global context
+ globalEval: function( code ) {
+ var script,
+ indirect = eval;
+
+ code = jQuery.trim( code );
+
+ if ( code ) {
+
+ // If the code includes a valid, prologue position
+ // strict mode pragma, execute code by injecting a
+ // script tag into the document.
+ if ( code.indexOf( "use strict" ) === 1 ) {
+ script = document.createElement( "script" );
+ script.text = code;
+ document.head.appendChild( script ).parentNode.removeChild( script );
+ } else {
+
+ // Otherwise, avoid the DOM node creation, insertion
+ // and removal by using an indirect global eval
+
+ indirect( code );
+ }
+ }
+ },
+
+ // Convert dashed to camelCase; used by the css and data modules
+ // Support: IE9-11+
+ // Microsoft forgot to hump their vendor prefix (#9572)
+ camelCase: function( string ) {
+ return string.replace( rmsPrefix, "ms-" ).replace( rdashAlpha, fcamelCase );
+ },
+
+ nodeName: function( elem, name ) {
+ return elem.nodeName && elem.nodeName.toLowerCase() === name.toLowerCase();
+ },
+
+ each: function( obj, callback ) {
+ var length, i = 0;
+
+ if ( isArrayLike( obj ) ) {
+ length = obj.length;
+ for ( ; i < length; i++ ) {
+ if ( callback.call( obj[ i ], i, obj[ i ] ) === false ) {
+ break;
+ }
+ }
+ } else {
+ for ( i in obj ) {
+ if ( callback.call( obj[ i ], i, obj[ i ] ) === false ) {
+ break;
+ }
+ }
+ }
+
+ return obj;
+ },
+
+ // Support: Android<4.1
+ trim: function( text ) {
+ return text == null ?
+ "" :
+ ( text + "" ).replace( rtrim, "" );
+ },
+
+ // results is for internal usage only
+ makeArray: function( arr, results ) {
+ var ret = results || [];
+
+ if ( arr != null ) {
+ if ( isArrayLike( Object( arr ) ) ) {
+ jQuery.merge( ret,
+ typeof arr === "string" ?
+ [ arr ] : arr
+ );
+ } else {
+ push.call( ret, arr );
+ }
+ }
+
+ return ret;
+ },
+
+ inArray: function( elem, arr, i ) {
+ return arr == null ? -1 : indexOf.call( arr, elem, i );
+ },
+
+ merge: function( first, second ) {
+ var len = +second.length,
+ j = 0,
+ i = first.length;
+
+ for ( ; j < len; j++ ) {
+ first[ i++ ] = second[ j ];
+ }
+
+ first.length = i;
+
+ return first;
+ },
+
+ grep: function( elems, callback, invert ) {
+ var callbackInverse,
+ matches = [],
+ i = 0,
+ length = elems.length,
+ callbackExpect = !invert;
+
+ // Go through the array, only saving the items
+ // that pass the validator function
+ for ( ; i < length; i++ ) {
+ callbackInverse = !callback( elems[ i ], i );
+ if ( callbackInverse !== callbackExpect ) {
+ matches.push( elems[ i ] );
+ }
+ }
+
+ return matches;
+ },
+
+ // arg is for internal usage only
+ map: function( elems, callback, arg ) {
+ var length, value,
+ i = 0,
+ ret = [];
+
+ // Go through the array, translating each of the items to their new values
+ if ( isArrayLike( elems ) ) {
+ length = elems.length;
+ for ( ; i < length; i++ ) {
+ value = callback( elems[ i ], i, arg );
+
+ if ( value != null ) {
+ ret.push( value );
+ }
+ }
+
+ // Go through every key on the object,
+ } else {
+ for ( i in elems ) {
+ value = callback( elems[ i ], i, arg );
+
+ if ( value != null ) {
+ ret.push( value );
+ }
+ }
+ }
+
+ // Flatten any nested arrays
+ return concat.apply( [], ret );
+ },
+
+ // A global GUID counter for objects
+ guid: 1,
+
+ // Bind a function to a context, optionally partially applying any
+ // arguments.
+ proxy: function( fn, context ) {
+ var tmp, args, proxy;
+
+ if ( typeof context === "string" ) {
+ tmp = fn[ context ];
+ context = fn;
+ fn = tmp;
+ }
+
+ // Quick check to determine if target is callable, in the spec
+ // this throws a TypeError, but we will just return undefined.
+ if ( !jQuery.isFunction( fn ) ) {
+ return undefined;
+ }
+
+ // Simulated bind
+ args = slice.call( arguments, 2 );
+ proxy = function() {
+ return fn.apply( context || this, args.concat( slice.call( arguments ) ) );
+ };
+
+ // Set the guid of unique handler to the same of original handler, so it can be removed
+ proxy.guid = fn.guid = fn.guid || jQuery.guid++;
+
+ return proxy;
+ },
+
+ now: Date.now,
+
+ // jQuery.support is not used in Core but other projects attach their
+ // properties to it so it needs to exist.
+ support: support
+} );
+
+// JSHint would error on this code due to the Symbol not being defined in ES5.
+// Defining this global in .jshintrc would create a danger of using the global
+// unguarded in another place, it seems safer to just disable JSHint for these
+// three lines.
+/* jshint ignore: start */
+if ( typeof Symbol === "function" ) {
+ jQuery.fn[ Symbol.iterator ] = arr[ Symbol.iterator ];
+}
+/* jshint ignore: end */
+
+// Populate the class2type map
+jQuery.each( "Boolean Number String Function Array Date RegExp Object Error Symbol".split( " " ),
+function( i, name ) {
+ class2type[ "[object " + name + "]" ] = name.toLowerCase();
+} );
+
+function isArrayLike( obj ) {
+
+ // Support: iOS 8.2 (not reproducible in simulator)
+ // `in` check used to prevent JIT error (gh-2145)
+ // hasOwn isn't used here due to false negatives
+ // regarding Nodelist length in IE
+ var length = !!obj && "length" in obj && obj.length,
+ type = jQuery.type( obj );
+
+ if ( type === "function" || jQuery.isWindow( obj ) ) {
+ return false;
+ }
+
+ return type === "array" || length === 0 ||
+ typeof length === "number" && length > 0 && ( length - 1 ) in obj;
+}
+var Sizzle =
+/*!
+ * Sizzle CSS Selector Engine v2.2.1
+ * http://sizzlejs.com/
+ *
+ * Copyright jQuery Foundation and other contributors
+ * Released under the MIT license
+ * http://jquery.org/license
+ *
+ * Date: 2015-10-17
+ */
+(function( window ) {
+
+var i,
+ support,
+ Expr,
+ getText,
+ isXML,
+ tokenize,
+ compile,
+ select,
+ outermostContext,
+ sortInput,
+ hasDuplicate,
+
+ // Local document vars
+ setDocument,
+ document,
+ docElem,
+ documentIsHTML,
+ rbuggyQSA,
+ rbuggyMatches,
+ matches,
+ contains,
+
+ // Instance-specific data
+ expando = "sizzle" + 1 * new Date(),
+ preferredDoc = window.document,
+ dirruns = 0,
+ done = 0,
+ classCache = createCache(),
+ tokenCache = createCache(),
+ compilerCache = createCache(),
+ sortOrder = function( a, b ) {
+ if ( a === b ) {
+ hasDuplicate = true;
+ }
+ return 0;
+ },
+
+ // General-purpose constants
+ MAX_NEGATIVE = 1 << 31,
+
+ // Instance methods
+ hasOwn = ({}).hasOwnProperty,
+ arr = [],
+ pop = arr.pop,
+ push_native = arr.push,
+ push = arr.push,
+ slice = arr.slice,
+ // Use a stripped-down indexOf as it's faster than native
+ // http://jsperf.com/thor-indexof-vs-for/5
+ indexOf = function( list, elem ) {
+ var i = 0,
+ len = list.length;
+ for ( ; i < len; i++ ) {
+ if ( list[i] === elem ) {
+ return i;
+ }
+ }
+ return -1;
+ },
+
+ booleans = "checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",
+
+ // Regular expressions
+
+ // http://www.w3.org/TR/css3-selectors/#whitespace
+ whitespace = "[\\x20\\t\\r\\n\\f]",
+
+ // http://www.w3.org/TR/CSS21/syndata.html#value-def-identifier
+ identifier = "(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",
+
+ // Attribute selectors: http://www.w3.org/TR/selectors/#attribute-selectors
+ attributes = "\\[" + whitespace + "*(" + identifier + ")(?:" + whitespace +
+ // Operator (capture 2)
+ "*([*^$|!~]?=)" + whitespace +
+ // "Attribute values must be CSS identifiers [capture 5] or strings [capture 3 or capture 4]"
+ "*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|(" + identifier + "))|)" + whitespace +
+ "*\\]",
+
+ pseudos = ":(" + identifier + ")(?:\\((" +
+ // To reduce the number of selectors needing tokenize in the preFilter, prefer arguments:
+ // 1. quoted (capture 3; capture 4 or capture 5)
+ "('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|" +
+ // 2. simple (capture 6)
+ "((?:\\\\.|[^\\\\()[\\]]|" + attributes + ")*)|" +
+ // 3. anything else (capture 2)
+ ".*" +
+ ")\\)|)",
+
+ // Leading and non-escaped trailing whitespace, capturing some non-whitespace characters preceding the latter
+ rwhitespace = new RegExp( whitespace + "+", "g" ),
+ rtrim = new RegExp( "^" + whitespace + "+|((?:^|[^\\\\])(?:\\\\.)*)" + whitespace + "+$", "g" ),
+
+ rcomma = new RegExp( "^" + whitespace + "*," + whitespace + "*" ),
+ rcombinators = new RegExp( "^" + whitespace + "*([>+~]|" + whitespace + ")" + whitespace + "*" ),
+
+ rattributeQuotes = new RegExp( "=" + whitespace + "*([^\\]'\"]*?)" + whitespace + "*\\]", "g" ),
+
+ rpseudo = new RegExp( pseudos ),
+ ridentifier = new RegExp( "^" + identifier + "$" ),
+
+ matchExpr = {
+ "ID": new RegExp( "^#(" + identifier + ")" ),
+ "CLASS": new RegExp( "^\\.(" + identifier + ")" ),
+ "TAG": new RegExp( "^(" + identifier + "|[*])" ),
+ "ATTR": new RegExp( "^" + attributes ),
+ "PSEUDO": new RegExp( "^" + pseudos ),
+ "CHILD": new RegExp( "^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\(" + whitespace +
+ "*(even|odd|(([+-]|)(\\d*)n|)" + whitespace + "*(?:([+-]|)" + whitespace +
+ "*(\\d+)|))" + whitespace + "*\\)|)", "i" ),
+ "bool": new RegExp( "^(?:" + booleans + ")$", "i" ),
+ // For use in libraries implementing .is()
+ // We use this for POS matching in `select`
+ "needsContext": new RegExp( "^" + whitespace + "*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\(" +
+ whitespace + "*((?:-\\d)?\\d*)" + whitespace + "*\\)|)(?=[^-]|$)", "i" )
+ },
+
+ rinputs = /^(?:input|select|textarea|button)$/i,
+ rheader = /^h\d$/i,
+
+ rnative = /^[^{]+\{\s*\[native \w/,
+
+ // Easily-parseable/retrievable ID or TAG or CLASS selectors
+ rquickExpr = /^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,
+
+ rsibling = /[+~]/,
+ rescape = /'|\\/g,
+
+ // CSS escapes http://www.w3.org/TR/CSS21/syndata.html#escaped-characters
+ runescape = new RegExp( "\\\\([\\da-f]{1,6}" + whitespace + "?|(" + whitespace + ")|.)", "ig" ),
+ funescape = function( _, escaped, escapedWhitespace ) {
+ var high = "0x" + escaped - 0x10000;
+ // NaN means non-codepoint
+ // Support: Firefox<24
+ // Workaround erroneous numeric interpretation of +"0x"
+ return high !== high || escapedWhitespace ?
+ escaped :
+ high < 0 ?
+ // BMP codepoint
+ String.fromCharCode( high + 0x10000 ) :
+ // Supplemental Plane codepoint (surrogate pair)
+ String.fromCharCode( high >> 10 | 0xD800, high & 0x3FF | 0xDC00 );
+ },
+
+ // Used for iframes
+ // See setDocument()
+ // Removing the function wrapper causes a "Permission Denied"
+ // error in IE
+ unloadHandler = function() {
+ setDocument();
+ };
+
+// Optimize for push.apply( _, NodeList )
+try {
+ push.apply(
+ (arr = slice.call( preferredDoc.childNodes )),
+ preferredDoc.childNodes
+ );
+ // Support: Android<4.0
+ // Detect silently failing push.apply
+ arr[ preferredDoc.childNodes.length ].nodeType;
+} catch ( e ) {
+ push = { apply: arr.length ?
+
+ // Leverage slice if possible
+ function( target, els ) {
+ push_native.apply( target, slice.call(els) );
+ } :
+
+ // Support: IE<9
+ // Otherwise append directly
+ function( target, els ) {
+ var j = target.length,
+ i = 0;
+ // Can't trust NodeList.length
+ while ( (target[j++] = els[i++]) ) {}
+ target.length = j - 1;
+ }
+ };
+}
+
+function Sizzle( selector, context, results, seed ) {
+ var m, i, elem, nid, nidselect, match, groups, newSelector,
+ newContext = context && context.ownerDocument,
+
+ // nodeType defaults to 9, since context defaults to document
+ nodeType = context ? context.nodeType : 9;
+
+ results = results || [];
+
+ // Return early from calls with invalid selector or context
+ if ( typeof selector !== "string" || !selector ||
+ nodeType !== 1 && nodeType !== 9 && nodeType !== 11 ) {
+
+ return results;
+ }
+
+ // Try to shortcut find operations (as opposed to filters) in HTML documents
+ if ( !seed ) {
+
+ if ( ( context ? context.ownerDocument || context : preferredDoc ) !== document ) {
+ setDocument( context );
+ }
+ context = context || document;
+
+ if ( documentIsHTML ) {
+
+ // If the selector is sufficiently simple, try using a "get*By*" DOM method
+ // (excepting DocumentFragment context, where the methods don't exist)
+ if ( nodeType !== 11 && (match = rquickExpr.exec( selector )) ) {
+
+ // ID selector
+ if ( (m = match[1]) ) {
+
+ // Document context
+ if ( nodeType === 9 ) {
+ if ( (elem = context.getElementById( m )) ) {
+
+ // Support: IE, Opera, Webkit
+ // TODO: identify versions
+ // getElementById can match elements by name instead of ID
+ if ( elem.id === m ) {
+ results.push( elem );
+ return results;
+ }
+ } else {
+ return results;
+ }
+
+ // Element context
+ } else {
+
+ // Support: IE, Opera, Webkit
+ // TODO: identify versions
+ // getElementById can match elements by name instead of ID
+ if ( newContext && (elem = newContext.getElementById( m )) &&
+ contains( context, elem ) &&
+ elem.id === m ) {
+
+ results.push( elem );
+ return results;
+ }
+ }
+
+ // Type selector
+ } else if ( match[2] ) {
+ push.apply( results, context.getElementsByTagName( selector ) );
+ return results;
+
+ // Class selector
+ } else if ( (m = match[3]) && support.getElementsByClassName &&
+ context.getElementsByClassName ) {
+
+ push.apply( results, context.getElementsByClassName( m ) );
+ return results;
+ }
+ }
+
+ // Take advantage of querySelectorAll
+ if ( support.qsa &&
+ !compilerCache[ selector + " " ] &&
+ (!rbuggyQSA || !rbuggyQSA.test( selector )) ) {
+
+ if ( nodeType !== 1 ) {
+ newContext = context;
+ newSelector = selector;
+
+ // qSA looks outside Element context, which is not what we want
+ // Thanks to Andrew Dupont for this workaround technique
+ // Support: IE <=8
+ // Exclude object elements
+ } else if ( context.nodeName.toLowerCase() !== "object" ) {
+
+ // Capture the context ID, setting it first if necessary
+ if ( (nid = context.getAttribute( "id" )) ) {
+ nid = nid.replace( rescape, "\\$&" );
+ } else {
+ context.setAttribute( "id", (nid = expando) );
+ }
+
+ // Prefix every selector in the list
+ groups = tokenize( selector );
+ i = groups.length;
+ nidselect = ridentifier.test( nid ) ? "#" + nid : "[id='" + nid + "']";
+ while ( i-- ) {
+ groups[i] = nidselect + " " + toSelector( groups[i] );
+ }
+ newSelector = groups.join( "," );
+
+ // Expand context for sibling selectors
+ newContext = rsibling.test( selector ) && testContext( context.parentNode ) ||
+ context;
+ }
+
+ if ( newSelector ) {
+ try {
+ push.apply( results,
+ newContext.querySelectorAll( newSelector )
+ );
+ return results;
+ } catch ( qsaError ) {
+ } finally {
+ if ( nid === expando ) {
+ context.removeAttribute( "id" );
+ }
+ }
+ }
+ }
+ }
+ }
+
+ // All others
+ return select( selector.replace( rtrim, "$1" ), context, results, seed );
+}
+
+/**
+ * Create key-value caches of limited size
+ * @returns {function(string, object)} Returns the Object data after storing it on itself with
+ * property name the (space-suffixed) string and (if the cache is larger than Expr.cacheLength)
+ * deleting the oldest entry
+ */
+function createCache() {
+ var keys = [];
+
+ function cache( key, value ) {
+ // Use (key + " ") to avoid collision with native prototype properties (see Issue #157)
+ if ( keys.push( key + " " ) > Expr.cacheLength ) {
+ // Only keep the most recent entries
+ delete cache[ keys.shift() ];
+ }
+ return (cache[ key + " " ] = value);
+ }
+ return cache;
+}
+
+/**
+ * Mark a function for special use by Sizzle
+ * @param {Function} fn The function to mark
+ */
+function markFunction( fn ) {
+ fn[ expando ] = true;
+ return fn;
+}
+
+/**
+ * Support testing using an element
+ * @param {Function} fn Passed the created div and expects a boolean result
+ */
+function assert( fn ) {
+ var div = document.createElement("div");
+
+ try {
+ return !!fn( div );
+ } catch (e) {
+ return false;
+ } finally {
+ // Remove from its parent by default
+ if ( div.parentNode ) {
+ div.parentNode.removeChild( div );
+ }
+ // release memory in IE
+ div = null;
+ }
+}
+
+/**
+ * Adds the same handler for all of the specified attrs
+ * @param {String} attrs Pipe-separated list of attributes
+ * @param {Function} handler The method that will be applied
+ */
+function addHandle( attrs, handler ) {
+ var arr = attrs.split("|"),
+ i = arr.length;
+
+ while ( i-- ) {
+ Expr.attrHandle[ arr[i] ] = handler;
+ }
+}
+
+/**
+ * Checks document order of two siblings
+ * @param {Element} a
+ * @param {Element} b
+ * @returns {Number} Returns less than 0 if a precedes b, greater than 0 if a follows b
+ */
+function siblingCheck( a, b ) {
+ var cur = b && a,
+ diff = cur && a.nodeType === 1 && b.nodeType === 1 &&
+ ( ~b.sourceIndex || MAX_NEGATIVE ) -
+ ( ~a.sourceIndex || MAX_NEGATIVE );
+
+ // Use IE sourceIndex if available on both nodes
+ if ( diff ) {
+ return diff;
+ }
+
+ // Check if b follows a
+ if ( cur ) {
+ while ( (cur = cur.nextSibling) ) {
+ if ( cur === b ) {
+ return -1;
+ }
+ }
+ }
+
+ return a ? 1 : -1;
+}
+
+/**
+ * Returns a function to use in pseudos for input types
+ * @param {String} type
+ */
+function createInputPseudo( type ) {
+ return function( elem ) {
+ var name = elem.nodeName.toLowerCase();
+ return name === "input" && elem.type === type;
+ };
+}
+
+/**
+ * Returns a function to use in pseudos for buttons
+ * @param {String} type
+ */
+function createButtonPseudo( type ) {
+ return function( elem ) {
+ var name = elem.nodeName.toLowerCase();
+ return (name === "input" || name === "button") && elem.type === type;
+ };
+}
+
+/**
+ * Returns a function to use in pseudos for positionals
+ * @param {Function} fn
+ */
+function createPositionalPseudo( fn ) {
+ return markFunction(function( argument ) {
+ argument = +argument;
+ return markFunction(function( seed, matches ) {
+ var j,
+ matchIndexes = fn( [], seed.length, argument ),
+ i = matchIndexes.length;
+
+ // Match elements found at the specified indexes
+ while ( i-- ) {
+ if ( seed[ (j = matchIndexes[i]) ] ) {
+ seed[j] = !(matches[j] = seed[j]);
+ }
+ }
+ });
+ });
+}
+
+/**
+ * Checks a node for validity as a Sizzle context
+ * @param {Element|Object=} context
+ * @returns {Element|Object|Boolean} The input node if acceptable, otherwise a falsy value
+ */
+function testContext( context ) {
+ return context && typeof context.getElementsByTagName !== "undefined" && context;
+}
+
+// Expose support vars for convenience
+support = Sizzle.support = {};
+
+/**
+ * Detects XML nodes
+ * @param {Element|Object} elem An element or a document
+ * @returns {Boolean} True iff elem is a non-HTML XML node
+ */
+isXML = Sizzle.isXML = function( elem ) {
+ // documentElement is verified for cases where it doesn't yet exist
+ // (such as loading iframes in IE - #4833)
+ var documentElement = elem && (elem.ownerDocument || elem).documentElement;
+ return documentElement ? documentElement.nodeName !== "HTML" : false;
+};
+
+/**
+ * Sets document-related variables once based on the current document
+ * @param {Element|Object} [doc] An element or document object to use to set the document
+ * @returns {Object} Returns the current document
+ */
+setDocument = Sizzle.setDocument = function( node ) {
+ var hasCompare, parent,
+ doc = node ? node.ownerDocument || node : preferredDoc;
+
+ // Return early if doc is invalid or already selected
+ if ( doc === document || doc.nodeType !== 9 || !doc.documentElement ) {
+ return document;
+ }
+
+ // Update global variables
+ document = doc;
+ docElem = document.documentElement;
+ documentIsHTML = !isXML( document );
+
+ // Support: IE 9-11, Edge
+ // Accessing iframe documents after unload throws "permission denied" errors (jQuery #13936)
+ if ( (parent = document.defaultView) && parent.top !== parent ) {
+ // Support: IE 11
+ if ( parent.addEventListener ) {
+ parent.addEventListener( "unload", unloadHandler, false );
+
+ // Support: IE 9 - 10 only
+ } else if ( parent.attachEvent ) {
+ parent.attachEvent( "onunload", unloadHandler );
+ }
+ }
+
+ /* Attributes
+ ---------------------------------------------------------------------- */
+
+ // Support: IE<8
+ // Verify that getAttribute really returns attributes and not properties
+ // (excepting IE8 booleans)
+ support.attributes = assert(function( div ) {
+ div.className = "i";
+ return !div.getAttribute("className");
+ });
+
+ /* getElement(s)By*
+ ---------------------------------------------------------------------- */
+
+ // Check if getElementsByTagName("*") returns only elements
+ support.getElementsByTagName = assert(function( div ) {
+ div.appendChild( document.createComment("") );
+ return !div.getElementsByTagName("*").length;
+ });
+
+ // Support: IE<9
+ support.getElementsByClassName = rnative.test( document.getElementsByClassName );
+
+ // Support: IE<10
+ // Check if getElementById returns elements by name
+ // The broken getElementById methods don't pick up programatically-set names,
+ // so use a roundabout getElementsByName test
+ support.getById = assert(function( div ) {
+ docElem.appendChild( div ).id = expando;
+ return !document.getElementsByName || !document.getElementsByName( expando ).length;
+ });
+
+ // ID find and filter
+ if ( support.getById ) {
+ Expr.find["ID"] = function( id, context ) {
+ if ( typeof context.getElementById !== "undefined" && documentIsHTML ) {
+ var m = context.getElementById( id );
+ return m ? [ m ] : [];
+ }
+ };
+ Expr.filter["ID"] = function( id ) {
+ var attrId = id.replace( runescape, funescape );
+ return function( elem ) {
+ return elem.getAttribute("id") === attrId;
+ };
+ };
+ } else {
+ // Support: IE6/7
+ // getElementById is not reliable as a find shortcut
+ delete Expr.find["ID"];
+
+ Expr.filter["ID"] = function( id ) {
+ var attrId = id.replace( runescape, funescape );
+ return function( elem ) {
+ var node = typeof elem.getAttributeNode !== "undefined" &&
+ elem.getAttributeNode("id");
+ return node && node.value === attrId;
+ };
+ };
+ }
+
+ // Tag
+ Expr.find["TAG"] = support.getElementsByTagName ?
+ function( tag, context ) {
+ if ( typeof context.getElementsByTagName !== "undefined" ) {
+ return context.getElementsByTagName( tag );
+
+ // DocumentFragment nodes don't have gEBTN
+ } else if ( support.qsa ) {
+ return context.querySelectorAll( tag );
+ }
+ } :
+
+ function( tag, context ) {
+ var elem,
+ tmp = [],
+ i = 0,
+ // By happy coincidence, a (broken) gEBTN appears on DocumentFragment nodes too
+ results = context.getElementsByTagName( tag );
+
+ // Filter out possible comments
+ if ( tag === "*" ) {
+ while ( (elem = results[i++]) ) {
+ if ( elem.nodeType === 1 ) {
+ tmp.push( elem );
+ }
+ }
+
+ return tmp;
+ }
+ return results;
+ };
+
+ // Class
+ Expr.find["CLASS"] = support.getElementsByClassName && function( className, context ) {
+ if ( typeof context.getElementsByClassName !== "undefined" && documentIsHTML ) {
+ return context.getElementsByClassName( className );
+ }
+ };
+
+ /* QSA/matchesSelector
+ ---------------------------------------------------------------------- */
+
+ // QSA and matchesSelector support
+
+ // matchesSelector(:active) reports false when true (IE9/Opera 11.5)
+ rbuggyMatches = [];
+
+ // qSa(:focus) reports false when true (Chrome 21)
+ // We allow this because of a bug in IE8/9 that throws an error
+ // whenever `document.activeElement` is accessed on an iframe
+ // So, we allow :focus to pass through QSA all the time to avoid the IE error
+ // See http://bugs.jquery.com/ticket/13378
+ rbuggyQSA = [];
+
+ if ( (support.qsa = rnative.test( document.querySelectorAll )) ) {
+ // Build QSA regex
+ // Regex strategy adopted from Diego Perini
+ assert(function( div ) {
+ // Select is set to empty string on purpose
+ // This is to test IE's treatment of not explicitly
+ // setting a boolean content attribute,
+ // since its presence should be enough
+ // http://bugs.jquery.com/ticket/12359
+ docElem.appendChild( div ).innerHTML = "<a id='" + expando + "'></a>" +
+ "<select id='" + expando + "-\r\\' msallowcapture=''>" +
+ "<option selected=''></option></select>";
+
+ // Support: IE8, Opera 11-12.16
+ // Nothing should be selected when empty strings follow ^= or $= or *=
+ // The test attribute must be unknown in Opera but "safe" for WinRT
+ // http://msdn.microsoft.com/en-us/library/ie/hh465388.aspx#attribute_section
+ if ( div.querySelectorAll("[msallowcapture^='']").length ) {
+ rbuggyQSA.push( "[*^$]=" + whitespace + "*(?:''|\"\")" );
+ }
+
+ // Support: IE8
+ // Boolean attributes and "value" are not treated correctly
+ if ( !div.querySelectorAll("[selected]").length ) {
+ rbuggyQSA.push( "\\[" + whitespace + "*(?:value|" + booleans + ")" );
+ }
+
+ // Support: Chrome<29, Android<4.4, Safari<7.0+, iOS<7.0+, PhantomJS<1.9.8+
+ if ( !div.querySelectorAll( "[id~=" + expando + "-]" ).length ) {
+ rbuggyQSA.push("~=");
+ }
+
+ // Webkit/Opera - :checked should return selected option elements
+ // http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked
+ // IE8 throws error here and will not see later tests
+ if ( !div.querySelectorAll(":checked").length ) {
+ rbuggyQSA.push(":checked");
+ }
+
+ // Support: Safari 8+, iOS 8+
+ // https://bugs.webkit.org/show_bug.cgi?id=136851
+ // In-page `selector#id sibing-combinator selector` fails
+ if ( !div.querySelectorAll( "a#" + expando + "+*" ).length ) {
+ rbuggyQSA.push(".#.+[+~]");
+ }
+ });
+
+ assert(function( div ) {
+ // Support: Windows 8 Native Apps
+ // The type and name attributes are restricted during .innerHTML assignment
+ var input = document.createElement("input");
+ input.setAttribute( "type", "hidden" );
+ div.appendChild( input ).setAttribute( "name", "D" );
+
+ // Support: IE8
+ // Enforce case-sensitivity of name attribute
+ if ( div.querySelectorAll("[name=d]").length ) {
+ rbuggyQSA.push( "name" + whitespace + "*[*^$|!~]?=" );
+ }
+
+ // FF 3.5 - :enabled/:disabled and hidden elements (hidden elements are still enabled)
+ // IE8 throws error here and will not see later tests
+ if ( !div.querySelectorAll(":enabled").length ) {
+ rbuggyQSA.push( ":enabled", ":disabled" );
+ }
+
+ // Opera 10-11 does not throw on post-comma invalid pseudos
+ div.querySelectorAll("*,:x");
+ rbuggyQSA.push(",.*:");
+ });
+ }
+
+ if ( (support.matchesSelector = rnative.test( (matches = docElem.matches ||
+ docElem.webkitMatchesSelector ||
+ docElem.mozMatchesSelector ||
+ docElem.oMatchesSelector ||
+ docElem.msMatchesSelector) )) ) {
+
+ assert(function( div ) {
+ // Check to see if it's possible to do matchesSelector
+ // on a disconnected node (IE 9)
+ support.disconnectedMatch = matches.call( div, "div" );
+
+ // This should fail with an exception
+ // Gecko does not error, returns false instead
+ matches.call( div, "[s!='']:x" );
+ rbuggyMatches.push( "!=", pseudos );
+ });
+ }
+
+ rbuggyQSA = rbuggyQSA.length && new RegExp( rbuggyQSA.join("|") );
+ rbuggyMatches = rbuggyMatches.length && new RegExp( rbuggyMatches.join("|") );
+
+ /* Contains
+ ---------------------------------------------------------------------- */
+ hasCompare = rnative.test( docElem.compareDocumentPosition );
+
+ // Element contains another
+ // Purposefully self-exclusive
+ // As in, an element does not contain itself
+ contains = hasCompare || rnative.test( docElem.contains ) ?
+ function( a, b ) {
+ var adown = a.nodeType === 9 ? a.documentElement : a,
+ bup = b && b.parentNode;
+ return a === bup || !!( bup && bup.nodeType === 1 && (
+ adown.contains ?
+ adown.contains( bup ) :
+ a.compareDocumentPosition && a.compareDocumentPosition( bup ) & 16
+ ));
+ } :
+ function( a, b ) {
+ if ( b ) {
+ while ( (b = b.parentNode) ) {
+ if ( b === a ) {
+ return true;
+ }
+ }
+ }
+ return false;
+ };
+
+ /* Sorting
+ ---------------------------------------------------------------------- */
+
+ // Document order sorting
+ sortOrder = hasCompare ?
+ function( a, b ) {
+
+ // Flag for duplicate removal
+ if ( a === b ) {
+ hasDuplicate = true;
+ return 0;
+ }
+
+ // Sort on method existence if only one input has compareDocumentPosition
+ var compare = !a.compareDocumentPosition - !b.compareDocumentPosition;
+ if ( compare ) {
+ return compare;
+ }
+
+ // Calculate position if both inputs belong to the same document
+ compare = ( a.ownerDocument || a ) === ( b.ownerDocument || b ) ?
+ a.compareDocumentPosition( b ) :
+
+ // Otherwise we know they are disconnected
+ 1;
+
+ // Disconnected nodes
+ if ( compare & 1 ||
+ (!support.sortDetached && b.compareDocumentPosition( a ) === compare) ) {
+
+ // Choose the first element that is related to our preferred document
+ if ( a === document || a.ownerDocument === preferredDoc && contains(preferredDoc, a) ) {
+ return -1;
+ }
+ if ( b === document || b.ownerDocument === preferredDoc && contains(preferredDoc, b) ) {
+ return 1;
+ }
+
+ // Maintain original order
+ return sortInput ?
+ ( indexOf( sortInput, a ) - indexOf( sortInput, b ) ) :
+ 0;
+ }
+
+ return compare & 4 ? -1 : 1;
+ } :
+ function( a, b ) {
+ // Exit early if the nodes are identical
+ if ( a === b ) {
+ hasDuplicate = true;
+ return 0;
+ }
+
+ var cur,
+ i = 0,
+ aup = a.parentNode,
+ bup = b.parentNode,
+ ap = [ a ],
+ bp = [ b ];
+
+ // Parentless nodes are either documents or disconnected
+ if ( !aup || !bup ) {
+ return a === document ? -1 :
+ b === document ? 1 :
+ aup ? -1 :
+ bup ? 1 :
+ sortInput ?
+ ( indexOf( sortInput, a ) - indexOf( sortInput, b ) ) :
+ 0;
+
+ // If the nodes are siblings, we can do a quick check
+ } else if ( aup === bup ) {
+ return siblingCheck( a, b );
+ }
+
+ // Otherwise we need full lists of their ancestors for comparison
+ cur = a;
+ while ( (cur = cur.parentNode) ) {
+ ap.unshift( cur );
+ }
+ cur = b;
+ while ( (cur = cur.parentNode) ) {
+ bp.unshift( cur );
+ }
+
+ // Walk down the tree looking for a discrepancy
+ while ( ap[i] === bp[i] ) {
+ i++;
+ }
+
+ return i ?
+ // Do a sibling check if the nodes have a common ancestor
+ siblingCheck( ap[i], bp[i] ) :
+
+ // Otherwise nodes in our document sort first
+ ap[i] === preferredDoc ? -1 :
+ bp[i] === preferredDoc ? 1 :
+ 0;
+ };
+
+ return document;
+};
+
+Sizzle.matches = function( expr, elements ) {
+ return Sizzle( expr, null, null, elements );
+};
+
+Sizzle.matchesSelector = function( elem, expr ) {
+ // Set document vars if needed
+ if ( ( elem.ownerDocument || elem ) !== document ) {
+ setDocument( elem );
+ }
+
+ // Make sure that attribute selectors are quoted
+ expr = expr.replace( rattributeQuotes, "='$1']" );
+
+ if ( support.matchesSelector && documentIsHTML &&
+ !compilerCache[ expr + " " ] &&
+ ( !rbuggyMatches || !rbuggyMatches.test( expr ) ) &&
+ ( !rbuggyQSA || !rbuggyQSA.test( expr ) ) ) {
+
+ try {
+ var ret = matches.call( elem, expr );
+
+ // IE 9's matchesSelector returns false on disconnected nodes
+ if ( ret || support.disconnectedMatch ||
+ // As well, disconnected nodes are said to be in a document
+ // fragment in IE 9
+ elem.document && elem.document.nodeType !== 11 ) {
+ return ret;
+ }
+ } catch (e) {}
+ }
+
+ return Sizzle( expr, document, null, [ elem ] ).length > 0;
+};
+
+Sizzle.contains = function( context, elem ) {
+ // Set document vars if needed
+ if ( ( context.ownerDocument || context ) !== document ) {
+ setDocument( context );
+ }
+ return contains( context, elem );
+};
+
+Sizzle.attr = function( elem, name ) {
+ // Set document vars if needed
+ if ( ( elem.ownerDocument || elem ) !== document ) {
+ setDocument( elem );
+ }
+
+ var fn = Expr.attrHandle[ name.toLowerCase() ],
+ // Don't get fooled by Object.prototype properties (jQuery #13807)
+ val = fn && hasOwn.call( Expr.attrHandle, name.toLowerCase() ) ?
+ fn( elem, name, !documentIsHTML ) :
+ undefined;
+
+ return val !== undefined ?
+ val :
+ support.attributes || !documentIsHTML ?
+ elem.getAttribute( name ) :
+ (val = elem.getAttributeNode(name)) && val.specified ?
+ val.value :
+ null;
+};
+
+Sizzle.error = function( msg ) {
+ throw new Error( "Syntax error, unrecognized expression: " + msg );
+};
+
+/**
+ * Document sorting and removing duplicates
+ * @param {ArrayLike} results
+ */
+Sizzle.uniqueSort = function( results ) {
+ var elem,
+ duplicates = [],
+ j = 0,
+ i = 0;
+
+ // Unless we *know* we can detect duplicates, assume their presence
+ hasDuplicate = !support.detectDuplicates;
+ sortInput = !support.sortStable && results.slice( 0 );
+ results.sort( sortOrder );
+
+ if ( hasDuplicate ) {
+ while ( (elem = results[i++]) ) {
+ if ( elem === results[ i ] ) {
+ j = duplicates.push( i );
+ }
+ }
+ while ( j-- ) {
+ results.splice( duplicates[ j ], 1 );
+ }
+ }
+
+ // Clear input after sorting to release objects
+ // See https://github.com/jquery/sizzle/pull/225
+ sortInput = null;
+
+ return results;
+};
+
+/**
+ * Utility function for retrieving the text value of an array of DOM nodes
+ * @param {Array|Element} elem
+ */
+getText = Sizzle.getText = function( elem ) {
+ var node,
+ ret = "",
+ i = 0,
+ nodeType = elem.nodeType;
+
+ if ( !nodeType ) {
+ // If no nodeType, this is expected to be an array
+ while ( (node = elem[i++]) ) {
+ // Do not traverse comment nodes
+ ret += getText( node );
+ }
+ } else if ( nodeType === 1 || nodeType === 9 || nodeType === 11 ) {
+ // Use textContent for elements
+ // innerText usage removed for consistency of new lines (jQuery #11153)
+ if ( typeof elem.textContent === "string" ) {
+ return elem.textContent;
+ } else {
+ // Traverse its children
+ for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) {
+ ret += getText( elem );
+ }
+ }
+ } else if ( nodeType === 3 || nodeType === 4 ) {
+ return elem.nodeValue;
+ }
+ // Do not include comment or processing instruction nodes
+
+ return ret;
+};
+
+Expr = Sizzle.selectors = {
+
+ // Can be adjusted by the user
+ cacheLength: 50,
+
+ createPseudo: markFunction,
+
+ match: matchExpr,
+
+ attrHandle: {},
+
+ find: {},
+
+ relative: {
+ ">": { dir: "parentNode", first: true },
+ " ": { dir: "parentNode" },
+ "+": { dir: "previousSibling", first: true },
+ "~": { dir: "previousSibling" }
+ },
+
+ preFilter: {
+ "ATTR": function( match ) {
+ match[1] = match[1].replace( runescape, funescape );
+
+ // Move the given value to match[3] whether quoted or unquoted
+ match[3] = ( match[3] || match[4] || match[5] || "" ).replace( runescape, funescape );
+
+ if ( match[2] === "~=" ) {
+ match[3] = " " + match[3] + " ";
+ }
+
+ return match.slice( 0, 4 );
+ },
+
+ "CHILD": function( match ) {
+ /* matches from matchExpr["CHILD"]
+ 1 type (only|nth|...)
+ 2 what (child|of-type)
+ 3 argument (even|odd|\d*|\d*n([+-]\d+)?|...)
+ 4 xn-component of xn+y argument ([+-]?\d*n|)
+ 5 sign of xn-component
+ 6 x of xn-component
+ 7 sign of y-component
+ 8 y of y-component
+ */
+ match[1] = match[1].toLowerCase();
+
+ if ( match[1].slice( 0, 3 ) === "nth" ) {
+ // nth-* requires argument
+ if ( !match[3] ) {
+ Sizzle.error( match[0] );
+ }
+
+ // numeric x and y parameters for Expr.filter.CHILD
+ // remember that false/true cast respectively to 0/1
+ match[4] = +( match[4] ? match[5] + (match[6] || 1) : 2 * ( match[3] === "even" || match[3] === "odd" ) );
+ match[5] = +( ( match[7] + match[8] ) || match[3] === "odd" );
+
+ // other types prohibit arguments
+ } else if ( match[3] ) {
+ Sizzle.error( match[0] );
+ }
+
+ return match;
+ },
+
+ "PSEUDO": function( match ) {
+ var excess,
+ unquoted = !match[6] && match[2];
+
+ if ( matchExpr["CHILD"].test( match[0] ) ) {
+ return null;
+ }
+
+ // Accept quoted arguments as-is
+ if ( match[3] ) {
+ match[2] = match[4] || match[5] || "";
+
+ // Strip excess characters from unquoted arguments
+ } else if ( unquoted && rpseudo.test( unquoted ) &&
+ // Get excess from tokenize (recursively)
+ (excess = tokenize( unquoted, true )) &&
+ // advance to the next closing parenthesis
+ (excess = unquoted.indexOf( ")", unquoted.length - excess ) - unquoted.length) ) {
+
+ // excess is a negative index
+ match[0] = match[0].slice( 0, excess );
+ match[2] = unquoted.slice( 0, excess );
+ }
+
+ // Return only captures needed by the pseudo filter method (type and argument)
+ return match.slice( 0, 3 );
+ }
+ },
+
+ filter: {
+
+ "TAG": function( nodeNameSelector ) {
+ var nodeName = nodeNameSelector.replace( runescape, funescape ).toLowerCase();
+ return nodeNameSelector === "*" ?
+ function() { return true; } :
+ function( elem ) {
+ return elem.nodeName && elem.nodeName.toLowerCase() === nodeName;
+ };
+ },
+
+ "CLASS": function( className ) {
+ var pattern = classCache[ className + " " ];
+
+ return pattern ||
+ (pattern = new RegExp( "(^|" + whitespace + ")" + className + "(" + whitespace + "|$)" )) &&
+ classCache( className, function( elem ) {
+ return pattern.test( typeof elem.className === "string" && elem.className || typeof elem.getAttribute !== "undefined" && elem.getAttribute("class") || "" );
+ });
+ },
+
+ "ATTR": function( name, operator, check ) {
+ return function( elem ) {
+ var result = Sizzle.attr( elem, name );
+
+ if ( result == null ) {
+ return operator === "!=";
+ }
+ if ( !operator ) {
+ return true;
+ }
+
+ result += "";
+
+ return operator === "=" ? result === check :
+ operator === "!=" ? result !== check :
+ operator === "^=" ? check && result.indexOf( check ) === 0 :
+ operator === "*=" ? check && result.indexOf( check ) > -1 :
+ operator === "$=" ? check && result.slice( -check.length ) === check :
+ operator === "~=" ? ( " " + result.replace( rwhitespace, " " ) + " " ).indexOf( check ) > -1 :
+ operator === "|=" ? result === check || result.slice( 0, check.length + 1 ) === check + "-" :
+ false;
+ };
+ },
+
+ "CHILD": function( type, what, argument, first, last ) {
+ var simple = type.slice( 0, 3 ) !== "nth",
+ forward = type.slice( -4 ) !== "last",
+ ofType = what === "of-type";
+
+ return first === 1 && last === 0 ?
+
+ // Shortcut for :nth-*(n)
+ function( elem ) {
+ return !!elem.parentNode;
+ } :
+
+ function( elem, context, xml ) {
+ var cache, uniqueCache, outerCache, node, nodeIndex, start,
+ dir = simple !== forward ? "nextSibling" : "previousSibling",
+ parent = elem.parentNode,
+ name = ofType && elem.nodeName.toLowerCase(),
+ useCache = !xml && !ofType,
+ diff = false;
+
+ if ( parent ) {
+
+ // :(first|last|only)-(child|of-type)
+ if ( simple ) {
+ while ( dir ) {
+ node = elem;
+ while ( (node = node[ dir ]) ) {
+ if ( ofType ?
+ node.nodeName.toLowerCase() === name :
+ node.nodeType === 1 ) {
+
+ return false;
+ }
+ }
+ // Reverse direction for :only-* (if we haven't yet done so)
+ start = dir = type === "only" && !start && "nextSibling";
+ }
+ return true;
+ }
+
+ start = [ forward ? parent.firstChild : parent.lastChild ];
+
+ // non-xml :nth-child(...) stores cache data on `parent`
+ if ( forward && useCache ) {
+
+ // Seek `elem` from a previously-cached index
+
+ // ...in a gzip-friendly way
+ node = parent;
+ outerCache = node[ expando ] || (node[ expando ] = {});
+
+ // Support: IE <9 only
+ // Defend against cloned attroperties (jQuery gh-1709)
+ uniqueCache = outerCache[ node.uniqueID ] ||
+ (outerCache[ node.uniqueID ] = {});
+
+ cache = uniqueCache[ type ] || [];
+ nodeIndex = cache[ 0 ] === dirruns && cache[ 1 ];
+ diff = nodeIndex && cache[ 2 ];
+ node = nodeIndex && parent.childNodes[ nodeIndex ];
+
+ while ( (node = ++nodeIndex && node && node[ dir ] ||
+
+ // Fallback to seeking `elem` from the start
+ (diff = nodeIndex = 0) || start.pop()) ) {
+
+ // When found, cache indexes on `parent` and break
+ if ( node.nodeType === 1 && ++diff && node === elem ) {
+ uniqueCache[ type ] = [ dirruns, nodeIndex, diff ];
+ break;
+ }
+ }
+
+ } else {
+ // Use previously-cached element index if available
+ if ( useCache ) {
+ // ...in a gzip-friendly way
+ node = elem;
+ outerCache = node[ expando ] || (node[ expando ] = {});
+
+ // Support: IE <9 only
+ // Defend against cloned attroperties (jQuery gh-1709)
+ uniqueCache = outerCache[ node.uniqueID ] ||
+ (outerCache[ node.uniqueID ] = {});
+
+ cache = uniqueCache[ type ] || [];
+ nodeIndex = cache[ 0 ] === dirruns && cache[ 1 ];
+ diff = nodeIndex;
+ }
+
+ // xml :nth-child(...)
+ // or :nth-last-child(...) or :nth(-last)?-of-type(...)
+ if ( diff === false ) {
+ // Use the same loop as above to seek `elem` from the start
+ while ( (node = ++nodeIndex && node && node[ dir ] ||
+ (diff = nodeIndex = 0) || start.pop()) ) {
+
+ if ( ( ofType ?
+ node.nodeName.toLowerCase() === name :
+ node.nodeType === 1 ) &&
+ ++diff ) {
+
+ // Cache the index of each encountered element
+ if ( useCache ) {
+ outerCache = node[ expando ] || (node[ expando ] = {});
+
+ // Support: IE <9 only
+ // Defend against cloned attroperties (jQuery gh-1709)
+ uniqueCache = outerCache[ node.uniqueID ] ||
+ (outerCache[ node.uniqueID ] = {});
+
+ uniqueCache[ type ] = [ dirruns, diff ];
+ }
+
+ if ( node === elem ) {
+ break;
+ }
+ }
+ }
+ }
+ }
+
+ // Incorporate the offset, then check against cycle size
+ diff -= last;
+ return diff === first || ( diff % first === 0 && diff / first >= 0 );
+ }
+ };
+ },
+
+ "PSEUDO": function( pseudo, argument ) {
+ // pseudo-class names are case-insensitive
+ // http://www.w3.org/TR/selectors/#pseudo-classes
+ // Prioritize by case sensitivity in case custom pseudos are added with uppercase letters
+ // Remember that setFilters inherits from pseudos
+ var args,
+ fn = Expr.pseudos[ pseudo ] || Expr.setFilters[ pseudo.toLowerCase() ] ||
+ Sizzle.error( "unsupported pseudo: " + pseudo );
+
+ // The user may use createPseudo to indicate that
+ // arguments are needed to create the filter function
+ // just as Sizzle does
+ if ( fn[ expando ] ) {
+ return fn( argument );
+ }
+
+ // But maintain support for old signatures
+ if ( fn.length > 1 ) {
+ args = [ pseudo, pseudo, "", argument ];
+ return Expr.setFilters.hasOwnProperty( pseudo.toLowerCase() ) ?
+ markFunction(function( seed, matches ) {
+ var idx,
+ matched = fn( seed, argument ),
+ i = matched.length;
+ while ( i-- ) {
+ idx = indexOf( seed, matched[i] );
+ seed[ idx ] = !( matches[ idx ] = matched[i] );
+ }
+ }) :
+ function( elem ) {
+ return fn( elem, 0, args );
+ };
+ }
+
+ return fn;
+ }
+ },
+
+ pseudos: {
+ // Potentially complex pseudos
+ "not": markFunction(function( selector ) {
+ // Trim the selector passed to compile
+ // to avoid treating leading and trailing
+ // spaces as combinators
+ var input = [],
+ results = [],
+ matcher = compile( selector.replace( rtrim, "$1" ) );
+
+ return matcher[ expando ] ?
+ markFunction(function( seed, matches, context, xml ) {
+ var elem,
+ unmatched = matcher( seed, null, xml, [] ),
+ i = seed.length;
+
+ // Match elements unmatched by `matcher`
+ while ( i-- ) {
+ if ( (elem = unmatched[i]) ) {
+ seed[i] = !(matches[i] = elem);
+ }
+ }
+ }) :
+ function( elem, context, xml ) {
+ input[0] = elem;
+ matcher( input, null, xml, results );
+ // Don't keep the element (issue #299)
+ input[0] = null;
+ return !results.pop();
+ };
+ }),
+
+ "has": markFunction(function( selector ) {
+ return function( elem ) {
+ return Sizzle( selector, elem ).length > 0;
+ };
+ }),
+
+ "contains": markFunction(function( text ) {
+ text = text.replace( runescape, funescape );
+ return function( elem ) {
+ return ( elem.textContent || elem.innerText || getText( elem ) ).indexOf( text ) > -1;
+ };
+ }),
+
+ // "Whether an element is represented by a :lang() selector
+ // is based solely on the element's language value
+ // being equal to the identifier C,
+ // or beginning with the identifier C immediately followed by "-".
+ // The matching of C against the element's language value is performed case-insensitively.
+ // The identifier C does not have to be a valid language name."
+ // http://www.w3.org/TR/selectors/#lang-pseudo
+ "lang": markFunction( function( lang ) {
+ // lang value must be a valid identifier
+ if ( !ridentifier.test(lang || "") ) {
+ Sizzle.error( "unsupported lang: " + lang );
+ }
+ lang = lang.replace( runescape, funescape ).toLowerCase();
+ return function( elem ) {
+ var elemLang;
+ do {
+ if ( (elemLang = documentIsHTML ?
+ elem.lang :
+ elem.getAttribute("xml:lang") || elem.getAttribute("lang")) ) {
+
+ elemLang = elemLang.toLowerCase();
+ return elemLang === lang || elemLang.indexOf( lang + "-" ) === 0;
+ }
+ } while ( (elem = elem.parentNode) && elem.nodeType === 1 );
+ return false;
+ };
+ }),
+
+ // Miscellaneous
+ "target": function( elem ) {
+ var hash = window.location && window.location.hash;
+ return hash && hash.slice( 1 ) === elem.id;
+ },
+
+ "root": function( elem ) {
+ return elem === docElem;
+ },
+
+ "focus": function( elem ) {
+ return elem === document.activeElement && (!document.hasFocus || document.hasFocus()) && !!(elem.type || elem.href || ~elem.tabIndex);
+ },
+
+ // Boolean properties
+ "enabled": function( elem ) {
+ return elem.disabled === false;
+ },
+
+ "disabled": function( elem ) {
+ return elem.disabled === true;
+ },
+
+ "checked": function( elem ) {
+ // In CSS3, :checked should return both checked and selected elements
+ // http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked
+ var nodeName = elem.nodeName.toLowerCase();
+ return (nodeName === "input" && !!elem.checked) || (nodeName === "option" && !!elem.selected);
+ },
+
+ "selected": function( elem ) {
+ // Accessing this property makes selected-by-default
+ // options in Safari work properly
+ if ( elem.parentNode ) {
+ elem.parentNode.selectedIndex;
+ }
+
+ return elem.selected === true;
+ },
+
+ // Contents
+ "empty": function( elem ) {
+ // http://www.w3.org/TR/selectors/#empty-pseudo
+ // :empty is negated by element (1) or content nodes (text: 3; cdata: 4; entity ref: 5),
+ // but not by others (comment: 8; processing instruction: 7; etc.)
+ // nodeType < 6 works because attributes (2) do not appear as children
+ for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) {
+ if ( elem.nodeType < 6 ) {
+ return false;
+ }
+ }
+ return true;
+ },
+
+ "parent": function( elem ) {
+ return !Expr.pseudos["empty"]( elem );
+ },
+
+ // Element/input types
+ "header": function( elem ) {
+ return rheader.test( elem.nodeName );
+ },
+
+ "input": function( elem ) {
+ return rinputs.test( elem.nodeName );
+ },
+
+ "button": function( elem ) {
+ var name = elem.nodeName.toLowerCase();
+ return name === "input" && elem.type === "button" || name === "button";
+ },
+
+ "text": function( elem ) {
+ var attr;
+ return elem.nodeName.toLowerCase() === "input" &&
+ elem.type === "text" &&
+
+ // Support: IE<8
+ // New HTML5 attribute values (e.g., "search") appear with elem.type === "text"
+ ( (attr = elem.getAttribute("type")) == null || attr.toLowerCase() === "text" );
+ },
+
+ // Position-in-collection
+ "first": createPositionalPseudo(function() {
+ return [ 0 ];
+ }),
+
+ "last": createPositionalPseudo(function( matchIndexes, length ) {
+ return [ length - 1 ];
+ }),
+
+ "eq": createPositionalPseudo(function( matchIndexes, length, argument ) {
+ return [ argument < 0 ? argument + length : argument ];
+ }),
+
+ "even": createPositionalPseudo(function( matchIndexes, length ) {
+ var i = 0;
+ for ( ; i < length; i += 2 ) {
+ matchIndexes.push( i );
+ }
+ return matchIndexes;
+ }),
+
+ "odd": createPositionalPseudo(function( matchIndexes, length ) {
+ var i = 1;
+ for ( ; i < length; i += 2 ) {
+ matchIndexes.push( i );
+ }
+ return matchIndexes;
+ }),
+
+ "lt": createPositionalPseudo(function( matchIndexes, length, argument ) {
+ var i = argument < 0 ? argument + length : argument;
+ for ( ; --i >= 0; ) {
+ matchIndexes.push( i );
+ }
+ return matchIndexes;
+ }),
+
+ "gt": createPositionalPseudo(function( matchIndexes, length, argument ) {
+ var i = argument < 0 ? argument + length : argument;
+ for ( ; ++i < length; ) {
+ matchIndexes.push( i );
+ }
+ return matchIndexes;
+ })
+ }
+};
+
+Expr.pseudos["nth"] = Expr.pseudos["eq"];
+
+// Add button/input type pseudos
+for ( i in { radio: true, checkbox: true, file: true, password: true, image: true } ) {
+ Expr.pseudos[ i ] = createInputPseudo( i );
+}
+for ( i in { submit: true, reset: true } ) {
+ Expr.pseudos[ i ] = createButtonPseudo( i );
+}
+
+// Easy API for creating new setFilters
+function setFilters() {}
+setFilters.prototype = Expr.filters = Expr.pseudos;
+Expr.setFilters = new setFilters();
+
+tokenize = Sizzle.tokenize = function( selector, parseOnly ) {
+ var matched, match, tokens, type,
+ soFar, groups, preFilters,
+ cached = tokenCache[ selector + " " ];
+
+ if ( cached ) {
+ return parseOnly ? 0 : cached.slice( 0 );
+ }
+
+ soFar = selector;
+ groups = [];
+ preFilters = Expr.preFilter;
+
+ while ( soFar ) {
+
+ // Comma and first run
+ if ( !matched || (match = rcomma.exec( soFar )) ) {
+ if ( match ) {
+ // Don't consume trailing commas as valid
+ soFar = soFar.slice( match[0].length ) || soFar;
+ }
+ groups.push( (tokens = []) );
+ }
+
+ matched = false;
+
+ // Combinators
+ if ( (match = rcombinators.exec( soFar )) ) {
+ matched = match.shift();
+ tokens.push({
+ value: matched,
+ // Cast descendant combinators to space
+ type: match[0].replace( rtrim, " " )
+ });
+ soFar = soFar.slice( matched.length );
+ }
+
+ // Filters
+ for ( type in Expr.filter ) {
+ if ( (match = matchExpr[ type ].exec( soFar )) && (!preFilters[ type ] ||
+ (match = preFilters[ type ]( match ))) ) {
+ matched = match.shift();
+ tokens.push({
+ value: matched,
+ type: type,
+ matches: match
+ });
+ soFar = soFar.slice( matched.length );
+ }
+ }
+
+ if ( !matched ) {
+ break;
+ }
+ }
+
+ // Return the length of the invalid excess
+ // if we're just parsing
+ // Otherwise, throw an error or return tokens
+ return parseOnly ?
+ soFar.length :
+ soFar ?
+ Sizzle.error( selector ) :
+ // Cache the tokens
+ tokenCache( selector, groups ).slice( 0 );
+};
+
+function toSelector( tokens ) {
+ var i = 0,
+ len = tokens.length,
+ selector = "";
+ for ( ; i < len; i++ ) {
+ selector += tokens[i].value;
+ }
+ return selector;
+}
+
+function addCombinator( matcher, combinator, base ) {
+ var dir = combinator.dir,
+ checkNonElements = base && dir === "parentNode",
+ doneName = done++;
+
+ return combinator.first ?
+ // Check against closest ancestor/preceding element
+ function( elem, context, xml ) {
+ while ( (elem = elem[ dir ]) ) {
+ if ( elem.nodeType === 1 || checkNonElements ) {
+ return matcher( elem, context, xml );
+ }
+ }
+ } :
+
+ // Check against all ancestor/preceding elements
+ function( elem, context, xml ) {
+ var oldCache, uniqueCache, outerCache,
+ newCache = [ dirruns, doneName ];
+
+ // We can't set arbitrary data on XML nodes, so they don't benefit from combinator caching
+ if ( xml ) {
+ while ( (elem = elem[ dir ]) ) {
+ if ( elem.nodeType === 1 || checkNonElements ) {
+ if ( matcher( elem, context, xml ) ) {
+ return true;
+ }
+ }
+ }
+ } else {
+ while ( (elem = elem[ dir ]) ) {
+ if ( elem.nodeType === 1 || checkNonElements ) {
+ outerCache = elem[ expando ] || (elem[ expando ] = {});
+
+ // Support: IE <9 only
+ // Defend against cloned attroperties (jQuery gh-1709)
+ uniqueCache = outerCache[ elem.uniqueID ] || (outerCache[ elem.uniqueID ] = {});
+
+ if ( (oldCache = uniqueCache[ dir ]) &&
+ oldCache[ 0 ] === dirruns && oldCache[ 1 ] === doneName ) {
+
+ // Assign to newCache so results back-propagate to previous elements
+ return (newCache[ 2 ] = oldCache[ 2 ]);
+ } else {
+ // Reuse newcache so results back-propagate to previous elements
+ uniqueCache[ dir ] = newCache;
+
+ // A match means we're done; a fail means we have to keep checking
+ if ( (newCache[ 2 ] = matcher( elem, context, xml )) ) {
+ return true;
+ }
+ }
+ }
+ }
+ }
+ };
+}
+
+function elementMatcher( matchers ) {
+ return matchers.length > 1 ?
+ function( elem, context, xml ) {
+ var i = matchers.length;
+ while ( i-- ) {
+ if ( !matchers[i]( elem, context, xml ) ) {
+ return false;
+ }
+ }
+ return true;
+ } :
+ matchers[0];
+}
+
+function multipleContexts( selector, contexts, results ) {
+ var i = 0,
+ len = contexts.length;
+ for ( ; i < len; i++ ) {
+ Sizzle( selector, contexts[i], results );
+ }
+ return results;
+}
+
+function condense( unmatched, map, filter, context, xml ) {
+ var elem,
+ newUnmatched = [],
+ i = 0,
+ len = unmatched.length,
+ mapped = map != null;
+
+ for ( ; i < len; i++ ) {
+ if ( (elem = unmatched[i]) ) {
+ if ( !filter || filter( elem, context, xml ) ) {
+ newUnmatched.push( elem );
+ if ( mapped ) {
+ map.push( i );
+ }
+ }
+ }
+ }
+
+ return newUnmatched;
+}
+
+function setMatcher( preFilter, selector, matcher, postFilter, postFinder, postSelector ) {
+ if ( postFilter && !postFilter[ expando ] ) {
+ postFilter = setMatcher( postFilter );
+ }
+ if ( postFinder && !postFinder[ expando ] ) {
+ postFinder = setMatcher( postFinder, postSelector );
+ }
+ return markFunction(function( seed, results, context, xml ) {
+ var temp, i, elem,
+ preMap = [],
+ postMap = [],
+ preexisting = results.length,
+
+ // Get initial elements from seed or context
+ elems = seed || multipleContexts( selector || "*", context.nodeType ? [ context ] : context, [] ),
+
+ // Prefilter to get matcher input, preserving a map for seed-results synchronization
+ matcherIn = preFilter && ( seed || !selector ) ?
+ condense( elems, preMap, preFilter, context, xml ) :
+ elems,
+
+ matcherOut = matcher ?
+ // If we have a postFinder, or filtered seed, or non-seed postFilter or preexisting results,
+ postFinder || ( seed ? preFilter : preexisting || postFilter ) ?
+
+ // ...intermediate processing is necessary
+ [] :
+
+ // ...otherwise use results directly
+ results :
+ matcherIn;
+
+ // Find primary matches
+ if ( matcher ) {
+ matcher( matcherIn, matcherOut, context, xml );
+ }
+
+ // Apply postFilter
+ if ( postFilter ) {
+ temp = condense( matcherOut, postMap );
+ postFilter( temp, [], context, xml );
+
+ // Un-match failing elements by moving them back to matcherIn
+ i = temp.length;
+ while ( i-- ) {
+ if ( (elem = temp[i]) ) {
+ matcherOut[ postMap[i] ] = !(matcherIn[ postMap[i] ] = elem);
+ }
+ }
+ }
+
+ if ( seed ) {
+ if ( postFinder || preFilter ) {
+ if ( postFinder ) {
+ // Get the final matcherOut by condensing this intermediate into postFinder contexts
+ temp = [];
+ i = matcherOut.length;
+ while ( i-- ) {
+ if ( (elem = matcherOut[i]) ) {
+ // Restore matcherIn since elem is not yet a final match
+ temp.push( (matcherIn[i] = elem) );
+ }
+ }
+ postFinder( null, (matcherOut = []), temp, xml );
+ }
+
+ // Move matched elements from seed to results to keep them synchronized
+ i = matcherOut.length;
+ while ( i-- ) {
+ if ( (elem = matcherOut[i]) &&
+ (temp = postFinder ? indexOf( seed, elem ) : preMap[i]) > -1 ) {
+
+ seed[temp] = !(results[temp] = elem);
+ }
+ }
+ }
+
+ // Add elements to results, through postFinder if defined
+ } else {
+ matcherOut = condense(
+ matcherOut === results ?
+ matcherOut.splice( preexisting, matcherOut.length ) :
+ matcherOut
+ );
+ if ( postFinder ) {
+ postFinder( null, results, matcherOut, xml );
+ } else {
+ push.apply( results, matcherOut );
+ }
+ }
+ });
+}
+
+function matcherFromTokens( tokens ) {
+ var checkContext, matcher, j,
+ len = tokens.length,
+ leadingRelative = Expr.relative[ tokens[0].type ],
+ implicitRelative = leadingRelative || Expr.relative[" "],
+ i = leadingRelative ? 1 : 0,
+
+ // The foundational matcher ensures that elements are reachable from top-level context(s)
+ matchContext = addCombinator( function( elem ) {
+ return elem === checkContext;
+ }, implicitRelative, true ),
+ matchAnyContext = addCombinator( function( elem ) {
+ return indexOf( checkContext, elem ) > -1;
+ }, implicitRelative, true ),
+ matchers = [ function( elem, context, xml ) {
+ var ret = ( !leadingRelative && ( xml || context !== outermostContext ) ) || (
+ (checkContext = context).nodeType ?
+ matchContext( elem, context, xml ) :
+ matchAnyContext( elem, context, xml ) );
+ // Avoid hanging onto element (issue #299)
+ checkContext = null;
+ return ret;
+ } ];
+
+ for ( ; i < len; i++ ) {
+ if ( (matcher = Expr.relative[ tokens[i].type ]) ) {
+ matchers = [ addCombinator(elementMatcher( matchers ), matcher) ];
+ } else {
+ matcher = Expr.filter[ tokens[i].type ].apply( null, tokens[i].matches );
+
+ // Return special upon seeing a positional matcher
+ if ( matcher[ expando ] ) {
+ // Find the next relative operator (if any) for proper handling
+ j = ++i;
+ for ( ; j < len; j++ ) {
+ if ( Expr.relative[ tokens[j].type ] ) {
+ break;
+ }
+ }
+ return setMatcher(
+ i > 1 && elementMatcher( matchers ),
+ i > 1 && toSelector(
+ // If the preceding token was a descendant combinator, insert an implicit any-element `*`
+ tokens.slice( 0, i - 1 ).concat({ value: tokens[ i - 2 ].type === " " ? "*" : "" })
+ ).replace( rtrim, "$1" ),
+ matcher,
+ i < j && matcherFromTokens( tokens.slice( i, j ) ),
+ j < len && matcherFromTokens( (tokens = tokens.slice( j )) ),
+ j < len && toSelector( tokens )
+ );
+ }
+ matchers.push( matcher );
+ }
+ }
+
+ return elementMatcher( matchers );
+}
+
+function matcherFromGroupMatchers( elementMatchers, setMatchers ) {
+ var bySet = setMatchers.length > 0,
+ byElement = elementMatchers.length > 0,
+ superMatcher = function( seed, context, xml, results, outermost ) {
+ var elem, j, matcher,
+ matchedCount = 0,
+ i = "0",
+ unmatched = seed && [],
+ setMatched = [],
+ contextBackup = outermostContext,
+ // We must always have either seed elements or outermost context
+ elems = seed || byElement && Expr.find["TAG"]( "*", outermost ),
+ // Use integer dirruns iff this is the outermost matcher
+ dirrunsUnique = (dirruns += contextBackup == null ? 1 : Math.random() || 0.1),
+ len = elems.length;
+
+ if ( outermost ) {
+ outermostContext = context === document || context || outermost;
+ }
+
+ // Add elements passing elementMatchers directly to results
+ // Support: IE<9, Safari
+ // Tolerate NodeList properties (IE: "length"; Safari: <number>) matching elements by id
+ for ( ; i !== len && (elem = elems[i]) != null; i++ ) {
+ if ( byElement && elem ) {
+ j = 0;
+ if ( !context && elem.ownerDocument !== document ) {
+ setDocument( elem );
+ xml = !documentIsHTML;
+ }
+ while ( (matcher = elementMatchers[j++]) ) {
+ if ( matcher( elem, context || document, xml) ) {
+ results.push( elem );
+ break;
+ }
+ }
+ if ( outermost ) {
+ dirruns = dirrunsUnique;
+ }
+ }
+
+ // Track unmatched elements for set filters
+ if ( bySet ) {
+ // They will have gone through all possible matchers
+ if ( (elem = !matcher && elem) ) {
+ matchedCount--;
+ }
+
+ // Lengthen the array for every element, matched or not
+ if ( seed ) {
+ unmatched.push( elem );
+ }
+ }
+ }
+
+ // `i` is now the count of elements visited above, and adding it to `matchedCount`
+ // makes the latter nonnegative.
+ matchedCount += i;
+
+ // Apply set filters to unmatched elements
+ // NOTE: This can be skipped if there are no unmatched elements (i.e., `matchedCount`
+ // equals `i`), unless we didn't visit _any_ elements in the above loop because we have
+ // no element matchers and no seed.
+ // Incrementing an initially-string "0" `i` allows `i` to remain a string only in that
+ // case, which will result in a "00" `matchedCount` that differs from `i` but is also
+ // numerically zero.
+ if ( bySet && i !== matchedCount ) {
+ j = 0;
+ while ( (matcher = setMatchers[j++]) ) {
+ matcher( unmatched, setMatched, context, xml );
+ }
+
+ if ( seed ) {
+ // Reintegrate element matches to eliminate the need for sorting
+ if ( matchedCount > 0 ) {
+ while ( i-- ) {
+ if ( !(unmatched[i] || setMatched[i]) ) {
+ setMatched[i] = pop.call( results );
+ }
+ }
+ }
+
+ // Discard index placeholder values to get only actual matches
+ setMatched = condense( setMatched );
+ }
+
+ // Add matches to results
+ push.apply( results, setMatched );
+
+ // Seedless set matches succeeding multiple successful matchers stipulate sorting
+ if ( outermost && !seed && setMatched.length > 0 &&
+ ( matchedCount + setMatchers.length ) > 1 ) {
+
+ Sizzle.uniqueSort( results );
+ }
+ }
+
+ // Override manipulation of globals by nested matchers
+ if ( outermost ) {
+ dirruns = dirrunsUnique;
+ outermostContext = contextBackup;
+ }
+
+ return unmatched;
+ };
+
+ return bySet ?
+ markFunction( superMatcher ) :
+ superMatcher;
+}
+
+compile = Sizzle.compile = function( selector, match /* Internal Use Only */ ) {
+ var i,
+ setMatchers = [],
+ elementMatchers = [],
+ cached = compilerCache[ selector + " " ];
+
+ if ( !cached ) {
+ // Generate a function of recursive functions that can be used to check each element
+ if ( !match ) {
+ match = tokenize( selector );
+ }
+ i = match.length;
+ while ( i-- ) {
+ cached = matcherFromTokens( match[i] );
+ if ( cached[ expando ] ) {
+ setMatchers.push( cached );
+ } else {
+ elementMatchers.push( cached );
+ }
+ }
+
+ // Cache the compiled function
+ cached = compilerCache( selector, matcherFromGroupMatchers( elementMatchers, setMatchers ) );
+
+ // Save selector and tokenization
+ cached.selector = selector;
+ }
+ return cached;
+};
+
+/**
+ * A low-level selection function that works with Sizzle's compiled
+ * selector functions
+ * @param {String|Function} selector A selector or a pre-compiled
+ * selector function built with Sizzle.compile
+ * @param {Element} context
+ * @param {Array} [results]
+ * @param {Array} [seed] A set of elements to match against
+ */
+select = Sizzle.select = function( selector, context, results, seed ) {
+ var i, tokens, token, type, find,
+ compiled = typeof selector === "function" && selector,
+ match = !seed && tokenize( (selector = compiled.selector || selector) );
+
+ results = results || [];
+
+ // Try to minimize operations if there is only one selector in the list and no seed
+ // (the latter of which guarantees us context)
+ if ( match.length === 1 ) {
+
+ // Reduce context if the leading compound selector is an ID
+ tokens = match[0] = match[0].slice( 0 );
+ if ( tokens.length > 2 && (token = tokens[0]).type === "ID" &&
+ support.getById && context.nodeType === 9 && documentIsHTML &&
+ Expr.relative[ tokens[1].type ] ) {
+
+ context = ( Expr.find["ID"]( token.matches[0].replace(runescape, funescape), context ) || [] )[0];
+ if ( !context ) {
+ return results;
+
+ // Precompiled matchers will still verify ancestry, so step up a level
+ } else if ( compiled ) {
+ context = context.parentNode;
+ }
+
+ selector = selector.slice( tokens.shift().value.length );
+ }
+
+ // Fetch a seed set for right-to-left matching
+ i = matchExpr["needsContext"].test( selector ) ? 0 : tokens.length;
+ while ( i-- ) {
+ token = tokens[i];
+
+ // Abort if we hit a combinator
+ if ( Expr.relative[ (type = token.type) ] ) {
+ break;
+ }
+ if ( (find = Expr.find[ type ]) ) {
+ // Search, expanding context for leading sibling combinators
+ if ( (seed = find(
+ token.matches[0].replace( runescape, funescape ),
+ rsibling.test( tokens[0].type ) && testContext( context.parentNode ) || context
+ )) ) {
+
+ // If seed is empty or no tokens remain, we can return early
+ tokens.splice( i, 1 );
+ selector = seed.length && toSelector( tokens );
+ if ( !selector ) {
+ push.apply( results, seed );
+ return results;
+ }
+
+ break;
+ }
+ }
+ }
+ }
+
+ // Compile and execute a filtering function if one is not provided
+ // Provide `match` to avoid retokenization if we modified the selector above
+ ( compiled || compile( selector, match ) )(
+ seed,
+ context,
+ !documentIsHTML,
+ results,
+ !context || rsibling.test( selector ) && testContext( context.parentNode ) || context
+ );
+ return results;
+};
+
+// One-time assignments
+
+// Sort stability
+support.sortStable = expando.split("").sort( sortOrder ).join("") === expando;
+
+// Support: Chrome 14-35+
+// Always assume duplicates if they aren't passed to the comparison function
+support.detectDuplicates = !!hasDuplicate;
+
+// Initialize against the default document
+setDocument();
+
+// Support: Webkit<537.32 - Safari 6.0.3/Chrome 25 (fixed in Chrome 27)
+// Detached nodes confoundingly follow *each other*
+support.sortDetached = assert(function( div1 ) {
+ // Should return 1, but returns 4 (following)
+ return div1.compareDocumentPosition( document.createElement("div") ) & 1;
+});
+
+// Support: IE<8
+// Prevent attribute/property "interpolation"
+// http://msdn.microsoft.com/en-us/library/ms536429%28VS.85%29.aspx
+if ( !assert(function( div ) {
+ div.innerHTML = "<a href='#'></a>";
+ return div.firstChild.getAttribute("href") === "#" ;
+}) ) {
+ addHandle( "type|href|height|width", function( elem, name, isXML ) {
+ if ( !isXML ) {
+ return elem.getAttribute( name, name.toLowerCase() === "type" ? 1 : 2 );
+ }
+ });
+}
+
+// Support: IE<9
+// Use defaultValue in place of getAttribute("value")
+if ( !support.attributes || !assert(function( div ) {
+ div.innerHTML = "<input/>";
+ div.firstChild.setAttribute( "value", "" );
+ return div.firstChild.getAttribute( "value" ) === "";
+}) ) {
+ addHandle( "value", function( elem, name, isXML ) {
+ if ( !isXML && elem.nodeName.toLowerCase() === "input" ) {
+ return elem.defaultValue;
+ }
+ });
+}
+
+// Support: IE<9
+// Use getAttributeNode to fetch booleans when getAttribute lies
+if ( !assert(function( div ) {
+ return div.getAttribute("disabled") == null;
+}) ) {
+ addHandle( booleans, function( elem, name, isXML ) {
+ var val;
+ if ( !isXML ) {
+ return elem[ name ] === true ? name.toLowerCase() :
+ (val = elem.getAttributeNode( name )) && val.specified ?
+ val.value :
+ null;
+ }
+ });
+}
+
+return Sizzle;
+
+})( window );
+
+
+
+jQuery.find = Sizzle;
+jQuery.expr = Sizzle.selectors;
+jQuery.expr[ ":" ] = jQuery.expr.pseudos;
+jQuery.uniqueSort = jQuery.unique = Sizzle.uniqueSort;
+jQuery.text = Sizzle.getText;
+jQuery.isXMLDoc = Sizzle.isXML;
+jQuery.contains = Sizzle.contains;
+
+
+
+var dir = function( elem, dir, until ) {
+ var matched = [],
+ truncate = until !== undefined;
+
+ while ( ( elem = elem[ dir ] ) && elem.nodeType !== 9 ) {
+ if ( elem.nodeType === 1 ) {
+ if ( truncate && jQuery( elem ).is( until ) ) {
+ break;
+ }
+ matched.push( elem );
+ }
+ }
+ return matched;
+};
+
+
+var siblings = function( n, elem ) {
+ var matched = [];
+
+ for ( ; n; n = n.nextSibling ) {
+ if ( n.nodeType === 1 && n !== elem ) {
+ matched.push( n );
+ }
+ }
+
+ return matched;
+};
+
+
+var rneedsContext = jQuery.expr.match.needsContext;
+
+var rsingleTag = ( /^<([\w-]+)\s*\/?>(?:<\/\1>|)$/ );
+
+
+
+var risSimple = /^.[^:#\[\.,]*$/;
+
+// Implement the identical functionality for filter and not
+function winnow( elements, qualifier, not ) {
+ if ( jQuery.isFunction( qualifier ) ) {
+ return jQuery.grep( elements, function( elem, i ) {
+ /* jshint -W018 */
+ return !!qualifier.call( elem, i, elem ) !== not;
+ } );
+
+ }
+
+ if ( qualifier.nodeType ) {
+ return jQuery.grep( elements, function( elem ) {
+ return ( elem === qualifier ) !== not;
+ } );
+
+ }
+
+ if ( typeof qualifier === "string" ) {
+ if ( risSimple.test( qualifier ) ) {
+ return jQuery.filter( qualifier, elements, not );
+ }
+
+ qualifier = jQuery.filter( qualifier, elements );
+ }
+
+ return jQuery.grep( elements, function( elem ) {
+ return ( indexOf.call( qualifier, elem ) > -1 ) !== not;
+ } );
+}
+
+jQuery.filter = function( expr, elems, not ) {
+ var elem = elems[ 0 ];
+
+ if ( not ) {
+ expr = ":not(" + expr + ")";
+ }
+
+ return elems.length === 1 && elem.nodeType === 1 ?
+ jQuery.find.matchesSelector( elem, expr ) ? [ elem ] : [] :
+ jQuery.find.matches( expr, jQuery.grep( elems, function( elem ) {
+ return elem.nodeType === 1;
+ } ) );
+};
+
+jQuery.fn.extend( {
+ find: function( selector ) {
+ var i,
+ len = this.length,
+ ret = [],
+ self = this;
+
+ if ( typeof selector !== "string" ) {
+ return this.pushStack( jQuery( selector ).filter( function() {
+ for ( i = 0; i < len; i++ ) {
+ if ( jQuery.contains( self[ i ], this ) ) {
+ return true;
+ }
+ }
+ } ) );
+ }
+
+ for ( i = 0; i < len; i++ ) {
+ jQuery.find( selector, self[ i ], ret );
+ }
+
+ // Needed because $( selector, context ) becomes $( context ).find( selector )
+ ret = this.pushStack( len > 1 ? jQuery.unique( ret ) : ret );
+ ret.selector = this.selector ? this.selector + " " + selector : selector;
+ return ret;
+ },
+ filter: function( selector ) {
+ return this.pushStack( winnow( this, selector || [], false ) );
+ },
+ not: function( selector ) {
+ return this.pushStack( winnow( this, selector || [], true ) );
+ },
+ is: function( selector ) {
+ return !!winnow(
+ this,
+
+ // If this is a positional/relative selector, check membership in the returned set
+ // so $("p:first").is("p:last") won't return true for a doc with two "p".
+ typeof selector === "string" && rneedsContext.test( selector ) ?
+ jQuery( selector ) :
+ selector || [],
+ false
+ ).length;
+ }
+} );
+
+
+// Initialize a jQuery object
+
+
+// A central reference to the root jQuery(document)
+var rootjQuery,
+
+ // A simple way to check for HTML strings
+ // Prioritize #id over <tag> to avoid XSS via location.hash (#9521)
+ // Strict HTML recognition (#11290: must start with <)
+ rquickExpr = /^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,
+
+ init = jQuery.fn.init = function( selector, context, root ) {
+ var match, elem;
+
+ // HANDLE: $(""), $(null), $(undefined), $(false)
+ if ( !selector ) {
+ return this;
+ }
+
+ // Method init() accepts an alternate rootjQuery
+ // so migrate can support jQuery.sub (gh-2101)
+ root = root || rootjQuery;
+
+ // Handle HTML strings
+ if ( typeof selector === "string" ) {
+ if ( selector[ 0 ] === "<" &&
+ selector[ selector.length - 1 ] === ">" &&
+ selector.length >= 3 ) {
+
+ // Assume that strings that start and end with <> are HTML and skip the regex check
+ match = [ null, selector, null ];
+
+ } else {
+ match = rquickExpr.exec( selector );
+ }
+
+ // Match html or make sure no context is specified for #id
+ if ( match && ( match[ 1 ] || !context ) ) {
+
+ // HANDLE: $(html) -> $(array)
+ if ( match[ 1 ] ) {
+ context = context instanceof jQuery ? context[ 0 ] : context;
+
+ // Option to run scripts is true for back-compat
+ // Intentionally let the error be thrown if parseHTML is not present
+ jQuery.merge( this, jQuery.parseHTML(
+ match[ 1 ],
+ context && context.nodeType ? context.ownerDocument || context : document,
+ true
+ ) );
+
+ // HANDLE: $(html, props)
+ if ( rsingleTag.test( match[ 1 ] ) && jQuery.isPlainObject( context ) ) {
+ for ( match in context ) {
+
+ // Properties of context are called as methods if possible
+ if ( jQuery.isFunction( this[ match ] ) ) {
+ this[ match ]( context[ match ] );
+
+ // ...and otherwise set as attributes
+ } else {
+ this.attr( match, context[ match ] );
+ }
+ }
+ }
+
+ return this;
+
+ // HANDLE: $(#id)
+ } else {
+ elem = document.getElementById( match[ 2 ] );
+
+ // Support: Blackberry 4.6
+ // gEBID returns nodes no longer in the document (#6963)
+ if ( elem && elem.parentNode ) {
+
+ // Inject the element directly into the jQuery object
+ this.length = 1;
+ this[ 0 ] = elem;
+ }
+
+ this.context = document;
+ this.selector = selector;
+ return this;
+ }
+
+ // HANDLE: $(expr, $(...))
+ } else if ( !context || context.jquery ) {
+ return ( context || root ).find( selector );
+
+ // HANDLE: $(expr, context)
+ // (which is just equivalent to: $(context).find(expr)
+ } else {
+ return this.constructor( context ).find( selector );
+ }
+
+ // HANDLE: $(DOMElement)
+ } else if ( selector.nodeType ) {
+ this.context = this[ 0 ] = selector;
+ this.length = 1;
+ return this;
+
+ // HANDLE: $(function)
+ // Shortcut for document ready
+ } else if ( jQuery.isFunction( selector ) ) {
+ return root.ready !== undefined ?
+ root.ready( selector ) :
+
+ // Execute immediately if ready is not present
+ selector( jQuery );
+ }
+
+ if ( selector.selector !== undefined ) {
+ this.selector = selector.selector;
+ this.context = selector.context;
+ }
+
+ return jQuery.makeArray( selector, this );
+ };
+
+// Give the init function the jQuery prototype for later instantiation
+init.prototype = jQuery.fn;
+
+// Initialize central reference
+rootjQuery = jQuery( document );
+
+
+var rparentsprev = /^(?:parents|prev(?:Until|All))/,
+
+ // Methods guaranteed to produce a unique set when starting from a unique set
+ guaranteedUnique = {
+ children: true,
+ contents: true,
+ next: true,
+ prev: true
+ };
+
+jQuery.fn.extend( {
+ has: function( target ) {
+ var targets = jQuery( target, this ),
+ l = targets.length;
+
+ return this.filter( function() {
+ var i = 0;
+ for ( ; i < l; i++ ) {
+ if ( jQuery.contains( this, targets[ i ] ) ) {
+ return true;
+ }
+ }
+ } );
+ },
+
+ closest: function( selectors, context ) {
+ var cur,
+ i = 0,
+ l = this.length,
+ matched = [],
+ pos = rneedsContext.test( selectors ) || typeof selectors !== "string" ?
+ jQuery( selectors, context || this.context ) :
+ 0;
+
+ for ( ; i < l; i++ ) {
+ for ( cur = this[ i ]; cur && cur !== context; cur = cur.parentNode ) {
+
+ // Always skip document fragments
+ if ( cur.nodeType < 11 && ( pos ?
+ pos.index( cur ) > -1 :
+
+ // Don't pass non-elements to Sizzle
+ cur.nodeType === 1 &&
+ jQuery.find.matchesSelector( cur, selectors ) ) ) {
+
+ matched.push( cur );
+ break;
+ }
+ }
+ }
+
+ return this.pushStack( matched.length > 1 ? jQuery.uniqueSort( matched ) : matched );
+ },
+
+ // Determine the position of an element within the set
+ index: function( elem ) {
+
+ // No argument, return index in parent
+ if ( !elem ) {
+ return ( this[ 0 ] && this[ 0 ].parentNode ) ? this.first().prevAll().length : -1;
+ }
+
+ // Index in selector
+ if ( typeof elem === "string" ) {
+ return indexOf.call( jQuery( elem ), this[ 0 ] );
+ }
+
+ // Locate the position of the desired element
+ return indexOf.call( this,
+
+ // If it receives a jQuery object, the first element is used
+ elem.jquery ? elem[ 0 ] : elem
+ );
+ },
+
+ add: function( selector, context ) {
+ return this.pushStack(
+ jQuery.uniqueSort(
+ jQuery.merge( this.get(), jQuery( selector, context ) )
+ )
+ );
+ },
+
+ addBack: function( selector ) {
+ return this.add( selector == null ?
+ this.prevObject : this.prevObject.filter( selector )
+ );
+ }
+} );
+
+function sibling( cur, dir ) {
+ while ( ( cur = cur[ dir ] ) && cur.nodeType !== 1 ) {}
+ return cur;
+}
+
+jQuery.each( {
+ parent: function( elem ) {
+ var parent = elem.parentNode;
+ return parent && parent.nodeType !== 11 ? parent : null;
+ },
+ parents: function( elem ) {
+ return dir( elem, "parentNode" );
+ },
+ parentsUntil: function( elem, i, until ) {
+ return dir( elem, "parentNode", until );
+ },
+ next: function( elem ) {
+ return sibling( elem, "nextSibling" );
+ },
+ prev: function( elem ) {
+ return sibling( elem, "previousSibling" );
+ },
+ nextAll: function( elem ) {
+ return dir( elem, "nextSibling" );
+ },
+ prevAll: function( elem ) {
+ return dir( elem, "previousSibling" );
+ },
+ nextUntil: function( elem, i, until ) {
+ return dir( elem, "nextSibling", until );
+ },
+ prevUntil: function( elem, i, until ) {
+ return dir( elem, "previousSibling", until );
+ },
+ siblings: function( elem ) {
+ return siblings( ( elem.parentNode || {} ).firstChild, elem );
+ },
+ children: function( elem ) {
+ return siblings( elem.firstChild );
+ },
+ contents: function( elem ) {
+ return elem.contentDocument || jQuery.merge( [], elem.childNodes );
+ }
+}, function( name, fn ) {
+ jQuery.fn[ name ] = function( until, selector ) {
+ var matched = jQuery.map( this, fn, until );
+
+ if ( name.slice( -5 ) !== "Until" ) {
+ selector = until;
+ }
+
+ if ( selector && typeof selector === "string" ) {
+ matched = jQuery.filter( selector, matched );
+ }
+
+ if ( this.length > 1 ) {
+
+ // Remove duplicates
+ if ( !guaranteedUnique[ name ] ) {
+ jQuery.uniqueSort( matched );
+ }
+
+ // Reverse order for parents* and prev-derivatives
+ if ( rparentsprev.test( name ) ) {
+ matched.reverse();
+ }
+ }
+
+ return this.pushStack( matched );
+ };
+} );
+var rnotwhite = ( /\S+/g );
+
+
+
+// Convert String-formatted options into Object-formatted ones
+function createOptions( options ) {
+ var object = {};
+ jQuery.each( options.match( rnotwhite ) || [], function( _, flag ) {
+ object[ flag ] = true;
+ } );
+ return object;
+}
+
+/*
+ * Create a callback list using the following parameters:
+ *
+ * options: an optional list of space-separated options that will change how
+ * the callback list behaves or a more traditional option object
+ *
+ * By default a callback list will act like an event callback list and can be
+ * "fired" multiple times.
+ *
+ * Possible options:
+ *
+ * once: will ensure the callback list can only be fired once (like a Deferred)
+ *
+ * memory: will keep track of previous values and will call any callback added
+ * after the list has been fired right away with the latest "memorized"
+ * values (like a Deferred)
+ *
+ * unique: will ensure a callback can only be added once (no duplicate in the list)
+ *
+ * stopOnFalse: interrupt callings when a callback returns false
+ *
+ */
+jQuery.Callbacks = function( options ) {
+
+ // Convert options from String-formatted to Object-formatted if needed
+ // (we check in cache first)
+ options = typeof options === "string" ?
+ createOptions( options ) :
+ jQuery.extend( {}, options );
+
+ var // Flag to know if list is currently firing
+ firing,
+
+ // Last fire value for non-forgettable lists
+ memory,
+
+ // Flag to know if list was already fired
+ fired,
+
+ // Flag to prevent firing
+ locked,
+
+ // Actual callback list
+ list = [],
+
+ // Queue of execution data for repeatable lists
+ queue = [],
+
+ // Index of currently firing callback (modified by add/remove as needed)
+ firingIndex = -1,
+
+ // Fire callbacks
+ fire = function() {
+
+ // Enforce single-firing
+ locked = options.once;
+
+ // Execute callbacks for all pending executions,
+ // respecting firingIndex overrides and runtime changes
+ fired = firing = true;
+ for ( ; queue.length; firingIndex = -1 ) {
+ memory = queue.shift();
+ while ( ++firingIndex < list.length ) {
+
+ // Run callback and check for early termination
+ if ( list[ firingIndex ].apply( memory[ 0 ], memory[ 1 ] ) === false &&
+ options.stopOnFalse ) {
+
+ // Jump to end and forget the data so .add doesn't re-fire
+ firingIndex = list.length;
+ memory = false;
+ }
+ }
+ }
+
+ // Forget the data if we're done with it
+ if ( !options.memory ) {
+ memory = false;
+ }
+
+ firing = false;
+
+ // Clean up if we're done firing for good
+ if ( locked ) {
+
+ // Keep an empty list if we have data for future add calls
+ if ( memory ) {
+ list = [];
+
+ // Otherwise, this object is spent
+ } else {
+ list = "";
+ }
+ }
+ },
+
+ // Actual Callbacks object
+ self = {
+
+ // Add a callback or a collection of callbacks to the list
+ add: function() {
+ if ( list ) {
+
+ // If we have memory from a past run, we should fire after adding
+ if ( memory && !firing ) {
+ firingIndex = list.length - 1;
+ queue.push( memory );
+ }
+
+ ( function add( args ) {
+ jQuery.each( args, function( _, arg ) {
+ if ( jQuery.isFunction( arg ) ) {
+ if ( !options.unique || !self.has( arg ) ) {
+ list.push( arg );
+ }
+ } else if ( arg && arg.length && jQuery.type( arg ) !== "string" ) {
+
+ // Inspect recursively
+ add( arg );
+ }
+ } );
+ } )( arguments );
+
+ if ( memory && !firing ) {
+ fire();
+ }
+ }
+ return this;
+ },
+
+ // Remove a callback from the list
+ remove: function() {
+ jQuery.each( arguments, function( _, arg ) {
+ var index;
+ while ( ( index = jQuery.inArray( arg, list, index ) ) > -1 ) {
+ list.splice( index, 1 );
+
+ // Handle firing indexes
+ if ( index <= firingIndex ) {
+ firingIndex--;
+ }
+ }
+ } );
+ return this;
+ },
+
+ // Check if a given callback is in the list.
+ // If no argument is given, return whether or not list has callbacks attached.
+ has: function( fn ) {
+ return fn ?
+ jQuery.inArray( fn, list ) > -1 :
+ list.length > 0;
+ },
+
+ // Remove all callbacks from the list
+ empty: function() {
+ if ( list ) {
+ list = [];
+ }
+ return this;
+ },
+
+ // Disable .fire and .add
+ // Abort any current/pending executions
+ // Clear all callbacks and values
+ disable: function() {
+ locked = queue = [];
+ list = memory = "";
+ return this;
+ },
+ disabled: function() {
+ return !list;
+ },
+
+ // Disable .fire
+ // Also disable .add unless we have memory (since it would have no effect)
+ // Abort any pending executions
+ lock: function() {
+ locked = queue = [];
+ if ( !memory ) {
+ list = memory = "";
+ }
+ return this;
+ },
+ locked: function() {
+ return !!locked;
+ },
+
+ // Call all callbacks with the given context and arguments
+ fireWith: function( context, args ) {
+ if ( !locked ) {
+ args = args || [];
+ args = [ context, args.slice ? args.slice() : args ];
+ queue.push( args );
+ if ( !firing ) {
+ fire();
+ }
+ }
+ return this;
+ },
+
+ // Call all the callbacks with the given arguments
+ fire: function() {
+ self.fireWith( this, arguments );
+ return this;
+ },
+
+ // To know if the callbacks have already been called at least once
+ fired: function() {
+ return !!fired;
+ }
+ };
+
+ return self;
+};
+
+
+jQuery.extend( {
+
+ Deferred: function( func ) {
+ var tuples = [
+
+ // action, add listener, listener list, final state
+ [ "resolve", "done", jQuery.Callbacks( "once memory" ), "resolved" ],
+ [ "reject", "fail", jQuery.Callbacks( "once memory" ), "rejected" ],
+ [ "notify", "progress", jQuery.Callbacks( "memory" ) ]
+ ],
+ state = "pending",
+ promise = {
+ state: function() {
+ return state;
+ },
+ always: function() {
+ deferred.done( arguments ).fail( arguments );
+ return this;
+ },
+ then: function( /* fnDone, fnFail, fnProgress */ ) {
+ var fns = arguments;
+ return jQuery.Deferred( function( newDefer ) {
+ jQuery.each( tuples, function( i, tuple ) {
+ var fn = jQuery.isFunction( fns[ i ] ) && fns[ i ];
+
+ // deferred[ done | fail | progress ] for forwarding actions to newDefer
+ deferred[ tuple[ 1 ] ]( function() {
+ var returned = fn && fn.apply( this, arguments );
+ if ( returned && jQuery.isFunction( returned.promise ) ) {
+ returned.promise()
+ .progress( newDefer.notify )
+ .done( newDefer.resolve )
+ .fail( newDefer.reject );
+ } else {
+ newDefer[ tuple[ 0 ] + "With" ](
+ this === promise ? newDefer.promise() : this,
+ fn ? [ returned ] : arguments
+ );
+ }
+ } );
+ } );
+ fns = null;
+ } ).promise();
+ },
+
+ // Get a promise for this deferred
+ // If obj is provided, the promise aspect is added to the object
+ promise: function( obj ) {
+ return obj != null ? jQuery.extend( obj, promise ) : promise;
+ }
+ },
+ deferred = {};
+
+ // Keep pipe for back-compat
+ promise.pipe = promise.then;
+
+ // Add list-specific methods
+ jQuery.each( tuples, function( i, tuple ) {
+ var list = tuple[ 2 ],
+ stateString = tuple[ 3 ];
+
+ // promise[ done | fail | progress ] = list.add
+ promise[ tuple[ 1 ] ] = list.add;
+
+ // Handle state
+ if ( stateString ) {
+ list.add( function() {
+
+ // state = [ resolved | rejected ]
+ state = stateString;
+
+ // [ reject_list | resolve_list ].disable; progress_list.lock
+ }, tuples[ i ^ 1 ][ 2 ].disable, tuples[ 2 ][ 2 ].lock );
+ }
+
+ // deferred[ resolve | reject | notify ]
+ deferred[ tuple[ 0 ] ] = function() {
+ deferred[ tuple[ 0 ] + "With" ]( this === deferred ? promise : this, arguments );
+ return this;
+ };
+ deferred[ tuple[ 0 ] + "With" ] = list.fireWith;
+ } );
+
+ // Make the deferred a promise
+ promise.promise( deferred );
+
+ // Call given func if any
+ if ( func ) {
+ func.call( deferred, deferred );
+ }
+
+ // All done!
+ return deferred;
+ },
+
+ // Deferred helper
+ when: function( subordinate /* , ..., subordinateN */ ) {
+ var i = 0,
+ resolveValues = slice.call( arguments ),
+ length = resolveValues.length,
+
+ // the count of uncompleted subordinates
+ remaining = length !== 1 ||
+ ( subordinate && jQuery.isFunction( subordinate.promise ) ) ? length : 0,
+
+ // the master Deferred.
+ // If resolveValues consist of only a single Deferred, just use that.
+ deferred = remaining === 1 ? subordinate : jQuery.Deferred(),
+
+ // Update function for both resolve and progress values
+ updateFunc = function( i, contexts, values ) {
+ return function( value ) {
+ contexts[ i ] = this;
+ values[ i ] = arguments.length > 1 ? slice.call( arguments ) : value;
+ if ( values === progressValues ) {
+ deferred.notifyWith( contexts, values );
+ } else if ( !( --remaining ) ) {
+ deferred.resolveWith( contexts, values );
+ }
+ };
+ },
+
+ progressValues, progressContexts, resolveContexts;
+
+ // Add listeners to Deferred subordinates; treat others as resolved
+ if ( length > 1 ) {
+ progressValues = new Array( length );
+ progressContexts = new Array( length );
+ resolveContexts = new Array( length );
+ for ( ; i < length; i++ ) {
+ if ( resolveValues[ i ] && jQuery.isFunction( resolveValues[ i ].promise ) ) {
+ resolveValues[ i ].promise()
+ .progress( updateFunc( i, progressContexts, progressValues ) )
+ .done( updateFunc( i, resolveContexts, resolveValues ) )
+ .fail( deferred.reject );
+ } else {
+ --remaining;
+ }
+ }
+ }
+
+ // If we're not waiting on anything, resolve the master
+ if ( !remaining ) {
+ deferred.resolveWith( resolveContexts, resolveValues );
+ }
+
+ return deferred.promise();
+ }
+} );
+
+
+// The deferred used on DOM ready
+var readyList;
+
+jQuery.fn.ready = function( fn ) {
+
+ // Add the callback
+ jQuery.ready.promise().done( fn );
+
+ return this;
+};
+
+jQuery.extend( {
+
+ // Is the DOM ready to be used? Set to true once it occurs.
+ isReady: false,
+
+ // A counter to track how many items to wait for before
+ // the ready event fires. See #6781
+ readyWait: 1,
+
+ // Hold (or release) the ready event
+ holdReady: function( hold ) {
+ if ( hold ) {
+ jQuery.readyWait++;
+ } else {
+ jQuery.ready( true );
+ }
+ },
+
+ // Handle when the DOM is ready
+ ready: function( wait ) {
+
+ // Abort if there are pending holds or we're already ready
+ if ( wait === true ? --jQuery.readyWait : jQuery.isReady ) {
+ return;
+ }
+
+ // Remember that the DOM is ready
+ jQuery.isReady = true;
+
+ // If a normal DOM Ready event fired, decrement, and wait if need be
+ if ( wait !== true && --jQuery.readyWait > 0 ) {
+ return;
+ }
+
+ // If there are functions bound, to execute
+ readyList.resolveWith( document, [ jQuery ] );
+
+ // Trigger any bound ready events
+ if ( jQuery.fn.triggerHandler ) {
+ jQuery( document ).triggerHandler( "ready" );
+ jQuery( document ).off( "ready" );
+ }
+ }
+} );
+
+/**
+ * The ready event handler and self cleanup method
+ */
+function completed() {
+ document.removeEventListener( "DOMContentLoaded", completed );
+ window.removeEventListener( "load", completed );
+ jQuery.ready();
+}
+
+jQuery.ready.promise = function( obj ) {
+ if ( !readyList ) {
+
+ readyList = jQuery.Deferred();
+
+ // Catch cases where $(document).ready() is called
+ // after the browser event has already occurred.
+ // Support: IE9-10 only
+ // Older IE sometimes signals "interactive" too soon
+ if ( document.readyState === "complete" ||
+ ( document.readyState !== "loading" && !document.documentElement.doScroll ) ) {
+
+ // Handle it asynchronously to allow scripts the opportunity to delay ready
+ window.setTimeout( jQuery.ready );
+
+ } else {
+
+ // Use the handy event callback
+ document.addEventListener( "DOMContentLoaded", completed );
+
+ // A fallback to window.onload, that will always work
+ window.addEventListener( "load", completed );
+ }
+ }
+ return readyList.promise( obj );
+};
+
+// Kick off the DOM ready check even if the user does not
+jQuery.ready.promise();
+
+
+
+
+// Multifunctional method to get and set values of a collection
+// The value/s can optionally be executed if it's a function
+var access = function( elems, fn, key, value, chainable, emptyGet, raw ) {
+ var i = 0,
+ len = elems.length,
+ bulk = key == null;
+
+ // Sets many values
+ if ( jQuery.type( key ) === "object" ) {
+ chainable = true;
+ for ( i in key ) {
+ access( elems, fn, i, key[ i ], true, emptyGet, raw );
+ }
+
+ // Sets one value
+ } else if ( value !== undefined ) {
+ chainable = true;
+
+ if ( !jQuery.isFunction( value ) ) {
+ raw = true;
+ }
+
+ if ( bulk ) {
+
+ // Bulk operations run against the entire set
+ if ( raw ) {
+ fn.call( elems, value );
+ fn = null;
+
+ // ...except when executing function values
+ } else {
+ bulk = fn;
+ fn = function( elem, key, value ) {
+ return bulk.call( jQuery( elem ), value );
+ };
+ }
+ }
+
+ if ( fn ) {
+ for ( ; i < len; i++ ) {
+ fn(
+ elems[ i ], key, raw ?
+ value :
+ value.call( elems[ i ], i, fn( elems[ i ], key ) )
+ );
+ }
+ }
+ }
+
+ return chainable ?
+ elems :
+
+ // Gets
+ bulk ?
+ fn.call( elems ) :
+ len ? fn( elems[ 0 ], key ) : emptyGet;
+};
+var acceptData = function( owner ) {
+
+ // Accepts only:
+ // - Node
+ // - Node.ELEMENT_NODE
+ // - Node.DOCUMENT_NODE
+ // - Object
+ // - Any
+ /* jshint -W018 */
+ return owner.nodeType === 1 || owner.nodeType === 9 || !( +owner.nodeType );
+};
+
+
+
+
+function Data() {
+ this.expando = jQuery.expando + Data.uid++;
+}
+
+Data.uid = 1;
+
+Data.prototype = {
+
+ register: function( owner, initial ) {
+ var value = initial || {};
+
+ // If it is a node unlikely to be stringify-ed or looped over
+ // use plain assignment
+ if ( owner.nodeType ) {
+ owner[ this.expando ] = value;
+
+ // Otherwise secure it in a non-enumerable, non-writable property
+ // configurability must be true to allow the property to be
+ // deleted with the delete operator
+ } else {
+ Object.defineProperty( owner, this.expando, {
+ value: value,
+ writable: true,
+ configurable: true
+ } );
+ }
+ return owner[ this.expando ];
+ },
+ cache: function( owner ) {
+
+ // We can accept data for non-element nodes in modern browsers,
+ // but we should not, see #8335.
+ // Always return an empty object.
+ if ( !acceptData( owner ) ) {
+ return {};
+ }
+
+ // Check if the owner object already has a cache
+ var value = owner[ this.expando ];
+
+ // If not, create one
+ if ( !value ) {
+ value = {};
+
+ // We can accept data for non-element nodes in modern browsers,
+ // but we should not, see #8335.
+ // Always return an empty object.
+ if ( acceptData( owner ) ) {
+
+ // If it is a node unlikely to be stringify-ed or looped over
+ // use plain assignment
+ if ( owner.nodeType ) {
+ owner[ this.expando ] = value;
+
+ // Otherwise secure it in a non-enumerable property
+ // configurable must be true to allow the property to be
+ // deleted when data is removed
+ } else {
+ Object.defineProperty( owner, this.expando, {
+ value: value,
+ configurable: true
+ } );
+ }
+ }
+ }
+
+ return value;
+ },
+ set: function( owner, data, value ) {
+ var prop,
+ cache = this.cache( owner );
+
+ // Handle: [ owner, key, value ] args
+ if ( typeof data === "string" ) {
+ cache[ data ] = value;
+
+ // Handle: [ owner, { properties } ] args
+ } else {
+
+ // Copy the properties one-by-one to the cache object
+ for ( prop in data ) {
+ cache[ prop ] = data[ prop ];
+ }
+ }
+ return cache;
+ },
+ get: function( owner, key ) {
+ return key === undefined ?
+ this.cache( owner ) :
+ owner[ this.expando ] && owner[ this.expando ][ key ];
+ },
+ access: function( owner, key, value ) {
+ var stored;
+
+ // In cases where either:
+ //
+ // 1. No key was specified
+ // 2. A string key was specified, but no value provided
+ //
+ // Take the "read" path and allow the get method to determine
+ // which value to return, respectively either:
+ //
+ // 1. The entire cache object
+ // 2. The data stored at the key
+ //
+ if ( key === undefined ||
+ ( ( key && typeof key === "string" ) && value === undefined ) ) {
+
+ stored = this.get( owner, key );
+
+ return stored !== undefined ?
+ stored : this.get( owner, jQuery.camelCase( key ) );
+ }
+
+ // When the key is not a string, or both a key and value
+ // are specified, set or extend (existing objects) with either:
+ //
+ // 1. An object of properties
+ // 2. A key and value
+ //
+ this.set( owner, key, value );
+
+ // Since the "set" path can have two possible entry points
+ // return the expected data based on which path was taken[*]
+ return value !== undefined ? value : key;
+ },
+ remove: function( owner, key ) {
+ var i, name, camel,
+ cache = owner[ this.expando ];
+
+ if ( cache === undefined ) {
+ return;
+ }
+
+ if ( key === undefined ) {
+ this.register( owner );
+
+ } else {
+
+ // Support array or space separated string of keys
+ if ( jQuery.isArray( key ) ) {
+
+ // If "name" is an array of keys...
+ // When data is initially created, via ("key", "val") signature,
+ // keys will be converted to camelCase.
+ // Since there is no way to tell _how_ a key was added, remove
+ // both plain key and camelCase key. #12786
+ // This will only penalize the array argument path.
+ name = key.concat( key.map( jQuery.camelCase ) );
+ } else {
+ camel = jQuery.camelCase( key );
+
+ // Try the string as a key before any manipulation
+ if ( key in cache ) {
+ name = [ key, camel ];
+ } else {
+
+ // If a key with the spaces exists, use it.
+ // Otherwise, create an array by matching non-whitespace
+ name = camel;
+ name = name in cache ?
+ [ name ] : ( name.match( rnotwhite ) || [] );
+ }
+ }
+
+ i = name.length;
+
+ while ( i-- ) {
+ delete cache[ name[ i ] ];
+ }
+ }
+
+ // Remove the expando if there's no more data
+ if ( key === undefined || jQuery.isEmptyObject( cache ) ) {
+
+ // Support: Chrome <= 35-45+
+ // Webkit & Blink performance suffers when deleting properties
+ // from DOM nodes, so set to undefined instead
+ // https://code.google.com/p/chromium/issues/detail?id=378607
+ if ( owner.nodeType ) {
+ owner[ this.expando ] = undefined;
+ } else {
+ delete owner[ this.expando ];
+ }
+ }
+ },
+ hasData: function( owner ) {
+ var cache = owner[ this.expando ];
+ return cache !== undefined && !jQuery.isEmptyObject( cache );
+ }
+};
+var dataPriv = new Data();
+
+var dataUser = new Data();
+
+
+
+// Implementation Summary
+//
+// 1. Enforce API surface and semantic compatibility with 1.9.x branch
+// 2. Improve the module's maintainability by reducing the storage
+// paths to a single mechanism.
+// 3. Use the same single mechanism to support "private" and "user" data.
+// 4. _Never_ expose "private" data to user code (TODO: Drop _data, _removeData)
+// 5. Avoid exposing implementation details on user objects (eg. expando properties)
+// 6. Provide a clear path for implementation upgrade to WeakMap in 2014
+
+var rbrace = /^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,
+ rmultiDash = /[A-Z]/g;
+
+function dataAttr( elem, key, data ) {
+ var name;
+
+ // If nothing was found internally, try to fetch any
+ // data from the HTML5 data-* attribute
+ if ( data === undefined && elem.nodeType === 1 ) {
+ name = "data-" + key.replace( rmultiDash, "-$&" ).toLowerCase();
+ data = elem.getAttribute( name );
+
+ if ( typeof data === "string" ) {
+ try {
+ data = data === "true" ? true :
+ data === "false" ? false :
+ data === "null" ? null :
+
+ // Only convert to a number if it doesn't change the string
+ +data + "" === data ? +data :
+ rbrace.test( data ) ? jQuery.parseJSON( data ) :
+ data;
+ } catch ( e ) {}
+
+ // Make sure we set the data so it isn't changed later
+ dataUser.set( elem, key, data );
+ } else {
+ data = undefined;
+ }
+ }
+ return data;
+}
+
+jQuery.extend( {
+ hasData: function( elem ) {
+ return dataUser.hasData( elem ) || dataPriv.hasData( elem );
+ },
+
+ data: function( elem, name, data ) {
+ return dataUser.access( elem, name, data );
+ },
+
+ removeData: function( elem, name ) {
+ dataUser.remove( elem, name );
+ },
+
+ // TODO: Now that all calls to _data and _removeData have been replaced
+ // with direct calls to dataPriv methods, these can be deprecated.
+ _data: function( elem, name, data ) {
+ return dataPriv.access( elem, name, data );
+ },
+
+ _removeData: function( elem, name ) {
+ dataPriv.remove( elem, name );
+ }
+} );
+
+jQuery.fn.extend( {
+ data: function( key, value ) {
+ var i, name, data,
+ elem = this[ 0 ],
+ attrs = elem && elem.attributes;
+
+ // Gets all values
+ if ( key === undefined ) {
+ if ( this.length ) {
+ data = dataUser.get( elem );
+
+ if ( elem.nodeType === 1 && !dataPriv.get( elem, "hasDataAttrs" ) ) {
+ i = attrs.length;
+ while ( i-- ) {
+
+ // Support: IE11+
+ // The attrs elements can be null (#14894)
+ if ( attrs[ i ] ) {
+ name = attrs[ i ].name;
+ if ( name.indexOf( "data-" ) === 0 ) {
+ name = jQuery.camelCase( name.slice( 5 ) );
+ dataAttr( elem, name, data[ name ] );
+ }
+ }
+ }
+ dataPriv.set( elem, "hasDataAttrs", true );
+ }
+ }
+
+ return data;
+ }
+
+ // Sets multiple values
+ if ( typeof key === "object" ) {
+ return this.each( function() {
+ dataUser.set( this, key );
+ } );
+ }
+
+ return access( this, function( value ) {
+ var data, camelKey;
+
+ // The calling jQuery object (element matches) is not empty
+ // (and therefore has an element appears at this[ 0 ]) and the
+ // `value` parameter was not undefined. An empty jQuery object
+ // will result in `undefined` for elem = this[ 0 ] which will
+ // throw an exception if an attempt to read a data cache is made.
+ if ( elem && value === undefined ) {
+
+ // Attempt to get data from the cache
+ // with the key as-is
+ data = dataUser.get( elem, key ) ||
+
+ // Try to find dashed key if it exists (gh-2779)
+ // This is for 2.2.x only
+ dataUser.get( elem, key.replace( rmultiDash, "-$&" ).toLowerCase() );
+
+ if ( data !== undefined ) {
+ return data;
+ }
+
+ camelKey = jQuery.camelCase( key );
+
+ // Attempt to get data from the cache
+ // with the key camelized
+ data = dataUser.get( elem, camelKey );
+ if ( data !== undefined ) {
+ return data;
+ }
+
+ // Attempt to "discover" the data in
+ // HTML5 custom data-* attrs
+ data = dataAttr( elem, camelKey, undefined );
+ if ( data !== undefined ) {
+ return data;
+ }
+
+ // We tried really hard, but the data doesn't exist.
+ return;
+ }
+
+ // Set the data...
+ camelKey = jQuery.camelCase( key );
+ this.each( function() {
+
+ // First, attempt to store a copy or reference of any
+ // data that might've been store with a camelCased key.
+ var data = dataUser.get( this, camelKey );
+
+ // For HTML5 data-* attribute interop, we have to
+ // store property names with dashes in a camelCase form.
+ // This might not apply to all properties...*
+ dataUser.set( this, camelKey, value );
+
+ // *... In the case of properties that might _actually_
+ // have dashes, we need to also store a copy of that
+ // unchanged property.
+ if ( key.indexOf( "-" ) > -1 && data !== undefined ) {
+ dataUser.set( this, key, value );
+ }
+ } );
+ }, null, value, arguments.length > 1, null, true );
+ },
+
+ removeData: function( key ) {
+ return this.each( function() {
+ dataUser.remove( this, key );
+ } );
+ }
+} );
+
+
+jQuery.extend( {
+ queue: function( elem, type, data ) {
+ var queue;
+
+ if ( elem ) {
+ type = ( type || "fx" ) + "queue";
+ queue = dataPriv.get( elem, type );
+
+ // Speed up dequeue by getting out quickly if this is just a lookup
+ if ( data ) {
+ if ( !queue || jQuery.isArray( data ) ) {
+ queue = dataPriv.access( elem, type, jQuery.makeArray( data ) );
+ } else {
+ queue.push( data );
+ }
+ }
+ return queue || [];
+ }
+ },
+
+ dequeue: function( elem, type ) {
+ type = type || "fx";
+
+ var queue = jQuery.queue( elem, type ),
+ startLength = queue.length,
+ fn = queue.shift(),
+ hooks = jQuery._queueHooks( elem, type ),
+ next = function() {
+ jQuery.dequeue( elem, type );
+ };
+
+ // If the fx queue is dequeued, always remove the progress sentinel
+ if ( fn === "inprogress" ) {
+ fn = queue.shift();
+ startLength--;
+ }
+
+ if ( fn ) {
+
+ // Add a progress sentinel to prevent the fx queue from being
+ // automatically dequeued
+ if ( type === "fx" ) {
+ queue.unshift( "inprogress" );
+ }
+
+ // Clear up the last queue stop function
+ delete hooks.stop;
+ fn.call( elem, next, hooks );
+ }
+
+ if ( !startLength && hooks ) {
+ hooks.empty.fire();
+ }
+ },
+
+ // Not public - generate a queueHooks object, or return the current one
+ _queueHooks: function( elem, type ) {
+ var key = type + "queueHooks";
+ return dataPriv.get( elem, key ) || dataPriv.access( elem, key, {
+ empty: jQuery.Callbacks( "once memory" ).add( function() {
+ dataPriv.remove( elem, [ type + "queue", key ] );
+ } )
+ } );
+ }
+} );
+
+jQuery.fn.extend( {
+ queue: function( type, data ) {
+ var setter = 2;
+
+ if ( typeof type !== "string" ) {
+ data = type;
+ type = "fx";
+ setter--;
+ }
+
+ if ( arguments.length < setter ) {
+ return jQuery.queue( this[ 0 ], type );
+ }
+
+ return data === undefined ?
+ this :
+ this.each( function() {
+ var queue = jQuery.queue( this, type, data );
+
+ // Ensure a hooks for this queue
+ jQuery._queueHooks( this, type );
+
+ if ( type === "fx" && queue[ 0 ] !== "inprogress" ) {
+ jQuery.dequeue( this, type );
+ }
+ } );
+ },
+ dequeue: function( type ) {
+ return this.each( function() {
+ jQuery.dequeue( this, type );
+ } );
+ },
+ clearQueue: function( type ) {
+ return this.queue( type || "fx", [] );
+ },
+
+ // Get a promise resolved when queues of a certain type
+ // are emptied (fx is the type by default)
+ promise: function( type, obj ) {
+ var tmp,
+ count = 1,
+ defer = jQuery.Deferred(),
+ elements = this,
+ i = this.length,
+ resolve = function() {
+ if ( !( --count ) ) {
+ defer.resolveWith( elements, [ elements ] );
+ }
+ };
+
+ if ( typeof type !== "string" ) {
+ obj = type;
+ type = undefined;
+ }
+ type = type || "fx";
+
+ while ( i-- ) {
+ tmp = dataPriv.get( elements[ i ], type + "queueHooks" );
+ if ( tmp && tmp.empty ) {
+ count++;
+ tmp.empty.add( resolve );
+ }
+ }
+ resolve();
+ return defer.promise( obj );
+ }
+} );
+var pnum = ( /[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/ ).source;
+
+var rcssNum = new RegExp( "^(?:([+-])=|)(" + pnum + ")([a-z%]*)$", "i" );
+
+
+var cssExpand = [ "Top", "Right", "Bottom", "Left" ];
+
+var isHidden = function( elem, el ) {
+
+ // isHidden might be called from jQuery#filter function;
+ // in that case, element will be second argument
+ elem = el || elem;
+ return jQuery.css( elem, "display" ) === "none" ||
+ !jQuery.contains( elem.ownerDocument, elem );
+ };
+
+
+
+function adjustCSS( elem, prop, valueParts, tween ) {
+ var adjusted,
+ scale = 1,
+ maxIterations = 20,
+ currentValue = tween ?
+ function() { return tween.cur(); } :
+ function() { return jQuery.css( elem, prop, "" ); },
+ initial = currentValue(),
+ unit = valueParts && valueParts[ 3 ] || ( jQuery.cssNumber[ prop ] ? "" : "px" ),
+
+ // Starting value computation is required for potential unit mismatches
+ initialInUnit = ( jQuery.cssNumber[ prop ] || unit !== "px" && +initial ) &&
+ rcssNum.exec( jQuery.css( elem, prop ) );
+
+ if ( initialInUnit && initialInUnit[ 3 ] !== unit ) {
+
+ // Trust units reported by jQuery.css
+ unit = unit || initialInUnit[ 3 ];
+
+ // Make sure we update the tween properties later on
+ valueParts = valueParts || [];
+
+ // Iteratively approximate from a nonzero starting point
+ initialInUnit = +initial || 1;
+
+ do {
+
+ // If previous iteration zeroed out, double until we get *something*.
+ // Use string for doubling so we don't accidentally see scale as unchanged below
+ scale = scale || ".5";
+
+ // Adjust and apply
+ initialInUnit = initialInUnit / scale;
+ jQuery.style( elem, prop, initialInUnit + unit );
+
+ // Update scale, tolerating zero or NaN from tween.cur()
+ // Break the loop if scale is unchanged or perfect, or if we've just had enough.
+ } while (
+ scale !== ( scale = currentValue() / initial ) && scale !== 1 && --maxIterations
+ );
+ }
+
+ if ( valueParts ) {
+ initialInUnit = +initialInUnit || +initial || 0;
+
+ // Apply relative offset (+=/-=) if specified
+ adjusted = valueParts[ 1 ] ?
+ initialInUnit + ( valueParts[ 1 ] + 1 ) * valueParts[ 2 ] :
+ +valueParts[ 2 ];
+ if ( tween ) {
+ tween.unit = unit;
+ tween.start = initialInUnit;
+ tween.end = adjusted;
+ }
+ }
+ return adjusted;
+}
+var rcheckableType = ( /^(?:checkbox|radio)$/i );
+
+var rtagName = ( /<([\w:-]+)/ );
+
+var rscriptType = ( /^$|\/(?:java|ecma)script/i );
+
+
+
+// We have to close these tags to support XHTML (#13200)
+var wrapMap = {
+
+ // Support: IE9
+ option: [ 1, "<select multiple='multiple'>", "</select>" ],
+
+ // XHTML parsers do not magically insert elements in the
+ // same way that tag soup parsers do. So we cannot shorten
+ // this by omitting <tbody> or other required elements.
+ thead: [ 1, "<table>", "</table>" ],
+ col: [ 2, "<table><colgroup>", "</colgroup></table>" ],
+ tr: [ 2, "<table><tbody>", "</tbody></table>" ],
+ td: [ 3, "<table><tbody><tr>", "</tr></tbody></table>" ],
+
+ _default: [ 0, "", "" ]
+};
+
+// Support: IE9
+wrapMap.optgroup = wrapMap.option;
+
+wrapMap.tbody = wrapMap.tfoot = wrapMap.colgroup = wrapMap.caption = wrapMap.thead;
+wrapMap.th = wrapMap.td;
+
+
+function getAll( context, tag ) {
+
+ // Support: IE9-11+
+ // Use typeof to avoid zero-argument method invocation on host objects (#15151)
+ var ret = typeof context.getElementsByTagName !== "undefined" ?
+ context.getElementsByTagName( tag || "*" ) :
+ typeof context.querySelectorAll !== "undefined" ?
+ context.querySelectorAll( tag || "*" ) :
+ [];
+
+ return tag === undefined || tag && jQuery.nodeName( context, tag ) ?
+ jQuery.merge( [ context ], ret ) :
+ ret;
+}
+
+
+// Mark scripts as having already been evaluated
+function setGlobalEval( elems, refElements ) {
+ var i = 0,
+ l = elems.length;
+
+ for ( ; i < l; i++ ) {
+ dataPriv.set(
+ elems[ i ],
+ "globalEval",
+ !refElements || dataPriv.get( refElements[ i ], "globalEval" )
+ );
+ }
+}
+
+
+var rhtml = /<|&#?\w+;/;
+
+function buildFragment( elems, context, scripts, selection, ignored ) {
+ var elem, tmp, tag, wrap, contains, j,
+ fragment = context.createDocumentFragment(),
+ nodes = [],
+ i = 0,
+ l = elems.length;
+
+ for ( ; i < l; i++ ) {
+ elem = elems[ i ];
+
+ if ( elem || elem === 0 ) {
+
+ // Add nodes directly
+ if ( jQuery.type( elem ) === "object" ) {
+
+ // Support: Android<4.1, PhantomJS<2
+ // push.apply(_, arraylike) throws on ancient WebKit
+ jQuery.merge( nodes, elem.nodeType ? [ elem ] : elem );
+
+ // Convert non-html into a text node
+ } else if ( !rhtml.test( elem ) ) {
+ nodes.push( context.createTextNode( elem ) );
+
+ // Convert html into DOM nodes
+ } else {
+ tmp = tmp || fragment.appendChild( context.createElement( "div" ) );
+
+ // Deserialize a standard representation
+ tag = ( rtagName.exec( elem ) || [ "", "" ] )[ 1 ].toLowerCase();
+ wrap = wrapMap[ tag ] || wrapMap._default;
+ tmp.innerHTML = wrap[ 1 ] + jQuery.htmlPrefilter( elem ) + wrap[ 2 ];
+
+ // Descend through wrappers to the right content
+ j = wrap[ 0 ];
+ while ( j-- ) {
+ tmp = tmp.lastChild;
+ }
+
+ // Support: Android<4.1, PhantomJS<2
+ // push.apply(_, arraylike) throws on ancient WebKit
+ jQuery.merge( nodes, tmp.childNodes );
+
+ // Remember the top-level container
+ tmp = fragment.firstChild;
+
+ // Ensure the created nodes are orphaned (#12392)
+ tmp.textContent = "";
+ }
+ }
+ }
+
+ // Remove wrapper from fragment
+ fragment.textContent = "";
+
+ i = 0;
+ while ( ( elem = nodes[ i++ ] ) ) {
+
+ // Skip elements already in the context collection (trac-4087)
+ if ( selection && jQuery.inArray( elem, selection ) > -1 ) {
+ if ( ignored ) {
+ ignored.push( elem );
+ }
+ continue;
+ }
+
+ contains = jQuery.contains( elem.ownerDocument, elem );
+
+ // Append to fragment
+ tmp = getAll( fragment.appendChild( elem ), "script" );
+
+ // Preserve script evaluation history
+ if ( contains ) {
+ setGlobalEval( tmp );
+ }
+
+ // Capture executables
+ if ( scripts ) {
+ j = 0;
+ while ( ( elem = tmp[ j++ ] ) ) {
+ if ( rscriptType.test( elem.type || "" ) ) {
+ scripts.push( elem );
+ }
+ }
+ }
+ }
+
+ return fragment;
+}
+
+
+( function() {
+ var fragment = document.createDocumentFragment(),
+ div = fragment.appendChild( document.createElement( "div" ) ),
+ input = document.createElement( "input" );
+
+ // Support: Android 4.0-4.3, Safari<=5.1
+ // Check state lost if the name is set (#11217)
+ // Support: Windows Web Apps (WWA)
+ // `name` and `type` must use .setAttribute for WWA (#14901)
+ input.setAttribute( "type", "radio" );
+ input.setAttribute( "checked", "checked" );
+ input.setAttribute( "name", "t" );
+
+ div.appendChild( input );
+
+ // Support: Safari<=5.1, Android<4.2
+ // Older WebKit doesn't clone checked state correctly in fragments
+ support.checkClone = div.cloneNode( true ).cloneNode( true ).lastChild.checked;
+
+ // Support: IE<=11+
+ // Make sure textarea (and checkbox) defaultValue is properly cloned
+ div.innerHTML = "<textarea>x</textarea>";
+ support.noCloneChecked = !!div.cloneNode( true ).lastChild.defaultValue;
+} )();
+
+
+var
+ rkeyEvent = /^key/,
+ rmouseEvent = /^(?:mouse|pointer|contextmenu|drag|drop)|click/,
+ rtypenamespace = /^([^.]*)(?:\.(.+)|)/;
+
+function returnTrue() {
+ return true;
+}
+
+function returnFalse() {
+ return false;
+}
+
+// Support: IE9
+// See #13393 for more info
+function safeActiveElement() {
+ try {
+ return document.activeElement;
+ } catch ( err ) { }
+}
+
+function on( elem, types, selector, data, fn, one ) {
+ var origFn, type;
+
+ // Types can be a map of types/handlers
+ if ( typeof types === "object" ) {
+
+ // ( types-Object, selector, data )
+ if ( typeof selector !== "string" ) {
+
+ // ( types-Object, data )
+ data = data || selector;
+ selector = undefined;
+ }
+ for ( type in types ) {
+ on( elem, type, selector, data, types[ type ], one );
+ }
+ return elem;
+ }
+
+ if ( data == null && fn == null ) {
+
+ // ( types, fn )
+ fn = selector;
+ data = selector = undefined;
+ } else if ( fn == null ) {
+ if ( typeof selector === "string" ) {
+
+ // ( types, selector, fn )
+ fn = data;
+ data = undefined;
+ } else {
+
+ // ( types, data, fn )
+ fn = data;
+ data = selector;
+ selector = undefined;
+ }
+ }
+ if ( fn === false ) {
+ fn = returnFalse;
+ } else if ( !fn ) {
+ return elem;
+ }
+
+ if ( one === 1 ) {
+ origFn = fn;
+ fn = function( event ) {
+
+ // Can use an empty set, since event contains the info
+ jQuery().off( event );
+ return origFn.apply( this, arguments );
+ };
+
+ // Use same guid so caller can remove using origFn
+ fn.guid = origFn.guid || ( origFn.guid = jQuery.guid++ );
+ }
+ return elem.each( function() {
+ jQuery.event.add( this, types, fn, data, selector );
+ } );
+}
+
+/*
+ * Helper functions for managing events -- not part of the public interface.
+ * Props to Dean Edwards' addEvent library for many of the ideas.
+ */
+jQuery.event = {
+
+ global: {},
+
+ add: function( elem, types, handler, data, selector ) {
+
+ var handleObjIn, eventHandle, tmp,
+ events, t, handleObj,
+ special, handlers, type, namespaces, origType,
+ elemData = dataPriv.get( elem );
+
+ // Don't attach events to noData or text/comment nodes (but allow plain objects)
+ if ( !elemData ) {
+ return;
+ }
+
+ // Caller can pass in an object of custom data in lieu of the handler
+ if ( handler.handler ) {
+ handleObjIn = handler;
+ handler = handleObjIn.handler;
+ selector = handleObjIn.selector;
+ }
+
+ // Make sure that the handler has a unique ID, used to find/remove it later
+ if ( !handler.guid ) {
+ handler.guid = jQuery.guid++;
+ }
+
+ // Init the element's event structure and main handler, if this is the first
+ if ( !( events = elemData.events ) ) {
+ events = elemData.events = {};
+ }
+ if ( !( eventHandle = elemData.handle ) ) {
+ eventHandle = elemData.handle = function( e ) {
+
+ // Discard the second event of a jQuery.event.trigger() and
+ // when an event is called after a page has unloaded
+ return typeof jQuery !== "undefined" && jQuery.event.triggered !== e.type ?
+ jQuery.event.dispatch.apply( elem, arguments ) : undefined;
+ };
+ }
+
+ // Handle multiple events separated by a space
+ types = ( types || "" ).match( rnotwhite ) || [ "" ];
+ t = types.length;
+ while ( t-- ) {
+ tmp = rtypenamespace.exec( types[ t ] ) || [];
+ type = origType = tmp[ 1 ];
+ namespaces = ( tmp[ 2 ] || "" ).split( "." ).sort();
+
+ // There *must* be a type, no attaching namespace-only handlers
+ if ( !type ) {
+ continue;
+ }
+
+ // If event changes its type, use the special event handlers for the changed type
+ special = jQuery.event.special[ type ] || {};
+
+ // If selector defined, determine special event api type, otherwise given type
+ type = ( selector ? special.delegateType : special.bindType ) || type;
+
+ // Update special based on newly reset type
+ special = jQuery.event.special[ type ] || {};
+
+ // handleObj is passed to all event handlers
+ handleObj = jQuery.extend( {
+ type: type,
+ origType: origType,
+ data: data,
+ handler: handler,
+ guid: handler.guid,
+ selector: selector,
+ needsContext: selector && jQuery.expr.match.needsContext.test( selector ),
+ namespace: namespaces.join( "." )
+ }, handleObjIn );
+
+ // Init the event handler queue if we're the first
+ if ( !( handlers = events[ type ] ) ) {
+ handlers = events[ type ] = [];
+ handlers.delegateCount = 0;
+
+ // Only use addEventListener if the special events handler returns false
+ if ( !special.setup ||
+ special.setup.call( elem, data, namespaces, eventHandle ) === false ) {
+
+ if ( elem.addEventListener ) {
+ elem.addEventListener( type, eventHandle );
+ }
+ }
+ }
+
+ if ( special.add ) {
+ special.add.call( elem, handleObj );
+
+ if ( !handleObj.handler.guid ) {
+ handleObj.handler.guid = handler.guid;
+ }
+ }
+
+ // Add to the element's handler list, delegates in front
+ if ( selector ) {
+ handlers.splice( handlers.delegateCount++, 0, handleObj );
+ } else {
+ handlers.push( handleObj );
+ }
+
+ // Keep track of which events have ever been used, for event optimization
+ jQuery.event.global[ type ] = true;
+ }
+
+ },
+
+ // Detach an event or set of events from an element
+ remove: function( elem, types, handler, selector, mappedTypes ) {
+
+ var j, origCount, tmp,
+ events, t, handleObj,
+ special, handlers, type, namespaces, origType,
+ elemData = dataPriv.hasData( elem ) && dataPriv.get( elem );
+
+ if ( !elemData || !( events = elemData.events ) ) {
+ return;
+ }
+
+ // Once for each type.namespace in types; type may be omitted
+ types = ( types || "" ).match( rnotwhite ) || [ "" ];
+ t = types.length;
+ while ( t-- ) {
+ tmp = rtypenamespace.exec( types[ t ] ) || [];
+ type = origType = tmp[ 1 ];
+ namespaces = ( tmp[ 2 ] || "" ).split( "." ).sort();
+
+ // Unbind all events (on this namespace, if provided) for the element
+ if ( !type ) {
+ for ( type in events ) {
+ jQuery.event.remove( elem, type + types[ t ], handler, selector, true );
+ }
+ continue;
+ }
+
+ special = jQuery.event.special[ type ] || {};
+ type = ( selector ? special.delegateType : special.bindType ) || type;
+ handlers = events[ type ] || [];
+ tmp = tmp[ 2 ] &&
+ new RegExp( "(^|\\.)" + namespaces.join( "\\.(?:.*\\.|)" ) + "(\\.|$)" );
+
+ // Remove matching events
+ origCount = j = handlers.length;
+ while ( j-- ) {
+ handleObj = handlers[ j ];
+
+ if ( ( mappedTypes || origType === handleObj.origType ) &&
+ ( !handler || handler.guid === handleObj.guid ) &&
+ ( !tmp || tmp.test( handleObj.namespace ) ) &&
+ ( !selector || selector === handleObj.selector ||
+ selector === "**" && handleObj.selector ) ) {
+ handlers.splice( j, 1 );
+
+ if ( handleObj.selector ) {
+ handlers.delegateCount--;
+ }
+ if ( special.remove ) {
+ special.remove.call( elem, handleObj );
+ }
+ }
+ }
+
+ // Remove generic event handler if we removed something and no more handlers exist
+ // (avoids potential for endless recursion during removal of special event handlers)
+ if ( origCount && !handlers.length ) {
+ if ( !special.teardown ||
+ special.teardown.call( elem, namespaces, elemData.handle ) === false ) {
+
+ jQuery.removeEvent( elem, type, elemData.handle );
+ }
+
+ delete events[ type ];
+ }
+ }
+
+ // Remove data and the expando if it's no longer used
+ if ( jQuery.isEmptyObject( events ) ) {
+ dataPriv.remove( elem, "handle events" );
+ }
+ },
+
+ dispatch: function( event ) {
+
+ // Make a writable jQuery.Event from the native event object
+ event = jQuery.event.fix( event );
+
+ var i, j, ret, matched, handleObj,
+ handlerQueue = [],
+ args = slice.call( arguments ),
+ handlers = ( dataPriv.get( this, "events" ) || {} )[ event.type ] || [],
+ special = jQuery.event.special[ event.type ] || {};
+
+ // Use the fix-ed jQuery.Event rather than the (read-only) native event
+ args[ 0 ] = event;
+ event.delegateTarget = this;
+
+ // Call the preDispatch hook for the mapped type, and let it bail if desired
+ if ( special.preDispatch && special.preDispatch.call( this, event ) === false ) {
+ return;
+ }
+
+ // Determine handlers
+ handlerQueue = jQuery.event.handlers.call( this, event, handlers );
+
+ // Run delegates first; they may want to stop propagation beneath us
+ i = 0;
+ while ( ( matched = handlerQueue[ i++ ] ) && !event.isPropagationStopped() ) {
+ event.currentTarget = matched.elem;
+
+ j = 0;
+ while ( ( handleObj = matched.handlers[ j++ ] ) &&
+ !event.isImmediatePropagationStopped() ) {
+
+ // Triggered event must either 1) have no namespace, or 2) have namespace(s)
+ // a subset or equal to those in the bound event (both can have no namespace).
+ if ( !event.rnamespace || event.rnamespace.test( handleObj.namespace ) ) {
+
+ event.handleObj = handleObj;
+ event.data = handleObj.data;
+
+ ret = ( ( jQuery.event.special[ handleObj.origType ] || {} ).handle ||
+ handleObj.handler ).apply( matched.elem, args );
+
+ if ( ret !== undefined ) {
+ if ( ( event.result = ret ) === false ) {
+ event.preventDefault();
+ event.stopPropagation();
+ }
+ }
+ }
+ }
+ }
+
+ // Call the postDispatch hook for the mapped type
+ if ( special.postDispatch ) {
+ special.postDispatch.call( this, event );
+ }
+
+ return event.result;
+ },
+
+ handlers: function( event, handlers ) {
+ var i, matches, sel, handleObj,
+ handlerQueue = [],
+ delegateCount = handlers.delegateCount,
+ cur = event.target;
+
+ // Support (at least): Chrome, IE9
+ // Find delegate handlers
+ // Black-hole SVG <use> instance trees (#13180)
+ //
+ // Support: Firefox<=42+
+ // Avoid non-left-click in FF but don't block IE radio events (#3861, gh-2343)
+ if ( delegateCount && cur.nodeType &&
+ ( event.type !== "click" || isNaN( event.button ) || event.button < 1 ) ) {
+
+ for ( ; cur !== this; cur = cur.parentNode || this ) {
+
+ // Don't check non-elements (#13208)
+ // Don't process clicks on disabled elements (#6911, #8165, #11382, #11764)
+ if ( cur.nodeType === 1 && ( cur.disabled !== true || event.type !== "click" ) ) {
+ matches = [];
+ for ( i = 0; i < delegateCount; i++ ) {
+ handleObj = handlers[ i ];
+
+ // Don't conflict with Object.prototype properties (#13203)
+ sel = handleObj.selector + " ";
+
+ if ( matches[ sel ] === undefined ) {
+ matches[ sel ] = handleObj.needsContext ?
+ jQuery( sel, this ).index( cur ) > -1 :
+ jQuery.find( sel, this, null, [ cur ] ).length;
+ }
+ if ( matches[ sel ] ) {
+ matches.push( handleObj );
+ }
+ }
+ if ( matches.length ) {
+ handlerQueue.push( { elem: cur, handlers: matches } );
+ }
+ }
+ }
+ }
+
+ // Add the remaining (directly-bound) handlers
+ if ( delegateCount < handlers.length ) {
+ handlerQueue.push( { elem: this, handlers: handlers.slice( delegateCount ) } );
+ }
+
+ return handlerQueue;
+ },
+
+ // Includes some event props shared by KeyEvent and MouseEvent
+ props: ( "altKey bubbles cancelable ctrlKey currentTarget detail eventPhase " +
+ "metaKey relatedTarget shiftKey target timeStamp view which" ).split( " " ),
+
+ fixHooks: {},
+
+ keyHooks: {
+ props: "char charCode key keyCode".split( " " ),
+ filter: function( event, original ) {
+
+ // Add which for key events
+ if ( event.which == null ) {
+ event.which = original.charCode != null ? original.charCode : original.keyCode;
+ }
+
+ return event;
+ }
+ },
+
+ mouseHooks: {
+ props: ( "button buttons clientX clientY offsetX offsetY pageX pageY " +
+ "screenX screenY toElement" ).split( " " ),
+ filter: function( event, original ) {
+ var eventDoc, doc, body,
+ button = original.button;
+
+ // Calculate pageX/Y if missing and clientX/Y available
+ if ( event.pageX == null && original.clientX != null ) {
+ eventDoc = event.target.ownerDocument || document;
+ doc = eventDoc.documentElement;
+ body = eventDoc.body;
+
+ event.pageX = original.clientX +
+ ( doc && doc.scrollLeft || body && body.scrollLeft || 0 ) -
+ ( doc && doc.clientLeft || body && body.clientLeft || 0 );
+ event.pageY = original.clientY +
+ ( doc && doc.scrollTop || body && body.scrollTop || 0 ) -
+ ( doc && doc.clientTop || body && body.clientTop || 0 );
+ }
+
+ // Add which for click: 1 === left; 2 === middle; 3 === right
+ // Note: button is not normalized, so don't use it
+ if ( !event.which && button !== undefined ) {
+ event.which = ( button & 1 ? 1 : ( button & 2 ? 3 : ( button & 4 ? 2 : 0 ) ) );
+ }
+
+ return event;
+ }
+ },
+
+ fix: function( event ) {
+ if ( event[ jQuery.expando ] ) {
+ return event;
+ }
+
+ // Create a writable copy of the event object and normalize some properties
+ var i, prop, copy,
+ type = event.type,
+ originalEvent = event,
+ fixHook = this.fixHooks[ type ];
+
+ if ( !fixHook ) {
+ this.fixHooks[ type ] = fixHook =
+ rmouseEvent.test( type ) ? this.mouseHooks :
+ rkeyEvent.test( type ) ? this.keyHooks :
+ {};
+ }
+ copy = fixHook.props ? this.props.concat( fixHook.props ) : this.props;
+
+ event = new jQuery.Event( originalEvent );
+
+ i = copy.length;
+ while ( i-- ) {
+ prop = copy[ i ];
+ event[ prop ] = originalEvent[ prop ];
+ }
+
+ // Support: Cordova 2.5 (WebKit) (#13255)
+ // All events should have a target; Cordova deviceready doesn't
+ if ( !event.target ) {
+ event.target = document;
+ }
+
+ // Support: Safari 6.0+, Chrome<28
+ // Target should not be a text node (#504, #13143)
+ if ( event.target.nodeType === 3 ) {
+ event.target = event.target.parentNode;
+ }
+
+ return fixHook.filter ? fixHook.filter( event, originalEvent ) : event;
+ },
+
+ special: {
+ load: {
+
+ // Prevent triggered image.load events from bubbling to window.load
+ noBubble: true
+ },
+ focus: {
+
+ // Fire native event if possible so blur/focus sequence is correct
+ trigger: function() {
+ if ( this !== safeActiveElement() && this.focus ) {
+ this.focus();
+ return false;
+ }
+ },
+ delegateType: "focusin"
+ },
+ blur: {
+ trigger: function() {
+ if ( this === safeActiveElement() && this.blur ) {
+ this.blur();
+ return false;
+ }
+ },
+ delegateType: "focusout"
+ },
+ click: {
+
+ // For checkbox, fire native event so checked state will be right
+ trigger: function() {
+ if ( this.type === "checkbox" && this.click && jQuery.nodeName( this, "input" ) ) {
+ this.click();
+ return false;
+ }
+ },
+
+ // For cross-browser consistency, don't fire native .click() on links
+ _default: function( event ) {
+ return jQuery.nodeName( event.target, "a" );
+ }
+ },
+
+ beforeunload: {
+ postDispatch: function( event ) {
+
+ // Support: Firefox 20+
+ // Firefox doesn't alert if the returnValue field is not set.
+ if ( event.result !== undefined && event.originalEvent ) {
+ event.originalEvent.returnValue = event.result;
+ }
+ }
+ }
+ }
+};
+
+jQuery.removeEvent = function( elem, type, handle ) {
+
+ // This "if" is needed for plain objects
+ if ( elem.removeEventListener ) {
+ elem.removeEventListener( type, handle );
+ }
+};
+
+jQuery.Event = function( src, props ) {
+
+ // Allow instantiation without the 'new' keyword
+ if ( !( this instanceof jQuery.Event ) ) {
+ return new jQuery.Event( src, props );
+ }
+
+ // Event object
+ if ( src && src.type ) {
+ this.originalEvent = src;
+ this.type = src.type;
+
+ // Events bubbling up the document may have been marked as prevented
+ // by a handler lower down the tree; reflect the correct value.
+ this.isDefaultPrevented = src.defaultPrevented ||
+ src.defaultPrevented === undefined &&
+
+ // Support: Android<4.0
+ src.returnValue === false ?
+ returnTrue :
+ returnFalse;
+
+ // Event type
+ } else {
+ this.type = src;
+ }
+
+ // Put explicitly provided properties onto the event object
+ if ( props ) {
+ jQuery.extend( this, props );
+ }
+
+ // Create a timestamp if incoming event doesn't have one
+ this.timeStamp = src && src.timeStamp || jQuery.now();
+
+ // Mark it as fixed
+ this[ jQuery.expando ] = true;
+};
+
+// jQuery.Event is based on DOM3 Events as specified by the ECMAScript Language Binding
+// http://www.w3.org/TR/2003/WD-DOM-Level-3-Events-20030331/ecma-script-binding.html
+jQuery.Event.prototype = {
+ constructor: jQuery.Event,
+ isDefaultPrevented: returnFalse,
+ isPropagationStopped: returnFalse,
+ isImmediatePropagationStopped: returnFalse,
+ isSimulated: false,
+
+ preventDefault: function() {
+ var e = this.originalEvent;
+
+ this.isDefaultPrevented = returnTrue;
+
+ if ( e && !this.isSimulated ) {
+ e.preventDefault();
+ }
+ },
+ stopPropagation: function() {
+ var e = this.originalEvent;
+
+ this.isPropagationStopped = returnTrue;
+
+ if ( e && !this.isSimulated ) {
+ e.stopPropagation();
+ }
+ },
+ stopImmediatePropagation: function() {
+ var e = this.originalEvent;
+
+ this.isImmediatePropagationStopped = returnTrue;
+
+ if ( e && !this.isSimulated ) {
+ e.stopImmediatePropagation();
+ }
+
+ this.stopPropagation();
+ }
+};
+
+// Create mouseenter/leave events using mouseover/out and event-time checks
+// so that event delegation works in jQuery.
+// Do the same for pointerenter/pointerleave and pointerover/pointerout
+//
+// Support: Safari 7 only
+// Safari sends mouseenter too often; see:
+// https://code.google.com/p/chromium/issues/detail?id=470258
+// for the description of the bug (it existed in older Chrome versions as well).
+jQuery.each( {
+ mouseenter: "mouseover",
+ mouseleave: "mouseout",
+ pointerenter: "pointerover",
+ pointerleave: "pointerout"
+}, function( orig, fix ) {
+ jQuery.event.special[ orig ] = {
+ delegateType: fix,
+ bindType: fix,
+
+ handle: function( event ) {
+ var ret,
+ target = this,
+ related = event.relatedTarget,
+ handleObj = event.handleObj;
+
+ // For mouseenter/leave call the handler if related is outside the target.
+ // NB: No relatedTarget if the mouse left/entered the browser window
+ if ( !related || ( related !== target && !jQuery.contains( target, related ) ) ) {
+ event.type = handleObj.origType;
+ ret = handleObj.handler.apply( this, arguments );
+ event.type = fix;
+ }
+ return ret;
+ }
+ };
+} );
+
+jQuery.fn.extend( {
+ on: function( types, selector, data, fn ) {
+ return on( this, types, selector, data, fn );
+ },
+ one: function( types, selector, data, fn ) {
+ return on( this, types, selector, data, fn, 1 );
+ },
+ off: function( types, selector, fn ) {
+ var handleObj, type;
+ if ( types && types.preventDefault && types.handleObj ) {
+
+ // ( event ) dispatched jQuery.Event
+ handleObj = types.handleObj;
+ jQuery( types.delegateTarget ).off(
+ handleObj.namespace ?
+ handleObj.origType + "." + handleObj.namespace :
+ handleObj.origType,
+ handleObj.selector,
+ handleObj.handler
+ );
+ return this;
+ }
+ if ( typeof types === "object" ) {
+
+ // ( types-object [, selector] )
+ for ( type in types ) {
+ this.off( type, selector, types[ type ] );
+ }
+ return this;
+ }
+ if ( selector === false || typeof selector === "function" ) {
+
+ // ( types [, fn] )
+ fn = selector;
+ selector = undefined;
+ }
+ if ( fn === false ) {
+ fn = returnFalse;
+ }
+ return this.each( function() {
+ jQuery.event.remove( this, types, fn, selector );
+ } );
+ }
+} );
+
+
+var
+ rxhtmlTag = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:-]+)[^>]*)\/>/gi,
+
+ // Support: IE 10-11, Edge 10240+
+ // In IE/Edge using regex groups here causes severe slowdowns.
+ // See https://connect.microsoft.com/IE/feedback/details/1736512/
+ rnoInnerhtml = /<script|<style|<link/i,
+
+ // checked="checked" or checked
+ rchecked = /checked\s*(?:[^=]|=\s*.checked.)/i,
+ rscriptTypeMasked = /^true\/(.*)/,
+ rcleanScript = /^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g;
+
+// Manipulating tables requires a tbody
+function manipulationTarget( elem, content ) {
+ return jQuery.nodeName( elem, "table" ) &&
+ jQuery.nodeName( content.nodeType !== 11 ? content : content.firstChild, "tr" ) ?
+
+ elem.getElementsByTagName( "tbody" )[ 0 ] ||
+ elem.appendChild( elem.ownerDocument.createElement( "tbody" ) ) :
+ elem;
+}
+
+// Replace/restore the type attribute of script elements for safe DOM manipulation
+function disableScript( elem ) {
+ elem.type = ( elem.getAttribute( "type" ) !== null ) + "/" + elem.type;
+ return elem;
+}
+function restoreScript( elem ) {
+ var match = rscriptTypeMasked.exec( elem.type );
+
+ if ( match ) {
+ elem.type = match[ 1 ];
+ } else {
+ elem.removeAttribute( "type" );
+ }
+
+ return elem;
+}
+
+function cloneCopyEvent( src, dest ) {
+ var i, l, type, pdataOld, pdataCur, udataOld, udataCur, events;
+
+ if ( dest.nodeType !== 1 ) {
+ return;
+ }
+
+ // 1. Copy private data: events, handlers, etc.
+ if ( dataPriv.hasData( src ) ) {
+ pdataOld = dataPriv.access( src );
+ pdataCur = dataPriv.set( dest, pdataOld );
+ events = pdataOld.events;
+
+ if ( events ) {
+ delete pdataCur.handle;
+ pdataCur.events = {};
+
+ for ( type in events ) {
+ for ( i = 0, l = events[ type ].length; i < l; i++ ) {
+ jQuery.event.add( dest, type, events[ type ][ i ] );
+ }
+ }
+ }
+ }
+
+ // 2. Copy user data
+ if ( dataUser.hasData( src ) ) {
+ udataOld = dataUser.access( src );
+ udataCur = jQuery.extend( {}, udataOld );
+
+ dataUser.set( dest, udataCur );
+ }
+}
+
+// Fix IE bugs, see support tests
+function fixInput( src, dest ) {
+ var nodeName = dest.nodeName.toLowerCase();
+
+ // Fails to persist the checked state of a cloned checkbox or radio button.
+ if ( nodeName === "input" && rcheckableType.test( src.type ) ) {
+ dest.checked = src.checked;
+
+ // Fails to return the selected option to the default selected state when cloning options
+ } else if ( nodeName === "input" || nodeName === "textarea" ) {
+ dest.defaultValue = src.defaultValue;
+ }
+}
+
+function domManip( collection, args, callback, ignored ) {
+
+ // Flatten any nested arrays
+ args = concat.apply( [], args );
+
+ var fragment, first, scripts, hasScripts, node, doc,
+ i = 0,
+ l = collection.length,
+ iNoClone = l - 1,
+ value = args[ 0 ],
+ isFunction = jQuery.isFunction( value );
+
+ // We can't cloneNode fragments that contain checked, in WebKit
+ if ( isFunction ||
+ ( l > 1 && typeof value === "string" &&
+ !support.checkClone && rchecked.test( value ) ) ) {
+ return collection.each( function( index ) {
+ var self = collection.eq( index );
+ if ( isFunction ) {
+ args[ 0 ] = value.call( this, index, self.html() );
+ }
+ domManip( self, args, callback, ignored );
+ } );
+ }
+
+ if ( l ) {
+ fragment = buildFragment( args, collection[ 0 ].ownerDocument, false, collection, ignored );
+ first = fragment.firstChild;
+
+ if ( fragment.childNodes.length === 1 ) {
+ fragment = first;
+ }
+
+ // Require either new content or an interest in ignored elements to invoke the callback
+ if ( first || ignored ) {
+ scripts = jQuery.map( getAll( fragment, "script" ), disableScript );
+ hasScripts = scripts.length;
+
+ // Use the original fragment for the last item
+ // instead of the first because it can end up
+ // being emptied incorrectly in certain situations (#8070).
+ for ( ; i < l; i++ ) {
+ node = fragment;
+
+ if ( i !== iNoClone ) {
+ node = jQuery.clone( node, true, true );
+
+ // Keep references to cloned scripts for later restoration
+ if ( hasScripts ) {
+
+ // Support: Android<4.1, PhantomJS<2
+ // push.apply(_, arraylike) throws on ancient WebKit
+ jQuery.merge( scripts, getAll( node, "script" ) );
+ }
+ }
+
+ callback.call( collection[ i ], node, i );
+ }
+
+ if ( hasScripts ) {
+ doc = scripts[ scripts.length - 1 ].ownerDocument;
+
+ // Reenable scripts
+ jQuery.map( scripts, restoreScript );
+
+ // Evaluate executable scripts on first document insertion
+ for ( i = 0; i < hasScripts; i++ ) {
+ node = scripts[ i ];
+ if ( rscriptType.test( node.type || "" ) &&
+ !dataPriv.access( node, "globalEval" ) &&
+ jQuery.contains( doc, node ) ) {
+
+ if ( node.src ) {
+
+ // Optional AJAX dependency, but won't run scripts if not present
+ if ( jQuery._evalUrl ) {
+ jQuery._evalUrl( node.src );
+ }
+ } else {
+ jQuery.globalEval( node.textContent.replace( rcleanScript, "" ) );
+ }
+ }
+ }
+ }
+ }
+ }
+
+ return collection;
+}
+
+function remove( elem, selector, keepData ) {
+ var node,
+ nodes = selector ? jQuery.filter( selector, elem ) : elem,
+ i = 0;
+
+ for ( ; ( node = nodes[ i ] ) != null; i++ ) {
+ if ( !keepData && node.nodeType === 1 ) {
+ jQuery.cleanData( getAll( node ) );
+ }
+
+ if ( node.parentNode ) {
+ if ( keepData && jQuery.contains( node.ownerDocument, node ) ) {
+ setGlobalEval( getAll( node, "script" ) );
+ }
+ node.parentNode.removeChild( node );
+ }
+ }
+
+ return elem;
+}
+
+jQuery.extend( {
+ htmlPrefilter: function( html ) {
+ return html.replace( rxhtmlTag, "<$1></$2>" );
+ },
+
+ clone: function( elem, dataAndEvents, deepDataAndEvents ) {
+ var i, l, srcElements, destElements,
+ clone = elem.cloneNode( true ),
+ inPage = jQuery.contains( elem.ownerDocument, elem );
+
+ // Fix IE cloning issues
+ if ( !support.noCloneChecked && ( elem.nodeType === 1 || elem.nodeType === 11 ) &&
+ !jQuery.isXMLDoc( elem ) ) {
+
+ // We eschew Sizzle here for performance reasons: http://jsperf.com/getall-vs-sizzle/2
+ destElements = getAll( clone );
+ srcElements = getAll( elem );
+
+ for ( i = 0, l = srcElements.length; i < l; i++ ) {
+ fixInput( srcElements[ i ], destElements[ i ] );
+ }
+ }
+
+ // Copy the events from the original to the clone
+ if ( dataAndEvents ) {
+ if ( deepDataAndEvents ) {
+ srcElements = srcElements || getAll( elem );
+ destElements = destElements || getAll( clone );
+
+ for ( i = 0, l = srcElements.length; i < l; i++ ) {
+ cloneCopyEvent( srcElements[ i ], destElements[ i ] );
+ }
+ } else {
+ cloneCopyEvent( elem, clone );
+ }
+ }
+
+ // Preserve script evaluation history
+ destElements = getAll( clone, "script" );
+ if ( destElements.length > 0 ) {
+ setGlobalEval( destElements, !inPage && getAll( elem, "script" ) );
+ }
+
+ // Return the cloned set
+ return clone;
+ },
+
+ cleanData: function( elems ) {
+ var data, elem, type,
+ special = jQuery.event.special,
+ i = 0;
+
+ for ( ; ( elem = elems[ i ] ) !== undefined; i++ ) {
+ if ( acceptData( elem ) ) {
+ if ( ( data = elem[ dataPriv.expando ] ) ) {
+ if ( data.events ) {
+ for ( type in data.events ) {
+ if ( special[ type ] ) {
+ jQuery.event.remove( elem, type );
+
+ // This is a shortcut to avoid jQuery.event.remove's overhead
+ } else {
+ jQuery.removeEvent( elem, type, data.handle );
+ }
+ }
+ }
+
+ // Support: Chrome <= 35-45+
+ // Assign undefined instead of using delete, see Data#remove
+ elem[ dataPriv.expando ] = undefined;
+ }
+ if ( elem[ dataUser.expando ] ) {
+
+ // Support: Chrome <= 35-45+
+ // Assign undefined instead of using delete, see Data#remove
+ elem[ dataUser.expando ] = undefined;
+ }
+ }
+ }
+ }
+} );
+
+jQuery.fn.extend( {
+
+ // Keep domManip exposed until 3.0 (gh-2225)
+ domManip: domManip,
+
+ detach: function( selector ) {
+ return remove( this, selector, true );
+ },
+
+ remove: function( selector ) {
+ return remove( this, selector );
+ },
+
+ text: function( value ) {
+ return access( this, function( value ) {
+ return value === undefined ?
+ jQuery.text( this ) :
+ this.empty().each( function() {
+ if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) {
+ this.textContent = value;
+ }
+ } );
+ }, null, value, arguments.length );
+ },
+
+ append: function() {
+ return domManip( this, arguments, function( elem ) {
+ if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) {
+ var target = manipulationTarget( this, elem );
+ target.appendChild( elem );
+ }
+ } );
+ },
+
+ prepend: function() {
+ return domManip( this, arguments, function( elem ) {
+ if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) {
+ var target = manipulationTarget( this, elem );
+ target.insertBefore( elem, target.firstChild );
+ }
+ } );
+ },
+
+ before: function() {
+ return domManip( this, arguments, function( elem ) {
+ if ( this.parentNode ) {
+ this.parentNode.insertBefore( elem, this );
+ }
+ } );
+ },
+
+ after: function() {
+ return domManip( this, arguments, function( elem ) {
+ if ( this.parentNode ) {
+ this.parentNode.insertBefore( elem, this.nextSibling );
+ }
+ } );
+ },
+
+ empty: function() {
+ var elem,
+ i = 0;
+
+ for ( ; ( elem = this[ i ] ) != null; i++ ) {
+ if ( elem.nodeType === 1 ) {
+
+ // Prevent memory leaks
+ jQuery.cleanData( getAll( elem, false ) );
+
+ // Remove any remaining nodes
+ elem.textContent = "";
+ }
+ }
+
+ return this;
+ },
+
+ clone: function( dataAndEvents, deepDataAndEvents ) {
+ dataAndEvents = dataAndEvents == null ? false : dataAndEvents;
+ deepDataAndEvents = deepDataAndEvents == null ? dataAndEvents : deepDataAndEvents;
+
+ return this.map( function() {
+ return jQuery.clone( this, dataAndEvents, deepDataAndEvents );
+ } );
+ },
+
+ html: function( value ) {
+ return access( this, function( value ) {
+ var elem = this[ 0 ] || {},
+ i = 0,
+ l = this.length;
+
+ if ( value === undefined && elem.nodeType === 1 ) {
+ return elem.innerHTML;
+ }
+
+ // See if we can take a shortcut and just use innerHTML
+ if ( typeof value === "string" && !rnoInnerhtml.test( value ) &&
+ !wrapMap[ ( rtagName.exec( value ) || [ "", "" ] )[ 1 ].toLowerCase() ] ) {
+
+ value = jQuery.htmlPrefilter( value );
+
+ try {
+ for ( ; i < l; i++ ) {
+ elem = this[ i ] || {};
+
+ // Remove element nodes and prevent memory leaks
+ if ( elem.nodeType === 1 ) {
+ jQuery.cleanData( getAll( elem, false ) );
+ elem.innerHTML = value;
+ }
+ }
+
+ elem = 0;
+
+ // If using innerHTML throws an exception, use the fallback method
+ } catch ( e ) {}
+ }
+
+ if ( elem ) {
+ this.empty().append( value );
+ }
+ }, null, value, arguments.length );
+ },
+
+ replaceWith: function() {
+ var ignored = [];
+
+ // Make the changes, replacing each non-ignored context element with the new content
+ return domManip( this, arguments, function( elem ) {
+ var parent = this.parentNode;
+
+ if ( jQuery.inArray( this, ignored ) < 0 ) {
+ jQuery.cleanData( getAll( this ) );
+ if ( parent ) {
+ parent.replaceChild( elem, this );
+ }
+ }
+
+ // Force callback invocation
+ }, ignored );
+ }
+} );
+
+jQuery.each( {
+ appendTo: "append",
+ prependTo: "prepend",
+ insertBefore: "before",
+ insertAfter: "after",
+ replaceAll: "replaceWith"
+}, function( name, original ) {
+ jQuery.fn[ name ] = function( selector ) {
+ var elems,
+ ret = [],
+ insert = jQuery( selector ),
+ last = insert.length - 1,
+ i = 0;
+
+ for ( ; i <= last; i++ ) {
+ elems = i === last ? this : this.clone( true );
+ jQuery( insert[ i ] )[ original ]( elems );
+
+ // Support: QtWebKit
+ // .get() because push.apply(_, arraylike) throws
+ push.apply( ret, elems.get() );
+ }
+
+ return this.pushStack( ret );
+ };
+} );
+
+
+var iframe,
+ elemdisplay = {
+
+ // Support: Firefox
+ // We have to pre-define these values for FF (#10227)
+ HTML: "block",
+ BODY: "block"
+ };
+
+/**
+ * Retrieve the actual display of a element
+ * @param {String} name nodeName of the element
+ * @param {Object} doc Document object
+ */
+
+// Called only from within defaultDisplay
+function actualDisplay( name, doc ) {
+ var elem = jQuery( doc.createElement( name ) ).appendTo( doc.body ),
+
+ display = jQuery.css( elem[ 0 ], "display" );
+
+ // We don't have any data stored on the element,
+ // so use "detach" method as fast way to get rid of the element
+ elem.detach();
+
+ return display;
+}
+
+/**
+ * Try to determine the default display value of an element
+ * @param {String} nodeName
+ */
+function defaultDisplay( nodeName ) {
+ var doc = document,
+ display = elemdisplay[ nodeName ];
+
+ if ( !display ) {
+ display = actualDisplay( nodeName, doc );
+
+ // If the simple way fails, read from inside an iframe
+ if ( display === "none" || !display ) {
+
+ // Use the already-created iframe if possible
+ iframe = ( iframe || jQuery( "<iframe frameborder='0' width='0' height='0'/>" ) )
+ .appendTo( doc.documentElement );
+
+ // Always write a new HTML skeleton so Webkit and Firefox don't choke on reuse
+ doc = iframe[ 0 ].contentDocument;
+
+ // Support: IE
+ doc.write();
+ doc.close();
+
+ display = actualDisplay( nodeName, doc );
+ iframe.detach();
+ }
+
+ // Store the correct default display
+ elemdisplay[ nodeName ] = display;
+ }
+
+ return display;
+}
+var rmargin = ( /^margin/ );
+
+var rnumnonpx = new RegExp( "^(" + pnum + ")(?!px)[a-z%]+$", "i" );
+
+var getStyles = function( elem ) {
+
+ // Support: IE<=11+, Firefox<=30+ (#15098, #14150)
+ // IE throws on elements created in popups
+ // FF meanwhile throws on frame elements through "defaultView.getComputedStyle"
+ var view = elem.ownerDocument.defaultView;
+
+ if ( !view || !view.opener ) {
+ view = window;
+ }
+
+ return view.getComputedStyle( elem );
+ };
+
+var swap = function( elem, options, callback, args ) {
+ var ret, name,
+ old = {};
+
+ // Remember the old values, and insert the new ones
+ for ( name in options ) {
+ old[ name ] = elem.style[ name ];
+ elem.style[ name ] = options[ name ];
+ }
+
+ ret = callback.apply( elem, args || [] );
+
+ // Revert the old values
+ for ( name in options ) {
+ elem.style[ name ] = old[ name ];
+ }
+
+ return ret;
+};
+
+
+var documentElement = document.documentElement;
+
+
+
+( function() {
+ var pixelPositionVal, boxSizingReliableVal, pixelMarginRightVal, reliableMarginLeftVal,
+ container = document.createElement( "div" ),
+ div = document.createElement( "div" );
+
+ // Finish early in limited (non-browser) environments
+ if ( !div.style ) {
+ return;
+ }
+
+ // Support: IE9-11+
+ // Style of cloned element affects source element cloned (#8908)
+ div.style.backgroundClip = "content-box";
+ div.cloneNode( true ).style.backgroundClip = "";
+ support.clearCloneStyle = div.style.backgroundClip === "content-box";
+
+ container.style.cssText = "border:0;width:8px;height:0;top:0;left:-9999px;" +
+ "padding:0;margin-top:1px;position:absolute";
+ container.appendChild( div );
+
+ // Executing both pixelPosition & boxSizingReliable tests require only one layout
+ // so they're executed at the same time to save the second computation.
+ function computeStyleTests() {
+ div.style.cssText =
+
+ // Support: Firefox<29, Android 2.3
+ // Vendor-prefix box-sizing
+ "-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;" +
+ "position:relative;display:block;" +
+ "margin:auto;border:1px;padding:1px;" +
+ "top:1%;width:50%";
+ div.innerHTML = "";
+ documentElement.appendChild( container );
+
+ var divStyle = window.getComputedStyle( div );
+ pixelPositionVal = divStyle.top !== "1%";
+ reliableMarginLeftVal = divStyle.marginLeft === "2px";
+ boxSizingReliableVal = divStyle.width === "4px";
+
+ // Support: Android 4.0 - 4.3 only
+ // Some styles come back with percentage values, even though they shouldn't
+ div.style.marginRight = "50%";
+ pixelMarginRightVal = divStyle.marginRight === "4px";
+
+ documentElement.removeChild( container );
+ }
+
+ jQuery.extend( support, {
+ pixelPosition: function() {
+
+ // This test is executed only once but we still do memoizing
+ // since we can use the boxSizingReliable pre-computing.
+ // No need to check if the test was already performed, though.
+ computeStyleTests();
+ return pixelPositionVal;
+ },
+ boxSizingReliable: function() {
+ if ( boxSizingReliableVal == null ) {
+ computeStyleTests();
+ }
+ return boxSizingReliableVal;
+ },
+ pixelMarginRight: function() {
+
+ // Support: Android 4.0-4.3
+ // We're checking for boxSizingReliableVal here instead of pixelMarginRightVal
+ // since that compresses better and they're computed together anyway.
+ if ( boxSizingReliableVal == null ) {
+ computeStyleTests();
+ }
+ return pixelMarginRightVal;
+ },
+ reliableMarginLeft: function() {
+
+ // Support: IE <=8 only, Android 4.0 - 4.3 only, Firefox <=3 - 37
+ if ( boxSizingReliableVal == null ) {
+ computeStyleTests();
+ }
+ return reliableMarginLeftVal;
+ },
+ reliableMarginRight: function() {
+
+ // Support: Android 2.3
+ // Check if div with explicit width and no margin-right incorrectly
+ // gets computed margin-right based on width of container. (#3333)
+ // WebKit Bug 13343 - getComputedStyle returns wrong value for margin-right
+ // This support function is only executed once so no memoizing is needed.
+ var ret,
+ marginDiv = div.appendChild( document.createElement( "div" ) );
+
+ // Reset CSS: box-sizing; display; margin; border; padding
+ marginDiv.style.cssText = div.style.cssText =
+
+ // Support: Android 2.3
+ // Vendor-prefix box-sizing
+ "-webkit-box-sizing:content-box;box-sizing:content-box;" +
+ "display:block;margin:0;border:0;padding:0";
+ marginDiv.style.marginRight = marginDiv.style.width = "0";
+ div.style.width = "1px";
+ documentElement.appendChild( container );
+
+ ret = !parseFloat( window.getComputedStyle( marginDiv ).marginRight );
+
+ documentElement.removeChild( container );
+ div.removeChild( marginDiv );
+
+ return ret;
+ }
+ } );
+} )();
+
+
+function curCSS( elem, name, computed ) {
+ var width, minWidth, maxWidth, ret,
+ style = elem.style;
+
+ computed = computed || getStyles( elem );
+ ret = computed ? computed.getPropertyValue( name ) || computed[ name ] : undefined;
+
+ // Support: Opera 12.1x only
+ // Fall back to style even without computed
+ // computed is undefined for elems on document fragments
+ if ( ( ret === "" || ret === undefined ) && !jQuery.contains( elem.ownerDocument, elem ) ) {
+ ret = jQuery.style( elem, name );
+ }
+
+ // Support: IE9
+ // getPropertyValue is only needed for .css('filter') (#12537)
+ if ( computed ) {
+
+ // A tribute to the "awesome hack by Dean Edwards"
+ // Android Browser returns percentage for some values,
+ // but width seems to be reliably pixels.
+ // This is against the CSSOM draft spec:
+ // http://dev.w3.org/csswg/cssom/#resolved-values
+ if ( !support.pixelMarginRight() && rnumnonpx.test( ret ) && rmargin.test( name ) ) {
+
+ // Remember the original values
+ width = style.width;
+ minWidth = style.minWidth;
+ maxWidth = style.maxWidth;
+
+ // Put in the new values to get a computed value out
+ style.minWidth = style.maxWidth = style.width = ret;
+ ret = computed.width;
+
+ // Revert the changed values
+ style.width = width;
+ style.minWidth = minWidth;
+ style.maxWidth = maxWidth;
+ }
+ }
+
+ return ret !== undefined ?
+
+ // Support: IE9-11+
+ // IE returns zIndex value as an integer.
+ ret + "" :
+ ret;
+}
+
+
+function addGetHookIf( conditionFn, hookFn ) {
+
+ // Define the hook, we'll check on the first run if it's really needed.
+ return {
+ get: function() {
+ if ( conditionFn() ) {
+
+ // Hook not needed (or it's not possible to use it due
+ // to missing dependency), remove it.
+ delete this.get;
+ return;
+ }
+
+ // Hook needed; redefine it so that the support test is not executed again.
+ return ( this.get = hookFn ).apply( this, arguments );
+ }
+ };
+}
+
+
+var
+
+ // Swappable if display is none or starts with table
+ // except "table", "table-cell", or "table-caption"
+ // See here for display values: https://developer.mozilla.org/en-US/docs/CSS/display
+ rdisplayswap = /^(none|table(?!-c[ea]).+)/,
+
+ cssShow = { position: "absolute", visibility: "hidden", display: "block" },
+ cssNormalTransform = {
+ letterSpacing: "0",
+ fontWeight: "400"
+ },
+
+ cssPrefixes = [ "Webkit", "O", "Moz", "ms" ],
+ emptyStyle = document.createElement( "div" ).style;
+
+// Return a css property mapped to a potentially vendor prefixed property
+function vendorPropName( name ) {
+
+ // Shortcut for names that are not vendor prefixed
+ if ( name in emptyStyle ) {
+ return name;
+ }
+
+ // Check for vendor prefixed names
+ var capName = name[ 0 ].toUpperCase() + name.slice( 1 ),
+ i = cssPrefixes.length;
+
+ while ( i-- ) {
+ name = cssPrefixes[ i ] + capName;
+ if ( name in emptyStyle ) {
+ return name;
+ }
+ }
+}
+
+function setPositiveNumber( elem, value, subtract ) {
+
+ // Any relative (+/-) values have already been
+ // normalized at this point
+ var matches = rcssNum.exec( value );
+ return matches ?
+
+ // Guard against undefined "subtract", e.g., when used as in cssHooks
+ Math.max( 0, matches[ 2 ] - ( subtract || 0 ) ) + ( matches[ 3 ] || "px" ) :
+ value;
+}
+
+function augmentWidthOrHeight( elem, name, extra, isBorderBox, styles ) {
+ var i = extra === ( isBorderBox ? "border" : "content" ) ?
+
+ // If we already have the right measurement, avoid augmentation
+ 4 :
+
+ // Otherwise initialize for horizontal or vertical properties
+ name === "width" ? 1 : 0,
+
+ val = 0;
+
+ for ( ; i < 4; i += 2 ) {
+
+ // Both box models exclude margin, so add it if we want it
+ if ( extra === "margin" ) {
+ val += jQuery.css( elem, extra + cssExpand[ i ], true, styles );
+ }
+
+ if ( isBorderBox ) {
+
+ // border-box includes padding, so remove it if we want content
+ if ( extra === "content" ) {
+ val -= jQuery.css( elem, "padding" + cssExpand[ i ], true, styles );
+ }
+
+ // At this point, extra isn't border nor margin, so remove border
+ if ( extra !== "margin" ) {
+ val -= jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles );
+ }
+ } else {
+
+ // At this point, extra isn't content, so add padding
+ val += jQuery.css( elem, "padding" + cssExpand[ i ], true, styles );
+
+ // At this point, extra isn't content nor padding, so add border
+ if ( extra !== "padding" ) {
+ val += jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles );
+ }
+ }
+ }
+
+ return val;
+}
+
+function getWidthOrHeight( elem, name, extra ) {
+
+ // Start with offset property, which is equivalent to the border-box value
+ var valueIsBorderBox = true,
+ val = name === "width" ? elem.offsetWidth : elem.offsetHeight,
+ styles = getStyles( elem ),
+ isBorderBox = jQuery.css( elem, "boxSizing", false, styles ) === "border-box";
+
+ // Some non-html elements return undefined for offsetWidth, so check for null/undefined
+ // svg - https://bugzilla.mozilla.org/show_bug.cgi?id=649285
+ // MathML - https://bugzilla.mozilla.org/show_bug.cgi?id=491668
+ if ( val <= 0 || val == null ) {
+
+ // Fall back to computed then uncomputed css if necessary
+ val = curCSS( elem, name, styles );
+ if ( val < 0 || val == null ) {
+ val = elem.style[ name ];
+ }
+
+ // Computed unit is not pixels. Stop here and return.
+ if ( rnumnonpx.test( val ) ) {
+ return val;
+ }
+
+ // Check for style in case a browser which returns unreliable values
+ // for getComputedStyle silently falls back to the reliable elem.style
+ valueIsBorderBox = isBorderBox &&
+ ( support.boxSizingReliable() || val === elem.style[ name ] );
+
+ // Normalize "", auto, and prepare for extra
+ val = parseFloat( val ) || 0;
+ }
+
+ // Use the active box-sizing model to add/subtract irrelevant styles
+ return ( val +
+ augmentWidthOrHeight(
+ elem,
+ name,
+ extra || ( isBorderBox ? "border" : "content" ),
+ valueIsBorderBox,
+ styles
+ )
+ ) + "px";
+}
+
+function showHide( elements, show ) {
+ var display, elem, hidden,
+ values = [],
+ index = 0,
+ length = elements.length;
+
+ for ( ; index < length; index++ ) {
+ elem = elements[ index ];
+ if ( !elem.style ) {
+ continue;
+ }
+
+ values[ index ] = dataPriv.get( elem, "olddisplay" );
+ display = elem.style.display;
+ if ( show ) {
+
+ // Reset the inline display of this element to learn if it is
+ // being hidden by cascaded rules or not
+ if ( !values[ index ] && display === "none" ) {
+ elem.style.display = "";
+ }
+
+ // Set elements which have been overridden with display: none
+ // in a stylesheet to whatever the default browser style is
+ // for such an element
+ if ( elem.style.display === "" && isHidden( elem ) ) {
+ values[ index ] = dataPriv.access(
+ elem,
+ "olddisplay",
+ defaultDisplay( elem.nodeName )
+ );
+ }
+ } else {
+ hidden = isHidden( elem );
+
+ if ( display !== "none" || !hidden ) {
+ dataPriv.set(
+ elem,
+ "olddisplay",
+ hidden ? display : jQuery.css( elem, "display" )
+ );
+ }
+ }
+ }
+
+ // Set the display of most of the elements in a second loop
+ // to avoid the constant reflow
+ for ( index = 0; index < length; index++ ) {
+ elem = elements[ index ];
+ if ( !elem.style ) {
+ continue;
+ }
+ if ( !show || elem.style.display === "none" || elem.style.display === "" ) {
+ elem.style.display = show ? values[ index ] || "" : "none";
+ }
+ }
+
+ return elements;
+}
+
+jQuery.extend( {
+
+ // Add in style property hooks for overriding the default
+ // behavior of getting and setting a style property
+ cssHooks: {
+ opacity: {
+ get: function( elem, computed ) {
+ if ( computed ) {
+
+ // We should always get a number back from opacity
+ var ret = curCSS( elem, "opacity" );
+ return ret === "" ? "1" : ret;
+ }
+ }
+ }
+ },
+
+ // Don't automatically add "px" to these possibly-unitless properties
+ cssNumber: {
+ "animationIterationCount": true,
+ "columnCount": true,
+ "fillOpacity": true,
+ "flexGrow": true,
+ "flexShrink": true,
+ "fontWeight": true,
+ "lineHeight": true,
+ "opacity": true,
+ "order": true,
+ "orphans": true,
+ "widows": true,
+ "zIndex": true,
+ "zoom": true
+ },
+
+ // Add in properties whose names you wish to fix before
+ // setting or getting the value
+ cssProps: {
+ "float": "cssFloat"
+ },
+
+ // Get and set the style property on a DOM Node
+ style: function( elem, name, value, extra ) {
+
+ // Don't set styles on text and comment nodes
+ if ( !elem || elem.nodeType === 3 || elem.nodeType === 8 || !elem.style ) {
+ return;
+ }
+
+ // Make sure that we're working with the right name
+ var ret, type, hooks,
+ origName = jQuery.camelCase( name ),
+ style = elem.style;
+
+ name = jQuery.cssProps[ origName ] ||
+ ( jQuery.cssProps[ origName ] = vendorPropName( origName ) || origName );
+
+ // Gets hook for the prefixed version, then unprefixed version
+ hooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ];
+
+ // Check if we're setting a value
+ if ( value !== undefined ) {
+ type = typeof value;
+
+ // Convert "+=" or "-=" to relative numbers (#7345)
+ if ( type === "string" && ( ret = rcssNum.exec( value ) ) && ret[ 1 ] ) {
+ value = adjustCSS( elem, name, ret );
+
+ // Fixes bug #9237
+ type = "number";
+ }
+
+ // Make sure that null and NaN values aren't set (#7116)
+ if ( value == null || value !== value ) {
+ return;
+ }
+
+ // If a number was passed in, add the unit (except for certain CSS properties)
+ if ( type === "number" ) {
+ value += ret && ret[ 3 ] || ( jQuery.cssNumber[ origName ] ? "" : "px" );
+ }
+
+ // Support: IE9-11+
+ // background-* props affect original clone's values
+ if ( !support.clearCloneStyle && value === "" && name.indexOf( "background" ) === 0 ) {
+ style[ name ] = "inherit";
+ }
+
+ // If a hook was provided, use that value, otherwise just set the specified value
+ if ( !hooks || !( "set" in hooks ) ||
+ ( value = hooks.set( elem, value, extra ) ) !== undefined ) {
+
+ style[ name ] = value;
+ }
+
+ } else {
+
+ // If a hook was provided get the non-computed value from there
+ if ( hooks && "get" in hooks &&
+ ( ret = hooks.get( elem, false, extra ) ) !== undefined ) {
+
+ return ret;
+ }
+
+ // Otherwise just get the value from the style object
+ return style[ name ];
+ }
+ },
+
+ css: function( elem, name, extra, styles ) {
+ var val, num, hooks,
+ origName = jQuery.camelCase( name );
+
+ // Make sure that we're working with the right name
+ name = jQuery.cssProps[ origName ] ||
+ ( jQuery.cssProps[ origName ] = vendorPropName( origName ) || origName );
+
+ // Try prefixed name followed by the unprefixed name
+ hooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ];
+
+ // If a hook was provided get the computed value from there
+ if ( hooks && "get" in hooks ) {
+ val = hooks.get( elem, true, extra );
+ }
+
+ // Otherwise, if a way to get the computed value exists, use that
+ if ( val === undefined ) {
+ val = curCSS( elem, name, styles );
+ }
+
+ // Convert "normal" to computed value
+ if ( val === "normal" && name in cssNormalTransform ) {
+ val = cssNormalTransform[ name ];
+ }
+
+ // Make numeric if forced or a qualifier was provided and val looks numeric
+ if ( extra === "" || extra ) {
+ num = parseFloat( val );
+ return extra === true || isFinite( num ) ? num || 0 : val;
+ }
+ return val;
+ }
+} );
+
+jQuery.each( [ "height", "width" ], function( i, name ) {
+ jQuery.cssHooks[ name ] = {
+ get: function( elem, computed, extra ) {
+ if ( computed ) {
+
+ // Certain elements can have dimension info if we invisibly show them
+ // but it must have a current display style that would benefit
+ return rdisplayswap.test( jQuery.css( elem, "display" ) ) &&
+ elem.offsetWidth === 0 ?
+ swap( elem, cssShow, function() {
+ return getWidthOrHeight( elem, name, extra );
+ } ) :
+ getWidthOrHeight( elem, name, extra );
+ }
+ },
+
+ set: function( elem, value, extra ) {
+ var matches,
+ styles = extra && getStyles( elem ),
+ subtract = extra && augmentWidthOrHeight(
+ elem,
+ name,
+ extra,
+ jQuery.css( elem, "boxSizing", false, styles ) === "border-box",
+ styles
+ );
+
+ // Convert to pixels if value adjustment is needed
+ if ( subtract && ( matches = rcssNum.exec( value ) ) &&
+ ( matches[ 3 ] || "px" ) !== "px" ) {
+
+ elem.style[ name ] = value;
+ value = jQuery.css( elem, name );
+ }
+
+ return setPositiveNumber( elem, value, subtract );
+ }
+ };
+} );
+
+jQuery.cssHooks.marginLeft = addGetHookIf( support.reliableMarginLeft,
+ function( elem, computed ) {
+ if ( computed ) {
+ return ( parseFloat( curCSS( elem, "marginLeft" ) ) ||
+ elem.getBoundingClientRect().left -
+ swap( elem, { marginLeft: 0 }, function() {
+ return elem.getBoundingClientRect().left;
+ } )
+ ) + "px";
+ }
+ }
+);
+
+// Support: Android 2.3
+jQuery.cssHooks.marginRight = addGetHookIf( support.reliableMarginRight,
+ function( elem, computed ) {
+ if ( computed ) {
+ return swap( elem, { "display": "inline-block" },
+ curCSS, [ elem, "marginRight" ] );
+ }
+ }
+);
+
+// These hooks are used by animate to expand properties
+jQuery.each( {
+ margin: "",
+ padding: "",
+ border: "Width"
+}, function( prefix, suffix ) {
+ jQuery.cssHooks[ prefix + suffix ] = {
+ expand: function( value ) {
+ var i = 0,
+ expanded = {},
+
+ // Assumes a single number if not a string
+ parts = typeof value === "string" ? value.split( " " ) : [ value ];
+
+ for ( ; i < 4; i++ ) {
+ expanded[ prefix + cssExpand[ i ] + suffix ] =
+ parts[ i ] || parts[ i - 2 ] || parts[ 0 ];
+ }
+
+ return expanded;
+ }
+ };
+
+ if ( !rmargin.test( prefix ) ) {
+ jQuery.cssHooks[ prefix + suffix ].set = setPositiveNumber;
+ }
+} );
+
+jQuery.fn.extend( {
+ css: function( name, value ) {
+ return access( this, function( elem, name, value ) {
+ var styles, len,
+ map = {},
+ i = 0;
+
+ if ( jQuery.isArray( name ) ) {
+ styles = getStyles( elem );
+ len = name.length;
+
+ for ( ; i < len; i++ ) {
+ map[ name[ i ] ] = jQuery.css( elem, name[ i ], false, styles );
+ }
+
+ return map;
+ }
+
+ return value !== undefined ?
+ jQuery.style( elem, name, value ) :
+ jQuery.css( elem, name );
+ }, name, value, arguments.length > 1 );
+ },
+ show: function() {
+ return showHide( this, true );
+ },
+ hide: function() {
+ return showHide( this );
+ },
+ toggle: function( state ) {
+ if ( typeof state === "boolean" ) {
+ return state ? this.show() : this.hide();
+ }
+
+ return this.each( function() {
+ if ( isHidden( this ) ) {
+ jQuery( this ).show();
+ } else {
+ jQuery( this ).hide();
+ }
+ } );
+ }
+} );
+
+
+function Tween( elem, options, prop, end, easing ) {
+ return new Tween.prototype.init( elem, options, prop, end, easing );
+}
+jQuery.Tween = Tween;
+
+Tween.prototype = {
+ constructor: Tween,
+ init: function( elem, options, prop, end, easing, unit ) {
+ this.elem = elem;
+ this.prop = prop;
+ this.easing = easing || jQuery.easing._default;
+ this.options = options;
+ this.start = this.now = this.cur();
+ this.end = end;
+ this.unit = unit || ( jQuery.cssNumber[ prop ] ? "" : "px" );
+ },
+ cur: function() {
+ var hooks = Tween.propHooks[ this.prop ];
+
+ return hooks && hooks.get ?
+ hooks.get( this ) :
+ Tween.propHooks._default.get( this );
+ },
+ run: function( percent ) {
+ var eased,
+ hooks = Tween.propHooks[ this.prop ];
+
+ if ( this.options.duration ) {
+ this.pos = eased = jQuery.easing[ this.easing ](
+ percent, this.options.duration * percent, 0, 1, this.options.duration
+ );
+ } else {
+ this.pos = eased = percent;
+ }
+ this.now = ( this.end - this.start ) * eased + this.start;
+
+ if ( this.options.step ) {
+ this.options.step.call( this.elem, this.now, this );
+ }
+
+ if ( hooks && hooks.set ) {
+ hooks.set( this );
+ } else {
+ Tween.propHooks._default.set( this );
+ }
+ return this;
+ }
+};
+
+Tween.prototype.init.prototype = Tween.prototype;
+
+Tween.propHooks = {
+ _default: {
+ get: function( tween ) {
+ var result;
+
+ // Use a property on the element directly when it is not a DOM element,
+ // or when there is no matching style property that exists.
+ if ( tween.elem.nodeType !== 1 ||
+ tween.elem[ tween.prop ] != null && tween.elem.style[ tween.prop ] == null ) {
+ return tween.elem[ tween.prop ];
+ }
+
+ // Passing an empty string as a 3rd parameter to .css will automatically
+ // attempt a parseFloat and fallback to a string if the parse fails.
+ // Simple values such as "10px" are parsed to Float;
+ // complex values such as "rotate(1rad)" are returned as-is.
+ result = jQuery.css( tween.elem, tween.prop, "" );
+
+ // Empty strings, null, undefined and "auto" are converted to 0.
+ return !result || result === "auto" ? 0 : result;
+ },
+ set: function( tween ) {
+
+ // Use step hook for back compat.
+ // Use cssHook if its there.
+ // Use .style if available and use plain properties where available.
+ if ( jQuery.fx.step[ tween.prop ] ) {
+ jQuery.fx.step[ tween.prop ]( tween );
+ } else if ( tween.elem.nodeType === 1 &&
+ ( tween.elem.style[ jQuery.cssProps[ tween.prop ] ] != null ||
+ jQuery.cssHooks[ tween.prop ] ) ) {
+ jQuery.style( tween.elem, tween.prop, tween.now + tween.unit );
+ } else {
+ tween.elem[ tween.prop ] = tween.now;
+ }
+ }
+ }
+};
+
+// Support: IE9
+// Panic based approach to setting things on disconnected nodes
+Tween.propHooks.scrollTop = Tween.propHooks.scrollLeft = {
+ set: function( tween ) {
+ if ( tween.elem.nodeType && tween.elem.parentNode ) {
+ tween.elem[ tween.prop ] = tween.now;
+ }
+ }
+};
+
+jQuery.easing = {
+ linear: function( p ) {
+ return p;
+ },
+ swing: function( p ) {
+ return 0.5 - Math.cos( p * Math.PI ) / 2;
+ },
+ _default: "swing"
+};
+
+jQuery.fx = Tween.prototype.init;
+
+// Back Compat <1.8 extension point
+jQuery.fx.step = {};
+
+
+
+
+var
+ fxNow, timerId,
+ rfxtypes = /^(?:toggle|show|hide)$/,
+ rrun = /queueHooks$/;
+
+// Animations created synchronously will run synchronously
+function createFxNow() {
+ window.setTimeout( function() {
+ fxNow = undefined;
+ } );
+ return ( fxNow = jQuery.now() );
+}
+
+// Generate parameters to create a standard animation
+function genFx( type, includeWidth ) {
+ var which,
+ i = 0,
+ attrs = { height: type };
+
+ // If we include width, step value is 1 to do all cssExpand values,
+ // otherwise step value is 2 to skip over Left and Right
+ includeWidth = includeWidth ? 1 : 0;
+ for ( ; i < 4 ; i += 2 - includeWidth ) {
+ which = cssExpand[ i ];
+ attrs[ "margin" + which ] = attrs[ "padding" + which ] = type;
+ }
+
+ if ( includeWidth ) {
+ attrs.opacity = attrs.width = type;
+ }
+
+ return attrs;
+}
+
+function createTween( value, prop, animation ) {
+ var tween,
+ collection = ( Animation.tweeners[ prop ] || [] ).concat( Animation.tweeners[ "*" ] ),
+ index = 0,
+ length = collection.length;
+ for ( ; index < length; index++ ) {
+ if ( ( tween = collection[ index ].call( animation, prop, value ) ) ) {
+
+ // We're done with this property
+ return tween;
+ }
+ }
+}
+
+function defaultPrefilter( elem, props, opts ) {
+ /* jshint validthis: true */
+ var prop, value, toggle, tween, hooks, oldfire, display, checkDisplay,
+ anim = this,
+ orig = {},
+ style = elem.style,
+ hidden = elem.nodeType && isHidden( elem ),
+ dataShow = dataPriv.get( elem, "fxshow" );
+
+ // Handle queue: false promises
+ if ( !opts.queue ) {
+ hooks = jQuery._queueHooks( elem, "fx" );
+ if ( hooks.unqueued == null ) {
+ hooks.unqueued = 0;
+ oldfire = hooks.empty.fire;
+ hooks.empty.fire = function() {
+ if ( !hooks.unqueued ) {
+ oldfire();
+ }
+ };
+ }
+ hooks.unqueued++;
+
+ anim.always( function() {
+
+ // Ensure the complete handler is called before this completes
+ anim.always( function() {
+ hooks.unqueued--;
+ if ( !jQuery.queue( elem, "fx" ).length ) {
+ hooks.empty.fire();
+ }
+ } );
+ } );
+ }
+
+ // Height/width overflow pass
+ if ( elem.nodeType === 1 && ( "height" in props || "width" in props ) ) {
+
+ // Make sure that nothing sneaks out
+ // Record all 3 overflow attributes because IE9-10 do not
+ // change the overflow attribute when overflowX and
+ // overflowY are set to the same value
+ opts.overflow = [ style.overflow, style.overflowX, style.overflowY ];
+
+ // Set display property to inline-block for height/width
+ // animations on inline elements that are having width/height animated
+ display = jQuery.css( elem, "display" );
+
+ // Test default display if display is currently "none"
+ checkDisplay = display === "none" ?
+ dataPriv.get( elem, "olddisplay" ) || defaultDisplay( elem.nodeName ) : display;
+
+ if ( checkDisplay === "inline" && jQuery.css( elem, "float" ) === "none" ) {
+ style.display = "inline-block";
+ }
+ }
+
+ if ( opts.overflow ) {
+ style.overflow = "hidden";
+ anim.always( function() {
+ style.overflow = opts.overflow[ 0 ];
+ style.overflowX = opts.overflow[ 1 ];
+ style.overflowY = opts.overflow[ 2 ];
+ } );
+ }
+
+ // show/hide pass
+ for ( prop in props ) {
+ value = props[ prop ];
+ if ( rfxtypes.exec( value ) ) {
+ delete props[ prop ];
+ toggle = toggle || value === "toggle";
+ if ( value === ( hidden ? "hide" : "show" ) ) {
+
+ // If there is dataShow left over from a stopped hide or show
+ // and we are going to proceed with show, we should pretend to be hidden
+ if ( value === "show" && dataShow && dataShow[ prop ] !== undefined ) {
+ hidden = true;
+ } else {
+ continue;
+ }
+ }
+ orig[ prop ] = dataShow && dataShow[ prop ] || jQuery.style( elem, prop );
+
+ // Any non-fx value stops us from restoring the original display value
+ } else {
+ display = undefined;
+ }
+ }
+
+ if ( !jQuery.isEmptyObject( orig ) ) {
+ if ( dataShow ) {
+ if ( "hidden" in dataShow ) {
+ hidden = dataShow.hidden;
+ }
+ } else {
+ dataShow = dataPriv.access( elem, "fxshow", {} );
+ }
+
+ // Store state if its toggle - enables .stop().toggle() to "reverse"
+ if ( toggle ) {
+ dataShow.hidden = !hidden;
+ }
+ if ( hidden ) {
+ jQuery( elem ).show();
+ } else {
+ anim.done( function() {
+ jQuery( elem ).hide();
+ } );
+ }
+ anim.done( function() {
+ var prop;
+
+ dataPriv.remove( elem, "fxshow" );
+ for ( prop in orig ) {
+ jQuery.style( elem, prop, orig[ prop ] );
+ }
+ } );
+ for ( prop in orig ) {
+ tween = createTween( hidden ? dataShow[ prop ] : 0, prop, anim );
+
+ if ( !( prop in dataShow ) ) {
+ dataShow[ prop ] = tween.start;
+ if ( hidden ) {
+ tween.end = tween.start;
+ tween.start = prop === "width" || prop === "height" ? 1 : 0;
+ }
+ }
+ }
+
+ // If this is a noop like .hide().hide(), restore an overwritten display value
+ } else if ( ( display === "none" ? defaultDisplay( elem.nodeName ) : display ) === "inline" ) {
+ style.display = display;
+ }
+}
+
+function propFilter( props, specialEasing ) {
+ var index, name, easing, value, hooks;
+
+ // camelCase, specialEasing and expand cssHook pass
+ for ( index in props ) {
+ name = jQuery.camelCase( index );
+ easing = specialEasing[ name ];
+ value = props[ index ];
+ if ( jQuery.isArray( value ) ) {
+ easing = value[ 1 ];
+ value = props[ index ] = value[ 0 ];
+ }
+
+ if ( index !== name ) {
+ props[ name ] = value;
+ delete props[ index ];
+ }
+
+ hooks = jQuery.cssHooks[ name ];
+ if ( hooks && "expand" in hooks ) {
+ value = hooks.expand( value );
+ delete props[ name ];
+
+ // Not quite $.extend, this won't overwrite existing keys.
+ // Reusing 'index' because we have the correct "name"
+ for ( index in value ) {
+ if ( !( index in props ) ) {
+ props[ index ] = value[ index ];
+ specialEasing[ index ] = easing;
+ }
+ }
+ } else {
+ specialEasing[ name ] = easing;
+ }
+ }
+}
+
+function Animation( elem, properties, options ) {
+ var result,
+ stopped,
+ index = 0,
+ length = Animation.prefilters.length,
+ deferred = jQuery.Deferred().always( function() {
+
+ // Don't match elem in the :animated selector
+ delete tick.elem;
+ } ),
+ tick = function() {
+ if ( stopped ) {
+ return false;
+ }
+ var currentTime = fxNow || createFxNow(),
+ remaining = Math.max( 0, animation.startTime + animation.duration - currentTime ),
+
+ // Support: Android 2.3
+ // Archaic crash bug won't allow us to use `1 - ( 0.5 || 0 )` (#12497)
+ temp = remaining / animation.duration || 0,
+ percent = 1 - temp,
+ index = 0,
+ length = animation.tweens.length;
+
+ for ( ; index < length ; index++ ) {
+ animation.tweens[ index ].run( percent );
+ }
+
+ deferred.notifyWith( elem, [ animation, percent, remaining ] );
+
+ if ( percent < 1 && length ) {
+ return remaining;
+ } else {
+ deferred.resolveWith( elem, [ animation ] );
+ return false;
+ }
+ },
+ animation = deferred.promise( {
+ elem: elem,
+ props: jQuery.extend( {}, properties ),
+ opts: jQuery.extend( true, {
+ specialEasing: {},
+ easing: jQuery.easing._default
+ }, options ),
+ originalProperties: properties,
+ originalOptions: options,
+ startTime: fxNow || createFxNow(),
+ duration: options.duration,
+ tweens: [],
+ createTween: function( prop, end ) {
+ var tween = jQuery.Tween( elem, animation.opts, prop, end,
+ animation.opts.specialEasing[ prop ] || animation.opts.easing );
+ animation.tweens.push( tween );
+ return tween;
+ },
+ stop: function( gotoEnd ) {
+ var index = 0,
+
+ // If we are going to the end, we want to run all the tweens
+ // otherwise we skip this part
+ length = gotoEnd ? animation.tweens.length : 0;
+ if ( stopped ) {
+ return this;
+ }
+ stopped = true;
+ for ( ; index < length ; index++ ) {
+ animation.tweens[ index ].run( 1 );
+ }
+
+ // Resolve when we played the last frame; otherwise, reject
+ if ( gotoEnd ) {
+ deferred.notifyWith( elem, [ animation, 1, 0 ] );
+ deferred.resolveWith( elem, [ animation, gotoEnd ] );
+ } else {
+ deferred.rejectWith( elem, [ animation, gotoEnd ] );
+ }
+ return this;
+ }
+ } ),
+ props = animation.props;
+
+ propFilter( props, animation.opts.specialEasing );
+
+ for ( ; index < length ; index++ ) {
+ result = Animation.prefilters[ index ].call( animation, elem, props, animation.opts );
+ if ( result ) {
+ if ( jQuery.isFunction( result.stop ) ) {
+ jQuery._queueHooks( animation.elem, animation.opts.queue ).stop =
+ jQuery.proxy( result.stop, result );
+ }
+ return result;
+ }
+ }
+
+ jQuery.map( props, createTween, animation );
+
+ if ( jQuery.isFunction( animation.opts.start ) ) {
+ animation.opts.start.call( elem, animation );
+ }
+
+ jQuery.fx.timer(
+ jQuery.extend( tick, {
+ elem: elem,
+ anim: animation,
+ queue: animation.opts.queue
+ } )
+ );
+
+ // attach callbacks from options
+ return animation.progress( animation.opts.progress )
+ .done( animation.opts.done, animation.opts.complete )
+ .fail( animation.opts.fail )
+ .always( animation.opts.always );
+}
+
+jQuery.Animation = jQuery.extend( Animation, {
+ tweeners: {
+ "*": [ function( prop, value ) {
+ var tween = this.createTween( prop, value );
+ adjustCSS( tween.elem, prop, rcssNum.exec( value ), tween );
+ return tween;
+ } ]
+ },
+
+ tweener: function( props, callback ) {
+ if ( jQuery.isFunction( props ) ) {
+ callback = props;
+ props = [ "*" ];
+ } else {
+ props = props.match( rnotwhite );
+ }
+
+ var prop,
+ index = 0,
+ length = props.length;
+
+ for ( ; index < length ; index++ ) {
+ prop = props[ index ];
+ Animation.tweeners[ prop ] = Animation.tweeners[ prop ] || [];
+ Animation.tweeners[ prop ].unshift( callback );
+ }
+ },
+
+ prefilters: [ defaultPrefilter ],
+
+ prefilter: function( callback, prepend ) {
+ if ( prepend ) {
+ Animation.prefilters.unshift( callback );
+ } else {
+ Animation.prefilters.push( callback );
+ }
+ }
+} );
+
+jQuery.speed = function( speed, easing, fn ) {
+ var opt = speed && typeof speed === "object" ? jQuery.extend( {}, speed ) : {
+ complete: fn || !fn && easing ||
+ jQuery.isFunction( speed ) && speed,
+ duration: speed,
+ easing: fn && easing || easing && !jQuery.isFunction( easing ) && easing
+ };
+
+ opt.duration = jQuery.fx.off ? 0 : typeof opt.duration === "number" ?
+ opt.duration : opt.duration in jQuery.fx.speeds ?
+ jQuery.fx.speeds[ opt.duration ] : jQuery.fx.speeds._default;
+
+ // Normalize opt.queue - true/undefined/null -> "fx"
+ if ( opt.queue == null || opt.queue === true ) {
+ opt.queue = "fx";
+ }
+
+ // Queueing
+ opt.old = opt.complete;
+
+ opt.complete = function() {
+ if ( jQuery.isFunction( opt.old ) ) {
+ opt.old.call( this );
+ }
+
+ if ( opt.queue ) {
+ jQuery.dequeue( this, opt.queue );
+ }
+ };
+
+ return opt;
+};
+
+jQuery.fn.extend( {
+ fadeTo: function( speed, to, easing, callback ) {
+
+ // Show any hidden elements after setting opacity to 0
+ return this.filter( isHidden ).css( "opacity", 0 ).show()
+
+ // Animate to the value specified
+ .end().animate( { opacity: to }, speed, easing, callback );
+ },
+ animate: function( prop, speed, easing, callback ) {
+ var empty = jQuery.isEmptyObject( prop ),
+ optall = jQuery.speed( speed, easing, callback ),
+ doAnimation = function() {
+
+ // Operate on a copy of prop so per-property easing won't be lost
+ var anim = Animation( this, jQuery.extend( {}, prop ), optall );
+
+ // Empty animations, or finishing resolves immediately
+ if ( empty || dataPriv.get( this, "finish" ) ) {
+ anim.stop( true );
+ }
+ };
+ doAnimation.finish = doAnimation;
+
+ return empty || optall.queue === false ?
+ this.each( doAnimation ) :
+ this.queue( optall.queue, doAnimation );
+ },
+ stop: function( type, clearQueue, gotoEnd ) {
+ var stopQueue = function( hooks ) {
+ var stop = hooks.stop;
+ delete hooks.stop;
+ stop( gotoEnd );
+ };
+
+ if ( typeof type !== "string" ) {
+ gotoEnd = clearQueue;
+ clearQueue = type;
+ type = undefined;
+ }
+ if ( clearQueue && type !== false ) {
+ this.queue( type || "fx", [] );
+ }
+
+ return this.each( function() {
+ var dequeue = true,
+ index = type != null && type + "queueHooks",
+ timers = jQuery.timers,
+ data = dataPriv.get( this );
+
+ if ( index ) {
+ if ( data[ index ] && data[ index ].stop ) {
+ stopQueue( data[ index ] );
+ }
+ } else {
+ for ( index in data ) {
+ if ( data[ index ] && data[ index ].stop && rrun.test( index ) ) {
+ stopQueue( data[ index ] );
+ }
+ }
+ }
+
+ for ( index = timers.length; index--; ) {
+ if ( timers[ index ].elem === this &&
+ ( type == null || timers[ index ].queue === type ) ) {
+
+ timers[ index ].anim.stop( gotoEnd );
+ dequeue = false;
+ timers.splice( index, 1 );
+ }
+ }
+
+ // Start the next in the queue if the last step wasn't forced.
+ // Timers currently will call their complete callbacks, which
+ // will dequeue but only if they were gotoEnd.
+ if ( dequeue || !gotoEnd ) {
+ jQuery.dequeue( this, type );
+ }
+ } );
+ },
+ finish: function( type ) {
+ if ( type !== false ) {
+ type = type || "fx";
+ }
+ return this.each( function() {
+ var index,
+ data = dataPriv.get( this ),
+ queue = data[ type + "queue" ],
+ hooks = data[ type + "queueHooks" ],
+ timers = jQuery.timers,
+ length = queue ? queue.length : 0;
+
+ // Enable finishing flag on private data
+ data.finish = true;
+
+ // Empty the queue first
+ jQuery.queue( this, type, [] );
+
+ if ( hooks && hooks.stop ) {
+ hooks.stop.call( this, true );
+ }
+
+ // Look for any active animations, and finish them
+ for ( index = timers.length; index--; ) {
+ if ( timers[ index ].elem === this && timers[ index ].queue === type ) {
+ timers[ index ].anim.stop( true );
+ timers.splice( index, 1 );
+ }
+ }
+
+ // Look for any animations in the old queue and finish them
+ for ( index = 0; index < length; index++ ) {
+ if ( queue[ index ] && queue[ index ].finish ) {
+ queue[ index ].finish.call( this );
+ }
+ }
+
+ // Turn off finishing flag
+ delete data.finish;
+ } );
+ }
+} );
+
+jQuery.each( [ "toggle", "show", "hide" ], function( i, name ) {
+ var cssFn = jQuery.fn[ name ];
+ jQuery.fn[ name ] = function( speed, easing, callback ) {
+ return speed == null || typeof speed === "boolean" ?
+ cssFn.apply( this, arguments ) :
+ this.animate( genFx( name, true ), speed, easing, callback );
+ };
+} );
+
+// Generate shortcuts for custom animations
+jQuery.each( {
+ slideDown: genFx( "show" ),
+ slideUp: genFx( "hide" ),
+ slideToggle: genFx( "toggle" ),
+ fadeIn: { opacity: "show" },
+ fadeOut: { opacity: "hide" },
+ fadeToggle: { opacity: "toggle" }
+}, function( name, props ) {
+ jQuery.fn[ name ] = function( speed, easing, callback ) {
+ return this.animate( props, speed, easing, callback );
+ };
+} );
+
+jQuery.timers = [];
+jQuery.fx.tick = function() {
+ var timer,
+ i = 0,
+ timers = jQuery.timers;
+
+ fxNow = jQuery.now();
+
+ for ( ; i < timers.length; i++ ) {
+ timer = timers[ i ];
+
+ // Checks the timer has not already been removed
+ if ( !timer() && timers[ i ] === timer ) {
+ timers.splice( i--, 1 );
+ }
+ }
+
+ if ( !timers.length ) {
+ jQuery.fx.stop();
+ }
+ fxNow = undefined;
+};
+
+jQuery.fx.timer = function( timer ) {
+ jQuery.timers.push( timer );
+ if ( timer() ) {
+ jQuery.fx.start();
+ } else {
+ jQuery.timers.pop();
+ }
+};
+
+jQuery.fx.interval = 13;
+jQuery.fx.start = function() {
+ if ( !timerId ) {
+ timerId = window.setInterval( jQuery.fx.tick, jQuery.fx.interval );
+ }
+};
+
+jQuery.fx.stop = function() {
+ window.clearInterval( timerId );
+
+ timerId = null;
+};
+
+jQuery.fx.speeds = {
+ slow: 600,
+ fast: 200,
+
+ // Default speed
+ _default: 400
+};
+
+
+// Based off of the plugin by Clint Helfers, with permission.
+// http://web.archive.org/web/20100324014747/http://blindsignals.com/index.php/2009/07/jquery-delay/
+jQuery.fn.delay = function( time, type ) {
+ time = jQuery.fx ? jQuery.fx.speeds[ time ] || time : time;
+ type = type || "fx";
+
+ return this.queue( type, function( next, hooks ) {
+ var timeout = window.setTimeout( next, time );
+ hooks.stop = function() {
+ window.clearTimeout( timeout );
+ };
+ } );
+};
+
+
+( function() {
+ var input = document.createElement( "input" ),
+ select = document.createElement( "select" ),
+ opt = select.appendChild( document.createElement( "option" ) );
+
+ input.type = "checkbox";
+
+ // Support: iOS<=5.1, Android<=4.2+
+ // Default value for a checkbox should be "on"
+ support.checkOn = input.value !== "";
+
+ // Support: IE<=11+
+ // Must access selectedIndex to make default options select
+ support.optSelected = opt.selected;
+
+ // Support: Android<=2.3
+ // Options inside disabled selects are incorrectly marked as disabled
+ select.disabled = true;
+ support.optDisabled = !opt.disabled;
+
+ // Support: IE<=11+
+ // An input loses its value after becoming a radio
+ input = document.createElement( "input" );
+ input.value = "t";
+ input.type = "radio";
+ support.radioValue = input.value === "t";
+} )();
+
+
+var boolHook,
+ attrHandle = jQuery.expr.attrHandle;
+
+jQuery.fn.extend( {
+ attr: function( name, value ) {
+ return access( this, jQuery.attr, name, value, arguments.length > 1 );
+ },
+
+ removeAttr: function( name ) {
+ return this.each( function() {
+ jQuery.removeAttr( this, name );
+ } );
+ }
+} );
+
+jQuery.extend( {
+ attr: function( elem, name, value ) {
+ var ret, hooks,
+ nType = elem.nodeType;
+
+ // Don't get/set attributes on text, comment and attribute nodes
+ if ( nType === 3 || nType === 8 || nType === 2 ) {
+ return;
+ }
+
+ // Fallback to prop when attributes are not supported
+ if ( typeof elem.getAttribute === "undefined" ) {
+ return jQuery.prop( elem, name, value );
+ }
+
+ // All attributes are lowercase
+ // Grab necessary hook if one is defined
+ if ( nType !== 1 || !jQuery.isXMLDoc( elem ) ) {
+ name = name.toLowerCase();
+ hooks = jQuery.attrHooks[ name ] ||
+ ( jQuery.expr.match.bool.test( name ) ? boolHook : undefined );
+ }
+
+ if ( value !== undefined ) {
+ if ( value === null ) {
+ jQuery.removeAttr( elem, name );
+ return;
+ }
+
+ if ( hooks && "set" in hooks &&
+ ( ret = hooks.set( elem, value, name ) ) !== undefined ) {
+ return ret;
+ }
+
+ elem.setAttribute( name, value + "" );
+ return value;
+ }
+
+ if ( hooks && "get" in hooks && ( ret = hooks.get( elem, name ) ) !== null ) {
+ return ret;
+ }
+
+ ret = jQuery.find.attr( elem, name );
+
+ // Non-existent attributes return null, we normalize to undefined
+ return ret == null ? undefined : ret;
+ },
+
+ attrHooks: {
+ type: {
+ set: function( elem, value ) {
+ if ( !support.radioValue && value === "radio" &&
+ jQuery.nodeName( elem, "input" ) ) {
+ var val = elem.value;
+ elem.setAttribute( "type", value );
+ if ( val ) {
+ elem.value = val;
+ }
+ return value;
+ }
+ }
+ }
+ },
+
+ removeAttr: function( elem, value ) {
+ var name, propName,
+ i = 0,
+ attrNames = value && value.match( rnotwhite );
+
+ if ( attrNames && elem.nodeType === 1 ) {
+ while ( ( name = attrNames[ i++ ] ) ) {
+ propName = jQuery.propFix[ name ] || name;
+
+ // Boolean attributes get special treatment (#10870)
+ if ( jQuery.expr.match.bool.test( name ) ) {
+
+ // Set corresponding property to false
+ elem[ propName ] = false;
+ }
+
+ elem.removeAttribute( name );
+ }
+ }
+ }
+} );
+
+// Hooks for boolean attributes
+boolHook = {
+ set: function( elem, value, name ) {
+ if ( value === false ) {
+
+ // Remove boolean attributes when set to false
+ jQuery.removeAttr( elem, name );
+ } else {
+ elem.setAttribute( name, name );
+ }
+ return name;
+ }
+};
+jQuery.each( jQuery.expr.match.bool.source.match( /\w+/g ), function( i, name ) {
+ var getter = attrHandle[ name ] || jQuery.find.attr;
+
+ attrHandle[ name ] = function( elem, name, isXML ) {
+ var ret, handle;
+ if ( !isXML ) {
+
+ // Avoid an infinite loop by temporarily removing this function from the getter
+ handle = attrHandle[ name ];
+ attrHandle[ name ] = ret;
+ ret = getter( elem, name, isXML ) != null ?
+ name.toLowerCase() :
+ null;
+ attrHandle[ name ] = handle;
+ }
+ return ret;
+ };
+} );
+
+
+
+
+var rfocusable = /^(?:input|select|textarea|button)$/i,
+ rclickable = /^(?:a|area)$/i;
+
+jQuery.fn.extend( {
+ prop: function( name, value ) {
+ return access( this, jQuery.prop, name, value, arguments.length > 1 );
+ },
+
+ removeProp: function( name ) {
+ return this.each( function() {
+ delete this[ jQuery.propFix[ name ] || name ];
+ } );
+ }
+} );
+
+jQuery.extend( {
+ prop: function( elem, name, value ) {
+ var ret, hooks,
+ nType = elem.nodeType;
+
+ // Don't get/set properties on text, comment and attribute nodes
+ if ( nType === 3 || nType === 8 || nType === 2 ) {
+ return;
+ }
+
+ if ( nType !== 1 || !jQuery.isXMLDoc( elem ) ) {
+
+ // Fix name and attach hooks
+ name = jQuery.propFix[ name ] || name;
+ hooks = jQuery.propHooks[ name ];
+ }
+
+ if ( value !== undefined ) {
+ if ( hooks && "set" in hooks &&
+ ( ret = hooks.set( elem, value, name ) ) !== undefined ) {
+ return ret;
+ }
+
+ return ( elem[ name ] = value );
+ }
+
+ if ( hooks && "get" in hooks && ( ret = hooks.get( elem, name ) ) !== null ) {
+ return ret;
+ }
+
+ return elem[ name ];
+ },
+
+ propHooks: {
+ tabIndex: {
+ get: function( elem ) {
+
+ // elem.tabIndex doesn't always return the
+ // correct value when it hasn't been explicitly set
+ // http://fluidproject.org/blog/2008/01/09/getting-setting-and-removing-tabindex-values-with-javascript/
+ // Use proper attribute retrieval(#12072)
+ var tabindex = jQuery.find.attr( elem, "tabindex" );
+
+ return tabindex ?
+ parseInt( tabindex, 10 ) :
+ rfocusable.test( elem.nodeName ) ||
+ rclickable.test( elem.nodeName ) && elem.href ?
+ 0 :
+ -1;
+ }
+ }
+ },
+
+ propFix: {
+ "for": "htmlFor",
+ "class": "className"
+ }
+} );
+
+// Support: IE <=11 only
+// Accessing the selectedIndex property
+// forces the browser to respect setting selected
+// on the option
+// The getter ensures a default option is selected
+// when in an optgroup
+if ( !support.optSelected ) {
+ jQuery.propHooks.selected = {
+ get: function( elem ) {
+ var parent = elem.parentNode;
+ if ( parent && parent.parentNode ) {
+ parent.parentNode.selectedIndex;
+ }
+ return null;
+ },
+ set: function( elem ) {
+ var parent = elem.parentNode;
+ if ( parent ) {
+ parent.selectedIndex;
+
+ if ( parent.parentNode ) {
+ parent.parentNode.selectedIndex;
+ }
+ }
+ }
+ };
+}
+
+jQuery.each( [
+ "tabIndex",
+ "readOnly",
+ "maxLength",
+ "cellSpacing",
+ "cellPadding",
+ "rowSpan",
+ "colSpan",
+ "useMap",
+ "frameBorder",
+ "contentEditable"
+], function() {
+ jQuery.propFix[ this.toLowerCase() ] = this;
+} );
+
+
+
+
+var rclass = /[\t\r\n\f]/g;
+
+function getClass( elem ) {
+ return elem.getAttribute && elem.getAttribute( "class" ) || "";
+}
+
+jQuery.fn.extend( {
+ addClass: function( value ) {
+ var classes, elem, cur, curValue, clazz, j, finalValue,
+ i = 0;
+
+ if ( jQuery.isFunction( value ) ) {
+ return this.each( function( j ) {
+ jQuery( this ).addClass( value.call( this, j, getClass( this ) ) );
+ } );
+ }
+
+ if ( typeof value === "string" && value ) {
+ classes = value.match( rnotwhite ) || [];
+
+ while ( ( elem = this[ i++ ] ) ) {
+ curValue = getClass( elem );
+ cur = elem.nodeType === 1 &&
+ ( " " + curValue + " " ).replace( rclass, " " );
+
+ if ( cur ) {
+ j = 0;
+ while ( ( clazz = classes[ j++ ] ) ) {
+ if ( cur.indexOf( " " + clazz + " " ) < 0 ) {
+ cur += clazz + " ";
+ }
+ }
+
+ // Only assign if different to avoid unneeded rendering.
+ finalValue = jQuery.trim( cur );
+ if ( curValue !== finalValue ) {
+ elem.setAttribute( "class", finalValue );
+ }
+ }
+ }
+ }
+
+ return this;
+ },
+
+ removeClass: function( value ) {
+ var classes, elem, cur, curValue, clazz, j, finalValue,
+ i = 0;
+
+ if ( jQuery.isFunction( value ) ) {
+ return this.each( function( j ) {
+ jQuery( this ).removeClass( value.call( this, j, getClass( this ) ) );
+ } );
+ }
+
+ if ( !arguments.length ) {
+ return this.attr( "class", "" );
+ }
+
+ if ( typeof value === "string" && value ) {
+ classes = value.match( rnotwhite ) || [];
+
+ while ( ( elem = this[ i++ ] ) ) {
+ curValue = getClass( elem );
+
+ // This expression is here for better compressibility (see addClass)
+ cur = elem.nodeType === 1 &&
+ ( " " + curValue + " " ).replace( rclass, " " );
+
+ if ( cur ) {
+ j = 0;
+ while ( ( clazz = classes[ j++ ] ) ) {
+
+ // Remove *all* instances
+ while ( cur.indexOf( " " + clazz + " " ) > -1 ) {
+ cur = cur.replace( " " + clazz + " ", " " );
+ }
+ }
+
+ // Only assign if different to avoid unneeded rendering.
+ finalValue = jQuery.trim( cur );
+ if ( curValue !== finalValue ) {
+ elem.setAttribute( "class", finalValue );
+ }
+ }
+ }
+ }
+
+ return this;
+ },
+
+ toggleClass: function( value, stateVal ) {
+ var type = typeof value;
+
+ if ( typeof stateVal === "boolean" && type === "string" ) {
+ return stateVal ? this.addClass( value ) : this.removeClass( value );
+ }
+
+ if ( jQuery.isFunction( value ) ) {
+ return this.each( function( i ) {
+ jQuery( this ).toggleClass(
+ value.call( this, i, getClass( this ), stateVal ),
+ stateVal
+ );
+ } );
+ }
+
+ return this.each( function() {
+ var className, i, self, classNames;
+
+ if ( type === "string" ) {
+
+ // Toggle individual class names
+ i = 0;
+ self = jQuery( this );
+ classNames = value.match( rnotwhite ) || [];
+
+ while ( ( className = classNames[ i++ ] ) ) {
+
+ // Check each className given, space separated list
+ if ( self.hasClass( className ) ) {
+ self.removeClass( className );
+ } else {
+ self.addClass( className );
+ }
+ }
+
+ // Toggle whole class name
+ } else if ( value === undefined || type === "boolean" ) {
+ className = getClass( this );
+ if ( className ) {
+
+ // Store className if set
+ dataPriv.set( this, "__className__", className );
+ }
+
+ // If the element has a class name or if we're passed `false`,
+ // then remove the whole classname (if there was one, the above saved it).
+ // Otherwise bring back whatever was previously saved (if anything),
+ // falling back to the empty string if nothing was stored.
+ if ( this.setAttribute ) {
+ this.setAttribute( "class",
+ className || value === false ?
+ "" :
+ dataPriv.get( this, "__className__" ) || ""
+ );
+ }
+ }
+ } );
+ },
+
+ hasClass: function( selector ) {
+ var className, elem,
+ i = 0;
+
+ className = " " + selector + " ";
+ while ( ( elem = this[ i++ ] ) ) {
+ if ( elem.nodeType === 1 &&
+ ( " " + getClass( elem ) + " " ).replace( rclass, " " )
+ .indexOf( className ) > -1
+ ) {
+ return true;
+ }
+ }
+
+ return false;
+ }
+} );
+
+
+
+
+var rreturn = /\r/g,
+ rspaces = /[\x20\t\r\n\f]+/g;
+
+jQuery.fn.extend( {
+ val: function( value ) {
+ var hooks, ret, isFunction,
+ elem = this[ 0 ];
+
+ if ( !arguments.length ) {
+ if ( elem ) {
+ hooks = jQuery.valHooks[ elem.type ] ||
+ jQuery.valHooks[ elem.nodeName.toLowerCase() ];
+
+ if ( hooks &&
+ "get" in hooks &&
+ ( ret = hooks.get( elem, "value" ) ) !== undefined
+ ) {
+ return ret;
+ }
+
+ ret = elem.value;
+
+ return typeof ret === "string" ?
+
+ // Handle most common string cases
+ ret.replace( rreturn, "" ) :
+
+ // Handle cases where value is null/undef or number
+ ret == null ? "" : ret;
+ }
+
+ return;
+ }
+
+ isFunction = jQuery.isFunction( value );
+
+ return this.each( function( i ) {
+ var val;
+
+ if ( this.nodeType !== 1 ) {
+ return;
+ }
+
+ if ( isFunction ) {
+ val = value.call( this, i, jQuery( this ).val() );
+ } else {
+ val = value;
+ }
+
+ // Treat null/undefined as ""; convert numbers to string
+ if ( val == null ) {
+ val = "";
+
+ } else if ( typeof val === "number" ) {
+ val += "";
+
+ } else if ( jQuery.isArray( val ) ) {
+ val = jQuery.map( val, function( value ) {
+ return value == null ? "" : value + "";
+ } );
+ }
+
+ hooks = jQuery.valHooks[ this.type ] || jQuery.valHooks[ this.nodeName.toLowerCase() ];
+
+ // If set returns undefined, fall back to normal setting
+ if ( !hooks || !( "set" in hooks ) || hooks.set( this, val, "value" ) === undefined ) {
+ this.value = val;
+ }
+ } );
+ }
+} );
+
+jQuery.extend( {
+ valHooks: {
+ option: {
+ get: function( elem ) {
+
+ var val = jQuery.find.attr( elem, "value" );
+ return val != null ?
+ val :
+
+ // Support: IE10-11+
+ // option.text throws exceptions (#14686, #14858)
+ // Strip and collapse whitespace
+ // https://html.spec.whatwg.org/#strip-and-collapse-whitespace
+ jQuery.trim( jQuery.text( elem ) ).replace( rspaces, " " );
+ }
+ },
+ select: {
+ get: function( elem ) {
+ var value, option,
+ options = elem.options,
+ index = elem.selectedIndex,
+ one = elem.type === "select-one" || index < 0,
+ values = one ? null : [],
+ max = one ? index + 1 : options.length,
+ i = index < 0 ?
+ max :
+ one ? index : 0;
+
+ // Loop through all the selected options
+ for ( ; i < max; i++ ) {
+ option = options[ i ];
+
+ // IE8-9 doesn't update selected after form reset (#2551)
+ if ( ( option.selected || i === index ) &&
+
+ // Don't return options that are disabled or in a disabled optgroup
+ ( support.optDisabled ?
+ !option.disabled : option.getAttribute( "disabled" ) === null ) &&
+ ( !option.parentNode.disabled ||
+ !jQuery.nodeName( option.parentNode, "optgroup" ) ) ) {
+
+ // Get the specific value for the option
+ value = jQuery( option ).val();
+
+ // We don't need an array for one selects
+ if ( one ) {
+ return value;
+ }
+
+ // Multi-Selects return an array
+ values.push( value );
+ }
+ }
+
+ return values;
+ },
+
+ set: function( elem, value ) {
+ var optionSet, option,
+ options = elem.options,
+ values = jQuery.makeArray( value ),
+ i = options.length;
+
+ while ( i-- ) {
+ option = options[ i ];
+ if ( option.selected =
+ jQuery.inArray( jQuery.valHooks.option.get( option ), values ) > -1
+ ) {
+ optionSet = true;
+ }
+ }
+
+ // Force browsers to behave consistently when non-matching value is set
+ if ( !optionSet ) {
+ elem.selectedIndex = -1;
+ }
+ return values;
+ }
+ }
+ }
+} );
+
+// Radios and checkboxes getter/setter
+jQuery.each( [ "radio", "checkbox" ], function() {
+ jQuery.valHooks[ this ] = {
+ set: function( elem, value ) {
+ if ( jQuery.isArray( value ) ) {
+ return ( elem.checked = jQuery.inArray( jQuery( elem ).val(), value ) > -1 );
+ }
+ }
+ };
+ if ( !support.checkOn ) {
+ jQuery.valHooks[ this ].get = function( elem ) {
+ return elem.getAttribute( "value" ) === null ? "on" : elem.value;
+ };
+ }
+} );
+
+
+
+
+// Return jQuery for attributes-only inclusion
+
+
+var rfocusMorph = /^(?:focusinfocus|focusoutblur)$/;
+
+jQuery.extend( jQuery.event, {
+
+ trigger: function( event, data, elem, onlyHandlers ) {
+
+ var i, cur, tmp, bubbleType, ontype, handle, special,
+ eventPath = [ elem || document ],
+ type = hasOwn.call( event, "type" ) ? event.type : event,
+ namespaces = hasOwn.call( event, "namespace" ) ? event.namespace.split( "." ) : [];
+
+ cur = tmp = elem = elem || document;
+
+ // Don't do events on text and comment nodes
+ if ( elem.nodeType === 3 || elem.nodeType === 8 ) {
+ return;
+ }
+
+ // focus/blur morphs to focusin/out; ensure we're not firing them right now
+ if ( rfocusMorph.test( type + jQuery.event.triggered ) ) {
+ return;
+ }
+
+ if ( type.indexOf( "." ) > -1 ) {
+
+ // Namespaced trigger; create a regexp to match event type in handle()
+ namespaces = type.split( "." );
+ type = namespaces.shift();
+ namespaces.sort();
+ }
+ ontype = type.indexOf( ":" ) < 0 && "on" + type;
+
+ // Caller can pass in a jQuery.Event object, Object, or just an event type string
+ event = event[ jQuery.expando ] ?
+ event :
+ new jQuery.Event( type, typeof event === "object" && event );
+
+ // Trigger bitmask: & 1 for native handlers; & 2 for jQuery (always true)
+ event.isTrigger = onlyHandlers ? 2 : 3;
+ event.namespace = namespaces.join( "." );
+ event.rnamespace = event.namespace ?
+ new RegExp( "(^|\\.)" + namespaces.join( "\\.(?:.*\\.|)" ) + "(\\.|$)" ) :
+ null;
+
+ // Clean up the event in case it is being reused
+ event.result = undefined;
+ if ( !event.target ) {
+ event.target = elem;
+ }
+
+ // Clone any incoming data and prepend the event, creating the handler arg list
+ data = data == null ?
+ [ event ] :
+ jQuery.makeArray( data, [ event ] );
+
+ // Allow special events to draw outside the lines
+ special = jQuery.event.special[ type ] || {};
+ if ( !onlyHandlers && special.trigger && special.trigger.apply( elem, data ) === false ) {
+ return;
+ }
+
+ // Determine event propagation path in advance, per W3C events spec (#9951)
+ // Bubble up to document, then to window; watch for a global ownerDocument var (#9724)
+ if ( !onlyHandlers && !special.noBubble && !jQuery.isWindow( elem ) ) {
+
+ bubbleType = special.delegateType || type;
+ if ( !rfocusMorph.test( bubbleType + type ) ) {
+ cur = cur.parentNode;
+ }
+ for ( ; cur; cur = cur.parentNode ) {
+ eventPath.push( cur );
+ tmp = cur;
+ }
+
+ // Only add window if we got to document (e.g., not plain obj or detached DOM)
+ if ( tmp === ( elem.ownerDocument || document ) ) {
+ eventPath.push( tmp.defaultView || tmp.parentWindow || window );
+ }
+ }
+
+ // Fire handlers on the event path
+ i = 0;
+ while ( ( cur = eventPath[ i++ ] ) && !event.isPropagationStopped() ) {
+
+ event.type = i > 1 ?
+ bubbleType :
+ special.bindType || type;
+
+ // jQuery handler
+ handle = ( dataPriv.get( cur, "events" ) || {} )[ event.type ] &&
+ dataPriv.get( cur, "handle" );
+ if ( handle ) {
+ handle.apply( cur, data );
+ }
+
+ // Native handler
+ handle = ontype && cur[ ontype ];
+ if ( handle && handle.apply && acceptData( cur ) ) {
+ event.result = handle.apply( cur, data );
+ if ( event.result === false ) {
+ event.preventDefault();
+ }
+ }
+ }
+ event.type = type;
+
+ // If nobody prevented the default action, do it now
+ if ( !onlyHandlers && !event.isDefaultPrevented() ) {
+
+ if ( ( !special._default ||
+ special._default.apply( eventPath.pop(), data ) === false ) &&
+ acceptData( elem ) ) {
+
+ // Call a native DOM method on the target with the same name name as the event.
+ // Don't do default actions on window, that's where global variables be (#6170)
+ if ( ontype && jQuery.isFunction( elem[ type ] ) && !jQuery.isWindow( elem ) ) {
+
+ // Don't re-trigger an onFOO event when we call its FOO() method
+ tmp = elem[ ontype ];
+
+ if ( tmp ) {
+ elem[ ontype ] = null;
+ }
+
+ // Prevent re-triggering of the same event, since we already bubbled it above
+ jQuery.event.triggered = type;
+ elem[ type ]();
+ jQuery.event.triggered = undefined;
+
+ if ( tmp ) {
+ elem[ ontype ] = tmp;
+ }
+ }
+ }
+ }
+
+ return event.result;
+ },
+
+ // Piggyback on a donor event to simulate a different one
+ // Used only for `focus(in | out)` events
+ simulate: function( type, elem, event ) {
+ var e = jQuery.extend(
+ new jQuery.Event(),
+ event,
+ {
+ type: type,
+ isSimulated: true
+ }
+ );
+
+ jQuery.event.trigger( e, null, elem );
+ }
+
+} );
+
+jQuery.fn.extend( {
+
+ trigger: function( type, data ) {
+ return this.each( function() {
+ jQuery.event.trigger( type, data, this );
+ } );
+ },
+ triggerHandler: function( type, data ) {
+ var elem = this[ 0 ];
+ if ( elem ) {
+ return jQuery.event.trigger( type, data, elem, true );
+ }
+ }
+} );
+
+
+jQuery.each( ( "blur focus focusin focusout load resize scroll unload click dblclick " +
+ "mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave " +
+ "change select submit keydown keypress keyup error contextmenu" ).split( " " ),
+ function( i, name ) {
+
+ // Handle event binding
+ jQuery.fn[ name ] = function( data, fn ) {
+ return arguments.length > 0 ?
+ this.on( name, null, data, fn ) :
+ this.trigger( name );
+ };
+} );
+
+jQuery.fn.extend( {
+ hover: function( fnOver, fnOut ) {
+ return this.mouseenter( fnOver ).mouseleave( fnOut || fnOver );
+ }
+} );
+
+
+
+
+support.focusin = "onfocusin" in window;
+
+
+// Support: Firefox
+// Firefox doesn't have focus(in | out) events
+// Related ticket - https://bugzilla.mozilla.org/show_bug.cgi?id=687787
+//
+// Support: Chrome, Safari
+// focus(in | out) events fire after focus & blur events,
+// which is spec violation - http://www.w3.org/TR/DOM-Level-3-Events/#events-focusevent-event-order
+// Related ticket - https://code.google.com/p/chromium/issues/detail?id=449857
+if ( !support.focusin ) {
+ jQuery.each( { focus: "focusin", blur: "focusout" }, function( orig, fix ) {
+
+ // Attach a single capturing handler on the document while someone wants focusin/focusout
+ var handler = function( event ) {
+ jQuery.event.simulate( fix, event.target, jQuery.event.fix( event ) );
+ };
+
+ jQuery.event.special[ fix ] = {
+ setup: function() {
+ var doc = this.ownerDocument || this,
+ attaches = dataPriv.access( doc, fix );
+
+ if ( !attaches ) {
+ doc.addEventListener( orig, handler, true );
+ }
+ dataPriv.access( doc, fix, ( attaches || 0 ) + 1 );
+ },
+ teardown: function() {
+ var doc = this.ownerDocument || this,
+ attaches = dataPriv.access( doc, fix ) - 1;
+
+ if ( !attaches ) {
+ doc.removeEventListener( orig, handler, true );
+ dataPriv.remove( doc, fix );
+
+ } else {
+ dataPriv.access( doc, fix, attaches );
+ }
+ }
+ };
+ } );
+}
+var location = window.location;
+
+var nonce = jQuery.now();
+
+var rquery = ( /\?/ );
+
+
+
+// Support: Android 2.3
+// Workaround failure to string-cast null input
+jQuery.parseJSON = function( data ) {
+ return JSON.parse( data + "" );
+};
+
+
+// Cross-browser xml parsing
+jQuery.parseXML = function( data ) {
+ var xml;
+ if ( !data || typeof data !== "string" ) {
+ return null;
+ }
+
+ // Support: IE9
+ try {
+ xml = ( new window.DOMParser() ).parseFromString( data, "text/xml" );
+ } catch ( e ) {
+ xml = undefined;
+ }
+
+ if ( !xml || xml.getElementsByTagName( "parsererror" ).length ) {
+ jQuery.error( "Invalid XML: " + data );
+ }
+ return xml;
+};
+
+
+var
+ rhash = /#.*$/,
+ rts = /([?&])_=[^&]*/,
+ rheaders = /^(.*?):[ \t]*([^\r\n]*)$/mg,
+
+ // #7653, #8125, #8152: local protocol detection
+ rlocalProtocol = /^(?:about|app|app-storage|.+-extension|file|res|widget):$/,
+ rnoContent = /^(?:GET|HEAD)$/,
+ rprotocol = /^\/\//,
+
+ /* Prefilters
+ * 1) They are useful to introduce custom dataTypes (see ajax/jsonp.js for an example)
+ * 2) These are called:
+ * - BEFORE asking for a transport
+ * - AFTER param serialization (s.data is a string if s.processData is true)
+ * 3) key is the dataType
+ * 4) the catchall symbol "*" can be used
+ * 5) execution will start with transport dataType and THEN continue down to "*" if needed
+ */
+ prefilters = {},
+
+ /* Transports bindings
+ * 1) key is the dataType
+ * 2) the catchall symbol "*" can be used
+ * 3) selection will start with transport dataType and THEN go to "*" if needed
+ */
+ transports = {},
+
+ // Avoid comment-prolog char sequence (#10098); must appease lint and evade compression
+ allTypes = "*/".concat( "*" ),
+
+ // Anchor tag for parsing the document origin
+ originAnchor = document.createElement( "a" );
+ originAnchor.href = location.href;
+
+// Base "constructor" for jQuery.ajaxPrefilter and jQuery.ajaxTransport
+function addToPrefiltersOrTransports( structure ) {
+
+ // dataTypeExpression is optional and defaults to "*"
+ return function( dataTypeExpression, func ) {
+
+ if ( typeof dataTypeExpression !== "string" ) {
+ func = dataTypeExpression;
+ dataTypeExpression = "*";
+ }
+
+ var dataType,
+ i = 0,
+ dataTypes = dataTypeExpression.toLowerCase().match( rnotwhite ) || [];
+
+ if ( jQuery.isFunction( func ) ) {
+
+ // For each dataType in the dataTypeExpression
+ while ( ( dataType = dataTypes[ i++ ] ) ) {
+
+ // Prepend if requested
+ if ( dataType[ 0 ] === "+" ) {
+ dataType = dataType.slice( 1 ) || "*";
+ ( structure[ dataType ] = structure[ dataType ] || [] ).unshift( func );
+
+ // Otherwise append
+ } else {
+ ( structure[ dataType ] = structure[ dataType ] || [] ).push( func );
+ }
+ }
+ }
+ };
+}
+
+// Base inspection function for prefilters and transports
+function inspectPrefiltersOrTransports( structure, options, originalOptions, jqXHR ) {
+
+ var inspected = {},
+ seekingTransport = ( structure === transports );
+
+ function inspect( dataType ) {
+ var selected;
+ inspected[ dataType ] = true;
+ jQuery.each( structure[ dataType ] || [], function( _, prefilterOrFactory ) {
+ var dataTypeOrTransport = prefilterOrFactory( options, originalOptions, jqXHR );
+ if ( typeof dataTypeOrTransport === "string" &&
+ !seekingTransport && !inspected[ dataTypeOrTransport ] ) {
+
+ options.dataTypes.unshift( dataTypeOrTransport );
+ inspect( dataTypeOrTransport );
+ return false;
+ } else if ( seekingTransport ) {
+ return !( selected = dataTypeOrTransport );
+ }
+ } );
+ return selected;
+ }
+
+ return inspect( options.dataTypes[ 0 ] ) || !inspected[ "*" ] && inspect( "*" );
+}
+
+// A special extend for ajax options
+// that takes "flat" options (not to be deep extended)
+// Fixes #9887
+function ajaxExtend( target, src ) {
+ var key, deep,
+ flatOptions = jQuery.ajaxSettings.flatOptions || {};
+
+ for ( key in src ) {
+ if ( src[ key ] !== undefined ) {
+ ( flatOptions[ key ] ? target : ( deep || ( deep = {} ) ) )[ key ] = src[ key ];
+ }
+ }
+ if ( deep ) {
+ jQuery.extend( true, target, deep );
+ }
+
+ return target;
+}
+
+/* Handles responses to an ajax request:
+ * - finds the right dataType (mediates between content-type and expected dataType)
+ * - returns the corresponding response
+ */
+function ajaxHandleResponses( s, jqXHR, responses ) {
+
+ var ct, type, finalDataType, firstDataType,
+ contents = s.contents,
+ dataTypes = s.dataTypes;
+
+ // Remove auto dataType and get content-type in the process
+ while ( dataTypes[ 0 ] === "*" ) {
+ dataTypes.shift();
+ if ( ct === undefined ) {
+ ct = s.mimeType || jqXHR.getResponseHeader( "Content-Type" );
+ }
+ }
+
+ // Check if we're dealing with a known content-type
+ if ( ct ) {
+ for ( type in contents ) {
+ if ( contents[ type ] && contents[ type ].test( ct ) ) {
+ dataTypes.unshift( type );
+ break;
+ }
+ }
+ }
+
+ // Check to see if we have a response for the expected dataType
+ if ( dataTypes[ 0 ] in responses ) {
+ finalDataType = dataTypes[ 0 ];
+ } else {
+
+ // Try convertible dataTypes
+ for ( type in responses ) {
+ if ( !dataTypes[ 0 ] || s.converters[ type + " " + dataTypes[ 0 ] ] ) {
+ finalDataType = type;
+ break;
+ }
+ if ( !firstDataType ) {
+ firstDataType = type;
+ }
+ }
+
+ // Or just use first one
+ finalDataType = finalDataType || firstDataType;
+ }
+
+ // If we found a dataType
+ // We add the dataType to the list if needed
+ // and return the corresponding response
+ if ( finalDataType ) {
+ if ( finalDataType !== dataTypes[ 0 ] ) {
+ dataTypes.unshift( finalDataType );
+ }
+ return responses[ finalDataType ];
+ }
+}
+
+/* Chain conversions given the request and the original response
+ * Also sets the responseXXX fields on the jqXHR instance
+ */
+function ajaxConvert( s, response, jqXHR, isSuccess ) {
+ var conv2, current, conv, tmp, prev,
+ converters = {},
+
+ // Work with a copy of dataTypes in case we need to modify it for conversion
+ dataTypes = s.dataTypes.slice();
+
+ // Create converters map with lowercased keys
+ if ( dataTypes[ 1 ] ) {
+ for ( conv in s.converters ) {
+ converters[ conv.toLowerCase() ] = s.converters[ conv ];
+ }
+ }
+
+ current = dataTypes.shift();
+
+ // Convert to each sequential dataType
+ while ( current ) {
+
+ if ( s.responseFields[ current ] ) {
+ jqXHR[ s.responseFields[ current ] ] = response;
+ }
+
+ // Apply the dataFilter if provided
+ if ( !prev && isSuccess && s.dataFilter ) {
+ response = s.dataFilter( response, s.dataType );
+ }
+
+ prev = current;
+ current = dataTypes.shift();
+
+ if ( current ) {
+
+ // There's only work to do if current dataType is non-auto
+ if ( current === "*" ) {
+
+ current = prev;
+
+ // Convert response if prev dataType is non-auto and differs from current
+ } else if ( prev !== "*" && prev !== current ) {
+
+ // Seek a direct converter
+ conv = converters[ prev + " " + current ] || converters[ "* " + current ];
+
+ // If none found, seek a pair
+ if ( !conv ) {
+ for ( conv2 in converters ) {
+
+ // If conv2 outputs current
+ tmp = conv2.split( " " );
+ if ( tmp[ 1 ] === current ) {
+
+ // If prev can be converted to accepted input
+ conv = converters[ prev + " " + tmp[ 0 ] ] ||
+ converters[ "* " + tmp[ 0 ] ];
+ if ( conv ) {
+
+ // Condense equivalence converters
+ if ( conv === true ) {
+ conv = converters[ conv2 ];
+
+ // Otherwise, insert the intermediate dataType
+ } else if ( converters[ conv2 ] !== true ) {
+ current = tmp[ 0 ];
+ dataTypes.unshift( tmp[ 1 ] );
+ }
+ break;
+ }
+ }
+ }
+ }
+
+ // Apply converter (if not an equivalence)
+ if ( conv !== true ) {
+
+ // Unless errors are allowed to bubble, catch and return them
+ if ( conv && s.throws ) {
+ response = conv( response );
+ } else {
+ try {
+ response = conv( response );
+ } catch ( e ) {
+ return {
+ state: "parsererror",
+ error: conv ? e : "No conversion from " + prev + " to " + current
+ };
+ }
+ }
+ }
+ }
+ }
+ }
+
+ return { state: "success", data: response };
+}
+
+jQuery.extend( {
+
+ // Counter for holding the number of active queries
+ active: 0,
+
+ // Last-Modified header cache for next request
+ lastModified: {},
+ etag: {},
+
+ ajaxSettings: {
+ url: location.href,
+ type: "GET",
+ isLocal: rlocalProtocol.test( location.protocol ),
+ global: true,
+ processData: true,
+ async: true,
+ contentType: "application/x-www-form-urlencoded; charset=UTF-8",
+ /*
+ timeout: 0,
+ data: null,
+ dataType: null,
+ username: null,
+ password: null,
+ cache: null,
+ throws: false,
+ traditional: false,
+ headers: {},
+ */
+
+ accepts: {
+ "*": allTypes,
+ text: "text/plain",
+ html: "text/html",
+ xml: "application/xml, text/xml",
+ json: "application/json, text/javascript"
+ },
+
+ contents: {
+ xml: /\bxml\b/,
+ html: /\bhtml/,
+ json: /\bjson\b/
+ },
+
+ responseFields: {
+ xml: "responseXML",
+ text: "responseText",
+ json: "responseJSON"
+ },
+
+ // Data converters
+ // Keys separate source (or catchall "*") and destination types with a single space
+ converters: {
+
+ // Convert anything to text
+ "* text": String,
+
+ // Text to html (true = no transformation)
+ "text html": true,
+
+ // Evaluate text as a json expression
+ "text json": jQuery.parseJSON,
+
+ // Parse text as xml
+ "text xml": jQuery.parseXML
+ },
+
+ // For options that shouldn't be deep extended:
+ // you can add your own custom options here if
+ // and when you create one that shouldn't be
+ // deep extended (see ajaxExtend)
+ flatOptions: {
+ url: true,
+ context: true
+ }
+ },
+
+ // Creates a full fledged settings object into target
+ // with both ajaxSettings and settings fields.
+ // If target is omitted, writes into ajaxSettings.
+ ajaxSetup: function( target, settings ) {
+ return settings ?
+
+ // Building a settings object
+ ajaxExtend( ajaxExtend( target, jQuery.ajaxSettings ), settings ) :
+
+ // Extending ajaxSettings
+ ajaxExtend( jQuery.ajaxSettings, target );
+ },
+
+ ajaxPrefilter: addToPrefiltersOrTransports( prefilters ),
+ ajaxTransport: addToPrefiltersOrTransports( transports ),
+
+ // Main method
+ ajax: function( url, options ) {
+
+ // If url is an object, simulate pre-1.5 signature
+ if ( typeof url === "object" ) {
+ options = url;
+ url = undefined;
+ }
+
+ // Force options to be an object
+ options = options || {};
+
+ var transport,
+
+ // URL without anti-cache param
+ cacheURL,
+
+ // Response headers
+ responseHeadersString,
+ responseHeaders,
+
+ // timeout handle
+ timeoutTimer,
+
+ // Url cleanup var
+ urlAnchor,
+
+ // To know if global events are to be dispatched
+ fireGlobals,
+
+ // Loop variable
+ i,
+
+ // Create the final options object
+ s = jQuery.ajaxSetup( {}, options ),
+
+ // Callbacks context
+ callbackContext = s.context || s,
+
+ // Context for global events is callbackContext if it is a DOM node or jQuery collection
+ globalEventContext = s.context &&
+ ( callbackContext.nodeType || callbackContext.jquery ) ?
+ jQuery( callbackContext ) :
+ jQuery.event,
+
+ // Deferreds
+ deferred = jQuery.Deferred(),
+ completeDeferred = jQuery.Callbacks( "once memory" ),
+
+ // Status-dependent callbacks
+ statusCode = s.statusCode || {},
+
+ // Headers (they are sent all at once)
+ requestHeaders = {},
+ requestHeadersNames = {},
+
+ // The jqXHR state
+ state = 0,
+
+ // Default abort message
+ strAbort = "canceled",
+
+ // Fake xhr
+ jqXHR = {
+ readyState: 0,
+
+ // Builds headers hashtable if needed
+ getResponseHeader: function( key ) {
+ var match;
+ if ( state === 2 ) {
+ if ( !responseHeaders ) {
+ responseHeaders = {};
+ while ( ( match = rheaders.exec( responseHeadersString ) ) ) {
+ responseHeaders[ match[ 1 ].toLowerCase() ] = match[ 2 ];
+ }
+ }
+ match = responseHeaders[ key.toLowerCase() ];
+ }
+ return match == null ? null : match;
+ },
+
+ // Raw string
+ getAllResponseHeaders: function() {
+ return state === 2 ? responseHeadersString : null;
+ },
+
+ // Caches the header
+ setRequestHeader: function( name, value ) {
+ var lname = name.toLowerCase();
+ if ( !state ) {
+ name = requestHeadersNames[ lname ] = requestHeadersNames[ lname ] || name;
+ requestHeaders[ name ] = value;
+ }
+ return this;
+ },
+
+ // Overrides response content-type header
+ overrideMimeType: function( type ) {
+ if ( !state ) {
+ s.mimeType = type;
+ }
+ return this;
+ },
+
+ // Status-dependent callbacks
+ statusCode: function( map ) {
+ var code;
+ if ( map ) {
+ if ( state < 2 ) {
+ for ( code in map ) {
+
+ // Lazy-add the new callback in a way that preserves old ones
+ statusCode[ code ] = [ statusCode[ code ], map[ code ] ];
+ }
+ } else {
+
+ // Execute the appropriate callbacks
+ jqXHR.always( map[ jqXHR.status ] );
+ }
+ }
+ return this;
+ },
+
+ // Cancel the request
+ abort: function( statusText ) {
+ var finalText = statusText || strAbort;
+ if ( transport ) {
+ transport.abort( finalText );
+ }
+ done( 0, finalText );
+ return this;
+ }
+ };
+
+ // Attach deferreds
+ deferred.promise( jqXHR ).complete = completeDeferred.add;
+ jqXHR.success = jqXHR.done;
+ jqXHR.error = jqXHR.fail;
+
+ // Remove hash character (#7531: and string promotion)
+ // Add protocol if not provided (prefilters might expect it)
+ // Handle falsy url in the settings object (#10093: consistency with old signature)
+ // We also use the url parameter if available
+ s.url = ( ( url || s.url || location.href ) + "" ).replace( rhash, "" )
+ .replace( rprotocol, location.protocol + "//" );
+
+ // Alias method option to type as per ticket #12004
+ s.type = options.method || options.type || s.method || s.type;
+
+ // Extract dataTypes list
+ s.dataTypes = jQuery.trim( s.dataType || "*" ).toLowerCase().match( rnotwhite ) || [ "" ];
+
+ // A cross-domain request is in order when the origin doesn't match the current origin.
+ if ( s.crossDomain == null ) {
+ urlAnchor = document.createElement( "a" );
+
+ // Support: IE8-11+
+ // IE throws exception if url is malformed, e.g. http://example.com:80x/
+ try {
+ urlAnchor.href = s.url;
+
+ // Support: IE8-11+
+ // Anchor's host property isn't correctly set when s.url is relative
+ urlAnchor.href = urlAnchor.href;
+ s.crossDomain = originAnchor.protocol + "//" + originAnchor.host !==
+ urlAnchor.protocol + "//" + urlAnchor.host;
+ } catch ( e ) {
+
+ // If there is an error parsing the URL, assume it is crossDomain,
+ // it can be rejected by the transport if it is invalid
+ s.crossDomain = true;
+ }
+ }
+
+ // Convert data if not already a string
+ if ( s.data && s.processData && typeof s.data !== "string" ) {
+ s.data = jQuery.param( s.data, s.traditional );
+ }
+
+ // Apply prefilters
+ inspectPrefiltersOrTransports( prefilters, s, options, jqXHR );
+
+ // If request was aborted inside a prefilter, stop there
+ if ( state === 2 ) {
+ return jqXHR;
+ }
+
+ // We can fire global events as of now if asked to
+ // Don't fire events if jQuery.event is undefined in an AMD-usage scenario (#15118)
+ fireGlobals = jQuery.event && s.global;
+
+ // Watch for a new set of requests
+ if ( fireGlobals && jQuery.active++ === 0 ) {
+ jQuery.event.trigger( "ajaxStart" );
+ }
+
+ // Uppercase the type
+ s.type = s.type.toUpperCase();
+
+ // Determine if request has content
+ s.hasContent = !rnoContent.test( s.type );
+
+ // Save the URL in case we're toying with the If-Modified-Since
+ // and/or If-None-Match header later on
+ cacheURL = s.url;
+
+ // More options handling for requests with no content
+ if ( !s.hasContent ) {
+
+ // If data is available, append data to url
+ if ( s.data ) {
+ cacheURL = ( s.url += ( rquery.test( cacheURL ) ? "&" : "?" ) + s.data );
+
+ // #9682: remove data so that it's not used in an eventual retry
+ delete s.data;
+ }
+
+ // Add anti-cache in url if needed
+ if ( s.cache === false ) {
+ s.url = rts.test( cacheURL ) ?
+
+ // If there is already a '_' parameter, set its value
+ cacheURL.replace( rts, "$1_=" + nonce++ ) :
+
+ // Otherwise add one to the end
+ cacheURL + ( rquery.test( cacheURL ) ? "&" : "?" ) + "_=" + nonce++;
+ }
+ }
+
+ // Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode.
+ if ( s.ifModified ) {
+ if ( jQuery.lastModified[ cacheURL ] ) {
+ jqXHR.setRequestHeader( "If-Modified-Since", jQuery.lastModified[ cacheURL ] );
+ }
+ if ( jQuery.etag[ cacheURL ] ) {
+ jqXHR.setRequestHeader( "If-None-Match", jQuery.etag[ cacheURL ] );
+ }
+ }
+
+ // Set the correct header, if data is being sent
+ if ( s.data && s.hasContent && s.contentType !== false || options.contentType ) {
+ jqXHR.setRequestHeader( "Content-Type", s.contentType );
+ }
+
+ // Set the Accepts header for the server, depending on the dataType
+ jqXHR.setRequestHeader(
+ "Accept",
+ s.dataTypes[ 0 ] && s.accepts[ s.dataTypes[ 0 ] ] ?
+ s.accepts[ s.dataTypes[ 0 ] ] +
+ ( s.dataTypes[ 0 ] !== "*" ? ", " + allTypes + "; q=0.01" : "" ) :
+ s.accepts[ "*" ]
+ );
+
+ // Check for headers option
+ for ( i in s.headers ) {
+ jqXHR.setRequestHeader( i, s.headers[ i ] );
+ }
+
+ // Allow custom headers/mimetypes and early abort
+ if ( s.beforeSend &&
+ ( s.beforeSend.call( callbackContext, jqXHR, s ) === false || state === 2 ) ) {
+
+ // Abort if not done already and return
+ return jqXHR.abort();
+ }
+
+ // Aborting is no longer a cancellation
+ strAbort = "abort";
+
+ // Install callbacks on deferreds
+ for ( i in { success: 1, error: 1, complete: 1 } ) {
+ jqXHR[ i ]( s[ i ] );
+ }
+
+ // Get transport
+ transport = inspectPrefiltersOrTransports( transports, s, options, jqXHR );
+
+ // If no transport, we auto-abort
+ if ( !transport ) {
+ done( -1, "No Transport" );
+ } else {
+ jqXHR.readyState = 1;
+
+ // Send global event
+ if ( fireGlobals ) {
+ globalEventContext.trigger( "ajaxSend", [ jqXHR, s ] );
+ }
+
+ // If request was aborted inside ajaxSend, stop there
+ if ( state === 2 ) {
+ return jqXHR;
+ }
+
+ // Timeout
+ if ( s.async && s.timeout > 0 ) {
+ timeoutTimer = window.setTimeout( function() {
+ jqXHR.abort( "timeout" );
+ }, s.timeout );
+ }
+
+ try {
+ state = 1;
+ transport.send( requestHeaders, done );
+ } catch ( e ) {
+
+ // Propagate exception as error if not done
+ if ( state < 2 ) {
+ done( -1, e );
+
+ // Simply rethrow otherwise
+ } else {
+ throw e;
+ }
+ }
+ }
+
+ // Callback for when everything is done
+ function done( status, nativeStatusText, responses, headers ) {
+ var isSuccess, success, error, response, modified,
+ statusText = nativeStatusText;
+
+ // Called once
+ if ( state === 2 ) {
+ return;
+ }
+
+ // State is "done" now
+ state = 2;
+
+ // Clear timeout if it exists
+ if ( timeoutTimer ) {
+ window.clearTimeout( timeoutTimer );
+ }
+
+ // Dereference transport for early garbage collection
+ // (no matter how long the jqXHR object will be used)
+ transport = undefined;
+
+ // Cache response headers
+ responseHeadersString = headers || "";
+
+ // Set readyState
+ jqXHR.readyState = status > 0 ? 4 : 0;
+
+ // Determine if successful
+ isSuccess = status >= 200 && status < 300 || status === 304;
+
+ // Get response data
+ if ( responses ) {
+ response = ajaxHandleResponses( s, jqXHR, responses );
+ }
+
+ // Convert no matter what (that way responseXXX fields are always set)
+ response = ajaxConvert( s, response, jqXHR, isSuccess );
+
+ // If successful, handle type chaining
+ if ( isSuccess ) {
+
+ // Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode.
+ if ( s.ifModified ) {
+ modified = jqXHR.getResponseHeader( "Last-Modified" );
+ if ( modified ) {
+ jQuery.lastModified[ cacheURL ] = modified;
+ }
+ modified = jqXHR.getResponseHeader( "etag" );
+ if ( modified ) {
+ jQuery.etag[ cacheURL ] = modified;
+ }
+ }
+
+ // if no content
+ if ( status === 204 || s.type === "HEAD" ) {
+ statusText = "nocontent";
+
+ // if not modified
+ } else if ( status === 304 ) {
+ statusText = "notmodified";
+
+ // If we have data, let's convert it
+ } else {
+ statusText = response.state;
+ success = response.data;
+ error = response.error;
+ isSuccess = !error;
+ }
+ } else {
+
+ // Extract error from statusText and normalize for non-aborts
+ error = statusText;
+ if ( status || !statusText ) {
+ statusText = "error";
+ if ( status < 0 ) {
+ status = 0;
+ }
+ }
+ }
+
+ // Set data for the fake xhr object
+ jqXHR.status = status;
+ jqXHR.statusText = ( nativeStatusText || statusText ) + "";
+
+ // Success/Error
+ if ( isSuccess ) {
+ deferred.resolveWith( callbackContext, [ success, statusText, jqXHR ] );
+ } else {
+ deferred.rejectWith( callbackContext, [ jqXHR, statusText, error ] );
+ }
+
+ // Status-dependent callbacks
+ jqXHR.statusCode( statusCode );
+ statusCode = undefined;
+
+ if ( fireGlobals ) {
+ globalEventContext.trigger( isSuccess ? "ajaxSuccess" : "ajaxError",
+ [ jqXHR, s, isSuccess ? success : error ] );
+ }
+
+ // Complete
+ completeDeferred.fireWith( callbackContext, [ jqXHR, statusText ] );
+
+ if ( fireGlobals ) {
+ globalEventContext.trigger( "ajaxComplete", [ jqXHR, s ] );
+
+ // Handle the global AJAX counter
+ if ( !( --jQuery.active ) ) {
+ jQuery.event.trigger( "ajaxStop" );
+ }
+ }
+ }
+
+ return jqXHR;
+ },
+
+ getJSON: function( url, data, callback ) {
+ return jQuery.get( url, data, callback, "json" );
+ },
+
+ getScript: function( url, callback ) {
+ return jQuery.get( url, undefined, callback, "script" );
+ }
+} );
+
+jQuery.each( [ "get", "post" ], function( i, method ) {
+ jQuery[ method ] = function( url, data, callback, type ) {
+
+ // Shift arguments if data argument was omitted
+ if ( jQuery.isFunction( data ) ) {
+ type = type || callback;
+ callback = data;
+ data = undefined;
+ }
+
+ // The url can be an options object (which then must have .url)
+ return jQuery.ajax( jQuery.extend( {
+ url: url,
+ type: method,
+ dataType: type,
+ data: data,
+ success: callback
+ }, jQuery.isPlainObject( url ) && url ) );
+ };
+} );
+
+
+jQuery._evalUrl = function( url ) {
+ return jQuery.ajax( {
+ url: url,
+
+ // Make this explicit, since user can override this through ajaxSetup (#11264)
+ type: "GET",
+ dataType: "script",
+ async: false,
+ global: false,
+ "throws": true
+ } );
+};
+
+
+jQuery.fn.extend( {
+ wrapAll: function( html ) {
+ var wrap;
+
+ if ( jQuery.isFunction( html ) ) {
+ return this.each( function( i ) {
+ jQuery( this ).wrapAll( html.call( this, i ) );
+ } );
+ }
+
+ if ( this[ 0 ] ) {
+
+ // The elements to wrap the target around
+ wrap = jQuery( html, this[ 0 ].ownerDocument ).eq( 0 ).clone( true );
+
+ if ( this[ 0 ].parentNode ) {
+ wrap.insertBefore( this[ 0 ] );
+ }
+
+ wrap.map( function() {
+ var elem = this;
+
+ while ( elem.firstElementChild ) {
+ elem = elem.firstElementChild;
+ }
+
+ return elem;
+ } ).append( this );
+ }
+
+ return this;
+ },
+
+ wrapInner: function( html ) {
+ if ( jQuery.isFunction( html ) ) {
+ return this.each( function( i ) {
+ jQuery( this ).wrapInner( html.call( this, i ) );
+ } );
+ }
+
+ return this.each( function() {
+ var self = jQuery( this ),
+ contents = self.contents();
+
+ if ( contents.length ) {
+ contents.wrapAll( html );
+
+ } else {
+ self.append( html );
+ }
+ } );
+ },
+
+ wrap: function( html ) {
+ var isFunction = jQuery.isFunction( html );
+
+ return this.each( function( i ) {
+ jQuery( this ).wrapAll( isFunction ? html.call( this, i ) : html );
+ } );
+ },
+
+ unwrap: function() {
+ return this.parent().each( function() {
+ if ( !jQuery.nodeName( this, "body" ) ) {
+ jQuery( this ).replaceWith( this.childNodes );
+ }
+ } ).end();
+ }
+} );
+
+
+jQuery.expr.filters.hidden = function( elem ) {
+ return !jQuery.expr.filters.visible( elem );
+};
+jQuery.expr.filters.visible = function( elem ) {
+
+ // Support: Opera <= 12.12
+ // Opera reports offsetWidths and offsetHeights less than zero on some elements
+ // Use OR instead of AND as the element is not visible if either is true
+ // See tickets #10406 and #13132
+ return elem.offsetWidth > 0 || elem.offsetHeight > 0 || elem.getClientRects().length > 0;
+};
+
+
+
+
+var r20 = /%20/g,
+ rbracket = /\[\]$/,
+ rCRLF = /\r?\n/g,
+ rsubmitterTypes = /^(?:submit|button|image|reset|file)$/i,
+ rsubmittable = /^(?:input|select|textarea|keygen)/i;
+
+function buildParams( prefix, obj, traditional, add ) {
+ var name;
+
+ if ( jQuery.isArray( obj ) ) {
+
+ // Serialize array item.
+ jQuery.each( obj, function( i, v ) {
+ if ( traditional || rbracket.test( prefix ) ) {
+
+ // Treat each array item as a scalar.
+ add( prefix, v );
+
+ } else {
+
+ // Item is non-scalar (array or object), encode its numeric index.
+ buildParams(
+ prefix + "[" + ( typeof v === "object" && v != null ? i : "" ) + "]",
+ v,
+ traditional,
+ add
+ );
+ }
+ } );
+
+ } else if ( !traditional && jQuery.type( obj ) === "object" ) {
+
+ // Serialize object item.
+ for ( name in obj ) {
+ buildParams( prefix + "[" + name + "]", obj[ name ], traditional, add );
+ }
+
+ } else {
+
+ // Serialize scalar item.
+ add( prefix, obj );
+ }
+}
+
+// Serialize an array of form elements or a set of
+// key/values into a query string
+jQuery.param = function( a, traditional ) {
+ var prefix,
+ s = [],
+ add = function( key, value ) {
+
+ // If value is a function, invoke it and return its value
+ value = jQuery.isFunction( value ) ? value() : ( value == null ? "" : value );
+ s[ s.length ] = encodeURIComponent( key ) + "=" + encodeURIComponent( value );
+ };
+
+ // Set traditional to true for jQuery <= 1.3.2 behavior.
+ if ( traditional === undefined ) {
+ traditional = jQuery.ajaxSettings && jQuery.ajaxSettings.traditional;
+ }
+
+ // If an array was passed in, assume that it is an array of form elements.
+ if ( jQuery.isArray( a ) || ( a.jquery && !jQuery.isPlainObject( a ) ) ) {
+
+ // Serialize the form elements
+ jQuery.each( a, function() {
+ add( this.name, this.value );
+ } );
+
+ } else {
+
+ // If traditional, encode the "old" way (the way 1.3.2 or older
+ // did it), otherwise encode params recursively.
+ for ( prefix in a ) {
+ buildParams( prefix, a[ prefix ], traditional, add );
+ }
+ }
+
+ // Return the resulting serialization
+ return s.join( "&" ).replace( r20, "+" );
+};
+
+jQuery.fn.extend( {
+ serialize: function() {
+ return jQuery.param( this.serializeArray() );
+ },
+ serializeArray: function() {
+ return this.map( function() {
+
+ // Can add propHook for "elements" to filter or add form elements
+ var elements = jQuery.prop( this, "elements" );
+ return elements ? jQuery.makeArray( elements ) : this;
+ } )
+ .filter( function() {
+ var type = this.type;
+
+ // Use .is( ":disabled" ) so that fieldset[disabled] works
+ return this.name && !jQuery( this ).is( ":disabled" ) &&
+ rsubmittable.test( this.nodeName ) && !rsubmitterTypes.test( type ) &&
+ ( this.checked || !rcheckableType.test( type ) );
+ } )
+ .map( function( i, elem ) {
+ var val = jQuery( this ).val();
+
+ return val == null ?
+ null :
+ jQuery.isArray( val ) ?
+ jQuery.map( val, function( val ) {
+ return { name: elem.name, value: val.replace( rCRLF, "\r\n" ) };
+ } ) :
+ { name: elem.name, value: val.replace( rCRLF, "\r\n" ) };
+ } ).get();
+ }
+} );
+
+
+jQuery.ajaxSettings.xhr = function() {
+ try {
+ return new window.XMLHttpRequest();
+ } catch ( e ) {}
+};
+
+var xhrSuccessStatus = {
+
+ // File protocol always yields status code 0, assume 200
+ 0: 200,
+
+ // Support: IE9
+ // #1450: sometimes IE returns 1223 when it should be 204
+ 1223: 204
+ },
+ xhrSupported = jQuery.ajaxSettings.xhr();
+
+support.cors = !!xhrSupported && ( "withCredentials" in xhrSupported );
+support.ajax = xhrSupported = !!xhrSupported;
+
+jQuery.ajaxTransport( function( options ) {
+ var callback, errorCallback;
+
+ // Cross domain only allowed if supported through XMLHttpRequest
+ if ( support.cors || xhrSupported && !options.crossDomain ) {
+ return {
+ send: function( headers, complete ) {
+ var i,
+ xhr = options.xhr();
+
+ xhr.open(
+ options.type,
+ options.url,
+ options.async,
+ options.username,
+ options.password
+ );
+
+ // Apply custom fields if provided
+ if ( options.xhrFields ) {
+ for ( i in options.xhrFields ) {
+ xhr[ i ] = options.xhrFields[ i ];
+ }
+ }
+
+ // Override mime type if needed
+ if ( options.mimeType && xhr.overrideMimeType ) {
+ xhr.overrideMimeType( options.mimeType );
+ }
+
+ // X-Requested-With header
+ // For cross-domain requests, seeing as conditions for a preflight are
+ // akin to a jigsaw puzzle, we simply never set it to be sure.
+ // (it can always be set on a per-request basis or even using ajaxSetup)
+ // For same-domain requests, won't change header if already provided.
+ if ( !options.crossDomain && !headers[ "X-Requested-With" ] ) {
+ headers[ "X-Requested-With" ] = "XMLHttpRequest";
+ }
+
+ // Set headers
+ for ( i in headers ) {
+ xhr.setRequestHeader( i, headers[ i ] );
+ }
+
+ // Callback
+ callback = function( type ) {
+ return function() {
+ if ( callback ) {
+ callback = errorCallback = xhr.onload =
+ xhr.onerror = xhr.onabort = xhr.onreadystatechange = null;
+
+ if ( type === "abort" ) {
+ xhr.abort();
+ } else if ( type === "error" ) {
+
+ // Support: IE9
+ // On a manual native abort, IE9 throws
+ // errors on any property access that is not readyState
+ if ( typeof xhr.status !== "number" ) {
+ complete( 0, "error" );
+ } else {
+ complete(
+
+ // File: protocol always yields status 0; see #8605, #14207
+ xhr.status,
+ xhr.statusText
+ );
+ }
+ } else {
+ complete(
+ xhrSuccessStatus[ xhr.status ] || xhr.status,
+ xhr.statusText,
+
+ // Support: IE9 only
+ // IE9 has no XHR2 but throws on binary (trac-11426)
+ // For XHR2 non-text, let the caller handle it (gh-2498)
+ ( xhr.responseType || "text" ) !== "text" ||
+ typeof xhr.responseText !== "string" ?
+ { binary: xhr.response } :
+ { text: xhr.responseText },
+ xhr.getAllResponseHeaders()
+ );
+ }
+ }
+ };
+ };
+
+ // Listen to events
+ xhr.onload = callback();
+ errorCallback = xhr.onerror = callback( "error" );
+
+ // Support: IE9
+ // Use onreadystatechange to replace onabort
+ // to handle uncaught aborts
+ if ( xhr.onabort !== undefined ) {
+ xhr.onabort = errorCallback;
+ } else {
+ xhr.onreadystatechange = function() {
+
+ // Check readyState before timeout as it changes
+ if ( xhr.readyState === 4 ) {
+
+ // Allow onerror to be called first,
+ // but that will not handle a native abort
+ // Also, save errorCallback to a variable
+ // as xhr.onerror cannot be accessed
+ window.setTimeout( function() {
+ if ( callback ) {
+ errorCallback();
+ }
+ } );
+ }
+ };
+ }
+
+ // Create the abort callback
+ callback = callback( "abort" );
+
+ try {
+
+ // Do send the request (this may raise an exception)
+ xhr.send( options.hasContent && options.data || null );
+ } catch ( e ) {
+
+ // #14683: Only rethrow if this hasn't been notified as an error yet
+ if ( callback ) {
+ throw e;
+ }
+ }
+ },
+
+ abort: function() {
+ if ( callback ) {
+ callback();
+ }
+ }
+ };
+ }
+} );
+
+
+
+
+// Install script dataType
+jQuery.ajaxSetup( {
+ accepts: {
+ script: "text/javascript, application/javascript, " +
+ "application/ecmascript, application/x-ecmascript"
+ },
+ contents: {
+ script: /\b(?:java|ecma)script\b/
+ },
+ converters: {
+ "text script": function( text ) {
+ jQuery.globalEval( text );
+ return text;
+ }
+ }
+} );
+
+// Handle cache's special case and crossDomain
+jQuery.ajaxPrefilter( "script", function( s ) {
+ if ( s.cache === undefined ) {
+ s.cache = false;
+ }
+ if ( s.crossDomain ) {
+ s.type = "GET";
+ }
+} );
+
+// Bind script tag hack transport
+jQuery.ajaxTransport( "script", function( s ) {
+
+ // This transport only deals with cross domain requests
+ if ( s.crossDomain ) {
+ var script, callback;
+ return {
+ send: function( _, complete ) {
+ script = jQuery( "<script>" ).prop( {
+ charset: s.scriptCharset,
+ src: s.url
+ } ).on(
+ "load error",
+ callback = function( evt ) {
+ script.remove();
+ callback = null;
+ if ( evt ) {
+ complete( evt.type === "error" ? 404 : 200, evt.type );
+ }
+ }
+ );
+
+ // Use native DOM manipulation to avoid our domManip AJAX trickery
+ document.head.appendChild( script[ 0 ] );
+ },
+ abort: function() {
+ if ( callback ) {
+ callback();
+ }
+ }
+ };
+ }
+} );
+
+
+
+
+var oldCallbacks = [],
+ rjsonp = /(=)\?(?=&|$)|\?\?/;
+
+// Default jsonp settings
+jQuery.ajaxSetup( {
+ jsonp: "callback",
+ jsonpCallback: function() {
+ var callback = oldCallbacks.pop() || ( jQuery.expando + "_" + ( nonce++ ) );
+ this[ callback ] = true;
+ return callback;
+ }
+} );
+
+// Detect, normalize options and install callbacks for jsonp requests
+jQuery.ajaxPrefilter( "json jsonp", function( s, originalSettings, jqXHR ) {
+
+ var callbackName, overwritten, responseContainer,
+ jsonProp = s.jsonp !== false && ( rjsonp.test( s.url ) ?
+ "url" :
+ typeof s.data === "string" &&
+ ( s.contentType || "" )
+ .indexOf( "application/x-www-form-urlencoded" ) === 0 &&
+ rjsonp.test( s.data ) && "data"
+ );
+
+ // Handle iff the expected data type is "jsonp" or we have a parameter to set
+ if ( jsonProp || s.dataTypes[ 0 ] === "jsonp" ) {
+
+ // Get callback name, remembering preexisting value associated with it
+ callbackName = s.jsonpCallback = jQuery.isFunction( s.jsonpCallback ) ?
+ s.jsonpCallback() :
+ s.jsonpCallback;
+
+ // Insert callback into url or form data
+ if ( jsonProp ) {
+ s[ jsonProp ] = s[ jsonProp ].replace( rjsonp, "$1" + callbackName );
+ } else if ( s.jsonp !== false ) {
+ s.url += ( rquery.test( s.url ) ? "&" : "?" ) + s.jsonp + "=" + callbackName;
+ }
+
+ // Use data converter to retrieve json after script execution
+ s.converters[ "script json" ] = function() {
+ if ( !responseContainer ) {
+ jQuery.error( callbackName + " was not called" );
+ }
+ return responseContainer[ 0 ];
+ };
+
+ // Force json dataType
+ s.dataTypes[ 0 ] = "json";
+
+ // Install callback
+ overwritten = window[ callbackName ];
+ window[ callbackName ] = function() {
+ responseContainer = arguments;
+ };
+
+ // Clean-up function (fires after converters)
+ jqXHR.always( function() {
+
+ // If previous value didn't exist - remove it
+ if ( overwritten === undefined ) {
+ jQuery( window ).removeProp( callbackName );
+
+ // Otherwise restore preexisting value
+ } else {
+ window[ callbackName ] = overwritten;
+ }
+
+ // Save back as free
+ if ( s[ callbackName ] ) {
+
+ // Make sure that re-using the options doesn't screw things around
+ s.jsonpCallback = originalSettings.jsonpCallback;
+
+ // Save the callback name for future use
+ oldCallbacks.push( callbackName );
+ }
+
+ // Call if it was a function and we have a response
+ if ( responseContainer && jQuery.isFunction( overwritten ) ) {
+ overwritten( responseContainer[ 0 ] );
+ }
+
+ responseContainer = overwritten = undefined;
+ } );
+
+ // Delegate to script
+ return "script";
+ }
+} );
+
+
+
+
+// Argument "data" should be string of html
+// context (optional): If specified, the fragment will be created in this context,
+// defaults to document
+// keepScripts (optional): If true, will include scripts passed in the html string
+jQuery.parseHTML = function( data, context, keepScripts ) {
+ if ( !data || typeof data !== "string" ) {
+ return null;
+ }
+ if ( typeof context === "boolean" ) {
+ keepScripts = context;
+ context = false;
+ }
+ context = context || document;
+
+ var parsed = rsingleTag.exec( data ),
+ scripts = !keepScripts && [];
+
+ // Single tag
+ if ( parsed ) {
+ return [ context.createElement( parsed[ 1 ] ) ];
+ }
+
+ parsed = buildFragment( [ data ], context, scripts );
+
+ if ( scripts && scripts.length ) {
+ jQuery( scripts ).remove();
+ }
+
+ return jQuery.merge( [], parsed.childNodes );
+};
+
+
+// Keep a copy of the old load method
+var _load = jQuery.fn.load;
+
+/**
+ * Load a url into a page
+ */
+jQuery.fn.load = function( url, params, callback ) {
+ if ( typeof url !== "string" && _load ) {
+ return _load.apply( this, arguments );
+ }
+
+ var selector, type, response,
+ self = this,
+ off = url.indexOf( " " );
+
+ if ( off > -1 ) {
+ selector = jQuery.trim( url.slice( off ) );
+ url = url.slice( 0, off );
+ }
+
+ // If it's a function
+ if ( jQuery.isFunction( params ) ) {
+
+ // We assume that it's the callback
+ callback = params;
+ params = undefined;
+
+ // Otherwise, build a param string
+ } else if ( params && typeof params === "object" ) {
+ type = "POST";
+ }
+
+ // If we have elements to modify, make the request
+ if ( self.length > 0 ) {
+ jQuery.ajax( {
+ url: url,
+
+ // If "type" variable is undefined, then "GET" method will be used.
+ // Make value of this field explicit since
+ // user can override it through ajaxSetup method
+ type: type || "GET",
+ dataType: "html",
+ data: params
+ } ).done( function( responseText ) {
+
+ // Save response for use in complete callback
+ response = arguments;
+
+ self.html( selector ?
+
+ // If a selector was specified, locate the right elements in a dummy div
+ // Exclude scripts to avoid IE 'Permission Denied' errors
+ jQuery( "<div>" ).append( jQuery.parseHTML( responseText ) ).find( selector ) :
+
+ // Otherwise use the full result
+ responseText );
+
+ // If the request succeeds, this function gets "data", "status", "jqXHR"
+ // but they are ignored because response was set above.
+ // If it fails, this function gets "jqXHR", "status", "error"
+ } ).always( callback && function( jqXHR, status ) {
+ self.each( function() {
+ callback.apply( this, response || [ jqXHR.responseText, status, jqXHR ] );
+ } );
+ } );
+ }
+
+ return this;
+};
+
+
+
+
+// Attach a bunch of functions for handling common AJAX events
+jQuery.each( [
+ "ajaxStart",
+ "ajaxStop",
+ "ajaxComplete",
+ "ajaxError",
+ "ajaxSuccess",
+ "ajaxSend"
+], function( i, type ) {
+ jQuery.fn[ type ] = function( fn ) {
+ return this.on( type, fn );
+ };
+} );
+
+
+
+
+jQuery.expr.filters.animated = function( elem ) {
+ return jQuery.grep( jQuery.timers, function( fn ) {
+ return elem === fn.elem;
+ } ).length;
+};
+
+
+
+
+/**
+ * Gets a window from an element
+ */
+function getWindow( elem ) {
+ return jQuery.isWindow( elem ) ? elem : elem.nodeType === 9 && elem.defaultView;
+}
+
+jQuery.offset = {
+ setOffset: function( elem, options, i ) {
+ var curPosition, curLeft, curCSSTop, curTop, curOffset, curCSSLeft, calculatePosition,
+ position = jQuery.css( elem, "position" ),
+ curElem = jQuery( elem ),
+ props = {};
+
+ // Set position first, in-case top/left are set even on static elem
+ if ( position === "static" ) {
+ elem.style.position = "relative";
+ }
+
+ curOffset = curElem.offset();
+ curCSSTop = jQuery.css( elem, "top" );
+ curCSSLeft = jQuery.css( elem, "left" );
+ calculatePosition = ( position === "absolute" || position === "fixed" ) &&
+ ( curCSSTop + curCSSLeft ).indexOf( "auto" ) > -1;
+
+ // Need to be able to calculate position if either
+ // top or left is auto and position is either absolute or fixed
+ if ( calculatePosition ) {
+ curPosition = curElem.position();
+ curTop = curPosition.top;
+ curLeft = curPosition.left;
+
+ } else {
+ curTop = parseFloat( curCSSTop ) || 0;
+ curLeft = parseFloat( curCSSLeft ) || 0;
+ }
+
+ if ( jQuery.isFunction( options ) ) {
+
+ // Use jQuery.extend here to allow modification of coordinates argument (gh-1848)
+ options = options.call( elem, i, jQuery.extend( {}, curOffset ) );
+ }
+
+ if ( options.top != null ) {
+ props.top = ( options.top - curOffset.top ) + curTop;
+ }
+ if ( options.left != null ) {
+ props.left = ( options.left - curOffset.left ) + curLeft;
+ }
+
+ if ( "using" in options ) {
+ options.using.call( elem, props );
+
+ } else {
+ curElem.css( props );
+ }
+ }
+};
+
+jQuery.fn.extend( {
+ offset: function( options ) {
+ if ( arguments.length ) {
+ return options === undefined ?
+ this :
+ this.each( function( i ) {
+ jQuery.offset.setOffset( this, options, i );
+ } );
+ }
+
+ var docElem, win,
+ elem = this[ 0 ],
+ box = { top: 0, left: 0 },
+ doc = elem && elem.ownerDocument;
+
+ if ( !doc ) {
+ return;
+ }
+
+ docElem = doc.documentElement;
+
+ // Make sure it's not a disconnected DOM node
+ if ( !jQuery.contains( docElem, elem ) ) {
+ return box;
+ }
+
+ box = elem.getBoundingClientRect();
+ win = getWindow( doc );
+ return {
+ top: box.top + win.pageYOffset - docElem.clientTop,
+ left: box.left + win.pageXOffset - docElem.clientLeft
+ };
+ },
+
+ position: function() {
+ if ( !this[ 0 ] ) {
+ return;
+ }
+
+ var offsetParent, offset,
+ elem = this[ 0 ],
+ parentOffset = { top: 0, left: 0 };
+
+ // Fixed elements are offset from window (parentOffset = {top:0, left: 0},
+ // because it is its only offset parent
+ if ( jQuery.css( elem, "position" ) === "fixed" ) {
+
+ // Assume getBoundingClientRect is there when computed position is fixed
+ offset = elem.getBoundingClientRect();
+
+ } else {
+
+ // Get *real* offsetParent
+ offsetParent = this.offsetParent();
+
+ // Get correct offsets
+ offset = this.offset();
+ if ( !jQuery.nodeName( offsetParent[ 0 ], "html" ) ) {
+ parentOffset = offsetParent.offset();
+ }
+
+ // Add offsetParent borders
+ parentOffset.top += jQuery.css( offsetParent[ 0 ], "borderTopWidth", true );
+ parentOffset.left += jQuery.css( offsetParent[ 0 ], "borderLeftWidth", true );
+ }
+
+ // Subtract parent offsets and element margins
+ return {
+ top: offset.top - parentOffset.top - jQuery.css( elem, "marginTop", true ),
+ left: offset.left - parentOffset.left - jQuery.css( elem, "marginLeft", true )
+ };
+ },
+
+ // This method will return documentElement in the following cases:
+ // 1) For the element inside the iframe without offsetParent, this method will return
+ // documentElement of the parent window
+ // 2) For the hidden or detached element
+ // 3) For body or html element, i.e. in case of the html node - it will return itself
+ //
+ // but those exceptions were never presented as a real life use-cases
+ // and might be considered as more preferable results.
+ //
+ // This logic, however, is not guaranteed and can change at any point in the future
+ offsetParent: function() {
+ return this.map( function() {
+ var offsetParent = this.offsetParent;
+
+ while ( offsetParent && jQuery.css( offsetParent, "position" ) === "static" ) {
+ offsetParent = offsetParent.offsetParent;
+ }
+
+ return offsetParent || documentElement;
+ } );
+ }
+} );
+
+// Create scrollLeft and scrollTop methods
+jQuery.each( { scrollLeft: "pageXOffset", scrollTop: "pageYOffset" }, function( method, prop ) {
+ var top = "pageYOffset" === prop;
+
+ jQuery.fn[ method ] = function( val ) {
+ return access( this, function( elem, method, val ) {
+ var win = getWindow( elem );
+
+ if ( val === undefined ) {
+ return win ? win[ prop ] : elem[ method ];
+ }
+
+ if ( win ) {
+ win.scrollTo(
+ !top ? val : win.pageXOffset,
+ top ? val : win.pageYOffset
+ );
+
+ } else {
+ elem[ method ] = val;
+ }
+ }, method, val, arguments.length );
+ };
+} );
+
+// Support: Safari<7-8+, Chrome<37-44+
+// Add the top/left cssHooks using jQuery.fn.position
+// Webkit bug: https://bugs.webkit.org/show_bug.cgi?id=29084
+// Blink bug: https://code.google.com/p/chromium/issues/detail?id=229280
+// getComputedStyle returns percent when specified for top/left/bottom/right;
+// rather than make the css module depend on the offset module, just check for it here
+jQuery.each( [ "top", "left" ], function( i, prop ) {
+ jQuery.cssHooks[ prop ] = addGetHookIf( support.pixelPosition,
+ function( elem, computed ) {
+ if ( computed ) {
+ computed = curCSS( elem, prop );
+
+ // If curCSS returns percentage, fallback to offset
+ return rnumnonpx.test( computed ) ?
+ jQuery( elem ).position()[ prop ] + "px" :
+ computed;
+ }
+ }
+ );
+} );
+
+
+// Create innerHeight, innerWidth, height, width, outerHeight and outerWidth methods
+jQuery.each( { Height: "height", Width: "width" }, function( name, type ) {
+ jQuery.each( { padding: "inner" + name, content: type, "": "outer" + name },
+ function( defaultExtra, funcName ) {
+
+ // Margin is only for outerHeight, outerWidth
+ jQuery.fn[ funcName ] = function( margin, value ) {
+ var chainable = arguments.length && ( defaultExtra || typeof margin !== "boolean" ),
+ extra = defaultExtra || ( margin === true || value === true ? "margin" : "border" );
+
+ return access( this, function( elem, type, value ) {
+ var doc;
+
+ if ( jQuery.isWindow( elem ) ) {
+
+ // As of 5/8/2012 this will yield incorrect results for Mobile Safari, but there
+ // isn't a whole lot we can do. See pull request at this URL for discussion:
+ // https://github.com/jquery/jquery/pull/764
+ return elem.document.documentElement[ "client" + name ];
+ }
+
+ // Get document width or height
+ if ( elem.nodeType === 9 ) {
+ doc = elem.documentElement;
+
+ // Either scroll[Width/Height] or offset[Width/Height] or client[Width/Height],
+ // whichever is greatest
+ return Math.max(
+ elem.body[ "scroll" + name ], doc[ "scroll" + name ],
+ elem.body[ "offset" + name ], doc[ "offset" + name ],
+ doc[ "client" + name ]
+ );
+ }
+
+ return value === undefined ?
+
+ // Get width or height on the element, requesting but not forcing parseFloat
+ jQuery.css( elem, type, extra ) :
+
+ // Set width or height on the element
+ jQuery.style( elem, type, value, extra );
+ }, type, chainable ? margin : undefined, chainable, null );
+ };
+ } );
+} );
+
+
+jQuery.fn.extend( {
+
+ bind: function( types, data, fn ) {
+ return this.on( types, null, data, fn );
+ },
+ unbind: function( types, fn ) {
+ return this.off( types, null, fn );
+ },
+
+ delegate: function( selector, types, data, fn ) {
+ return this.on( types, selector, data, fn );
+ },
+ undelegate: function( selector, types, fn ) {
+
+ // ( namespace ) or ( selector, types [, fn] )
+ return arguments.length === 1 ?
+ this.off( selector, "**" ) :
+ this.off( types, selector || "**", fn );
+ },
+ size: function() {
+ return this.length;
+ }
+} );
+
+jQuery.fn.andSelf = jQuery.fn.addBack;
+
+
+
+
+// Register as a named AMD module, since jQuery can be concatenated with other
+// files that may use define, but not via a proper concatenation script that
+// understands anonymous AMD modules. A named AMD is safest and most robust
+// way to register. Lowercase jquery is used because AMD module names are
+// derived from file names, and jQuery is normally delivered in a lowercase
+// file name. Do this after creating the global so that if an AMD module wants
+// to call noConflict to hide this version of jQuery, it will work.
+
+// Note that for maximum portability, libraries that are not jQuery should
+// declare themselves as anonymous modules, and avoid setting a global if an
+// AMD loader is present. jQuery is a special case. For more information, see
+// https://github.com/jrburke/requirejs/wiki/Updating-existing-libraries#wiki-anon
+
+if ( typeof define === "function" && define.amd ) {
+ define( "jquery", [], function() {
+ return jQuery;
+ } );
+}
+
+
+
+var
+
+ // Map over jQuery in case of overwrite
+ _jQuery = window.jQuery,
+
+ // Map over the $ in case of overwrite
+ _$ = window.$;
+
+jQuery.noConflict = function( deep ) {
+ if ( window.$ === jQuery ) {
+ window.$ = _$;
+ }
+
+ if ( deep && window.jQuery === jQuery ) {
+ window.jQuery = _jQuery;
+ }
+
+ return jQuery;
+};
+
+// Expose jQuery and $ identifiers, even in AMD
+// (#7102#comment:10, https://github.com/jquery/jquery/pull/557)
+// and CommonJS for browser emulators (#13566)
+if ( !noGlobal ) {
+ window.jQuery = window.$ = jQuery;
+}
+
+return jQuery;
+}));
diff --git a/templates/assets/jquery/dist/jquery.min.js b/templates/assets/jquery/dist/jquery.min.js
new file mode 100644
index 0000000..4024b66
--- /dev/null
+++ b/templates/assets/jquery/dist/jquery.min.js
@@ -0,0 +1,4 @@
+/*! jQuery v2.2.4 | (c) jQuery Foundation | jquery.org/license */
+!function(a,b){"object"==typeof module&&"object"==typeof module.exports?module.exports=a.document?b(a,!0):function(a){if(!a.document)throw new Error("jQuery requires a window with a document");return b(a)}:b(a)}("undefined"!=typeof window?window:this,function(a,b){var c=[],d=a.document,e=c.slice,f=c.concat,g=c.push,h=c.indexOf,i={},j=i.toString,k=i.hasOwnProperty,l={},m="2.2.4",n=function(a,b){return new n.fn.init(a,b)},o=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,p=/^-ms-/,q=/-([\da-z])/gi,r=function(a,b){return b.toUpperCase()};n.fn=n.prototype={jquery:m,constructor:n,selector:"",length:0,toArray:function(){return e.call(this)},get:function(a){return null!=a?0>a?this[a+this.length]:this[a]:e.call(this)},pushStack:function(a){var b=n.merge(this.constructor(),a);return b.prevObject=this,b.context=this.context,b},each:function(a){return n.each(this,a)},map:function(a){return this.pushStack(n.map(this,function(b,c){return a.call(b,c,b)}))},slice:function(){return this.pushStack(e.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(a){var b=this.length,c=+a+(0>a?b:0);return this.pushStack(c>=0&&b>c?[this[c]]:[])},end:function(){return this.prevObject||this.constructor()},push:g,sort:c.sort,splice:c.splice},n.extend=n.fn.extend=function(){var a,b,c,d,e,f,g=arguments[0]||{},h=1,i=arguments.length,j=!1;for("boolean"==typeof g&&(j=g,g=arguments[h]||{},h++),"object"==typeof g||n.isFunction(g)||(g={}),h===i&&(g=this,h--);i>h;h++)if(null!=(a=arguments[h]))for(b in a)c=g[b],d=a[b],g!==d&&(j&&d&&(n.isPlainObject(d)||(e=n.isArray(d)))?(e?(e=!1,f=c&&n.isArray(c)?c:[]):f=c&&n.isPlainObject(c)?c:{},g[b]=n.extend(j,f,d)):void 0!==d&&(g[b]=d));return g},n.extend({expando:"jQuery"+(m+Math.random()).replace(/\D/g,""),isReady:!0,error:function(a){throw new Error(a)},noop:function(){},isFunction:function(a){return"function"===n.type(a)},isArray:Array.isArray,isWindow:function(a){return null!=a&&a===a.window},isNumeric:function(a){var b=a&&a.toString();return!n.isArray(a)&&b-parseFloat(b)+1>=0},isPlainObject:function(a){var b;if("object"!==n.type(a)||a.nodeType||n.isWindow(a))return!1;if(a.constructor&&!k.call(a,"constructor")&&!k.call(a.constructor.prototype||{},"isPrototypeOf"))return!1;for(b in a);return void 0===b||k.call(a,b)},isEmptyObject:function(a){var b;for(b in a)return!1;return!0},type:function(a){return null==a?a+"":"object"==typeof a||"function"==typeof a?i[j.call(a)]||"object":typeof a},globalEval:function(a){var b,c=eval;a=n.trim(a),a&&(1===a.indexOf("use strict")?(b=d.createElement("script"),b.text=a,d.head.appendChild(b).parentNode.removeChild(b)):c(a))},camelCase:function(a){return a.replace(p,"ms-").replace(q,r)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toLowerCase()===b.toLowerCase()},each:function(a,b){var c,d=0;if(s(a)){for(c=a.length;c>d;d++)if(b.call(a[d],d,a[d])===!1)break}else for(d in a)if(b.call(a[d],d,a[d])===!1)break;return a},trim:function(a){return null==a?"":(a+"").replace(o,"")},makeArray:function(a,b){var c=b||[];return null!=a&&(s(Object(a))?n.merge(c,"string"==typeof a?[a]:a):g.call(c,a)),c},inArray:function(a,b,c){return null==b?-1:h.call(b,a,c)},merge:function(a,b){for(var c=+b.length,d=0,e=a.length;c>d;d++)a[e++]=b[d];return a.length=e,a},grep:function(a,b,c){for(var d,e=[],f=0,g=a.length,h=!c;g>f;f++)d=!b(a[f],f),d!==h&&e.push(a[f]);return e},map:function(a,b,c){var d,e,g=0,h=[];if(s(a))for(d=a.length;d>g;g++)e=b(a[g],g,c),null!=e&&h.push(e);else for(g in a)e=b(a[g],g,c),null!=e&&h.push(e);return f.apply([],h)},guid:1,proxy:function(a,b){var c,d,f;return"string"==typeof b&&(c=a[b],b=a,a=c),n.isFunction(a)?(d=e.call(arguments,2),f=function(){return a.apply(b||this,d.concat(e.call(arguments)))},f.guid=a.guid=a.guid||n.guid++,f):void 0},now:Date.now,support:l}),"function"==typeof Symbol&&(n.fn[Symbol.iterator]=c[Symbol.iterator]),n.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "),function(a,b){i["[object "+b+"]"]=b.toLowerCase()});function s(a){var b=!!a&&"length"in a&&a.length,c=n.type(a);return"function"===c||n.isWindow(a)?!1:"array"===c||0===b||"number"==typeof b&&b>0&&b-1 in a}var t=function(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u="sizzle"+1*new Date,v=a.document,w=0,x=0,y=ga(),z=ga(),A=ga(),B=function(a,b){return a===b&&(l=!0),0},C=1<<31,D={}.hasOwnProperty,E=[],F=E.pop,G=E.push,H=E.push,I=E.slice,J=function(a,b){for(var c=0,d=a.length;d>c;c++)if(a[c]===b)return c;return-1},K="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",L="[\\x20\\t\\r\\n\\f]",M="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",N="\\["+L+"*("+M+")(?:"+L+"*([*^$|!~]?=)"+L+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+M+"))|)"+L+"*\\]",O=":("+M+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+N+")*)|.*)\\)|)",P=new RegExp(L+"+","g"),Q=new RegExp("^"+L+"+|((?:^|[^\\\\])(?:\\\\.)*)"+L+"+$","g"),R=new RegExp("^"+L+"*,"+L+"*"),S=new RegExp("^"+L+"*([>+~]|"+L+")"+L+"*"),T=new RegExp("="+L+"*([^\\]'\"]*?)"+L+"*\\]","g"),U=new RegExp(O),V=new RegExp("^"+M+"$"),W={ID:new RegExp("^#("+M+")"),CLASS:new RegExp("^\\.("+M+")"),TAG:new RegExp("^("+M+"|[*])"),ATTR:new RegExp("^"+N),PSEUDO:new RegExp("^"+O),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+L+"*(even|odd|(([+-]|)(\\d*)n|)"+L+"*(?:([+-]|)"+L+"*(\\d+)|))"+L+"*\\)|)","i"),bool:new RegExp("^(?:"+K+")$","i"),needsContext:new RegExp("^"+L+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+L+"*((?:-\\d)?\\d*)"+L+"*\\)|)(?=[^-]|$)","i")},X=/^(?:input|select|textarea|button)$/i,Y=/^h\d$/i,Z=/^[^{]+\{\s*\[native \w/,$=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,_=/[+~]/,aa=/'|\\/g,ba=new RegExp("\\\\([\\da-f]{1,6}"+L+"?|("+L+")|.)","ig"),ca=function(a,b,c){var d="0x"+b-65536;return d!==d||c?b:0>d?String.fromCharCode(d+65536):String.fromCharCode(d>>10|55296,1023&d|56320)},da=function(){m()};try{H.apply(E=I.call(v.childNodes),v.childNodes),E[v.childNodes.length].nodeType}catch(ea){H={apply:E.length?function(a,b){G.apply(a,I.call(b))}:function(a,b){var c=a.length,d=0;while(a[c++]=b[d++]);a.length=c-1}}}function fa(a,b,d,e){var f,h,j,k,l,o,r,s,w=b&&b.ownerDocument,x=b?b.nodeType:9;if(d=d||[],"string"!=typeof a||!a||1!==x&&9!==x&&11!==x)return d;if(!e&&((b?b.ownerDocument||b:v)!==n&&m(b),b=b||n,p)){if(11!==x&&(o=$.exec(a)))if(f=o[1]){if(9===x){if(!(j=b.getElementById(f)))return d;if(j.id===f)return d.push(j),d}else if(w&&(j=w.getElementById(f))&&t(b,j)&&j.id===f)return d.push(j),d}else{if(o[2])return H.apply(d,b.getElementsByTagName(a)),d;if((f=o[3])&&c.getElementsByClassName&&b.getElementsByClassName)return H.apply(d,b.getElementsByClassName(f)),d}if(c.qsa&&!A[a+" "]&&(!q||!q.test(a))){if(1!==x)w=b,s=a;else if("object"!==b.nodeName.toLowerCase()){(k=b.getAttribute("id"))?k=k.replace(aa,"\\$&"):b.setAttribute("id",k=u),r=g(a),h=r.length,l=V.test(k)?"#"+k:"[id='"+k+"']";while(h--)r[h]=l+" "+qa(r[h]);s=r.join(","),w=_.test(a)&&oa(b.parentNode)||b}if(s)try{return H.apply(d,w.querySelectorAll(s)),d}catch(y){}finally{k===u&&b.removeAttribute("id")}}}return i(a.replace(Q,"$1"),b,d,e)}function ga(){var a=[];function b(c,e){return a.push(c+" ")>d.cacheLength&&delete b[a.shift()],b[c+" "]=e}return b}function ha(a){return a[u]=!0,a}function ia(a){var b=n.createElement("div");try{return!!a(b)}catch(c){return!1}finally{b.parentNode&&b.parentNode.removeChild(b),b=null}}function ja(a,b){var c=a.split("|"),e=c.length;while(e--)d.attrHandle[c[e]]=b}function ka(a,b){var c=b&&a,d=c&&1===a.nodeType&&1===b.nodeType&&(~b.sourceIndex||C)-(~a.sourceIndex||C);if(d)return d;if(c)while(c=c.nextSibling)if(c===b)return-1;return a?1:-1}function la(a){return function(b){var c=b.nodeName.toLowerCase();return"input"===c&&b.type===a}}function ma(a){return function(b){var c=b.nodeName.toLowerCase();return("input"===c||"button"===c)&&b.type===a}}function na(a){return ha(function(b){return b=+b,ha(function(c,d){var e,f=a([],c.length,b),g=f.length;while(g--)c[e=f[g]]&&(c[e]=!(d[e]=c[e]))})})}function oa(a){return a&&"undefined"!=typeof a.getElementsByTagName&&a}c=fa.support={},f=fa.isXML=function(a){var b=a&&(a.ownerDocument||a).documentElement;return b?"HTML"!==b.nodeName:!1},m=fa.setDocument=function(a){var b,e,g=a?a.ownerDocument||a:v;return g!==n&&9===g.nodeType&&g.documentElement?(n=g,o=n.documentElement,p=!f(n),(e=n.defaultView)&&e.top!==e&&(e.addEventListener?e.addEventListener("unload",da,!1):e.attachEvent&&e.attachEvent("onunload",da)),c.attributes=ia(function(a){return a.className="i",!a.getAttribute("className")}),c.getElementsByTagName=ia(function(a){return a.appendChild(n.createComment("")),!a.getElementsByTagName("*").length}),c.getElementsByClassName=Z.test(n.getElementsByClassName),c.getById=ia(function(a){return o.appendChild(a).id=u,!n.getElementsByName||!n.getElementsByName(u).length}),c.getById?(d.find.ID=function(a,b){if("undefined"!=typeof b.getElementById&&p){var c=b.getElementById(a);return c?[c]:[]}},d.filter.ID=function(a){var b=a.replace(ba,ca);return function(a){return a.getAttribute("id")===b}}):(delete d.find.ID,d.filter.ID=function(a){var b=a.replace(ba,ca);return function(a){var c="undefined"!=typeof a.getAttributeNode&&a.getAttributeNode("id");return c&&c.value===b}}),d.find.TAG=c.getElementsByTagName?function(a,b){return"undefined"!=typeof b.getElementsByTagName?b.getElementsByTagName(a):c.qsa?b.querySelectorAll(a):void 0}:function(a,b){var c,d=[],e=0,f=b.getElementsByTagName(a);if("*"===a){while(c=f[e++])1===c.nodeType&&d.push(c);return d}return f},d.find.CLASS=c.getElementsByClassName&&function(a,b){return"undefined"!=typeof b.getElementsByClassName&&p?b.getElementsByClassName(a):void 0},r=[],q=[],(c.qsa=Z.test(n.querySelectorAll))&&(ia(function(a){o.appendChild(a).innerHTML="<a id='"+u+"'></a><select id='"+u+"-\r\\' msallowcapture=''><option selected=''></option></select>",a.querySelectorAll("[msallowcapture^='']").length&&q.push("[*^$]="+L+"*(?:''|\"\")"),a.querySelectorAll("[selected]").length||q.push("\\["+L+"*(?:value|"+K+")"),a.querySelectorAll("[id~="+u+"-]").length||q.push("~="),a.querySelectorAll(":checked").length||q.push(":checked"),a.querySelectorAll("a#"+u+"+*").length||q.push(".#.+[+~]")}),ia(function(a){var b=n.createElement("input");b.setAttribute("type","hidden"),a.appendChild(b).setAttribute("name","D"),a.querySelectorAll("[name=d]").length&&q.push("name"+L+"*[*^$|!~]?="),a.querySelectorAll(":enabled").length||q.push(":enabled",":disabled"),a.querySelectorAll("*,:x"),q.push(",.*:")})),(c.matchesSelector=Z.test(s=o.matches||o.webkitMatchesSelector||o.mozMatchesSelector||o.oMatchesSelector||o.msMatchesSelector))&&ia(function(a){c.disconnectedMatch=s.call(a,"div"),s.call(a,"[s!='']:x"),r.push("!=",O)}),q=q.length&&new RegExp(q.join("|")),r=r.length&&new RegExp(r.join("|")),b=Z.test(o.compareDocumentPosition),t=b||Z.test(o.contains)?function(a,b){var c=9===a.nodeType?a.documentElement:a,d=b&&b.parentNode;return a===d||!(!d||1!==d.nodeType||!(c.contains?c.contains(d):a.compareDocumentPosition&&16&a.compareDocumentPosition(d)))}:function(a,b){if(b)while(b=b.parentNode)if(b===a)return!0;return!1},B=b?function(a,b){if(a===b)return l=!0,0;var d=!a.compareDocumentPosition-!b.compareDocumentPosition;return d?d:(d=(a.ownerDocument||a)===(b.ownerDocument||b)?a.compareDocumentPosition(b):1,1&d||!c.sortDetached&&b.compareDocumentPosition(a)===d?a===n||a.ownerDocument===v&&t(v,a)?-1:b===n||b.ownerDocument===v&&t(v,b)?1:k?J(k,a)-J(k,b):0:4&d?-1:1)}:function(a,b){if(a===b)return l=!0,0;var c,d=0,e=a.parentNode,f=b.parentNode,g=[a],h=[b];if(!e||!f)return a===n?-1:b===n?1:e?-1:f?1:k?J(k,a)-J(k,b):0;if(e===f)return ka(a,b);c=a;while(c=c.parentNode)g.unshift(c);c=b;while(c=c.parentNode)h.unshift(c);while(g[d]===h[d])d++;return d?ka(g[d],h[d]):g[d]===v?-1:h[d]===v?1:0},n):n},fa.matches=function(a,b){return fa(a,null,null,b)},fa.matchesSelector=function(a,b){if((a.ownerDocument||a)!==n&&m(a),b=b.replace(T,"='$1']"),c.matchesSelector&&p&&!A[b+" "]&&(!r||!r.test(b))&&(!q||!q.test(b)))try{var d=s.call(a,b);if(d||c.disconnectedMatch||a.document&&11!==a.document.nodeType)return d}catch(e){}return fa(b,n,null,[a]).length>0},fa.contains=function(a,b){return(a.ownerDocument||a)!==n&&m(a),t(a,b)},fa.attr=function(a,b){(a.ownerDocument||a)!==n&&m(a);var e=d.attrHandle[b.toLowerCase()],f=e&&D.call(d.attrHandle,b.toLowerCase())?e(a,b,!p):void 0;return void 0!==f?f:c.attributes||!p?a.getAttribute(b):(f=a.getAttributeNode(b))&&f.specified?f.value:null},fa.error=function(a){throw new Error("Syntax error, unrecognized expression: "+a)},fa.uniqueSort=function(a){var b,d=[],e=0,f=0;if(l=!c.detectDuplicates,k=!c.sortStable&&a.slice(0),a.sort(B),l){while(b=a[f++])b===a[f]&&(e=d.push(f));while(e--)a.splice(d[e],1)}return k=null,a},e=fa.getText=function(a){var b,c="",d=0,f=a.nodeType;if(f){if(1===f||9===f||11===f){if("string"==typeof a.textContent)return a.textContent;for(a=a.firstChild;a;a=a.nextSibling)c+=e(a)}else if(3===f||4===f)return a.nodeValue}else while(b=a[d++])c+=e(b);return c},d=fa.selectors={cacheLength:50,createPseudo:ha,match:W,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(a){return a[1]=a[1].replace(ba,ca),a[3]=(a[3]||a[4]||a[5]||"").replace(ba,ca),"~="===a[2]&&(a[3]=" "+a[3]+" "),a.slice(0,4)},CHILD:function(a){return a[1]=a[1].toLowerCase(),"nth"===a[1].slice(0,3)?(a[3]||fa.error(a[0]),a[4]=+(a[4]?a[5]+(a[6]||1):2*("even"===a[3]||"odd"===a[3])),a[5]=+(a[7]+a[8]||"odd"===a[3])):a[3]&&fa.error(a[0]),a},PSEUDO:function(a){var b,c=!a[6]&&a[2];return W.CHILD.test(a[0])?null:(a[3]?a[2]=a[4]||a[5]||"":c&&U.test(c)&&(b=g(c,!0))&&(b=c.indexOf(")",c.length-b)-c.length)&&(a[0]=a[0].slice(0,b),a[2]=c.slice(0,b)),a.slice(0,3))}},filter:{TAG:function(a){var b=a.replace(ba,ca).toLowerCase();return"*"===a?function(){return!0}:function(a){return a.nodeName&&a.nodeName.toLowerCase()===b}},CLASS:function(a){var b=y[a+" "];return b||(b=new RegExp("(^|"+L+")"+a+"("+L+"|$)"))&&y(a,function(a){return b.test("string"==typeof a.className&&a.className||"undefined"!=typeof a.getAttribute&&a.getAttribute("class")||"")})},ATTR:function(a,b,c){return function(d){var e=fa.attr(d,a);return null==e?"!="===b:b?(e+="","="===b?e===c:"!="===b?e!==c:"^="===b?c&&0===e.indexOf(c):"*="===b?c&&e.indexOf(c)>-1:"$="===b?c&&e.slice(-c.length)===c:"~="===b?(" "+e.replace(P," ")+" ").indexOf(c)>-1:"|="===b?e===c||e.slice(0,c.length+1)===c+"-":!1):!0}},CHILD:function(a,b,c,d,e){var f="nth"!==a.slice(0,3),g="last"!==a.slice(-4),h="of-type"===b;return 1===d&&0===e?function(a){return!!a.parentNode}:function(b,c,i){var j,k,l,m,n,o,p=f!==g?"nextSibling":"previousSibling",q=b.parentNode,r=h&&b.nodeName.toLowerCase(),s=!i&&!h,t=!1;if(q){if(f){while(p){m=b;while(m=m[p])if(h?m.nodeName.toLowerCase()===r:1===m.nodeType)return!1;o=p="only"===a&&!o&&"nextSibling"}return!0}if(o=[g?q.firstChild:q.lastChild],g&&s){m=q,l=m[u]||(m[u]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),j=k[a]||[],n=j[0]===w&&j[1],t=n&&j[2],m=n&&q.childNodes[n];while(m=++n&&m&&m[p]||(t=n=0)||o.pop())if(1===m.nodeType&&++t&&m===b){k[a]=[w,n,t];break}}else if(s&&(m=b,l=m[u]||(m[u]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),j=k[a]||[],n=j[0]===w&&j[1],t=n),t===!1)while(m=++n&&m&&m[p]||(t=n=0)||o.pop())if((h?m.nodeName.toLowerCase()===r:1===m.nodeType)&&++t&&(s&&(l=m[u]||(m[u]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),k[a]=[w,t]),m===b))break;return t-=e,t===d||t%d===0&&t/d>=0}}},PSEUDO:function(a,b){var c,e=d.pseudos[a]||d.setFilters[a.toLowerCase()]||fa.error("unsupported pseudo: "+a);return e[u]?e(b):e.length>1?(c=[a,a,"",b],d.setFilters.hasOwnProperty(a.toLowerCase())?ha(function(a,c){var d,f=e(a,b),g=f.length;while(g--)d=J(a,f[g]),a[d]=!(c[d]=f[g])}):function(a){return e(a,0,c)}):e}},pseudos:{not:ha(function(a){var b=[],c=[],d=h(a.replace(Q,"$1"));return d[u]?ha(function(a,b,c,e){var f,g=d(a,null,e,[]),h=a.length;while(h--)(f=g[h])&&(a[h]=!(b[h]=f))}):function(a,e,f){return b[0]=a,d(b,null,f,c),b[0]=null,!c.pop()}}),has:ha(function(a){return function(b){return fa(a,b).length>0}}),contains:ha(function(a){return a=a.replace(ba,ca),function(b){return(b.textContent||b.innerText||e(b)).indexOf(a)>-1}}),lang:ha(function(a){return V.test(a||"")||fa.error("unsupported lang: "+a),a=a.replace(ba,ca).toLowerCase(),function(b){var c;do if(c=p?b.lang:b.getAttribute("xml:lang")||b.getAttribute("lang"))return c=c.toLowerCase(),c===a||0===c.indexOf(a+"-");while((b=b.parentNode)&&1===b.nodeType);return!1}}),target:function(b){var c=a.location&&a.location.hash;return c&&c.slice(1)===b.id},root:function(a){return a===o},focus:function(a){return a===n.activeElement&&(!n.hasFocus||n.hasFocus())&&!!(a.type||a.href||~a.tabIndex)},enabled:function(a){return a.disabled===!1},disabled:function(a){return a.disabled===!0},checked:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&!!a.checked||"option"===b&&!!a.selected},selected:function(a){return a.parentNode&&a.parentNode.selectedIndex,a.selected===!0},empty:function(a){for(a=a.firstChild;a;a=a.nextSibling)if(a.nodeType<6)return!1;return!0},parent:function(a){return!d.pseudos.empty(a)},header:function(a){return Y.test(a.nodeName)},input:function(a){return X.test(a.nodeName)},button:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&"button"===a.type||"button"===b},text:function(a){var b;return"input"===a.nodeName.toLowerCase()&&"text"===a.type&&(null==(b=a.getAttribute("type"))||"text"===b.toLowerCase())},first:na(function(){return[0]}),last:na(function(a,b){return[b-1]}),eq:na(function(a,b,c){return[0>c?c+b:c]}),even:na(function(a,b){for(var c=0;b>c;c+=2)a.push(c);return a}),odd:na(function(a,b){for(var c=1;b>c;c+=2)a.push(c);return a}),lt:na(function(a,b,c){for(var d=0>c?c+b:c;--d>=0;)a.push(d);return a}),gt:na(function(a,b,c){for(var d=0>c?c+b:c;++d<b;)a.push(d);return a})}},d.pseudos.nth=d.pseudos.eq;for(b in{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})d.pseudos[b]=la(b);for(b in{submit:!0,reset:!0})d.pseudos[b]=ma(b);function pa(){}pa.prototype=d.filters=d.pseudos,d.setFilters=new pa,g=fa.tokenize=function(a,b){var c,e,f,g,h,i,j,k=z[a+" "];if(k)return b?0:k.slice(0);h=a,i=[],j=d.preFilter;while(h){c&&!(e=R.exec(h))||(e&&(h=h.slice(e[0].length)||h),i.push(f=[])),c=!1,(e=S.exec(h))&&(c=e.shift(),f.push({value:c,type:e[0].replace(Q," ")}),h=h.slice(c.length));for(g in d.filter)!(e=W[g].exec(h))||j[g]&&!(e=j[g](e))||(c=e.shift(),f.push({value:c,type:g,matches:e}),h=h.slice(c.length));if(!c)break}return b?h.length:h?fa.error(a):z(a,i).slice(0)};function qa(a){for(var b=0,c=a.length,d="";c>b;b++)d+=a[b].value;return d}function ra(a,b,c){var d=b.dir,e=c&&"parentNode"===d,f=x++;return b.first?function(b,c,f){while(b=b[d])if(1===b.nodeType||e)return a(b,c,f)}:function(b,c,g){var h,i,j,k=[w,f];if(g){while(b=b[d])if((1===b.nodeType||e)&&a(b,c,g))return!0}else while(b=b[d])if(1===b.nodeType||e){if(j=b[u]||(b[u]={}),i=j[b.uniqueID]||(j[b.uniqueID]={}),(h=i[d])&&h[0]===w&&h[1]===f)return k[2]=h[2];if(i[d]=k,k[2]=a(b,c,g))return!0}}}function sa(a){return a.length>1?function(b,c,d){var e=a.length;while(e--)if(!a[e](b,c,d))return!1;return!0}:a[0]}function ta(a,b,c){for(var d=0,e=b.length;e>d;d++)fa(a,b[d],c);return c}function ua(a,b,c,d,e){for(var f,g=[],h=0,i=a.length,j=null!=b;i>h;h++)(f=a[h])&&(c&&!c(f,d,e)||(g.push(f),j&&b.push(h)));return g}function va(a,b,c,d,e,f){return d&&!d[u]&&(d=va(d)),e&&!e[u]&&(e=va(e,f)),ha(function(f,g,h,i){var j,k,l,m=[],n=[],o=g.length,p=f||ta(b||"*",h.nodeType?[h]:h,[]),q=!a||!f&&b?p:ua(p,m,a,h,i),r=c?e||(f?a:o||d)?[]:g:q;if(c&&c(q,r,h,i),d){j=ua(r,n),d(j,[],h,i),k=j.length;while(k--)(l=j[k])&&(r[n[k]]=!(q[n[k]]=l))}if(f){if(e||a){if(e){j=[],k=r.length;while(k--)(l=r[k])&&j.push(q[k]=l);e(null,r=[],j,i)}k=r.length;while(k--)(l=r[k])&&(j=e?J(f,l):m[k])>-1&&(f[j]=!(g[j]=l))}}else r=ua(r===g?r.splice(o,r.length):r),e?e(null,g,r,i):H.apply(g,r)})}function wa(a){for(var b,c,e,f=a.length,g=d.relative[a[0].type],h=g||d.relative[" "],i=g?1:0,k=ra(function(a){return a===b},h,!0),l=ra(function(a){return J(b,a)>-1},h,!0),m=[function(a,c,d){var e=!g&&(d||c!==j)||((b=c).nodeType?k(a,c,d):l(a,c,d));return b=null,e}];f>i;i++)if(c=d.relative[a[i].type])m=[ra(sa(m),c)];else{if(c=d.filter[a[i].type].apply(null,a[i].matches),c[u]){for(e=++i;f>e;e++)if(d.relative[a[e].type])break;return va(i>1&&sa(m),i>1&&qa(a.slice(0,i-1).concat({value:" "===a[i-2].type?"*":""})).replace(Q,"$1"),c,e>i&&wa(a.slice(i,e)),f>e&&wa(a=a.slice(e)),f>e&&qa(a))}m.push(c)}return sa(m)}function xa(a,b){var c=b.length>0,e=a.length>0,f=function(f,g,h,i,k){var l,o,q,r=0,s="0",t=f&&[],u=[],v=j,x=f||e&&d.find.TAG("*",k),y=w+=null==v?1:Math.random()||.1,z=x.length;for(k&&(j=g===n||g||k);s!==z&&null!=(l=x[s]);s++){if(e&&l){o=0,g||l.ownerDocument===n||(m(l),h=!p);while(q=a[o++])if(q(l,g||n,h)){i.push(l);break}k&&(w=y)}c&&((l=!q&&l)&&r--,f&&t.push(l))}if(r+=s,c&&s!==r){o=0;while(q=b[o++])q(t,u,g,h);if(f){if(r>0)while(s--)t[s]||u[s]||(u[s]=F.call(i));u=ua(u)}H.apply(i,u),k&&!f&&u.length>0&&r+b.length>1&&fa.uniqueSort(i)}return k&&(w=y,j=v),t};return c?ha(f):f}return h=fa.compile=function(a,b){var c,d=[],e=[],f=A[a+" "];if(!f){b||(b=g(a)),c=b.length;while(c--)f=wa(b[c]),f[u]?d.push(f):e.push(f);f=A(a,xa(e,d)),f.selector=a}return f},i=fa.select=function(a,b,e,f){var i,j,k,l,m,n="function"==typeof a&&a,o=!f&&g(a=n.selector||a);if(e=e||[],1===o.length){if(j=o[0]=o[0].slice(0),j.length>2&&"ID"===(k=j[0]).type&&c.getById&&9===b.nodeType&&p&&d.relative[j[1].type]){if(b=(d.find.ID(k.matches[0].replace(ba,ca),b)||[])[0],!b)return e;n&&(b=b.parentNode),a=a.slice(j.shift().value.length)}i=W.needsContext.test(a)?0:j.length;while(i--){if(k=j[i],d.relative[l=k.type])break;if((m=d.find[l])&&(f=m(k.matches[0].replace(ba,ca),_.test(j[0].type)&&oa(b.parentNode)||b))){if(j.splice(i,1),a=f.length&&qa(j),!a)return H.apply(e,f),e;break}}}return(n||h(a,o))(f,b,!p,e,!b||_.test(a)&&oa(b.parentNode)||b),e},c.sortStable=u.split("").sort(B).join("")===u,c.detectDuplicates=!!l,m(),c.sortDetached=ia(function(a){return 1&a.compareDocumentPosition(n.createElement("div"))}),ia(function(a){return a.innerHTML="<a href='#'></a>","#"===a.firstChild.getAttribute("href")})||ja("type|href|height|width",function(a,b,c){return c?void 0:a.getAttribute(b,"type"===b.toLowerCase()?1:2)}),c.attributes&&ia(function(a){return a.innerHTML="<input/>",a.firstChild.setAttribute("value",""),""===a.firstChild.getAttribute("value")})||ja("value",function(a,b,c){return c||"input"!==a.nodeName.toLowerCase()?void 0:a.defaultValue}),ia(function(a){return null==a.getAttribute("disabled")})||ja(K,function(a,b,c){var d;return c?void 0:a[b]===!0?b.toLowerCase():(d=a.getAttributeNode(b))&&d.specified?d.value:null}),fa}(a);n.find=t,n.expr=t.selectors,n.expr[":"]=n.expr.pseudos,n.uniqueSort=n.unique=t.uniqueSort,n.text=t.getText,n.isXMLDoc=t.isXML,n.contains=t.contains;var u=function(a,b,c){var d=[],e=void 0!==c;while((a=a[b])&&9!==a.nodeType)if(1===a.nodeType){if(e&&n(a).is(c))break;d.push(a)}return d},v=function(a,b){for(var c=[];a;a=a.nextSibling)1===a.nodeType&&a!==b&&c.push(a);return c},w=n.expr.match.needsContext,x=/^<([\w-]+)\s*\/?>(?:<\/\1>|)$/,y=/^.[^:#\[\.,]*$/;function z(a,b,c){if(n.isFunction(b))return n.grep(a,function(a,d){return!!b.call(a,d,a)!==c});if(b.nodeType)return n.grep(a,function(a){return a===b!==c});if("string"==typeof b){if(y.test(b))return n.filter(b,a,c);b=n.filter(b,a)}return n.grep(a,function(a){return h.call(b,a)>-1!==c})}n.filter=function(a,b,c){var d=b[0];return c&&(a=":not("+a+")"),1===b.length&&1===d.nodeType?n.find.matchesSelector(d,a)?[d]:[]:n.find.matches(a,n.grep(b,function(a){return 1===a.nodeType}))},n.fn.extend({find:function(a){var b,c=this.length,d=[],e=this;if("string"!=typeof a)return this.pushStack(n(a).filter(function(){for(b=0;c>b;b++)if(n.contains(e[b],this))return!0}));for(b=0;c>b;b++)n.find(a,e[b],d);return d=this.pushStack(c>1?n.unique(d):d),d.selector=this.selector?this.selector+" "+a:a,d},filter:function(a){return this.pushStack(z(this,a||[],!1))},not:function(a){return this.pushStack(z(this,a||[],!0))},is:function(a){return!!z(this,"string"==typeof a&&w.test(a)?n(a):a||[],!1).length}});var A,B=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,C=n.fn.init=function(a,b,c){var e,f;if(!a)return this;if(c=c||A,"string"==typeof a){if(e="<"===a[0]&&">"===a[a.length-1]&&a.length>=3?[null,a,null]:B.exec(a),!e||!e[1]&&b)return!b||b.jquery?(b||c).find(a):this.constructor(b).find(a);if(e[1]){if(b=b instanceof n?b[0]:b,n.merge(this,n.parseHTML(e[1],b&&b.nodeType?b.ownerDocument||b:d,!0)),x.test(e[1])&&n.isPlainObject(b))for(e in b)n.isFunction(this[e])?this[e](b[e]):this.attr(e,b[e]);return this}return f=d.getElementById(e[2]),f&&f.parentNode&&(this.length=1,this[0]=f),this.context=d,this.selector=a,this}return a.nodeType?(this.context=this[0]=a,this.length=1,this):n.isFunction(a)?void 0!==c.ready?c.ready(a):a(n):(void 0!==a.selector&&(this.selector=a.selector,this.context=a.context),n.makeArray(a,this))};C.prototype=n.fn,A=n(d);var D=/^(?:parents|prev(?:Until|All))/,E={children:!0,contents:!0,next:!0,prev:!0};n.fn.extend({has:function(a){var b=n(a,this),c=b.length;return this.filter(function(){for(var a=0;c>a;a++)if(n.contains(this,b[a]))return!0})},closest:function(a,b){for(var c,d=0,e=this.length,f=[],g=w.test(a)||"string"!=typeof a?n(a,b||this.context):0;e>d;d++)for(c=this[d];c&&c!==b;c=c.parentNode)if(c.nodeType<11&&(g?g.index(c)>-1:1===c.nodeType&&n.find.matchesSelector(c,a))){f.push(c);break}return this.pushStack(f.length>1?n.uniqueSort(f):f)},index:function(a){return a?"string"==typeof a?h.call(n(a),this[0]):h.call(this,a.jquery?a[0]:a):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(a,b){return this.pushStack(n.uniqueSort(n.merge(this.get(),n(a,b))))},addBack:function(a){return this.add(null==a?this.prevObject:this.prevObject.filter(a))}});function F(a,b){while((a=a[b])&&1!==a.nodeType);return a}n.each({parent:function(a){var b=a.parentNode;return b&&11!==b.nodeType?b:null},parents:function(a){return u(a,"parentNode")},parentsUntil:function(a,b,c){return u(a,"parentNode",c)},next:function(a){return F(a,"nextSibling")},prev:function(a){return F(a,"previousSibling")},nextAll:function(a){return u(a,"nextSibling")},prevAll:function(a){return u(a,"previousSibling")},nextUntil:function(a,b,c){return u(a,"nextSibling",c)},prevUntil:function(a,b,c){return u(a,"previousSibling",c)},siblings:function(a){return v((a.parentNode||{}).firstChild,a)},children:function(a){return v(a.firstChild)},contents:function(a){return a.contentDocument||n.merge([],a.childNodes)}},function(a,b){n.fn[a]=function(c,d){var e=n.map(this,b,c);return"Until"!==a.slice(-5)&&(d=c),d&&"string"==typeof d&&(e=n.filter(d,e)),this.length>1&&(E[a]||n.uniqueSort(e),D.test(a)&&e.reverse()),this.pushStack(e)}});var G=/\S+/g;function H(a){var b={};return n.each(a.match(G)||[],function(a,c){b[c]=!0}),b}n.Callbacks=function(a){a="string"==typeof a?H(a):n.extend({},a);var b,c,d,e,f=[],g=[],h=-1,i=function(){for(e=a.once,d=b=!0;g.length;h=-1){c=g.shift();while(++h<f.length)f[h].apply(c[0],c[1])===!1&&a.stopOnFalse&&(h=f.length,c=!1)}a.memory||(c=!1),b=!1,e&&(f=c?[]:"")},j={add:function(){return f&&(c&&!b&&(h=f.length-1,g.push(c)),function d(b){n.each(b,function(b,c){n.isFunction(c)?a.unique&&j.has(c)||f.push(c):c&&c.length&&"string"!==n.type(c)&&d(c)})}(arguments),c&&!b&&i()),this},remove:function(){return n.each(arguments,function(a,b){var c;while((c=n.inArray(b,f,c))>-1)f.splice(c,1),h>=c&&h--}),this},has:function(a){return a?n.inArray(a,f)>-1:f.length>0},empty:function(){return f&&(f=[]),this},disable:function(){return e=g=[],f=c="",this},disabled:function(){return!f},lock:function(){return e=g=[],c||(f=c=""),this},locked:function(){return!!e},fireWith:function(a,c){return e||(c=c||[],c=[a,c.slice?c.slice():c],g.push(c),b||i()),this},fire:function(){return j.fireWith(this,arguments),this},fired:function(){return!!d}};return j},n.extend({Deferred:function(a){var b=[["resolve","done",n.Callbacks("once memory"),"resolved"],["reject","fail",n.Callbacks("once memory"),"rejected"],["notify","progress",n.Callbacks("memory")]],c="pending",d={state:function(){return c},always:function(){return e.done(arguments).fail(arguments),this},then:function(){var a=arguments;return n.Deferred(function(c){n.each(b,function(b,f){var g=n.isFunction(a[b])&&a[b];e[f[1]](function(){var a=g&&g.apply(this,arguments);a&&n.isFunction(a.promise)?a.promise().progress(c.notify).done(c.resolve).fail(c.reject):c[f[0]+"With"](this===d?c.promise():this,g?[a]:arguments)})}),a=null}).promise()},promise:function(a){return null!=a?n.extend(a,d):d}},e={};return d.pipe=d.then,n.each(b,function(a,f){var g=f[2],h=f[3];d[f[1]]=g.add,h&&g.add(function(){c=h},b[1^a][2].disable,b[2][2].lock),e[f[0]]=function(){return e[f[0]+"With"](this===e?d:this,arguments),this},e[f[0]+"With"]=g.fireWith}),d.promise(e),a&&a.call(e,e),e},when:function(a){var b=0,c=e.call(arguments),d=c.length,f=1!==d||a&&n.isFunction(a.promise)?d:0,g=1===f?a:n.Deferred(),h=function(a,b,c){return function(d){b[a]=this,c[a]=arguments.length>1?e.call(arguments):d,c===i?g.notifyWith(b,c):--f||g.resolveWith(b,c)}},i,j,k;if(d>1)for(i=new Array(d),j=new Array(d),k=new Array(d);d>b;b++)c[b]&&n.isFunction(c[b].promise)?c[b].promise().progress(h(b,j,i)).done(h(b,k,c)).fail(g.reject):--f;return f||g.resolveWith(k,c),g.promise()}});var I;n.fn.ready=function(a){return n.ready.promise().done(a),this},n.extend({isReady:!1,readyWait:1,holdReady:function(a){a?n.readyWait++:n.ready(!0)},ready:function(a){(a===!0?--n.readyWait:n.isReady)||(n.isReady=!0,a!==!0&&--n.readyWait>0||(I.resolveWith(d,[n]),n.fn.triggerHandler&&(n(d).triggerHandler("ready"),n(d).off("ready"))))}});function J(){d.removeEventListener("DOMContentLoaded",J),a.removeEventListener("load",J),n.ready()}n.ready.promise=function(b){return I||(I=n.Deferred(),"complete"===d.readyState||"loading"!==d.readyState&&!d.documentElement.doScroll?a.setTimeout(n.ready):(d.addEventListener("DOMContentLoaded",J),a.addEventListener("load",J))),I.promise(b)},n.ready.promise();var K=function(a,b,c,d,e,f,g){var h=0,i=a.length,j=null==c;if("object"===n.type(c)){e=!0;for(h in c)K(a,b,h,c[h],!0,f,g)}else if(void 0!==d&&(e=!0,n.isFunction(d)||(g=!0),j&&(g?(b.call(a,d),b=null):(j=b,b=function(a,b,c){return j.call(n(a),c)})),b))for(;i>h;h++)b(a[h],c,g?d:d.call(a[h],h,b(a[h],c)));return e?a:j?b.call(a):i?b(a[0],c):f},L=function(a){return 1===a.nodeType||9===a.nodeType||!+a.nodeType};function M(){this.expando=n.expando+M.uid++}M.uid=1,M.prototype={register:function(a,b){var c=b||{};return a.nodeType?a[this.expando]=c:Object.defineProperty(a,this.expando,{value:c,writable:!0,configurable:!0}),a[this.expando]},cache:function(a){if(!L(a))return{};var b=a[this.expando];return b||(b={},L(a)&&(a.nodeType?a[this.expando]=b:Object.defineProperty(a,this.expando,{value:b,configurable:!0}))),b},set:function(a,b,c){var d,e=this.cache(a);if("string"==typeof b)e[b]=c;else for(d in b)e[d]=b[d];return e},get:function(a,b){return void 0===b?this.cache(a):a[this.expando]&&a[this.expando][b]},access:function(a,b,c){var d;return void 0===b||b&&"string"==typeof b&&void 0===c?(d=this.get(a,b),void 0!==d?d:this.get(a,n.camelCase(b))):(this.set(a,b,c),void 0!==c?c:b)},remove:function(a,b){var c,d,e,f=a[this.expando];if(void 0!==f){if(void 0===b)this.register(a);else{n.isArray(b)?d=b.concat(b.map(n.camelCase)):(e=n.camelCase(b),b in f?d=[b,e]:(d=e,d=d in f?[d]:d.match(G)||[])),c=d.length;while(c--)delete f[d[c]]}(void 0===b||n.isEmptyObject(f))&&(a.nodeType?a[this.expando]=void 0:delete a[this.expando])}},hasData:function(a){var b=a[this.expando];return void 0!==b&&!n.isEmptyObject(b)}};var N=new M,O=new M,P=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,Q=/[A-Z]/g;function R(a,b,c){var d;if(void 0===c&&1===a.nodeType)if(d="data-"+b.replace(Q,"-$&").toLowerCase(),c=a.getAttribute(d),"string"==typeof c){try{c="true"===c?!0:"false"===c?!1:"null"===c?null:+c+""===c?+c:P.test(c)?n.parseJSON(c):c;
+}catch(e){}O.set(a,b,c)}else c=void 0;return c}n.extend({hasData:function(a){return O.hasData(a)||N.hasData(a)},data:function(a,b,c){return O.access(a,b,c)},removeData:function(a,b){O.remove(a,b)},_data:function(a,b,c){return N.access(a,b,c)},_removeData:function(a,b){N.remove(a,b)}}),n.fn.extend({data:function(a,b){var c,d,e,f=this[0],g=f&&f.attributes;if(void 0===a){if(this.length&&(e=O.get(f),1===f.nodeType&&!N.get(f,"hasDataAttrs"))){c=g.length;while(c--)g[c]&&(d=g[c].name,0===d.indexOf("data-")&&(d=n.camelCase(d.slice(5)),R(f,d,e[d])));N.set(f,"hasDataAttrs",!0)}return e}return"object"==typeof a?this.each(function(){O.set(this,a)}):K(this,function(b){var c,d;if(f&&void 0===b){if(c=O.get(f,a)||O.get(f,a.replace(Q,"-$&").toLowerCase()),void 0!==c)return c;if(d=n.camelCase(a),c=O.get(f,d),void 0!==c)return c;if(c=R(f,d,void 0),void 0!==c)return c}else d=n.camelCase(a),this.each(function(){var c=O.get(this,d);O.set(this,d,b),a.indexOf("-")>-1&&void 0!==c&&O.set(this,a,b)})},null,b,arguments.length>1,null,!0)},removeData:function(a){return this.each(function(){O.remove(this,a)})}}),n.extend({queue:function(a,b,c){var d;return a?(b=(b||"fx")+"queue",d=N.get(a,b),c&&(!d||n.isArray(c)?d=N.access(a,b,n.makeArray(c)):d.push(c)),d||[]):void 0},dequeue:function(a,b){b=b||"fx";var c=n.queue(a,b),d=c.length,e=c.shift(),f=n._queueHooks(a,b),g=function(){n.dequeue(a,b)};"inprogress"===e&&(e=c.shift(),d--),e&&("fx"===b&&c.unshift("inprogress"),delete f.stop,e.call(a,g,f)),!d&&f&&f.empty.fire()},_queueHooks:function(a,b){var c=b+"queueHooks";return N.get(a,c)||N.access(a,c,{empty:n.Callbacks("once memory").add(function(){N.remove(a,[b+"queue",c])})})}}),n.fn.extend({queue:function(a,b){var c=2;return"string"!=typeof a&&(b=a,a="fx",c--),arguments.length<c?n.queue(this[0],a):void 0===b?this:this.each(function(){var c=n.queue(this,a,b);n._queueHooks(this,a),"fx"===a&&"inprogress"!==c[0]&&n.dequeue(this,a)})},dequeue:function(a){return this.each(function(){n.dequeue(this,a)})},clearQueue:function(a){return this.queue(a||"fx",[])},promise:function(a,b){var c,d=1,e=n.Deferred(),f=this,g=this.length,h=function(){--d||e.resolveWith(f,[f])};"string"!=typeof a&&(b=a,a=void 0),a=a||"fx";while(g--)c=N.get(f[g],a+"queueHooks"),c&&c.empty&&(d++,c.empty.add(h));return h(),e.promise(b)}});var S=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,T=new RegExp("^(?:([+-])=|)("+S+")([a-z%]*)$","i"),U=["Top","Right","Bottom","Left"],V=function(a,b){return a=b||a,"none"===n.css(a,"display")||!n.contains(a.ownerDocument,a)};function W(a,b,c,d){var e,f=1,g=20,h=d?function(){return d.cur()}:function(){return n.css(a,b,"")},i=h(),j=c&&c[3]||(n.cssNumber[b]?"":"px"),k=(n.cssNumber[b]||"px"!==j&&+i)&&T.exec(n.css(a,b));if(k&&k[3]!==j){j=j||k[3],c=c||[],k=+i||1;do f=f||".5",k/=f,n.style(a,b,k+j);while(f!==(f=h()/i)&&1!==f&&--g)}return c&&(k=+k||+i||0,e=c[1]?k+(c[1]+1)*c[2]:+c[2],d&&(d.unit=j,d.start=k,d.end=e)),e}var X=/^(?:checkbox|radio)$/i,Y=/<([\w:-]+)/,Z=/^$|\/(?:java|ecma)script/i,$={option:[1,"<select multiple='multiple'>","</select>"],thead:[1,"<table>","</table>"],col:[2,"<table><colgroup>","</colgroup></table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:[0,"",""]};$.optgroup=$.option,$.tbody=$.tfoot=$.colgroup=$.caption=$.thead,$.th=$.td;function _(a,b){var c="undefined"!=typeof a.getElementsByTagName?a.getElementsByTagName(b||"*"):"undefined"!=typeof a.querySelectorAll?a.querySelectorAll(b||"*"):[];return void 0===b||b&&n.nodeName(a,b)?n.merge([a],c):c}function aa(a,b){for(var c=0,d=a.length;d>c;c++)N.set(a[c],"globalEval",!b||N.get(b[c],"globalEval"))}var ba=/<|&#?\w+;/;function ca(a,b,c,d,e){for(var f,g,h,i,j,k,l=b.createDocumentFragment(),m=[],o=0,p=a.length;p>o;o++)if(f=a[o],f||0===f)if("object"===n.type(f))n.merge(m,f.nodeType?[f]:f);else if(ba.test(f)){g=g||l.appendChild(b.createElement("div")),h=(Y.exec(f)||["",""])[1].toLowerCase(),i=$[h]||$._default,g.innerHTML=i[1]+n.htmlPrefilter(f)+i[2],k=i[0];while(k--)g=g.lastChild;n.merge(m,g.childNodes),g=l.firstChild,g.textContent=""}else m.push(b.createTextNode(f));l.textContent="",o=0;while(f=m[o++])if(d&&n.inArray(f,d)>-1)e&&e.push(f);else if(j=n.contains(f.ownerDocument,f),g=_(l.appendChild(f),"script"),j&&aa(g),c){k=0;while(f=g[k++])Z.test(f.type||"")&&c.push(f)}return l}!function(){var a=d.createDocumentFragment(),b=a.appendChild(d.createElement("div")),c=d.createElement("input");c.setAttribute("type","radio"),c.setAttribute("checked","checked"),c.setAttribute("name","t"),b.appendChild(c),l.checkClone=b.cloneNode(!0).cloneNode(!0).lastChild.checked,b.innerHTML="<textarea>x</textarea>",l.noCloneChecked=!!b.cloneNode(!0).lastChild.defaultValue}();var da=/^key/,ea=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,fa=/^([^.]*)(?:\.(.+)|)/;function ga(){return!0}function ha(){return!1}function ia(){try{return d.activeElement}catch(a){}}function ja(a,b,c,d,e,f){var g,h;if("object"==typeof b){"string"!=typeof c&&(d=d||c,c=void 0);for(h in b)ja(a,h,c,d,b[h],f);return a}if(null==d&&null==e?(e=c,d=c=void 0):null==e&&("string"==typeof c?(e=d,d=void 0):(e=d,d=c,c=void 0)),e===!1)e=ha;else if(!e)return a;return 1===f&&(g=e,e=function(a){return n().off(a),g.apply(this,arguments)},e.guid=g.guid||(g.guid=n.guid++)),a.each(function(){n.event.add(this,b,e,d,c)})}n.event={global:{},add:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,o,p,q,r=N.get(a);if(r){c.handler&&(f=c,c=f.handler,e=f.selector),c.guid||(c.guid=n.guid++),(i=r.events)||(i=r.events={}),(g=r.handle)||(g=r.handle=function(b){return"undefined"!=typeof n&&n.event.triggered!==b.type?n.event.dispatch.apply(a,arguments):void 0}),b=(b||"").match(G)||[""],j=b.length;while(j--)h=fa.exec(b[j])||[],o=q=h[1],p=(h[2]||"").split(".").sort(),o&&(l=n.event.special[o]||{},o=(e?l.delegateType:l.bindType)||o,l=n.event.special[o]||{},k=n.extend({type:o,origType:q,data:d,handler:c,guid:c.guid,selector:e,needsContext:e&&n.expr.match.needsContext.test(e),namespace:p.join(".")},f),(m=i[o])||(m=i[o]=[],m.delegateCount=0,l.setup&&l.setup.call(a,d,p,g)!==!1||a.addEventListener&&a.addEventListener(o,g)),l.add&&(l.add.call(a,k),k.handler.guid||(k.handler.guid=c.guid)),e?m.splice(m.delegateCount++,0,k):m.push(k),n.event.global[o]=!0)}},remove:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,o,p,q,r=N.hasData(a)&&N.get(a);if(r&&(i=r.events)){b=(b||"").match(G)||[""],j=b.length;while(j--)if(h=fa.exec(b[j])||[],o=q=h[1],p=(h[2]||"").split(".").sort(),o){l=n.event.special[o]||{},o=(d?l.delegateType:l.bindType)||o,m=i[o]||[],h=h[2]&&new RegExp("(^|\\.)"+p.join("\\.(?:.*\\.|)")+"(\\.|$)"),g=f=m.length;while(f--)k=m[f],!e&&q!==k.origType||c&&c.guid!==k.guid||h&&!h.test(k.namespace)||d&&d!==k.selector&&("**"!==d||!k.selector)||(m.splice(f,1),k.selector&&m.delegateCount--,l.remove&&l.remove.call(a,k));g&&!m.length&&(l.teardown&&l.teardown.call(a,p,r.handle)!==!1||n.removeEvent(a,o,r.handle),delete i[o])}else for(o in i)n.event.remove(a,o+b[j],c,d,!0);n.isEmptyObject(i)&&N.remove(a,"handle events")}},dispatch:function(a){a=n.event.fix(a);var b,c,d,f,g,h=[],i=e.call(arguments),j=(N.get(this,"events")||{})[a.type]||[],k=n.event.special[a.type]||{};if(i[0]=a,a.delegateTarget=this,!k.preDispatch||k.preDispatch.call(this,a)!==!1){h=n.event.handlers.call(this,a,j),b=0;while((f=h[b++])&&!a.isPropagationStopped()){a.currentTarget=f.elem,c=0;while((g=f.handlers[c++])&&!a.isImmediatePropagationStopped())a.rnamespace&&!a.rnamespace.test(g.namespace)||(a.handleObj=g,a.data=g.data,d=((n.event.special[g.origType]||{}).handle||g.handler).apply(f.elem,i),void 0!==d&&(a.result=d)===!1&&(a.preventDefault(),a.stopPropagation()))}return k.postDispatch&&k.postDispatch.call(this,a),a.result}},handlers:function(a,b){var c,d,e,f,g=[],h=b.delegateCount,i=a.target;if(h&&i.nodeType&&("click"!==a.type||isNaN(a.button)||a.button<1))for(;i!==this;i=i.parentNode||this)if(1===i.nodeType&&(i.disabled!==!0||"click"!==a.type)){for(d=[],c=0;h>c;c++)f=b[c],e=f.selector+" ",void 0===d[e]&&(d[e]=f.needsContext?n(e,this).index(i)>-1:n.find(e,this,null,[i]).length),d[e]&&d.push(f);d.length&&g.push({elem:i,handlers:d})}return h<b.length&&g.push({elem:this,handlers:b.slice(h)}),g},props:"altKey bubbles cancelable ctrlKey currentTarget detail eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),fixHooks:{},keyHooks:{props:"char charCode key keyCode".split(" "),filter:function(a,b){return null==a.which&&(a.which=null!=b.charCode?b.charCode:b.keyCode),a}},mouseHooks:{props:"button buttons clientX clientY offsetX offsetY pageX pageY screenX screenY toElement".split(" "),filter:function(a,b){var c,e,f,g=b.button;return null==a.pageX&&null!=b.clientX&&(c=a.target.ownerDocument||d,e=c.documentElement,f=c.body,a.pageX=b.clientX+(e&&e.scrollLeft||f&&f.scrollLeft||0)-(e&&e.clientLeft||f&&f.clientLeft||0),a.pageY=b.clientY+(e&&e.scrollTop||f&&f.scrollTop||0)-(e&&e.clientTop||f&&f.clientTop||0)),a.which||void 0===g||(a.which=1&g?1:2&g?3:4&g?2:0),a}},fix:function(a){if(a[n.expando])return a;var b,c,e,f=a.type,g=a,h=this.fixHooks[f];h||(this.fixHooks[f]=h=ea.test(f)?this.mouseHooks:da.test(f)?this.keyHooks:{}),e=h.props?this.props.concat(h.props):this.props,a=new n.Event(g),b=e.length;while(b--)c=e[b],a[c]=g[c];return a.target||(a.target=d),3===a.target.nodeType&&(a.target=a.target.parentNode),h.filter?h.filter(a,g):a},special:{load:{noBubble:!0},focus:{trigger:function(){return this!==ia()&&this.focus?(this.focus(),!1):void 0},delegateType:"focusin"},blur:{trigger:function(){return this===ia()&&this.blur?(this.blur(),!1):void 0},delegateType:"focusout"},click:{trigger:function(){return"checkbox"===this.type&&this.click&&n.nodeName(this,"input")?(this.click(),!1):void 0},_default:function(a){return n.nodeName(a.target,"a")}},beforeunload:{postDispatch:function(a){void 0!==a.result&&a.originalEvent&&(a.originalEvent.returnValue=a.result)}}}},n.removeEvent=function(a,b,c){a.removeEventListener&&a.removeEventListener(b,c)},n.Event=function(a,b){return this instanceof n.Event?(a&&a.type?(this.originalEvent=a,this.type=a.type,this.isDefaultPrevented=a.defaultPrevented||void 0===a.defaultPrevented&&a.returnValue===!1?ga:ha):this.type=a,b&&n.extend(this,b),this.timeStamp=a&&a.timeStamp||n.now(),void(this[n.expando]=!0)):new n.Event(a,b)},n.Event.prototype={constructor:n.Event,isDefaultPrevented:ha,isPropagationStopped:ha,isImmediatePropagationStopped:ha,isSimulated:!1,preventDefault:function(){var a=this.originalEvent;this.isDefaultPrevented=ga,a&&!this.isSimulated&&a.preventDefault()},stopPropagation:function(){var a=this.originalEvent;this.isPropagationStopped=ga,a&&!this.isSimulated&&a.stopPropagation()},stopImmediatePropagation:function(){var a=this.originalEvent;this.isImmediatePropagationStopped=ga,a&&!this.isSimulated&&a.stopImmediatePropagation(),this.stopPropagation()}},n.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},function(a,b){n.event.special[a]={delegateType:b,bindType:b,handle:function(a){var c,d=this,e=a.relatedTarget,f=a.handleObj;return e&&(e===d||n.contains(d,e))||(a.type=f.origType,c=f.handler.apply(this,arguments),a.type=b),c}}}),n.fn.extend({on:function(a,b,c,d){return ja(this,a,b,c,d)},one:function(a,b,c,d){return ja(this,a,b,c,d,1)},off:function(a,b,c){var d,e;if(a&&a.preventDefault&&a.handleObj)return d=a.handleObj,n(a.delegateTarget).off(d.namespace?d.origType+"."+d.namespace:d.origType,d.selector,d.handler),this;if("object"==typeof a){for(e in a)this.off(e,b,a[e]);return this}return b!==!1&&"function"!=typeof b||(c=b,b=void 0),c===!1&&(c=ha),this.each(function(){n.event.remove(this,a,c,b)})}});var ka=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:-]+)[^>]*)\/>/gi,la=/<script|<style|<link/i,ma=/checked\s*(?:[^=]|=\s*.checked.)/i,na=/^true\/(.*)/,oa=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g;function pa(a,b){return n.nodeName(a,"table")&&n.nodeName(11!==b.nodeType?b:b.firstChild,"tr")?a.getElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createElement("tbody")):a}function qa(a){return a.type=(null!==a.getAttribute("type"))+"/"+a.type,a}function ra(a){var b=na.exec(a.type);return b?a.type=b[1]:a.removeAttribute("type"),a}function sa(a,b){var c,d,e,f,g,h,i,j;if(1===b.nodeType){if(N.hasData(a)&&(f=N.access(a),g=N.set(b,f),j=f.events)){delete g.handle,g.events={};for(e in j)for(c=0,d=j[e].length;d>c;c++)n.event.add(b,e,j[e][c])}O.hasData(a)&&(h=O.access(a),i=n.extend({},h),O.set(b,i))}}function ta(a,b){var c=b.nodeName.toLowerCase();"input"===c&&X.test(a.type)?b.checked=a.checked:"input"!==c&&"textarea"!==c||(b.defaultValue=a.defaultValue)}function ua(a,b,c,d){b=f.apply([],b);var e,g,h,i,j,k,m=0,o=a.length,p=o-1,q=b[0],r=n.isFunction(q);if(r||o>1&&"string"==typeof q&&!l.checkClone&&ma.test(q))return a.each(function(e){var f=a.eq(e);r&&(b[0]=q.call(this,e,f.html())),ua(f,b,c,d)});if(o&&(e=ca(b,a[0].ownerDocument,!1,a,d),g=e.firstChild,1===e.childNodes.length&&(e=g),g||d)){for(h=n.map(_(e,"script"),qa),i=h.length;o>m;m++)j=e,m!==p&&(j=n.clone(j,!0,!0),i&&n.merge(h,_(j,"script"))),c.call(a[m],j,m);if(i)for(k=h[h.length-1].ownerDocument,n.map(h,ra),m=0;i>m;m++)j=h[m],Z.test(j.type||"")&&!N.access(j,"globalEval")&&n.contains(k,j)&&(j.src?n._evalUrl&&n._evalUrl(j.src):n.globalEval(j.textContent.replace(oa,"")))}return a}function va(a,b,c){for(var d,e=b?n.filter(b,a):a,f=0;null!=(d=e[f]);f++)c||1!==d.nodeType||n.cleanData(_(d)),d.parentNode&&(c&&n.contains(d.ownerDocument,d)&&aa(_(d,"script")),d.parentNode.removeChild(d));return a}n.extend({htmlPrefilter:function(a){return a.replace(ka,"<$1></$2>")},clone:function(a,b,c){var d,e,f,g,h=a.cloneNode(!0),i=n.contains(a.ownerDocument,a);if(!(l.noCloneChecked||1!==a.nodeType&&11!==a.nodeType||n.isXMLDoc(a)))for(g=_(h),f=_(a),d=0,e=f.length;e>d;d++)ta(f[d],g[d]);if(b)if(c)for(f=f||_(a),g=g||_(h),d=0,e=f.length;e>d;d++)sa(f[d],g[d]);else sa(a,h);return g=_(h,"script"),g.length>0&&aa(g,!i&&_(a,"script")),h},cleanData:function(a){for(var b,c,d,e=n.event.special,f=0;void 0!==(c=a[f]);f++)if(L(c)){if(b=c[N.expando]){if(b.events)for(d in b.events)e[d]?n.event.remove(c,d):n.removeEvent(c,d,b.handle);c[N.expando]=void 0}c[O.expando]&&(c[O.expando]=void 0)}}}),n.fn.extend({domManip:ua,detach:function(a){return va(this,a,!0)},remove:function(a){return va(this,a)},text:function(a){return K(this,function(a){return void 0===a?n.text(this):this.empty().each(function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=a)})},null,a,arguments.length)},append:function(){return ua(this,arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=pa(this,a);b.appendChild(a)}})},prepend:function(){return ua(this,arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=pa(this,a);b.insertBefore(a,b.firstChild)}})},before:function(){return ua(this,arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this)})},after:function(){return ua(this,arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this.nextSibling)})},empty:function(){for(var a,b=0;null!=(a=this[b]);b++)1===a.nodeType&&(n.cleanData(_(a,!1)),a.textContent="");return this},clone:function(a,b){return a=null==a?!1:a,b=null==b?a:b,this.map(function(){return n.clone(this,a,b)})},html:function(a){return K(this,function(a){var b=this[0]||{},c=0,d=this.length;if(void 0===a&&1===b.nodeType)return b.innerHTML;if("string"==typeof a&&!la.test(a)&&!$[(Y.exec(a)||["",""])[1].toLowerCase()]){a=n.htmlPrefilter(a);try{for(;d>c;c++)b=this[c]||{},1===b.nodeType&&(n.cleanData(_(b,!1)),b.innerHTML=a);b=0}catch(e){}}b&&this.empty().append(a)},null,a,arguments.length)},replaceWith:function(){var a=[];return ua(this,arguments,function(b){var c=this.parentNode;n.inArray(this,a)<0&&(n.cleanData(_(this)),c&&c.replaceChild(b,this))},a)}}),n.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){n.fn[a]=function(a){for(var c,d=[],e=n(a),f=e.length-1,h=0;f>=h;h++)c=h===f?this:this.clone(!0),n(e[h])[b](c),g.apply(d,c.get());return this.pushStack(d)}});var wa,xa={HTML:"block",BODY:"block"};function ya(a,b){var c=n(b.createElement(a)).appendTo(b.body),d=n.css(c[0],"display");return c.detach(),d}function za(a){var b=d,c=xa[a];return c||(c=ya(a,b),"none"!==c&&c||(wa=(wa||n("<iframe frameborder='0' width='0' height='0'/>")).appendTo(b.documentElement),b=wa[0].contentDocument,b.write(),b.close(),c=ya(a,b),wa.detach()),xa[a]=c),c}var Aa=/^margin/,Ba=new RegExp("^("+S+")(?!px)[a-z%]+$","i"),Ca=function(b){var c=b.ownerDocument.defaultView;return c&&c.opener||(c=a),c.getComputedStyle(b)},Da=function(a,b,c,d){var e,f,g={};for(f in b)g[f]=a.style[f],a.style[f]=b[f];e=c.apply(a,d||[]);for(f in b)a.style[f]=g[f];return e},Ea=d.documentElement;!function(){var b,c,e,f,g=d.createElement("div"),h=d.createElement("div");if(h.style){h.style.backgroundClip="content-box",h.cloneNode(!0).style.backgroundClip="",l.clearCloneStyle="content-box"===h.style.backgroundClip,g.style.cssText="border:0;width:8px;height:0;top:0;left:-9999px;padding:0;margin-top:1px;position:absolute",g.appendChild(h);function i(){h.style.cssText="-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;position:relative;display:block;margin:auto;border:1px;padding:1px;top:1%;width:50%",h.innerHTML="",Ea.appendChild(g);var d=a.getComputedStyle(h);b="1%"!==d.top,f="2px"===d.marginLeft,c="4px"===d.width,h.style.marginRight="50%",e="4px"===d.marginRight,Ea.removeChild(g)}n.extend(l,{pixelPosition:function(){return i(),b},boxSizingReliable:function(){return null==c&&i(),c},pixelMarginRight:function(){return null==c&&i(),e},reliableMarginLeft:function(){return null==c&&i(),f},reliableMarginRight:function(){var b,c=h.appendChild(d.createElement("div"));return c.style.cssText=h.style.cssText="-webkit-box-sizing:content-box;box-sizing:content-box;display:block;margin:0;border:0;padding:0",c.style.marginRight=c.style.width="0",h.style.width="1px",Ea.appendChild(g),b=!parseFloat(a.getComputedStyle(c).marginRight),Ea.removeChild(g),h.removeChild(c),b}})}}();function Fa(a,b,c){var d,e,f,g,h=a.style;return c=c||Ca(a),g=c?c.getPropertyValue(b)||c[b]:void 0,""!==g&&void 0!==g||n.contains(a.ownerDocument,a)||(g=n.style(a,b)),c&&!l.pixelMarginRight()&&Ba.test(g)&&Aa.test(b)&&(d=h.width,e=h.minWidth,f=h.maxWidth,h.minWidth=h.maxWidth=h.width=g,g=c.width,h.width=d,h.minWidth=e,h.maxWidth=f),void 0!==g?g+"":g}function Ga(a,b){return{get:function(){return a()?void delete this.get:(this.get=b).apply(this,arguments)}}}var Ha=/^(none|table(?!-c[ea]).+)/,Ia={position:"absolute",visibility:"hidden",display:"block"},Ja={letterSpacing:"0",fontWeight:"400"},Ka=["Webkit","O","Moz","ms"],La=d.createElement("div").style;function Ma(a){if(a in La)return a;var b=a[0].toUpperCase()+a.slice(1),c=Ka.length;while(c--)if(a=Ka[c]+b,a in La)return a}function Na(a,b,c){var d=T.exec(b);return d?Math.max(0,d[2]-(c||0))+(d[3]||"px"):b}function Oa(a,b,c,d,e){for(var f=c===(d?"border":"content")?4:"width"===b?1:0,g=0;4>f;f+=2)"margin"===c&&(g+=n.css(a,c+U[f],!0,e)),d?("content"===c&&(g-=n.css(a,"padding"+U[f],!0,e)),"margin"!==c&&(g-=n.css(a,"border"+U[f]+"Width",!0,e))):(g+=n.css(a,"padding"+U[f],!0,e),"padding"!==c&&(g+=n.css(a,"border"+U[f]+"Width",!0,e)));return g}function Pa(a,b,c){var d=!0,e="width"===b?a.offsetWidth:a.offsetHeight,f=Ca(a),g="border-box"===n.css(a,"boxSizing",!1,f);if(0>=e||null==e){if(e=Fa(a,b,f),(0>e||null==e)&&(e=a.style[b]),Ba.test(e))return e;d=g&&(l.boxSizingReliable()||e===a.style[b]),e=parseFloat(e)||0}return e+Oa(a,b,c||(g?"border":"content"),d,f)+"px"}function Qa(a,b){for(var c,d,e,f=[],g=0,h=a.length;h>g;g++)d=a[g],d.style&&(f[g]=N.get(d,"olddisplay"),c=d.style.display,b?(f[g]||"none"!==c||(d.style.display=""),""===d.style.display&&V(d)&&(f[g]=N.access(d,"olddisplay",za(d.nodeName)))):(e=V(d),"none"===c&&e||N.set(d,"olddisplay",e?c:n.css(d,"display"))));for(g=0;h>g;g++)d=a[g],d.style&&(b&&"none"!==d.style.display&&""!==d.style.display||(d.style.display=b?f[g]||"":"none"));return a}n.extend({cssHooks:{opacity:{get:function(a,b){if(b){var c=Fa(a,"opacity");return""===c?"1":c}}}},cssNumber:{animationIterationCount:!0,columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":"cssFloat"},style:function(a,b,c,d){if(a&&3!==a.nodeType&&8!==a.nodeType&&a.style){var e,f,g,h=n.camelCase(b),i=a.style;return b=n.cssProps[h]||(n.cssProps[h]=Ma(h)||h),g=n.cssHooks[b]||n.cssHooks[h],void 0===c?g&&"get"in g&&void 0!==(e=g.get(a,!1,d))?e:i[b]:(f=typeof c,"string"===f&&(e=T.exec(c))&&e[1]&&(c=W(a,b,e),f="number"),null!=c&&c===c&&("number"===f&&(c+=e&&e[3]||(n.cssNumber[h]?"":"px")),l.clearCloneStyle||""!==c||0!==b.indexOf("background")||(i[b]="inherit"),g&&"set"in g&&void 0===(c=g.set(a,c,d))||(i[b]=c)),void 0)}},css:function(a,b,c,d){var e,f,g,h=n.camelCase(b);return b=n.cssProps[h]||(n.cssProps[h]=Ma(h)||h),g=n.cssHooks[b]||n.cssHooks[h],g&&"get"in g&&(e=g.get(a,!0,c)),void 0===e&&(e=Fa(a,b,d)),"normal"===e&&b in Ja&&(e=Ja[b]),""===c||c?(f=parseFloat(e),c===!0||isFinite(f)?f||0:e):e}}),n.each(["height","width"],function(a,b){n.cssHooks[b]={get:function(a,c,d){return c?Ha.test(n.css(a,"display"))&&0===a.offsetWidth?Da(a,Ia,function(){return Pa(a,b,d)}):Pa(a,b,d):void 0},set:function(a,c,d){var e,f=d&&Ca(a),g=d&&Oa(a,b,d,"border-box"===n.css(a,"boxSizing",!1,f),f);return g&&(e=T.exec(c))&&"px"!==(e[3]||"px")&&(a.style[b]=c,c=n.css(a,b)),Na(a,c,g)}}}),n.cssHooks.marginLeft=Ga(l.reliableMarginLeft,function(a,b){return b?(parseFloat(Fa(a,"marginLeft"))||a.getBoundingClientRect().left-Da(a,{marginLeft:0},function(){return a.getBoundingClientRect().left}))+"px":void 0}),n.cssHooks.marginRight=Ga(l.reliableMarginRight,function(a,b){return b?Da(a,{display:"inline-block"},Fa,[a,"marginRight"]):void 0}),n.each({margin:"",padding:"",border:"Width"},function(a,b){n.cssHooks[a+b]={expand:function(c){for(var d=0,e={},f="string"==typeof c?c.split(" "):[c];4>d;d++)e[a+U[d]+b]=f[d]||f[d-2]||f[0];return e}},Aa.test(a)||(n.cssHooks[a+b].set=Na)}),n.fn.extend({css:function(a,b){return K(this,function(a,b,c){var d,e,f={},g=0;if(n.isArray(b)){for(d=Ca(a),e=b.length;e>g;g++)f[b[g]]=n.css(a,b[g],!1,d);return f}return void 0!==c?n.style(a,b,c):n.css(a,b)},a,b,arguments.length>1)},show:function(){return Qa(this,!0)},hide:function(){return Qa(this)},toggle:function(a){return"boolean"==typeof a?a?this.show():this.hide():this.each(function(){V(this)?n(this).show():n(this).hide()})}});function Ra(a,b,c,d,e){return new Ra.prototype.init(a,b,c,d,e)}n.Tween=Ra,Ra.prototype={constructor:Ra,init:function(a,b,c,d,e,f){this.elem=a,this.prop=c,this.easing=e||n.easing._default,this.options=b,this.start=this.now=this.cur(),this.end=d,this.unit=f||(n.cssNumber[c]?"":"px")},cur:function(){var a=Ra.propHooks[this.prop];return a&&a.get?a.get(this):Ra.propHooks._default.get(this)},run:function(a){var b,c=Ra.propHooks[this.prop];return this.options.duration?this.pos=b=n.easing[this.easing](a,this.options.duration*a,0,1,this.options.duration):this.pos=b=a,this.now=(this.end-this.start)*b+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),c&&c.set?c.set(this):Ra.propHooks._default.set(this),this}},Ra.prototype.init.prototype=Ra.prototype,Ra.propHooks={_default:{get:function(a){var b;return 1!==a.elem.nodeType||null!=a.elem[a.prop]&&null==a.elem.style[a.prop]?a.elem[a.prop]:(b=n.css(a.elem,a.prop,""),b&&"auto"!==b?b:0)},set:function(a){n.fx.step[a.prop]?n.fx.step[a.prop](a):1!==a.elem.nodeType||null==a.elem.style[n.cssProps[a.prop]]&&!n.cssHooks[a.prop]?a.elem[a.prop]=a.now:n.style(a.elem,a.prop,a.now+a.unit)}}},Ra.propHooks.scrollTop=Ra.propHooks.scrollLeft={set:function(a){a.elem.nodeType&&a.elem.parentNode&&(a.elem[a.prop]=a.now)}},n.easing={linear:function(a){return a},swing:function(a){return.5-Math.cos(a*Math.PI)/2},_default:"swing"},n.fx=Ra.prototype.init,n.fx.step={};var Sa,Ta,Ua=/^(?:toggle|show|hide)$/,Va=/queueHooks$/;function Wa(){return a.setTimeout(function(){Sa=void 0}),Sa=n.now()}function Xa(a,b){var c,d=0,e={height:a};for(b=b?1:0;4>d;d+=2-b)c=U[d],e["margin"+c]=e["padding"+c]=a;return b&&(e.opacity=e.width=a),e}function Ya(a,b,c){for(var d,e=(_a.tweeners[b]||[]).concat(_a.tweeners["*"]),f=0,g=e.length;g>f;f++)if(d=e[f].call(c,b,a))return d}function Za(a,b,c){var d,e,f,g,h,i,j,k,l=this,m={},o=a.style,p=a.nodeType&&V(a),q=N.get(a,"fxshow");c.queue||(h=n._queueHooks(a,"fx"),null==h.unqueued&&(h.unqueued=0,i=h.empty.fire,h.empty.fire=function(){h.unqueued||i()}),h.unqueued++,l.always(function(){l.always(function(){h.unqueued--,n.queue(a,"fx").length||h.empty.fire()})})),1===a.nodeType&&("height"in b||"width"in b)&&(c.overflow=[o.overflow,o.overflowX,o.overflowY],j=n.css(a,"display"),k="none"===j?N.get(a,"olddisplay")||za(a.nodeName):j,"inline"===k&&"none"===n.css(a,"float")&&(o.display="inline-block")),c.overflow&&(o.overflow="hidden",l.always(function(){o.overflow=c.overflow[0],o.overflowX=c.overflow[1],o.overflowY=c.overflow[2]}));for(d in b)if(e=b[d],Ua.exec(e)){if(delete b[d],f=f||"toggle"===e,e===(p?"hide":"show")){if("show"!==e||!q||void 0===q[d])continue;p=!0}m[d]=q&&q[d]||n.style(a,d)}else j=void 0;if(n.isEmptyObject(m))"inline"===("none"===j?za(a.nodeName):j)&&(o.display=j);else{q?"hidden"in q&&(p=q.hidden):q=N.access(a,"fxshow",{}),f&&(q.hidden=!p),p?n(a).show():l.done(function(){n(a).hide()}),l.done(function(){var b;N.remove(a,"fxshow");for(b in m)n.style(a,b,m[b])});for(d in m)g=Ya(p?q[d]:0,d,l),d in q||(q[d]=g.start,p&&(g.end=g.start,g.start="width"===d||"height"===d?1:0))}}function $a(a,b){var c,d,e,f,g;for(c in a)if(d=n.camelCase(c),e=b[d],f=a[c],n.isArray(f)&&(e=f[1],f=a[c]=f[0]),c!==d&&(a[d]=f,delete a[c]),g=n.cssHooks[d],g&&"expand"in g){f=g.expand(f),delete a[d];for(c in f)c in a||(a[c]=f[c],b[c]=e)}else b[d]=e}function _a(a,b,c){var d,e,f=0,g=_a.prefilters.length,h=n.Deferred().always(function(){delete i.elem}),i=function(){if(e)return!1;for(var b=Sa||Wa(),c=Math.max(0,j.startTime+j.duration-b),d=c/j.duration||0,f=1-d,g=0,i=j.tweens.length;i>g;g++)j.tweens[g].run(f);return h.notifyWith(a,[j,f,c]),1>f&&i?c:(h.resolveWith(a,[j]),!1)},j=h.promise({elem:a,props:n.extend({},b),opts:n.extend(!0,{specialEasing:{},easing:n.easing._default},c),originalProperties:b,originalOptions:c,startTime:Sa||Wa(),duration:c.duration,tweens:[],createTween:function(b,c){var d=n.Tween(a,j.opts,b,c,j.opts.specialEasing[b]||j.opts.easing);return j.tweens.push(d),d},stop:function(b){var c=0,d=b?j.tweens.length:0;if(e)return this;for(e=!0;d>c;c++)j.tweens[c].run(1);return b?(h.notifyWith(a,[j,1,0]),h.resolveWith(a,[j,b])):h.rejectWith(a,[j,b]),this}}),k=j.props;for($a(k,j.opts.specialEasing);g>f;f++)if(d=_a.prefilters[f].call(j,a,k,j.opts))return n.isFunction(d.stop)&&(n._queueHooks(j.elem,j.opts.queue).stop=n.proxy(d.stop,d)),d;return n.map(k,Ya,j),n.isFunction(j.opts.start)&&j.opts.start.call(a,j),n.fx.timer(n.extend(i,{elem:a,anim:j,queue:j.opts.queue})),j.progress(j.opts.progress).done(j.opts.done,j.opts.complete).fail(j.opts.fail).always(j.opts.always)}n.Animation=n.extend(_a,{tweeners:{"*":[function(a,b){var c=this.createTween(a,b);return W(c.elem,a,T.exec(b),c),c}]},tweener:function(a,b){n.isFunction(a)?(b=a,a=["*"]):a=a.match(G);for(var c,d=0,e=a.length;e>d;d++)c=a[d],_a.tweeners[c]=_a.tweeners[c]||[],_a.tweeners[c].unshift(b)},prefilters:[Za],prefilter:function(a,b){b?_a.prefilters.unshift(a):_a.prefilters.push(a)}}),n.speed=function(a,b,c){var d=a&&"object"==typeof a?n.extend({},a):{complete:c||!c&&b||n.isFunction(a)&&a,duration:a,easing:c&&b||b&&!n.isFunction(b)&&b};return d.duration=n.fx.off?0:"number"==typeof d.duration?d.duration:d.duration in n.fx.speeds?n.fx.speeds[d.duration]:n.fx.speeds._default,null!=d.queue&&d.queue!==!0||(d.queue="fx"),d.old=d.complete,d.complete=function(){n.isFunction(d.old)&&d.old.call(this),d.queue&&n.dequeue(this,d.queue)},d},n.fn.extend({fadeTo:function(a,b,c,d){return this.filter(V).css("opacity",0).show().end().animate({opacity:b},a,c,d)},animate:function(a,b,c,d){var e=n.isEmptyObject(a),f=n.speed(b,c,d),g=function(){var b=_a(this,n.extend({},a),f);(e||N.get(this,"finish"))&&b.stop(!0)};return g.finish=g,e||f.queue===!1?this.each(g):this.queue(f.queue,g)},stop:function(a,b,c){var d=function(a){var b=a.stop;delete a.stop,b(c)};return"string"!=typeof a&&(c=b,b=a,a=void 0),b&&a!==!1&&this.queue(a||"fx",[]),this.each(function(){var b=!0,e=null!=a&&a+"queueHooks",f=n.timers,g=N.get(this);if(e)g[e]&&g[e].stop&&d(g[e]);else for(e in g)g[e]&&g[e].stop&&Va.test(e)&&d(g[e]);for(e=f.length;e--;)f[e].elem!==this||null!=a&&f[e].queue!==a||(f[e].anim.stop(c),b=!1,f.splice(e,1));!b&&c||n.dequeue(this,a)})},finish:function(a){return a!==!1&&(a=a||"fx"),this.each(function(){var b,c=N.get(this),d=c[a+"queue"],e=c[a+"queueHooks"],f=n.timers,g=d?d.length:0;for(c.finish=!0,n.queue(this,a,[]),e&&e.stop&&e.stop.call(this,!0),b=f.length;b--;)f[b].elem===this&&f[b].queue===a&&(f[b].anim.stop(!0),f.splice(b,1));for(b=0;g>b;b++)d[b]&&d[b].finish&&d[b].finish.call(this);delete c.finish})}}),n.each(["toggle","show","hide"],function(a,b){var c=n.fn[b];n.fn[b]=function(a,d,e){return null==a||"boolean"==typeof a?c.apply(this,arguments):this.animate(Xa(b,!0),a,d,e)}}),n.each({slideDown:Xa("show"),slideUp:Xa("hide"),slideToggle:Xa("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(a,b){n.fn[a]=function(a,c,d){return this.animate(b,a,c,d)}}),n.timers=[],n.fx.tick=function(){var a,b=0,c=n.timers;for(Sa=n.now();b<c.length;b++)a=c[b],a()||c[b]!==a||c.splice(b--,1);c.length||n.fx.stop(),Sa=void 0},n.fx.timer=function(a){n.timers.push(a),a()?n.fx.start():n.timers.pop()},n.fx.interval=13,n.fx.start=function(){Ta||(Ta=a.setInterval(n.fx.tick,n.fx.interval))},n.fx.stop=function(){a.clearInterval(Ta),Ta=null},n.fx.speeds={slow:600,fast:200,_default:400},n.fn.delay=function(b,c){return b=n.fx?n.fx.speeds[b]||b:b,c=c||"fx",this.queue(c,function(c,d){var e=a.setTimeout(c,b);d.stop=function(){a.clearTimeout(e)}})},function(){var a=d.createElement("input"),b=d.createElement("select"),c=b.appendChild(d.createElement("option"));a.type="checkbox",l.checkOn=""!==a.value,l.optSelected=c.selected,b.disabled=!0,l.optDisabled=!c.disabled,a=d.createElement("input"),a.value="t",a.type="radio",l.radioValue="t"===a.value}();var ab,bb=n.expr.attrHandle;n.fn.extend({attr:function(a,b){return K(this,n.attr,a,b,arguments.length>1)},removeAttr:function(a){return this.each(function(){n.removeAttr(this,a)})}}),n.extend({attr:function(a,b,c){var d,e,f=a.nodeType;if(3!==f&&8!==f&&2!==f)return"undefined"==typeof a.getAttribute?n.prop(a,b,c):(1===f&&n.isXMLDoc(a)||(b=b.toLowerCase(),e=n.attrHooks[b]||(n.expr.match.bool.test(b)?ab:void 0)),void 0!==c?null===c?void n.removeAttr(a,b):e&&"set"in e&&void 0!==(d=e.set(a,c,b))?d:(a.setAttribute(b,c+""),c):e&&"get"in e&&null!==(d=e.get(a,b))?d:(d=n.find.attr(a,b),null==d?void 0:d))},attrHooks:{type:{set:function(a,b){if(!l.radioValue&&"radio"===b&&n.nodeName(a,"input")){var c=a.value;return a.setAttribute("type",b),c&&(a.value=c),b}}}},removeAttr:function(a,b){var c,d,e=0,f=b&&b.match(G);if(f&&1===a.nodeType)while(c=f[e++])d=n.propFix[c]||c,n.expr.match.bool.test(c)&&(a[d]=!1),a.removeAttribute(c)}}),ab={set:function(a,b,c){return b===!1?n.removeAttr(a,c):a.setAttribute(c,c),c}},n.each(n.expr.match.bool.source.match(/\w+/g),function(a,b){var c=bb[b]||n.find.attr;bb[b]=function(a,b,d){var e,f;return d||(f=bb[b],bb[b]=e,e=null!=c(a,b,d)?b.toLowerCase():null,bb[b]=f),e}});var cb=/^(?:input|select|textarea|button)$/i,db=/^(?:a|area)$/i;n.fn.extend({prop:function(a,b){return K(this,n.prop,a,b,arguments.length>1)},removeProp:function(a){return this.each(function(){delete this[n.propFix[a]||a]})}}),n.extend({prop:function(a,b,c){var d,e,f=a.nodeType;if(3!==f&&8!==f&&2!==f)return 1===f&&n.isXMLDoc(a)||(b=n.propFix[b]||b,e=n.propHooks[b]),
+void 0!==c?e&&"set"in e&&void 0!==(d=e.set(a,c,b))?d:a[b]=c:e&&"get"in e&&null!==(d=e.get(a,b))?d:a[b]},propHooks:{tabIndex:{get:function(a){var b=n.find.attr(a,"tabindex");return b?parseInt(b,10):cb.test(a.nodeName)||db.test(a.nodeName)&&a.href?0:-1}}},propFix:{"for":"htmlFor","class":"className"}}),l.optSelected||(n.propHooks.selected={get:function(a){var b=a.parentNode;return b&&b.parentNode&&b.parentNode.selectedIndex,null},set:function(a){var b=a.parentNode;b&&(b.selectedIndex,b.parentNode&&b.parentNode.selectedIndex)}}),n.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){n.propFix[this.toLowerCase()]=this});var eb=/[\t\r\n\f]/g;function fb(a){return a.getAttribute&&a.getAttribute("class")||""}n.fn.extend({addClass:function(a){var b,c,d,e,f,g,h,i=0;if(n.isFunction(a))return this.each(function(b){n(this).addClass(a.call(this,b,fb(this)))});if("string"==typeof a&&a){b=a.match(G)||[];while(c=this[i++])if(e=fb(c),d=1===c.nodeType&&(" "+e+" ").replace(eb," ")){g=0;while(f=b[g++])d.indexOf(" "+f+" ")<0&&(d+=f+" ");h=n.trim(d),e!==h&&c.setAttribute("class",h)}}return this},removeClass:function(a){var b,c,d,e,f,g,h,i=0;if(n.isFunction(a))return this.each(function(b){n(this).removeClass(a.call(this,b,fb(this)))});if(!arguments.length)return this.attr("class","");if("string"==typeof a&&a){b=a.match(G)||[];while(c=this[i++])if(e=fb(c),d=1===c.nodeType&&(" "+e+" ").replace(eb," ")){g=0;while(f=b[g++])while(d.indexOf(" "+f+" ")>-1)d=d.replace(" "+f+" "," ");h=n.trim(d),e!==h&&c.setAttribute("class",h)}}return this},toggleClass:function(a,b){var c=typeof a;return"boolean"==typeof b&&"string"===c?b?this.addClass(a):this.removeClass(a):n.isFunction(a)?this.each(function(c){n(this).toggleClass(a.call(this,c,fb(this),b),b)}):this.each(function(){var b,d,e,f;if("string"===c){d=0,e=n(this),f=a.match(G)||[];while(b=f[d++])e.hasClass(b)?e.removeClass(b):e.addClass(b)}else void 0!==a&&"boolean"!==c||(b=fb(this),b&&N.set(this,"__className__",b),this.setAttribute&&this.setAttribute("class",b||a===!1?"":N.get(this,"__className__")||""))})},hasClass:function(a){var b,c,d=0;b=" "+a+" ";while(c=this[d++])if(1===c.nodeType&&(" "+fb(c)+" ").replace(eb," ").indexOf(b)>-1)return!0;return!1}});var gb=/\r/g,hb=/[\x20\t\r\n\f]+/g;n.fn.extend({val:function(a){var b,c,d,e=this[0];{if(arguments.length)return d=n.isFunction(a),this.each(function(c){var e;1===this.nodeType&&(e=d?a.call(this,c,n(this).val()):a,null==e?e="":"number"==typeof e?e+="":n.isArray(e)&&(e=n.map(e,function(a){return null==a?"":a+""})),b=n.valHooks[this.type]||n.valHooks[this.nodeName.toLowerCase()],b&&"set"in b&&void 0!==b.set(this,e,"value")||(this.value=e))});if(e)return b=n.valHooks[e.type]||n.valHooks[e.nodeName.toLowerCase()],b&&"get"in b&&void 0!==(c=b.get(e,"value"))?c:(c=e.value,"string"==typeof c?c.replace(gb,""):null==c?"":c)}}}),n.extend({valHooks:{option:{get:function(a){var b=n.find.attr(a,"value");return null!=b?b:n.trim(n.text(a)).replace(hb," ")}},select:{get:function(a){for(var b,c,d=a.options,e=a.selectedIndex,f="select-one"===a.type||0>e,g=f?null:[],h=f?e+1:d.length,i=0>e?h:f?e:0;h>i;i++)if(c=d[i],(c.selected||i===e)&&(l.optDisabled?!c.disabled:null===c.getAttribute("disabled"))&&(!c.parentNode.disabled||!n.nodeName(c.parentNode,"optgroup"))){if(b=n(c).val(),f)return b;g.push(b)}return g},set:function(a,b){var c,d,e=a.options,f=n.makeArray(b),g=e.length;while(g--)d=e[g],(d.selected=n.inArray(n.valHooks.option.get(d),f)>-1)&&(c=!0);return c||(a.selectedIndex=-1),f}}}}),n.each(["radio","checkbox"],function(){n.valHooks[this]={set:function(a,b){return n.isArray(b)?a.checked=n.inArray(n(a).val(),b)>-1:void 0}},l.checkOn||(n.valHooks[this].get=function(a){return null===a.getAttribute("value")?"on":a.value})});var ib=/^(?:focusinfocus|focusoutblur)$/;n.extend(n.event,{trigger:function(b,c,e,f){var g,h,i,j,l,m,o,p=[e||d],q=k.call(b,"type")?b.type:b,r=k.call(b,"namespace")?b.namespace.split("."):[];if(h=i=e=e||d,3!==e.nodeType&&8!==e.nodeType&&!ib.test(q+n.event.triggered)&&(q.indexOf(".")>-1&&(r=q.split("."),q=r.shift(),r.sort()),l=q.indexOf(":")<0&&"on"+q,b=b[n.expando]?b:new n.Event(q,"object"==typeof b&&b),b.isTrigger=f?2:3,b.namespace=r.join("."),b.rnamespace=b.namespace?new RegExp("(^|\\.)"+r.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,b.result=void 0,b.target||(b.target=e),c=null==c?[b]:n.makeArray(c,[b]),o=n.event.special[q]||{},f||!o.trigger||o.trigger.apply(e,c)!==!1)){if(!f&&!o.noBubble&&!n.isWindow(e)){for(j=o.delegateType||q,ib.test(j+q)||(h=h.parentNode);h;h=h.parentNode)p.push(h),i=h;i===(e.ownerDocument||d)&&p.push(i.defaultView||i.parentWindow||a)}g=0;while((h=p[g++])&&!b.isPropagationStopped())b.type=g>1?j:o.bindType||q,m=(N.get(h,"events")||{})[b.type]&&N.get(h,"handle"),m&&m.apply(h,c),m=l&&h[l],m&&m.apply&&L(h)&&(b.result=m.apply(h,c),b.result===!1&&b.preventDefault());return b.type=q,f||b.isDefaultPrevented()||o._default&&o._default.apply(p.pop(),c)!==!1||!L(e)||l&&n.isFunction(e[q])&&!n.isWindow(e)&&(i=e[l],i&&(e[l]=null),n.event.triggered=q,e[q](),n.event.triggered=void 0,i&&(e[l]=i)),b.result}},simulate:function(a,b,c){var d=n.extend(new n.Event,c,{type:a,isSimulated:!0});n.event.trigger(d,null,b)}}),n.fn.extend({trigger:function(a,b){return this.each(function(){n.event.trigger(a,b,this)})},triggerHandler:function(a,b){var c=this[0];return c?n.event.trigger(a,b,c,!0):void 0}}),n.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu".split(" "),function(a,b){n.fn[b]=function(a,c){return arguments.length>0?this.on(b,null,a,c):this.trigger(b)}}),n.fn.extend({hover:function(a,b){return this.mouseenter(a).mouseleave(b||a)}}),l.focusin="onfocusin"in a,l.focusin||n.each({focus:"focusin",blur:"focusout"},function(a,b){var c=function(a){n.event.simulate(b,a.target,n.event.fix(a))};n.event.special[b]={setup:function(){var d=this.ownerDocument||this,e=N.access(d,b);e||d.addEventListener(a,c,!0),N.access(d,b,(e||0)+1)},teardown:function(){var d=this.ownerDocument||this,e=N.access(d,b)-1;e?N.access(d,b,e):(d.removeEventListener(a,c,!0),N.remove(d,b))}}});var jb=a.location,kb=n.now(),lb=/\?/;n.parseJSON=function(a){return JSON.parse(a+"")},n.parseXML=function(b){var c;if(!b||"string"!=typeof b)return null;try{c=(new a.DOMParser).parseFromString(b,"text/xml")}catch(d){c=void 0}return c&&!c.getElementsByTagName("parsererror").length||n.error("Invalid XML: "+b),c};var mb=/#.*$/,nb=/([?&])_=[^&]*/,ob=/^(.*?):[ \t]*([^\r\n]*)$/gm,pb=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,qb=/^(?:GET|HEAD)$/,rb=/^\/\//,sb={},tb={},ub="*/".concat("*"),vb=d.createElement("a");vb.href=jb.href;function wb(a){return function(b,c){"string"!=typeof b&&(c=b,b="*");var d,e=0,f=b.toLowerCase().match(G)||[];if(n.isFunction(c))while(d=f[e++])"+"===d[0]?(d=d.slice(1)||"*",(a[d]=a[d]||[]).unshift(c)):(a[d]=a[d]||[]).push(c)}}function xb(a,b,c,d){var e={},f=a===tb;function g(h){var i;return e[h]=!0,n.each(a[h]||[],function(a,h){var j=h(b,c,d);return"string"!=typeof j||f||e[j]?f?!(i=j):void 0:(b.dataTypes.unshift(j),g(j),!1)}),i}return g(b.dataTypes[0])||!e["*"]&&g("*")}function yb(a,b){var c,d,e=n.ajaxSettings.flatOptions||{};for(c in b)void 0!==b[c]&&((e[c]?a:d||(d={}))[c]=b[c]);return d&&n.extend(!0,a,d),a}function zb(a,b,c){var d,e,f,g,h=a.contents,i=a.dataTypes;while("*"===i[0])i.shift(),void 0===d&&(d=a.mimeType||b.getResponseHeader("Content-Type"));if(d)for(e in h)if(h[e]&&h[e].test(d)){i.unshift(e);break}if(i[0]in c)f=i[0];else{for(e in c){if(!i[0]||a.converters[e+" "+i[0]]){f=e;break}g||(g=e)}f=f||g}return f?(f!==i[0]&&i.unshift(f),c[f]):void 0}function Ab(a,b,c,d){var e,f,g,h,i,j={},k=a.dataTypes.slice();if(k[1])for(g in a.converters)j[g.toLowerCase()]=a.converters[g];f=k.shift();while(f)if(a.responseFields[f]&&(c[a.responseFields[f]]=b),!i&&d&&a.dataFilter&&(b=a.dataFilter(b,a.dataType)),i=f,f=k.shift())if("*"===f)f=i;else if("*"!==i&&i!==f){if(g=j[i+" "+f]||j["* "+f],!g)for(e in j)if(h=e.split(" "),h[1]===f&&(g=j[i+" "+h[0]]||j["* "+h[0]])){g===!0?g=j[e]:j[e]!==!0&&(f=h[0],k.unshift(h[1]));break}if(g!==!0)if(g&&a["throws"])b=g(b);else try{b=g(b)}catch(l){return{state:"parsererror",error:g?l:"No conversion from "+i+" to "+f}}}return{state:"success",data:b}}n.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:jb.href,type:"GET",isLocal:pb.test(jb.protocol),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":ub,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/\bxml\b/,html:/\bhtml/,json:/\bjson\b/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":n.parseJSON,"text xml":n.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(a,b){return b?yb(yb(a,n.ajaxSettings),b):yb(n.ajaxSettings,a)},ajaxPrefilter:wb(sb),ajaxTransport:wb(tb),ajax:function(b,c){"object"==typeof b&&(c=b,b=void 0),c=c||{};var e,f,g,h,i,j,k,l,m=n.ajaxSetup({},c),o=m.context||m,p=m.context&&(o.nodeType||o.jquery)?n(o):n.event,q=n.Deferred(),r=n.Callbacks("once memory"),s=m.statusCode||{},t={},u={},v=0,w="canceled",x={readyState:0,getResponseHeader:function(a){var b;if(2===v){if(!h){h={};while(b=ob.exec(g))h[b[1].toLowerCase()]=b[2]}b=h[a.toLowerCase()]}return null==b?null:b},getAllResponseHeaders:function(){return 2===v?g:null},setRequestHeader:function(a,b){var c=a.toLowerCase();return v||(a=u[c]=u[c]||a,t[a]=b),this},overrideMimeType:function(a){return v||(m.mimeType=a),this},statusCode:function(a){var b;if(a)if(2>v)for(b in a)s[b]=[s[b],a[b]];else x.always(a[x.status]);return this},abort:function(a){var b=a||w;return e&&e.abort(b),z(0,b),this}};if(q.promise(x).complete=r.add,x.success=x.done,x.error=x.fail,m.url=((b||m.url||jb.href)+"").replace(mb,"").replace(rb,jb.protocol+"//"),m.type=c.method||c.type||m.method||m.type,m.dataTypes=n.trim(m.dataType||"*").toLowerCase().match(G)||[""],null==m.crossDomain){j=d.createElement("a");try{j.href=m.url,j.href=j.href,m.crossDomain=vb.protocol+"//"+vb.host!=j.protocol+"//"+j.host}catch(y){m.crossDomain=!0}}if(m.data&&m.processData&&"string"!=typeof m.data&&(m.data=n.param(m.data,m.traditional)),xb(sb,m,c,x),2===v)return x;k=n.event&&m.global,k&&0===n.active++&&n.event.trigger("ajaxStart"),m.type=m.type.toUpperCase(),m.hasContent=!qb.test(m.type),f=m.url,m.hasContent||(m.data&&(f=m.url+=(lb.test(f)?"&":"?")+m.data,delete m.data),m.cache===!1&&(m.url=nb.test(f)?f.replace(nb,"$1_="+kb++):f+(lb.test(f)?"&":"?")+"_="+kb++)),m.ifModified&&(n.lastModified[f]&&x.setRequestHeader("If-Modified-Since",n.lastModified[f]),n.etag[f]&&x.setRequestHeader("If-None-Match",n.etag[f])),(m.data&&m.hasContent&&m.contentType!==!1||c.contentType)&&x.setRequestHeader("Content-Type",m.contentType),x.setRequestHeader("Accept",m.dataTypes[0]&&m.accepts[m.dataTypes[0]]?m.accepts[m.dataTypes[0]]+("*"!==m.dataTypes[0]?", "+ub+"; q=0.01":""):m.accepts["*"]);for(l in m.headers)x.setRequestHeader(l,m.headers[l]);if(m.beforeSend&&(m.beforeSend.call(o,x,m)===!1||2===v))return x.abort();w="abort";for(l in{success:1,error:1,complete:1})x[l](m[l]);if(e=xb(tb,m,c,x)){if(x.readyState=1,k&&p.trigger("ajaxSend",[x,m]),2===v)return x;m.async&&m.timeout>0&&(i=a.setTimeout(function(){x.abort("timeout")},m.timeout));try{v=1,e.send(t,z)}catch(y){if(!(2>v))throw y;z(-1,y)}}else z(-1,"No Transport");function z(b,c,d,h){var j,l,t,u,w,y=c;2!==v&&(v=2,i&&a.clearTimeout(i),e=void 0,g=h||"",x.readyState=b>0?4:0,j=b>=200&&300>b||304===b,d&&(u=zb(m,x,d)),u=Ab(m,u,x,j),j?(m.ifModified&&(w=x.getResponseHeader("Last-Modified"),w&&(n.lastModified[f]=w),w=x.getResponseHeader("etag"),w&&(n.etag[f]=w)),204===b||"HEAD"===m.type?y="nocontent":304===b?y="notmodified":(y=u.state,l=u.data,t=u.error,j=!t)):(t=y,!b&&y||(y="error",0>b&&(b=0))),x.status=b,x.statusText=(c||y)+"",j?q.resolveWith(o,[l,y,x]):q.rejectWith(o,[x,y,t]),x.statusCode(s),s=void 0,k&&p.trigger(j?"ajaxSuccess":"ajaxError",[x,m,j?l:t]),r.fireWith(o,[x,y]),k&&(p.trigger("ajaxComplete",[x,m]),--n.active||n.event.trigger("ajaxStop")))}return x},getJSON:function(a,b,c){return n.get(a,b,c,"json")},getScript:function(a,b){return n.get(a,void 0,b,"script")}}),n.each(["get","post"],function(a,b){n[b]=function(a,c,d,e){return n.isFunction(c)&&(e=e||d,d=c,c=void 0),n.ajax(n.extend({url:a,type:b,dataType:e,data:c,success:d},n.isPlainObject(a)&&a))}}),n._evalUrl=function(a){return n.ajax({url:a,type:"GET",dataType:"script",async:!1,global:!1,"throws":!0})},n.fn.extend({wrapAll:function(a){var b;return n.isFunction(a)?this.each(function(b){n(this).wrapAll(a.call(this,b))}):(this[0]&&(b=n(a,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){var a=this;while(a.firstElementChild)a=a.firstElementChild;return a}).append(this)),this)},wrapInner:function(a){return n.isFunction(a)?this.each(function(b){n(this).wrapInner(a.call(this,b))}):this.each(function(){var b=n(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){var b=n.isFunction(a);return this.each(function(c){n(this).wrapAll(b?a.call(this,c):a)})},unwrap:function(){return this.parent().each(function(){n.nodeName(this,"body")||n(this).replaceWith(this.childNodes)}).end()}}),n.expr.filters.hidden=function(a){return!n.expr.filters.visible(a)},n.expr.filters.visible=function(a){return a.offsetWidth>0||a.offsetHeight>0||a.getClientRects().length>0};var Bb=/%20/g,Cb=/\[\]$/,Db=/\r?\n/g,Eb=/^(?:submit|button|image|reset|file)$/i,Fb=/^(?:input|select|textarea|keygen)/i;function Gb(a,b,c,d){var e;if(n.isArray(b))n.each(b,function(b,e){c||Cb.test(a)?d(a,e):Gb(a+"["+("object"==typeof e&&null!=e?b:"")+"]",e,c,d)});else if(c||"object"!==n.type(b))d(a,b);else for(e in b)Gb(a+"["+e+"]",b[e],c,d)}n.param=function(a,b){var c,d=[],e=function(a,b){b=n.isFunction(b)?b():null==b?"":b,d[d.length]=encodeURIComponent(a)+"="+encodeURIComponent(b)};if(void 0===b&&(b=n.ajaxSettings&&n.ajaxSettings.traditional),n.isArray(a)||a.jquery&&!n.isPlainObject(a))n.each(a,function(){e(this.name,this.value)});else for(c in a)Gb(c,a[c],b,e);return d.join("&").replace(Bb,"+")},n.fn.extend({serialize:function(){return n.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var a=n.prop(this,"elements");return a?n.makeArray(a):this}).filter(function(){var a=this.type;return this.name&&!n(this).is(":disabled")&&Fb.test(this.nodeName)&&!Eb.test(a)&&(this.checked||!X.test(a))}).map(function(a,b){var c=n(this).val();return null==c?null:n.isArray(c)?n.map(c,function(a){return{name:b.name,value:a.replace(Db,"\r\n")}}):{name:b.name,value:c.replace(Db,"\r\n")}}).get()}}),n.ajaxSettings.xhr=function(){try{return new a.XMLHttpRequest}catch(b){}};var Hb={0:200,1223:204},Ib=n.ajaxSettings.xhr();l.cors=!!Ib&&"withCredentials"in Ib,l.ajax=Ib=!!Ib,n.ajaxTransport(function(b){var c,d;return l.cors||Ib&&!b.crossDomain?{send:function(e,f){var g,h=b.xhr();if(h.open(b.type,b.url,b.async,b.username,b.password),b.xhrFields)for(g in b.xhrFields)h[g]=b.xhrFields[g];b.mimeType&&h.overrideMimeType&&h.overrideMimeType(b.mimeType),b.crossDomain||e["X-Requested-With"]||(e["X-Requested-With"]="XMLHttpRequest");for(g in e)h.setRequestHeader(g,e[g]);c=function(a){return function(){c&&(c=d=h.onload=h.onerror=h.onabort=h.onreadystatechange=null,"abort"===a?h.abort():"error"===a?"number"!=typeof h.status?f(0,"error"):f(h.status,h.statusText):f(Hb[h.status]||h.status,h.statusText,"text"!==(h.responseType||"text")||"string"!=typeof h.responseText?{binary:h.response}:{text:h.responseText},h.getAllResponseHeaders()))}},h.onload=c(),d=h.onerror=c("error"),void 0!==h.onabort?h.onabort=d:h.onreadystatechange=function(){4===h.readyState&&a.setTimeout(function(){c&&d()})},c=c("abort");try{h.send(b.hasContent&&b.data||null)}catch(i){if(c)throw i}},abort:function(){c&&c()}}:void 0}),n.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function(a){return n.globalEval(a),a}}}),n.ajaxPrefilter("script",function(a){void 0===a.cache&&(a.cache=!1),a.crossDomain&&(a.type="GET")}),n.ajaxTransport("script",function(a){if(a.crossDomain){var b,c;return{send:function(e,f){b=n("<script>").prop({charset:a.scriptCharset,src:a.url}).on("load error",c=function(a){b.remove(),c=null,a&&f("error"===a.type?404:200,a.type)}),d.head.appendChild(b[0])},abort:function(){c&&c()}}}});var Jb=[],Kb=/(=)\?(?=&|$)|\?\?/;n.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var a=Jb.pop()||n.expando+"_"+kb++;return this[a]=!0,a}}),n.ajaxPrefilter("json jsonp",function(b,c,d){var e,f,g,h=b.jsonp!==!1&&(Kb.test(b.url)?"url":"string"==typeof b.data&&0===(b.contentType||"").indexOf("application/x-www-form-urlencoded")&&Kb.test(b.data)&&"data");return h||"jsonp"===b.dataTypes[0]?(e=b.jsonpCallback=n.isFunction(b.jsonpCallback)?b.jsonpCallback():b.jsonpCallback,h?b[h]=b[h].replace(Kb,"$1"+e):b.jsonp!==!1&&(b.url+=(lb.test(b.url)?"&":"?")+b.jsonp+"="+e),b.converters["script json"]=function(){return g||n.error(e+" was not called"),g[0]},b.dataTypes[0]="json",f=a[e],a[e]=function(){g=arguments},d.always(function(){void 0===f?n(a).removeProp(e):a[e]=f,b[e]&&(b.jsonpCallback=c.jsonpCallback,Jb.push(e)),g&&n.isFunction(f)&&f(g[0]),g=f=void 0}),"script"):void 0}),n.parseHTML=function(a,b,c){if(!a||"string"!=typeof a)return null;"boolean"==typeof b&&(c=b,b=!1),b=b||d;var e=x.exec(a),f=!c&&[];return e?[b.createElement(e[1])]:(e=ca([a],b,f),f&&f.length&&n(f).remove(),n.merge([],e.childNodes))};var Lb=n.fn.load;n.fn.load=function(a,b,c){if("string"!=typeof a&&Lb)return Lb.apply(this,arguments);var d,e,f,g=this,h=a.indexOf(" ");return h>-1&&(d=n.trim(a.slice(h)),a=a.slice(0,h)),n.isFunction(b)?(c=b,b=void 0):b&&"object"==typeof b&&(e="POST"),g.length>0&&n.ajax({url:a,type:e||"GET",dataType:"html",data:b}).done(function(a){f=arguments,g.html(d?n("<div>").append(n.parseHTML(a)).find(d):a)}).always(c&&function(a,b){g.each(function(){c.apply(this,f||[a.responseText,b,a])})}),this},n.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(a,b){n.fn[b]=function(a){return this.on(b,a)}}),n.expr.filters.animated=function(a){return n.grep(n.timers,function(b){return a===b.elem}).length};function Mb(a){return n.isWindow(a)?a:9===a.nodeType&&a.defaultView}n.offset={setOffset:function(a,b,c){var d,e,f,g,h,i,j,k=n.css(a,"position"),l=n(a),m={};"static"===k&&(a.style.position="relative"),h=l.offset(),f=n.css(a,"top"),i=n.css(a,"left"),j=("absolute"===k||"fixed"===k)&&(f+i).indexOf("auto")>-1,j?(d=l.position(),g=d.top,e=d.left):(g=parseFloat(f)||0,e=parseFloat(i)||0),n.isFunction(b)&&(b=b.call(a,c,n.extend({},h))),null!=b.top&&(m.top=b.top-h.top+g),null!=b.left&&(m.left=b.left-h.left+e),"using"in b?b.using.call(a,m):l.css(m)}},n.fn.extend({offset:function(a){if(arguments.length)return void 0===a?this:this.each(function(b){n.offset.setOffset(this,a,b)});var b,c,d=this[0],e={top:0,left:0},f=d&&d.ownerDocument;if(f)return b=f.documentElement,n.contains(b,d)?(e=d.getBoundingClientRect(),c=Mb(f),{top:e.top+c.pageYOffset-b.clientTop,left:e.left+c.pageXOffset-b.clientLeft}):e},position:function(){if(this[0]){var a,b,c=this[0],d={top:0,left:0};return"fixed"===n.css(c,"position")?b=c.getBoundingClientRect():(a=this.offsetParent(),b=this.offset(),n.nodeName(a[0],"html")||(d=a.offset()),d.top+=n.css(a[0],"borderTopWidth",!0),d.left+=n.css(a[0],"borderLeftWidth",!0)),{top:b.top-d.top-n.css(c,"marginTop",!0),left:b.left-d.left-n.css(c,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var a=this.offsetParent;while(a&&"static"===n.css(a,"position"))a=a.offsetParent;return a||Ea})}}),n.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(a,b){var c="pageYOffset"===b;n.fn[a]=function(d){return K(this,function(a,d,e){var f=Mb(a);return void 0===e?f?f[b]:a[d]:void(f?f.scrollTo(c?f.pageXOffset:e,c?e:f.pageYOffset):a[d]=e)},a,d,arguments.length)}}),n.each(["top","left"],function(a,b){n.cssHooks[b]=Ga(l.pixelPosition,function(a,c){return c?(c=Fa(a,b),Ba.test(c)?n(a).position()[b]+"px":c):void 0})}),n.each({Height:"height",Width:"width"},function(a,b){n.each({padding:"inner"+a,content:b,"":"outer"+a},function(c,d){n.fn[d]=function(d,e){var f=arguments.length&&(c||"boolean"!=typeof d),g=c||(d===!0||e===!0?"margin":"border");return K(this,function(b,c,d){var e;return n.isWindow(b)?b.document.documentElement["client"+a]:9===b.nodeType?(e=b.documentElement,Math.max(b.body["scroll"+a],e["scroll"+a],b.body["offset"+a],e["offset"+a],e["client"+a])):void 0===d?n.css(b,c,g):n.style(b,c,d,g)},b,f?d:void 0,f,null)}})}),n.fn.extend({bind:function(a,b,c){return this.on(a,null,b,c)},unbind:function(a,b){return this.off(a,null,b)},delegate:function(a,b,c,d){return this.on(b,a,c,d)},undelegate:function(a,b,c){return 1===arguments.length?this.off(a,"**"):this.off(b,a||"**",c)},size:function(){return this.length}}),n.fn.andSelf=n.fn.addBack,"function"==typeof define&&define.amd&&define("jquery",[],function(){return n});var Nb=a.jQuery,Ob=a.$;return n.noConflict=function(b){return a.$===n&&(a.$=Ob),b&&a.jQuery===n&&(a.jQuery=Nb),n},b||(a.jQuery=a.$=n),n});
diff --git a/templates/assets/jquery/dist/jquery.min.map b/templates/assets/jquery/dist/jquery.min.map
new file mode 100644
index 0000000..49efa4b
--- /dev/null
+++ b/templates/assets/jquery/dist/jquery.min.map
@@ -0,0 +1 @@
+{"version":3,"sources":["jquery.js"],"names":["global","factory","module","exports","document","w","Error","window","this","noGlobal","arr","slice","concat","push","indexOf","class2type","toString","hasOwn","hasOwnProperty","support","version","jQuery","selector","context","fn","init","rtrim","rmsPrefix","rdashAlpha","fcamelCase","all","letter","toUpperCase","prototype","jquery","constructor","length","toArray","call","get","num","pushStack","elems","ret","merge","prevObject","each","callback","map","elem","i","apply","arguments","first","eq","last","len","j","end","sort","splice","extend","options","name","src","copy","copyIsArray","clone","target","deep","isFunction","isPlainObject","isArray","undefined","expando","Math","random","replace","isReady","error","msg","noop","obj","type","Array","isWindow","isNumeric","realStringObj","parseFloat","key","nodeType","isEmptyObject","globalEval","code","script","indirect","eval","trim","createElement","text","head","appendChild","parentNode","removeChild","camelCase","string","nodeName","toLowerCase","isArrayLike","makeArray","results","Object","inArray","second","grep","invert","callbackInverse","matches","callbackExpect","arg","value","guid","proxy","tmp","args","now","Date","Symbol","iterator","split","Sizzle","Expr","getText","isXML","tokenize","compile","select","outermostContext","sortInput","hasDuplicate","setDocument","docElem","documentIsHTML","rbuggyQSA","rbuggyMatches","contains","preferredDoc","dirruns","done","classCache","createCache","tokenCache","compilerCache","sortOrder","a","b","MAX_NEGATIVE","pop","push_native","list","booleans","whitespace","identifier","attributes","pseudos","rwhitespace","RegExp","rcomma","rcombinators","rattributeQuotes","rpseudo","ridentifier","matchExpr","ID","CLASS","TAG","ATTR","PSEUDO","CHILD","bool","needsContext","rinputs","rheader","rnative","rquickExpr","rsibling","rescape","runescape","funescape","_","escaped","escapedWhitespace","high","String","fromCharCode","unloadHandler","childNodes","e","els","seed","m","nid","nidselect","match","groups","newSelector","newContext","ownerDocument","exec","getElementById","id","getElementsByTagName","getElementsByClassName","qsa","test","getAttribute","setAttribute","toSelector","join","testContext","querySelectorAll","qsaError","removeAttribute","keys","cache","cacheLength","shift","markFunction","assert","div","addHandle","attrs","handler","attrHandle","siblingCheck","cur","diff","sourceIndex","nextSibling","createInputPseudo","createButtonPseudo","createPositionalPseudo","argument","matchIndexes","documentElement","node","hasCompare","parent","doc","defaultView","top","addEventListener","attachEvent","className","createComment","getById","getElementsByName","find","filter","attrId","getAttributeNode","tag","innerHTML","input","matchesSelector","webkitMatchesSelector","mozMatchesSelector","oMatchesSelector","msMatchesSelector","disconnectedMatch","compareDocumentPosition","adown","bup","compare","sortDetached","aup","ap","bp","unshift","expr","elements","attr","val","specified","uniqueSort","duplicates","detectDuplicates","sortStable","textContent","firstChild","nodeValue","selectors","createPseudo","relative",">","dir"," ","+","~","preFilter","excess","unquoted","nodeNameSelector","pattern","operator","check","result","what","simple","forward","ofType","xml","uniqueCache","outerCache","nodeIndex","start","useCache","lastChild","uniqueID","pseudo","setFilters","idx","matched","not","matcher","unmatched","has","innerText","lang","elemLang","hash","location","root","focus","activeElement","hasFocus","href","tabIndex","enabled","disabled","checked","selected","selectedIndex","empty","header","button","even","odd","lt","gt","radio","checkbox","file","password","image","submit","reset","filters","parseOnly","tokens","soFar","preFilters","cached","addCombinator","combinator","base","checkNonElements","doneName","oldCache","newCache","elementMatcher","matchers","multipleContexts","contexts","condense","newUnmatched","mapped","setMatcher","postFilter","postFinder","postSelector","temp","preMap","postMap","preexisting","matcherIn","matcherOut","matcherFromTokens","checkContext","leadingRelative","implicitRelative","matchContext","matchAnyContext","matcherFromGroupMatchers","elementMatchers","setMatchers","bySet","byElement","superMatcher","outermost","matchedCount","setMatched","contextBackup","dirrunsUnique","token","compiled","div1","defaultValue","unique","isXMLDoc","until","truncate","is","siblings","n","rneedsContext","rsingleTag","risSimple","winnow","qualifier","self","rootjQuery","parseHTML","ready","rparentsprev","guaranteedUnique","children","contents","next","prev","targets","l","closest","pos","index","prevAll","add","addBack","sibling","parents","parentsUntil","nextAll","nextUntil","prevUntil","contentDocument","reverse","rnotwhite","createOptions","object","flag","Callbacks","firing","memory","fired","locked","queue","firingIndex","fire","once","stopOnFalse","remove","disable","lock","fireWith","Deferred","func","tuples","state","promise","always","deferred","fail","then","fns","newDefer","tuple","returned","progress","notify","resolve","reject","pipe","stateString","when","subordinate","resolveValues","remaining","updateFunc","values","progressValues","notifyWith","resolveWith","progressContexts","resolveContexts","readyList","readyWait","holdReady","hold","wait","triggerHandler","off","completed","removeEventListener","readyState","doScroll","setTimeout","access","chainable","emptyGet","raw","bulk","acceptData","owner","Data","uid","register","initial","defineProperty","writable","configurable","set","data","prop","stored","camel","hasData","dataPriv","dataUser","rbrace","rmultiDash","dataAttr","parseJSON","removeData","_data","_removeData","camelKey","dequeue","startLength","hooks","_queueHooks","stop","setter","clearQueue","count","defer","pnum","source","rcssNum","cssExpand","isHidden","el","css","adjustCSS","valueParts","tween","adjusted","scale","maxIterations","currentValue","unit","cssNumber","initialInUnit","style","rcheckableType","rtagName","rscriptType","wrapMap","option","thead","col","tr","td","_default","optgroup","tbody","tfoot","colgroup","caption","th","getAll","setGlobalEval","refElements","rhtml","buildFragment","scripts","selection","ignored","wrap","fragment","createDocumentFragment","nodes","htmlPrefilter","createTextNode","checkClone","cloneNode","noCloneChecked","rkeyEvent","rmouseEvent","rtypenamespace","returnTrue","returnFalse","safeActiveElement","err","on","types","one","origFn","event","handleObjIn","eventHandle","events","t","handleObj","special","handlers","namespaces","origType","elemData","handle","triggered","dispatch","delegateType","bindType","namespace","delegateCount","setup","mappedTypes","origCount","teardown","removeEvent","fix","handlerQueue","delegateTarget","preDispatch","isPropagationStopped","currentTarget","isImmediatePropagationStopped","rnamespace","preventDefault","stopPropagation","postDispatch","sel","isNaN","props","fixHooks","keyHooks","original","which","charCode","keyCode","mouseHooks","eventDoc","body","pageX","clientX","scrollLeft","clientLeft","pageY","clientY","scrollTop","clientTop","originalEvent","fixHook","Event","load","noBubble","trigger","blur","click","beforeunload","returnValue","isDefaultPrevented","defaultPrevented","timeStamp","isSimulated","stopImmediatePropagation","mouseenter","mouseleave","pointerenter","pointerleave","orig","related","relatedTarget","rxhtmlTag","rnoInnerhtml","rchecked","rscriptTypeMasked","rcleanScript","manipulationTarget","content","disableScript","restoreScript","cloneCopyEvent","dest","pdataOld","pdataCur","udataOld","udataCur","fixInput","domManip","collection","hasScripts","iNoClone","html","_evalUrl","keepData","cleanData","dataAndEvents","deepDataAndEvents","srcElements","destElements","inPage","detach","append","prepend","insertBefore","before","after","replaceWith","replaceChild","appendTo","prependTo","insertAfter","replaceAll","insert","iframe","elemdisplay","HTML","BODY","actualDisplay","display","defaultDisplay","write","close","rmargin","rnumnonpx","getStyles","view","opener","getComputedStyle","swap","old","pixelPositionVal","boxSizingReliableVal","pixelMarginRightVal","reliableMarginLeftVal","container","backgroundClip","clearCloneStyle","cssText","computeStyleTests","divStyle","marginLeft","width","marginRight","pixelPosition","boxSizingReliable","pixelMarginRight","reliableMarginLeft","reliableMarginRight","marginDiv","curCSS","computed","minWidth","maxWidth","getPropertyValue","addGetHookIf","conditionFn","hookFn","rdisplayswap","cssShow","position","visibility","cssNormalTransform","letterSpacing","fontWeight","cssPrefixes","emptyStyle","vendorPropName","capName","setPositiveNumber","subtract","max","augmentWidthOrHeight","extra","isBorderBox","styles","getWidthOrHeight","valueIsBorderBox","offsetWidth","offsetHeight","showHide","show","hidden","cssHooks","opacity","animationIterationCount","columnCount","fillOpacity","flexGrow","flexShrink","lineHeight","order","orphans","widows","zIndex","zoom","cssProps","float","origName","isFinite","getBoundingClientRect","left","margin","padding","border","prefix","suffix","expand","expanded","parts","hide","toggle","Tween","easing","propHooks","run","percent","eased","duration","step","fx","linear","p","swing","cos","PI","fxNow","timerId","rfxtypes","rrun","createFxNow","genFx","includeWidth","height","createTween","animation","Animation","tweeners","defaultPrefilter","opts","oldfire","checkDisplay","anim","dataShow","unqueued","overflow","overflowX","overflowY","propFilter","specialEasing","properties","stopped","prefilters","tick","currentTime","startTime","tweens","originalProperties","originalOptions","gotoEnd","rejectWith","timer","complete","*","tweener","prefilter","speed","opt","speeds","fadeTo","to","animate","optall","doAnimation","finish","stopQueue","timers","cssFn","slideDown","slideUp","slideToggle","fadeIn","fadeOut","fadeToggle","interval","setInterval","clearInterval","slow","fast","delay","time","timeout","clearTimeout","checkOn","optSelected","optDisabled","radioValue","boolHook","removeAttr","nType","attrHooks","propName","attrNames","propFix","getter","rfocusable","rclickable","removeProp","tabindex","parseInt","for","class","rclass","getClass","addClass","classes","curValue","clazz","finalValue","removeClass","toggleClass","stateVal","classNames","hasClass","rreturn","rspaces","valHooks","optionSet","rfocusMorph","onlyHandlers","bubbleType","ontype","eventPath","isTrigger","parentWindow","simulate","hover","fnOver","fnOut","focusin","attaches","nonce","rquery","JSON","parse","parseXML","DOMParser","parseFromString","rhash","rts","rheaders","rlocalProtocol","rnoContent","rprotocol","transports","allTypes","originAnchor","addToPrefiltersOrTransports","structure","dataTypeExpression","dataType","dataTypes","inspectPrefiltersOrTransports","jqXHR","inspected","seekingTransport","inspect","prefilterOrFactory","dataTypeOrTransport","ajaxExtend","flatOptions","ajaxSettings","ajaxHandleResponses","s","responses","ct","finalDataType","firstDataType","mimeType","getResponseHeader","converters","ajaxConvert","response","isSuccess","conv2","current","conv","responseFields","dataFilter","active","lastModified","etag","url","isLocal","protocol","processData","async","contentType","accepts","json","* text","text html","text json","text xml","ajaxSetup","settings","ajaxPrefilter","ajaxTransport","ajax","transport","cacheURL","responseHeadersString","responseHeaders","timeoutTimer","urlAnchor","fireGlobals","callbackContext","globalEventContext","completeDeferred","statusCode","requestHeaders","requestHeadersNames","strAbort","getAllResponseHeaders","setRequestHeader","lname","overrideMimeType","status","abort","statusText","finalText","success","method","crossDomain","host","param","traditional","hasContent","ifModified","headers","beforeSend","send","nativeStatusText","modified","getJSON","getScript","throws","wrapAll","firstElementChild","wrapInner","unwrap","visible","getClientRects","r20","rbracket","rCRLF","rsubmitterTypes","rsubmittable","buildParams","v","encodeURIComponent","serialize","serializeArray","xhr","XMLHttpRequest","xhrSuccessStatus","0","1223","xhrSupported","cors","errorCallback","open","username","xhrFields","onload","onerror","onabort","onreadystatechange","responseType","responseText","binary","text script","charset","scriptCharset","evt","oldCallbacks","rjsonp","jsonp","jsonpCallback","originalSettings","callbackName","overwritten","responseContainer","jsonProp","keepScripts","parsed","_load","params","animated","getWindow","offset","setOffset","curPosition","curLeft","curCSSTop","curTop","curOffset","curCSSLeft","calculatePosition","curElem","using","win","box","pageYOffset","pageXOffset","offsetParent","parentOffset","scrollTo","Height","Width","","defaultExtra","funcName","bind","unbind","delegate","undelegate","size","andSelf","define","amd","_jQuery","_$","$","noConflict"],"mappings":"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","file":"jquery.min.js"} \ No newline at end of file
diff --git a/templates/assets/jquery/external/sizzle/dist/sizzle.js b/templates/assets/jquery/external/sizzle/dist/sizzle.js
new file mode 100644
index 0000000..9b1e5ba
--- /dev/null
+++ b/templates/assets/jquery/external/sizzle/dist/sizzle.js
@@ -0,0 +1,2143 @@
+/*!
+ * Sizzle CSS Selector Engine v2.2.1
+ * http://sizzlejs.com/
+ *
+ * Copyright jQuery Foundation and other contributors
+ * Released under the MIT license
+ * http://jquery.org/license
+ *
+ * Date: 2015-10-17
+ */
+(function( window ) {
+
+var i,
+ support,
+ Expr,
+ getText,
+ isXML,
+ tokenize,
+ compile,
+ select,
+ outermostContext,
+ sortInput,
+ hasDuplicate,
+
+ // Local document vars
+ setDocument,
+ document,
+ docElem,
+ documentIsHTML,
+ rbuggyQSA,
+ rbuggyMatches,
+ matches,
+ contains,
+
+ // Instance-specific data
+ expando = "sizzle" + 1 * new Date(),
+ preferredDoc = window.document,
+ dirruns = 0,
+ done = 0,
+ classCache = createCache(),
+ tokenCache = createCache(),
+ compilerCache = createCache(),
+ sortOrder = function( a, b ) {
+ if ( a === b ) {
+ hasDuplicate = true;
+ }
+ return 0;
+ },
+
+ // General-purpose constants
+ MAX_NEGATIVE = 1 << 31,
+
+ // Instance methods
+ hasOwn = ({}).hasOwnProperty,
+ arr = [],
+ pop = arr.pop,
+ push_native = arr.push,
+ push = arr.push,
+ slice = arr.slice,
+ // Use a stripped-down indexOf as it's faster than native
+ // http://jsperf.com/thor-indexof-vs-for/5
+ indexOf = function( list, elem ) {
+ var i = 0,
+ len = list.length;
+ for ( ; i < len; i++ ) {
+ if ( list[i] === elem ) {
+ return i;
+ }
+ }
+ return -1;
+ },
+
+ booleans = "checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",
+
+ // Regular expressions
+
+ // http://www.w3.org/TR/css3-selectors/#whitespace
+ whitespace = "[\\x20\\t\\r\\n\\f]",
+
+ // http://www.w3.org/TR/CSS21/syndata.html#value-def-identifier
+ identifier = "(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",
+
+ // Attribute selectors: http://www.w3.org/TR/selectors/#attribute-selectors
+ attributes = "\\[" + whitespace + "*(" + identifier + ")(?:" + whitespace +
+ // Operator (capture 2)
+ "*([*^$|!~]?=)" + whitespace +
+ // "Attribute values must be CSS identifiers [capture 5] or strings [capture 3 or capture 4]"
+ "*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|(" + identifier + "))|)" + whitespace +
+ "*\\]",
+
+ pseudos = ":(" + identifier + ")(?:\\((" +
+ // To reduce the number of selectors needing tokenize in the preFilter, prefer arguments:
+ // 1. quoted (capture 3; capture 4 or capture 5)
+ "('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|" +
+ // 2. simple (capture 6)
+ "((?:\\\\.|[^\\\\()[\\]]|" + attributes + ")*)|" +
+ // 3. anything else (capture 2)
+ ".*" +
+ ")\\)|)",
+
+ // Leading and non-escaped trailing whitespace, capturing some non-whitespace characters preceding the latter
+ rwhitespace = new RegExp( whitespace + "+", "g" ),
+ rtrim = new RegExp( "^" + whitespace + "+|((?:^|[^\\\\])(?:\\\\.)*)" + whitespace + "+$", "g" ),
+
+ rcomma = new RegExp( "^" + whitespace + "*," + whitespace + "*" ),
+ rcombinators = new RegExp( "^" + whitespace + "*([>+~]|" + whitespace + ")" + whitespace + "*" ),
+
+ rattributeQuotes = new RegExp( "=" + whitespace + "*([^\\]'\"]*?)" + whitespace + "*\\]", "g" ),
+
+ rpseudo = new RegExp( pseudos ),
+ ridentifier = new RegExp( "^" + identifier + "$" ),
+
+ matchExpr = {
+ "ID": new RegExp( "^#(" + identifier + ")" ),
+ "CLASS": new RegExp( "^\\.(" + identifier + ")" ),
+ "TAG": new RegExp( "^(" + identifier + "|[*])" ),
+ "ATTR": new RegExp( "^" + attributes ),
+ "PSEUDO": new RegExp( "^" + pseudos ),
+ "CHILD": new RegExp( "^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\(" + whitespace +
+ "*(even|odd|(([+-]|)(\\d*)n|)" + whitespace + "*(?:([+-]|)" + whitespace +
+ "*(\\d+)|))" + whitespace + "*\\)|)", "i" ),
+ "bool": new RegExp( "^(?:" + booleans + ")$", "i" ),
+ // For use in libraries implementing .is()
+ // We use this for POS matching in `select`
+ "needsContext": new RegExp( "^" + whitespace + "*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\(" +
+ whitespace + "*((?:-\\d)?\\d*)" + whitespace + "*\\)|)(?=[^-]|$)", "i" )
+ },
+
+ rinputs = /^(?:input|select|textarea|button)$/i,
+ rheader = /^h\d$/i,
+
+ rnative = /^[^{]+\{\s*\[native \w/,
+
+ // Easily-parseable/retrievable ID or TAG or CLASS selectors
+ rquickExpr = /^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,
+
+ rsibling = /[+~]/,
+ rescape = /'|\\/g,
+
+ // CSS escapes http://www.w3.org/TR/CSS21/syndata.html#escaped-characters
+ runescape = new RegExp( "\\\\([\\da-f]{1,6}" + whitespace + "?|(" + whitespace + ")|.)", "ig" ),
+ funescape = function( _, escaped, escapedWhitespace ) {
+ var high = "0x" + escaped - 0x10000;
+ // NaN means non-codepoint
+ // Support: Firefox<24
+ // Workaround erroneous numeric interpretation of +"0x"
+ return high !== high || escapedWhitespace ?
+ escaped :
+ high < 0 ?
+ // BMP codepoint
+ String.fromCharCode( high + 0x10000 ) :
+ // Supplemental Plane codepoint (surrogate pair)
+ String.fromCharCode( high >> 10 | 0xD800, high & 0x3FF | 0xDC00 );
+ },
+
+ // Used for iframes
+ // See setDocument()
+ // Removing the function wrapper causes a "Permission Denied"
+ // error in IE
+ unloadHandler = function() {
+ setDocument();
+ };
+
+// Optimize for push.apply( _, NodeList )
+try {
+ push.apply(
+ (arr = slice.call( preferredDoc.childNodes )),
+ preferredDoc.childNodes
+ );
+ // Support: Android<4.0
+ // Detect silently failing push.apply
+ arr[ preferredDoc.childNodes.length ].nodeType;
+} catch ( e ) {
+ push = { apply: arr.length ?
+
+ // Leverage slice if possible
+ function( target, els ) {
+ push_native.apply( target, slice.call(els) );
+ } :
+
+ // Support: IE<9
+ // Otherwise append directly
+ function( target, els ) {
+ var j = target.length,
+ i = 0;
+ // Can't trust NodeList.length
+ while ( (target[j++] = els[i++]) ) {}
+ target.length = j - 1;
+ }
+ };
+}
+
+function Sizzle( selector, context, results, seed ) {
+ var m, i, elem, nid, nidselect, match, groups, newSelector,
+ newContext = context && context.ownerDocument,
+
+ // nodeType defaults to 9, since context defaults to document
+ nodeType = context ? context.nodeType : 9;
+
+ results = results || [];
+
+ // Return early from calls with invalid selector or context
+ if ( typeof selector !== "string" || !selector ||
+ nodeType !== 1 && nodeType !== 9 && nodeType !== 11 ) {
+
+ return results;
+ }
+
+ // Try to shortcut find operations (as opposed to filters) in HTML documents
+ if ( !seed ) {
+
+ if ( ( context ? context.ownerDocument || context : preferredDoc ) !== document ) {
+ setDocument( context );
+ }
+ context = context || document;
+
+ if ( documentIsHTML ) {
+
+ // If the selector is sufficiently simple, try using a "get*By*" DOM method
+ // (excepting DocumentFragment context, where the methods don't exist)
+ if ( nodeType !== 11 && (match = rquickExpr.exec( selector )) ) {
+
+ // ID selector
+ if ( (m = match[1]) ) {
+
+ // Document context
+ if ( nodeType === 9 ) {
+ if ( (elem = context.getElementById( m )) ) {
+
+ // Support: IE, Opera, Webkit
+ // TODO: identify versions
+ // getElementById can match elements by name instead of ID
+ if ( elem.id === m ) {
+ results.push( elem );
+ return results;
+ }
+ } else {
+ return results;
+ }
+
+ // Element context
+ } else {
+
+ // Support: IE, Opera, Webkit
+ // TODO: identify versions
+ // getElementById can match elements by name instead of ID
+ if ( newContext && (elem = newContext.getElementById( m )) &&
+ contains( context, elem ) &&
+ elem.id === m ) {
+
+ results.push( elem );
+ return results;
+ }
+ }
+
+ // Type selector
+ } else if ( match[2] ) {
+ push.apply( results, context.getElementsByTagName( selector ) );
+ return results;
+
+ // Class selector
+ } else if ( (m = match[3]) && support.getElementsByClassName &&
+ context.getElementsByClassName ) {
+
+ push.apply( results, context.getElementsByClassName( m ) );
+ return results;
+ }
+ }
+
+ // Take advantage of querySelectorAll
+ if ( support.qsa &&
+ !compilerCache[ selector + " " ] &&
+ (!rbuggyQSA || !rbuggyQSA.test( selector )) ) {
+
+ if ( nodeType !== 1 ) {
+ newContext = context;
+ newSelector = selector;
+
+ // qSA looks outside Element context, which is not what we want
+ // Thanks to Andrew Dupont for this workaround technique
+ // Support: IE <=8
+ // Exclude object elements
+ } else if ( context.nodeName.toLowerCase() !== "object" ) {
+
+ // Capture the context ID, setting it first if necessary
+ if ( (nid = context.getAttribute( "id" )) ) {
+ nid = nid.replace( rescape, "\\$&" );
+ } else {
+ context.setAttribute( "id", (nid = expando) );
+ }
+
+ // Prefix every selector in the list
+ groups = tokenize( selector );
+ i = groups.length;
+ nidselect = ridentifier.test( nid ) ? "#" + nid : "[id='" + nid + "']";
+ while ( i-- ) {
+ groups[i] = nidselect + " " + toSelector( groups[i] );
+ }
+ newSelector = groups.join( "," );
+
+ // Expand context for sibling selectors
+ newContext = rsibling.test( selector ) && testContext( context.parentNode ) ||
+ context;
+ }
+
+ if ( newSelector ) {
+ try {
+ push.apply( results,
+ newContext.querySelectorAll( newSelector )
+ );
+ return results;
+ } catch ( qsaError ) {
+ } finally {
+ if ( nid === expando ) {
+ context.removeAttribute( "id" );
+ }
+ }
+ }
+ }
+ }
+ }
+
+ // All others
+ return select( selector.replace( rtrim, "$1" ), context, results, seed );
+}
+
+/**
+ * Create key-value caches of limited size
+ * @returns {function(string, object)} Returns the Object data after storing it on itself with
+ * property name the (space-suffixed) string and (if the cache is larger than Expr.cacheLength)
+ * deleting the oldest entry
+ */
+function createCache() {
+ var keys = [];
+
+ function cache( key, value ) {
+ // Use (key + " ") to avoid collision with native prototype properties (see Issue #157)
+ if ( keys.push( key + " " ) > Expr.cacheLength ) {
+ // Only keep the most recent entries
+ delete cache[ keys.shift() ];
+ }
+ return (cache[ key + " " ] = value);
+ }
+ return cache;
+}
+
+/**
+ * Mark a function for special use by Sizzle
+ * @param {Function} fn The function to mark
+ */
+function markFunction( fn ) {
+ fn[ expando ] = true;
+ return fn;
+}
+
+/**
+ * Support testing using an element
+ * @param {Function} fn Passed the created div and expects a boolean result
+ */
+function assert( fn ) {
+ var div = document.createElement("div");
+
+ try {
+ return !!fn( div );
+ } catch (e) {
+ return false;
+ } finally {
+ // Remove from its parent by default
+ if ( div.parentNode ) {
+ div.parentNode.removeChild( div );
+ }
+ // release memory in IE
+ div = null;
+ }
+}
+
+/**
+ * Adds the same handler for all of the specified attrs
+ * @param {String} attrs Pipe-separated list of attributes
+ * @param {Function} handler The method that will be applied
+ */
+function addHandle( attrs, handler ) {
+ var arr = attrs.split("|"),
+ i = arr.length;
+
+ while ( i-- ) {
+ Expr.attrHandle[ arr[i] ] = handler;
+ }
+}
+
+/**
+ * Checks document order of two siblings
+ * @param {Element} a
+ * @param {Element} b
+ * @returns {Number} Returns less than 0 if a precedes b, greater than 0 if a follows b
+ */
+function siblingCheck( a, b ) {
+ var cur = b && a,
+ diff = cur && a.nodeType === 1 && b.nodeType === 1 &&
+ ( ~b.sourceIndex || MAX_NEGATIVE ) -
+ ( ~a.sourceIndex || MAX_NEGATIVE );
+
+ // Use IE sourceIndex if available on both nodes
+ if ( diff ) {
+ return diff;
+ }
+
+ // Check if b follows a
+ if ( cur ) {
+ while ( (cur = cur.nextSibling) ) {
+ if ( cur === b ) {
+ return -1;
+ }
+ }
+ }
+
+ return a ? 1 : -1;
+}
+
+/**
+ * Returns a function to use in pseudos for input types
+ * @param {String} type
+ */
+function createInputPseudo( type ) {
+ return function( elem ) {
+ var name = elem.nodeName.toLowerCase();
+ return name === "input" && elem.type === type;
+ };
+}
+
+/**
+ * Returns a function to use in pseudos for buttons
+ * @param {String} type
+ */
+function createButtonPseudo( type ) {
+ return function( elem ) {
+ var name = elem.nodeName.toLowerCase();
+ return (name === "input" || name === "button") && elem.type === type;
+ };
+}
+
+/**
+ * Returns a function to use in pseudos for positionals
+ * @param {Function} fn
+ */
+function createPositionalPseudo( fn ) {
+ return markFunction(function( argument ) {
+ argument = +argument;
+ return markFunction(function( seed, matches ) {
+ var j,
+ matchIndexes = fn( [], seed.length, argument ),
+ i = matchIndexes.length;
+
+ // Match elements found at the specified indexes
+ while ( i-- ) {
+ if ( seed[ (j = matchIndexes[i]) ] ) {
+ seed[j] = !(matches[j] = seed[j]);
+ }
+ }
+ });
+ });
+}
+
+/**
+ * Checks a node for validity as a Sizzle context
+ * @param {Element|Object=} context
+ * @returns {Element|Object|Boolean} The input node if acceptable, otherwise a falsy value
+ */
+function testContext( context ) {
+ return context && typeof context.getElementsByTagName !== "undefined" && context;
+}
+
+// Expose support vars for convenience
+support = Sizzle.support = {};
+
+/**
+ * Detects XML nodes
+ * @param {Element|Object} elem An element or a document
+ * @returns {Boolean} True iff elem is a non-HTML XML node
+ */
+isXML = Sizzle.isXML = function( elem ) {
+ // documentElement is verified for cases where it doesn't yet exist
+ // (such as loading iframes in IE - #4833)
+ var documentElement = elem && (elem.ownerDocument || elem).documentElement;
+ return documentElement ? documentElement.nodeName !== "HTML" : false;
+};
+
+/**
+ * Sets document-related variables once based on the current document
+ * @param {Element|Object} [doc] An element or document object to use to set the document
+ * @returns {Object} Returns the current document
+ */
+setDocument = Sizzle.setDocument = function( node ) {
+ var hasCompare, parent,
+ doc = node ? node.ownerDocument || node : preferredDoc;
+
+ // Return early if doc is invalid or already selected
+ if ( doc === document || doc.nodeType !== 9 || !doc.documentElement ) {
+ return document;
+ }
+
+ // Update global variables
+ document = doc;
+ docElem = document.documentElement;
+ documentIsHTML = !isXML( document );
+
+ // Support: IE 9-11, Edge
+ // Accessing iframe documents after unload throws "permission denied" errors (jQuery #13936)
+ if ( (parent = document.defaultView) && parent.top !== parent ) {
+ // Support: IE 11
+ if ( parent.addEventListener ) {
+ parent.addEventListener( "unload", unloadHandler, false );
+
+ // Support: IE 9 - 10 only
+ } else if ( parent.attachEvent ) {
+ parent.attachEvent( "onunload", unloadHandler );
+ }
+ }
+
+ /* Attributes
+ ---------------------------------------------------------------------- */
+
+ // Support: IE<8
+ // Verify that getAttribute really returns attributes and not properties
+ // (excepting IE8 booleans)
+ support.attributes = assert(function( div ) {
+ div.className = "i";
+ return !div.getAttribute("className");
+ });
+
+ /* getElement(s)By*
+ ---------------------------------------------------------------------- */
+
+ // Check if getElementsByTagName("*") returns only elements
+ support.getElementsByTagName = assert(function( div ) {
+ div.appendChild( document.createComment("") );
+ return !div.getElementsByTagName("*").length;
+ });
+
+ // Support: IE<9
+ support.getElementsByClassName = rnative.test( document.getElementsByClassName );
+
+ // Support: IE<10
+ // Check if getElementById returns elements by name
+ // The broken getElementById methods don't pick up programatically-set names,
+ // so use a roundabout getElementsByName test
+ support.getById = assert(function( div ) {
+ docElem.appendChild( div ).id = expando;
+ return !document.getElementsByName || !document.getElementsByName( expando ).length;
+ });
+
+ // ID find and filter
+ if ( support.getById ) {
+ Expr.find["ID"] = function( id, context ) {
+ if ( typeof context.getElementById !== "undefined" && documentIsHTML ) {
+ var m = context.getElementById( id );
+ return m ? [ m ] : [];
+ }
+ };
+ Expr.filter["ID"] = function( id ) {
+ var attrId = id.replace( runescape, funescape );
+ return function( elem ) {
+ return elem.getAttribute("id") === attrId;
+ };
+ };
+ } else {
+ // Support: IE6/7
+ // getElementById is not reliable as a find shortcut
+ delete Expr.find["ID"];
+
+ Expr.filter["ID"] = function( id ) {
+ var attrId = id.replace( runescape, funescape );
+ return function( elem ) {
+ var node = typeof elem.getAttributeNode !== "undefined" &&
+ elem.getAttributeNode("id");
+ return node && node.value === attrId;
+ };
+ };
+ }
+
+ // Tag
+ Expr.find["TAG"] = support.getElementsByTagName ?
+ function( tag, context ) {
+ if ( typeof context.getElementsByTagName !== "undefined" ) {
+ return context.getElementsByTagName( tag );
+
+ // DocumentFragment nodes don't have gEBTN
+ } else if ( support.qsa ) {
+ return context.querySelectorAll( tag );
+ }
+ } :
+
+ function( tag, context ) {
+ var elem,
+ tmp = [],
+ i = 0,
+ // By happy coincidence, a (broken) gEBTN appears on DocumentFragment nodes too
+ results = context.getElementsByTagName( tag );
+
+ // Filter out possible comments
+ if ( tag === "*" ) {
+ while ( (elem = results[i++]) ) {
+ if ( elem.nodeType === 1 ) {
+ tmp.push( elem );
+ }
+ }
+
+ return tmp;
+ }
+ return results;
+ };
+
+ // Class
+ Expr.find["CLASS"] = support.getElementsByClassName && function( className, context ) {
+ if ( typeof context.getElementsByClassName !== "undefined" && documentIsHTML ) {
+ return context.getElementsByClassName( className );
+ }
+ };
+
+ /* QSA/matchesSelector
+ ---------------------------------------------------------------------- */
+
+ // QSA and matchesSelector support
+
+ // matchesSelector(:active) reports false when true (IE9/Opera 11.5)
+ rbuggyMatches = [];
+
+ // qSa(:focus) reports false when true (Chrome 21)
+ // We allow this because of a bug in IE8/9 that throws an error
+ // whenever `document.activeElement` is accessed on an iframe
+ // So, we allow :focus to pass through QSA all the time to avoid the IE error
+ // See http://bugs.jquery.com/ticket/13378
+ rbuggyQSA = [];
+
+ if ( (support.qsa = rnative.test( document.querySelectorAll )) ) {
+ // Build QSA regex
+ // Regex strategy adopted from Diego Perini
+ assert(function( div ) {
+ // Select is set to empty string on purpose
+ // This is to test IE's treatment of not explicitly
+ // setting a boolean content attribute,
+ // since its presence should be enough
+ // http://bugs.jquery.com/ticket/12359
+ docElem.appendChild( div ).innerHTML = "<a id='" + expando + "'></a>" +
+ "<select id='" + expando + "-\r\\' msallowcapture=''>" +
+ "<option selected=''></option></select>";
+
+ // Support: IE8, Opera 11-12.16
+ // Nothing should be selected when empty strings follow ^= or $= or *=
+ // The test attribute must be unknown in Opera but "safe" for WinRT
+ // http://msdn.microsoft.com/en-us/library/ie/hh465388.aspx#attribute_section
+ if ( div.querySelectorAll("[msallowcapture^='']").length ) {
+ rbuggyQSA.push( "[*^$]=" + whitespace + "*(?:''|\"\")" );
+ }
+
+ // Support: IE8
+ // Boolean attributes and "value" are not treated correctly
+ if ( !div.querySelectorAll("[selected]").length ) {
+ rbuggyQSA.push( "\\[" + whitespace + "*(?:value|" + booleans + ")" );
+ }
+
+ // Support: Chrome<29, Android<4.4, Safari<7.0+, iOS<7.0+, PhantomJS<1.9.8+
+ if ( !div.querySelectorAll( "[id~=" + expando + "-]" ).length ) {
+ rbuggyQSA.push("~=");
+ }
+
+ // Webkit/Opera - :checked should return selected option elements
+ // http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked
+ // IE8 throws error here and will not see later tests
+ if ( !div.querySelectorAll(":checked").length ) {
+ rbuggyQSA.push(":checked");
+ }
+
+ // Support: Safari 8+, iOS 8+
+ // https://bugs.webkit.org/show_bug.cgi?id=136851
+ // In-page `selector#id sibing-combinator selector` fails
+ if ( !div.querySelectorAll( "a#" + expando + "+*" ).length ) {
+ rbuggyQSA.push(".#.+[+~]");
+ }
+ });
+
+ assert(function( div ) {
+ // Support: Windows 8 Native Apps
+ // The type and name attributes are restricted during .innerHTML assignment
+ var input = document.createElement("input");
+ input.setAttribute( "type", "hidden" );
+ div.appendChild( input ).setAttribute( "name", "D" );
+
+ // Support: IE8
+ // Enforce case-sensitivity of name attribute
+ if ( div.querySelectorAll("[name=d]").length ) {
+ rbuggyQSA.push( "name" + whitespace + "*[*^$|!~]?=" );
+ }
+
+ // FF 3.5 - :enabled/:disabled and hidden elements (hidden elements are still enabled)
+ // IE8 throws error here and will not see later tests
+ if ( !div.querySelectorAll(":enabled").length ) {
+ rbuggyQSA.push( ":enabled", ":disabled" );
+ }
+
+ // Opera 10-11 does not throw on post-comma invalid pseudos
+ div.querySelectorAll("*,:x");
+ rbuggyQSA.push(",.*:");
+ });
+ }
+
+ if ( (support.matchesSelector = rnative.test( (matches = docElem.matches ||
+ docElem.webkitMatchesSelector ||
+ docElem.mozMatchesSelector ||
+ docElem.oMatchesSelector ||
+ docElem.msMatchesSelector) )) ) {
+
+ assert(function( div ) {
+ // Check to see if it's possible to do matchesSelector
+ // on a disconnected node (IE 9)
+ support.disconnectedMatch = matches.call( div, "div" );
+
+ // This should fail with an exception
+ // Gecko does not error, returns false instead
+ matches.call( div, "[s!='']:x" );
+ rbuggyMatches.push( "!=", pseudos );
+ });
+ }
+
+ rbuggyQSA = rbuggyQSA.length && new RegExp( rbuggyQSA.join("|") );
+ rbuggyMatches = rbuggyMatches.length && new RegExp( rbuggyMatches.join("|") );
+
+ /* Contains
+ ---------------------------------------------------------------------- */
+ hasCompare = rnative.test( docElem.compareDocumentPosition );
+
+ // Element contains another
+ // Purposefully self-exclusive
+ // As in, an element does not contain itself
+ contains = hasCompare || rnative.test( docElem.contains ) ?
+ function( a, b ) {
+ var adown = a.nodeType === 9 ? a.documentElement : a,
+ bup = b && b.parentNode;
+ return a === bup || !!( bup && bup.nodeType === 1 && (
+ adown.contains ?
+ adown.contains( bup ) :
+ a.compareDocumentPosition && a.compareDocumentPosition( bup ) & 16
+ ));
+ } :
+ function( a, b ) {
+ if ( b ) {
+ while ( (b = b.parentNode) ) {
+ if ( b === a ) {
+ return true;
+ }
+ }
+ }
+ return false;
+ };
+
+ /* Sorting
+ ---------------------------------------------------------------------- */
+
+ // Document order sorting
+ sortOrder = hasCompare ?
+ function( a, b ) {
+
+ // Flag for duplicate removal
+ if ( a === b ) {
+ hasDuplicate = true;
+ return 0;
+ }
+
+ // Sort on method existence if only one input has compareDocumentPosition
+ var compare = !a.compareDocumentPosition - !b.compareDocumentPosition;
+ if ( compare ) {
+ return compare;
+ }
+
+ // Calculate position if both inputs belong to the same document
+ compare = ( a.ownerDocument || a ) === ( b.ownerDocument || b ) ?
+ a.compareDocumentPosition( b ) :
+
+ // Otherwise we know they are disconnected
+ 1;
+
+ // Disconnected nodes
+ if ( compare & 1 ||
+ (!support.sortDetached && b.compareDocumentPosition( a ) === compare) ) {
+
+ // Choose the first element that is related to our preferred document
+ if ( a === document || a.ownerDocument === preferredDoc && contains(preferredDoc, a) ) {
+ return -1;
+ }
+ if ( b === document || b.ownerDocument === preferredDoc && contains(preferredDoc, b) ) {
+ return 1;
+ }
+
+ // Maintain original order
+ return sortInput ?
+ ( indexOf( sortInput, a ) - indexOf( sortInput, b ) ) :
+ 0;
+ }
+
+ return compare & 4 ? -1 : 1;
+ } :
+ function( a, b ) {
+ // Exit early if the nodes are identical
+ if ( a === b ) {
+ hasDuplicate = true;
+ return 0;
+ }
+
+ var cur,
+ i = 0,
+ aup = a.parentNode,
+ bup = b.parentNode,
+ ap = [ a ],
+ bp = [ b ];
+
+ // Parentless nodes are either documents or disconnected
+ if ( !aup || !bup ) {
+ return a === document ? -1 :
+ b === document ? 1 :
+ aup ? -1 :
+ bup ? 1 :
+ sortInput ?
+ ( indexOf( sortInput, a ) - indexOf( sortInput, b ) ) :
+ 0;
+
+ // If the nodes are siblings, we can do a quick check
+ } else if ( aup === bup ) {
+ return siblingCheck( a, b );
+ }
+
+ // Otherwise we need full lists of their ancestors for comparison
+ cur = a;
+ while ( (cur = cur.parentNode) ) {
+ ap.unshift( cur );
+ }
+ cur = b;
+ while ( (cur = cur.parentNode) ) {
+ bp.unshift( cur );
+ }
+
+ // Walk down the tree looking for a discrepancy
+ while ( ap[i] === bp[i] ) {
+ i++;
+ }
+
+ return i ?
+ // Do a sibling check if the nodes have a common ancestor
+ siblingCheck( ap[i], bp[i] ) :
+
+ // Otherwise nodes in our document sort first
+ ap[i] === preferredDoc ? -1 :
+ bp[i] === preferredDoc ? 1 :
+ 0;
+ };
+
+ return document;
+};
+
+Sizzle.matches = function( expr, elements ) {
+ return Sizzle( expr, null, null, elements );
+};
+
+Sizzle.matchesSelector = function( elem, expr ) {
+ // Set document vars if needed
+ if ( ( elem.ownerDocument || elem ) !== document ) {
+ setDocument( elem );
+ }
+
+ // Make sure that attribute selectors are quoted
+ expr = expr.replace( rattributeQuotes, "='$1']" );
+
+ if ( support.matchesSelector && documentIsHTML &&
+ !compilerCache[ expr + " " ] &&
+ ( !rbuggyMatches || !rbuggyMatches.test( expr ) ) &&
+ ( !rbuggyQSA || !rbuggyQSA.test( expr ) ) ) {
+
+ try {
+ var ret = matches.call( elem, expr );
+
+ // IE 9's matchesSelector returns false on disconnected nodes
+ if ( ret || support.disconnectedMatch ||
+ // As well, disconnected nodes are said to be in a document
+ // fragment in IE 9
+ elem.document && elem.document.nodeType !== 11 ) {
+ return ret;
+ }
+ } catch (e) {}
+ }
+
+ return Sizzle( expr, document, null, [ elem ] ).length > 0;
+};
+
+Sizzle.contains = function( context, elem ) {
+ // Set document vars if needed
+ if ( ( context.ownerDocument || context ) !== document ) {
+ setDocument( context );
+ }
+ return contains( context, elem );
+};
+
+Sizzle.attr = function( elem, name ) {
+ // Set document vars if needed
+ if ( ( elem.ownerDocument || elem ) !== document ) {
+ setDocument( elem );
+ }
+
+ var fn = Expr.attrHandle[ name.toLowerCase() ],
+ // Don't get fooled by Object.prototype properties (jQuery #13807)
+ val = fn && hasOwn.call( Expr.attrHandle, name.toLowerCase() ) ?
+ fn( elem, name, !documentIsHTML ) :
+ undefined;
+
+ return val !== undefined ?
+ val :
+ support.attributes || !documentIsHTML ?
+ elem.getAttribute( name ) :
+ (val = elem.getAttributeNode(name)) && val.specified ?
+ val.value :
+ null;
+};
+
+Sizzle.error = function( msg ) {
+ throw new Error( "Syntax error, unrecognized expression: " + msg );
+};
+
+/**
+ * Document sorting and removing duplicates
+ * @param {ArrayLike} results
+ */
+Sizzle.uniqueSort = function( results ) {
+ var elem,
+ duplicates = [],
+ j = 0,
+ i = 0;
+
+ // Unless we *know* we can detect duplicates, assume their presence
+ hasDuplicate = !support.detectDuplicates;
+ sortInput = !support.sortStable && results.slice( 0 );
+ results.sort( sortOrder );
+
+ if ( hasDuplicate ) {
+ while ( (elem = results[i++]) ) {
+ if ( elem === results[ i ] ) {
+ j = duplicates.push( i );
+ }
+ }
+ while ( j-- ) {
+ results.splice( duplicates[ j ], 1 );
+ }
+ }
+
+ // Clear input after sorting to release objects
+ // See https://github.com/jquery/sizzle/pull/225
+ sortInput = null;
+
+ return results;
+};
+
+/**
+ * Utility function for retrieving the text value of an array of DOM nodes
+ * @param {Array|Element} elem
+ */
+getText = Sizzle.getText = function( elem ) {
+ var node,
+ ret = "",
+ i = 0,
+ nodeType = elem.nodeType;
+
+ if ( !nodeType ) {
+ // If no nodeType, this is expected to be an array
+ while ( (node = elem[i++]) ) {
+ // Do not traverse comment nodes
+ ret += getText( node );
+ }
+ } else if ( nodeType === 1 || nodeType === 9 || nodeType === 11 ) {
+ // Use textContent for elements
+ // innerText usage removed for consistency of new lines (jQuery #11153)
+ if ( typeof elem.textContent === "string" ) {
+ return elem.textContent;
+ } else {
+ // Traverse its children
+ for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) {
+ ret += getText( elem );
+ }
+ }
+ } else if ( nodeType === 3 || nodeType === 4 ) {
+ return elem.nodeValue;
+ }
+ // Do not include comment or processing instruction nodes
+
+ return ret;
+};
+
+Expr = Sizzle.selectors = {
+
+ // Can be adjusted by the user
+ cacheLength: 50,
+
+ createPseudo: markFunction,
+
+ match: matchExpr,
+
+ attrHandle: {},
+
+ find: {},
+
+ relative: {
+ ">": { dir: "parentNode", first: true },
+ " ": { dir: "parentNode" },
+ "+": { dir: "previousSibling", first: true },
+ "~": { dir: "previousSibling" }
+ },
+
+ preFilter: {
+ "ATTR": function( match ) {
+ match[1] = match[1].replace( runescape, funescape );
+
+ // Move the given value to match[3] whether quoted or unquoted
+ match[3] = ( match[3] || match[4] || match[5] || "" ).replace( runescape, funescape );
+
+ if ( match[2] === "~=" ) {
+ match[3] = " " + match[3] + " ";
+ }
+
+ return match.slice( 0, 4 );
+ },
+
+ "CHILD": function( match ) {
+ /* matches from matchExpr["CHILD"]
+ 1 type (only|nth|...)
+ 2 what (child|of-type)
+ 3 argument (even|odd|\d*|\d*n([+-]\d+)?|...)
+ 4 xn-component of xn+y argument ([+-]?\d*n|)
+ 5 sign of xn-component
+ 6 x of xn-component
+ 7 sign of y-component
+ 8 y of y-component
+ */
+ match[1] = match[1].toLowerCase();
+
+ if ( match[1].slice( 0, 3 ) === "nth" ) {
+ // nth-* requires argument
+ if ( !match[3] ) {
+ Sizzle.error( match[0] );
+ }
+
+ // numeric x and y parameters for Expr.filter.CHILD
+ // remember that false/true cast respectively to 0/1
+ match[4] = +( match[4] ? match[5] + (match[6] || 1) : 2 * ( match[3] === "even" || match[3] === "odd" ) );
+ match[5] = +( ( match[7] + match[8] ) || match[3] === "odd" );
+
+ // other types prohibit arguments
+ } else if ( match[3] ) {
+ Sizzle.error( match[0] );
+ }
+
+ return match;
+ },
+
+ "PSEUDO": function( match ) {
+ var excess,
+ unquoted = !match[6] && match[2];
+
+ if ( matchExpr["CHILD"].test( match[0] ) ) {
+ return null;
+ }
+
+ // Accept quoted arguments as-is
+ if ( match[3] ) {
+ match[2] = match[4] || match[5] || "";
+
+ // Strip excess characters from unquoted arguments
+ } else if ( unquoted && rpseudo.test( unquoted ) &&
+ // Get excess from tokenize (recursively)
+ (excess = tokenize( unquoted, true )) &&
+ // advance to the next closing parenthesis
+ (excess = unquoted.indexOf( ")", unquoted.length - excess ) - unquoted.length) ) {
+
+ // excess is a negative index
+ match[0] = match[0].slice( 0, excess );
+ match[2] = unquoted.slice( 0, excess );
+ }
+
+ // Return only captures needed by the pseudo filter method (type and argument)
+ return match.slice( 0, 3 );
+ }
+ },
+
+ filter: {
+
+ "TAG": function( nodeNameSelector ) {
+ var nodeName = nodeNameSelector.replace( runescape, funescape ).toLowerCase();
+ return nodeNameSelector === "*" ?
+ function() { return true; } :
+ function( elem ) {
+ return elem.nodeName && elem.nodeName.toLowerCase() === nodeName;
+ };
+ },
+
+ "CLASS": function( className ) {
+ var pattern = classCache[ className + " " ];
+
+ return pattern ||
+ (pattern = new RegExp( "(^|" + whitespace + ")" + className + "(" + whitespace + "|$)" )) &&
+ classCache( className, function( elem ) {
+ return pattern.test( typeof elem.className === "string" && elem.className || typeof elem.getAttribute !== "undefined" && elem.getAttribute("class") || "" );
+ });
+ },
+
+ "ATTR": function( name, operator, check ) {
+ return function( elem ) {
+ var result = Sizzle.attr( elem, name );
+
+ if ( result == null ) {
+ return operator === "!=";
+ }
+ if ( !operator ) {
+ return true;
+ }
+
+ result += "";
+
+ return operator === "=" ? result === check :
+ operator === "!=" ? result !== check :
+ operator === "^=" ? check && result.indexOf( check ) === 0 :
+ operator === "*=" ? check && result.indexOf( check ) > -1 :
+ operator === "$=" ? check && result.slice( -check.length ) === check :
+ operator === "~=" ? ( " " + result.replace( rwhitespace, " " ) + " " ).indexOf( check ) > -1 :
+ operator === "|=" ? result === check || result.slice( 0, check.length + 1 ) === check + "-" :
+ false;
+ };
+ },
+
+ "CHILD": function( type, what, argument, first, last ) {
+ var simple = type.slice( 0, 3 ) !== "nth",
+ forward = type.slice( -4 ) !== "last",
+ ofType = what === "of-type";
+
+ return first === 1 && last === 0 ?
+
+ // Shortcut for :nth-*(n)
+ function( elem ) {
+ return !!elem.parentNode;
+ } :
+
+ function( elem, context, xml ) {
+ var cache, uniqueCache, outerCache, node, nodeIndex, start,
+ dir = simple !== forward ? "nextSibling" : "previousSibling",
+ parent = elem.parentNode,
+ name = ofType && elem.nodeName.toLowerCase(),
+ useCache = !xml && !ofType,
+ diff = false;
+
+ if ( parent ) {
+
+ // :(first|last|only)-(child|of-type)
+ if ( simple ) {
+ while ( dir ) {
+ node = elem;
+ while ( (node = node[ dir ]) ) {
+ if ( ofType ?
+ node.nodeName.toLowerCase() === name :
+ node.nodeType === 1 ) {
+
+ return false;
+ }
+ }
+ // Reverse direction for :only-* (if we haven't yet done so)
+ start = dir = type === "only" && !start && "nextSibling";
+ }
+ return true;
+ }
+
+ start = [ forward ? parent.firstChild : parent.lastChild ];
+
+ // non-xml :nth-child(...) stores cache data on `parent`
+ if ( forward && useCache ) {
+
+ // Seek `elem` from a previously-cached index
+
+ // ...in a gzip-friendly way
+ node = parent;
+ outerCache = node[ expando ] || (node[ expando ] = {});
+
+ // Support: IE <9 only
+ // Defend against cloned attroperties (jQuery gh-1709)
+ uniqueCache = outerCache[ node.uniqueID ] ||
+ (outerCache[ node.uniqueID ] = {});
+
+ cache = uniqueCache[ type ] || [];
+ nodeIndex = cache[ 0 ] === dirruns && cache[ 1 ];
+ diff = nodeIndex && cache[ 2 ];
+ node = nodeIndex && parent.childNodes[ nodeIndex ];
+
+ while ( (node = ++nodeIndex && node && node[ dir ] ||
+
+ // Fallback to seeking `elem` from the start
+ (diff = nodeIndex = 0) || start.pop()) ) {
+
+ // When found, cache indexes on `parent` and break
+ if ( node.nodeType === 1 && ++diff && node === elem ) {
+ uniqueCache[ type ] = [ dirruns, nodeIndex, diff ];
+ break;
+ }
+ }
+
+ } else {
+ // Use previously-cached element index if available
+ if ( useCache ) {
+ // ...in a gzip-friendly way
+ node = elem;
+ outerCache = node[ expando ] || (node[ expando ] = {});
+
+ // Support: IE <9 only
+ // Defend against cloned attroperties (jQuery gh-1709)
+ uniqueCache = outerCache[ node.uniqueID ] ||
+ (outerCache[ node.uniqueID ] = {});
+
+ cache = uniqueCache[ type ] || [];
+ nodeIndex = cache[ 0 ] === dirruns && cache[ 1 ];
+ diff = nodeIndex;
+ }
+
+ // xml :nth-child(...)
+ // or :nth-last-child(...) or :nth(-last)?-of-type(...)
+ if ( diff === false ) {
+ // Use the same loop as above to seek `elem` from the start
+ while ( (node = ++nodeIndex && node && node[ dir ] ||
+ (diff = nodeIndex = 0) || start.pop()) ) {
+
+ if ( ( ofType ?
+ node.nodeName.toLowerCase() === name :
+ node.nodeType === 1 ) &&
+ ++diff ) {
+
+ // Cache the index of each encountered element
+ if ( useCache ) {
+ outerCache = node[ expando ] || (node[ expando ] = {});
+
+ // Support: IE <9 only
+ // Defend against cloned attroperties (jQuery gh-1709)
+ uniqueCache = outerCache[ node.uniqueID ] ||
+ (outerCache[ node.uniqueID ] = {});
+
+ uniqueCache[ type ] = [ dirruns, diff ];
+ }
+
+ if ( node === elem ) {
+ break;
+ }
+ }
+ }
+ }
+ }
+
+ // Incorporate the offset, then check against cycle size
+ diff -= last;
+ return diff === first || ( diff % first === 0 && diff / first >= 0 );
+ }
+ };
+ },
+
+ "PSEUDO": function( pseudo, argument ) {
+ // pseudo-class names are case-insensitive
+ // http://www.w3.org/TR/selectors/#pseudo-classes
+ // Prioritize by case sensitivity in case custom pseudos are added with uppercase letters
+ // Remember that setFilters inherits from pseudos
+ var args,
+ fn = Expr.pseudos[ pseudo ] || Expr.setFilters[ pseudo.toLowerCase() ] ||
+ Sizzle.error( "unsupported pseudo: " + pseudo );
+
+ // The user may use createPseudo to indicate that
+ // arguments are needed to create the filter function
+ // just as Sizzle does
+ if ( fn[ expando ] ) {
+ return fn( argument );
+ }
+
+ // But maintain support for old signatures
+ if ( fn.length > 1 ) {
+ args = [ pseudo, pseudo, "", argument ];
+ return Expr.setFilters.hasOwnProperty( pseudo.toLowerCase() ) ?
+ markFunction(function( seed, matches ) {
+ var idx,
+ matched = fn( seed, argument ),
+ i = matched.length;
+ while ( i-- ) {
+ idx = indexOf( seed, matched[i] );
+ seed[ idx ] = !( matches[ idx ] = matched[i] );
+ }
+ }) :
+ function( elem ) {
+ return fn( elem, 0, args );
+ };
+ }
+
+ return fn;
+ }
+ },
+
+ pseudos: {
+ // Potentially complex pseudos
+ "not": markFunction(function( selector ) {
+ // Trim the selector passed to compile
+ // to avoid treating leading and trailing
+ // spaces as combinators
+ var input = [],
+ results = [],
+ matcher = compile( selector.replace( rtrim, "$1" ) );
+
+ return matcher[ expando ] ?
+ markFunction(function( seed, matches, context, xml ) {
+ var elem,
+ unmatched = matcher( seed, null, xml, [] ),
+ i = seed.length;
+
+ // Match elements unmatched by `matcher`
+ while ( i-- ) {
+ if ( (elem = unmatched[i]) ) {
+ seed[i] = !(matches[i] = elem);
+ }
+ }
+ }) :
+ function( elem, context, xml ) {
+ input[0] = elem;
+ matcher( input, null, xml, results );
+ // Don't keep the element (issue #299)
+ input[0] = null;
+ return !results.pop();
+ };
+ }),
+
+ "has": markFunction(function( selector ) {
+ return function( elem ) {
+ return Sizzle( selector, elem ).length > 0;
+ };
+ }),
+
+ "contains": markFunction(function( text ) {
+ text = text.replace( runescape, funescape );
+ return function( elem ) {
+ return ( elem.textContent || elem.innerText || getText( elem ) ).indexOf( text ) > -1;
+ };
+ }),
+
+ // "Whether an element is represented by a :lang() selector
+ // is based solely on the element's language value
+ // being equal to the identifier C,
+ // or beginning with the identifier C immediately followed by "-".
+ // The matching of C against the element's language value is performed case-insensitively.
+ // The identifier C does not have to be a valid language name."
+ // http://www.w3.org/TR/selectors/#lang-pseudo
+ "lang": markFunction( function( lang ) {
+ // lang value must be a valid identifier
+ if ( !ridentifier.test(lang || "") ) {
+ Sizzle.error( "unsupported lang: " + lang );
+ }
+ lang = lang.replace( runescape, funescape ).toLowerCase();
+ return function( elem ) {
+ var elemLang;
+ do {
+ if ( (elemLang = documentIsHTML ?
+ elem.lang :
+ elem.getAttribute("xml:lang") || elem.getAttribute("lang")) ) {
+
+ elemLang = elemLang.toLowerCase();
+ return elemLang === lang || elemLang.indexOf( lang + "-" ) === 0;
+ }
+ } while ( (elem = elem.parentNode) && elem.nodeType === 1 );
+ return false;
+ };
+ }),
+
+ // Miscellaneous
+ "target": function( elem ) {
+ var hash = window.location && window.location.hash;
+ return hash && hash.slice( 1 ) === elem.id;
+ },
+
+ "root": function( elem ) {
+ return elem === docElem;
+ },
+
+ "focus": function( elem ) {
+ return elem === document.activeElement && (!document.hasFocus || document.hasFocus()) && !!(elem.type || elem.href || ~elem.tabIndex);
+ },
+
+ // Boolean properties
+ "enabled": function( elem ) {
+ return elem.disabled === false;
+ },
+
+ "disabled": function( elem ) {
+ return elem.disabled === true;
+ },
+
+ "checked": function( elem ) {
+ // In CSS3, :checked should return both checked and selected elements
+ // http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked
+ var nodeName = elem.nodeName.toLowerCase();
+ return (nodeName === "input" && !!elem.checked) || (nodeName === "option" && !!elem.selected);
+ },
+
+ "selected": function( elem ) {
+ // Accessing this property makes selected-by-default
+ // options in Safari work properly
+ if ( elem.parentNode ) {
+ elem.parentNode.selectedIndex;
+ }
+
+ return elem.selected === true;
+ },
+
+ // Contents
+ "empty": function( elem ) {
+ // http://www.w3.org/TR/selectors/#empty-pseudo
+ // :empty is negated by element (1) or content nodes (text: 3; cdata: 4; entity ref: 5),
+ // but not by others (comment: 8; processing instruction: 7; etc.)
+ // nodeType < 6 works because attributes (2) do not appear as children
+ for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) {
+ if ( elem.nodeType < 6 ) {
+ return false;
+ }
+ }
+ return true;
+ },
+
+ "parent": function( elem ) {
+ return !Expr.pseudos["empty"]( elem );
+ },
+
+ // Element/input types
+ "header": function( elem ) {
+ return rheader.test( elem.nodeName );
+ },
+
+ "input": function( elem ) {
+ return rinputs.test( elem.nodeName );
+ },
+
+ "button": function( elem ) {
+ var name = elem.nodeName.toLowerCase();
+ return name === "input" && elem.type === "button" || name === "button";
+ },
+
+ "text": function( elem ) {
+ var attr;
+ return elem.nodeName.toLowerCase() === "input" &&
+ elem.type === "text" &&
+
+ // Support: IE<8
+ // New HTML5 attribute values (e.g., "search") appear with elem.type === "text"
+ ( (attr = elem.getAttribute("type")) == null || attr.toLowerCase() === "text" );
+ },
+
+ // Position-in-collection
+ "first": createPositionalPseudo(function() {
+ return [ 0 ];
+ }),
+
+ "last": createPositionalPseudo(function( matchIndexes, length ) {
+ return [ length - 1 ];
+ }),
+
+ "eq": createPositionalPseudo(function( matchIndexes, length, argument ) {
+ return [ argument < 0 ? argument + length : argument ];
+ }),
+
+ "even": createPositionalPseudo(function( matchIndexes, length ) {
+ var i = 0;
+ for ( ; i < length; i += 2 ) {
+ matchIndexes.push( i );
+ }
+ return matchIndexes;
+ }),
+
+ "odd": createPositionalPseudo(function( matchIndexes, length ) {
+ var i = 1;
+ for ( ; i < length; i += 2 ) {
+ matchIndexes.push( i );
+ }
+ return matchIndexes;
+ }),
+
+ "lt": createPositionalPseudo(function( matchIndexes, length, argument ) {
+ var i = argument < 0 ? argument + length : argument;
+ for ( ; --i >= 0; ) {
+ matchIndexes.push( i );
+ }
+ return matchIndexes;
+ }),
+
+ "gt": createPositionalPseudo(function( matchIndexes, length, argument ) {
+ var i = argument < 0 ? argument + length : argument;
+ for ( ; ++i < length; ) {
+ matchIndexes.push( i );
+ }
+ return matchIndexes;
+ })
+ }
+};
+
+Expr.pseudos["nth"] = Expr.pseudos["eq"];
+
+// Add button/input type pseudos
+for ( i in { radio: true, checkbox: true, file: true, password: true, image: true } ) {
+ Expr.pseudos[ i ] = createInputPseudo( i );
+}
+for ( i in { submit: true, reset: true } ) {
+ Expr.pseudos[ i ] = createButtonPseudo( i );
+}
+
+// Easy API for creating new setFilters
+function setFilters() {}
+setFilters.prototype = Expr.filters = Expr.pseudos;
+Expr.setFilters = new setFilters();
+
+tokenize = Sizzle.tokenize = function( selector, parseOnly ) {
+ var matched, match, tokens, type,
+ soFar, groups, preFilters,
+ cached = tokenCache[ selector + " " ];
+
+ if ( cached ) {
+ return parseOnly ? 0 : cached.slice( 0 );
+ }
+
+ soFar = selector;
+ groups = [];
+ preFilters = Expr.preFilter;
+
+ while ( soFar ) {
+
+ // Comma and first run
+ if ( !matched || (match = rcomma.exec( soFar )) ) {
+ if ( match ) {
+ // Don't consume trailing commas as valid
+ soFar = soFar.slice( match[0].length ) || soFar;
+ }
+ groups.push( (tokens = []) );
+ }
+
+ matched = false;
+
+ // Combinators
+ if ( (match = rcombinators.exec( soFar )) ) {
+ matched = match.shift();
+ tokens.push({
+ value: matched,
+ // Cast descendant combinators to space
+ type: match[0].replace( rtrim, " " )
+ });
+ soFar = soFar.slice( matched.length );
+ }
+
+ // Filters
+ for ( type in Expr.filter ) {
+ if ( (match = matchExpr[ type ].exec( soFar )) && (!preFilters[ type ] ||
+ (match = preFilters[ type ]( match ))) ) {
+ matched = match.shift();
+ tokens.push({
+ value: matched,
+ type: type,
+ matches: match
+ });
+ soFar = soFar.slice( matched.length );
+ }
+ }
+
+ if ( !matched ) {
+ break;
+ }
+ }
+
+ // Return the length of the invalid excess
+ // if we're just parsing
+ // Otherwise, throw an error or return tokens
+ return parseOnly ?
+ soFar.length :
+ soFar ?
+ Sizzle.error( selector ) :
+ // Cache the tokens
+ tokenCache( selector, groups ).slice( 0 );
+};
+
+function toSelector( tokens ) {
+ var i = 0,
+ len = tokens.length,
+ selector = "";
+ for ( ; i < len; i++ ) {
+ selector += tokens[i].value;
+ }
+ return selector;
+}
+
+function addCombinator( matcher, combinator, base ) {
+ var dir = combinator.dir,
+ checkNonElements = base && dir === "parentNode",
+ doneName = done++;
+
+ return combinator.first ?
+ // Check against closest ancestor/preceding element
+ function( elem, context, xml ) {
+ while ( (elem = elem[ dir ]) ) {
+ if ( elem.nodeType === 1 || checkNonElements ) {
+ return matcher( elem, context, xml );
+ }
+ }
+ } :
+
+ // Check against all ancestor/preceding elements
+ function( elem, context, xml ) {
+ var oldCache, uniqueCache, outerCache,
+ newCache = [ dirruns, doneName ];
+
+ // We can't set arbitrary data on XML nodes, so they don't benefit from combinator caching
+ if ( xml ) {
+ while ( (elem = elem[ dir ]) ) {
+ if ( elem.nodeType === 1 || checkNonElements ) {
+ if ( matcher( elem, context, xml ) ) {
+ return true;
+ }
+ }
+ }
+ } else {
+ while ( (elem = elem[ dir ]) ) {
+ if ( elem.nodeType === 1 || checkNonElements ) {
+ outerCache = elem[ expando ] || (elem[ expando ] = {});
+
+ // Support: IE <9 only
+ // Defend against cloned attroperties (jQuery gh-1709)
+ uniqueCache = outerCache[ elem.uniqueID ] || (outerCache[ elem.uniqueID ] = {});
+
+ if ( (oldCache = uniqueCache[ dir ]) &&
+ oldCache[ 0 ] === dirruns && oldCache[ 1 ] === doneName ) {
+
+ // Assign to newCache so results back-propagate to previous elements
+ return (newCache[ 2 ] = oldCache[ 2 ]);
+ } else {
+ // Reuse newcache so results back-propagate to previous elements
+ uniqueCache[ dir ] = newCache;
+
+ // A match means we're done; a fail means we have to keep checking
+ if ( (newCache[ 2 ] = matcher( elem, context, xml )) ) {
+ return true;
+ }
+ }
+ }
+ }
+ }
+ };
+}
+
+function elementMatcher( matchers ) {
+ return matchers.length > 1 ?
+ function( elem, context, xml ) {
+ var i = matchers.length;
+ while ( i-- ) {
+ if ( !matchers[i]( elem, context, xml ) ) {
+ return false;
+ }
+ }
+ return true;
+ } :
+ matchers[0];
+}
+
+function multipleContexts( selector, contexts, results ) {
+ var i = 0,
+ len = contexts.length;
+ for ( ; i < len; i++ ) {
+ Sizzle( selector, contexts[i], results );
+ }
+ return results;
+}
+
+function condense( unmatched, map, filter, context, xml ) {
+ var elem,
+ newUnmatched = [],
+ i = 0,
+ len = unmatched.length,
+ mapped = map != null;
+
+ for ( ; i < len; i++ ) {
+ if ( (elem = unmatched[i]) ) {
+ if ( !filter || filter( elem, context, xml ) ) {
+ newUnmatched.push( elem );
+ if ( mapped ) {
+ map.push( i );
+ }
+ }
+ }
+ }
+
+ return newUnmatched;
+}
+
+function setMatcher( preFilter, selector, matcher, postFilter, postFinder, postSelector ) {
+ if ( postFilter && !postFilter[ expando ] ) {
+ postFilter = setMatcher( postFilter );
+ }
+ if ( postFinder && !postFinder[ expando ] ) {
+ postFinder = setMatcher( postFinder, postSelector );
+ }
+ return markFunction(function( seed, results, context, xml ) {
+ var temp, i, elem,
+ preMap = [],
+ postMap = [],
+ preexisting = results.length,
+
+ // Get initial elements from seed or context
+ elems = seed || multipleContexts( selector || "*", context.nodeType ? [ context ] : context, [] ),
+
+ // Prefilter to get matcher input, preserving a map for seed-results synchronization
+ matcherIn = preFilter && ( seed || !selector ) ?
+ condense( elems, preMap, preFilter, context, xml ) :
+ elems,
+
+ matcherOut = matcher ?
+ // If we have a postFinder, or filtered seed, or non-seed postFilter or preexisting results,
+ postFinder || ( seed ? preFilter : preexisting || postFilter ) ?
+
+ // ...intermediate processing is necessary
+ [] :
+
+ // ...otherwise use results directly
+ results :
+ matcherIn;
+
+ // Find primary matches
+ if ( matcher ) {
+ matcher( matcherIn, matcherOut, context, xml );
+ }
+
+ // Apply postFilter
+ if ( postFilter ) {
+ temp = condense( matcherOut, postMap );
+ postFilter( temp, [], context, xml );
+
+ // Un-match failing elements by moving them back to matcherIn
+ i = temp.length;
+ while ( i-- ) {
+ if ( (elem = temp[i]) ) {
+ matcherOut[ postMap[i] ] = !(matcherIn[ postMap[i] ] = elem);
+ }
+ }
+ }
+
+ if ( seed ) {
+ if ( postFinder || preFilter ) {
+ if ( postFinder ) {
+ // Get the final matcherOut by condensing this intermediate into postFinder contexts
+ temp = [];
+ i = matcherOut.length;
+ while ( i-- ) {
+ if ( (elem = matcherOut[i]) ) {
+ // Restore matcherIn since elem is not yet a final match
+ temp.push( (matcherIn[i] = elem) );
+ }
+ }
+ postFinder( null, (matcherOut = []), temp, xml );
+ }
+
+ // Move matched elements from seed to results to keep them synchronized
+ i = matcherOut.length;
+ while ( i-- ) {
+ if ( (elem = matcherOut[i]) &&
+ (temp = postFinder ? indexOf( seed, elem ) : preMap[i]) > -1 ) {
+
+ seed[temp] = !(results[temp] = elem);
+ }
+ }
+ }
+
+ // Add elements to results, through postFinder if defined
+ } else {
+ matcherOut = condense(
+ matcherOut === results ?
+ matcherOut.splice( preexisting, matcherOut.length ) :
+ matcherOut
+ );
+ if ( postFinder ) {
+ postFinder( null, results, matcherOut, xml );
+ } else {
+ push.apply( results, matcherOut );
+ }
+ }
+ });
+}
+
+function matcherFromTokens( tokens ) {
+ var checkContext, matcher, j,
+ len = tokens.length,
+ leadingRelative = Expr.relative[ tokens[0].type ],
+ implicitRelative = leadingRelative || Expr.relative[" "],
+ i = leadingRelative ? 1 : 0,
+
+ // The foundational matcher ensures that elements are reachable from top-level context(s)
+ matchContext = addCombinator( function( elem ) {
+ return elem === checkContext;
+ }, implicitRelative, true ),
+ matchAnyContext = addCombinator( function( elem ) {
+ return indexOf( checkContext, elem ) > -1;
+ }, implicitRelative, true ),
+ matchers = [ function( elem, context, xml ) {
+ var ret = ( !leadingRelative && ( xml || context !== outermostContext ) ) || (
+ (checkContext = context).nodeType ?
+ matchContext( elem, context, xml ) :
+ matchAnyContext( elem, context, xml ) );
+ // Avoid hanging onto element (issue #299)
+ checkContext = null;
+ return ret;
+ } ];
+
+ for ( ; i < len; i++ ) {
+ if ( (matcher = Expr.relative[ tokens[i].type ]) ) {
+ matchers = [ addCombinator(elementMatcher( matchers ), matcher) ];
+ } else {
+ matcher = Expr.filter[ tokens[i].type ].apply( null, tokens[i].matches );
+
+ // Return special upon seeing a positional matcher
+ if ( matcher[ expando ] ) {
+ // Find the next relative operator (if any) for proper handling
+ j = ++i;
+ for ( ; j < len; j++ ) {
+ if ( Expr.relative[ tokens[j].type ] ) {
+ break;
+ }
+ }
+ return setMatcher(
+ i > 1 && elementMatcher( matchers ),
+ i > 1 && toSelector(
+ // If the preceding token was a descendant combinator, insert an implicit any-element `*`
+ tokens.slice( 0, i - 1 ).concat({ value: tokens[ i - 2 ].type === " " ? "*" : "" })
+ ).replace( rtrim, "$1" ),
+ matcher,
+ i < j && matcherFromTokens( tokens.slice( i, j ) ),
+ j < len && matcherFromTokens( (tokens = tokens.slice( j )) ),
+ j < len && toSelector( tokens )
+ );
+ }
+ matchers.push( matcher );
+ }
+ }
+
+ return elementMatcher( matchers );
+}
+
+function matcherFromGroupMatchers( elementMatchers, setMatchers ) {
+ var bySet = setMatchers.length > 0,
+ byElement = elementMatchers.length > 0,
+ superMatcher = function( seed, context, xml, results, outermost ) {
+ var elem, j, matcher,
+ matchedCount = 0,
+ i = "0",
+ unmatched = seed && [],
+ setMatched = [],
+ contextBackup = outermostContext,
+ // We must always have either seed elements or outermost context
+ elems = seed || byElement && Expr.find["TAG"]( "*", outermost ),
+ // Use integer dirruns iff this is the outermost matcher
+ dirrunsUnique = (dirruns += contextBackup == null ? 1 : Math.random() || 0.1),
+ len = elems.length;
+
+ if ( outermost ) {
+ outermostContext = context === document || context || outermost;
+ }
+
+ // Add elements passing elementMatchers directly to results
+ // Support: IE<9, Safari
+ // Tolerate NodeList properties (IE: "length"; Safari: <number>) matching elements by id
+ for ( ; i !== len && (elem = elems[i]) != null; i++ ) {
+ if ( byElement && elem ) {
+ j = 0;
+ if ( !context && elem.ownerDocument !== document ) {
+ setDocument( elem );
+ xml = !documentIsHTML;
+ }
+ while ( (matcher = elementMatchers[j++]) ) {
+ if ( matcher( elem, context || document, xml) ) {
+ results.push( elem );
+ break;
+ }
+ }
+ if ( outermost ) {
+ dirruns = dirrunsUnique;
+ }
+ }
+
+ // Track unmatched elements for set filters
+ if ( bySet ) {
+ // They will have gone through all possible matchers
+ if ( (elem = !matcher && elem) ) {
+ matchedCount--;
+ }
+
+ // Lengthen the array for every element, matched or not
+ if ( seed ) {
+ unmatched.push( elem );
+ }
+ }
+ }
+
+ // `i` is now the count of elements visited above, and adding it to `matchedCount`
+ // makes the latter nonnegative.
+ matchedCount += i;
+
+ // Apply set filters to unmatched elements
+ // NOTE: This can be skipped if there are no unmatched elements (i.e., `matchedCount`
+ // equals `i`), unless we didn't visit _any_ elements in the above loop because we have
+ // no element matchers and no seed.
+ // Incrementing an initially-string "0" `i` allows `i` to remain a string only in that
+ // case, which will result in a "00" `matchedCount` that differs from `i` but is also
+ // numerically zero.
+ if ( bySet && i !== matchedCount ) {
+ j = 0;
+ while ( (matcher = setMatchers[j++]) ) {
+ matcher( unmatched, setMatched, context, xml );
+ }
+
+ if ( seed ) {
+ // Reintegrate element matches to eliminate the need for sorting
+ if ( matchedCount > 0 ) {
+ while ( i-- ) {
+ if ( !(unmatched[i] || setMatched[i]) ) {
+ setMatched[i] = pop.call( results );
+ }
+ }
+ }
+
+ // Discard index placeholder values to get only actual matches
+ setMatched = condense( setMatched );
+ }
+
+ // Add matches to results
+ push.apply( results, setMatched );
+
+ // Seedless set matches succeeding multiple successful matchers stipulate sorting
+ if ( outermost && !seed && setMatched.length > 0 &&
+ ( matchedCount + setMatchers.length ) > 1 ) {
+
+ Sizzle.uniqueSort( results );
+ }
+ }
+
+ // Override manipulation of globals by nested matchers
+ if ( outermost ) {
+ dirruns = dirrunsUnique;
+ outermostContext = contextBackup;
+ }
+
+ return unmatched;
+ };
+
+ return bySet ?
+ markFunction( superMatcher ) :
+ superMatcher;
+}
+
+compile = Sizzle.compile = function( selector, match /* Internal Use Only */ ) {
+ var i,
+ setMatchers = [],
+ elementMatchers = [],
+ cached = compilerCache[ selector + " " ];
+
+ if ( !cached ) {
+ // Generate a function of recursive functions that can be used to check each element
+ if ( !match ) {
+ match = tokenize( selector );
+ }
+ i = match.length;
+ while ( i-- ) {
+ cached = matcherFromTokens( match[i] );
+ if ( cached[ expando ] ) {
+ setMatchers.push( cached );
+ } else {
+ elementMatchers.push( cached );
+ }
+ }
+
+ // Cache the compiled function
+ cached = compilerCache( selector, matcherFromGroupMatchers( elementMatchers, setMatchers ) );
+
+ // Save selector and tokenization
+ cached.selector = selector;
+ }
+ return cached;
+};
+
+/**
+ * A low-level selection function that works with Sizzle's compiled
+ * selector functions
+ * @param {String|Function} selector A selector or a pre-compiled
+ * selector function built with Sizzle.compile
+ * @param {Element} context
+ * @param {Array} [results]
+ * @param {Array} [seed] A set of elements to match against
+ */
+select = Sizzle.select = function( selector, context, results, seed ) {
+ var i, tokens, token, type, find,
+ compiled = typeof selector === "function" && selector,
+ match = !seed && tokenize( (selector = compiled.selector || selector) );
+
+ results = results || [];
+
+ // Try to minimize operations if there is only one selector in the list and no seed
+ // (the latter of which guarantees us context)
+ if ( match.length === 1 ) {
+
+ // Reduce context if the leading compound selector is an ID
+ tokens = match[0] = match[0].slice( 0 );
+ if ( tokens.length > 2 && (token = tokens[0]).type === "ID" &&
+ support.getById && context.nodeType === 9 && documentIsHTML &&
+ Expr.relative[ tokens[1].type ] ) {
+
+ context = ( Expr.find["ID"]( token.matches[0].replace(runescape, funescape), context ) || [] )[0];
+ if ( !context ) {
+ return results;
+
+ // Precompiled matchers will still verify ancestry, so step up a level
+ } else if ( compiled ) {
+ context = context.parentNode;
+ }
+
+ selector = selector.slice( tokens.shift().value.length );
+ }
+
+ // Fetch a seed set for right-to-left matching
+ i = matchExpr["needsContext"].test( selector ) ? 0 : tokens.length;
+ while ( i-- ) {
+ token = tokens[i];
+
+ // Abort if we hit a combinator
+ if ( Expr.relative[ (type = token.type) ] ) {
+ break;
+ }
+ if ( (find = Expr.find[ type ]) ) {
+ // Search, expanding context for leading sibling combinators
+ if ( (seed = find(
+ token.matches[0].replace( runescape, funescape ),
+ rsibling.test( tokens[0].type ) && testContext( context.parentNode ) || context
+ )) ) {
+
+ // If seed is empty or no tokens remain, we can return early
+ tokens.splice( i, 1 );
+ selector = seed.length && toSelector( tokens );
+ if ( !selector ) {
+ push.apply( results, seed );
+ return results;
+ }
+
+ break;
+ }
+ }
+ }
+ }
+
+ // Compile and execute a filtering function if one is not provided
+ // Provide `match` to avoid retokenization if we modified the selector above
+ ( compiled || compile( selector, match ) )(
+ seed,
+ context,
+ !documentIsHTML,
+ results,
+ !context || rsibling.test( selector ) && testContext( context.parentNode ) || context
+ );
+ return results;
+};
+
+// One-time assignments
+
+// Sort stability
+support.sortStable = expando.split("").sort( sortOrder ).join("") === expando;
+
+// Support: Chrome 14-35+
+// Always assume duplicates if they aren't passed to the comparison function
+support.detectDuplicates = !!hasDuplicate;
+
+// Initialize against the default document
+setDocument();
+
+// Support: Webkit<537.32 - Safari 6.0.3/Chrome 25 (fixed in Chrome 27)
+// Detached nodes confoundingly follow *each other*
+support.sortDetached = assert(function( div1 ) {
+ // Should return 1, but returns 4 (following)
+ return div1.compareDocumentPosition( document.createElement("div") ) & 1;
+});
+
+// Support: IE<8
+// Prevent attribute/property "interpolation"
+// http://msdn.microsoft.com/en-us/library/ms536429%28VS.85%29.aspx
+if ( !assert(function( div ) {
+ div.innerHTML = "<a href='#'></a>";
+ return div.firstChild.getAttribute("href") === "#" ;
+}) ) {
+ addHandle( "type|href|height|width", function( elem, name, isXML ) {
+ if ( !isXML ) {
+ return elem.getAttribute( name, name.toLowerCase() === "type" ? 1 : 2 );
+ }
+ });
+}
+
+// Support: IE<9
+// Use defaultValue in place of getAttribute("value")
+if ( !support.attributes || !assert(function( div ) {
+ div.innerHTML = "<input/>";
+ div.firstChild.setAttribute( "value", "" );
+ return div.firstChild.getAttribute( "value" ) === "";
+}) ) {
+ addHandle( "value", function( elem, name, isXML ) {
+ if ( !isXML && elem.nodeName.toLowerCase() === "input" ) {
+ return elem.defaultValue;
+ }
+ });
+}
+
+// Support: IE<9
+// Use getAttributeNode to fetch booleans when getAttribute lies
+if ( !assert(function( div ) {
+ return div.getAttribute("disabled") == null;
+}) ) {
+ addHandle( booleans, function( elem, name, isXML ) {
+ var val;
+ if ( !isXML ) {
+ return elem[ name ] === true ? name.toLowerCase() :
+ (val = elem.getAttributeNode( name )) && val.specified ?
+ val.value :
+ null;
+ }
+ });
+}
+
+// EXPOSE
+if ( typeof define === "function" && define.amd ) {
+ define(function() { return Sizzle; });
+// Sizzle requires that there be a global window in Common-JS like environments
+} else if ( typeof module !== "undefined" && module.exports ) {
+ module.exports = Sizzle;
+} else {
+ window.Sizzle = Sizzle;
+}
+// EXPOSE
+
+})( window );
diff --git a/templates/assets/jquery/external/sizzle/dist/sizzle.min.js b/templates/assets/jquery/external/sizzle/dist/sizzle.min.js
new file mode 100644
index 0000000..8558975
--- /dev/null
+++ b/templates/assets/jquery/external/sizzle/dist/sizzle.min.js
@@ -0,0 +1,3 @@
+/*! Sizzle v2.2.1 | (c) jQuery Foundation, Inc. | jquery.org/license */
+!function(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u="sizzle"+1*new Date,v=a.document,w=0,x=0,y=ga(),z=ga(),A=ga(),B=function(a,b){return a===b&&(l=!0),0},C=1<<31,D={}.hasOwnProperty,E=[],F=E.pop,G=E.push,H=E.push,I=E.slice,J=function(a,b){for(var c=0,d=a.length;d>c;c++)if(a[c]===b)return c;return-1},K="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",L="[\\x20\\t\\r\\n\\f]",M="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",N="\\["+L+"*("+M+")(?:"+L+"*([*^$|!~]?=)"+L+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+M+"))|)"+L+"*\\]",O=":("+M+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+N+")*)|.*)\\)|)",P=new RegExp(L+"+","g"),Q=new RegExp("^"+L+"+|((?:^|[^\\\\])(?:\\\\.)*)"+L+"+$","g"),R=new RegExp("^"+L+"*,"+L+"*"),S=new RegExp("^"+L+"*([>+~]|"+L+")"+L+"*"),T=new RegExp("="+L+"*([^\\]'\"]*?)"+L+"*\\]","g"),U=new RegExp(O),V=new RegExp("^"+M+"$"),W={ID:new RegExp("^#("+M+")"),CLASS:new RegExp("^\\.("+M+")"),TAG:new RegExp("^("+M+"|[*])"),ATTR:new RegExp("^"+N),PSEUDO:new RegExp("^"+O),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+L+"*(even|odd|(([+-]|)(\\d*)n|)"+L+"*(?:([+-]|)"+L+"*(\\d+)|))"+L+"*\\)|)","i"),bool:new RegExp("^(?:"+K+")$","i"),needsContext:new RegExp("^"+L+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+L+"*((?:-\\d)?\\d*)"+L+"*\\)|)(?=[^-]|$)","i")},X=/^(?:input|select|textarea|button)$/i,Y=/^h\d$/i,Z=/^[^{]+\{\s*\[native \w/,$=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,_=/[+~]/,aa=/'|\\/g,ba=new RegExp("\\\\([\\da-f]{1,6}"+L+"?|("+L+")|.)","ig"),ca=function(a,b,c){var d="0x"+b-65536;return d!==d||c?b:0>d?String.fromCharCode(d+65536):String.fromCharCode(d>>10|55296,1023&d|56320)},da=function(){m()};try{H.apply(E=I.call(v.childNodes),v.childNodes),E[v.childNodes.length].nodeType}catch(ea){H={apply:E.length?function(a,b){G.apply(a,I.call(b))}:function(a,b){var c=a.length,d=0;while(a[c++]=b[d++]);a.length=c-1}}}function fa(a,b,d,e){var f,h,j,k,l,o,r,s,w=b&&b.ownerDocument,x=b?b.nodeType:9;if(d=d||[],"string"!=typeof a||!a||1!==x&&9!==x&&11!==x)return d;if(!e&&((b?b.ownerDocument||b:v)!==n&&m(b),b=b||n,p)){if(11!==x&&(o=$.exec(a)))if(f=o[1]){if(9===x){if(!(j=b.getElementById(f)))return d;if(j.id===f)return d.push(j),d}else if(w&&(j=w.getElementById(f))&&t(b,j)&&j.id===f)return d.push(j),d}else{if(o[2])return H.apply(d,b.getElementsByTagName(a)),d;if((f=o[3])&&c.getElementsByClassName&&b.getElementsByClassName)return H.apply(d,b.getElementsByClassName(f)),d}if(c.qsa&&!A[a+" "]&&(!q||!q.test(a))){if(1!==x)w=b,s=a;else if("object"!==b.nodeName.toLowerCase()){(k=b.getAttribute("id"))?k=k.replace(aa,"\\$&"):b.setAttribute("id",k=u),r=g(a),h=r.length,l=V.test(k)?"#"+k:"[id='"+k+"']";while(h--)r[h]=l+" "+qa(r[h]);s=r.join(","),w=_.test(a)&&oa(b.parentNode)||b}if(s)try{return H.apply(d,w.querySelectorAll(s)),d}catch(y){}finally{k===u&&b.removeAttribute("id")}}}return i(a.replace(Q,"$1"),b,d,e)}function ga(){var a=[];function b(c,e){return a.push(c+" ")>d.cacheLength&&delete b[a.shift()],b[c+" "]=e}return b}function ha(a){return a[u]=!0,a}function ia(a){var b=n.createElement("div");try{return!!a(b)}catch(c){return!1}finally{b.parentNode&&b.parentNode.removeChild(b),b=null}}function ja(a,b){var c=a.split("|"),e=c.length;while(e--)d.attrHandle[c[e]]=b}function ka(a,b){var c=b&&a,d=c&&1===a.nodeType&&1===b.nodeType&&(~b.sourceIndex||C)-(~a.sourceIndex||C);if(d)return d;if(c)while(c=c.nextSibling)if(c===b)return-1;return a?1:-1}function la(a){return function(b){var c=b.nodeName.toLowerCase();return"input"===c&&b.type===a}}function ma(a){return function(b){var c=b.nodeName.toLowerCase();return("input"===c||"button"===c)&&b.type===a}}function na(a){return ha(function(b){return b=+b,ha(function(c,d){var e,f=a([],c.length,b),g=f.length;while(g--)c[e=f[g]]&&(c[e]=!(d[e]=c[e]))})})}function oa(a){return a&&"undefined"!=typeof a.getElementsByTagName&&a}c=fa.support={},f=fa.isXML=function(a){var b=a&&(a.ownerDocument||a).documentElement;return b?"HTML"!==b.nodeName:!1},m=fa.setDocument=function(a){var b,e,g=a?a.ownerDocument||a:v;return g!==n&&9===g.nodeType&&g.documentElement?(n=g,o=n.documentElement,p=!f(n),(e=n.defaultView)&&e.top!==e&&(e.addEventListener?e.addEventListener("unload",da,!1):e.attachEvent&&e.attachEvent("onunload",da)),c.attributes=ia(function(a){return a.className="i",!a.getAttribute("className")}),c.getElementsByTagName=ia(function(a){return a.appendChild(n.createComment("")),!a.getElementsByTagName("*").length}),c.getElementsByClassName=Z.test(n.getElementsByClassName),c.getById=ia(function(a){return o.appendChild(a).id=u,!n.getElementsByName||!n.getElementsByName(u).length}),c.getById?(d.find.ID=function(a,b){if("undefined"!=typeof b.getElementById&&p){var c=b.getElementById(a);return c?[c]:[]}},d.filter.ID=function(a){var b=a.replace(ba,ca);return function(a){return a.getAttribute("id")===b}}):(delete d.find.ID,d.filter.ID=function(a){var b=a.replace(ba,ca);return function(a){var c="undefined"!=typeof a.getAttributeNode&&a.getAttributeNode("id");return c&&c.value===b}}),d.find.TAG=c.getElementsByTagName?function(a,b){return"undefined"!=typeof b.getElementsByTagName?b.getElementsByTagName(a):c.qsa?b.querySelectorAll(a):void 0}:function(a,b){var c,d=[],e=0,f=b.getElementsByTagName(a);if("*"===a){while(c=f[e++])1===c.nodeType&&d.push(c);return d}return f},d.find.CLASS=c.getElementsByClassName&&function(a,b){return"undefined"!=typeof b.getElementsByClassName&&p?b.getElementsByClassName(a):void 0},r=[],q=[],(c.qsa=Z.test(n.querySelectorAll))&&(ia(function(a){o.appendChild(a).innerHTML="<a id='"+u+"'></a><select id='"+u+"-\r\\' msallowcapture=''><option selected=''></option></select>",a.querySelectorAll("[msallowcapture^='']").length&&q.push("[*^$]="+L+"*(?:''|\"\")"),a.querySelectorAll("[selected]").length||q.push("\\["+L+"*(?:value|"+K+")"),a.querySelectorAll("[id~="+u+"-]").length||q.push("~="),a.querySelectorAll(":checked").length||q.push(":checked"),a.querySelectorAll("a#"+u+"+*").length||q.push(".#.+[+~]")}),ia(function(a){var b=n.createElement("input");b.setAttribute("type","hidden"),a.appendChild(b).setAttribute("name","D"),a.querySelectorAll("[name=d]").length&&q.push("name"+L+"*[*^$|!~]?="),a.querySelectorAll(":enabled").length||q.push(":enabled",":disabled"),a.querySelectorAll("*,:x"),q.push(",.*:")})),(c.matchesSelector=Z.test(s=o.matches||o.webkitMatchesSelector||o.mozMatchesSelector||o.oMatchesSelector||o.msMatchesSelector))&&ia(function(a){c.disconnectedMatch=s.call(a,"div"),s.call(a,"[s!='']:x"),r.push("!=",O)}),q=q.length&&new RegExp(q.join("|")),r=r.length&&new RegExp(r.join("|")),b=Z.test(o.compareDocumentPosition),t=b||Z.test(o.contains)?function(a,b){var c=9===a.nodeType?a.documentElement:a,d=b&&b.parentNode;return a===d||!(!d||1!==d.nodeType||!(c.contains?c.contains(d):a.compareDocumentPosition&&16&a.compareDocumentPosition(d)))}:function(a,b){if(b)while(b=b.parentNode)if(b===a)return!0;return!1},B=b?function(a,b){if(a===b)return l=!0,0;var d=!a.compareDocumentPosition-!b.compareDocumentPosition;return d?d:(d=(a.ownerDocument||a)===(b.ownerDocument||b)?a.compareDocumentPosition(b):1,1&d||!c.sortDetached&&b.compareDocumentPosition(a)===d?a===n||a.ownerDocument===v&&t(v,a)?-1:b===n||b.ownerDocument===v&&t(v,b)?1:k?J(k,a)-J(k,b):0:4&d?-1:1)}:function(a,b){if(a===b)return l=!0,0;var c,d=0,e=a.parentNode,f=b.parentNode,g=[a],h=[b];if(!e||!f)return a===n?-1:b===n?1:e?-1:f?1:k?J(k,a)-J(k,b):0;if(e===f)return ka(a,b);c=a;while(c=c.parentNode)g.unshift(c);c=b;while(c=c.parentNode)h.unshift(c);while(g[d]===h[d])d++;return d?ka(g[d],h[d]):g[d]===v?-1:h[d]===v?1:0},n):n},fa.matches=function(a,b){return fa(a,null,null,b)},fa.matchesSelector=function(a,b){if((a.ownerDocument||a)!==n&&m(a),b=b.replace(T,"='$1']"),c.matchesSelector&&p&&!A[b+" "]&&(!r||!r.test(b))&&(!q||!q.test(b)))try{var d=s.call(a,b);if(d||c.disconnectedMatch||a.document&&11!==a.document.nodeType)return d}catch(e){}return fa(b,n,null,[a]).length>0},fa.contains=function(a,b){return(a.ownerDocument||a)!==n&&m(a),t(a,b)},fa.attr=function(a,b){(a.ownerDocument||a)!==n&&m(a);var e=d.attrHandle[b.toLowerCase()],f=e&&D.call(d.attrHandle,b.toLowerCase())?e(a,b,!p):void 0;return void 0!==f?f:c.attributes||!p?a.getAttribute(b):(f=a.getAttributeNode(b))&&f.specified?f.value:null},fa.error=function(a){throw new Error("Syntax error, unrecognized expression: "+a)},fa.uniqueSort=function(a){var b,d=[],e=0,f=0;if(l=!c.detectDuplicates,k=!c.sortStable&&a.slice(0),a.sort(B),l){while(b=a[f++])b===a[f]&&(e=d.push(f));while(e--)a.splice(d[e],1)}return k=null,a},e=fa.getText=function(a){var b,c="",d=0,f=a.nodeType;if(f){if(1===f||9===f||11===f){if("string"==typeof a.textContent)return a.textContent;for(a=a.firstChild;a;a=a.nextSibling)c+=e(a)}else if(3===f||4===f)return a.nodeValue}else while(b=a[d++])c+=e(b);return c},d=fa.selectors={cacheLength:50,createPseudo:ha,match:W,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(a){return a[1]=a[1].replace(ba,ca),a[3]=(a[3]||a[4]||a[5]||"").replace(ba,ca),"~="===a[2]&&(a[3]=" "+a[3]+" "),a.slice(0,4)},CHILD:function(a){return a[1]=a[1].toLowerCase(),"nth"===a[1].slice(0,3)?(a[3]||fa.error(a[0]),a[4]=+(a[4]?a[5]+(a[6]||1):2*("even"===a[3]||"odd"===a[3])),a[5]=+(a[7]+a[8]||"odd"===a[3])):a[3]&&fa.error(a[0]),a},PSEUDO:function(a){var b,c=!a[6]&&a[2];return W.CHILD.test(a[0])?null:(a[3]?a[2]=a[4]||a[5]||"":c&&U.test(c)&&(b=g(c,!0))&&(b=c.indexOf(")",c.length-b)-c.length)&&(a[0]=a[0].slice(0,b),a[2]=c.slice(0,b)),a.slice(0,3))}},filter:{TAG:function(a){var b=a.replace(ba,ca).toLowerCase();return"*"===a?function(){return!0}:function(a){return a.nodeName&&a.nodeName.toLowerCase()===b}},CLASS:function(a){var b=y[a+" "];return b||(b=new RegExp("(^|"+L+")"+a+"("+L+"|$)"))&&y(a,function(a){return b.test("string"==typeof a.className&&a.className||"undefined"!=typeof a.getAttribute&&a.getAttribute("class")||"")})},ATTR:function(a,b,c){return function(d){var e=fa.attr(d,a);return null==e?"!="===b:b?(e+="","="===b?e===c:"!="===b?e!==c:"^="===b?c&&0===e.indexOf(c):"*="===b?c&&e.indexOf(c)>-1:"$="===b?c&&e.slice(-c.length)===c:"~="===b?(" "+e.replace(P," ")+" ").indexOf(c)>-1:"|="===b?e===c||e.slice(0,c.length+1)===c+"-":!1):!0}},CHILD:function(a,b,c,d,e){var f="nth"!==a.slice(0,3),g="last"!==a.slice(-4),h="of-type"===b;return 1===d&&0===e?function(a){return!!a.parentNode}:function(b,c,i){var j,k,l,m,n,o,p=f!==g?"nextSibling":"previousSibling",q=b.parentNode,r=h&&b.nodeName.toLowerCase(),s=!i&&!h,t=!1;if(q){if(f){while(p){m=b;while(m=m[p])if(h?m.nodeName.toLowerCase()===r:1===m.nodeType)return!1;o=p="only"===a&&!o&&"nextSibling"}return!0}if(o=[g?q.firstChild:q.lastChild],g&&s){m=q,l=m[u]||(m[u]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),j=k[a]||[],n=j[0]===w&&j[1],t=n&&j[2],m=n&&q.childNodes[n];while(m=++n&&m&&m[p]||(t=n=0)||o.pop())if(1===m.nodeType&&++t&&m===b){k[a]=[w,n,t];break}}else if(s&&(m=b,l=m[u]||(m[u]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),j=k[a]||[],n=j[0]===w&&j[1],t=n),t===!1)while(m=++n&&m&&m[p]||(t=n=0)||o.pop())if((h?m.nodeName.toLowerCase()===r:1===m.nodeType)&&++t&&(s&&(l=m[u]||(m[u]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),k[a]=[w,t]),m===b))break;return t-=e,t===d||t%d===0&&t/d>=0}}},PSEUDO:function(a,b){var c,e=d.pseudos[a]||d.setFilters[a.toLowerCase()]||fa.error("unsupported pseudo: "+a);return e[u]?e(b):e.length>1?(c=[a,a,"",b],d.setFilters.hasOwnProperty(a.toLowerCase())?ha(function(a,c){var d,f=e(a,b),g=f.length;while(g--)d=J(a,f[g]),a[d]=!(c[d]=f[g])}):function(a){return e(a,0,c)}):e}},pseudos:{not:ha(function(a){var b=[],c=[],d=h(a.replace(Q,"$1"));return d[u]?ha(function(a,b,c,e){var f,g=d(a,null,e,[]),h=a.length;while(h--)(f=g[h])&&(a[h]=!(b[h]=f))}):function(a,e,f){return b[0]=a,d(b,null,f,c),b[0]=null,!c.pop()}}),has:ha(function(a){return function(b){return fa(a,b).length>0}}),contains:ha(function(a){return a=a.replace(ba,ca),function(b){return(b.textContent||b.innerText||e(b)).indexOf(a)>-1}}),lang:ha(function(a){return V.test(a||"")||fa.error("unsupported lang: "+a),a=a.replace(ba,ca).toLowerCase(),function(b){var c;do if(c=p?b.lang:b.getAttribute("xml:lang")||b.getAttribute("lang"))return c=c.toLowerCase(),c===a||0===c.indexOf(a+"-");while((b=b.parentNode)&&1===b.nodeType);return!1}}),target:function(b){var c=a.location&&a.location.hash;return c&&c.slice(1)===b.id},root:function(a){return a===o},focus:function(a){return a===n.activeElement&&(!n.hasFocus||n.hasFocus())&&!!(a.type||a.href||~a.tabIndex)},enabled:function(a){return a.disabled===!1},disabled:function(a){return a.disabled===!0},checked:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&!!a.checked||"option"===b&&!!a.selected},selected:function(a){return a.parentNode&&a.parentNode.selectedIndex,a.selected===!0},empty:function(a){for(a=a.firstChild;a;a=a.nextSibling)if(a.nodeType<6)return!1;return!0},parent:function(a){return!d.pseudos.empty(a)},header:function(a){return Y.test(a.nodeName)},input:function(a){return X.test(a.nodeName)},button:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&"button"===a.type||"button"===b},text:function(a){var b;return"input"===a.nodeName.toLowerCase()&&"text"===a.type&&(null==(b=a.getAttribute("type"))||"text"===b.toLowerCase())},first:na(function(){return[0]}),last:na(function(a,b){return[b-1]}),eq:na(function(a,b,c){return[0>c?c+b:c]}),even:na(function(a,b){for(var c=0;b>c;c+=2)a.push(c);return a}),odd:na(function(a,b){for(var c=1;b>c;c+=2)a.push(c);return a}),lt:na(function(a,b,c){for(var d=0>c?c+b:c;--d>=0;)a.push(d);return a}),gt:na(function(a,b,c){for(var d=0>c?c+b:c;++d<b;)a.push(d);return a})}},d.pseudos.nth=d.pseudos.eq;for(b in{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})d.pseudos[b]=la(b);for(b in{submit:!0,reset:!0})d.pseudos[b]=ma(b);function pa(){}pa.prototype=d.filters=d.pseudos,d.setFilters=new pa,g=fa.tokenize=function(a,b){var c,e,f,g,h,i,j,k=z[a+" "];if(k)return b?0:k.slice(0);h=a,i=[],j=d.preFilter;while(h){(!c||(e=R.exec(h)))&&(e&&(h=h.slice(e[0].length)||h),i.push(f=[])),c=!1,(e=S.exec(h))&&(c=e.shift(),f.push({value:c,type:e[0].replace(Q," ")}),h=h.slice(c.length));for(g in d.filter)!(e=W[g].exec(h))||j[g]&&!(e=j[g](e))||(c=e.shift(),f.push({value:c,type:g,matches:e}),h=h.slice(c.length));if(!c)break}return b?h.length:h?fa.error(a):z(a,i).slice(0)};function qa(a){for(var b=0,c=a.length,d="";c>b;b++)d+=a[b].value;return d}function ra(a,b,c){var d=b.dir,e=c&&"parentNode"===d,f=x++;return b.first?function(b,c,f){while(b=b[d])if(1===b.nodeType||e)return a(b,c,f)}:function(b,c,g){var h,i,j,k=[w,f];if(g){while(b=b[d])if((1===b.nodeType||e)&&a(b,c,g))return!0}else while(b=b[d])if(1===b.nodeType||e){if(j=b[u]||(b[u]={}),i=j[b.uniqueID]||(j[b.uniqueID]={}),(h=i[d])&&h[0]===w&&h[1]===f)return k[2]=h[2];if(i[d]=k,k[2]=a(b,c,g))return!0}}}function sa(a){return a.length>1?function(b,c,d){var e=a.length;while(e--)if(!a[e](b,c,d))return!1;return!0}:a[0]}function ta(a,b,c){for(var d=0,e=b.length;e>d;d++)fa(a,b[d],c);return c}function ua(a,b,c,d,e){for(var f,g=[],h=0,i=a.length,j=null!=b;i>h;h++)(f=a[h])&&(!c||c(f,d,e))&&(g.push(f),j&&b.push(h));return g}function va(a,b,c,d,e,f){return d&&!d[u]&&(d=va(d)),e&&!e[u]&&(e=va(e,f)),ha(function(f,g,h,i){var j,k,l,m=[],n=[],o=g.length,p=f||ta(b||"*",h.nodeType?[h]:h,[]),q=!a||!f&&b?p:ua(p,m,a,h,i),r=c?e||(f?a:o||d)?[]:g:q;if(c&&c(q,r,h,i),d){j=ua(r,n),d(j,[],h,i),k=j.length;while(k--)(l=j[k])&&(r[n[k]]=!(q[n[k]]=l))}if(f){if(e||a){if(e){j=[],k=r.length;while(k--)(l=r[k])&&j.push(q[k]=l);e(null,r=[],j,i)}k=r.length;while(k--)(l=r[k])&&(j=e?J(f,l):m[k])>-1&&(f[j]=!(g[j]=l))}}else r=ua(r===g?r.splice(o,r.length):r),e?e(null,g,r,i):H.apply(g,r)})}function wa(a){for(var b,c,e,f=a.length,g=d.relative[a[0].type],h=g||d.relative[" "],i=g?1:0,k=ra(function(a){return a===b},h,!0),l=ra(function(a){return J(b,a)>-1},h,!0),m=[function(a,c,d){var e=!g&&(d||c!==j)||((b=c).nodeType?k(a,c,d):l(a,c,d));return b=null,e}];f>i;i++)if(c=d.relative[a[i].type])m=[ra(sa(m),c)];else{if(c=d.filter[a[i].type].apply(null,a[i].matches),c[u]){for(e=++i;f>e;e++)if(d.relative[a[e].type])break;return va(i>1&&sa(m),i>1&&qa(a.slice(0,i-1).concat({value:" "===a[i-2].type?"*":""})).replace(Q,"$1"),c,e>i&&wa(a.slice(i,e)),f>e&&wa(a=a.slice(e)),f>e&&qa(a))}m.push(c)}return sa(m)}function xa(a,b){var c=b.length>0,e=a.length>0,f=function(f,g,h,i,k){var l,o,q,r=0,s="0",t=f&&[],u=[],v=j,x=f||e&&d.find.TAG("*",k),y=w+=null==v?1:Math.random()||.1,z=x.length;for(k&&(j=g===n||g||k);s!==z&&null!=(l=x[s]);s++){if(e&&l){o=0,g||l.ownerDocument===n||(m(l),h=!p);while(q=a[o++])if(q(l,g||n,h)){i.push(l);break}k&&(w=y)}c&&((l=!q&&l)&&r--,f&&t.push(l))}if(r+=s,c&&s!==r){o=0;while(q=b[o++])q(t,u,g,h);if(f){if(r>0)while(s--)t[s]||u[s]||(u[s]=F.call(i));u=ua(u)}H.apply(i,u),k&&!f&&u.length>0&&r+b.length>1&&fa.uniqueSort(i)}return k&&(w=y,j=v),t};return c?ha(f):f}h=fa.compile=function(a,b){var c,d=[],e=[],f=A[a+" "];if(!f){b||(b=g(a)),c=b.length;while(c--)f=wa(b[c]),f[u]?d.push(f):e.push(f);f=A(a,xa(e,d)),f.selector=a}return f},i=fa.select=function(a,b,e,f){var i,j,k,l,m,n="function"==typeof a&&a,o=!f&&g(a=n.selector||a);if(e=e||[],1===o.length){if(j=o[0]=o[0].slice(0),j.length>2&&"ID"===(k=j[0]).type&&c.getById&&9===b.nodeType&&p&&d.relative[j[1].type]){if(b=(d.find.ID(k.matches[0].replace(ba,ca),b)||[])[0],!b)return e;n&&(b=b.parentNode),a=a.slice(j.shift().value.length)}i=W.needsContext.test(a)?0:j.length;while(i--){if(k=j[i],d.relative[l=k.type])break;if((m=d.find[l])&&(f=m(k.matches[0].replace(ba,ca),_.test(j[0].type)&&oa(b.parentNode)||b))){if(j.splice(i,1),a=f.length&&qa(j),!a)return H.apply(e,f),e;break}}}return(n||h(a,o))(f,b,!p,e,!b||_.test(a)&&oa(b.parentNode)||b),e},c.sortStable=u.split("").sort(B).join("")===u,c.detectDuplicates=!!l,m(),c.sortDetached=ia(function(a){return 1&a.compareDocumentPosition(n.createElement("div"))}),ia(function(a){return a.innerHTML="<a href='#'></a>","#"===a.firstChild.getAttribute("href")})||ja("type|href|height|width",function(a,b,c){return c?void 0:a.getAttribute(b,"type"===b.toLowerCase()?1:2)}),c.attributes&&ia(function(a){return a.innerHTML="<input/>",a.firstChild.setAttribute("value",""),""===a.firstChild.getAttribute("value")})||ja("value",function(a,b,c){return c||"input"!==a.nodeName.toLowerCase()?void 0:a.defaultValue}),ia(function(a){return null==a.getAttribute("disabled")})||ja(K,function(a,b,c){var d;return c?void 0:a[b]===!0?b.toLowerCase():(d=a.getAttributeNode(b))&&d.specified?d.value:null}),"function"==typeof define&&define.amd?define(function(){return fa}):"undefined"!=typeof module&&module.exports?module.exports=fa:a.Sizzle=fa}(window);
+//# sourceMappingURL=sizzle.min.map \ No newline at end of file
diff --git a/templates/assets/jquery/external/sizzle/dist/sizzle.min.map b/templates/assets/jquery/external/sizzle/dist/sizzle.min.map
new file mode 100644
index 0000000..5438e0e
--- /dev/null
+++ b/templates/assets/jquery/external/sizzle/dist/sizzle.min.map
@@ -0,0 +1 @@
+{"version":3,"file":"sizzle.min.js","sources":["sizzle.js"],"names":["window","i","support","Expr","getText","isXML","tokenize","compile","select","outermostContext","sortInput","hasDuplicate","setDocument","document","docElem","documentIsHTML","rbuggyQSA","rbuggyMatches","matches","contains","expando","Date","preferredDoc","dirruns","done","classCache","createCache","tokenCache","compilerCache","sortOrder","a","b","MAX_NEGATIVE","hasOwn","hasOwnProperty","arr","pop","push_native","push","slice","indexOf","list","elem","len","length","booleans","whitespace","identifier","attributes","pseudos","rwhitespace","RegExp","rtrim","rcomma","rcombinators","rattributeQuotes","rpseudo","ridentifier","matchExpr","ID","CLASS","TAG","ATTR","PSEUDO","CHILD","bool","needsContext","rinputs","rheader","rnative","rquickExpr","rsibling","rescape","runescape","funescape","_","escaped","escapedWhitespace","high","String","fromCharCode","unloadHandler","apply","call","childNodes","nodeType","e","target","els","j","Sizzle","selector","context","results","seed","m","nid","nidselect","match","groups","newSelector","newContext","ownerDocument","exec","getElementById","id","getElementsByTagName","getElementsByClassName","qsa","test","nodeName","toLowerCase","getAttribute","replace","setAttribute","toSelector","join","testContext","parentNode","querySelectorAll","qsaError","removeAttribute","keys","cache","key","value","cacheLength","shift","markFunction","fn","assert","div","createElement","removeChild","addHandle","attrs","handler","split","attrHandle","siblingCheck","cur","diff","sourceIndex","nextSibling","createInputPseudo","type","name","createButtonPseudo","createPositionalPseudo","argument","matchIndexes","documentElement","node","hasCompare","parent","doc","defaultView","top","addEventListener","attachEvent","className","appendChild","createComment","getById","getElementsByName","find","filter","attrId","getAttributeNode","tag","tmp","innerHTML","input","matchesSelector","webkitMatchesSelector","mozMatchesSelector","oMatchesSelector","msMatchesSelector","disconnectedMatch","compareDocumentPosition","adown","bup","compare","sortDetached","aup","ap","bp","unshift","expr","elements","ret","attr","val","undefined","specified","error","msg","Error","uniqueSort","duplicates","detectDuplicates","sortStable","sort","splice","textContent","firstChild","nodeValue","selectors","createPseudo","relative",">","dir","first"," ","+","~","preFilter","excess","unquoted","nodeNameSelector","pattern","operator","check","result","what","last","simple","forward","ofType","xml","uniqueCache","outerCache","nodeIndex","start","useCache","lastChild","uniqueID","pseudo","args","setFilters","idx","matched","not","matcher","unmatched","has","text","innerText","lang","elemLang","hash","location","root","focus","activeElement","hasFocus","href","tabIndex","enabled","disabled","checked","selected","selectedIndex","empty","header","button","eq","even","odd","lt","gt","radio","checkbox","file","password","image","submit","reset","prototype","filters","parseOnly","tokens","soFar","preFilters","cached","addCombinator","combinator","base","checkNonElements","doneName","oldCache","newCache","elementMatcher","matchers","multipleContexts","contexts","condense","map","newUnmatched","mapped","setMatcher","postFilter","postFinder","postSelector","temp","preMap","postMap","preexisting","elems","matcherIn","matcherOut","matcherFromTokens","checkContext","leadingRelative","implicitRelative","matchContext","matchAnyContext","concat","matcherFromGroupMatchers","elementMatchers","setMatchers","bySet","byElement","superMatcher","outermost","matchedCount","setMatched","contextBackup","dirrunsUnique","Math","random","token","compiled","div1","defaultValue","define","amd","module","exports"],"mappings":"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"} \ No newline at end of file
diff --git a/templates/assets/jquery/src/ajax/var/location.js b/templates/assets/jquery/src/ajax/var/location.js
new file mode 100644
index 0000000..ff9578e
--- /dev/null
+++ b/templates/assets/jquery/src/ajax/var/location.js
@@ -0,0 +1,3 @@
+define( function() {
+ return window.location;
+} );
diff --git a/templates/assets/jquery/src/ajax/var/nonce.js b/templates/assets/jquery/src/ajax/var/nonce.js
new file mode 100644
index 0000000..83fd557
--- /dev/null
+++ b/templates/assets/jquery/src/ajax/var/nonce.js
@@ -0,0 +1,5 @@
+define( [
+ "../../core"
+], function( jQuery ) {
+ return jQuery.now();
+} );
diff --git a/templates/assets/jquery/src/ajax/var/rquery.js b/templates/assets/jquery/src/ajax/var/rquery.js
new file mode 100644
index 0000000..0502146
--- /dev/null
+++ b/templates/assets/jquery/src/ajax/var/rquery.js
@@ -0,0 +1,3 @@
+define( function() {
+ return ( /\?/ );
+} );
diff --git a/templates/assets/jquery/src/core/var/rsingleTag.js b/templates/assets/jquery/src/core/var/rsingleTag.js
new file mode 100644
index 0000000..1a55ee3
--- /dev/null
+++ b/templates/assets/jquery/src/core/var/rsingleTag.js
@@ -0,0 +1,5 @@
+define( function() {
+
+ // Match a standalone tag
+ return ( /^<([\w-]+)\s*\/?>(?:<\/\1>|)$/ );
+} );
diff --git a/templates/assets/jquery/src/css/var/cssExpand.js b/templates/assets/jquery/src/css/var/cssExpand.js
new file mode 100644
index 0000000..9f8194d
--- /dev/null
+++ b/templates/assets/jquery/src/css/var/cssExpand.js
@@ -0,0 +1,3 @@
+define( function() {
+ return [ "Top", "Right", "Bottom", "Left" ];
+} );
diff --git a/templates/assets/jquery/src/css/var/getStyles.js b/templates/assets/jquery/src/css/var/getStyles.js
new file mode 100644
index 0000000..02a4b81
--- /dev/null
+++ b/templates/assets/jquery/src/css/var/getStyles.js
@@ -0,0 +1,15 @@
+define( function() {
+ return function( elem ) {
+
+ // Support: IE<=11+, Firefox<=30+ (#15098, #14150)
+ // IE throws on elements created in popups
+ // FF meanwhile throws on frame elements through "defaultView.getComputedStyle"
+ var view = elem.ownerDocument.defaultView;
+
+ if ( !view || !view.opener ) {
+ view = window;
+ }
+
+ return view.getComputedStyle( elem );
+ };
+} );
diff --git a/templates/assets/jquery/src/css/var/isHidden.js b/templates/assets/jquery/src/css/var/isHidden.js
new file mode 100644
index 0000000..7997eff
--- /dev/null
+++ b/templates/assets/jquery/src/css/var/isHidden.js
@@ -0,0 +1,16 @@
+define( [
+ "../../core",
+ "../../selector"
+
+ // css is assumed
+], function( jQuery ) {
+
+ return function( elem, el ) {
+
+ // isHidden might be called from jQuery#filter function;
+ // in that case, element will be second argument
+ elem = el || elem;
+ return jQuery.css( elem, "display" ) === "none" ||
+ !jQuery.contains( elem.ownerDocument, elem );
+ };
+} );
diff --git a/templates/assets/jquery/src/css/var/rmargin.js b/templates/assets/jquery/src/css/var/rmargin.js
new file mode 100644
index 0000000..9be2212
--- /dev/null
+++ b/templates/assets/jquery/src/css/var/rmargin.js
@@ -0,0 +1,3 @@
+define( function() {
+ return ( /^margin/ );
+} );
diff --git a/templates/assets/jquery/src/css/var/rnumnonpx.js b/templates/assets/jquery/src/css/var/rnumnonpx.js
new file mode 100644
index 0000000..ed13f0b
--- /dev/null
+++ b/templates/assets/jquery/src/css/var/rnumnonpx.js
@@ -0,0 +1,5 @@
+define( [
+ "../../var/pnum"
+], function( pnum ) {
+ return new RegExp( "^(" + pnum + ")(?!px)[a-z%]+$", "i" );
+} );
diff --git a/templates/assets/jquery/src/css/var/swap.js b/templates/assets/jquery/src/css/var/swap.js
new file mode 100644
index 0000000..b6d3b67
--- /dev/null
+++ b/templates/assets/jquery/src/css/var/swap.js
@@ -0,0 +1,24 @@
+define( function() {
+
+// A method for quickly swapping in/out CSS properties to get correct calculations.
+return function( elem, options, callback, args ) {
+ var ret, name,
+ old = {};
+
+ // Remember the old values, and insert the new ones
+ for ( name in options ) {
+ old[ name ] = elem.style[ name ];
+ elem.style[ name ] = options[ name ];
+ }
+
+ ret = callback.apply( elem, args || [] );
+
+ // Revert the old values
+ for ( name in options ) {
+ elem.style[ name ] = old[ name ];
+ }
+
+ return ret;
+};
+
+} );
diff --git a/templates/assets/jquery/src/data/var/acceptData.js b/templates/assets/jquery/src/data/var/acceptData.js
new file mode 100644
index 0000000..6e15af1
--- /dev/null
+++ b/templates/assets/jquery/src/data/var/acceptData.js
@@ -0,0 +1,18 @@
+define( function() {
+
+/**
+ * Determines whether an object can have data
+ */
+return function( owner ) {
+
+ // Accepts only:
+ // - Node
+ // - Node.ELEMENT_NODE
+ // - Node.DOCUMENT_NODE
+ // - Object
+ // - Any
+ /* jshint -W018 */
+ return owner.nodeType === 1 || owner.nodeType === 9 || !( +owner.nodeType );
+};
+
+} );
diff --git a/templates/assets/jquery/src/data/var/dataPriv.js b/templates/assets/jquery/src/data/var/dataPriv.js
new file mode 100644
index 0000000..9a1343c
--- /dev/null
+++ b/templates/assets/jquery/src/data/var/dataPriv.js
@@ -0,0 +1,5 @@
+define( [
+ "../Data"
+], function( Data ) {
+ return new Data();
+} );
diff --git a/templates/assets/jquery/src/data/var/dataUser.js b/templates/assets/jquery/src/data/var/dataUser.js
new file mode 100644
index 0000000..9a1343c
--- /dev/null
+++ b/templates/assets/jquery/src/data/var/dataUser.js
@@ -0,0 +1,5 @@
+define( [
+ "../Data"
+], function( Data ) {
+ return new Data();
+} );
diff --git a/templates/assets/jquery/src/manipulation/var/rcheckableType.js b/templates/assets/jquery/src/manipulation/var/rcheckableType.js
new file mode 100644
index 0000000..4c95394
--- /dev/null
+++ b/templates/assets/jquery/src/manipulation/var/rcheckableType.js
@@ -0,0 +1,3 @@
+define( function() {
+ return ( /^(?:checkbox|radio)$/i );
+} );
diff --git a/templates/assets/jquery/src/manipulation/var/rscriptType.js b/templates/assets/jquery/src/manipulation/var/rscriptType.js
new file mode 100644
index 0000000..0c77c8a
--- /dev/null
+++ b/templates/assets/jquery/src/manipulation/var/rscriptType.js
@@ -0,0 +1,3 @@
+define( function() {
+ return ( /^$|\/(?:java|ecma)script/i );
+} );
diff --git a/templates/assets/jquery/src/manipulation/var/rtagName.js b/templates/assets/jquery/src/manipulation/var/rtagName.js
new file mode 100644
index 0000000..9e54269
--- /dev/null
+++ b/templates/assets/jquery/src/manipulation/var/rtagName.js
@@ -0,0 +1,3 @@
+define( function() {
+ return ( /<([\w:-]+)/ );
+} );
diff --git a/templates/assets/jquery/src/traversing/var/dir.js b/templates/assets/jquery/src/traversing/var/dir.js
new file mode 100644
index 0000000..b98fdca
--- /dev/null
+++ b/templates/assets/jquery/src/traversing/var/dir.js
@@ -0,0 +1,20 @@
+define( [
+ "../../core"
+], function( jQuery ) {
+
+return function( elem, dir, until ) {
+ var matched = [],
+ truncate = until !== undefined;
+
+ while ( ( elem = elem[ dir ] ) && elem.nodeType !== 9 ) {
+ if ( elem.nodeType === 1 ) {
+ if ( truncate && jQuery( elem ).is( until ) ) {
+ break;
+ }
+ matched.push( elem );
+ }
+ }
+ return matched;
+};
+
+} );
diff --git a/templates/assets/jquery/src/traversing/var/rneedsContext.js b/templates/assets/jquery/src/traversing/var/rneedsContext.js
new file mode 100644
index 0000000..f57fd9d
--- /dev/null
+++ b/templates/assets/jquery/src/traversing/var/rneedsContext.js
@@ -0,0 +1,6 @@
+define( [
+ "../../core",
+ "../../selector"
+], function( jQuery ) {
+ return jQuery.expr.match.needsContext;
+} );
diff --git a/templates/assets/jquery/src/traversing/var/siblings.js b/templates/assets/jquery/src/traversing/var/siblings.js
new file mode 100644
index 0000000..8a8880b
--- /dev/null
+++ b/templates/assets/jquery/src/traversing/var/siblings.js
@@ -0,0 +1,15 @@
+define( function() {
+
+return function( n, elem ) {
+ var matched = [];
+
+ for ( ; n; n = n.nextSibling ) {
+ if ( n.nodeType === 1 && n !== elem ) {
+ matched.push( n );
+ }
+ }
+
+ return matched;
+};
+
+} );
diff --git a/templates/assets/jquery/src/var/arr.js b/templates/assets/jquery/src/var/arr.js
new file mode 100644
index 0000000..3fd3640
--- /dev/null
+++ b/templates/assets/jquery/src/var/arr.js
@@ -0,0 +1,3 @@
+define( function() {
+ return [];
+} );
diff --git a/templates/assets/jquery/src/var/class2type.js b/templates/assets/jquery/src/var/class2type.js
new file mode 100644
index 0000000..3a6932e
--- /dev/null
+++ b/templates/assets/jquery/src/var/class2type.js
@@ -0,0 +1,5 @@
+define( function() {
+
+ // [[Class]] -> type pairs
+ return {};
+} );
diff --git a/templates/assets/jquery/src/var/concat.js b/templates/assets/jquery/src/var/concat.js
new file mode 100644
index 0000000..9787bea
--- /dev/null
+++ b/templates/assets/jquery/src/var/concat.js
@@ -0,0 +1,5 @@
+define( [
+ "./arr"
+], function( arr ) {
+ return arr.concat;
+} );
diff --git a/templates/assets/jquery/src/var/document.js b/templates/assets/jquery/src/var/document.js
new file mode 100644
index 0000000..bb94284
--- /dev/null
+++ b/templates/assets/jquery/src/var/document.js
@@ -0,0 +1,3 @@
+define( function() {
+ return window.document;
+} );
diff --git a/templates/assets/jquery/src/var/documentElement.js b/templates/assets/jquery/src/var/documentElement.js
new file mode 100644
index 0000000..e0c0aea
--- /dev/null
+++ b/templates/assets/jquery/src/var/documentElement.js
@@ -0,0 +1,5 @@
+define( [
+ "./document"
+], function( document ) {
+ return document.documentElement;
+} );
diff --git a/templates/assets/jquery/src/var/hasOwn.js b/templates/assets/jquery/src/var/hasOwn.js
new file mode 100644
index 0000000..92f323e
--- /dev/null
+++ b/templates/assets/jquery/src/var/hasOwn.js
@@ -0,0 +1,5 @@
+define( [
+ "./class2type"
+], function( class2type ) {
+ return class2type.hasOwnProperty;
+} );
diff --git a/templates/assets/jquery/src/var/indexOf.js b/templates/assets/jquery/src/var/indexOf.js
new file mode 100644
index 0000000..5283841
--- /dev/null
+++ b/templates/assets/jquery/src/var/indexOf.js
@@ -0,0 +1,5 @@
+define( [
+ "./arr"
+], function( arr ) {
+ return arr.indexOf;
+} );
diff --git a/templates/assets/jquery/src/var/pnum.js b/templates/assets/jquery/src/var/pnum.js
new file mode 100644
index 0000000..7fd9f66
--- /dev/null
+++ b/templates/assets/jquery/src/var/pnum.js
@@ -0,0 +1,3 @@
+define( function() {
+ return ( /[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/ ).source;
+} );
diff --git a/templates/assets/jquery/src/var/push.js b/templates/assets/jquery/src/var/push.js
new file mode 100644
index 0000000..bca1a58
--- /dev/null
+++ b/templates/assets/jquery/src/var/push.js
@@ -0,0 +1,5 @@
+define( [
+ "./arr"
+], function( arr ) {
+ return arr.push;
+} );
diff --git a/templates/assets/jquery/src/var/rcssNum.js b/templates/assets/jquery/src/var/rcssNum.js
new file mode 100644
index 0000000..408f5e2
--- /dev/null
+++ b/templates/assets/jquery/src/var/rcssNum.js
@@ -0,0 +1,7 @@
+define( [
+ "../var/pnum"
+], function( pnum ) {
+
+return new RegExp( "^(?:([+-])=|)(" + pnum + ")([a-z%]*)$", "i" );
+
+} );
diff --git a/templates/assets/jquery/src/var/rnotwhite.js b/templates/assets/jquery/src/var/rnotwhite.js
new file mode 100644
index 0000000..6067728
--- /dev/null
+++ b/templates/assets/jquery/src/var/rnotwhite.js
@@ -0,0 +1,3 @@
+define( function() {
+ return ( /\S+/g );
+} );
diff --git a/templates/assets/jquery/src/var/slice.js b/templates/assets/jquery/src/var/slice.js
new file mode 100644
index 0000000..d8206d3
--- /dev/null
+++ b/templates/assets/jquery/src/var/slice.js
@@ -0,0 +1,5 @@
+define( [
+ "./arr"
+], function( arr ) {
+ return arr.slice;
+} );
diff --git a/templates/assets/jquery/src/var/support.js b/templates/assets/jquery/src/var/support.js
new file mode 100644
index 0000000..3db9b67
--- /dev/null
+++ b/templates/assets/jquery/src/var/support.js
@@ -0,0 +1,5 @@
+define( function() {
+
+ // All support tests are defined in their respective modules.
+ return {};
+} );
diff --git a/templates/assets/jquery/src/var/toString.js b/templates/assets/jquery/src/var/toString.js
new file mode 100644
index 0000000..80ac7f1
--- /dev/null
+++ b/templates/assets/jquery/src/var/toString.js
@@ -0,0 +1,5 @@
+define( [
+ "./class2type"
+], function( class2type ) {
+ return class2type.toString;
+} );
diff --git a/templates/assets/material-kit/dist/css/material-kit.css b/templates/assets/material-kit/dist/css/material-kit.css
new file mode 100644
index 0000000..a5ebf0d
--- /dev/null
+++ b/templates/assets/material-kit/dist/css/material-kit.css
@@ -0,0 +1,3746 @@
+/*!
+
+ =========================================================
+ * Material Kit - v1.1.1.0
+ =========================================================
+
+ * Product Page: http://www.creative-tim.com/product/material-kit
+ * Copyright 2017 Creative Tim (http://www.creative-tim.com)
+ * Licensed under MIT (https://github.com/timcreative/material-kit/blob/master/LICENSE.md)
+
+ =========================================================
+
+ * The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
+
+ */
+
+/* ANIMATION */
+/* SHADOWS */
+/* Shadows (from mdl http://www.getmdl.io/) */
+body {
+ background-color: #CCCCCC;
+}
+body.inverse {
+ background: #333333;
+}
+body.inverse, body.inverse .form-control {
+ color: #ffffff;
+}
+body.inverse .modal,
+body.inverse .modal .form-control,
+body.inverse .panel-default,
+body.inverse .panel-default .form-control,
+body.inverse .card,
+body.inverse .card .form-control {
+ background-color: initial;
+ color: initial;
+}
+
+.life-of-material-kit {
+ background: #FFFFFF;
+}
+
+body, h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4 {
+ font-family: "Roboto", "Helvetica", "Arial", sans-serif;
+ font-weight: 300;
+ line-height: 1.5em;
+}
+
+a, a:hover, a:focus {
+ color: #9c27b0;
+}
+a .material-icons, a:hover .material-icons, a:focus .material-icons {
+ vertical-align: middle;
+}
+
+/* Animations */
+.animation-transition-general, .carousel .carousel-indicators li {
+ -webkit-transition: all 300ms linear;
+ -moz-transition: all 300ms linear;
+ -o-transition: all 300ms linear;
+ -ms-transition: all 300ms linear;
+ transition: all 300ms linear;
+}
+
+.animation-transition-slow {
+ -webkit-transition: all 370ms linear;
+ -moz-transition: all 370ms linear;
+ -o-transition: all 370ms linear;
+ -ms-transition: all 370ms linear;
+ transition: all 370ms linear;
+}
+
+.animation-transition-fast, .navbar {
+ -webkit-transition: all 150ms ease 0s;
+ -moz-transition: all 150ms ease 0s;
+ -o-transition: all 150ms ease 0s;
+ -ms-transition: all 150ms ease 0s;
+ transition: all 150ms ease 0s;
+}
+
+.form-horizontal .radio,
+.form-horizontal .checkbox,
+.form-horizontal .radio-inline,
+.form-horizontal .checkbox-inline {
+ padding-top: 0;
+}
+.form-horizontal .radio {
+ margin-bottom: 10px;
+}
+.form-horizontal label {
+ text-align: right;
+}
+.form-horizontal label.control-label {
+ margin: 0;
+}
+
+.btn,
+.navbar .navbar-nav > li > a.btn {
+ border: none;
+ border-radius: 3px;
+ position: relative;
+ padding: 12px 30px;
+ margin: 10px 1px;
+ font-size: 12px;
+ font-weight: 400;
+ text-transform: uppercase;
+ letter-spacing: 0;
+ will-change: box-shadow, transform;
+ transition: box-shadow 0.2s cubic-bezier(0.4, 0, 1, 1), background-color 0.2s cubic-bezier(0.4, 0, 0.2, 1);
+}
+.btn::-moz-focus-inner,
+.navbar .navbar-nav > li > a.btn::-moz-focus-inner {
+ border: 0;
+}
+.btn, .btn.btn-default,
+.navbar .navbar-nav > li > a.btn,
+.navbar .navbar-nav > li > a.btn.btn-default {
+ box-shadow: 0 2px 2px 0 rgba(153, 153, 153, 0.14), 0 3px 1px -2px rgba(153, 153, 153, 0.2), 0 1px 5px 0 rgba(153, 153, 153, 0.12);
+}
+.btn, .btn:hover, .btn:focus, .btn:active, .btn.active, .btn:active:focus, .btn:active:hover, .btn.active:focus, .btn.active:hover, .open > .btn.dropdown-toggle, .open > .btn.dropdown-toggle:focus, .open > .btn.dropdown-toggle:hover, .btn.btn-default, .btn.btn-default:hover, .btn.btn-default:focus, .btn.btn-default:active, .btn.btn-default.active, .btn.btn-default:active:focus, .btn.btn-default:active:hover, .btn.btn-default.active:focus, .btn.btn-default.active:hover, .open > .btn.btn-default.dropdown-toggle, .open > .btn.btn-default.dropdown-toggle:focus, .open > .btn.btn-default.dropdown-toggle:hover,
+.navbar .navbar-nav > li > a.btn,
+.navbar .navbar-nav > li > a.btn:hover,
+.navbar .navbar-nav > li > a.btn:focus,
+.navbar .navbar-nav > li > a.btn:active,
+.navbar .navbar-nav > li > a.btn.active,
+.navbar .navbar-nav > li > a.btn:active:focus,
+.navbar .navbar-nav > li > a.btn:active:hover,
+.navbar .navbar-nav > li > a.btn.active:focus,
+.navbar .navbar-nav > li > a.btn.active:hover, .open >
+.navbar .navbar-nav > li > a.btn.dropdown-toggle, .open >
+.navbar .navbar-nav > li > a.btn.dropdown-toggle:focus, .open >
+.navbar .navbar-nav > li > a.btn.dropdown-toggle:hover,
+.navbar .navbar-nav > li > a.btn.btn-default,
+.navbar .navbar-nav > li > a.btn.btn-default:hover,
+.navbar .navbar-nav > li > a.btn.btn-default:focus,
+.navbar .navbar-nav > li > a.btn.btn-default:active,
+.navbar .navbar-nav > li > a.btn.btn-default.active,
+.navbar .navbar-nav > li > a.btn.btn-default:active:focus,
+.navbar .navbar-nav > li > a.btn.btn-default:active:hover,
+.navbar .navbar-nav > li > a.btn.btn-default.active:focus,
+.navbar .navbar-nav > li > a.btn.btn-default.active:hover, .open >
+.navbar .navbar-nav > li > a.btn.btn-default.dropdown-toggle, .open >
+.navbar .navbar-nav > li > a.btn.btn-default.dropdown-toggle:focus, .open >
+.navbar .navbar-nav > li > a.btn.btn-default.dropdown-toggle:hover {
+ background-color: #999999;
+ color: #FFFFFF;
+}
+.btn:focus, .btn:active, .btn:hover, .btn.btn-default:focus, .btn.btn-default:active, .btn.btn-default:hover,
+.navbar .navbar-nav > li > a.btn:focus,
+.navbar .navbar-nav > li > a.btn:active,
+.navbar .navbar-nav > li > a.btn:hover,
+.navbar .navbar-nav > li > a.btn.btn-default:focus,
+.navbar .navbar-nav > li > a.btn.btn-default:active,
+.navbar .navbar-nav > li > a.btn.btn-default:hover {
+ box-shadow: 0 14px 26px -12px rgba(153, 153, 153, 0.42), 0 4px 23px 0px rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(153, 153, 153, 0.2);
+}
+.btn.disabled, .btn.disabled:hover, .btn.disabled:focus, .btn.disabled.focus, .btn.disabled:active, .btn.disabled.active, .btn:disabled, .btn:disabled:hover, .btn:disabled:focus, .btn:disabled.focus, .btn:disabled:active, .btn:disabled.active, .btn[disabled], .btn[disabled]:hover, .btn[disabled]:focus, .btn[disabled].focus, .btn[disabled]:active, .btn[disabled].active, fieldset[disabled] .btn, fieldset[disabled] .btn:hover, fieldset[disabled] .btn:focus, fieldset[disabled] .btn.focus, fieldset[disabled] .btn:active, fieldset[disabled] .btn.active, .btn.btn-default.disabled, .btn.btn-default.disabled:hover, .btn.btn-default.disabled:focus, .btn.btn-default.disabled.focus, .btn.btn-default.disabled:active, .btn.btn-default.disabled.active, .btn.btn-default:disabled, .btn.btn-default:disabled:hover, .btn.btn-default:disabled:focus, .btn.btn-default:disabled.focus, .btn.btn-default:disabled:active, .btn.btn-default:disabled.active, .btn.btn-default[disabled], .btn.btn-default[disabled]:hover, .btn.btn-default[disabled]:focus, .btn.btn-default[disabled].focus, .btn.btn-default[disabled]:active, .btn.btn-default[disabled].active, fieldset[disabled] .btn.btn-default, fieldset[disabled] .btn.btn-default:hover, fieldset[disabled] .btn.btn-default:focus, fieldset[disabled] .btn.btn-default.focus, fieldset[disabled] .btn.btn-default:active, fieldset[disabled] .btn.btn-default.active,
+.navbar .navbar-nav > li > a.btn.disabled,
+.navbar .navbar-nav > li > a.btn.disabled:hover,
+.navbar .navbar-nav > li > a.btn.disabled:focus,
+.navbar .navbar-nav > li > a.btn.disabled.focus,
+.navbar .navbar-nav > li > a.btn.disabled:active,
+.navbar .navbar-nav > li > a.btn.disabled.active,
+.navbar .navbar-nav > li > a.btn:disabled,
+.navbar .navbar-nav > li > a.btn:disabled:hover,
+.navbar .navbar-nav > li > a.btn:disabled:focus,
+.navbar .navbar-nav > li > a.btn:disabled.focus,
+.navbar .navbar-nav > li > a.btn:disabled:active,
+.navbar .navbar-nav > li > a.btn:disabled.active,
+.navbar .navbar-nav > li > a.btn[disabled],
+.navbar .navbar-nav > li > a.btn[disabled]:hover,
+.navbar .navbar-nav > li > a.btn[disabled]:focus,
+.navbar .navbar-nav > li > a.btn[disabled].focus,
+.navbar .navbar-nav > li > a.btn[disabled]:active,
+.navbar .navbar-nav > li > a.btn[disabled].active, fieldset[disabled]
+.navbar .navbar-nav > li > a.btn, fieldset[disabled]
+.navbar .navbar-nav > li > a.btn:hover, fieldset[disabled]
+.navbar .navbar-nav > li > a.btn:focus, fieldset[disabled]
+.navbar .navbar-nav > li > a.btn.focus, fieldset[disabled]
+.navbar .navbar-nav > li > a.btn:active, fieldset[disabled]
+.navbar .navbar-nav > li > a.btn.active,
+.navbar .navbar-nav > li > a.btn.btn-default.disabled,
+.navbar .navbar-nav > li > a.btn.btn-default.disabled:hover,
+.navbar .navbar-nav > li > a.btn.btn-default.disabled:focus,
+.navbar .navbar-nav > li > a.btn.btn-default.disabled.focus,
+.navbar .navbar-nav > li > a.btn.btn-default.disabled:active,
+.navbar .navbar-nav > li > a.btn.btn-default.disabled.active,
+.navbar .navbar-nav > li > a.btn.btn-default:disabled,
+.navbar .navbar-nav > li > a.btn.btn-default:disabled:hover,
+.navbar .navbar-nav > li > a.btn.btn-default:disabled:focus,
+.navbar .navbar-nav > li > a.btn.btn-default:disabled.focus,
+.navbar .navbar-nav > li > a.btn.btn-default:disabled:active,
+.navbar .navbar-nav > li > a.btn.btn-default:disabled.active,
+.navbar .navbar-nav > li > a.btn.btn-default[disabled],
+.navbar .navbar-nav > li > a.btn.btn-default[disabled]:hover,
+.navbar .navbar-nav > li > a.btn.btn-default[disabled]:focus,
+.navbar .navbar-nav > li > a.btn.btn-default[disabled].focus,
+.navbar .navbar-nav > li > a.btn.btn-default[disabled]:active,
+.navbar .navbar-nav > li > a.btn.btn-default[disabled].active, fieldset[disabled]
+.navbar .navbar-nav > li > a.btn.btn-default, fieldset[disabled]
+.navbar .navbar-nav > li > a.btn.btn-default:hover, fieldset[disabled]
+.navbar .navbar-nav > li > a.btn.btn-default:focus, fieldset[disabled]
+.navbar .navbar-nav > li > a.btn.btn-default.focus, fieldset[disabled]
+.navbar .navbar-nav > li > a.btn.btn-default:active, fieldset[disabled]
+.navbar .navbar-nav > li > a.btn.btn-default.active {
+ box-shadow: none;
+}
+.btn.btn-simple, .btn.btn-default.btn-simple,
+.navbar .navbar-nav > li > a.btn.btn-simple,
+.navbar .navbar-nav > li > a.btn.btn-default.btn-simple {
+ background-color: transparent;
+ color: #999999;
+ box-shadow: none;
+}
+.btn.btn-simple:hover, .btn.btn-simple:focus, .btn.btn-simple:active, .btn.btn-default.btn-simple:hover, .btn.btn-default.btn-simple:focus, .btn.btn-default.btn-simple:active,
+.navbar .navbar-nav > li > a.btn.btn-simple:hover,
+.navbar .navbar-nav > li > a.btn.btn-simple:focus,
+.navbar .navbar-nav > li > a.btn.btn-simple:active,
+.navbar .navbar-nav > li > a.btn.btn-default.btn-simple:hover,
+.navbar .navbar-nav > li > a.btn.btn-default.btn-simple:focus,
+.navbar .navbar-nav > li > a.btn.btn-default.btn-simple:active {
+ background-color: transparent;
+ color: #999999;
+}
+.btn.btn-primary,
+.navbar .navbar-nav > li > a.btn.btn-primary {
+ box-shadow: 0 2px 2px 0 rgba(156, 39, 176, 0.14), 0 3px 1px -2px rgba(156, 39, 176, 0.2), 0 1px 5px 0 rgba(156, 39, 176, 0.12);
+}
+.btn.btn-primary, .btn.btn-primary:hover, .btn.btn-primary:focus, .btn.btn-primary:active, .btn.btn-primary.active, .btn.btn-primary:active:focus, .btn.btn-primary:active:hover, .btn.btn-primary.active:focus, .btn.btn-primary.active:hover, .open > .btn.btn-primary.dropdown-toggle, .open > .btn.btn-primary.dropdown-toggle:focus, .open > .btn.btn-primary.dropdown-toggle:hover,
+.navbar .navbar-nav > li > a.btn.btn-primary,
+.navbar .navbar-nav > li > a.btn.btn-primary:hover,
+.navbar .navbar-nav > li > a.btn.btn-primary:focus,
+.navbar .navbar-nav > li > a.btn.btn-primary:active,
+.navbar .navbar-nav > li > a.btn.btn-primary.active,
+.navbar .navbar-nav > li > a.btn.btn-primary:active:focus,
+.navbar .navbar-nav > li > a.btn.btn-primary:active:hover,
+.navbar .navbar-nav > li > a.btn.btn-primary.active:focus,
+.navbar .navbar-nav > li > a.btn.btn-primary.active:hover, .open >
+.navbar .navbar-nav > li > a.btn.btn-primary.dropdown-toggle, .open >
+.navbar .navbar-nav > li > a.btn.btn-primary.dropdown-toggle:focus, .open >
+.navbar .navbar-nav > li > a.btn.btn-primary.dropdown-toggle:hover {
+ background-color: #9c27b0;
+ color: #FFFFFF;
+}
+.btn.btn-primary:focus, .btn.btn-primary:active, .btn.btn-primary:hover,
+.navbar .navbar-nav > li > a.btn.btn-primary:focus,
+.navbar .navbar-nav > li > a.btn.btn-primary:active,
+.navbar .navbar-nav > li > a.btn.btn-primary:hover {
+ box-shadow: 0 14px 26px -12px rgba(156, 39, 176, 0.42), 0 4px 23px 0px rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(156, 39, 176, 0.2);
+}
+.btn.btn-primary.disabled, .btn.btn-primary.disabled:hover, .btn.btn-primary.disabled:focus, .btn.btn-primary.disabled.focus, .btn.btn-primary.disabled:active, .btn.btn-primary.disabled.active, .btn.btn-primary:disabled, .btn.btn-primary:disabled:hover, .btn.btn-primary:disabled:focus, .btn.btn-primary:disabled.focus, .btn.btn-primary:disabled:active, .btn.btn-primary:disabled.active, .btn.btn-primary[disabled], .btn.btn-primary[disabled]:hover, .btn.btn-primary[disabled]:focus, .btn.btn-primary[disabled].focus, .btn.btn-primary[disabled]:active, .btn.btn-primary[disabled].active, fieldset[disabled] .btn.btn-primary, fieldset[disabled] .btn.btn-primary:hover, fieldset[disabled] .btn.btn-primary:focus, fieldset[disabled] .btn.btn-primary.focus, fieldset[disabled] .btn.btn-primary:active, fieldset[disabled] .btn.btn-primary.active,
+.navbar .navbar-nav > li > a.btn.btn-primary.disabled,
+.navbar .navbar-nav > li > a.btn.btn-primary.disabled:hover,
+.navbar .navbar-nav > li > a.btn.btn-primary.disabled:focus,
+.navbar .navbar-nav > li > a.btn.btn-primary.disabled.focus,
+.navbar .navbar-nav > li > a.btn.btn-primary.disabled:active,
+.navbar .navbar-nav > li > a.btn.btn-primary.disabled.active,
+.navbar .navbar-nav > li > a.btn.btn-primary:disabled,
+.navbar .navbar-nav > li > a.btn.btn-primary:disabled:hover,
+.navbar .navbar-nav > li > a.btn.btn-primary:disabled:focus,
+.navbar .navbar-nav > li > a.btn.btn-primary:disabled.focus,
+.navbar .navbar-nav > li > a.btn.btn-primary:disabled:active,
+.navbar .navbar-nav > li > a.btn.btn-primary:disabled.active,
+.navbar .navbar-nav > li > a.btn.btn-primary[disabled],
+.navbar .navbar-nav > li > a.btn.btn-primary[disabled]:hover,
+.navbar .navbar-nav > li > a.btn.btn-primary[disabled]:focus,
+.navbar .navbar-nav > li > a.btn.btn-primary[disabled].focus,
+.navbar .navbar-nav > li > a.btn.btn-primary[disabled]:active,
+.navbar .navbar-nav > li > a.btn.btn-primary[disabled].active, fieldset[disabled]
+.navbar .navbar-nav > li > a.btn.btn-primary, fieldset[disabled]
+.navbar .navbar-nav > li > a.btn.btn-primary:hover, fieldset[disabled]
+.navbar .navbar-nav > li > a.btn.btn-primary:focus, fieldset[disabled]
+.navbar .navbar-nav > li > a.btn.btn-primary.focus, fieldset[disabled]
+.navbar .navbar-nav > li > a.btn.btn-primary:active, fieldset[disabled]
+.navbar .navbar-nav > li > a.btn.btn-primary.active {
+ box-shadow: none;
+}
+.btn.btn-primary.btn-simple,
+.navbar .navbar-nav > li > a.btn.btn-primary.btn-simple {
+ background-color: transparent;
+ color: #9c27b0;
+ box-shadow: none;
+}
+.btn.btn-primary.btn-simple:hover, .btn.btn-primary.btn-simple:focus, .btn.btn-primary.btn-simple:active,
+.navbar .navbar-nav > li > a.btn.btn-primary.btn-simple:hover,
+.navbar .navbar-nav > li > a.btn.btn-primary.btn-simple:focus,
+.navbar .navbar-nav > li > a.btn.btn-primary.btn-simple:active {
+ background-color: transparent;
+ color: #9c27b0;
+}
+.btn.btn-info,
+.navbar .navbar-nav > li > a.btn.btn-info {
+ box-shadow: 0 2px 2px 0 rgba(3, 169, 244, 0.14), 0 3px 1px -2px rgba(3, 169, 244, 0.2), 0 1px 5px 0 rgba(3, 169, 244, 0.12);
+}
+.btn.btn-info, .btn.btn-info:hover, .btn.btn-info:focus, .btn.btn-info:active, .btn.btn-info.active, .btn.btn-info:active:focus, .btn.btn-info:active:hover, .btn.btn-info.active:focus, .btn.btn-info.active:hover, .open > .btn.btn-info.dropdown-toggle, .open > .btn.btn-info.dropdown-toggle:focus, .open > .btn.btn-info.dropdown-toggle:hover,
+.navbar .navbar-nav > li > a.btn.btn-info,
+.navbar .navbar-nav > li > a.btn.btn-info:hover,
+.navbar .navbar-nav > li > a.btn.btn-info:focus,
+.navbar .navbar-nav > li > a.btn.btn-info:active,
+.navbar .navbar-nav > li > a.btn.btn-info.active,
+.navbar .navbar-nav > li > a.btn.btn-info:active:focus,
+.navbar .navbar-nav > li > a.btn.btn-info:active:hover,
+.navbar .navbar-nav > li > a.btn.btn-info.active:focus,
+.navbar .navbar-nav > li > a.btn.btn-info.active:hover, .open >
+.navbar .navbar-nav > li > a.btn.btn-info.dropdown-toggle, .open >
+.navbar .navbar-nav > li > a.btn.btn-info.dropdown-toggle:focus, .open >
+.navbar .navbar-nav > li > a.btn.btn-info.dropdown-toggle:hover {
+ background-color: #03a9f4;
+ color: #FFFFFF;
+}
+.btn.btn-info:focus, .btn.btn-info:active, .btn.btn-info:hover,
+.navbar .navbar-nav > li > a.btn.btn-info:focus,
+.navbar .navbar-nav > li > a.btn.btn-info:active,
+.navbar .navbar-nav > li > a.btn.btn-info:hover {
+ box-shadow: 0 14px 26px -12px rgba(3, 169, 244, 0.42), 0 4px 23px 0px rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(3, 169, 244, 0.2);
+}
+.btn.btn-info.disabled, .btn.btn-info.disabled:hover, .btn.btn-info.disabled:focus, .btn.btn-info.disabled.focus, .btn.btn-info.disabled:active, .btn.btn-info.disabled.active, .btn.btn-info:disabled, .btn.btn-info:disabled:hover, .btn.btn-info:disabled:focus, .btn.btn-info:disabled.focus, .btn.btn-info:disabled:active, .btn.btn-info:disabled.active, .btn.btn-info[disabled], .btn.btn-info[disabled]:hover, .btn.btn-info[disabled]:focus, .btn.btn-info[disabled].focus, .btn.btn-info[disabled]:active, .btn.btn-info[disabled].active, fieldset[disabled] .btn.btn-info, fieldset[disabled] .btn.btn-info:hover, fieldset[disabled] .btn.btn-info:focus, fieldset[disabled] .btn.btn-info.focus, fieldset[disabled] .btn.btn-info:active, fieldset[disabled] .btn.btn-info.active,
+.navbar .navbar-nav > li > a.btn.btn-info.disabled,
+.navbar .navbar-nav > li > a.btn.btn-info.disabled:hover,
+.navbar .navbar-nav > li > a.btn.btn-info.disabled:focus,
+.navbar .navbar-nav > li > a.btn.btn-info.disabled.focus,
+.navbar .navbar-nav > li > a.btn.btn-info.disabled:active,
+.navbar .navbar-nav > li > a.btn.btn-info.disabled.active,
+.navbar .navbar-nav > li > a.btn.btn-info:disabled,
+.navbar .navbar-nav > li > a.btn.btn-info:disabled:hover,
+.navbar .navbar-nav > li > a.btn.btn-info:disabled:focus,
+.navbar .navbar-nav > li > a.btn.btn-info:disabled.focus,
+.navbar .navbar-nav > li > a.btn.btn-info:disabled:active,
+.navbar .navbar-nav > li > a.btn.btn-info:disabled.active,
+.navbar .navbar-nav > li > a.btn.btn-info[disabled],
+.navbar .navbar-nav > li > a.btn.btn-info[disabled]:hover,
+.navbar .navbar-nav > li > a.btn.btn-info[disabled]:focus,
+.navbar .navbar-nav > li > a.btn.btn-info[disabled].focus,
+.navbar .navbar-nav > li > a.btn.btn-info[disabled]:active,
+.navbar .navbar-nav > li > a.btn.btn-info[disabled].active, fieldset[disabled]
+.navbar .navbar-nav > li > a.btn.btn-info, fieldset[disabled]
+.navbar .navbar-nav > li > a.btn.btn-info:hover, fieldset[disabled]
+.navbar .navbar-nav > li > a.btn.btn-info:focus, fieldset[disabled]
+.navbar .navbar-nav > li > a.btn.btn-info.focus, fieldset[disabled]
+.navbar .navbar-nav > li > a.btn.btn-info:active, fieldset[disabled]
+.navbar .navbar-nav > li > a.btn.btn-info.active {
+ box-shadow: none;
+}
+.btn.btn-info.btn-simple,
+.navbar .navbar-nav > li > a.btn.btn-info.btn-simple {
+ background-color: transparent;
+ color: #03a9f4;
+ box-shadow: none;
+}
+.btn.btn-info.btn-simple:hover, .btn.btn-info.btn-simple:focus, .btn.btn-info.btn-simple:active,
+.navbar .navbar-nav > li > a.btn.btn-info.btn-simple:hover,
+.navbar .navbar-nav > li > a.btn.btn-info.btn-simple:focus,
+.navbar .navbar-nav > li > a.btn.btn-info.btn-simple:active {
+ background-color: transparent;
+ color: #03a9f4;
+}
+.btn.btn-success,
+.navbar .navbar-nav > li > a.btn.btn-success {
+ box-shadow: 0 2px 2px 0 rgba(76, 175, 80, 0.14), 0 3px 1px -2px rgba(76, 175, 80, 0.2), 0 1px 5px 0 rgba(76, 175, 80, 0.12);
+}
+.btn.btn-success, .btn.btn-success:hover, .btn.btn-success:focus, .btn.btn-success:active, .btn.btn-success.active, .btn.btn-success:active:focus, .btn.btn-success:active:hover, .btn.btn-success.active:focus, .btn.btn-success.active:hover, .open > .btn.btn-success.dropdown-toggle, .open > .btn.btn-success.dropdown-toggle:focus, .open > .btn.btn-success.dropdown-toggle:hover,
+.navbar .navbar-nav > li > a.btn.btn-success,
+.navbar .navbar-nav > li > a.btn.btn-success:hover,
+.navbar .navbar-nav > li > a.btn.btn-success:focus,
+.navbar .navbar-nav > li > a.btn.btn-success:active,
+.navbar .navbar-nav > li > a.btn.btn-success.active,
+.navbar .navbar-nav > li > a.btn.btn-success:active:focus,
+.navbar .navbar-nav > li > a.btn.btn-success:active:hover,
+.navbar .navbar-nav > li > a.btn.btn-success.active:focus,
+.navbar .navbar-nav > li > a.btn.btn-success.active:hover, .open >
+.navbar .navbar-nav > li > a.btn.btn-success.dropdown-toggle, .open >
+.navbar .navbar-nav > li > a.btn.btn-success.dropdown-toggle:focus, .open >
+.navbar .navbar-nav > li > a.btn.btn-success.dropdown-toggle:hover {
+ background-color: #4caf50;
+ color: #FFFFFF;
+}
+.btn.btn-success:focus, .btn.btn-success:active, .btn.btn-success:hover,
+.navbar .navbar-nav > li > a.btn.btn-success:focus,
+.navbar .navbar-nav > li > a.btn.btn-success:active,
+.navbar .navbar-nav > li > a.btn.btn-success:hover {
+ box-shadow: 0 14px 26px -12px rgba(76, 175, 80, 0.42), 0 4px 23px 0px rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(76, 175, 80, 0.2);
+}
+.btn.btn-success.disabled, .btn.btn-success.disabled:hover, .btn.btn-success.disabled:focus, .btn.btn-success.disabled.focus, .btn.btn-success.disabled:active, .btn.btn-success.disabled.active, .btn.btn-success:disabled, .btn.btn-success:disabled:hover, .btn.btn-success:disabled:focus, .btn.btn-success:disabled.focus, .btn.btn-success:disabled:active, .btn.btn-success:disabled.active, .btn.btn-success[disabled], .btn.btn-success[disabled]:hover, .btn.btn-success[disabled]:focus, .btn.btn-success[disabled].focus, .btn.btn-success[disabled]:active, .btn.btn-success[disabled].active, fieldset[disabled] .btn.btn-success, fieldset[disabled] .btn.btn-success:hover, fieldset[disabled] .btn.btn-success:focus, fieldset[disabled] .btn.btn-success.focus, fieldset[disabled] .btn.btn-success:active, fieldset[disabled] .btn.btn-success.active,
+.navbar .navbar-nav > li > a.btn.btn-success.disabled,
+.navbar .navbar-nav > li > a.btn.btn-success.disabled:hover,
+.navbar .navbar-nav > li > a.btn.btn-success.disabled:focus,
+.navbar .navbar-nav > li > a.btn.btn-success.disabled.focus,
+.navbar .navbar-nav > li > a.btn.btn-success.disabled:active,
+.navbar .navbar-nav > li > a.btn.btn-success.disabled.active,
+.navbar .navbar-nav > li > a.btn.btn-success:disabled,
+.navbar .navbar-nav > li > a.btn.btn-success:disabled:hover,
+.navbar .navbar-nav > li > a.btn.btn-success:disabled:focus,
+.navbar .navbar-nav > li > a.btn.btn-success:disabled.focus,
+.navbar .navbar-nav > li > a.btn.btn-success:disabled:active,
+.navbar .navbar-nav > li > a.btn.btn-success:disabled.active,
+.navbar .navbar-nav > li > a.btn.btn-success[disabled],
+.navbar .navbar-nav > li > a.btn.btn-success[disabled]:hover,
+.navbar .navbar-nav > li > a.btn.btn-success[disabled]:focus,
+.navbar .navbar-nav > li > a.btn.btn-success[disabled].focus,
+.navbar .navbar-nav > li > a.btn.btn-success[disabled]:active,
+.navbar .navbar-nav > li > a.btn.btn-success[disabled].active, fieldset[disabled]
+.navbar .navbar-nav > li > a.btn.btn-success, fieldset[disabled]
+.navbar .navbar-nav > li > a.btn.btn-success:hover, fieldset[disabled]
+.navbar .navbar-nav > li > a.btn.btn-success:focus, fieldset[disabled]
+.navbar .navbar-nav > li > a.btn.btn-success.focus, fieldset[disabled]
+.navbar .navbar-nav > li > a.btn.btn-success:active, fieldset[disabled]
+.navbar .navbar-nav > li > a.btn.btn-success.active {
+ box-shadow: none;
+}
+.btn.btn-success.btn-simple,
+.navbar .navbar-nav > li > a.btn.btn-success.btn-simple {
+ background-color: transparent;
+ color: #4caf50;
+ box-shadow: none;
+}
+.btn.btn-success.btn-simple:hover, .btn.btn-success.btn-simple:focus, .btn.btn-success.btn-simple:active,
+.navbar .navbar-nav > li > a.btn.btn-success.btn-simple:hover,
+.navbar .navbar-nav > li > a.btn.btn-success.btn-simple:focus,
+.navbar .navbar-nav > li > a.btn.btn-success.btn-simple:active {
+ background-color: transparent;
+ color: #4caf50;
+}
+.btn.btn-warning,
+.navbar .navbar-nav > li > a.btn.btn-warning {
+ box-shadow: 0 2px 2px 0 rgba(251, 192, 45, 0.14), 0 3px 1px -2px rgba(251, 192, 45, 0.2), 0 1px 5px 0 rgba(251, 192, 45, 0.12);
+}
+.btn.btn-warning, .btn.btn-warning:hover, .btn.btn-warning:focus, .btn.btn-warning:active, .btn.btn-warning.active, .btn.btn-warning:active:focus, .btn.btn-warning:active:hover, .btn.btn-warning.active:focus, .btn.btn-warning.active:hover, .open > .btn.btn-warning.dropdown-toggle, .open > .btn.btn-warning.dropdown-toggle:focus, .open > .btn.btn-warning.dropdown-toggle:hover,
+.navbar .navbar-nav > li > a.btn.btn-warning,
+.navbar .navbar-nav > li > a.btn.btn-warning:hover,
+.navbar .navbar-nav > li > a.btn.btn-warning:focus,
+.navbar .navbar-nav > li > a.btn.btn-warning:active,
+.navbar .navbar-nav > li > a.btn.btn-warning.active,
+.navbar .navbar-nav > li > a.btn.btn-warning:active:focus,
+.navbar .navbar-nav > li > a.btn.btn-warning:active:hover,
+.navbar .navbar-nav > li > a.btn.btn-warning.active:focus,
+.navbar .navbar-nav > li > a.btn.btn-warning.active:hover, .open >
+.navbar .navbar-nav > li > a.btn.btn-warning.dropdown-toggle, .open >
+.navbar .navbar-nav > li > a.btn.btn-warning.dropdown-toggle:focus, .open >
+.navbar .navbar-nav > li > a.btn.btn-warning.dropdown-toggle:hover {
+ background-color: #fbc02d;
+ color: #FFFFFF;
+}
+.btn.btn-warning:focus, .btn.btn-warning:active, .btn.btn-warning:hover,
+.navbar .navbar-nav > li > a.btn.btn-warning:focus,
+.navbar .navbar-nav > li > a.btn.btn-warning:active,
+.navbar .navbar-nav > li > a.btn.btn-warning:hover {
+ box-shadow: 0 14px 26px -12px rgba(251, 192, 45, 0.42), 0 4px 23px 0px rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(251, 192, 45, 0.2);
+}
+.btn.btn-warning.disabled, .btn.btn-warning.disabled:hover, .btn.btn-warning.disabled:focus, .btn.btn-warning.disabled.focus, .btn.btn-warning.disabled:active, .btn.btn-warning.disabled.active, .btn.btn-warning:disabled, .btn.btn-warning:disabled:hover, .btn.btn-warning:disabled:focus, .btn.btn-warning:disabled.focus, .btn.btn-warning:disabled:active, .btn.btn-warning:disabled.active, .btn.btn-warning[disabled], .btn.btn-warning[disabled]:hover, .btn.btn-warning[disabled]:focus, .btn.btn-warning[disabled].focus, .btn.btn-warning[disabled]:active, .btn.btn-warning[disabled].active, fieldset[disabled] .btn.btn-warning, fieldset[disabled] .btn.btn-warning:hover, fieldset[disabled] .btn.btn-warning:focus, fieldset[disabled] .btn.btn-warning.focus, fieldset[disabled] .btn.btn-warning:active, fieldset[disabled] .btn.btn-warning.active,
+.navbar .navbar-nav > li > a.btn.btn-warning.disabled,
+.navbar .navbar-nav > li > a.btn.btn-warning.disabled:hover,
+.navbar .navbar-nav > li > a.btn.btn-warning.disabled:focus,
+.navbar .navbar-nav > li > a.btn.btn-warning.disabled.focus,
+.navbar .navbar-nav > li > a.btn.btn-warning.disabled:active,
+.navbar .navbar-nav > li > a.btn.btn-warning.disabled.active,
+.navbar .navbar-nav > li > a.btn.btn-warning:disabled,
+.navbar .navbar-nav > li > a.btn.btn-warning:disabled:hover,
+.navbar .navbar-nav > li > a.btn.btn-warning:disabled:focus,
+.navbar .navbar-nav > li > a.btn.btn-warning:disabled.focus,
+.navbar .navbar-nav > li > a.btn.btn-warning:disabled:active,
+.navbar .navbar-nav > li > a.btn.btn-warning:disabled.active,
+.navbar .navbar-nav > li > a.btn.btn-warning[disabled],
+.navbar .navbar-nav > li > a.btn.btn-warning[disabled]:hover,
+.navbar .navbar-nav > li > a.btn.btn-warning[disabled]:focus,
+.navbar .navbar-nav > li > a.btn.btn-warning[disabled].focus,
+.navbar .navbar-nav > li > a.btn.btn-warning[disabled]:active,
+.navbar .navbar-nav > li > a.btn.btn-warning[disabled].active, fieldset[disabled]
+.navbar .navbar-nav > li > a.btn.btn-warning, fieldset[disabled]
+.navbar .navbar-nav > li > a.btn.btn-warning:hover, fieldset[disabled]
+.navbar .navbar-nav > li > a.btn.btn-warning:focus, fieldset[disabled]
+.navbar .navbar-nav > li > a.btn.btn-warning.focus, fieldset[disabled]
+.navbar .navbar-nav > li > a.btn.btn-warning:active, fieldset[disabled]
+.navbar .navbar-nav > li > a.btn.btn-warning.active {
+ box-shadow: none;
+}
+.btn.btn-warning.btn-simple,
+.navbar .navbar-nav > li > a.btn.btn-warning.btn-simple {
+ background-color: transparent;
+ color: #fbc02d;
+ box-shadow: none;
+}
+.btn.btn-warning.btn-simple:hover, .btn.btn-warning.btn-simple:focus, .btn.btn-warning.btn-simple:active,
+.navbar .navbar-nav > li > a.btn.btn-warning.btn-simple:hover,
+.navbar .navbar-nav > li > a.btn.btn-warning.btn-simple:focus,
+.navbar .navbar-nav > li > a.btn.btn-warning.btn-simple:active {
+ background-color: transparent;
+ color: #fbc02d;
+}
+.btn.btn-danger,
+.navbar .navbar-nav > li > a.btn.btn-danger {
+ box-shadow: 0 2px 2px 0 rgba(244, 67, 54, 0.14), 0 3px 1px -2px rgba(244, 67, 54, 0.2), 0 1px 5px 0 rgba(244, 67, 54, 0.12);
+}
+.btn.btn-danger, .btn.btn-danger:hover, .btn.btn-danger:focus, .btn.btn-danger:active, .btn.btn-danger.active, .btn.btn-danger:active:focus, .btn.btn-danger:active:hover, .btn.btn-danger.active:focus, .btn.btn-danger.active:hover, .open > .btn.btn-danger.dropdown-toggle, .open > .btn.btn-danger.dropdown-toggle:focus, .open > .btn.btn-danger.dropdown-toggle:hover,
+.navbar .navbar-nav > li > a.btn.btn-danger,
+.navbar .navbar-nav > li > a.btn.btn-danger:hover,
+.navbar .navbar-nav > li > a.btn.btn-danger:focus,
+.navbar .navbar-nav > li > a.btn.btn-danger:active,
+.navbar .navbar-nav > li > a.btn.btn-danger.active,
+.navbar .navbar-nav > li > a.btn.btn-danger:active:focus,
+.navbar .navbar-nav > li > a.btn.btn-danger:active:hover,
+.navbar .navbar-nav > li > a.btn.btn-danger.active:focus,
+.navbar .navbar-nav > li > a.btn.btn-danger.active:hover, .open >
+.navbar .navbar-nav > li > a.btn.btn-danger.dropdown-toggle, .open >
+.navbar .navbar-nav > li > a.btn.btn-danger.dropdown-toggle:focus, .open >
+.navbar .navbar-nav > li > a.btn.btn-danger.dropdown-toggle:hover {
+ background-color: #f44336;
+ color: #FFFFFF;
+}
+.btn.btn-danger:focus, .btn.btn-danger:active, .btn.btn-danger:hover,
+.navbar .navbar-nav > li > a.btn.btn-danger:focus,
+.navbar .navbar-nav > li > a.btn.btn-danger:active,
+.navbar .navbar-nav > li > a.btn.btn-danger:hover {
+ box-shadow: 0 14px 26px -12px rgba(244, 67, 54, 0.42), 0 4px 23px 0px rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(244, 67, 54, 0.2);
+}
+.btn.btn-danger.disabled, .btn.btn-danger.disabled:hover, .btn.btn-danger.disabled:focus, .btn.btn-danger.disabled.focus, .btn.btn-danger.disabled:active, .btn.btn-danger.disabled.active, .btn.btn-danger:disabled, .btn.btn-danger:disabled:hover, .btn.btn-danger:disabled:focus, .btn.btn-danger:disabled.focus, .btn.btn-danger:disabled:active, .btn.btn-danger:disabled.active, .btn.btn-danger[disabled], .btn.btn-danger[disabled]:hover, .btn.btn-danger[disabled]:focus, .btn.btn-danger[disabled].focus, .btn.btn-danger[disabled]:active, .btn.btn-danger[disabled].active, fieldset[disabled] .btn.btn-danger, fieldset[disabled] .btn.btn-danger:hover, fieldset[disabled] .btn.btn-danger:focus, fieldset[disabled] .btn.btn-danger.focus, fieldset[disabled] .btn.btn-danger:active, fieldset[disabled] .btn.btn-danger.active,
+.navbar .navbar-nav > li > a.btn.btn-danger.disabled,
+.navbar .navbar-nav > li > a.btn.btn-danger.disabled:hover,
+.navbar .navbar-nav > li > a.btn.btn-danger.disabled:focus,
+.navbar .navbar-nav > li > a.btn.btn-danger.disabled.focus,
+.navbar .navbar-nav > li > a.btn.btn-danger.disabled:active,
+.navbar .navbar-nav > li > a.btn.btn-danger.disabled.active,
+.navbar .navbar-nav > li > a.btn.btn-danger:disabled,
+.navbar .navbar-nav > li > a.btn.btn-danger:disabled:hover,
+.navbar .navbar-nav > li > a.btn.btn-danger:disabled:focus,
+.navbar .navbar-nav > li > a.btn.btn-danger:disabled.focus,
+.navbar .navbar-nav > li > a.btn.btn-danger:disabled:active,
+.navbar .navbar-nav > li > a.btn.btn-danger:disabled.active,
+.navbar .navbar-nav > li > a.btn.btn-danger[disabled],
+.navbar .navbar-nav > li > a.btn.btn-danger[disabled]:hover,
+.navbar .navbar-nav > li > a.btn.btn-danger[disabled]:focus,
+.navbar .navbar-nav > li > a.btn.btn-danger[disabled].focus,
+.navbar .navbar-nav > li > a.btn.btn-danger[disabled]:active,
+.navbar .navbar-nav > li > a.btn.btn-danger[disabled].active, fieldset[disabled]
+.navbar .navbar-nav > li > a.btn.btn-danger, fieldset[disabled]
+.navbar .navbar-nav > li > a.btn.btn-danger:hover, fieldset[disabled]
+.navbar .navbar-nav > li > a.btn.btn-danger:focus, fieldset[disabled]
+.navbar .navbar-nav > li > a.btn.btn-danger.focus, fieldset[disabled]
+.navbar .navbar-nav > li > a.btn.btn-danger:active, fieldset[disabled]
+.navbar .navbar-nav > li > a.btn.btn-danger.active {
+ box-shadow: none;
+}
+.btn.btn-danger.btn-simple,
+.navbar .navbar-nav > li > a.btn.btn-danger.btn-simple {
+ background-color: transparent;
+ color: #f44336;
+ box-shadow: none;
+}
+.btn.btn-danger.btn-simple:hover, .btn.btn-danger.btn-simple:focus, .btn.btn-danger.btn-simple:active,
+.navbar .navbar-nav > li > a.btn.btn-danger.btn-simple:hover,
+.navbar .navbar-nav > li > a.btn.btn-danger.btn-simple:focus,
+.navbar .navbar-nav > li > a.btn.btn-danger.btn-simple:active {
+ background-color: transparent;
+ color: #f44336;
+}
+.btn.btn-upgrade,
+.navbar .navbar-nav > li > a.btn.btn-upgrade {
+ box-shadow: 0 2px 2px 0 rgba(233, 30, 99, 0.14), 0 3px 1px -2px rgba(233, 30, 99, 0.2), 0 1px 5px 0 rgba(233, 30, 99, 0.12);
+}
+.btn.btn-upgrade, .btn.btn-upgrade:hover, .btn.btn-upgrade:focus, .btn.btn-upgrade:active, .btn.btn-upgrade.active, .btn.btn-upgrade:active:focus, .btn.btn-upgrade:active:hover, .btn.btn-upgrade.active:focus, .btn.btn-upgrade.active:hover, .open > .btn.btn-upgrade.dropdown-toggle, .open > .btn.btn-upgrade.dropdown-toggle:focus, .open > .btn.btn-upgrade.dropdown-toggle:hover,
+.navbar .navbar-nav > li > a.btn.btn-upgrade,
+.navbar .navbar-nav > li > a.btn.btn-upgrade:hover,
+.navbar .navbar-nav > li > a.btn.btn-upgrade:focus,
+.navbar .navbar-nav > li > a.btn.btn-upgrade:active,
+.navbar .navbar-nav > li > a.btn.btn-upgrade.active,
+.navbar .navbar-nav > li > a.btn.btn-upgrade:active:focus,
+.navbar .navbar-nav > li > a.btn.btn-upgrade:active:hover,
+.navbar .navbar-nav > li > a.btn.btn-upgrade.active:focus,
+.navbar .navbar-nav > li > a.btn.btn-upgrade.active:hover, .open >
+.navbar .navbar-nav > li > a.btn.btn-upgrade.dropdown-toggle, .open >
+.navbar .navbar-nav > li > a.btn.btn-upgrade.dropdown-toggle:focus, .open >
+.navbar .navbar-nav > li > a.btn.btn-upgrade.dropdown-toggle:hover {
+ background-color: #e91e63;
+ color: #FFFFFF;
+}
+.btn.btn-upgrade:focus, .btn.btn-upgrade:active, .btn.btn-upgrade:hover,
+.navbar .navbar-nav > li > a.btn.btn-upgrade:focus,
+.navbar .navbar-nav > li > a.btn.btn-upgrade:active,
+.navbar .navbar-nav > li > a.btn.btn-upgrade:hover {
+ box-shadow: 0 14px 26px -12px rgba(233, 30, 99, 0.42), 0 4px 23px 0px rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(233, 30, 99, 0.2);
+}
+.btn.btn-upgrade.disabled, .btn.btn-upgrade.disabled:hover, .btn.btn-upgrade.disabled:focus, .btn.btn-upgrade.disabled.focus, .btn.btn-upgrade.disabled:active, .btn.btn-upgrade.disabled.active, .btn.btn-upgrade:disabled, .btn.btn-upgrade:disabled:hover, .btn.btn-upgrade:disabled:focus, .btn.btn-upgrade:disabled.focus, .btn.btn-upgrade:disabled:active, .btn.btn-upgrade:disabled.active, .btn.btn-upgrade[disabled], .btn.btn-upgrade[disabled]:hover, .btn.btn-upgrade[disabled]:focus, .btn.btn-upgrade[disabled].focus, .btn.btn-upgrade[disabled]:active, .btn.btn-upgrade[disabled].active, fieldset[disabled] .btn.btn-upgrade, fieldset[disabled] .btn.btn-upgrade:hover, fieldset[disabled] .btn.btn-upgrade:focus, fieldset[disabled] .btn.btn-upgrade.focus, fieldset[disabled] .btn.btn-upgrade:active, fieldset[disabled] .btn.btn-upgrade.active,
+.navbar .navbar-nav > li > a.btn.btn-upgrade.disabled,
+.navbar .navbar-nav > li > a.btn.btn-upgrade.disabled:hover,
+.navbar .navbar-nav > li > a.btn.btn-upgrade.disabled:focus,
+.navbar .navbar-nav > li > a.btn.btn-upgrade.disabled.focus,
+.navbar .navbar-nav > li > a.btn.btn-upgrade.disabled:active,
+.navbar .navbar-nav > li > a.btn.btn-upgrade.disabled.active,
+.navbar .navbar-nav > li > a.btn.btn-upgrade:disabled,
+.navbar .navbar-nav > li > a.btn.btn-upgrade:disabled:hover,
+.navbar .navbar-nav > li > a.btn.btn-upgrade:disabled:focus,
+.navbar .navbar-nav > li > a.btn.btn-upgrade:disabled.focus,
+.navbar .navbar-nav > li > a.btn.btn-upgrade:disabled:active,
+.navbar .navbar-nav > li > a.btn.btn-upgrade:disabled.active,
+.navbar .navbar-nav > li > a.btn.btn-upgrade[disabled],
+.navbar .navbar-nav > li > a.btn.btn-upgrade[disabled]:hover,
+.navbar .navbar-nav > li > a.btn.btn-upgrade[disabled]:focus,
+.navbar .navbar-nav > li > a.btn.btn-upgrade[disabled].focus,
+.navbar .navbar-nav > li > a.btn.btn-upgrade[disabled]:active,
+.navbar .navbar-nav > li > a.btn.btn-upgrade[disabled].active, fieldset[disabled]
+.navbar .navbar-nav > li > a.btn.btn-upgrade, fieldset[disabled]
+.navbar .navbar-nav > li > a.btn.btn-upgrade:hover, fieldset[disabled]
+.navbar .navbar-nav > li > a.btn.btn-upgrade:focus, fieldset[disabled]
+.navbar .navbar-nav > li > a.btn.btn-upgrade.focus, fieldset[disabled]
+.navbar .navbar-nav > li > a.btn.btn-upgrade:active, fieldset[disabled]
+.navbar .navbar-nav > li > a.btn.btn-upgrade.active {
+ box-shadow: none;
+}
+.btn.btn-upgrade.btn-simple,
+.navbar .navbar-nav > li > a.btn.btn-upgrade.btn-simple {
+ background-color: transparent;
+ color: #e91e63;
+ box-shadow: none;
+}
+.btn.btn-upgrade.btn-simple:hover, .btn.btn-upgrade.btn-simple:focus, .btn.btn-upgrade.btn-simple:active,
+.navbar .navbar-nav > li > a.btn.btn-upgrade.btn-simple:hover,
+.navbar .navbar-nav > li > a.btn.btn-upgrade.btn-simple:focus,
+.navbar .navbar-nav > li > a.btn.btn-upgrade.btn-simple:active {
+ background-color: transparent;
+ color: #e91e63;
+}
+.btn.btn-white, .btn.btn-white:focus, .btn.btn-white:hover,
+.navbar .navbar-nav > li > a.btn.btn-white,
+.navbar .navbar-nav > li > a.btn.btn-white:focus,
+.navbar .navbar-nav > li > a.btn.btn-white:hover {
+ background-color: #FFFFFF;
+ color: #999999;
+}
+.btn.btn-white.btn-simple,
+.navbar .navbar-nav > li > a.btn.btn-white.btn-simple {
+ color: #FFFFFF;
+ background: transparent;
+ box-shadow: none;
+}
+.btn:focus, .btn:active, .btn:active:focus,
+.navbar .navbar-nav > li > a.btn:focus,
+.navbar .navbar-nav > li > a.btn:active,
+.navbar .navbar-nav > li > a.btn:active:focus {
+ outline: 0;
+}
+.btn.btn-round,
+.navbar .navbar-nav > li > a.btn.btn-round {
+ border-radius: 30px;
+}
+.btn:not(.btn-just-icon):not(.btn-fab) .fa,
+.navbar .navbar-nav > li > a.btn:not(.btn-just-icon):not(.btn-fab) .fa {
+ font-size: 18px;
+ margin-top: -2px;
+ position: relative;
+ top: 2px;
+}
+.btn.btn-fab,
+.navbar .navbar-nav > li > a.btn.btn-fab {
+ border-radius: 50%;
+ font-size: 24px;
+ height: 56px;
+ margin: auto;
+ min-width: 56px;
+ width: 56px;
+ padding: 0;
+ overflow: hidden;
+ position: relative;
+ line-height: normal;
+}
+.btn.btn-fab .ripple-container,
+.navbar .navbar-nav > li > a.btn.btn-fab .ripple-container {
+ border-radius: 50%;
+}
+.btn.btn-fab.btn-fab-mini, .btn-group-sm .btn.btn-fab,
+.navbar .navbar-nav > li > a.btn.btn-fab.btn-fab-mini, .btn-group-sm
+.navbar .navbar-nav > li > a.btn.btn-fab {
+ height: 40px;
+ min-width: 40px;
+ width: 40px;
+}
+.btn.btn-fab.btn-fab-mini.material-icons, .btn-group-sm .btn.btn-fab.material-icons,
+.navbar .navbar-nav > li > a.btn.btn-fab.btn-fab-mini.material-icons, .btn-group-sm
+.navbar .navbar-nav > li > a.btn.btn-fab.material-icons {
+ top: -3.5px;
+ left: -3.5px;
+}
+.btn.btn-fab.btn-fab-mini .material-icons, .btn-group-sm .btn.btn-fab .material-icons,
+.navbar .navbar-nav > li > a.btn.btn-fab.btn-fab-mini .material-icons, .btn-group-sm
+.navbar .navbar-nav > li > a.btn.btn-fab .material-icons {
+ font-size: 17px;
+}
+.btn.btn-fab i.material-icons,
+.navbar .navbar-nav > li > a.btn.btn-fab i.material-icons {
+ position: absolute;
+ top: 50%;
+ left: 50%;
+ transform: translate(-12px, -12px);
+ line-height: 24px;
+ width: 24px;
+ font-size: 24px;
+}
+.btn.btn-lg, .btn-group-lg .btn,
+.navbar .navbar-nav > li > a.btn.btn-lg, .btn-group-lg
+.navbar .navbar-nav > li > a.btn {
+ font-size: 14px;
+ padding: 18px 36px;
+}
+.btn.btn-sm, .btn-group-sm .btn,
+.navbar .navbar-nav > li > a.btn.btn-sm, .btn-group-sm
+.navbar .navbar-nav > li > a.btn {
+ padding: 5px 20px;
+ font-size: 11px;
+}
+.btn.btn-xs, .btn-group-xs .btn,
+.navbar .navbar-nav > li > a.btn.btn-xs, .btn-group-xs
+.navbar .navbar-nav > li > a.btn {
+ padding: 4px 15px;
+ font-size: 10px;
+}
+.btn.btn-just-icon,
+.navbar .navbar-nav > li > a.btn.btn-just-icon {
+ font-size: 18px;
+ padding: 10px 10px;
+ line-height: 1em;
+}
+.btn.btn-just-icon i,
+.navbar .navbar-nav > li > a.btn.btn-just-icon i {
+ width: 20px;
+}
+.btn.btn-just-icon.btn-lg,
+.navbar .navbar-nav > li > a.btn.btn-just-icon.btn-lg {
+ font-size: 22px;
+ padding: 13px 18px;
+}
+
+.btn .material-icons {
+ vertical-align: middle;
+ font-size: 17px;
+ top: -1px;
+ position: relative;
+}
+
+.navbar .navbar-nav > li > a.btn {
+ margin-top: 2px;
+ margin-bottom: 2px;
+}
+.navbar .navbar-nav > li > a.btn.btn-fab {
+ margin: 5px 2px;
+}
+.navbar .navbar-nav > li > a:not(.btn) .material-icons {
+ margin-top: -3px;
+ top: 0px;
+ position: relative;
+ margin-right: 3px;
+}
+.navbar .navbar-nav > li > .profile-photo {
+ margin: 5px 2px;
+}
+
+.navbar-default:not(.navbar-transparent) .navbar-nav > li > a.btn.btn-white.btn-simple {
+ color: #555555;
+}
+
+.btn-group,
+.btn-group-vertical {
+ position: relative;
+ margin: 10px 1px;
+}
+.btn-group.open > .dropdown-toggle.btn, .btn-group.open > .dropdown-toggle.btn.btn-default,
+.btn-group-vertical.open > .dropdown-toggle.btn,
+.btn-group-vertical.open > .dropdown-toggle.btn.btn-default {
+ background-color: #EEEEEE;
+}
+.btn-group.open > .dropdown-toggle.btn.btn-inverse,
+.btn-group-vertical.open > .dropdown-toggle.btn.btn-inverse {
+ background-color: #3f51b5;
+}
+.btn-group.open > .dropdown-toggle.btn.btn-primary,
+.btn-group-vertical.open > .dropdown-toggle.btn.btn-primary {
+ background-color: #9c27b0;
+}
+.btn-group.open > .dropdown-toggle.btn.btn-success,
+.btn-group-vertical.open > .dropdown-toggle.btn.btn-success {
+ background-color: #4caf50;
+}
+.btn-group.open > .dropdown-toggle.btn.btn-info,
+.btn-group-vertical.open > .dropdown-toggle.btn.btn-info {
+ background-color: #03a9f4;
+}
+.btn-group.open > .dropdown-toggle.btn.btn-warning,
+.btn-group-vertical.open > .dropdown-toggle.btn.btn-warning {
+ background-color: #fbc02d;
+}
+.btn-group.open > .dropdown-toggle.btn.btn-danger,
+.btn-group-vertical.open > .dropdown-toggle.btn.btn-danger {
+ background-color: #f44336;
+}
+.btn-group .dropdown-menu,
+.btn-group-vertical .dropdown-menu {
+ border-radius: 0 0 3px 3px;
+}
+.btn-group.btn-group-raised,
+.btn-group-vertical.btn-group-raised {
+ box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 1px 5px 0 rgba(0, 0, 0, 0.12);
+}
+.btn-group .btn + .btn,
+.btn-group .btn,
+.btn-group .btn:active,
+.btn-group .btn-group,
+.btn-group-vertical .btn + .btn,
+.btn-group-vertical .btn,
+.btn-group-vertical .btn:active,
+.btn-group-vertical .btn-group {
+ margin: 0;
+}
+
+.close {
+ font-size: inherit;
+ color: #FFFFFF;
+ opacity: .9;
+ text-shadow: none;
+}
+.close:hover, .close:focus {
+ opacity: 1;
+ color: #FFFFFF;
+}
+.close i {
+ font-size: 20px;
+}
+
+.checkbox label {
+ cursor: pointer;
+ padding-left: 0;
+ color: rgba(0,0,0, 0.26);
+}
+.form-group.is-focused .checkbox label {
+ color: rgba(0,0,0, 0.26);
+}
+.form-group.is-focused .checkbox label:hover, .form-group.is-focused .checkbox label:focus {
+ color: rgba(0,0,0, .54);
+}
+fieldset[disabled] .form-group.is-focused .checkbox label {
+ color: rgba(0,0,0, 0.26);
+}
+.checkbox input[type=checkbox] {
+ opacity: 0;
+ position: absolute;
+ margin: 0;
+ z-index: -1;
+ width: 0;
+ height: 0;
+ overflow: hidden;
+ left: 0;
+ pointer-events: none;
+}
+.checkbox .checkbox-material {
+ vertical-align: middle;
+ position: relative;
+ top: 1px;
+ padding-right: 5px;
+ display: inline-block;
+}
+.checkbox .checkbox-material:before {
+ display: block;
+ position: absolute;
+ left: 0;
+ content: "";
+ background-color: rgba(0, 0, 0, 0.84);
+ height: 20px;
+ width: 20px;
+ border-radius: 100%;
+ z-index: 1;
+ opacity: 0;
+ margin: 0;
+ top: 0;
+ -webkit-transform: scale3d(2.3,2.3,1);
+ -moz-transform: scale3d(2.3,2.3,1);
+ -o-transform: scale3d(2.3,2.3,1);
+ -ms-transform: scale3d(2.3,2.3,1);
+ transform: scale3d(2.3,2.3,1);
+}
+.checkbox .checkbox-material .check {
+ position: relative;
+ display: inline-block;
+ width: 20px;
+ height: 20px;
+ border: 1px solid rgba(0,0,0, .54);
+ overflow: hidden;
+ z-index: 1;
+ border-radius: 3px;
+}
+.checkbox .checkbox-material .check:before {
+ position: absolute;
+ content: "";
+ transform: rotate(45deg);
+ display: block;
+ margin-top: -3px;
+ margin-left: 7px;
+ width: 0;
+ height: 0;
+ background: red;
+ box-shadow: 0 0 0 0, 0 0 0 0, 0 0 0 0, 0 0 0 0, 0 0 0 0, 0 0 0 0, 0 0 0 0 inset;
+ -webkit-animation: checkbox-off 0.3s forwards;
+ -moz-animation: checkbox-off 0.3s forwards;
+ -o-animation: checkbox-off 0.3s forwards;
+ -ms-animation: checkbox-off 0.3s forwards;
+ animation: checkbox-off 0.3s forwards;
+}
+.checkbox input[type=checkbox]:focus + .checkbox-material .check:after {
+ opacity: 0.2;
+}
+.checkbox input[type=checkbox]:checked + .checkbox-material .check {
+ background: #9c27b0;
+}
+.checkbox input[type=checkbox]:checked + .checkbox-material .check:before {
+ color: #FFFFFF;
+ box-shadow: 0 0 0 10px, 10px -10px 0 10px, 32px 0 0 20px, 0px 32px 0 20px, -5px 5px 0 10px, 20px -12px 0 11px;
+ -webkit-animation: checkbox-on 0.3s forwards;
+ -moz-animation: checkbox-on 0.3s forwards;
+ -o-animation: checkbox-on 0.3s forwards;
+ -ms-animation: checkbox-on 0.3s forwards;
+ animation: checkbox-on 0.3s forwards;
+}
+.checkbox input[type=checkbox]:checked + .checkbox-material:before {
+ -webkit-animation: rippleOn 500ms;
+ -moz-animation: rippleOn 500ms;
+ -o-animation: rippleOn 500ms;
+ -ms-animation: rippleOn 500ms;
+ animation: rippleOn 500ms;
+}
+.checkbox input[type=checkbox]:checked + .checkbox-material .check:after {
+ -webkit-animation: rippleOn 500ms forwards;
+ -moz-animation: rippleOn 500ms forwards;
+ -o-animation: rippleOn 500ms forwards;
+ -ms-animation: rippleOn 500ms forwards;
+ animation: rippleOn 500ms forwards;
+}
+.checkbox input[type=checkbox]:not(:checked) + .checkbox-material:before {
+ -webkit-animation: rippleOff 500ms;
+ -moz-animation: rippleOff 500ms;
+ -o-animation: rippleOff 500ms;
+ -ms-animation: rippleOff 500ms;
+ animation: rippleOff 500ms;
+}
+.checkbox input[type=checkbox]:not(:checked) + .checkbox-material .check:after {
+ -webkit-animation: rippleOff 500ms;
+ -moz-animation: rippleOff 500ms;
+ -o-animation: rippleOff 500ms;
+ -ms-animation: rippleOff 500ms;
+ animation: rippleOff 500ms;
+}
+fieldset[disabled] .checkbox, fieldset[disabled] .checkbox input[type=checkbox],
+.checkbox input[type=checkbox][disabled] ~ .checkbox-material .check,
+.checkbox input[type=checkbox][disabled] + .circle {
+ opacity: 0.5;
+}
+.checkbox input[type=checkbox][disabled] ~ .checkbox-material .check {
+ border-color: #000000;
+ opacity: .26;
+}
+.checkbox input[type=checkbox][disabled] + .checkbox-material .check:after {
+ background-color: rgba(0,0,0, 0.87);
+ transform: rotate(-45deg);
+}
+
+@keyframes checkbox-on {
+ 0% {
+ box-shadow: 0 0 0 10px, 10px -10px 0 10px, 32px 0 0 20px, 0px 32px 0 20px, -5px 5px 0 10px, 15px 2px 0 11px;
+ }
+ 50% {
+ box-shadow: 0 0 0 10px, 10px -10px 0 10px, 32px 0 0 20px, 0px 32px 0 20px, -5px 5px 0 10px, 20px 2px 0 11px;
+ }
+ 100% {
+ box-shadow: 0 0 0 10px, 10px -10px 0 10px, 32px 0 0 20px, 0px 32px 0 20px, -5px 5px 0 10px, 20px -12px 0 11px;
+ }
+}
+@keyframes rippleOn {
+ 0% {
+ opacity: 0;
+ }
+ 50% {
+ opacity: 0.2;
+ }
+ 100% {
+ opacity: 0;
+ }
+}
+@keyframes rippleOff {
+ 0% {
+ opacity: 0;
+ }
+ 50% {
+ opacity: 0.2;
+ }
+ 100% {
+ opacity: 0;
+ }
+}
+.togglebutton {
+ vertical-align: middle;
+}
+.togglebutton, .togglebutton label, .togglebutton input, .togglebutton .toggle {
+ user-select: none;
+}
+.togglebutton label {
+ cursor: pointer;
+ color: rgba(0,0,0, 0.26);
+}
+.form-group.is-focused .togglebutton label {
+ color: rgba(0,0,0, 0.26);
+}
+.form-group.is-focused .togglebutton label:hover, .form-group.is-focused .togglebutton label:focus {
+ color: rgba(0,0,0, .54);
+}
+fieldset[disabled] .form-group.is-focused .togglebutton label {
+ color: rgba(0,0,0, 0.26);
+}
+.togglebutton label input[type=checkbox] {
+ opacity: 0;
+ width: 0;
+ height: 0;
+}
+.togglebutton label .toggle {
+ text-align: left;
+ margin-left: 5px;
+}
+.togglebutton label .toggle,
+.togglebutton label input[type=checkbox][disabled] + .toggle {
+ content: "";
+ display: inline-block;
+ width: 30px;
+ height: 15px;
+ background-color: rgba(80, 80, 80, 0.7);
+ border-radius: 15px;
+ margin-right: 15px;
+ transition: background 0.3s ease;
+ vertical-align: middle;
+}
+.togglebutton label .toggle:after {
+ content: "";
+ display: inline-block;
+ width: 20px;
+ height: 20px;
+ background-color: #FFFFFF;
+ border-radius: 20px;
+ position: relative;
+ box-shadow: 0 1px 3px 1px rgba(0, 0, 0, 0.4);
+ left: -5px;
+ top: -3px;
+ border: 1px solid rgba(0,0,0, .54);
+ transition: left 0.3s ease, background 0.3s ease, box-shadow 0.1s ease;
+}
+.togglebutton label input[type=checkbox][disabled] + .toggle:after, .togglebutton label input[type=checkbox][disabled]:checked + .toggle:after {
+ background-color: #BDBDBD;
+}
+.togglebutton label input[type=checkbox] + .toggle:active:after, .togglebutton label input[type=checkbox][disabled] + .toggle:active:after {
+ box-shadow: 0 1px 3px 1px rgba(0, 0, 0, 0.4), 0 0 0 15px rgba(0, 0, 0, 0.1);
+}
+.togglebutton label input[type=checkbox]:checked + .toggle:after {
+ left: 15px;
+}
+.togglebutton label input[type=checkbox]:checked + .toggle {
+ background-color: rgba(156, 39, 176, 0.7);
+}
+.togglebutton label input[type=checkbox]:checked + .toggle:after {
+ border-color: #9c27b0;
+}
+.togglebutton label input[type=checkbox]:checked + .toggle:active:after {
+ box-shadow: 0 1px 3px 1px rgba(0, 0, 0, 0.4), 0 0 0 15px rgba(156, 39, 176, 0.1);
+}
+
+.radio label {
+ cursor: pointer;
+ padding-left: 35px;
+ position: relative;
+ color: rgba(0,0,0, 0.26);
+}
+.form-group.is-focused .radio label {
+ color: rgba(0,0,0, 0.26);
+}
+.form-group.is-focused .radio label:hover, .form-group.is-focused .radio label:focus {
+ color: rgba(0,0,0, .54);
+}
+fieldset[disabled] .form-group.is-focused .radio label {
+ color: rgba(0,0,0, 0.26);
+}
+.radio label span {
+ display: block;
+ position: absolute;
+ left: 10px;
+ top: 2px;
+ transition-duration: 0.2s;
+}
+.radio label .circle {
+ border: 1px solid rgba(0,0,0, .54);
+ height: 15px;
+ width: 15px;
+ border-radius: 100%;
+}
+.radio label .check {
+ height: 15px;
+ width: 15px;
+ border-radius: 100%;
+ background-color: #9c27b0;
+ -webkit-transform: scale3d(0,0,0);
+ -moz-transform: scale3d(0,0,0);
+ -o-transform: scale3d(0,0,0);
+ -ms-transform: scale3d(0,0,0);
+ transform: scale3d(0,0,0);
+}
+.radio label .check:after {
+ display: block;
+ position: absolute;
+ content: "";
+ background-color: rgba(0,0,0, 0.87);
+ left: -18px;
+ top: -18px;
+ height: 50px;
+ width: 50px;
+ border-radius: 100%;
+ z-index: 1;
+ opacity: 0;
+ margin: 0;
+ -webkit-transform: scale3d(1.5,1.5,1);
+ -moz-transform: scale3d(1.5,1.5,1);
+ -o-transform: scale3d(1.5,1.5,1);
+ -ms-transform: scale3d(1.5,1.5,1);
+ transform: scale3d(1.5,1.5,1);
+}
+.radio label input[type=radio]:not(:checked) ~ .check:after {
+ -webkit-animation: rippleOff 500ms;
+ -moz-animation: rippleOff 500ms;
+ -o-animation: rippleOff 500ms;
+ -ms-animation: rippleOff 500ms;
+ animation: rippleOff 500ms;
+}
+.radio label input[type=radio]:checked ~ .check:after {
+ -webkit-animation: rippleOff 500ms;
+ -moz-animation: rippleOff 500ms;
+ -o-animation: rippleOff 500ms;
+ -ms-animation: rippleOff 500ms;
+ animation: rippleOff 500ms;
+}
+.radio input[type=radio] {
+ opacity: 0;
+ height: 0;
+ width: 0;
+ overflow: hidden;
+}
+.radio input[type=radio]:checked ~ .check, .radio input[type=radio]:checked ~ .circle {
+ opacity: 1;
+}
+.radio input[type=radio]:checked ~ .check {
+ background-color: #9c27b0;
+}
+.radio input[type=radio]:checked ~ .circle {
+ border-color: #9c27b0;
+}
+.radio input[type=radio]:checked ~ .check {
+ -webkit-transform: scale3d(0.65, 0.65, 1);
+ -moz-transform: scale3d(0.65, 0.65, 1);
+ -o-transform: scale3d(0.65, 0.65, 1);
+ -ms-transform: scale3d(0.65, 0.65, 1);
+ transform: scale3d(0.65, 0.65, 1);
+}
+.radio input[type=radio][disabled] ~ .check, .radio input[type=radio][disabled] ~ .circle {
+ opacity: 0.26;
+}
+.radio input[type=radio][disabled] ~ .check {
+ background-color: #000000;
+}
+.radio input[type=radio][disabled] ~ .circle {
+ border-color: #000000;
+}
+
+@keyframes rippleOn {
+ 0% {
+ opacity: 0;
+ }
+ 50% {
+ opacity: 0.2;
+ }
+ 100% {
+ opacity: 0;
+ }
+}
+@keyframes rippleOff {
+ 0% {
+ opacity: 0;
+ }
+ 50% {
+ opacity: 0.2;
+ }
+ 100% {
+ opacity: 0;
+ }
+}
+legend {
+ margin-bottom: 20px;
+ font-size: 21px;
+}
+
+output {
+ padding-top: 8px;
+ font-size: 14px;
+ line-height: 1.42857;
+}
+
+.form-control {
+ height: 36px;
+ padding: 7px 0;
+ font-size: 14px;
+ line-height: 1.42857;
+}
+
+@media screen and (-webkit-min-device-pixel-ratio: 0) {
+ input[type="date"].form-control,
+ input[type="time"].form-control,
+ input[type="datetime-local"].form-control,
+ input[type="month"].form-control {
+ line-height: 36px;
+ }
+ input[type="date"].input-sm, .input-group-sm input[type="date"],
+ input[type="time"].input-sm, .input-group-sm
+ input[type="time"],
+ input[type="datetime-local"].input-sm, .input-group-sm
+ input[type="datetime-local"],
+ input[type="month"].input-sm, .input-group-sm
+ input[type="month"] {
+ line-height: 24px;
+ }
+ input[type="date"].input-lg, .input-group-lg input[type="date"],
+ input[type="time"].input-lg, .input-group-lg
+ input[type="time"],
+ input[type="datetime-local"].input-lg, .input-group-lg
+ input[type="datetime-local"],
+ input[type="month"].input-lg, .input-group-lg
+ input[type="month"] {
+ line-height: 44px;
+ }
+}
+.radio label,
+.checkbox label {
+ min-height: 20px;
+}
+
+.form-control-static {
+ padding-top: 8px;
+ padding-bottom: 8px;
+ min-height: 34px;
+}
+
+.input-sm .input-sm {
+ height: 24px;
+ padding: 3px 0;
+ font-size: 11px;
+ line-height: 1.5;
+ border-radius: 0;
+}
+.input-sm select.input-sm {
+ height: 24px;
+ line-height: 24px;
+}
+.input-sm textarea.input-sm,
+.input-sm select[multiple].input-sm {
+ height: auto;
+}
+
+.form-group-sm .form-control {
+ height: 24px;
+ padding: 3px 0;
+ font-size: 11px;
+ line-height: 1.5;
+}
+.form-group-sm select.form-control {
+ height: 24px;
+ line-height: 24px;
+}
+.form-group-sm textarea.form-control,
+.form-group-sm select[multiple].form-control {
+ height: auto;
+}
+.form-group-sm .form-control-static {
+ height: 24px;
+ min-height: 31px;
+ padding: 4px 0;
+ font-size: 11px;
+ line-height: 1.5;
+}
+
+.input-lg .input-lg {
+ height: 44px;
+ padding: 9px 0;
+ font-size: 18px;
+ line-height: 1.33333;
+ border-radius: 0;
+}
+.input-lg select.input-lg {
+ height: 44px;
+ line-height: 44px;
+}
+.input-lg textarea.input-lg,
+.input-lg select[multiple].input-lg {
+ height: auto;
+}
+
+.form-group-lg .form-control {
+ height: 44px;
+ padding: 9px 0;
+ font-size: 18px;
+ line-height: 1.33333;
+}
+.form-group-lg select.form-control {
+ height: 44px;
+ line-height: 44px;
+}
+.form-group-lg textarea.form-control,
+.form-group-lg select[multiple].form-control {
+ height: auto;
+}
+.form-group-lg .form-control-static {
+ height: 44px;
+ min-height: 38px;
+ padding: 10px 0;
+ font-size: 18px;
+ line-height: 1.33333;
+}
+
+.form-horizontal .radio,
+.form-horizontal .checkbox,
+.form-horizontal .radio-inline,
+.form-horizontal .checkbox-inline {
+ padding-top: 8px;
+}
+.form-horizontal .radio,
+.form-horizontal .checkbox {
+ min-height: 28px;
+}
+@media (min-width: 768px) {
+ .form-horizontal .control-label {
+ padding-top: 8px;
+ }
+}
+@media (min-width: 768px) {
+ .form-horizontal .form-group-lg .control-label {
+ padding-top: 13.0px;
+ font-size: 18px;
+ }
+}
+@media (min-width: 768px) {
+ .form-horizontal .form-group-sm .control-label {
+ padding-top: 4px;
+ font-size: 11px;
+ }
+}
+
+.label {
+ border-radius: 2px;
+}
+.label, .label.label-default {
+ background-color: #9e9e9e;
+}
+.label.label-inverse {
+ background-color: #3f51b5;
+}
+.label.label-primary {
+ background-color: #9c27b0;
+}
+.label.label-success {
+ background-color: #4caf50;
+}
+.label.label-info {
+ background-color: #03a9f4;
+}
+.label.label-warning {
+ background-color: #fbc02d;
+}
+.label.label-danger {
+ background-color: #f44336;
+}
+
+.form-control,
+.form-group .form-control {
+ border: 0;
+ background-image: linear-gradient(#9c27b0, #9c27b0), linear-gradient(#D2D2D2, #D2D2D2);
+ background-size: 0 2px, 100% 1px;
+ background-repeat: no-repeat;
+ background-position: center bottom, center calc(100% - 1px);
+ background-color: transparent;
+ transition: background 0s ease-out;
+ float: none;
+ box-shadow: none;
+ border-radius: 0;
+ font-weight: 400;
+}
+.form-control::-moz-placeholder,
+.form-group .form-control::-moz-placeholder {
+ color: #AAAAAA;
+ font-weight: 400;
+}
+.form-control:-ms-input-placeholder,
+.form-group .form-control:-ms-input-placeholder {
+ color: #AAAAAA;
+ font-weight: 400;
+}
+.form-control::-webkit-input-placeholder,
+.form-group .form-control::-webkit-input-placeholder {
+ color: #AAAAAA;
+ font-weight: 400;
+}
+.form-control[readonly], .form-control[disabled], fieldset[disabled] .form-control,
+.form-group .form-control[readonly],
+.form-group .form-control[disabled], fieldset[disabled]
+.form-group .form-control {
+ background-color: transparent;
+}
+.form-control[disabled], fieldset[disabled] .form-control,
+.form-group .form-control[disabled], fieldset[disabled]
+.form-group .form-control {
+ background-image: none;
+ border-bottom: 1px dotted #D2D2D2;
+}
+
+.form-group {
+ position: relative;
+}
+.form-group.label-static label.control-label, .form-group.label-placeholder label.control-label, .form-group.label-floating label.control-label {
+ position: absolute;
+ pointer-events: none;
+ transition: 0.3s ease all;
+}
+.form-group.label-floating label.control-label {
+ will-change: left, top, contents;
+}
+.form-group.label-placeholder:not(.is-empty) label.control-label {
+ display: none;
+}
+.form-group .help-block {
+ position: absolute;
+ display: none;
+}
+.form-group.is-focused .form-control {
+ outline: none;
+ background-image: linear-gradient(#9c27b0, #9c27b0), linear-gradient(#D2D2D2, #D2D2D2);
+ background-size: 100% 2px, 100% 1px;
+ box-shadow: none;
+ transition-duration: 0.3s;
+}
+.form-group.is-focused .form-control .material-input:after {
+ background-color: #9c27b0;
+}
+.form-group.is-focused label,
+.form-group.is-focused label.control-label {
+ color: #9c27b0;
+}
+.form-group.is-focused.label-placeholder label,
+.form-group.is-focused.label-placeholder label.control-label {
+ color: #AAAAAA;
+}
+.form-group.is-focused .help-block {
+ display: block;
+}
+.form-group.has-warning .form-control {
+ box-shadow: none;
+}
+.form-group.has-warning.is-focused .form-control {
+ background-image: linear-gradient(#fbc02d, #fbc02d), linear-gradient(#D2D2D2, #D2D2D2);
+}
+.form-group.has-warning label.control-label,
+.form-group.has-warning .help-block {
+ color: #fbc02d;
+}
+.form-group.has-error .form-control {
+ box-shadow: none;
+}
+.form-group.has-error.is-focused .form-control {
+ background-image: linear-gradient(#f44336, #f44336), linear-gradient(#D2D2D2, #D2D2D2);
+}
+.form-group.has-error label.control-label,
+.form-group.has-error .help-block {
+ color: #f44336;
+}
+.form-group.has-success .form-control {
+ box-shadow: none;
+}
+.form-group.has-success.is-focused .form-control {
+ background-image: linear-gradient(#4caf50, #4caf50), linear-gradient(#D2D2D2, #D2D2D2);
+}
+.form-group.has-success label.control-label,
+.form-group.has-success .help-block {
+ color: #4caf50;
+}
+.form-group.has-info .form-control {
+ box-shadow: none;
+}
+.form-group.has-info.is-focused .form-control {
+ background-image: linear-gradient(#03a9f4, #03a9f4), linear-gradient(#D2D2D2, #D2D2D2);
+}
+.form-group.has-info label.control-label,
+.form-group.has-info .help-block {
+ color: #03a9f4;
+}
+.form-group textarea {
+ resize: none;
+}
+.form-group textarea ~ .form-control-highlight {
+ margin-top: -11px;
+}
+.form-group select {
+ appearance: none;
+}
+.form-group select ~ .material-input:after {
+ display: none;
+}
+
+.form-control {
+ margin-bottom: 7px;
+}
+.form-control::-moz-placeholder {
+ font-size: 14px;
+ line-height: 1.42857;
+ color: #AAAAAA;
+ font-weight: 400;
+}
+.form-control:-ms-input-placeholder {
+ font-size: 14px;
+ line-height: 1.42857;
+ color: #AAAAAA;
+ font-weight: 400;
+}
+.form-control::-webkit-input-placeholder {
+ font-size: 14px;
+ line-height: 1.42857;
+ color: #AAAAAA;
+ font-weight: 400;
+}
+
+.checkbox label,
+.radio label,
+label {
+ font-size: 14px;
+ line-height: 1.42857;
+ color: #AAAAAA;
+ font-weight: 400;
+}
+
+label.control-label {
+ font-size: 11px;
+ line-height: 1.07143;
+ color: #AAAAAA;
+ font-weight: 400;
+ margin: 16px 0 0 0;
+}
+
+.help-block {
+ margin-top: 0;
+ font-size: 11px;
+}
+
+.form-group {
+ padding-bottom: 7px;
+ margin: 27px 0 0 0;
+}
+.form-group .form-control {
+ margin-bottom: 7px;
+}
+.form-group .form-control::-moz-placeholder {
+ font-size: 14px;
+ line-height: 1.42857;
+ color: #AAAAAA;
+ font-weight: 400;
+}
+.form-group .form-control:-ms-input-placeholder {
+ font-size: 14px;
+ line-height: 1.42857;
+ color: #AAAAAA;
+ font-weight: 400;
+}
+.form-group .form-control::-webkit-input-placeholder {
+ font-size: 14px;
+ line-height: 1.42857;
+ color: #AAAAAA;
+ font-weight: 400;
+}
+.form-group .checkbox label,
+.form-group .radio label,
+.form-group label {
+ font-size: 14px;
+ line-height: 1.42857;
+ color: #AAAAAA;
+ font-weight: 400;
+}
+.form-group label.control-label {
+ font-size: 11px;
+ line-height: 1.07143;
+ color: #AAAAAA;
+ font-weight: 400;
+ margin: 16px 0 0 0;
+}
+.form-group .help-block {
+ margin-top: 0;
+ font-size: 11px;
+}
+.form-group.label-floating label.control-label, .form-group.label-placeholder label.control-label {
+ top: -7px;
+ font-size: 14px;
+ line-height: 1.42857;
+}
+.form-group.label-static label.control-label, .form-group.label-floating.is-focused label.control-label, .form-group.label-floating:not(.is-empty) label.control-label {
+ top: -28px;
+ left: 0;
+ font-size: 11px;
+ line-height: 1.07143;
+}
+.form-group.label-floating input.form-control:-webkit-autofill ~ label.control-label label.control-label {
+ top: -28px;
+ left: 0;
+ font-size: 11px;
+ line-height: 1.07143;
+}
+
+.form-group.form-group-sm {
+ padding-bottom: 3px;
+ margin: 21px 0 0 0;
+}
+.form-group.form-group-sm .form-control {
+ margin-bottom: 3px;
+}
+.form-group.form-group-sm .form-control::-moz-placeholder {
+ font-size: 11px;
+ line-height: 1.5;
+ color: #AAAAAA;
+ font-weight: 400;
+}
+.form-group.form-group-sm .form-control:-ms-input-placeholder {
+ font-size: 11px;
+ line-height: 1.5;
+ color: #AAAAAA;
+ font-weight: 400;
+}
+.form-group.form-group-sm .form-control::-webkit-input-placeholder {
+ font-size: 11px;
+ line-height: 1.5;
+ color: #AAAAAA;
+ font-weight: 400;
+}
+.form-group.form-group-sm .checkbox label,
+.form-group.form-group-sm .radio label,
+.form-group.form-group-sm label {
+ font-size: 11px;
+ line-height: 1.5;
+ color: #AAAAAA;
+ font-weight: 400;
+}
+.form-group.form-group-sm label.control-label {
+ font-size: 9px;
+ line-height: 1.125;
+ color: #AAAAAA;
+ font-weight: 400;
+ margin: 16px 0 0 0;
+}
+.form-group.form-group-sm .help-block {
+ margin-top: 0;
+ font-size: 9px;
+}
+.form-group.form-group-sm.label-floating label.control-label, .form-group.form-group-sm.label-placeholder label.control-label {
+ top: -11px;
+ font-size: 11px;
+ line-height: 1.5;
+}
+.form-group.form-group-sm.label-static label.control-label, .form-group.form-group-sm.label-floating.is-focused label.control-label, .form-group.form-group-sm.label-floating:not(.is-empty) label.control-label {
+ top: -25px;
+ left: 0;
+ font-size: 9px;
+ line-height: 1.125;
+}
+.form-group.form-group-sm.label-floating input.form-control:-webkit-autofill ~ label.control-label label.control-label {
+ top: -25px;
+ left: 0;
+ font-size: 9px;
+ line-height: 1.125;
+}
+
+.form-group.form-group-lg {
+ padding-bottom: 9px;
+ margin: 30px 0 0 0;
+}
+.form-group.form-group-lg .form-control {
+ margin-bottom: 9px;
+}
+.form-group.form-group-lg .form-control::-moz-placeholder {
+ font-size: 18px;
+ line-height: 1.33333;
+ color: #AAAAAA;
+ font-weight: 400;
+}
+.form-group.form-group-lg .form-control:-ms-input-placeholder {
+ font-size: 18px;
+ line-height: 1.33333;
+ color: #AAAAAA;
+ font-weight: 400;
+}
+.form-group.form-group-lg .form-control::-webkit-input-placeholder {
+ font-size: 18px;
+ line-height: 1.33333;
+ color: #AAAAAA;
+ font-weight: 400;
+}
+.form-group.form-group-lg .checkbox label,
+.form-group.form-group-lg .radio label,
+.form-group.form-group-lg label {
+ font-size: 18px;
+ line-height: 1.33333;
+ color: #AAAAAA;
+ font-weight: 400;
+}
+.form-group.form-group-lg label.control-label {
+ font-size: 14px;
+ line-height: 1.0;
+ color: #AAAAAA;
+ font-weight: 400;
+ margin: 16px 0 0 0;
+}
+.form-group.form-group-lg .help-block {
+ margin-top: 0;
+ font-size: 14px;
+}
+.form-group.form-group-lg.label-floating label.control-label, .form-group.form-group-lg.label-placeholder label.control-label {
+ top: -5px;
+ font-size: 18px;
+ line-height: 1.33333;
+}
+.form-group.form-group-lg.label-static label.control-label, .form-group.form-group-lg.label-floating.is-focused label.control-label, .form-group.form-group-lg.label-floating:not(.is-empty) label.control-label {
+ top: -32px;
+ left: 0;
+ font-size: 14px;
+ line-height: 1.0;
+}
+.form-group.form-group-lg.label-floating input.form-control:-webkit-autofill ~ label.control-label label.control-label {
+ top: -32px;
+ left: 0;
+ font-size: 14px;
+ line-height: 1.0;
+}
+
+select.form-control {
+ border: 0;
+ box-shadow: none;
+ border-radius: 0;
+}
+.form-group.is-focused select.form-control {
+ box-shadow: none;
+ border-color: #D2D2D2;
+}
+select.form-control[multiple], .form-group.is-focused select.form-control[multiple] {
+ height: 85px;
+}
+
+.input-group-btn .btn {
+ margin: 0 0 7px 0;
+}
+
+.form-group.form-group-sm .input-group-btn .btn {
+ margin: 0 0 3px 0;
+}
+.form-group.form-group-lg .input-group-btn .btn {
+ margin: 0 0 9px 0;
+}
+
+.input-group .input-group-btn {
+ padding: 0 12px;
+}
+.input-group .input-group-addon {
+ border: 0;
+ background: transparent;
+ padding: 12px 15px 0px;
+}
+
+.form-group input[type=file] {
+ opacity: 0;
+ position: absolute;
+ top: 0;
+ right: 0;
+ bottom: 0;
+ left: 0;
+ width: 100%;
+ height: 100%;
+ z-index: 100;
+}
+
+.form-control-feedback {
+ opacity: 0;
+}
+.has-success .form-control-feedback {
+ color: #4caf50;
+ opacity: 1;
+}
+.has-error .form-control-feedback {
+ color: #f44336;
+ opacity: 1;
+}
+
+.pagination > li > a,
+.pagination > li > span {
+ border: 0;
+ border-radius: 30px !important;
+ transition: all .3s;
+ padding: 0px 11px;
+ margin: 0 3px;
+ min-width: 30px;
+ height: 30px;
+ line-height: 30px;
+ color: #999999;
+ font-weight: 400;
+ font-size: 12px;
+ text-transform: uppercase;
+ background: transparent;
+}
+.pagination > li > a:hover, .pagination > li > a:focus,
+.pagination > li > span:hover,
+.pagination > li > span:focus {
+ color: #999999;
+}
+.pagination > .active > a,
+.pagination > .active > span {
+ color: #999999;
+}
+.pagination > .active > a, .pagination > .active > a:focus, .pagination > .active > a:hover,
+.pagination > .active > span,
+.pagination > .active > span:focus,
+.pagination > .active > span:hover {
+ background-color: #9c27b0;
+ border-color: #9c27b0;
+ color: #FFFFFF;
+ box-shadow: 0 4px 5px 0 rgba(156, 39, 176, 0.14), 0 1px 10px 0 rgba(156, 39, 176, 0.12), 0 2px 4px -1px rgba(156, 39, 176, 0.2);
+}
+.pagination.pagination-info > .active > a, .pagination.pagination-info > .active > a:focus, .pagination.pagination-info > .active > a:hover,
+.pagination.pagination-info > .active > span,
+.pagination.pagination-info > .active > span:focus,
+.pagination.pagination-info > .active > span:hover {
+ background-color: #03a9f4;
+ border-color: #03a9f4;
+ box-shadow: 0 4px 5px 0 rgba(3, 169, 244, 0.14), 0 1px 10px 0 rgba(3, 169, 244, 0.12), 0 2px 4px -1px rgba(3, 169, 244, 0.2);
+}
+.pagination.pagination-success > .active > a, .pagination.pagination-success > .active > a:focus, .pagination.pagination-success > .active > a:hover,
+.pagination.pagination-success > .active > span,
+.pagination.pagination-success > .active > span:focus,
+.pagination.pagination-success > .active > span:hover {
+ background-color: #4caf50;
+ border-color: #4caf50;
+ box-shadow: 0 4px 5px 0 rgba(76, 175, 80, 0.14), 0 1px 10px 0 rgba(76, 175, 80, 0.12), 0 2px 4px -1px rgba(76, 175, 80, 0.2);
+}
+.pagination.pagination-warning > .active > a, .pagination.pagination-warning > .active > a:focus, .pagination.pagination-warning > .active > a:hover,
+.pagination.pagination-warning > .active > span,
+.pagination.pagination-warning > .active > span:focus,
+.pagination.pagination-warning > .active > span:hover {
+ background-color: #fbc02d;
+ border-color: #fbc02d;
+ box-shadow: 0 4px 5px 0 rgba(251, 192, 45, 0.14), 0 1px 10px 0 rgba(251, 192, 45, 0.12), 0 2px 4px -1px rgba(251, 192, 45, 0.2);
+}
+.pagination.pagination-danger > .active > a, .pagination.pagination-danger > .active > a:focus, .pagination.pagination-danger > .active > a:hover,
+.pagination.pagination-danger > .active > span,
+.pagination.pagination-danger > .active > span:focus,
+.pagination.pagination-danger > .active > span:hover {
+ background-color: #f44336;
+ border-color: #f44336;
+ box-shadow: 0 4px 5px 0 rgba(244, 67, 54, 0.14), 0 1px 10px 0 rgba(244, 67, 54, 0.12), 0 2px 4px -1px rgba(244, 67, 54, 0.2);
+}
+
+.label {
+ border-radius: 10px;
+ padding: 5px 12px;
+ text-transform: uppercase;
+ font-size: 10px;
+}
+.label.label-default {
+ background-color: #999999;
+}
+
+.nav-pills > li > a {
+ line-height: 24px;
+ text-transform: uppercase;
+ font-size: 12px;
+ font-weight: 500;
+ min-width: 100px;
+ text-align: center;
+ color: #555555;
+ transition: all .3s;
+}
+.nav-pills > li > a:hover {
+ background-color: rgba(200, 200, 200, 0.2);
+}
+.nav-pills > li i {
+ display: block;
+ font-size: 30px;
+ padding: 15px 0;
+}
+.nav-pills > li.active > a, .nav-pills > li.active > a:focus, .nav-pills > li.active > a:hover {
+ background-color: #9c27b0;
+ color: #FFFFFF;
+ box-shadow: 0 16px 26px -10px rgba(156, 39, 176, 0.56), 0 4px 25px 0px rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(156, 39, 176, 0.2);
+}
+.nav-pills.nav-pills-info > li.active > a, .nav-pills.nav-pills-info > li.active > a:focus, .nav-pills.nav-pills-info > li.active > a:hover {
+ background-color: #03a9f4;
+ box-shadow: 0 16px 26px -10px rgba(3, 169, 244, 0.56), 0 4px 25px 0px rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(3, 169, 244, 0.2);
+}
+.nav-pills.nav-pills-success > li.active > a, .nav-pills.nav-pills-success > li.active > a:focus, .nav-pills.nav-pills-success > li.active > a:hover {
+ background-color: #4caf50;
+ box-shadow: 0 16px 26px -10px rgba(76, 175, 80, 0.56), 0 4px 25px 0px rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(76, 175, 80, 0.2);
+}
+.nav-pills.nav-pills-warning > li.active > a, .nav-pills.nav-pills-warning > li.active > a:focus, .nav-pills.nav-pills-warning > li.active > a:hover {
+ background-color: #fbc02d;
+ box-shadow: 0 16px 26px -10px rgba(251, 192, 45, 0.56), 0 4px 25px 0px rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(251, 192, 45, 0.2);
+}
+.nav-pills.nav-pills-danger > li.active > a, .nav-pills.nav-pills-danger > li.active > a:focus, .nav-pills.nav-pills-danger > li.active > a:hover {
+ background-color: #f44336;
+ box-shadow: 0 16px 26px -10px rgba(244, 67, 54, 0.56), 0 4px 25px 0px rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(244, 67, 54, 0.2);
+}
+
+.tab-space {
+ padding: 20px 0 50px 0px;
+}
+
+footer {
+ padding: 15px 0;
+}
+footer ul {
+ margin-bottom: 0;
+ padding: 0;
+ list-style: none;
+}
+footer ul li {
+ display: inline-block;
+}
+footer ul li a {
+ color: inherit;
+ padding: 15px;
+ font-weight: 500;
+ font-size: 12px;
+ text-transform: uppercase;
+ border-radius: 3px;
+ text-decoration: none;
+ position: relative;
+ display: block;
+}
+footer ul li a:hover {
+ text-decoration: none;
+}
+footer .copyright {
+ padding: 15px 0;
+}
+footer .copyright .material-icons {
+ font-size: 18px;
+ position: relative;
+ top: 3px;
+}
+
+legend {
+ border-bottom: 0;
+}
+
+.navbar {
+ border: 0;
+ border-radius: 3px;
+ box-shadow: 0 10px 20px -12px rgba(0, 0, 0, 0.42), 0 3px 20px 0px rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(0, 0, 0, 0.2);
+ padding: 10px 0;
+}
+.navbar .navbar-brand {
+ position: relative;
+ height: 50px;
+ line-height: 30px;
+ color: inherit;
+ padding: 10px 15px;
+}
+.navbar .navbar-brand:hover, .navbar .navbar-brand:focus {
+ color: inherit;
+ background-color: transparent;
+}
+.navbar .navbar-text {
+ color: inherit;
+ margin-top: 15px;
+ margin-bottom: 15px;
+}
+.navbar .navbar-nav > li > a {
+ color: inherit;
+ padding-top: 15px;
+ padding-bottom: 15px;
+ font-weight: 400;
+ font-size: 12px;
+ text-transform: uppercase;
+ border-radius: 3px;
+}
+.navbar .navbar-nav > li > a:hover, .navbar .navbar-nav > li > a:focus {
+ color: inherit;
+ background-color: transparent;
+}
+.navbar .navbar-nav > li > a .material-icons,
+.navbar .navbar-nav > li > a .fa {
+ font-size: 20px;
+ max-width: 20px;
+}
+.navbar .navbar-nav > li > a:not(.btn-just-icon) .fa {
+ position: relative;
+ top: 2px;
+ margin-top: -4px;
+ margin-right: 4px;
+}
+.navbar .navbar-nav > li > .dropdown-menu {
+ margin-top: -20px;
+}
+.navbar .navbar-nav > li.open > .dropdown-menu {
+ margin-top: 0;
+}
+.navbar .navbar-nav > .active > a, .navbar .navbar-nav > .active > a:hover, .navbar .navbar-nav > .active > a:focus {
+ color: inherit;
+ background-color: rgba(255, 255, 255, 0.1);
+}
+.navbar .navbar-nav > .disabled > a, .navbar .navbar-nav > .disabled > a:hover, .navbar .navbar-nav > .disabled > a:focus {
+ color: inherit;
+ background-color: transparent;
+ opacity: 0.9;
+}
+.navbar .navbar-toggle {
+ border: 0;
+}
+.navbar .navbar-toggle:hover, .navbar .navbar-toggle:focus {
+ background-color: transparent;
+}
+.navbar .navbar-toggle .icon-bar {
+ background-color: inherit;
+ border: 1px solid;
+}
+.navbar .navbar-default .navbar-toggle,
+.navbar .navbar-inverse .navbar-toggle {
+ border-color: transparent;
+}
+.navbar .navbar-collapse,
+.navbar .navbar-form {
+ border-top: none;
+ box-shadow: none;
+}
+.navbar .navbar-nav > .open > a, .navbar .navbar-nav > .open > a:hover, .navbar .navbar-nav > .open > a:focus {
+ background-color: transparent;
+ color: inherit;
+}
+@media (max-width: 767px) {
+ .navbar .navbar-nav .navbar-text {
+ color: inherit;
+ margin-top: 15px;
+ margin-bottom: 15px;
+ }
+ .navbar .navbar-nav .open .dropdown-menu > .dropdown-header {
+ border: 0;
+ color: inherit;
+ }
+ .navbar .navbar-nav .open .dropdown-menu .divider {
+ border-bottom: 1px solid;
+ opacity: 0.08;
+ }
+ .navbar .navbar-nav .open .dropdown-menu > li > a {
+ color: inherit;
+ }
+ .navbar .navbar-nav .open .dropdown-menu > li > a:hover, .navbar .navbar-nav .open .dropdown-menu > li > a:focus {
+ color: inherit;
+ background-color: transparent;
+ }
+ .navbar .navbar-nav .open .dropdown-menu > .active > a, .navbar .navbar-nav .open .dropdown-menu > .active > a:hover, .navbar .navbar-nav .open .dropdown-menu > .active > a:focus {
+ color: inherit;
+ background-color: transparent;
+ }
+ .navbar .navbar-nav .open .dropdown-menu > .disabled > a, .navbar .navbar-nav .open .dropdown-menu > .disabled > a:hover, .navbar .navbar-nav .open .dropdown-menu > .disabled > a:focus {
+ color: inherit;
+ background-color: transparent;
+ }
+}
+.navbar.navbar-default .logo-container .brand {
+ color: #555555;
+}
+.navbar .navbar-link {
+ color: inherit;
+}
+.navbar .navbar-link:hover {
+ color: inherit;
+}
+.navbar .btn {
+ margin-top: 0;
+ margin-bottom: 0;
+}
+.navbar .btn-link {
+ color: inherit;
+}
+.navbar .btn-link:hover, .navbar .btn-link:focus {
+ color: inherit;
+}
+.navbar .btn-link[disabled]:hover, .navbar .btn-link[disabled]:focus, fieldset[disabled] .navbar .btn-link:hover, fieldset[disabled] .navbar .btn-link:focus {
+ color: inherit;
+}
+.navbar .navbar-form {
+ margin: 4px 0 0;
+}
+.navbar .navbar-form .form-group {
+ margin: 0;
+ padding: 0;
+}
+.navbar .navbar-form .form-group .material-input:before, .navbar .navbar-form .form-group.is-focused .material-input:after {
+ background-color: inherit;
+}
+.navbar .navbar-form .form-group .form-control,
+.navbar .navbar-form .form-control {
+ border-color: inherit;
+ color: inherit;
+ padding: 0;
+ margin: 0;
+ height: 28px;
+ font-size: 14px;
+ line-height: 1.42857;
+}
+.navbar, .navbar.navbar-default {
+ background-color: #9c27b0;
+ color: #ffffff;
+}
+.navbar .navbar-form .form-group input.form-control::-moz-placeholder,
+.navbar .navbar-form input.form-control::-moz-placeholder, .navbar.navbar-default .navbar-form .form-group input.form-control::-moz-placeholder,
+.navbar.navbar-default .navbar-form input.form-control::-moz-placeholder {
+ color: #ffffff;
+}
+.navbar .navbar-form .form-group input.form-control:-ms-input-placeholder,
+.navbar .navbar-form input.form-control:-ms-input-placeholder, .navbar.navbar-default .navbar-form .form-group input.form-control:-ms-input-placeholder,
+.navbar.navbar-default .navbar-form input.form-control:-ms-input-placeholder {
+ color: #ffffff;
+}
+.navbar .navbar-form .form-group input.form-control::-webkit-input-placeholder,
+.navbar .navbar-form input.form-control::-webkit-input-placeholder, .navbar.navbar-default .navbar-form .form-group input.form-control::-webkit-input-placeholder,
+.navbar.navbar-default .navbar-form input.form-control::-webkit-input-placeholder {
+ color: #ffffff;
+}
+.navbar .dropdown-menu, .navbar.navbar-default .dropdown-menu {
+ border-radius: 3px !important;
+}
+.navbar .dropdown-menu li > a:hover, .navbar .dropdown-menu li > a:focus, .navbar.navbar-default .dropdown-menu li > a:hover, .navbar.navbar-default .dropdown-menu li > a:focus {
+ color: #FFFFFF;
+ background-color: #9c27b0;
+}
+.navbar .dropdown-menu .active > a, .navbar.navbar-default .dropdown-menu .active > a {
+ background-color: #9c27b0;
+ color: #ffffff;
+}
+.navbar .dropdown-menu .active > a:hover, .navbar .dropdown-menu .active > a:focus, .navbar.navbar-default .dropdown-menu .active > a:hover, .navbar.navbar-default .dropdown-menu .active > a:focus {
+ color: #ffffff;
+}
+.navbar.navbar-inverse {
+ background-color: #3f51b5;
+ color: contrast-color(#3f51b5, #000000, #ffffff);
+}
+.navbar.navbar-inverse .navbar-form .form-group input.form-control::-moz-placeholder,
+.navbar.navbar-inverse .navbar-form input.form-control::-moz-placeholder {
+ color: contrast-color(#3f51b5, #000000, #ffffff);
+}
+.navbar.navbar-inverse .navbar-form .form-group input.form-control:-ms-input-placeholder,
+.navbar.navbar-inverse .navbar-form input.form-control:-ms-input-placeholder {
+ color: contrast-color(#3f51b5, #000000, #ffffff);
+}
+.navbar.navbar-inverse .navbar-form .form-group input.form-control::-webkit-input-placeholder,
+.navbar.navbar-inverse .navbar-form input.form-control::-webkit-input-placeholder {
+ color: contrast-color(#3f51b5, #000000, #ffffff);
+}
+.navbar.navbar-inverse .dropdown-menu {
+ border-radius: 3px !important;
+}
+.navbar.navbar-inverse .dropdown-menu li > a:hover, .navbar.navbar-inverse .dropdown-menu li > a:focus {
+ color: #FFFFFF;
+ background-color: #3f51b5;
+}
+.navbar.navbar-inverse .dropdown-menu .active > a {
+ background-color: #3f51b5;
+ color: contrast-color(#3f51b5, #000000, #ffffff);
+}
+.navbar.navbar-inverse .dropdown-menu .active > a:hover, .navbar.navbar-inverse .dropdown-menu .active > a:focus {
+ color: contrast-color(#3f51b5, #000000, #ffffff);
+}
+.navbar.navbar-primary {
+ background-color: #9c27b0;
+ color: #ffffff;
+}
+.navbar.navbar-primary .navbar-form .form-group input.form-control::-moz-placeholder,
+.navbar.navbar-primary .navbar-form input.form-control::-moz-placeholder {
+ color: #ffffff;
+}
+.navbar.navbar-primary .navbar-form .form-group input.form-control:-ms-input-placeholder,
+.navbar.navbar-primary .navbar-form input.form-control:-ms-input-placeholder {
+ color: #ffffff;
+}
+.navbar.navbar-primary .navbar-form .form-group input.form-control::-webkit-input-placeholder,
+.navbar.navbar-primary .navbar-form input.form-control::-webkit-input-placeholder {
+ color: #ffffff;
+}
+.navbar.navbar-primary .dropdown-menu {
+ border-radius: 3px !important;
+}
+.navbar.navbar-primary .dropdown-menu li > a:hover, .navbar.navbar-primary .dropdown-menu li > a:focus {
+ color: #FFFFFF;
+ background-color: #9c27b0;
+}
+.navbar.navbar-primary .dropdown-menu .active > a {
+ background-color: #9c27b0;
+ color: #ffffff;
+}
+.navbar.navbar-primary .dropdown-menu .active > a:hover, .navbar.navbar-primary .dropdown-menu .active > a:focus {
+ color: #ffffff;
+}
+.navbar.navbar-success {
+ background-color: #4caf50;
+ color: #ffffff;
+}
+.navbar.navbar-success .navbar-form .form-group input.form-control::-moz-placeholder,
+.navbar.navbar-success .navbar-form input.form-control::-moz-placeholder {
+ color: #ffffff;
+}
+.navbar.navbar-success .navbar-form .form-group input.form-control:-ms-input-placeholder,
+.navbar.navbar-success .navbar-form input.form-control:-ms-input-placeholder {
+ color: #ffffff;
+}
+.navbar.navbar-success .navbar-form .form-group input.form-control::-webkit-input-placeholder,
+.navbar.navbar-success .navbar-form input.form-control::-webkit-input-placeholder {
+ color: #ffffff;
+}
+.navbar.navbar-success .dropdown-menu {
+ border-radius: 3px !important;
+}
+.navbar.navbar-success .dropdown-menu li > a:hover, .navbar.navbar-success .dropdown-menu li > a:focus {
+ color: #FFFFFF;
+ background-color: #4caf50;
+}
+.navbar.navbar-success .dropdown-menu .active > a {
+ background-color: #4caf50;
+ color: #ffffff;
+}
+.navbar.navbar-success .dropdown-menu .active > a:hover, .navbar.navbar-success .dropdown-menu .active > a:focus {
+ color: #ffffff;
+}
+.navbar.navbar-info {
+ background-color: #03a9f4;
+ color: #ffffff;
+}
+.navbar.navbar-info .navbar-form .form-group input.form-control::-moz-placeholder,
+.navbar.navbar-info .navbar-form input.form-control::-moz-placeholder {
+ color: #ffffff;
+}
+.navbar.navbar-info .navbar-form .form-group input.form-control:-ms-input-placeholder,
+.navbar.navbar-info .navbar-form input.form-control:-ms-input-placeholder {
+ color: #ffffff;
+}
+.navbar.navbar-info .navbar-form .form-group input.form-control::-webkit-input-placeholder,
+.navbar.navbar-info .navbar-form input.form-control::-webkit-input-placeholder {
+ color: #ffffff;
+}
+.navbar.navbar-info .dropdown-menu {
+ border-radius: 3px !important;
+}
+.navbar.navbar-info .dropdown-menu li > a:hover, .navbar.navbar-info .dropdown-menu li > a:focus {
+ color: #FFFFFF;
+ background-color: #03a9f4;
+}
+.navbar.navbar-info .dropdown-menu .active > a {
+ background-color: #03a9f4;
+ color: #ffffff;
+}
+.navbar.navbar-info .dropdown-menu .active > a:hover, .navbar.navbar-info .dropdown-menu .active > a:focus {
+ color: #ffffff;
+}
+.navbar.navbar-warning {
+ background-color: #fbc02d;
+ color: #ffffff;
+}
+.navbar.navbar-warning .navbar-form .form-group input.form-control::-moz-placeholder,
+.navbar.navbar-warning .navbar-form input.form-control::-moz-placeholder {
+ color: #ffffff;
+}
+.navbar.navbar-warning .navbar-form .form-group input.form-control:-ms-input-placeholder,
+.navbar.navbar-warning .navbar-form input.form-control:-ms-input-placeholder {
+ color: #ffffff;
+}
+.navbar.navbar-warning .navbar-form .form-group input.form-control::-webkit-input-placeholder,
+.navbar.navbar-warning .navbar-form input.form-control::-webkit-input-placeholder {
+ color: #ffffff;
+}
+.navbar.navbar-warning .dropdown-menu {
+ border-radius: 3px !important;
+}
+.navbar.navbar-warning .dropdown-menu li > a:hover, .navbar.navbar-warning .dropdown-menu li > a:focus {
+ color: #FFFFFF;
+ background-color: #fbc02d;
+}
+.navbar.navbar-warning .dropdown-menu .active > a {
+ background-color: #fbc02d;
+ color: #ffffff;
+}
+.navbar.navbar-warning .dropdown-menu .active > a:hover, .navbar.navbar-warning .dropdown-menu .active > a:focus {
+ color: #ffffff;
+}
+.navbar.navbar-danger {
+ background-color: #f44336;
+ color: #ffffff;
+}
+.navbar.navbar-danger .navbar-form .form-group input.form-control::-moz-placeholder,
+.navbar.navbar-danger .navbar-form input.form-control::-moz-placeholder {
+ color: #ffffff;
+}
+.navbar.navbar-danger .navbar-form .form-group input.form-control:-ms-input-placeholder,
+.navbar.navbar-danger .navbar-form input.form-control:-ms-input-placeholder {
+ color: #ffffff;
+}
+.navbar.navbar-danger .navbar-form .form-group input.form-control::-webkit-input-placeholder,
+.navbar.navbar-danger .navbar-form input.form-control::-webkit-input-placeholder {
+ color: #ffffff;
+}
+.navbar.navbar-danger .dropdown-menu {
+ border-radius: 3px !important;
+}
+.navbar.navbar-danger .dropdown-menu li > a:hover, .navbar.navbar-danger .dropdown-menu li > a:focus {
+ color: #FFFFFF;
+ background-color: #f44336;
+}
+.navbar.navbar-danger .dropdown-menu .active > a {
+ background-color: #f44336;
+ color: #ffffff;
+}
+.navbar.navbar-danger .dropdown-menu .active > a:hover, .navbar.navbar-danger .dropdown-menu .active > a:focus {
+ color: #ffffff;
+}
+.navbar-inverse {
+ background-color: #3f51b5;
+}
+.navbar.navbar-transparent {
+ background-color: transparent;
+ box-shadow: none;
+ color: #fff;
+ padding-top: 25px;
+}
+.navbar.navbar-transparent .logo-container .brand {
+ color: #FFFFFF;
+}
+.navbar-fixed-top {
+ border-radius: 0;
+}
+@media (max-width: 1199px) {
+ .navbar {
+ /*
+ .navbar-form {
+ margin-top: 10px;
+ }
+ */
+ }
+ .navbar .navbar-brand {
+ height: 50px;
+ padding: 10px 15px;
+ }
+ .navbar .navbar-nav > li > a {
+ padding-top: 15px;
+ padding-bottom: 15px;
+ }
+}
+.navbar .alert {
+ border-radius: 0;
+ left: 0;
+ position: absolute;
+ right: 0;
+ top: 85px;
+ width: 100%;
+ z-index: 3;
+ transition: all 0.3s;
+}
+
+.dropdown-menu {
+ border: 0;
+ box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.26);
+}
+.dropdown-menu .divider {
+ background-color: rgba(0, 0, 0, 0.12);
+}
+.dropdown-menu li > a {
+ font-size: 13px;
+ padding: 10px 20px;
+ margin: 0 5px;
+ border-radius: 2px;
+ -webkit-transition: all 150ms linear;
+ -moz-transition: all 150ms linear;
+ -o-transition: all 150ms linear;
+ -ms-transition: all 150ms linear;
+ transition: all 150ms linear;
+}
+.dropdown-menu li > a:hover, .dropdown-menu li > a:focus {
+ box-shadow: 0 8px 10px 1px rgba(0, 0, 0, 0.14), 0 3px 14px 2px rgba(0, 0, 0, 0.12), 0 5px 5px -3px rgba(0, 0, 0, 0.2);
+}
+.dropdown-menu li {
+ position: relative;
+}
+.dropdown-menu li a:hover,
+.dropdown-menu li a:focus,
+.dropdown-menu li a:active {
+ background-color: #9c27b0;
+ color: #FFFFFF;
+}
+.dropdown-menu .divider {
+ margin: 5px 0;
+}
+
+@media (min-width: 992px) {
+ .dropdown .dropdown-menu {
+ -webkit-transition: all 150ms linear;
+ -moz-transition: all 150ms linear;
+ -o-transition: all 150ms linear;
+ -ms-transition: all 150ms linear;
+ transition: all 150ms linear;
+ margin-top: -20px;
+ opacity: 0;
+ visibility: hidden;
+ display: block;
+ }
+ .dropdown.open .dropdown-menu {
+ opacity: 1;
+ visibility: visible;
+ margin-top: 1px;
+ }
+}
+.info {
+ max-width: 360px;
+ margin: 0 auto;
+ padding: 70px 0 30px;
+}
+.info .icon {
+ color: #999999;
+}
+.info .icon > i {
+ font-size: 4.4em;
+}
+.info .info-title {
+ color: #3C4858;
+ margin: 30px 0 15px;
+}
+.info p {
+ color: #999999;
+}
+
+.icon.icon-primary {
+ color: #9c27b0;
+}
+.icon.icon-info {
+ color: #03a9f4;
+}
+.icon.icon-success {
+ color: #4caf50;
+}
+.icon.icon-warning {
+ color: #fbc02d;
+}
+.icon.icon-danger {
+ color: #f44336;
+}
+
+.alert {
+ border: 0;
+ border-radius: 0;
+ padding: 20px 15px;
+ line-height: 20px;
+}
+.alert b {
+ font-weight: 500;
+ text-transform: uppercase;
+ font-size: 12px;
+}
+.alert, .alert.alert-default {
+ background-color: white;
+ color: #ffffff;
+}
+.alert a, .alert .alert-link, .alert.alert-default a, .alert.alert-default .alert-link {
+ color: #ffffff;
+}
+.alert.alert-inverse {
+ background-color: #4558be;
+ color: contrast-color(#3f51b5, #000000, #ffffff);
+}
+.alert.alert-inverse a, .alert.alert-inverse .alert-link {
+ color: contrast-color(#3f51b5, #000000, #ffffff);
+}
+.alert.alert-primary {
+ background-color: #a72abd;
+ color: #ffffff;
+}
+.alert.alert-primary a, .alert.alert-primary .alert-link {
+ color: #ffffff;
+}
+.alert.alert-success {
+ background-color: #55b559;
+ color: #ffffff;
+}
+.alert.alert-success a, .alert.alert-success .alert-link {
+ color: #ffffff;
+}
+.alert.alert-info {
+ background-color: #0ab1fc;
+ color: #ffffff;
+}
+.alert.alert-info a, .alert.alert-info .alert-link {
+ color: #ffffff;
+}
+.alert.alert-warning {
+ background-color: #fbc53c;
+ color: #ffffff;
+}
+.alert.alert-warning a, .alert.alert-warning .alert-link {
+ color: #ffffff;
+}
+.alert.alert-danger {
+ background-color: #f55145;
+ color: #ffffff;
+}
+.alert.alert-danger a, .alert.alert-danger .alert-link {
+ color: #ffffff;
+}
+.alert-info, .alert-danger, .alert-warning, .alert-success {
+ color: #ffffff;
+}
+.alert-default a, .alert-default .alert-link {
+ color: rgba(0,0,0, 0.87);
+}
+.alert .alert-icon {
+ display: block;
+ float: left;
+ margin-right: 15px;
+}
+.alert .alert-icon i {
+ margin-top: -7px;
+ top: 5px;
+ position: relative;
+}
+
+.progress {
+ height: 4px;
+ border-radius: 0;
+ box-shadow: none;
+ background: #DDDDDD;
+}
+.progress .progress-bar {
+ box-shadow: none;
+}
+.progress .progress-bar, .progress .progress-bar.progress-bar-default {
+ background-color: #9c27b0;
+}
+.progress .progress-bar.progress-bar-inverse {
+ background-color: #3f51b5;
+}
+.progress .progress-bar.progress-bar-primary {
+ background-color: #9c27b0;
+}
+.progress .progress-bar.progress-bar-success {
+ background-color: #4caf50;
+}
+.progress .progress-bar.progress-bar-info {
+ background-color: #03a9f4;
+}
+.progress .progress-bar.progress-bar-warning {
+ background-color: #fbc02d;
+}
+.progress .progress-bar.progress-bar-danger {
+ background-color: #f44336;
+}
+.progress.progress-line-primary {
+ background: rgba(156, 39, 176, 0.2);
+}
+.progress.progress-line-info {
+ background: rgba(3, 169, 244, 0.2);
+}
+.progress.progress-line-success {
+ background: rgba(76, 175, 80, 0.2);
+}
+.progress.progress-line-warning {
+ background: rgba(251, 192, 45, 0.2);
+}
+.progress.progress-line-danger {
+ background: rgba(244, 67, 54, 0.2);
+}
+
+h1, .h1 {
+ font-size: 3.8em;
+ line-height: 1.15em;
+}
+
+h2, .h2 {
+ font-size: 2.6em;
+}
+
+h3, .h3 {
+ font-size: 1.825em;
+ line-height: 1.4em;
+ margin: 20px 0 10px;
+}
+
+h4, .h4 {
+ font-size: 1.3em;
+ line-height: 1.4em;
+}
+
+h5, .h5 {
+ font-size: 1.25em;
+ line-height: 1.4em;
+ margin-bottom: 15px;
+}
+
+h6, .h6 {
+ font-size: 1em;
+ text-transform: uppercase;
+}
+
+.title,
+.card-title,
+.info-title,
+.footer-brand,
+.footer-big h5,
+.footer-big h4,
+.media .media-heading {
+ font-weight: 700;
+}
+.title,
+.title a,
+.card-title,
+.card-title a,
+.info-title,
+.info-title a,
+.footer-brand,
+.footer-brand a,
+.footer-big h5,
+.footer-big h5 a,
+.footer-big h4,
+.footer-big h4 a,
+.media .media-heading,
+.media .media-heading a {
+ color: #3C4858;
+ text-decoration: none;
+}
+
+h2.title {
+ margin-bottom: 30px;
+}
+
+.description,
+.card-description,
+.footer-big p {
+ color: #999999;
+}
+
+.text-warning {
+ color: #fbc02d;
+}
+
+.text-primary {
+ color: #9c27b0;
+}
+
+.text-danger {
+ color: #f44336;
+}
+
+.text-success {
+ color: #4caf50;
+}
+
+.text-info {
+ color: #03a9f4;
+}
+
+.nav-tabs {
+ background: #9c27b0;
+ border: 0;
+ border-radius: 3px;
+ padding: 0 15px;
+}
+.nav-tabs > li > a {
+ color: #FFFFFF;
+ border: 0;
+ margin: 0;
+ border-radius: 3px;
+ line-height: 24px;
+ text-transform: uppercase;
+ font-size: 12px;
+}
+.nav-tabs > li > a:hover {
+ background-color: transparent;
+ border: 0;
+}
+.nav-tabs > li > a, .nav-tabs > li > a:hover, .nav-tabs > li > a:focus {
+ background-color: transparent;
+ border: 0 !important;
+ color: #FFFFFF !important;
+ font-weight: 500;
+}
+.nav-tabs > li.disabled > a, .nav-tabs > li.disabled > a:hover {
+ color: rgba(255, 255, 255, 0.5);
+}
+.nav-tabs > li .material-icons {
+ margin: -1px 5px 0 0;
+}
+.nav-tabs > li.active > a, .nav-tabs > li.active > a:hover, .nav-tabs > li.active > a:focus {
+ background-color: rgba(255, 255, 255, 0.2);
+ transition: background-color .1s .2s;
+}
+
+.popover, .tooltip-inner {
+ color: #555555;
+ line-height: 1.5em;
+ background: #FFFFFF;
+ border: none;
+ border-radius: 3px;
+ box-shadow: 0 8px 10px 1px rgba(0, 0, 0, 0.14), 0 3px 14px 2px rgba(0, 0, 0, 0.12), 0 5px 5px -3px rgba(0, 0, 0, 0.2);
+}
+
+.popover {
+ padding: 0;
+ box-shadow: 0 16px 24px 2px rgba(0, 0, 0, 0.14), 0 6px 30px 5px rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(0, 0, 0, 0.2);
+}
+.popover.left > .arrow, .popover.right > .arrow, .popover.top > .arrow, .popover.bottom > .arrow {
+ border: none;
+}
+
+.popover-title {
+ background-color: #FFFFFF;
+ border: none;
+ padding: 15px 15px 5px;
+ font-size: 1.3em;
+}
+
+.popover-content {
+ padding: 10px 15px 15px;
+ line-height: 1.4;
+}
+
+.tooltip.in {
+ opacity: 1;
+ -webkit-transform: translate3d(0, 0px, 0);
+ -moz-transform: translate3d(0, 0px, 0);
+ -o-transform: translate3d(0, 0px, 0);
+ -ms-transform: translate3d(0, 0px, 0);
+ transform: translate3d(0, 0px, 0);
+}
+
+.tooltip {
+ opacity: 0;
+ transition: opacity, transform .2s ease;
+ -webkit-transform: translate3d(0, 5px, 0);
+ -moz-transform: translate3d(0, 5px, 0);
+ -o-transform: translate3d(0, 5px, 0);
+ -ms-transform: translate3d(0, 5px, 0);
+ transform: translate3d(0, 5px, 0);
+}
+.tooltip.left .tooltip-arrow {
+ border-left-color: #FFFFFF;
+}
+.tooltip.right .tooltip-arrow {
+ border-right-color: #FFFFFF;
+}
+.tooltip.top .tooltip-arrow {
+ border-top-color: #FFFFFF;
+}
+.tooltip.bottom .tooltip-arrow {
+ border-bottom-color: #FFFFFF;
+}
+
+.tooltip-inner {
+ padding: 10px 15px;
+ min-width: 130px;
+}
+
+.carousel .carousel-control {
+ width: 50%;
+}
+.carousel .carousel-control.left, .carousel .carousel-control.right {
+ background-image: none;
+}
+.carousel .carousel-control .material-icons,
+.carousel .carousel-control .fa {
+ display: none;
+}
+.carousel .left {
+ cursor: url("../img/arrow-left.png"), url("../img/arrow-left.cur"), default !important;
+}
+.carousel .right {
+ cursor: url("../img/arrow-right.png"), url("../img/arrow-right.cur"), default !important;
+}
+.carousel .carousel-indicators {
+ bottom: 5px;
+}
+.carousel .carousel-indicators li,
+.carousel .carousel-indicators .active {
+ margin: 11px 10px;
+}
+.carousel .carousel-indicators li {
+ background: #FFFFFF;
+ box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 1px 5px 0 rgba(0, 0, 0, 0.12);
+ border-radius: 2px;
+}
+.carousel .carousel-indicators .active {
+ margin-top: 10px;
+ -webkit-transform: scale(1.5);
+ -moz-transform: scale(1.5);
+ -o-transform: scale(1.5);
+ -ms-transform: scale(1.5);
+ transform: scale(1.5);
+ box-shadow: 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12), 0 2px 4px -1px rgba(0, 0, 0, 0.2);
+}
+.carousel .carousel-caption {
+ padding-bottom: 45px;
+}
+.carousel .carousel-caption .material-icons {
+ position: relative;
+ top: 5px;
+}
+
+.card {
+ display: inline-block;
+ position: relative;
+ width: 100%;
+ border-radius: 3px;
+ color: rgba(0,0,0, 0.87);
+ background: #fff;
+ box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 1px 5px 0 rgba(0, 0, 0, 0.12);
+}
+.card .card-height-indicator {
+ margin-top: 100%;
+}
+.card .card-content {
+ position: absolute;
+ top: 0;
+ bottom: 0;
+ left: 0;
+ right: 0;
+}
+.card .card-image {
+ height: 60%;
+ position: relative;
+ overflow: hidden;
+}
+.card .card-image img {
+ width: 100%;
+ height: 100%;
+ border-top-left-radius: 2px;
+ border-top-right-radius: 2px;
+ pointer-events: none;
+}
+.card .card-image .card-image-headline {
+ position: absolute;
+ bottom: 16px;
+ left: 18px;
+ color: #fff;
+ font-size: 2em;
+}
+.card .content {
+ padding: 15px;
+}
+.card .card-body {
+ height: 30%;
+ padding: 18px;
+}
+.card .card-footer {
+ height: 10%;
+ padding: 18px;
+}
+.card .card-footer button, .card .card-footer a {
+ margin: 0 !important;
+ position: relative;
+ bottom: 25px;
+ width: auto;
+}
+.card .card-footer button:first-child, .card .card-footer a:first-child {
+ left: -15px;
+}
+.card .header {
+ box-shadow: 0 16px 38px -12px rgba(0, 0, 0, 0.56), 0 4px 25px 0px rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(0, 0, 0, 0.2);
+ margin: 15px;
+ border-radius: 3px;
+ padding: 15px 0;
+ background-color: #FFFFFF;
+}
+.card .header-primary {
+ background: linear-gradient(60deg, #ab47bc, #7b1fa2);
+}
+.card .header-info {
+ background: linear-gradient(60deg, #29b6f6, #0288d1);
+}
+.card .header-success {
+ background: linear-gradient(60deg, #66bb6a, #388e3c);
+}
+.card .header-warning {
+ background: linear-gradient(60deg, #fdd835, #fbc02d);
+}
+.card .header-danger {
+ background: linear-gradient(60deg, #ef5350, #d32f2f);
+}
+.card [class*="header-"] {
+ color: #FFFFFF;
+}
+
+.card-raised {
+ box-shadow: 0 16px 38px -12px rgba(0, 0, 0, 0.56), 0 4px 25px 0px rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(0, 0, 0, 0.2);
+}
+
+.card-signup .header {
+ box-shadow: 0 16px 38px -12px rgba(0, 0, 0, 0.56), 0 4px 25px 0px rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(0, 0, 0, 0.2);
+ margin-left: 20px;
+ margin-right: 20px;
+ margin-top: -40px;
+ padding: 20px 0;
+}
+.card-signup .text-divider {
+ margin-top: 30px;
+ margin-bottom: 0px;
+ text-align: center;
+}
+.card-signup .content {
+ padding: 0px 30px 0px 10px;
+}
+.card-signup .checkbox {
+ margin-top: 20px;
+}
+.card-signup .checkbox label {
+ margin-left: 17px;
+}
+.card-signup .checkbox .checkbox-material {
+ padding-right: 12px;
+}
+.card-signup .social-line {
+ margin-top: 15px;
+ text-align: center;
+}
+.card-signup .social-line .btn {
+ color: #FFFFFF;
+ margin-left: 5px;
+ margin-right: 5px;
+}
+
+.card-nav-tabs {
+ margin-top: 45px;
+}
+.card-nav-tabs .header {
+ margin-top: -30px;
+}
+.card-nav-tabs .nav-tabs {
+ background: transparent;
+}
+
+.card-plain {
+ background: transparent;
+ box-shadow: none;
+}
+.card-plain .header {
+ margin-left: 0;
+ margin-right: 0;
+}
+.card-plain .content {
+ padding-left: 0;
+ padding-right: 0;
+}
+
+.modal-content {
+ box-shadow: 0 27px 24px 0 rgba(0, 0, 0, 0.2), 0 40px 77px 0 rgba(0, 0, 0, 0.22);
+ border-radius: 3px;
+ border: none;
+}
+.modal-content .modal-header {
+ border-bottom: none;
+ padding-top: 24px;
+ padding-right: 24px;
+ padding-bottom: 0;
+ padding-left: 24px;
+}
+.modal-content .modal-body {
+ padding-top: 24px;
+ padding-right: 24px;
+ padding-bottom: 16px;
+ padding-left: 24px;
+}
+.modal-content .modal-footer {
+ border-top: none;
+ padding: 7px;
+}
+.modal-content .modal-footer button {
+ margin: 0;
+ padding-left: 16px;
+ padding-right: 16px;
+ width: auto;
+}
+.modal-content .modal-footer button.pull-left {
+ padding-left: 5px;
+ padding-right: 5px;
+ position: relative;
+ left: -5px;
+}
+.modal-content .modal-footer button + button {
+ margin-bottom: 16px;
+}
+.modal-content .modal-body + .modal-footer {
+ padding-top: 0;
+}
+
+.modal-backdrop {
+ background: rgba(0, 0, 0, 0.3);
+}
+
+.modal .modal-dialog {
+ margin-top: 100px;
+}
+.modal .modal-header .close {
+ color: #555555;
+}
+.modal .modal-header .close:hover, .modal .modal-header .close:focus {
+ opacity: 1;
+ color: #555555;
+}
+
+.panel {
+ border-radius: 2px;
+ border: 0;
+ box-shadow: 0 1px 6px 0 rgba(0, 0, 0, 0.12), 0 1px 6px 0 rgba(0, 0, 0, 0.12);
+}
+.panel > .panel-heading, .panel.panel-default > .panel-heading {
+ background-color: #eeeeee;
+}
+.panel.panel-inverse > .panel-heading {
+ background-color: #3f51b5;
+}
+.panel.panel-primary > .panel-heading {
+ background-color: #9c27b0;
+}
+.panel.panel-success > .panel-heading {
+ background-color: #4caf50;
+}
+.panel.panel-info > .panel-heading {
+ background-color: #03a9f4;
+}
+.panel.panel-warning > .panel-heading {
+ background-color: #fbc02d;
+}
+.panel.panel-danger > .panel-heading {
+ background-color: #f44336;
+}
+
+[class*="panel-"] > .panel-heading {
+ color: #ffffff;
+ border: 0;
+}
+
+.panel-default > .panel-heading, .panel:not([class*="panel-"]) > .panel-heading {
+ color: rgba(0,0,0, 0.87);
+}
+
+.panel-footer {
+ background-color: #eeeeee;
+}
+
+hr.on-dark {
+ color: #1a1a1a;
+}
+hr.on-light {
+ color: white;
+}
+@media (-webkit-min-device-pixel-ratio: 0.75), (min--moz-device-pixel-ratio: 0.75), (-o-device-pixel-ratio: 3 / 4), (min-device-pixel-ratio: 0.75), (min-resolution: 0.75dppx), (min-resolution: 120dpi) {
+ hr {
+ height: 0.75px;
+ }
+}
+@media (-webkit-min-device-pixel-ratio: 1), (min--moz-device-pixel-ratio: 1), (-o-device-pixel-ratio: 1), (min-device-pixel-ratio: 1), (min-resolution: 1dppx), (min-resolution: 160dpi) {
+ hr {
+ height: 1px;
+ }
+}
+@media (-webkit-min-device-pixel-ratio: 1.33), (min--moz-device-pixel-ratio: 1.33), (-o-device-pixel-ratio: 133 / 100), (min-device-pixel-ratio: 1.33), (min-resolution: 1.33dppx), (min-resolution: 213dpi) {
+ hr {
+ height: 1.333px;
+ }
+}
+@media (-webkit-min-device-pixel-ratio: 1.5), (min--moz-device-pixel-ratio: 1.5), (-o-device-pixel-ratio: 3 / 2), (min-device-pixel-ratio: 1.5), (min-resolution: 1.5dppx), (min-resolution: 240dpi) {
+ hr {
+ height: 1.5px;
+ }
+}
+@media (-webkit-min-device-pixel-ratio: 2), (min--moz-device-pixel-ratio: 2), (-o-device-pixel-ratio: 2 / 1), (min-device-pixel-ratio: 2), (min-resolution: 2dppx), (min-resolution: 380dpi) {
+ hr {
+ height: 2px;
+ }
+}
+@media (-webkit-min-device-pixel-ratio: 3), (min--moz-device-pixel-ratio: 3), (-o-device-pixel-ratio: 3 / 1), (min-device-pixel-ratio: 3), (min-resolution: 3dppx), (min-resolution: 480dpi) {
+ hr {
+ height: 3px;
+ }
+}
+@media (-webkit-min-device-pixel-ratio: 4), (min--moz-device-pixel-ratio: 4), (-o-device-pixel-ratio: 4 / 1), (min-device-pixel-ratio: 3), (min-resolution: 4dppx), (min-resolution: 640dpi) {
+ hr {
+ height: 4px;
+ }
+}
+
+.img-thumbnail {
+ border-radius: 16px;
+}
+
+.img-raised {
+ box-shadow: 0 16px 38px -12px rgba(0, 0, 0, 0.56), 0 4px 25px 0px rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(0, 0, 0, 0.2);
+}
+
+* {
+ -webkit-tap-highlight-color: rgba(255, 255, 255, 0);
+ -webkit-tap-highlight-color: transparent;
+}
+*:focus {
+ outline: 0;
+}
+
+a:focus, a:active,
+button:active, button:focus, button:hover,
+button::-moz-focus-inner,
+input[type="reset"]::-moz-focus-inner,
+input[type="button"]::-moz-focus-inner,
+input[type="submit"]::-moz-focus-inner,
+select::-moz-focus-inner,
+input[type="file"] > input[type="button"]::-moz-focus-inner {
+ outline: 0 !important;
+}
+
+.section {
+ padding: 70px 0;
+}
+
+.section-navbars {
+ padding-bottom: 0;
+}
+
+.section-full-screen {
+ height: 100vh;
+}
+
+.section-signup {
+ padding-top: 20vh;
+}
+
+.noUi-target,
+.noUi-target * {
+ -webkit-touch-callout: none;
+ -ms-touch-action: none;
+ user-select: none;
+ box-sizing: border-box;
+}
+
+.noUi-base {
+ width: 100%;
+ height: 100%;
+ position: relative;
+}
+
+.noUi-origin {
+ position: absolute;
+ right: 0;
+ top: 0;
+ left: 0;
+ bottom: 0;
+}
+
+.noUi-handle {
+ position: relative;
+ z-index: 1;
+ box-sizing: border-box;
+}
+
+.noUi-stacking .noUi-handle {
+ z-index: 10;
+}
+
+.noUi-state-tap .noUi-origin {
+ transition: left 0.3s, top 0.3s;
+}
+
+.noUi-state-drag * {
+ cursor: inherit !important;
+}
+
+.noUi-horizontal {
+ height: 10px;
+}
+
+.noUi-handle {
+ box-sizing: border-box;
+ width: 14px;
+ height: 14px;
+ left: -10px;
+ top: -6px;
+ cursor: pointer;
+ border-radius: 100%;
+ transition: all 0.2s ease-out;
+ border: 1px solid;
+ background: #FFFFFF;
+ box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 1px 5px 0 rgba(0, 0, 0, 0.12);
+}
+
+.noUi-vertical .noUi-handle {
+ margin-left: 5px;
+ cursor: ns-resize;
+}
+
+.noUi-horizontal.noUi-extended {
+ padding: 0 15px;
+}
+
+.noUi-horizontal.noUi-extended .noUi-origin {
+ right: -15px;
+}
+
+.noUi-background {
+ height: 2px;
+ margin: 20px 0;
+}
+
+.noUi-origin {
+ margin: 0;
+ border-radius: 0;
+ height: 2px;
+ background: #c8c8c8;
+}
+.noUi-origin[style^="left: 0"] .noUi-handle {
+ background-color: #fff;
+ border: 2px solid #c8c8c8;
+}
+.noUi-origin[style^="left: 0"] .noUi-handle.noUi-active {
+ border-width: 1px;
+}
+
+.noUi-target {
+ border-radius: 3px;
+}
+
+.noUi-horizontal {
+ height: 2px;
+ margin: 15px 0;
+}
+
+.noUi-vertical {
+ height: 100%;
+ width: 2px;
+ margin: 0 15px;
+ display: inline-block;
+}
+
+.noUi-handle.noUi-active {
+ transform: scale3d(2, 2, 1);
+}
+
+[disabled].noUi-slider {
+ opacity: 0.5;
+}
+
+[disabled] .noUi-handle {
+ cursor: not-allowed;
+}
+
+.slider {
+ background: #c8c8c8;
+}
+
+.slider.noUi-connect {
+ background-color: #9c27b0;
+}
+.slider .noUi-handle {
+ border-color: #9c27b0;
+}
+.slider.slider-info .noUi-connect, .slider.slider-info.noUi-connect {
+ background-color: #03a9f4;
+}
+.slider.slider-info .noUi-handle {
+ border-color: #03a9f4;
+}
+.slider.slider-success .noUi-connect, .slider.slider-success.noUi-connect {
+ background-color: #4caf50;
+}
+.slider.slider-success .noUi-handle {
+ border-color: #4caf50;
+}
+.slider.slider-warning .noUi-connect, .slider.slider-warning.noUi-connect {
+ background-color: #fbc02d;
+}
+.slider.slider-warning .noUi-handle {
+ border-color: #fbc02d;
+}
+.slider.slider-danger .noUi-connect, .slider.slider-danger.noUi-connect {
+ background-color: #f44336;
+}
+.slider.slider-danger .noUi-handle {
+ border-color: #f44336;
+}
+
+.dropdownjs::after {
+ right: 5px;
+ top: 3px;
+ font-size: 25px;
+ position: absolute;
+ font-family: 'Material Icons';
+ font-style: normal;
+ font-weight: 400;
+ content: "\e5c5";
+ pointer-events: none;
+ color: #757575;
+}
+
+/*!
+ * Datepicker for Bootstrap
+ *
+ * Copyright 2012 Stefan Petre
+ * Licensed under the Apache License v2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ */
+/*
+ *
+ * SCSS by Creative Tim
+ * http://www.creative-tim.com
+ *
+ */
+.datepicker {
+ top: 0;
+ left: 0;
+ padding: 4px;
+ margin-top: 1px;
+ -webkit-border-radius: 4px;
+ -moz-border-radius: 4px;
+ border-radius: 4px;
+}
+.datepicker > div {
+ display: none;
+}
+.datepicker table {
+ width: 100%;
+ margin: 0;
+}
+.datepicker td,
+.datepicker th {
+ text-align: center;
+ width: 20px;
+ height: 20px;
+ -webkit-border-radius: 4px;
+ -moz-border-radius: 4px;
+ border-radius: 4px;
+}
+.datepicker td {
+ text-align: center;
+}
+.datepicker td p {
+ font-size: 1em;
+ font-weight: 400;
+ border-radius: 50%;
+ height: 29px;
+ line-height: 29px;
+ margin: 3px 0 8px;
+ width: 29px;
+}
+.datepicker td :hover {
+ cursor: pointer;
+}
+.datepicker th {
+ font-weight: 500;
+}
+.datepicker th.switch-datepicker {
+ font-size: 1em;
+}
+.datepicker .prev p,
+.datepicker .next p {
+ font-size: 1.825em;
+}
+.datepicker p:hover {
+ background: #eeeeee;
+}
+.datepicker .day.disabled {
+ color: #eeeeee;
+}
+.datepicker td.old,
+.datepicker td.new {
+ color: #999999;
+ border-top: 0;
+}
+.datepicker td.active p,
+.datepicker td.active:hover p {
+ box-shadow: 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12), 0 2px 4px -1px rgba(0, 0, 0, 0.2);
+ color: #ffffff;
+ background-color: #9c27b0;
+}
+.datepicker td.primary p,
+.datepicker td.primary:hover p {
+ background-color: #9c27b0;
+}
+.datepicker td.info p,
+.datepicker td.info:hover p {
+ background-color: #03a9f4;
+}
+.datepicker td.success p,
+.datepicker td.success:hover p {
+ background-color: #4caf50;
+}
+.datepicker td.warning p,
+.datepicker td.warning:hover p {
+ background-color: #fbc02d;
+}
+.datepicker td.danger p,
+.datepicker td.danger:hover p {
+ background-color: #f44336;
+}
+.datepicker span {
+ display: block;
+ width: 55px;
+ height: 54px;
+ line-height: 54px;
+ float: left;
+ margin: 2px;
+ cursor: pointer;
+ -webkit-border-radius: 4px;
+ -moz-border-radius: 4px;
+ border-radius: 4px;
+}
+.datepicker span.old {
+ color: #999999;
+}
+.datepicker span.active, .datepicker span.active:focus, .datepicker span.active:hover, .datepicker span.active:active {
+ background-color: #9c27b0;
+ box-shadow: 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12), 0 2px 4px -1px rgba(0, 0, 0, 0.2);
+}
+.datepicker span.active {
+ color: #FFFFFF;
+}
+.datepicker span:hover {
+ background-color: #EEEEEE;
+}
+.datepicker span.primary,
+.datepicker span.primary:hover {
+ background-color: #9c27b0;
+}
+.datepicker span.info,
+.datepicker span.info:hover {
+ background-color: #03a9f4;
+}
+.datepicker span.success,
+.datepicker span.success:hover {
+ background-color: #4caf50;
+}
+.datepicker span.warning,
+.datepicker span.warning:hover {
+ background-color: #fbc02d;
+}
+.datepicker span.danger,
+.datepicker span.danger:hover {
+ background-color: #f44336;
+}
+.datepicker th.switch-datepicker {
+ width: 145px;
+}
+.datepicker th.next,
+.datepicker th.prev {
+ font-size: 21px;
+}
+.datepicker thead tr:first-child th {
+ cursor: pointer;
+}
+.datepicker thead tr:first-child th:hover {
+ background: #eeeeee;
+}
+.datepicker.dropdown-menu {
+ border-radius: 3px;
+ box-shadow: 0 16px 38px -12px rgba(0, 0, 0, 0.56), 0 4px 25px 0px rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(0, 0, 0, 0.2);
+ -webkit-transition: all 150ms linear;
+ -moz-transition: all 150ms linear;
+ -o-transition: all 150ms linear;
+ -ms-transition: all 150ms linear;
+ transition: all 150ms linear;
+ margin-top: -20px;
+ opacity: 0;
+ visibility: hidden;
+}
+.datepicker.dropdown-menu.open {
+ opacity: 1;
+ visibility: visible;
+ margin-top: 1px;
+}
+.datepicker .table-condensed > tbody > tr > td {
+ padding: 2px;
+}
+.datepicker .table-condensed > thead > tr > th {
+ padding: 0;
+}
+
+.input-append.date .add-on i,
+.input-prepend.date .add-on i {
+ display: block;
+ cursor: pointer;
+ width: 16px;
+ height: 16px;
+}
+
+.datepicker-months thead {
+ padding: 0 0 3px;
+ display: block;
+}
+
+.withripple {
+ position: relative;
+}
+
+.ripple-container {
+ position: absolute;
+ top: 0;
+ left: 0;
+ z-index: 1;
+ width: 100%;
+ height: 100%;
+ overflow: hidden;
+ border-radius: inherit;
+ pointer-events: none;
+}
+
+.ripple {
+ position: absolute;
+ width: 20px;
+ height: 20px;
+ margin-left: -10px;
+ margin-top: -10px;
+ border-radius: 100%;
+ background-color: #000;
+ background-color: rgba(0, 0, 0, 0.05);
+ transform: scale(1);
+ transform-origin: 50%;
+ opacity: 0;
+ pointer-events: none;
+}
+
+.ripple.ripple-on {
+ transition: opacity 0.15s ease-in 0s, transform 0.5s cubic-bezier(0.4, 0, 0.2, 1) 0.1s;
+ opacity: 0.1;
+}
+
+.ripple.ripple-out {
+ transition: opacity 0.1s linear 0s !important;
+ opacity: 0;
+}
+
+.wrapper > .header {
+ min-height: 300px;
+ background-position: center center;
+ background-size: cover;
+}
+
+.main {
+ background: #FFFFFF;
+ position: relative;
+ z-index: 3;
+}
+
+.main-raised {
+ margin: -60px 30px 0px;
+ border-radius: 6px;
+ box-shadow: 0 16px 24px 2px rgba(0, 0, 0, 0.14), 0 6px 30px 5px rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(0, 0, 0, 0.2);
+}
+
+.title {
+ font-weight: 500;
+ color: #3C4858;
+}
+
+h2.title {
+ margin-bottom: 30px;
+}
+
+.description {
+ color: #999999;
+}
+
+.header-filter {
+ position: relative;
+}
+.header-filter:after {
+ position: absolute;
+ z-index: 1;
+ width: 100%;
+ height: 100%;
+ display: block;
+ left: 0;
+ top: 0;
+ content: "";
+ background-color: rgba(0, 0, 0, 0.4);
+}
+.header-filter .container {
+ z-index: 2;
+ position: relative;
+}
+
+.gallery .image img {
+ width: 100%;
+}
+
+.features {
+ padding: 80px 0 0;
+}
+
+.team {
+ margin-top: 80px;
+}
+.team .team-player .title {
+ margin: 30px auto;
+}
+.team .team-player img {
+ max-width: 170px;
+}
+
+.nav-align-center {
+ text-align: center;
+}
+.nav-align-center .nav-pills {
+ display: inline-block;
+}
+
+.navbar-absolute {
+ position: absolute;
+ width: 100%;
+ padding-top: 10px;
+ z-index: 1031;
+}
+
+.index-page .wrapper > .header {
+ height: 90vh;
+}
+.index-page .brand {
+ margin-top: 30vh;
+ color: #FFFFFF;
+ text-align: center;
+}
+.index-page .brand h1 {
+ font-size: 4.8em;
+ font-weight: 600;
+}
+.index-page .brand h3 {
+ font-size: 1.5em;
+ text-transform: uppercase;
+ max-width: 400px;
+ margin: 10px auto 0;
+}
+.index-page .section-basic {
+ padding-top: 15px;
+}
+.index-page .header-filter:after {
+ background: rgba(101, 47, 142, 0.64);
+ background: linear-gradient(45deg, rgba(101, 47, 142, 0.88) 0%, rgba(125, 46, 185, 0.45) 100%);
+ background: -moz-linear-gradient(135deg, rgba(101, 47, 142, 0.88) 0%, rgba(125, 46, 185, 0.45) 100%);
+ background: -webkit-linear-gradient(135deg, rgba(101, 47, 142, 0.88) 0%, rgba(125, 46, 185, 0.45) 100%);
+}
+
+.landing-page .header {
+ height: 100vh;
+}
+.landing-page .header .container {
+ padding-top: 26vh;
+ color: #FFFFFF;
+}
+.landing-page .header .share {
+ margin-top: 150px;
+}
+.landing-page .header h1 {
+ font-weight: 600;
+}
+.landing-page .header .title {
+ color: #FFFFFF;
+}
+.landing-page .wrapper {
+ background: #CCCCCC;
+}
+
+.profile-page .header {
+ height: 380px;
+ background-position: top center;
+}
+.profile-page .profile {
+ text-align: center;
+}
+.profile-page .profile img {
+ max-width: 160px;
+ margin: -80px auto 0;
+}
+.profile-page .description {
+ margin: 30px auto 0;
+ max-width: 600px;
+}
+.profile-page .profile-tabs {
+ margin-top: 60px;
+}
+.profile-page .gallery {
+ margin-top: 45px;
+ padding-bottom: 50px;
+}
+.profile-page .gallery img {
+ width: 100%;
+ margin-bottom: 30px;
+}
+
+.signup-page .wrapper > .header {
+ min-height: 100vh;
+}
+.signup-page .wrapper .card-signup {
+ margin: 160px 0 40px;
+}
+.signup-page .footer .copyright,
+.signup-page .footer a {
+ color: #FFFFFF;
+}
+
+.landing-page .navbar-transparent,
+.profile-page .navbar-transparent,
+.signup-page .navbar-transparent,
+.index-page .navbar-transparent {
+ padding-top: 25px;
+}
+
+@media (max-width: 991px) {
+ .landing-page .header {
+ height: auto;
+ min-height: 100vh;
+ }
+ .landing-page .header .container {
+ padding-bottom: 70px;
+ }
+}
+@media (max-width: 768px) {
+ .footer .copyright {
+ display: inline-block;
+ text-align: center;
+ padding: 10px 0;
+ float: none !important;
+ width: 100%;
+ }
+
+ .navbar.navbar-transparent {
+ background-color: rgba(0, 0, 0, 0.4);
+ padding-top: 10px;
+ border-radius: 0;
+ }
+
+ .main-raised {
+ margin-left: 10px;
+ margin-right: 10px;
+ }
+}
+
+/*# sourceMappingURL=material-kit.css.map */
diff --git a/templates/assets/material-kit/dist/css/material-kit.css.map b/templates/assets/material-kit/dist/css/material-kit.css.map
new file mode 100644
index 0000000..a358f2d
--- /dev/null
+++ b/templates/assets/material-kit/dist/css/material-kit.css.map
@@ -0,0 +1,7 @@
+{
+"version": 3,
+"mappings": "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",
+"sources": ["../sass/material-kit/_core.scss","../sass/material-kit/_variables.scss","../sass/material-kit/_variables_bootstrap.scss","../sass/material-kit/_mixins.scss","../sass/material-kit/_form.scss","../sass/material-kit/_buttons.scss","../sass/material-kit/_shadows.scss","../sass/material-kit/_checkboxes.scss","../sass/material-kit/_togglebutton.scss","../sass/material-kit/_radios.scss","../sass/material-kit/_inputs-size.scss","../sass/material-kit/_inputs.scss","../sass/material-kit/_colors.scss","../sass/material-kit/_pagination.scss","../sass/material-kit/_labels.scss","../sass/material-kit/_pills.scss","../sass/material-kit/_footers.scss","../sass/material-kit/_navbar.scss","../sass/material-kit/_dropdown.scss","../sass/material-kit/_info-areas.scss","../sass/material-kit/_alerts.scss","../sass/material-kit/_progress.scss","../sass/material-kit/_typography.scss","../sass/material-kit/_tabs.scss","../sass/material-kit/_popups.scss","../sass/material-kit/_carousel.scss","../sass/material-kit/_cards.scss","../sass/material-kit/_dialogs.scss","../sass/material-kit/_panels.scss","../sass/material-kit/_dividers.scss","../sass/material-kit/_images.scss","../sass/material-kit/_sections.scss","../sass/material-kit/plugins/_plugin-nouislider.scss","../sass/material-kit/plugins/_plugin-dropdownjs.scss","../sass/material-kit/plugins/_plugin-datepicker.scss","../sass/material-kit/_ripples.scss","../sass/material-kit/_example-pages.scss"],
+"names": [],
+"file": "material-kit.css"
+}
diff --git a/templates/assets/material-kit/dist/js/material-kit.js b/templates/assets/material-kit/dist/js/material-kit.js
new file mode 100644
index 0000000..9aefe03
--- /dev/null
+++ b/templates/assets/material-kit/dist/js/material-kit.js
@@ -0,0 +1,129 @@
+/*!
+
+ =========================================================
+ * Material Kit - v1.1.1.0
+ =========================================================
+
+ * Product Page: http://www.creative-tim.com/product/material-kit
+ * Copyright 2017 Creative Tim (http://www.creative-tim.com)
+ * Licensed under MIT (https://github.com/timcreative/material-kit/blob/master/LICENSE.md)
+
+ =========================================================
+
+ * The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
+
+ */
+
+var transparent = true;
+
+var transparentDemo = true;
+var fixedTop = false;
+
+var navbar_initialized = false;
+
+$(document).ready(function(){
+
+ // Init Material scripts for buttons ripples, inputs animations etc, more info on the next link https://github.com/FezVrasta/bootstrap-material-design#materialjs
+ $.material.init();
+
+ // Activate the Tooltips
+ $('[data-toggle="tooltip"], [rel="tooltip"]').tooltip();
+
+ // Activate Datepicker
+ if($('.datepicker').length != 0){
+ $('.datepicker').datepicker({
+ weekStart:1
+ });
+ }
+
+ // Check if we have the class "navbar-color-on-scroll" then add the function to remove the class "navbar-transparent" so it will transform to a plain color.
+ if($('.navbar-color-on-scroll').length != 0){
+ $(window).on('scroll', materialKit.checkScrollForTransparentNavbar)
+ }
+
+ // Activate Popovers
+ $('[data-toggle="popover"]').popover();
+
+ // Active Carousel
+ $('.carousel').carousel({
+ interval: 400000
+ });
+
+});
+
+materialKit = {
+ misc:{
+ navbar_menu_visible: 0
+ },
+
+ checkScrollForTransparentNavbar: debounce(function() {
+ if($(document).scrollTop() > 260 ) {
+ if(transparent) {
+ transparent = false;
+ $('.navbar-color-on-scroll').removeClass('navbar-transparent');
+ }
+ } else {
+ if( !transparent ) {
+ transparent = true;
+ $('.navbar-color-on-scroll').addClass('navbar-transparent');
+ }
+ }
+ }, 17),
+
+ initSliders: function(){
+ // Sliders for demo purpose
+ $('#sliderRegular').noUiSlider({
+ start: 40,
+ connect: "lower",
+ range: {
+ min: 0,
+ max: 100
+ }
+ });
+
+ $('#sliderDouble').noUiSlider({
+ start: [20, 60] ,
+ connect: true,
+ range: {
+ min: 0,
+ max: 100
+ }
+ });
+ }
+}
+
+
+var big_image;
+
+materialKitDemo = {
+ checkScrollForParallax: debounce(function(){
+ var current_scroll = $(this).scrollTop();
+
+ oVal = ($(window).scrollTop() / 3);
+ big_image.css({
+ 'transform':'translate3d(0,' + oVal +'px,0)',
+ '-webkit-transform':'translate3d(0,' + oVal +'px,0)',
+ '-ms-transform':'translate3d(0,' + oVal +'px,0)',
+ '-o-transform':'translate3d(0,' + oVal +'px,0)'
+ });
+
+ }, 6)
+
+}
+// Returns a function, that, as long as it continues to be invoked, will not
+// be triggered. The function will be called after it stops being called for
+// N milliseconds. If `immediate` is passed, trigger the function on the
+// leading edge, instead of the trailing.
+
+function debounce(func, wait, immediate) {
+ var timeout;
+ return function() {
+ var context = this, args = arguments;
+ clearTimeout(timeout);
+ timeout = setTimeout(function() {
+ timeout = null;
+ if (!immediate) func.apply(context, args);
+ }, wait);
+ if (immediate && !timeout) func.apply(context, args);
+ };
+};
diff --git a/templates/assets/tether/dist/css/tether-theme-arrows-dark.css b/templates/assets/tether/dist/css/tether-theme-arrows-dark.css
new file mode 100644
index 0000000..c000dd7
--- /dev/null
+++ b/templates/assets/tether/dist/css/tether-theme-arrows-dark.css
@@ -0,0 +1,150 @@
+.tether-element, .tether-element:after, .tether-element:before, .tether-element *, .tether-element *:after, .tether-element *:before {
+ box-sizing: border-box; }
+
+.tether-element {
+ position: absolute;
+ display: none; }
+ .tether-element.tether-open {
+ display: block; }
+
+.tether-element.tether-theme-arrows-dark {
+ max-width: 100%;
+ max-height: 100%; }
+ .tether-element.tether-theme-arrows-dark .tether-content {
+ border-radius: 5px;
+ position: relative;
+ font-family: inherit;
+ background: #000;
+ color: #fff;
+ padding: 1em;
+ font-size: 1.1em;
+ line-height: 1.5em; }
+ .tether-element.tether-theme-arrows-dark .tether-content:before {
+ content: "";
+ display: block;
+ position: absolute;
+ width: 0;
+ height: 0;
+ border-color: transparent;
+ border-width: 16px;
+ border-style: solid; }
+ .tether-element.tether-theme-arrows-dark.tether-element-attached-bottom.tether-element-attached-center .tether-content {
+ margin-bottom: 16px; }
+ .tether-element.tether-theme-arrows-dark.tether-element-attached-bottom.tether-element-attached-center .tether-content:before {
+ top: 100%;
+ left: 50%;
+ margin-left: -16px;
+ border-top-color: #000;
+ border-bottom: 0; }
+ .tether-element.tether-theme-arrows-dark.tether-element-attached-top.tether-element-attached-center .tether-content {
+ margin-top: 16px; }
+ .tether-element.tether-theme-arrows-dark.tether-element-attached-top.tether-element-attached-center .tether-content:before {
+ bottom: 100%;
+ left: 50%;
+ margin-left: -16px;
+ border-bottom-color: #000;
+ border-top: 0; }
+ .tether-element.tether-theme-arrows-dark.tether-element-attached-right.tether-element-attached-middle .tether-content {
+ margin-right: 16px; }
+ .tether-element.tether-theme-arrows-dark.tether-element-attached-right.tether-element-attached-middle .tether-content:before {
+ left: 100%;
+ top: 50%;
+ margin-top: -16px;
+ border-left-color: #000;
+ border-right: 0; }
+ .tether-element.tether-theme-arrows-dark.tether-element-attached-left.tether-element-attached-middle .tether-content {
+ margin-left: 16px; }
+ .tether-element.tether-theme-arrows-dark.tether-element-attached-left.tether-element-attached-middle .tether-content:before {
+ right: 100%;
+ top: 50%;
+ margin-top: -16px;
+ border-right-color: #000;
+ border-left: 0; }
+ .tether-element.tether-theme-arrows-dark.tether-element-attached-left.tether-target-attached-center .tether-content {
+ left: -32px; }
+ .tether-element.tether-theme-arrows-dark.tether-element-attached-right.tether-target-attached-center .tether-content {
+ left: 32px; }
+ .tether-element.tether-theme-arrows-dark.tether-element-attached-top.tether-element-attached-left.tether-target-attached-middle .tether-content {
+ margin-top: 16px; }
+ .tether-element.tether-theme-arrows-dark.tether-element-attached-top.tether-element-attached-left.tether-target-attached-middle .tether-content:before {
+ bottom: 100%;
+ left: 16px;
+ border-bottom-color: #000;
+ border-top: 0; }
+ .tether-element.tether-theme-arrows-dark.tether-element-attached-top.tether-element-attached-right.tether-target-attached-middle .tether-content {
+ margin-top: 16px; }
+ .tether-element.tether-theme-arrows-dark.tether-element-attached-top.tether-element-attached-right.tether-target-attached-middle .tether-content:before {
+ bottom: 100%;
+ right: 16px;
+ border-bottom-color: #000;
+ border-top: 0; }
+ .tether-element.tether-theme-arrows-dark.tether-element-attached-bottom.tether-element-attached-left.tether-target-attached-middle .tether-content {
+ margin-bottom: 16px; }
+ .tether-element.tether-theme-arrows-dark.tether-element-attached-bottom.tether-element-attached-left.tether-target-attached-middle .tether-content:before {
+ top: 100%;
+ left: 16px;
+ border-top-color: #000;
+ border-bottom: 0; }
+ .tether-element.tether-theme-arrows-dark.tether-element-attached-bottom.tether-element-attached-right.tether-target-attached-middle .tether-content {
+ margin-bottom: 16px; }
+ .tether-element.tether-theme-arrows-dark.tether-element-attached-bottom.tether-element-attached-right.tether-target-attached-middle .tether-content:before {
+ top: 100%;
+ right: 16px;
+ border-top-color: #000;
+ border-bottom: 0; }
+ .tether-element.tether-theme-arrows-dark.tether-element-attached-top.tether-element-attached-left.tether-target-attached-bottom .tether-content {
+ margin-top: 16px; }
+ .tether-element.tether-theme-arrows-dark.tether-element-attached-top.tether-element-attached-left.tether-target-attached-bottom .tether-content:before {
+ bottom: 100%;
+ left: 16px;
+ border-bottom-color: #000;
+ border-top: 0; }
+ .tether-element.tether-theme-arrows-dark.tether-element-attached-top.tether-element-attached-right.tether-target-attached-bottom .tether-content {
+ margin-top: 16px; }
+ .tether-element.tether-theme-arrows-dark.tether-element-attached-top.tether-element-attached-right.tether-target-attached-bottom .tether-content:before {
+ bottom: 100%;
+ right: 16px;
+ border-bottom-color: #000;
+ border-top: 0; }
+ .tether-element.tether-theme-arrows-dark.tether-element-attached-bottom.tether-element-attached-left.tether-target-attached-top .tether-content {
+ margin-bottom: 16px; }
+ .tether-element.tether-theme-arrows-dark.tether-element-attached-bottom.tether-element-attached-left.tether-target-attached-top .tether-content:before {
+ top: 100%;
+ left: 16px;
+ border-top-color: #000;
+ border-bottom: 0; }
+ .tether-element.tether-theme-arrows-dark.tether-element-attached-bottom.tether-element-attached-right.tether-target-attached-top .tether-content {
+ margin-bottom: 16px; }
+ .tether-element.tether-theme-arrows-dark.tether-element-attached-bottom.tether-element-attached-right.tether-target-attached-top .tether-content:before {
+ top: 100%;
+ right: 16px;
+ border-top-color: #000;
+ border-bottom: 0; }
+ .tether-element.tether-theme-arrows-dark.tether-element-attached-top.tether-element-attached-right.tether-target-attached-left .tether-content {
+ margin-right: 16px; }
+ .tether-element.tether-theme-arrows-dark.tether-element-attached-top.tether-element-attached-right.tether-target-attached-left .tether-content:before {
+ top: 16px;
+ left: 100%;
+ border-left-color: #000;
+ border-right: 0; }
+ .tether-element.tether-theme-arrows-dark.tether-element-attached-top.tether-element-attached-left.tether-target-attached-right .tether-content {
+ margin-left: 16px; }
+ .tether-element.tether-theme-arrows-dark.tether-element-attached-top.tether-element-attached-left.tether-target-attached-right .tether-content:before {
+ top: 16px;
+ right: 100%;
+ border-right-color: #000;
+ border-left: 0; }
+ .tether-element.tether-theme-arrows-dark.tether-element-attached-bottom.tether-element-attached-right.tether-target-attached-left .tether-content {
+ margin-right: 16px; }
+ .tether-element.tether-theme-arrows-dark.tether-element-attached-bottom.tether-element-attached-right.tether-target-attached-left .tether-content:before {
+ bottom: 16px;
+ left: 100%;
+ border-left-color: #000;
+ border-right: 0; }
+ .tether-element.tether-theme-arrows-dark.tether-element-attached-bottom.tether-element-attached-left.tether-target-attached-right .tether-content {
+ margin-left: 16px; }
+ .tether-element.tether-theme-arrows-dark.tether-element-attached-bottom.tether-element-attached-left.tether-target-attached-right .tether-content:before {
+ bottom: 16px;
+ right: 100%;
+ border-right-color: #000;
+ border-left: 0; }
diff --git a/templates/assets/tether/dist/css/tether-theme-arrows-dark.min.css b/templates/assets/tether/dist/css/tether-theme-arrows-dark.min.css
new file mode 100644
index 0000000..73d263e
--- /dev/null
+++ b/templates/assets/tether/dist/css/tether-theme-arrows-dark.min.css
@@ -0,0 +1 @@
+.tether-element.tether-theme-arrows-dark.tether-element-attached-bottom.tether-element-attached-center .tether-content,.tether-element.tether-theme-arrows-dark.tether-element-attached-bottom.tether-element-attached-left.tether-target-attached-middle .tether-content,.tether-element.tether-theme-arrows-dark.tether-element-attached-bottom.tether-element-attached-left.tether-target-attached-top .tether-content,.tether-element.tether-theme-arrows-dark.tether-element-attached-bottom.tether-element-attached-right.tether-target-attached-middle .tether-content,.tether-element.tether-theme-arrows-dark.tether-element-attached-bottom.tether-element-attached-right.tether-target-attached-top .tether-content{margin-bottom:16px}.tether-element.tether-theme-arrows-dark.tether-element-attached-bottom.tether-element-attached-right.tether-target-attached-left .tether-content,.tether-element.tether-theme-arrows-dark.tether-element-attached-right.tether-element-attached-middle .tether-content,.tether-element.tether-theme-arrows-dark.tether-element-attached-top.tether-element-attached-right.tether-target-attached-left .tether-content{margin-right:16px}.tether-element,.tether-element *,.tether-element :after,.tether-element :before,.tether-element:after,.tether-element:before{box-sizing:border-box}.tether-element{position:absolute;display:none}.tether-element.tether-open{display:block}.tether-element.tether-theme-arrows-dark{max-width:100%;max-height:100%}.tether-element.tether-theme-arrows-dark .tether-content{border-radius:5px;position:relative;font-family:inherit;background:#000;color:#fff;padding:1em;font-size:1.1em;line-height:1.5em}.tether-element.tether-theme-arrows-dark .tether-content:before{content:"";display:block;position:absolute;width:0;height:0;border-color:transparent;border-width:16px;border-style:solid}.tether-element.tether-theme-arrows-dark.tether-element-attached-bottom.tether-element-attached-center .tether-content:before{top:100%;left:50%;margin-left:-16px;border-top-color:#000;border-bottom:0}.tether-element.tether-theme-arrows-dark.tether-element-attached-top.tether-element-attached-center .tether-content{margin-top:16px}.tether-element.tether-theme-arrows-dark.tether-element-attached-top.tether-element-attached-center .tether-content:before{bottom:100%;left:50%;margin-left:-16px;border-bottom-color:#000;border-top:0}.tether-element.tether-theme-arrows-dark.tether-element-attached-bottom.tether-element-attached-left.tether-target-attached-right .tether-content,.tether-element.tether-theme-arrows-dark.tether-element-attached-left.tether-element-attached-middle .tether-content,.tether-element.tether-theme-arrows-dark.tether-element-attached-top.tether-element-attached-left.tether-target-attached-right .tether-content{margin-left:16px}.tether-element.tether-theme-arrows-dark.tether-element-attached-right.tether-element-attached-middle .tether-content:before{left:100%;top:50%;margin-top:-16px;border-left-color:#000;border-right:0}.tether-element.tether-theme-arrows-dark.tether-element-attached-left.tether-element-attached-middle .tether-content:before{right:100%;top:50%;margin-top:-16px;border-right-color:#000;border-left:0}.tether-element.tether-theme-arrows-dark.tether-element-attached-top.tether-element-attached-left.tether-target-attached-bottom .tether-content,.tether-element.tether-theme-arrows-dark.tether-element-attached-top.tether-element-attached-left.tether-target-attached-middle .tether-content,.tether-element.tether-theme-arrows-dark.tether-element-attached-top.tether-element-attached-right.tether-target-attached-bottom .tether-content,.tether-element.tether-theme-arrows-dark.tether-element-attached-top.tether-element-attached-right.tether-target-attached-middle .tether-content{margin-top:16px}.tether-element.tether-theme-arrows-dark.tether-element-attached-left.tether-target-attached-center .tether-content{left:-32px}.tether-element.tether-theme-arrows-dark.tether-element-attached-right.tether-target-attached-center .tether-content{left:32px}.tether-element.tether-theme-arrows-dark.tether-element-attached-top.tether-element-attached-left.tether-target-attached-middle .tether-content:before{bottom:100%;left:16px;border-bottom-color:#000;border-top:0}.tether-element.tether-theme-arrows-dark.tether-element-attached-top.tether-element-attached-right.tether-target-attached-middle .tether-content:before{bottom:100%;right:16px;border-bottom-color:#000;border-top:0}.tether-element.tether-theme-arrows-dark.tether-element-attached-bottom.tether-element-attached-left.tether-target-attached-middle .tether-content:before{top:100%;left:16px;border-top-color:#000;border-bottom:0}.tether-element.tether-theme-arrows-dark.tether-element-attached-bottom.tether-element-attached-right.tether-target-attached-middle .tether-content:before{top:100%;right:16px;border-top-color:#000;border-bottom:0}.tether-element.tether-theme-arrows-dark.tether-element-attached-top.tether-element-attached-left.tether-target-attached-bottom .tether-content:before{bottom:100%;left:16px;border-bottom-color:#000;border-top:0}.tether-element.tether-theme-arrows-dark.tether-element-attached-top.tether-element-attached-right.tether-target-attached-bottom .tether-content:before{bottom:100%;right:16px;border-bottom-color:#000;border-top:0}.tether-element.tether-theme-arrows-dark.tether-element-attached-bottom.tether-element-attached-left.tether-target-attached-top .tether-content:before{top:100%;left:16px;border-top-color:#000;border-bottom:0}.tether-element.tether-theme-arrows-dark.tether-element-attached-bottom.tether-element-attached-right.tether-target-attached-top .tether-content:before{top:100%;right:16px;border-top-color:#000;border-bottom:0}.tether-element.tether-theme-arrows-dark.tether-element-attached-top.tether-element-attached-right.tether-target-attached-left .tether-content:before{top:16px;left:100%;border-left-color:#000;border-right:0}.tether-element.tether-theme-arrows-dark.tether-element-attached-top.tether-element-attached-left.tether-target-attached-right .tether-content:before{top:16px;right:100%;border-right-color:#000;border-left:0}.tether-element.tether-theme-arrows-dark.tether-element-attached-bottom.tether-element-attached-right.tether-target-attached-left .tether-content:before{bottom:16px;left:100%;border-left-color:#000;border-right:0}.tether-element.tether-theme-arrows-dark.tether-element-attached-bottom.tether-element-attached-left.tether-target-attached-right .tether-content:before{bottom:16px;right:100%;border-right-color:#000;border-left:0} \ No newline at end of file
diff --git a/templates/assets/tether/dist/css/tether-theme-arrows.css b/templates/assets/tether/dist/css/tether-theme-arrows.css
new file mode 100644
index 0000000..e9e3bbf
--- /dev/null
+++ b/templates/assets/tether/dist/css/tether-theme-arrows.css
@@ -0,0 +1,154 @@
+.tether-element, .tether-element:after, .tether-element:before, .tether-element *, .tether-element *:after, .tether-element *:before {
+ box-sizing: border-box; }
+
+.tether-element {
+ position: absolute;
+ display: none; }
+ .tether-element.tether-open {
+ display: block; }
+
+.tether-element.tether-theme-arrows {
+ max-width: 100%;
+ max-height: 100%; }
+ .tether-element.tether-theme-arrows .tether-content {
+ border-radius: 5px;
+ position: relative;
+ font-family: inherit;
+ background: #fff;
+ color: inherit;
+ padding: 1em;
+ font-size: 1.1em;
+ line-height: 1.5em;
+ -webkit-transform: translateZ(0);
+ transform: translateZ(0);
+ -webkit-filter: drop-shadow(0 1px 4px rgba(0, 0, 0, 0.2));
+ filter: drop-shadow(0 1px 4px rgba(0, 0, 0, 0.2)); }
+ .tether-element.tether-theme-arrows .tether-content:before {
+ content: "";
+ display: block;
+ position: absolute;
+ width: 0;
+ height: 0;
+ border-color: transparent;
+ border-width: 16px;
+ border-style: solid; }
+ .tether-element.tether-theme-arrows.tether-element-attached-bottom.tether-element-attached-center .tether-content {
+ margin-bottom: 16px; }
+ .tether-element.tether-theme-arrows.tether-element-attached-bottom.tether-element-attached-center .tether-content:before {
+ top: 100%;
+ left: 50%;
+ margin-left: -16px;
+ border-top-color: #fff;
+ border-bottom: 0; }
+ .tether-element.tether-theme-arrows.tether-element-attached-top.tether-element-attached-center .tether-content {
+ margin-top: 16px; }
+ .tether-element.tether-theme-arrows.tether-element-attached-top.tether-element-attached-center .tether-content:before {
+ bottom: 100%;
+ left: 50%;
+ margin-left: -16px;
+ border-bottom-color: #fff;
+ border-top: 0; }
+ .tether-element.tether-theme-arrows.tether-element-attached-right.tether-element-attached-middle .tether-content {
+ margin-right: 16px; }
+ .tether-element.tether-theme-arrows.tether-element-attached-right.tether-element-attached-middle .tether-content:before {
+ left: 100%;
+ top: 50%;
+ margin-top: -16px;
+ border-left-color: #fff;
+ border-right: 0; }
+ .tether-element.tether-theme-arrows.tether-element-attached-left.tether-element-attached-middle .tether-content {
+ margin-left: 16px; }
+ .tether-element.tether-theme-arrows.tether-element-attached-left.tether-element-attached-middle .tether-content:before {
+ right: 100%;
+ top: 50%;
+ margin-top: -16px;
+ border-right-color: #fff;
+ border-left: 0; }
+ .tether-element.tether-theme-arrows.tether-element-attached-left.tether-target-attached-center .tether-content {
+ left: -32px; }
+ .tether-element.tether-theme-arrows.tether-element-attached-right.tether-target-attached-center .tether-content {
+ left: 32px; }
+ .tether-element.tether-theme-arrows.tether-element-attached-top.tether-element-attached-left.tether-target-attached-middle .tether-content {
+ margin-top: 16px; }
+ .tether-element.tether-theme-arrows.tether-element-attached-top.tether-element-attached-left.tether-target-attached-middle .tether-content:before {
+ bottom: 100%;
+ left: 16px;
+ border-bottom-color: #fff;
+ border-top: 0; }
+ .tether-element.tether-theme-arrows.tether-element-attached-top.tether-element-attached-right.tether-target-attached-middle .tether-content {
+ margin-top: 16px; }
+ .tether-element.tether-theme-arrows.tether-element-attached-top.tether-element-attached-right.tether-target-attached-middle .tether-content:before {
+ bottom: 100%;
+ right: 16px;
+ border-bottom-color: #fff;
+ border-top: 0; }
+ .tether-element.tether-theme-arrows.tether-element-attached-bottom.tether-element-attached-left.tether-target-attached-middle .tether-content {
+ margin-bottom: 16px; }
+ .tether-element.tether-theme-arrows.tether-element-attached-bottom.tether-element-attached-left.tether-target-attached-middle .tether-content:before {
+ top: 100%;
+ left: 16px;
+ border-top-color: #fff;
+ border-bottom: 0; }
+ .tether-element.tether-theme-arrows.tether-element-attached-bottom.tether-element-attached-right.tether-target-attached-middle .tether-content {
+ margin-bottom: 16px; }
+ .tether-element.tether-theme-arrows.tether-element-attached-bottom.tether-element-attached-right.tether-target-attached-middle .tether-content:before {
+ top: 100%;
+ right: 16px;
+ border-top-color: #fff;
+ border-bottom: 0; }
+ .tether-element.tether-theme-arrows.tether-element-attached-top.tether-element-attached-left.tether-target-attached-bottom .tether-content {
+ margin-top: 16px; }
+ .tether-element.tether-theme-arrows.tether-element-attached-top.tether-element-attached-left.tether-target-attached-bottom .tether-content:before {
+ bottom: 100%;
+ left: 16px;
+ border-bottom-color: #fff;
+ border-top: 0; }
+ .tether-element.tether-theme-arrows.tether-element-attached-top.tether-element-attached-right.tether-target-attached-bottom .tether-content {
+ margin-top: 16px; }
+ .tether-element.tether-theme-arrows.tether-element-attached-top.tether-element-attached-right.tether-target-attached-bottom .tether-content:before {
+ bottom: 100%;
+ right: 16px;
+ border-bottom-color: #fff;
+ border-top: 0; }
+ .tether-element.tether-theme-arrows.tether-element-attached-bottom.tether-element-attached-left.tether-target-attached-top .tether-content {
+ margin-bottom: 16px; }
+ .tether-element.tether-theme-arrows.tether-element-attached-bottom.tether-element-attached-left.tether-target-attached-top .tether-content:before {
+ top: 100%;
+ left: 16px;
+ border-top-color: #fff;
+ border-bottom: 0; }
+ .tether-element.tether-theme-arrows.tether-element-attached-bottom.tether-element-attached-right.tether-target-attached-top .tether-content {
+ margin-bottom: 16px; }
+ .tether-element.tether-theme-arrows.tether-element-attached-bottom.tether-element-attached-right.tether-target-attached-top .tether-content:before {
+ top: 100%;
+ right: 16px;
+ border-top-color: #fff;
+ border-bottom: 0; }
+ .tether-element.tether-theme-arrows.tether-element-attached-top.tether-element-attached-right.tether-target-attached-left .tether-content {
+ margin-right: 16px; }
+ .tether-element.tether-theme-arrows.tether-element-attached-top.tether-element-attached-right.tether-target-attached-left .tether-content:before {
+ top: 16px;
+ left: 100%;
+ border-left-color: #fff;
+ border-right: 0; }
+ .tether-element.tether-theme-arrows.tether-element-attached-top.tether-element-attached-left.tether-target-attached-right .tether-content {
+ margin-left: 16px; }
+ .tether-element.tether-theme-arrows.tether-element-attached-top.tether-element-attached-left.tether-target-attached-right .tether-content:before {
+ top: 16px;
+ right: 100%;
+ border-right-color: #fff;
+ border-left: 0; }
+ .tether-element.tether-theme-arrows.tether-element-attached-bottom.tether-element-attached-right.tether-target-attached-left .tether-content {
+ margin-right: 16px; }
+ .tether-element.tether-theme-arrows.tether-element-attached-bottom.tether-element-attached-right.tether-target-attached-left .tether-content:before {
+ bottom: 16px;
+ left: 100%;
+ border-left-color: #fff;
+ border-right: 0; }
+ .tether-element.tether-theme-arrows.tether-element-attached-bottom.tether-element-attached-left.tether-target-attached-right .tether-content {
+ margin-left: 16px; }
+ .tether-element.tether-theme-arrows.tether-element-attached-bottom.tether-element-attached-left.tether-target-attached-right .tether-content:before {
+ bottom: 16px;
+ right: 100%;
+ border-right-color: #fff;
+ border-left: 0; }
diff --git a/templates/assets/tether/dist/css/tether-theme-arrows.min.css b/templates/assets/tether/dist/css/tether-theme-arrows.min.css
new file mode 100644
index 0000000..61994a9
--- /dev/null
+++ b/templates/assets/tether/dist/css/tether-theme-arrows.min.css
@@ -0,0 +1 @@
+.tether-element.tether-theme-arrows.tether-element-attached-bottom.tether-element-attached-center .tether-content,.tether-element.tether-theme-arrows.tether-element-attached-bottom.tether-element-attached-left.tether-target-attached-middle .tether-content,.tether-element.tether-theme-arrows.tether-element-attached-bottom.tether-element-attached-left.tether-target-attached-top .tether-content,.tether-element.tether-theme-arrows.tether-element-attached-bottom.tether-element-attached-right.tether-target-attached-middle .tether-content,.tether-element.tether-theme-arrows.tether-element-attached-bottom.tether-element-attached-right.tether-target-attached-top .tether-content{margin-bottom:16px}.tether-element.tether-theme-arrows.tether-element-attached-bottom.tether-element-attached-right.tether-target-attached-left .tether-content,.tether-element.tether-theme-arrows.tether-element-attached-right.tether-element-attached-middle .tether-content,.tether-element.tether-theme-arrows.tether-element-attached-top.tether-element-attached-right.tether-target-attached-left .tether-content{margin-right:16px}.tether-element,.tether-element *,.tether-element :after,.tether-element :before,.tether-element:after,.tether-element:before{box-sizing:border-box}.tether-element{position:absolute;display:none}.tether-element.tether-open{display:block}.tether-element.tether-theme-arrows{max-width:100%;max-height:100%}.tether-element.tether-theme-arrows .tether-content{border-radius:5px;position:relative;font-family:inherit;background:#fff;color:inherit;padding:1em;font-size:1.1em;line-height:1.5em;-webkit-transform:translateZ(0);transform:translateZ(0);-webkit-filter:drop-shadow(0 1px 4px rgba(0, 0, 0, .2));filter:drop-shadow(0 1px 4px rgba(0, 0, 0, .2))}.tether-element.tether-theme-arrows .tether-content:before{content:"";display:block;position:absolute;width:0;height:0;border-color:transparent;border-width:16px;border-style:solid}.tether-element.tether-theme-arrows.tether-element-attached-bottom.tether-element-attached-center .tether-content:before{top:100%;left:50%;margin-left:-16px;border-top-color:#fff;border-bottom:0}.tether-element.tether-theme-arrows.tether-element-attached-top.tether-element-attached-center .tether-content{margin-top:16px}.tether-element.tether-theme-arrows.tether-element-attached-top.tether-element-attached-center .tether-content:before{bottom:100%;left:50%;margin-left:-16px;border-bottom-color:#fff;border-top:0}.tether-element.tether-theme-arrows.tether-element-attached-bottom.tether-element-attached-left.tether-target-attached-right .tether-content,.tether-element.tether-theme-arrows.tether-element-attached-left.tether-element-attached-middle .tether-content,.tether-element.tether-theme-arrows.tether-element-attached-top.tether-element-attached-left.tether-target-attached-right .tether-content{margin-left:16px}.tether-element.tether-theme-arrows.tether-element-attached-right.tether-element-attached-middle .tether-content:before{left:100%;top:50%;margin-top:-16px;border-left-color:#fff;border-right:0}.tether-element.tether-theme-arrows.tether-element-attached-left.tether-element-attached-middle .tether-content:before{right:100%;top:50%;margin-top:-16px;border-right-color:#fff;border-left:0}.tether-element.tether-theme-arrows.tether-element-attached-top.tether-element-attached-left.tether-target-attached-bottom .tether-content,.tether-element.tether-theme-arrows.tether-element-attached-top.tether-element-attached-left.tether-target-attached-middle .tether-content,.tether-element.tether-theme-arrows.tether-element-attached-top.tether-element-attached-right.tether-target-attached-bottom .tether-content,.tether-element.tether-theme-arrows.tether-element-attached-top.tether-element-attached-right.tether-target-attached-middle .tether-content{margin-top:16px}.tether-element.tether-theme-arrows.tether-element-attached-left.tether-target-attached-center .tether-content{left:-32px}.tether-element.tether-theme-arrows.tether-element-attached-right.tether-target-attached-center .tether-content{left:32px}.tether-element.tether-theme-arrows.tether-element-attached-top.tether-element-attached-left.tether-target-attached-middle .tether-content:before{bottom:100%;left:16px;border-bottom-color:#fff;border-top:0}.tether-element.tether-theme-arrows.tether-element-attached-top.tether-element-attached-right.tether-target-attached-middle .tether-content:before{bottom:100%;right:16px;border-bottom-color:#fff;border-top:0}.tether-element.tether-theme-arrows.tether-element-attached-bottom.tether-element-attached-left.tether-target-attached-middle .tether-content:before{top:100%;left:16px;border-top-color:#fff;border-bottom:0}.tether-element.tether-theme-arrows.tether-element-attached-bottom.tether-element-attached-right.tether-target-attached-middle .tether-content:before{top:100%;right:16px;border-top-color:#fff;border-bottom:0}.tether-element.tether-theme-arrows.tether-element-attached-top.tether-element-attached-left.tether-target-attached-bottom .tether-content:before{bottom:100%;left:16px;border-bottom-color:#fff;border-top:0}.tether-element.tether-theme-arrows.tether-element-attached-top.tether-element-attached-right.tether-target-attached-bottom .tether-content:before{bottom:100%;right:16px;border-bottom-color:#fff;border-top:0}.tether-element.tether-theme-arrows.tether-element-attached-bottom.tether-element-attached-left.tether-target-attached-top .tether-content:before{top:100%;left:16px;border-top-color:#fff;border-bottom:0}.tether-element.tether-theme-arrows.tether-element-attached-bottom.tether-element-attached-right.tether-target-attached-top .tether-content:before{top:100%;right:16px;border-top-color:#fff;border-bottom:0}.tether-element.tether-theme-arrows.tether-element-attached-top.tether-element-attached-right.tether-target-attached-left .tether-content:before{top:16px;left:100%;border-left-color:#fff;border-right:0}.tether-element.tether-theme-arrows.tether-element-attached-top.tether-element-attached-left.tether-target-attached-right .tether-content:before{top:16px;right:100%;border-right-color:#fff;border-left:0}.tether-element.tether-theme-arrows.tether-element-attached-bottom.tether-element-attached-right.tether-target-attached-left .tether-content:before{bottom:16px;left:100%;border-left-color:#fff;border-right:0}.tether-element.tether-theme-arrows.tether-element-attached-bottom.tether-element-attached-left.tether-target-attached-right .tether-content:before{bottom:16px;right:100%;border-right-color:#fff;border-left:0} \ No newline at end of file
diff --git a/templates/assets/tether/dist/css/tether-theme-basic.css b/templates/assets/tether/dist/css/tether-theme-basic.css
new file mode 100644
index 0000000..f2b3b5c
--- /dev/null
+++ b/templates/assets/tether/dist/css/tether-theme-basic.css
@@ -0,0 +1,21 @@
+.tether-element, .tether-element:after, .tether-element:before, .tether-element *, .tether-element *:after, .tether-element *:before {
+ box-sizing: border-box; }
+
+.tether-element {
+ position: absolute;
+ display: none; }
+ .tether-element.tether-open {
+ display: block; }
+
+.tether-element.tether-theme-basic {
+ max-width: 100%;
+ max-height: 100%; }
+ .tether-element.tether-theme-basic .tether-content {
+ border-radius: 5px;
+ box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
+ font-family: inherit;
+ background: #fff;
+ color: inherit;
+ padding: 1em;
+ font-size: 1.1em;
+ line-height: 1.5em; }
diff --git a/templates/assets/tether/dist/css/tether-theme-basic.min.css b/templates/assets/tether/dist/css/tether-theme-basic.min.css
new file mode 100644
index 0000000..f117c47
--- /dev/null
+++ b/templates/assets/tether/dist/css/tether-theme-basic.min.css
@@ -0,0 +1 @@
+.tether-element,.tether-element *,.tether-element :after,.tether-element :before,.tether-element:after,.tether-element:before{box-sizing:border-box}.tether-element{position:absolute;display:none}.tether-element.tether-open{display:block}.tether-element.tether-theme-basic{max-width:100%;max-height:100%}.tether-element.tether-theme-basic .tether-content{border-radius:5px;box-shadow:0 2px 8px rgba(0,0,0,.2);font-family:inherit;background:#fff;color:inherit;padding:1em;font-size:1.1em;line-height:1.5em} \ No newline at end of file
diff --git a/templates/assets/tether/dist/css/tether.css b/templates/assets/tether/dist/css/tether.css
new file mode 100644
index 0000000..fc30f56
--- /dev/null
+++ b/templates/assets/tether/dist/css/tether.css
@@ -0,0 +1,8 @@
+.tether-element, .tether-element:after, .tether-element:before, .tether-element *, .tether-element *:after, .tether-element *:before {
+ box-sizing: border-box; }
+
+.tether-element {
+ position: absolute;
+ display: none; }
+ .tether-element.tether-open {
+ display: block; }
diff --git a/templates/assets/tether/dist/css/tether.min.css b/templates/assets/tether/dist/css/tether.min.css
new file mode 100644
index 0000000..328251c
--- /dev/null
+++ b/templates/assets/tether/dist/css/tether.min.css
@@ -0,0 +1 @@
+.tether-element,.tether-element *,.tether-element :after,.tether-element :before,.tether-element:after,.tether-element:before{box-sizing:border-box}.tether-element{position:absolute;display:none}.tether-element.tether-open{display:block} \ No newline at end of file
diff --git a/templates/assets/tether/dist/js/tether.js b/templates/assets/tether/dist/js/tether.js
new file mode 100644
index 0000000..ea141f0
--- /dev/null
+++ b/templates/assets/tether/dist/js/tether.js
@@ -0,0 +1,1811 @@
+/*! tether 1.4.0 */
+
+(function(root, factory) {
+ if (typeof define === 'function' && define.amd) {
+ define(factory);
+ } else if (typeof exports === 'object') {
+ module.exports = factory(require, exports, module);
+ } else {
+ root.Tether = factory();
+ }
+}(this, function(require, exports, module) {
+
+'use strict';
+
+var _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ('value' in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })();
+
+function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } }
+
+var TetherBase = undefined;
+if (typeof TetherBase === 'undefined') {
+ TetherBase = { modules: [] };
+}
+
+var zeroElement = null;
+
+// Same as native getBoundingClientRect, except it takes into account parent <frame> offsets
+// if the element lies within a nested document (<frame> or <iframe>-like).
+function getActualBoundingClientRect(node) {
+ var boundingRect = node.getBoundingClientRect();
+
+ // The original object returned by getBoundingClientRect is immutable, so we clone it
+ // We can't use extend because the properties are not considered part of the object by hasOwnProperty in IE9
+ var rect = {};
+ for (var k in boundingRect) {
+ rect[k] = boundingRect[k];
+ }
+
+ if (node.ownerDocument !== document) {
+ var _frameElement = node.ownerDocument.defaultView.frameElement;
+ if (_frameElement) {
+ var frameRect = getActualBoundingClientRect(_frameElement);
+ rect.top += frameRect.top;
+ rect.bottom += frameRect.top;
+ rect.left += frameRect.left;
+ rect.right += frameRect.left;
+ }
+ }
+
+ return rect;
+}
+
+function getScrollParents(el) {
+ // In firefox if the el is inside an iframe with display: none; window.getComputedStyle() will return null;
+ // https://bugzilla.mozilla.org/show_bug.cgi?id=548397
+ var computedStyle = getComputedStyle(el) || {};
+ var position = computedStyle.position;
+ var parents = [];
+
+ if (position === 'fixed') {
+ return [el];
+ }
+
+ var parent = el;
+ while ((parent = parent.parentNode) && parent && parent.nodeType === 1) {
+ var style = undefined;
+ try {
+ style = getComputedStyle(parent);
+ } catch (err) {}
+
+ if (typeof style === 'undefined' || style === null) {
+ parents.push(parent);
+ return parents;
+ }
+
+ var _style = style;
+ var overflow = _style.overflow;
+ var overflowX = _style.overflowX;
+ var overflowY = _style.overflowY;
+
+ if (/(auto|scroll)/.test(overflow + overflowY + overflowX)) {
+ if (position !== 'absolute' || ['relative', 'absolute', 'fixed'].indexOf(style.position) >= 0) {
+ parents.push(parent);
+ }
+ }
+ }
+
+ parents.push(el.ownerDocument.body);
+
+ // If the node is within a frame, account for the parent window scroll
+ if (el.ownerDocument !== document) {
+ parents.push(el.ownerDocument.defaultView);
+ }
+
+ return parents;
+}
+
+var uniqueId = (function () {
+ var id = 0;
+ return function () {
+ return ++id;
+ };
+})();
+
+var zeroPosCache = {};
+var getOrigin = function getOrigin() {
+ // getBoundingClientRect is unfortunately too accurate. It introduces a pixel or two of
+ // jitter as the user scrolls that messes with our ability to detect if two positions
+ // are equivilant or not. We place an element at the top left of the page that will
+ // get the same jitter, so we can cancel the two out.
+ var node = zeroElement;
+ if (!node || !document.body.contains(node)) {
+ node = document.createElement('div');
+ node.setAttribute('data-tether-id', uniqueId());
+ extend(node.style, {
+ top: 0,
+ left: 0,
+ position: 'absolute'
+ });
+
+ document.body.appendChild(node);
+
+ zeroElement = node;
+ }
+
+ var id = node.getAttribute('data-tether-id');
+ if (typeof zeroPosCache[id] === 'undefined') {
+ zeroPosCache[id] = getActualBoundingClientRect(node);
+
+ // Clear the cache when this position call is done
+ defer(function () {
+ delete zeroPosCache[id];
+ });
+ }
+
+ return zeroPosCache[id];
+};
+
+function removeUtilElements() {
+ if (zeroElement) {
+ document.body.removeChild(zeroElement);
+ }
+ zeroElement = null;
+};
+
+function getBounds(el) {
+ var doc = undefined;
+ if (el === document) {
+ doc = document;
+ el = document.documentElement;
+ } else {
+ doc = el.ownerDocument;
+ }
+
+ var docEl = doc.documentElement;
+
+ var box = getActualBoundingClientRect(el);
+
+ var origin = getOrigin();
+
+ box.top -= origin.top;
+ box.left -= origin.left;
+
+ if (typeof box.width === 'undefined') {
+ box.width = document.body.scrollWidth - box.left - box.right;
+ }
+ if (typeof box.height === 'undefined') {
+ box.height = document.body.scrollHeight - box.top - box.bottom;
+ }
+
+ box.top = box.top - docEl.clientTop;
+ box.left = box.left - docEl.clientLeft;
+ box.right = doc.body.clientWidth - box.width - box.left;
+ box.bottom = doc.body.clientHeight - box.height - box.top;
+
+ return box;
+}
+
+function getOffsetParent(el) {
+ return el.offsetParent || document.documentElement;
+}
+
+var _scrollBarSize = null;
+function getScrollBarSize() {
+ if (_scrollBarSize) {
+ return _scrollBarSize;
+ }
+ var inner = document.createElement('div');
+ inner.style.width = '100%';
+ inner.style.height = '200px';
+
+ var outer = document.createElement('div');
+ extend(outer.style, {
+ position: 'absolute',
+ top: 0,
+ left: 0,
+ pointerEvents: 'none',
+ visibility: 'hidden',
+ width: '200px',
+ height: '150px',
+ overflow: 'hidden'
+ });
+
+ outer.appendChild(inner);
+
+ document.body.appendChild(outer);
+
+ var widthContained = inner.offsetWidth;
+ outer.style.overflow = 'scroll';
+ var widthScroll = inner.offsetWidth;
+
+ if (widthContained === widthScroll) {
+ widthScroll = outer.clientWidth;
+ }
+
+ document.body.removeChild(outer);
+
+ var width = widthContained - widthScroll;
+
+ _scrollBarSize = { width: width, height: width };
+ return _scrollBarSize;
+}
+
+function extend() {
+ var out = arguments.length <= 0 || arguments[0] === undefined ? {} : arguments[0];
+
+ var args = [];
+
+ Array.prototype.push.apply(args, arguments);
+
+ args.slice(1).forEach(function (obj) {
+ if (obj) {
+ for (var key in obj) {
+ if (({}).hasOwnProperty.call(obj, key)) {
+ out[key] = obj[key];
+ }
+ }
+ }
+ });
+
+ return out;
+}
+
+function removeClass(el, name) {
+ if (typeof el.classList !== 'undefined') {
+ name.split(' ').forEach(function (cls) {
+ if (cls.trim()) {
+ el.classList.remove(cls);
+ }
+ });
+ } else {
+ var regex = new RegExp('(^| )' + name.split(' ').join('|') + '( |$)', 'gi');
+ var className = getClassName(el).replace(regex, ' ');
+ setClassName(el, className);
+ }
+}
+
+function addClass(el, name) {
+ if (typeof el.classList !== 'undefined') {
+ name.split(' ').forEach(function (cls) {
+ if (cls.trim()) {
+ el.classList.add(cls);
+ }
+ });
+ } else {
+ removeClass(el, name);
+ var cls = getClassName(el) + (' ' + name);
+ setClassName(el, cls);
+ }
+}
+
+function hasClass(el, name) {
+ if (typeof el.classList !== 'undefined') {
+ return el.classList.contains(name);
+ }
+ var className = getClassName(el);
+ return new RegExp('(^| )' + name + '( |$)', 'gi').test(className);
+}
+
+function getClassName(el) {
+ // Can't use just SVGAnimatedString here since nodes within a Frame in IE have
+ // completely separately SVGAnimatedString base classes
+ if (el.className instanceof el.ownerDocument.defaultView.SVGAnimatedString) {
+ return el.className.baseVal;
+ }
+ return el.className;
+}
+
+function setClassName(el, className) {
+ el.setAttribute('class', className);
+}
+
+function updateClasses(el, add, all) {
+ // Of the set of 'all' classes, we need the 'add' classes, and only the
+ // 'add' classes to be set.
+ all.forEach(function (cls) {
+ if (add.indexOf(cls) === -1 && hasClass(el, cls)) {
+ removeClass(el, cls);
+ }
+ });
+
+ add.forEach(function (cls) {
+ if (!hasClass(el, cls)) {
+ addClass(el, cls);
+ }
+ });
+}
+
+var deferred = [];
+
+var defer = function defer(fn) {
+ deferred.push(fn);
+};
+
+var flush = function flush() {
+ var fn = undefined;
+ while (fn = deferred.pop()) {
+ fn();
+ }
+};
+
+var Evented = (function () {
+ function Evented() {
+ _classCallCheck(this, Evented);
+ }
+
+ _createClass(Evented, [{
+ key: 'on',
+ value: function on(event, handler, ctx) {
+ var once = arguments.length <= 3 || arguments[3] === undefined ? false : arguments[3];
+
+ if (typeof this.bindings === 'undefined') {
+ this.bindings = {};
+ }
+ if (typeof this.bindings[event] === 'undefined') {
+ this.bindings[event] = [];
+ }
+ this.bindings[event].push({ handler: handler, ctx: ctx, once: once });
+ }
+ }, {
+ key: 'once',
+ value: function once(event, handler, ctx) {
+ this.on(event, handler, ctx, true);
+ }
+ }, {
+ key: 'off',
+ value: function off(event, handler) {
+ if (typeof this.bindings === 'undefined' || typeof this.bindings[event] === 'undefined') {
+ return;
+ }
+
+ if (typeof handler === 'undefined') {
+ delete this.bindings[event];
+ } else {
+ var i = 0;
+ while (i < this.bindings[event].length) {
+ if (this.bindings[event][i].handler === handler) {
+ this.bindings[event].splice(i, 1);
+ } else {
+ ++i;
+ }
+ }
+ }
+ }
+ }, {
+ key: 'trigger',
+ value: function trigger(event) {
+ if (typeof this.bindings !== 'undefined' && this.bindings[event]) {
+ var i = 0;
+
+ for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
+ args[_key - 1] = arguments[_key];
+ }
+
+ while (i < this.bindings[event].length) {
+ var _bindings$event$i = this.bindings[event][i];
+ var handler = _bindings$event$i.handler;
+ var ctx = _bindings$event$i.ctx;
+ var once = _bindings$event$i.once;
+
+ var context = ctx;
+ if (typeof context === 'undefined') {
+ context = this;
+ }
+
+ handler.apply(context, args);
+
+ if (once) {
+ this.bindings[event].splice(i, 1);
+ } else {
+ ++i;
+ }
+ }
+ }
+ }
+ }]);
+
+ return Evented;
+})();
+
+TetherBase.Utils = {
+ getActualBoundingClientRect: getActualBoundingClientRect,
+ getScrollParents: getScrollParents,
+ getBounds: getBounds,
+ getOffsetParent: getOffsetParent,
+ extend: extend,
+ addClass: addClass,
+ removeClass: removeClass,
+ hasClass: hasClass,
+ updateClasses: updateClasses,
+ defer: defer,
+ flush: flush,
+ uniqueId: uniqueId,
+ Evented: Evented,
+ getScrollBarSize: getScrollBarSize,
+ removeUtilElements: removeUtilElements
+};
+/* globals TetherBase, performance */
+
+'use strict';
+
+var _slicedToArray = (function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i['return']) _i['return'](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError('Invalid attempt to destructure non-iterable instance'); } }; })();
+
+var _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ('value' in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })();
+
+var _get = function get(_x6, _x7, _x8) { var _again = true; _function: while (_again) { var object = _x6, property = _x7, receiver = _x8; _again = false; if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { _x6 = parent; _x7 = property; _x8 = receiver; _again = true; desc = parent = undefined; continue _function; } } else if ('value' in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } } };
+
+function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } }
+
+function _inherits(subClass, superClass) { if (typeof superClass !== 'function' && superClass !== null) { throw new TypeError('Super expression must either be null or a function, not ' + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }
+
+if (typeof TetherBase === 'undefined') {
+ throw new Error('You must include the utils.js file before tether.js');
+}
+
+var _TetherBase$Utils = TetherBase.Utils;
+var getScrollParents = _TetherBase$Utils.getScrollParents;
+var getBounds = _TetherBase$Utils.getBounds;
+var getOffsetParent = _TetherBase$Utils.getOffsetParent;
+var extend = _TetherBase$Utils.extend;
+var addClass = _TetherBase$Utils.addClass;
+var removeClass = _TetherBase$Utils.removeClass;
+var updateClasses = _TetherBase$Utils.updateClasses;
+var defer = _TetherBase$Utils.defer;
+var flush = _TetherBase$Utils.flush;
+var getScrollBarSize = _TetherBase$Utils.getScrollBarSize;
+var removeUtilElements = _TetherBase$Utils.removeUtilElements;
+
+function within(a, b) {
+ var diff = arguments.length <= 2 || arguments[2] === undefined ? 1 : arguments[2];
+
+ return a + diff >= b && b >= a - diff;
+}
+
+var transformKey = (function () {
+ if (typeof document === 'undefined') {
+ return '';
+ }
+ var el = document.createElement('div');
+
+ var transforms = ['transform', 'WebkitTransform', 'OTransform', 'MozTransform', 'msTransform'];
+ for (var i = 0; i < transforms.length; ++i) {
+ var key = transforms[i];
+ if (el.style[key] !== undefined) {
+ return key;
+ }
+ }
+})();
+
+var tethers = [];
+
+var position = function position() {
+ tethers.forEach(function (tether) {
+ tether.position(false);
+ });
+ flush();
+};
+
+function now() {
+ if (typeof performance !== 'undefined' && typeof performance.now !== 'undefined') {
+ return performance.now();
+ }
+ return +new Date();
+}
+
+(function () {
+ var lastCall = null;
+ var lastDuration = null;
+ var pendingTimeout = null;
+
+ var tick = function tick() {
+ if (typeof lastDuration !== 'undefined' && lastDuration > 16) {
+ // We voluntarily throttle ourselves if we can't manage 60fps
+ lastDuration = Math.min(lastDuration - 16, 250);
+
+ // Just in case this is the last event, remember to position just once more
+ pendingTimeout = setTimeout(tick, 250);
+ return;
+ }
+
+ if (typeof lastCall !== 'undefined' && now() - lastCall < 10) {
+ // Some browsers call events a little too frequently, refuse to run more than is reasonable
+ return;
+ }
+
+ if (pendingTimeout != null) {
+ clearTimeout(pendingTimeout);
+ pendingTimeout = null;
+ }
+
+ lastCall = now();
+ position();
+ lastDuration = now() - lastCall;
+ };
+
+ if (typeof window !== 'undefined' && typeof window.addEventListener !== 'undefined') {
+ ['resize', 'scroll', 'touchmove'].forEach(function (event) {
+ window.addEventListener(event, tick);
+ });
+ }
+})();
+
+var MIRROR_LR = {
+ center: 'center',
+ left: 'right',
+ right: 'left'
+};
+
+var MIRROR_TB = {
+ middle: 'middle',
+ top: 'bottom',
+ bottom: 'top'
+};
+
+var OFFSET_MAP = {
+ top: 0,
+ left: 0,
+ middle: '50%',
+ center: '50%',
+ bottom: '100%',
+ right: '100%'
+};
+
+var autoToFixedAttachment = function autoToFixedAttachment(attachment, relativeToAttachment) {
+ var left = attachment.left;
+ var top = attachment.top;
+
+ if (left === 'auto') {
+ left = MIRROR_LR[relativeToAttachment.left];
+ }
+
+ if (top === 'auto') {
+ top = MIRROR_TB[relativeToAttachment.top];
+ }
+
+ return { left: left, top: top };
+};
+
+var attachmentToOffset = function attachmentToOffset(attachment) {
+ var left = attachment.left;
+ var top = attachment.top;
+
+ if (typeof OFFSET_MAP[attachment.left] !== 'undefined') {
+ left = OFFSET_MAP[attachment.left];
+ }
+
+ if (typeof OFFSET_MAP[attachment.top] !== 'undefined') {
+ top = OFFSET_MAP[attachment.top];
+ }
+
+ return { left: left, top: top };
+};
+
+function addOffset() {
+ var out = { top: 0, left: 0 };
+
+ for (var _len = arguments.length, offsets = Array(_len), _key = 0; _key < _len; _key++) {
+ offsets[_key] = arguments[_key];
+ }
+
+ offsets.forEach(function (_ref) {
+ var top = _ref.top;
+ var left = _ref.left;
+
+ if (typeof top === 'string') {
+ top = parseFloat(top, 10);
+ }
+ if (typeof left === 'string') {
+ left = parseFloat(left, 10);
+ }
+
+ out.top += top;
+ out.left += left;
+ });
+
+ return out;
+}
+
+function offsetToPx(offset, size) {
+ if (typeof offset.left === 'string' && offset.left.indexOf('%') !== -1) {
+ offset.left = parseFloat(offset.left, 10) / 100 * size.width;
+ }
+ if (typeof offset.top === 'string' && offset.top.indexOf('%') !== -1) {
+ offset.top = parseFloat(offset.top, 10) / 100 * size.height;
+ }
+
+ return offset;
+}
+
+var parseOffset = function parseOffset(value) {
+ var _value$split = value.split(' ');
+
+ var _value$split2 = _slicedToArray(_value$split, 2);
+
+ var top = _value$split2[0];
+ var left = _value$split2[1];
+
+ return { top: top, left: left };
+};
+var parseAttachment = parseOffset;
+
+var TetherClass = (function (_Evented) {
+ _inherits(TetherClass, _Evented);
+
+ function TetherClass(options) {
+ var _this = this;
+
+ _classCallCheck(this, TetherClass);
+
+ _get(Object.getPrototypeOf(TetherClass.prototype), 'constructor', this).call(this);
+ this.position = this.position.bind(this);
+
+ tethers.push(this);
+
+ this.history = [];
+
+ this.setOptions(options, false);
+
+ TetherBase.modules.forEach(function (module) {
+ if (typeof module.initialize !== 'undefined') {
+ module.initialize.call(_this);
+ }
+ });
+
+ this.position();
+ }
+
+ _createClass(TetherClass, [{
+ key: 'getClass',
+ value: function getClass() {
+ var key = arguments.length <= 0 || arguments[0] === undefined ? '' : arguments[0];
+ var classes = this.options.classes;
+
+ if (typeof classes !== 'undefined' && classes[key]) {
+ return this.options.classes[key];
+ } else if (this.options.classPrefix) {
+ return this.options.classPrefix + '-' + key;
+ } else {
+ return key;
+ }
+ }
+ }, {
+ key: 'setOptions',
+ value: function setOptions(options) {
+ var _this2 = this;
+
+ var pos = arguments.length <= 1 || arguments[1] === undefined ? true : arguments[1];
+
+ var defaults = {
+ offset: '0 0',
+ targetOffset: '0 0',
+ targetAttachment: 'auto auto',
+ classPrefix: 'tether'
+ };
+
+ this.options = extend(defaults, options);
+
+ var _options = this.options;
+ var element = _options.element;
+ var target = _options.target;
+ var targetModifier = _options.targetModifier;
+
+ this.element = element;
+ this.target = target;
+ this.targetModifier = targetModifier;
+
+ if (this.target === 'viewport') {
+ this.target = document.body;
+ this.targetModifier = 'visible';
+ } else if (this.target === 'scroll-handle') {
+ this.target = document.body;
+ this.targetModifier = 'scroll-handle';
+ }
+
+ ['element', 'target'].forEach(function (key) {
+ if (typeof _this2[key] === 'undefined') {
+ throw new Error('Tether Error: Both element and target must be defined');
+ }
+
+ if (typeof _this2[key].jquery !== 'undefined') {
+ _this2[key] = _this2[key][0];
+ } else if (typeof _this2[key] === 'string') {
+ _this2[key] = document.querySelector(_this2[key]);
+ }
+ });
+
+ addClass(this.element, this.getClass('element'));
+ if (!(this.options.addTargetClasses === false)) {
+ addClass(this.target, this.getClass('target'));
+ }
+
+ if (!this.options.attachment) {
+ throw new Error('Tether Error: You must provide an attachment');
+ }
+
+ this.targetAttachment = parseAttachment(this.options.targetAttachment);
+ this.attachment = parseAttachment(this.options.attachment);
+ this.offset = parseOffset(this.options.offset);
+ this.targetOffset = parseOffset(this.options.targetOffset);
+
+ if (typeof this.scrollParents !== 'undefined') {
+ this.disable();
+ }
+
+ if (this.targetModifier === 'scroll-handle') {
+ this.scrollParents = [this.target];
+ } else {
+ this.scrollParents = getScrollParents(this.target);
+ }
+
+ if (!(this.options.enabled === false)) {
+ this.enable(pos);
+ }
+ }
+ }, {
+ key: 'getTargetBounds',
+ value: function getTargetBounds() {
+ if (typeof this.targetModifier !== 'undefined') {
+ if (this.targetModifier === 'visible') {
+ if (this.target === document.body) {
+ return { top: pageYOffset, left: pageXOffset, height: innerHeight, width: innerWidth };
+ } else {
+ var bounds = getBounds(this.target);
+
+ var out = {
+ height: bounds.height,
+ width: bounds.width,
+ top: bounds.top,
+ left: bounds.left
+ };
+
+ out.height = Math.min(out.height, bounds.height - (pageYOffset - bounds.top));
+ out.height = Math.min(out.height, bounds.height - (bounds.top + bounds.height - (pageYOffset + innerHeight)));
+ out.height = Math.min(innerHeight, out.height);
+ out.height -= 2;
+
+ out.width = Math.min(out.width, bounds.width - (pageXOffset - bounds.left));
+ out.width = Math.min(out.width, bounds.width - (bounds.left + bounds.width - (pageXOffset + innerWidth)));
+ out.width = Math.min(innerWidth, out.width);
+ out.width -= 2;
+
+ if (out.top < pageYOffset) {
+ out.top = pageYOffset;
+ }
+ if (out.left < pageXOffset) {
+ out.left = pageXOffset;
+ }
+
+ return out;
+ }
+ } else if (this.targetModifier === 'scroll-handle') {
+ var bounds = undefined;
+ var target = this.target;
+ if (target === document.body) {
+ target = document.documentElement;
+
+ bounds = {
+ left: pageXOffset,
+ top: pageYOffset,
+ height: innerHeight,
+ width: innerWidth
+ };
+ } else {
+ bounds = getBounds(target);
+ }
+
+ var style = getComputedStyle(target);
+
+ var hasBottomScroll = target.scrollWidth > target.clientWidth || [style.overflow, style.overflowX].indexOf('scroll') >= 0 || this.target !== document.body;
+
+ var scrollBottom = 0;
+ if (hasBottomScroll) {
+ scrollBottom = 15;
+ }
+
+ var height = bounds.height - parseFloat(style.borderTopWidth) - parseFloat(style.borderBottomWidth) - scrollBottom;
+
+ var out = {
+ width: 15,
+ height: height * 0.975 * (height / target.scrollHeight),
+ left: bounds.left + bounds.width - parseFloat(style.borderLeftWidth) - 15
+ };
+
+ var fitAdj = 0;
+ if (height < 408 && this.target === document.body) {
+ fitAdj = -0.00011 * Math.pow(height, 2) - 0.00727 * height + 22.58;
+ }
+
+ if (this.target !== document.body) {
+ out.height = Math.max(out.height, 24);
+ }
+
+ var scrollPercentage = this.target.scrollTop / (target.scrollHeight - height);
+ out.top = scrollPercentage * (height - out.height - fitAdj) + bounds.top + parseFloat(style.borderTopWidth);
+
+ if (this.target === document.body) {
+ out.height = Math.max(out.height, 24);
+ }
+
+ return out;
+ }
+ } else {
+ return getBounds(this.target);
+ }
+ }
+ }, {
+ key: 'clearCache',
+ value: function clearCache() {
+ this._cache = {};
+ }
+ }, {
+ key: 'cache',
+ value: function cache(k, getter) {
+ // More than one module will often need the same DOM info, so
+ // we keep a cache which is cleared on each position call
+ if (typeof this._cache === 'undefined') {
+ this._cache = {};
+ }
+
+ if (typeof this._cache[k] === 'undefined') {
+ this._cache[k] = getter.call(this);
+ }
+
+ return this._cache[k];
+ }
+ }, {
+ key: 'enable',
+ value: function enable() {
+ var _this3 = this;
+
+ var pos = arguments.length <= 0 || arguments[0] === undefined ? true : arguments[0];
+
+ if (!(this.options.addTargetClasses === false)) {
+ addClass(this.target, this.getClass('enabled'));
+ }
+ addClass(this.element, this.getClass('enabled'));
+ this.enabled = true;
+
+ this.scrollParents.forEach(function (parent) {
+ if (parent !== _this3.target.ownerDocument) {
+ parent.addEventListener('scroll', _this3.position);
+ }
+ });
+
+ if (pos) {
+ this.position();
+ }
+ }
+ }, {
+ key: 'disable',
+ value: function disable() {
+ var _this4 = this;
+
+ removeClass(this.target, this.getClass('enabled'));
+ removeClass(this.element, this.getClass('enabled'));
+ this.enabled = false;
+
+ if (typeof this.scrollParents !== 'undefined') {
+ this.scrollParents.forEach(function (parent) {
+ parent.removeEventListener('scroll', _this4.position);
+ });
+ }
+ }
+ }, {
+ key: 'destroy',
+ value: function destroy() {
+ var _this5 = this;
+
+ this.disable();
+
+ tethers.forEach(function (tether, i) {
+ if (tether === _this5) {
+ tethers.splice(i, 1);
+ }
+ });
+
+ // Remove any elements we were using for convenience from the DOM
+ if (tethers.length === 0) {
+ removeUtilElements();
+ }
+ }
+ }, {
+ key: 'updateAttachClasses',
+ value: function updateAttachClasses(elementAttach, targetAttach) {
+ var _this6 = this;
+
+ elementAttach = elementAttach || this.attachment;
+ targetAttach = targetAttach || this.targetAttachment;
+ var sides = ['left', 'top', 'bottom', 'right', 'middle', 'center'];
+
+ if (typeof this._addAttachClasses !== 'undefined' && this._addAttachClasses.length) {
+ // updateAttachClasses can be called more than once in a position call, so
+ // we need to clean up after ourselves such that when the last defer gets
+ // ran it doesn't add any extra classes from previous calls.
+ this._addAttachClasses.splice(0, this._addAttachClasses.length);
+ }
+
+ if (typeof this._addAttachClasses === 'undefined') {
+ this._addAttachClasses = [];
+ }
+ var add = this._addAttachClasses;
+
+ if (elementAttach.top) {
+ add.push(this.getClass('element-attached') + '-' + elementAttach.top);
+ }
+ if (elementAttach.left) {
+ add.push(this.getClass('element-attached') + '-' + elementAttach.left);
+ }
+ if (targetAttach.top) {
+ add.push(this.getClass('target-attached') + '-' + targetAttach.top);
+ }
+ if (targetAttach.left) {
+ add.push(this.getClass('target-attached') + '-' + targetAttach.left);
+ }
+
+ var all = [];
+ sides.forEach(function (side) {
+ all.push(_this6.getClass('element-attached') + '-' + side);
+ all.push(_this6.getClass('target-attached') + '-' + side);
+ });
+
+ defer(function () {
+ if (!(typeof _this6._addAttachClasses !== 'undefined')) {
+ return;
+ }
+
+ updateClasses(_this6.element, _this6._addAttachClasses, all);
+ if (!(_this6.options.addTargetClasses === false)) {
+ updateClasses(_this6.target, _this6._addAttachClasses, all);
+ }
+
+ delete _this6._addAttachClasses;
+ });
+ }
+ }, {
+ key: 'position',
+ value: function position() {
+ var _this7 = this;
+
+ var flushChanges = arguments.length <= 0 || arguments[0] === undefined ? true : arguments[0];
+
+ // flushChanges commits the changes immediately, leave true unless you are positioning multiple
+ // tethers (in which case call Tether.Utils.flush yourself when you're done)
+
+ if (!this.enabled) {
+ return;
+ }
+
+ this.clearCache();
+
+ // Turn 'auto' attachments into the appropriate corner or edge
+ var targetAttachment = autoToFixedAttachment(this.targetAttachment, this.attachment);
+
+ this.updateAttachClasses(this.attachment, targetAttachment);
+
+ var elementPos = this.cache('element-bounds', function () {
+ return getBounds(_this7.element);
+ });
+
+ var width = elementPos.width;
+ var height = elementPos.height;
+
+ if (width === 0 && height === 0 && typeof this.lastSize !== 'undefined') {
+ var _lastSize = this.lastSize;
+
+ // We cache the height and width to make it possible to position elements that are
+ // getting hidden.
+ width = _lastSize.width;
+ height = _lastSize.height;
+ } else {
+ this.lastSize = { width: width, height: height };
+ }
+
+ var targetPos = this.cache('target-bounds', function () {
+ return _this7.getTargetBounds();
+ });
+ var targetSize = targetPos;
+
+ // Get an actual px offset from the attachment
+ var offset = offsetToPx(attachmentToOffset(this.attachment), { width: width, height: height });
+ var targetOffset = offsetToPx(attachmentToOffset(targetAttachment), targetSize);
+
+ var manualOffset = offsetToPx(this.offset, { width: width, height: height });
+ var manualTargetOffset = offsetToPx(this.targetOffset, targetSize);
+
+ // Add the manually provided offset
+ offset = addOffset(offset, manualOffset);
+ targetOffset = addOffset(targetOffset, manualTargetOffset);
+
+ // It's now our goal to make (element position + offset) == (target position + target offset)
+ var left = targetPos.left + targetOffset.left - offset.left;
+ var top = targetPos.top + targetOffset.top - offset.top;
+
+ for (var i = 0; i < TetherBase.modules.length; ++i) {
+ var _module2 = TetherBase.modules[i];
+ var ret = _module2.position.call(this, {
+ left: left,
+ top: top,
+ targetAttachment: targetAttachment,
+ targetPos: targetPos,
+ elementPos: elementPos,
+ offset: offset,
+ targetOffset: targetOffset,
+ manualOffset: manualOffset,
+ manualTargetOffset: manualTargetOffset,
+ scrollbarSize: scrollbarSize,
+ attachment: this.attachment
+ });
+
+ if (ret === false) {
+ return false;
+ } else if (typeof ret === 'undefined' || typeof ret !== 'object') {
+ continue;
+ } else {
+ top = ret.top;
+ left = ret.left;
+ }
+ }
+
+ // We describe the position three different ways to give the optimizer
+ // a chance to decide the best possible way to position the element
+ // with the fewest repaints.
+ var next = {
+ // It's position relative to the page (absolute positioning when
+ // the element is a child of the body)
+ page: {
+ top: top,
+ left: left
+ },
+
+ // It's position relative to the viewport (fixed positioning)
+ viewport: {
+ top: top - pageYOffset,
+ bottom: pageYOffset - top - height + innerHeight,
+ left: left - pageXOffset,
+ right: pageXOffset - left - width + innerWidth
+ }
+ };
+
+ var doc = this.target.ownerDocument;
+ var win = doc.defaultView;
+
+ var scrollbarSize = undefined;
+ if (win.innerHeight > doc.documentElement.clientHeight) {
+ scrollbarSize = this.cache('scrollbar-size', getScrollBarSize);
+ next.viewport.bottom -= scrollbarSize.height;
+ }
+
+ if (win.innerWidth > doc.documentElement.clientWidth) {
+ scrollbarSize = this.cache('scrollbar-size', getScrollBarSize);
+ next.viewport.right -= scrollbarSize.width;
+ }
+
+ if (['', 'static'].indexOf(doc.body.style.position) === -1 || ['', 'static'].indexOf(doc.body.parentElement.style.position) === -1) {
+ // Absolute positioning in the body will be relative to the page, not the 'initial containing block'
+ next.page.bottom = doc.body.scrollHeight - top - height;
+ next.page.right = doc.body.scrollWidth - left - width;
+ }
+
+ if (typeof this.options.optimizations !== 'undefined' && this.options.optimizations.moveElement !== false && !(typeof this.targetModifier !== 'undefined')) {
+ (function () {
+ var offsetParent = _this7.cache('target-offsetparent', function () {
+ return getOffsetParent(_this7.target);
+ });
+ var offsetPosition = _this7.cache('target-offsetparent-bounds', function () {
+ return getBounds(offsetParent);
+ });
+ var offsetParentStyle = getComputedStyle(offsetParent);
+ var offsetParentSize = offsetPosition;
+
+ var offsetBorder = {};
+ ['Top', 'Left', 'Bottom', 'Right'].forEach(function (side) {
+ offsetBorder[side.toLowerCase()] = parseFloat(offsetParentStyle['border' + side + 'Width']);
+ });
+
+ offsetPosition.right = doc.body.scrollWidth - offsetPosition.left - offsetParentSize.width + offsetBorder.right;
+ offsetPosition.bottom = doc.body.scrollHeight - offsetPosition.top - offsetParentSize.height + offsetBorder.bottom;
+
+ if (next.page.top >= offsetPosition.top + offsetBorder.top && next.page.bottom >= offsetPosition.bottom) {
+ if (next.page.left >= offsetPosition.left + offsetBorder.left && next.page.right >= offsetPosition.right) {
+ // We're within the visible part of the target's scroll parent
+ var scrollTop = offsetParent.scrollTop;
+ var scrollLeft = offsetParent.scrollLeft;
+
+ // It's position relative to the target's offset parent (absolute positioning when
+ // the element is moved to be a child of the target's offset parent).
+ next.offset = {
+ top: next.page.top - offsetPosition.top + scrollTop - offsetBorder.top,
+ left: next.page.left - offsetPosition.left + scrollLeft - offsetBorder.left
+ };
+ }
+ }
+ })();
+ }
+
+ // We could also travel up the DOM and try each containing context, rather than only
+ // looking at the body, but we're gonna get diminishing returns.
+
+ this.move(next);
+
+ this.history.unshift(next);
+
+ if (this.history.length > 3) {
+ this.history.pop();
+ }
+
+ if (flushChanges) {
+ flush();
+ }
+
+ return true;
+ }
+
+ // THE ISSUE
+ }, {
+ key: 'move',
+ value: function move(pos) {
+ var _this8 = this;
+
+ if (!(typeof this.element.parentNode !== 'undefined')) {
+ return;
+ }
+
+ var same = {};
+
+ for (var type in pos) {
+ same[type] = {};
+
+ for (var key in pos[type]) {
+ var found = false;
+
+ for (var i = 0; i < this.history.length; ++i) {
+ var point = this.history[i];
+ if (typeof point[type] !== 'undefined' && !within(point[type][key], pos[type][key])) {
+ found = true;
+ break;
+ }
+ }
+
+ if (!found) {
+ same[type][key] = true;
+ }
+ }
+ }
+
+ var css = { top: '', left: '', right: '', bottom: '' };
+
+ var transcribe = function transcribe(_same, _pos) {
+ var hasOptimizations = typeof _this8.options.optimizations !== 'undefined';
+ var gpu = hasOptimizations ? _this8.options.optimizations.gpu : null;
+ if (gpu !== false) {
+ var yPos = undefined,
+ xPos = undefined;
+ if (_same.top) {
+ css.top = 0;
+ yPos = _pos.top;
+ } else {
+ css.bottom = 0;
+ yPos = -_pos.bottom;
+ }
+
+ if (_same.left) {
+ css.left = 0;
+ xPos = _pos.left;
+ } else {
+ css.right = 0;
+ xPos = -_pos.right;
+ }
+
+ if (window.matchMedia) {
+ // HubSpot/tether#207
+ var retina = window.matchMedia('only screen and (min-resolution: 1.3dppx)').matches || window.matchMedia('only screen and (-webkit-min-device-pixel-ratio: 1.3)').matches;
+ if (!retina) {
+ xPos = Math.round(xPos);
+ yPos = Math.round(yPos);
+ }
+ }
+
+ css[transformKey] = 'translateX(' + xPos + 'px) translateY(' + yPos + 'px)';
+
+ if (transformKey !== 'msTransform') {
+ // The Z transform will keep this in the GPU (faster, and prevents artifacts),
+ // but IE9 doesn't support 3d transforms and will choke.
+ css[transformKey] += " translateZ(0)";
+ }
+ } else {
+ if (_same.top) {
+ css.top = _pos.top + 'px';
+ } else {
+ css.bottom = _pos.bottom + 'px';
+ }
+
+ if (_same.left) {
+ css.left = _pos.left + 'px';
+ } else {
+ css.right = _pos.right + 'px';
+ }
+ }
+ };
+
+ var moved = false;
+ if ((same.page.top || same.page.bottom) && (same.page.left || same.page.right)) {
+ css.position = 'absolute';
+ transcribe(same.page, pos.page);
+ } else if ((same.viewport.top || same.viewport.bottom) && (same.viewport.left || same.viewport.right)) {
+ css.position = 'fixed';
+ transcribe(same.viewport, pos.viewport);
+ } else if (typeof same.offset !== 'undefined' && same.offset.top && same.offset.left) {
+ (function () {
+ css.position = 'absolute';
+ var offsetParent = _this8.cache('target-offsetparent', function () {
+ return getOffsetParent(_this8.target);
+ });
+
+ if (getOffsetParent(_this8.element) !== offsetParent) {
+ defer(function () {
+ _this8.element.parentNode.removeChild(_this8.element);
+ offsetParent.appendChild(_this8.element);
+ });
+ }
+
+ transcribe(same.offset, pos.offset);
+ moved = true;
+ })();
+ } else {
+ css.position = 'absolute';
+ transcribe({ top: true, left: true }, pos.page);
+ }
+
+ if (!moved) {
+ if (this.options.bodyElement) {
+ this.options.bodyElement.appendChild(this.element);
+ } else {
+ var offsetParentIsBody = true;
+ var currentNode = this.element.parentNode;
+ while (currentNode && currentNode.nodeType === 1 && currentNode.tagName !== 'BODY') {
+ if (getComputedStyle(currentNode).position !== 'static') {
+ offsetParentIsBody = false;
+ break;
+ }
+
+ currentNode = currentNode.parentNode;
+ }
+
+ if (!offsetParentIsBody) {
+ this.element.parentNode.removeChild(this.element);
+ this.element.ownerDocument.body.appendChild(this.element);
+ }
+ }
+ }
+
+ // Any css change will trigger a repaint, so let's avoid one if nothing changed
+ var writeCSS = {};
+ var write = false;
+ for (var key in css) {
+ var val = css[key];
+ var elVal = this.element.style[key];
+
+ if (elVal !== val) {
+ write = true;
+ writeCSS[key] = val;
+ }
+ }
+
+ if (write) {
+ defer(function () {
+ extend(_this8.element.style, writeCSS);
+ _this8.trigger('repositioned');
+ });
+ }
+ }
+ }]);
+
+ return TetherClass;
+})(Evented);
+
+TetherClass.modules = [];
+
+TetherBase.position = position;
+
+var Tether = extend(TetherClass, TetherBase);
+/* globals TetherBase */
+
+'use strict';
+
+var _slicedToArray = (function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i['return']) _i['return'](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError('Invalid attempt to destructure non-iterable instance'); } }; })();
+
+var _TetherBase$Utils = TetherBase.Utils;
+var getBounds = _TetherBase$Utils.getBounds;
+var extend = _TetherBase$Utils.extend;
+var updateClasses = _TetherBase$Utils.updateClasses;
+var defer = _TetherBase$Utils.defer;
+
+var BOUNDS_FORMAT = ['left', 'top', 'right', 'bottom'];
+
+function getBoundingRect(tether, to) {
+ if (to === 'scrollParent') {
+ to = tether.scrollParents[0];
+ } else if (to === 'window') {
+ to = [pageXOffset, pageYOffset, innerWidth + pageXOffset, innerHeight + pageYOffset];
+ }
+
+ if (to === document) {
+ to = to.documentElement;
+ }
+
+ if (typeof to.nodeType !== 'undefined') {
+ (function () {
+ var node = to;
+ var size = getBounds(to);
+ var pos = size;
+ var style = getComputedStyle(to);
+
+ to = [pos.left, pos.top, size.width + pos.left, size.height + pos.top];
+
+ // Account any parent Frames scroll offset
+ if (node.ownerDocument !== document) {
+ var win = node.ownerDocument.defaultView;
+ to[0] += win.pageXOffset;
+ to[1] += win.pageYOffset;
+ to[2] += win.pageXOffset;
+ to[3] += win.pageYOffset;
+ }
+
+ BOUNDS_FORMAT.forEach(function (side, i) {
+ side = side[0].toUpperCase() + side.substr(1);
+ if (side === 'Top' || side === 'Left') {
+ to[i] += parseFloat(style['border' + side + 'Width']);
+ } else {
+ to[i] -= parseFloat(style['border' + side + 'Width']);
+ }
+ });
+ })();
+ }
+
+ return to;
+}
+
+TetherBase.modules.push({
+ position: function position(_ref) {
+ var _this = this;
+
+ var top = _ref.top;
+ var left = _ref.left;
+ var targetAttachment = _ref.targetAttachment;
+
+ if (!this.options.constraints) {
+ return true;
+ }
+
+ var _cache = this.cache('element-bounds', function () {
+ return getBounds(_this.element);
+ });
+
+ var height = _cache.height;
+ var width = _cache.width;
+
+ if (width === 0 && height === 0 && typeof this.lastSize !== 'undefined') {
+ var _lastSize = this.lastSize;
+
+ // Handle the item getting hidden as a result of our positioning without glitching
+ // the classes in and out
+ width = _lastSize.width;
+ height = _lastSize.height;
+ }
+
+ var targetSize = this.cache('target-bounds', function () {
+ return _this.getTargetBounds();
+ });
+
+ var targetHeight = targetSize.height;
+ var targetWidth = targetSize.width;
+
+ var allClasses = [this.getClass('pinned'), this.getClass('out-of-bounds')];
+
+ this.options.constraints.forEach(function (constraint) {
+ var outOfBoundsClass = constraint.outOfBoundsClass;
+ var pinnedClass = constraint.pinnedClass;
+
+ if (outOfBoundsClass) {
+ allClasses.push(outOfBoundsClass);
+ }
+ if (pinnedClass) {
+ allClasses.push(pinnedClass);
+ }
+ });
+
+ allClasses.forEach(function (cls) {
+ ['left', 'top', 'right', 'bottom'].forEach(function (side) {
+ allClasses.push(cls + '-' + side);
+ });
+ });
+
+ var addClasses = [];
+
+ var tAttachment = extend({}, targetAttachment);
+ var eAttachment = extend({}, this.attachment);
+
+ this.options.constraints.forEach(function (constraint) {
+ var to = constraint.to;
+ var attachment = constraint.attachment;
+ var pin = constraint.pin;
+
+ if (typeof attachment === 'undefined') {
+ attachment = '';
+ }
+
+ var changeAttachX = undefined,
+ changeAttachY = undefined;
+ if (attachment.indexOf(' ') >= 0) {
+ var _attachment$split = attachment.split(' ');
+
+ var _attachment$split2 = _slicedToArray(_attachment$split, 2);
+
+ changeAttachY = _attachment$split2[0];
+ changeAttachX = _attachment$split2[1];
+ } else {
+ changeAttachX = changeAttachY = attachment;
+ }
+
+ var bounds = getBoundingRect(_this, to);
+
+ if (changeAttachY === 'target' || changeAttachY === 'both') {
+ if (top < bounds[1] && tAttachment.top === 'top') {
+ top += targetHeight;
+ tAttachment.top = 'bottom';
+ }
+
+ if (top + height > bounds[3] && tAttachment.top === 'bottom') {
+ top -= targetHeight;
+ tAttachment.top = 'top';
+ }
+ }
+
+ if (changeAttachY === 'together') {
+ if (tAttachment.top === 'top') {
+ if (eAttachment.top === 'bottom' && top < bounds[1]) {
+ top += targetHeight;
+ tAttachment.top = 'bottom';
+
+ top += height;
+ eAttachment.top = 'top';
+ } else if (eAttachment.top === 'top' && top + height > bounds[3] && top - (height - targetHeight) >= bounds[1]) {
+ top -= height - targetHeight;
+ tAttachment.top = 'bottom';
+
+ eAttachment.top = 'bottom';
+ }
+ }
+
+ if (tAttachment.top === 'bottom') {
+ if (eAttachment.top === 'top' && top + height > bounds[3]) {
+ top -= targetHeight;
+ tAttachment.top = 'top';
+
+ top -= height;
+ eAttachment.top = 'bottom';
+ } else if (eAttachment.top === 'bottom' && top < bounds[1] && top + (height * 2 - targetHeight) <= bounds[3]) {
+ top += height - targetHeight;
+ tAttachment.top = 'top';
+
+ eAttachment.top = 'top';
+ }
+ }
+
+ if (tAttachment.top === 'middle') {
+ if (top + height > bounds[3] && eAttachment.top === 'top') {
+ top -= height;
+ eAttachment.top = 'bottom';
+ } else if (top < bounds[1] && eAttachment.top === 'bottom') {
+ top += height;
+ eAttachment.top = 'top';
+ }
+ }
+ }
+
+ if (changeAttachX === 'target' || changeAttachX === 'both') {
+ if (left < bounds[0] && tAttachment.left === 'left') {
+ left += targetWidth;
+ tAttachment.left = 'right';
+ }
+
+ if (left + width > bounds[2] && tAttachment.left === 'right') {
+ left -= targetWidth;
+ tAttachment.left = 'left';
+ }
+ }
+
+ if (changeAttachX === 'together') {
+ if (left < bounds[0] && tAttachment.left === 'left') {
+ if (eAttachment.left === 'right') {
+ left += targetWidth;
+ tAttachment.left = 'right';
+
+ left += width;
+ eAttachment.left = 'left';
+ } else if (eAttachment.left === 'left') {
+ left += targetWidth;
+ tAttachment.left = 'right';
+
+ left -= width;
+ eAttachment.left = 'right';
+ }
+ } else if (left + width > bounds[2] && tAttachment.left === 'right') {
+ if (eAttachment.left === 'left') {
+ left -= targetWidth;
+ tAttachment.left = 'left';
+
+ left -= width;
+ eAttachment.left = 'right';
+ } else if (eAttachment.left === 'right') {
+ left -= targetWidth;
+ tAttachment.left = 'left';
+
+ left += width;
+ eAttachment.left = 'left';
+ }
+ } else if (tAttachment.left === 'center') {
+ if (left + width > bounds[2] && eAttachment.left === 'left') {
+ left -= width;
+ eAttachment.left = 'right';
+ } else if (left < bounds[0] && eAttachment.left === 'right') {
+ left += width;
+ eAttachment.left = 'left';
+ }
+ }
+ }
+
+ if (changeAttachY === 'element' || changeAttachY === 'both') {
+ if (top < bounds[1] && eAttachment.top === 'bottom') {
+ top += height;
+ eAttachment.top = 'top';
+ }
+
+ if (top + height > bounds[3] && eAttachment.top === 'top') {
+ top -= height;
+ eAttachment.top = 'bottom';
+ }
+ }
+
+ if (changeAttachX === 'element' || changeAttachX === 'both') {
+ if (left < bounds[0]) {
+ if (eAttachment.left === 'right') {
+ left += width;
+ eAttachment.left = 'left';
+ } else if (eAttachment.left === 'center') {
+ left += width / 2;
+ eAttachment.left = 'left';
+ }
+ }
+
+ if (left + width > bounds[2]) {
+ if (eAttachment.left === 'left') {
+ left -= width;
+ eAttachment.left = 'right';
+ } else if (eAttachment.left === 'center') {
+ left -= width / 2;
+ eAttachment.left = 'right';
+ }
+ }
+ }
+
+ if (typeof pin === 'string') {
+ pin = pin.split(',').map(function (p) {
+ return p.trim();
+ });
+ } else if (pin === true) {
+ pin = ['top', 'left', 'right', 'bottom'];
+ }
+
+ pin = pin || [];
+
+ var pinned = [];
+ var oob = [];
+
+ if (top < bounds[1]) {
+ if (pin.indexOf('top') >= 0) {
+ top = bounds[1];
+ pinned.push('top');
+ } else {
+ oob.push('top');
+ }
+ }
+
+ if (top + height > bounds[3]) {
+ if (pin.indexOf('bottom') >= 0) {
+ top = bounds[3] - height;
+ pinned.push('bottom');
+ } else {
+ oob.push('bottom');
+ }
+ }
+
+ if (left < bounds[0]) {
+ if (pin.indexOf('left') >= 0) {
+ left = bounds[0];
+ pinned.push('left');
+ } else {
+ oob.push('left');
+ }
+ }
+
+ if (left + width > bounds[2]) {
+ if (pin.indexOf('right') >= 0) {
+ left = bounds[2] - width;
+ pinned.push('right');
+ } else {
+ oob.push('right');
+ }
+ }
+
+ if (pinned.length) {
+ (function () {
+ var pinnedClass = undefined;
+ if (typeof _this.options.pinnedClass !== 'undefined') {
+ pinnedClass = _this.options.pinnedClass;
+ } else {
+ pinnedClass = _this.getClass('pinned');
+ }
+
+ addClasses.push(pinnedClass);
+ pinned.forEach(function (side) {
+ addClasses.push(pinnedClass + '-' + side);
+ });
+ })();
+ }
+
+ if (oob.length) {
+ (function () {
+ var oobClass = undefined;
+ if (typeof _this.options.outOfBoundsClass !== 'undefined') {
+ oobClass = _this.options.outOfBoundsClass;
+ } else {
+ oobClass = _this.getClass('out-of-bounds');
+ }
+
+ addClasses.push(oobClass);
+ oob.forEach(function (side) {
+ addClasses.push(oobClass + '-' + side);
+ });
+ })();
+ }
+
+ if (pinned.indexOf('left') >= 0 || pinned.indexOf('right') >= 0) {
+ eAttachment.left = tAttachment.left = false;
+ }
+ if (pinned.indexOf('top') >= 0 || pinned.indexOf('bottom') >= 0) {
+ eAttachment.top = tAttachment.top = false;
+ }
+
+ if (tAttachment.top !== targetAttachment.top || tAttachment.left !== targetAttachment.left || eAttachment.top !== _this.attachment.top || eAttachment.left !== _this.attachment.left) {
+ _this.updateAttachClasses(eAttachment, tAttachment);
+ _this.trigger('update', {
+ attachment: eAttachment,
+ targetAttachment: tAttachment
+ });
+ }
+ });
+
+ defer(function () {
+ if (!(_this.options.addTargetClasses === false)) {
+ updateClasses(_this.target, addClasses, allClasses);
+ }
+ updateClasses(_this.element, addClasses, allClasses);
+ });
+
+ return { top: top, left: left };
+ }
+});
+/* globals TetherBase */
+
+'use strict';
+
+var _TetherBase$Utils = TetherBase.Utils;
+var getBounds = _TetherBase$Utils.getBounds;
+var updateClasses = _TetherBase$Utils.updateClasses;
+var defer = _TetherBase$Utils.defer;
+
+TetherBase.modules.push({
+ position: function position(_ref) {
+ var _this = this;
+
+ var top = _ref.top;
+ var left = _ref.left;
+
+ var _cache = this.cache('element-bounds', function () {
+ return getBounds(_this.element);
+ });
+
+ var height = _cache.height;
+ var width = _cache.width;
+
+ var targetPos = this.getTargetBounds();
+
+ var bottom = top + height;
+ var right = left + width;
+
+ var abutted = [];
+ if (top <= targetPos.bottom && bottom >= targetPos.top) {
+ ['left', 'right'].forEach(function (side) {
+ var targetPosSide = targetPos[side];
+ if (targetPosSide === left || targetPosSide === right) {
+ abutted.push(side);
+ }
+ });
+ }
+
+ if (left <= targetPos.right && right >= targetPos.left) {
+ ['top', 'bottom'].forEach(function (side) {
+ var targetPosSide = targetPos[side];
+ if (targetPosSide === top || targetPosSide === bottom) {
+ abutted.push(side);
+ }
+ });
+ }
+
+ var allClasses = [];
+ var addClasses = [];
+
+ var sides = ['left', 'top', 'right', 'bottom'];
+ allClasses.push(this.getClass('abutted'));
+ sides.forEach(function (side) {
+ allClasses.push(_this.getClass('abutted') + '-' + side);
+ });
+
+ if (abutted.length) {
+ addClasses.push(this.getClass('abutted'));
+ }
+
+ abutted.forEach(function (side) {
+ addClasses.push(_this.getClass('abutted') + '-' + side);
+ });
+
+ defer(function () {
+ if (!(_this.options.addTargetClasses === false)) {
+ updateClasses(_this.target, addClasses, allClasses);
+ }
+ updateClasses(_this.element, addClasses, allClasses);
+ });
+
+ return true;
+ }
+});
+/* globals TetherBase */
+
+'use strict';
+
+var _slicedToArray = (function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i['return']) _i['return'](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError('Invalid attempt to destructure non-iterable instance'); } }; })();
+
+TetherBase.modules.push({
+ position: function position(_ref) {
+ var top = _ref.top;
+ var left = _ref.left;
+
+ if (!this.options.shift) {
+ return;
+ }
+
+ var shift = this.options.shift;
+ if (typeof this.options.shift === 'function') {
+ shift = this.options.shift.call(this, { top: top, left: left });
+ }
+
+ var shiftTop = undefined,
+ shiftLeft = undefined;
+ if (typeof shift === 'string') {
+ shift = shift.split(' ');
+ shift[1] = shift[1] || shift[0];
+
+ var _shift = shift;
+
+ var _shift2 = _slicedToArray(_shift, 2);
+
+ shiftTop = _shift2[0];
+ shiftLeft = _shift2[1];
+
+ shiftTop = parseFloat(shiftTop, 10);
+ shiftLeft = parseFloat(shiftLeft, 10);
+ } else {
+ shiftTop = shift.top;
+ shiftLeft = shift.left;
+ }
+
+ top += shiftTop;
+ left += shiftLeft;
+
+ return { top: top, left: left };
+ }
+});
+return Tether;
+
+}));
diff --git a/templates/assets/tether/dist/js/tether.min.js b/templates/assets/tether/dist/js/tether.min.js
new file mode 100644
index 0000000..d16b9b1
--- /dev/null
+++ b/templates/assets/tether/dist/js/tether.min.js
@@ -0,0 +1 @@
+!function(t,e){"function"==typeof define&&define.amd?define(e):"object"==typeof exports?module.exports=e(require,exports,module):t.Tether=e()}(this,function(t,e,o){"use strict";function i(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function n(t){var e=t.getBoundingClientRect(),o={};for(var i in e)o[i]=e[i];if(t.ownerDocument!==document){var r=t.ownerDocument.defaultView.frameElement;if(r){var s=n(r);o.top+=s.top,o.bottom+=s.top,o.left+=s.left,o.right+=s.left}}return o}function r(t){var e=getComputedStyle(t)||{},o=e.position,i=[];if("fixed"===o)return[t];for(var n=t;(n=n.parentNode)&&n&&1===n.nodeType;){var r=void 0;try{r=getComputedStyle(n)}catch(s){}if("undefined"==typeof r||null===r)return i.push(n),i;var a=r,f=a.overflow,l=a.overflowX,h=a.overflowY;/(auto|scroll)/.test(f+h+l)&&("absolute"!==o||["relative","absolute","fixed"].indexOf(r.position)>=0)&&i.push(n)}return i.push(t.ownerDocument.body),t.ownerDocument!==document&&i.push(t.ownerDocument.defaultView),i}function s(){A&&document.body.removeChild(A),A=null}function a(t){var e=void 0;t===document?(e=document,t=document.documentElement):e=t.ownerDocument;var o=e.documentElement,i=n(t),r=P();return i.top-=r.top,i.left-=r.left,"undefined"==typeof i.width&&(i.width=document.body.scrollWidth-i.left-i.right),"undefined"==typeof i.height&&(i.height=document.body.scrollHeight-i.top-i.bottom),i.top=i.top-o.clientTop,i.left=i.left-o.clientLeft,i.right=e.body.clientWidth-i.width-i.left,i.bottom=e.body.clientHeight-i.height-i.top,i}function f(t){return t.offsetParent||document.documentElement}function l(){if(M)return M;var t=document.createElement("div");t.style.width="100%",t.style.height="200px";var e=document.createElement("div");h(e.style,{position:"absolute",top:0,left:0,pointerEvents:"none",visibility:"hidden",width:"200px",height:"150px",overflow:"hidden"}),e.appendChild(t),document.body.appendChild(e);var o=t.offsetWidth;e.style.overflow="scroll";var i=t.offsetWidth;o===i&&(i=e.clientWidth),document.body.removeChild(e);var n=o-i;return M={width:n,height:n}}function h(){var t=arguments.length<=0||void 0===arguments[0]?{}:arguments[0],e=[];return Array.prototype.push.apply(e,arguments),e.slice(1).forEach(function(e){if(e)for(var o in e)({}).hasOwnProperty.call(e,o)&&(t[o]=e[o])}),t}function d(t,e){if("undefined"!=typeof t.classList)e.split(" ").forEach(function(e){e.trim()&&t.classList.remove(e)});else{var o=new RegExp("(^| )"+e.split(" ").join("|")+"( |$)","gi"),i=c(t).replace(o," ");g(t,i)}}function p(t,e){if("undefined"!=typeof t.classList)e.split(" ").forEach(function(e){e.trim()&&t.classList.add(e)});else{d(t,e);var o=c(t)+(" "+e);g(t,o)}}function u(t,e){if("undefined"!=typeof t.classList)return t.classList.contains(e);var o=c(t);return new RegExp("(^| )"+e+"( |$)","gi").test(o)}function c(t){return t.className instanceof t.ownerDocument.defaultView.SVGAnimatedString?t.className.baseVal:t.className}function g(t,e){t.setAttribute("class",e)}function m(t,e,o){o.forEach(function(o){e.indexOf(o)===-1&&u(t,o)&&d(t,o)}),e.forEach(function(e){u(t,e)||p(t,e)})}function i(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function v(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}function y(t,e){var o=arguments.length<=2||void 0===arguments[2]?1:arguments[2];return t+o>=e&&e>=t-o}function b(){return"undefined"!=typeof performance&&"undefined"!=typeof performance.now?performance.now():+new Date}function w(){for(var t={top:0,left:0},e=arguments.length,o=Array(e),i=0;i<e;i++)o[i]=arguments[i];return o.forEach(function(e){var o=e.top,i=e.left;"string"==typeof o&&(o=parseFloat(o,10)),"string"==typeof i&&(i=parseFloat(i,10)),t.top+=o,t.left+=i}),t}function C(t,e){return"string"==typeof t.left&&t.left.indexOf("%")!==-1&&(t.left=parseFloat(t.left,10)/100*e.width),"string"==typeof t.top&&t.top.indexOf("%")!==-1&&(t.top=parseFloat(t.top,10)/100*e.height),t}function O(t,e){return"scrollParent"===e?e=t.scrollParents[0]:"window"===e&&(e=[pageXOffset,pageYOffset,innerWidth+pageXOffset,innerHeight+pageYOffset]),e===document&&(e=e.documentElement),"undefined"!=typeof e.nodeType&&!function(){var t=e,o=a(e),i=o,n=getComputedStyle(e);if(e=[i.left,i.top,o.width+i.left,o.height+i.top],t.ownerDocument!==document){var r=t.ownerDocument.defaultView;e[0]+=r.pageXOffset,e[1]+=r.pageYOffset,e[2]+=r.pageXOffset,e[3]+=r.pageYOffset}G.forEach(function(t,o){t=t[0].toUpperCase()+t.substr(1),"Top"===t||"Left"===t?e[o]+=parseFloat(n["border"+t+"Width"]):e[o]-=parseFloat(n["border"+t+"Width"])})}(),e}var E=function(){function t(t,e){for(var o=0;o<e.length;o++){var i=e[o];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,i.key,i)}}return function(e,o,i){return o&&t(e.prototype,o),i&&t(e,i),e}}(),x=void 0;"undefined"==typeof x&&(x={modules:[]});var A=null,T=function(){var t=0;return function(){return++t}}(),S={},P=function(){var t=A;t&&document.body.contains(t)||(t=document.createElement("div"),t.setAttribute("data-tether-id",T()),h(t.style,{top:0,left:0,position:"absolute"}),document.body.appendChild(t),A=t);var e=t.getAttribute("data-tether-id");return"undefined"==typeof S[e]&&(S[e]=n(t),k(function(){delete S[e]})),S[e]},M=null,W=[],k=function(t){W.push(t)},_=function(){for(var t=void 0;t=W.pop();)t()},B=function(){function t(){i(this,t)}return E(t,[{key:"on",value:function(t,e,o){var i=!(arguments.length<=3||void 0===arguments[3])&&arguments[3];"undefined"==typeof this.bindings&&(this.bindings={}),"undefined"==typeof this.bindings[t]&&(this.bindings[t]=[]),this.bindings[t].push({handler:e,ctx:o,once:i})}},{key:"once",value:function(t,e,o){this.on(t,e,o,!0)}},{key:"off",value:function(t,e){if("undefined"!=typeof this.bindings&&"undefined"!=typeof this.bindings[t])if("undefined"==typeof e)delete this.bindings[t];else for(var o=0;o<this.bindings[t].length;)this.bindings[t][o].handler===e?this.bindings[t].splice(o,1):++o}},{key:"trigger",value:function(t){if("undefined"!=typeof this.bindings&&this.bindings[t]){for(var e=0,o=arguments.length,i=Array(o>1?o-1:0),n=1;n<o;n++)i[n-1]=arguments[n];for(;e<this.bindings[t].length;){var r=this.bindings[t][e],s=r.handler,a=r.ctx,f=r.once,l=a;"undefined"==typeof l&&(l=this),s.apply(l,i),f?this.bindings[t].splice(e,1):++e}}}}]),t}();x.Utils={getActualBoundingClientRect:n,getScrollParents:r,getBounds:a,getOffsetParent:f,extend:h,addClass:p,removeClass:d,hasClass:u,updateClasses:m,defer:k,flush:_,uniqueId:T,Evented:B,getScrollBarSize:l,removeUtilElements:s};var z=function(){function t(t,e){var o=[],i=!0,n=!1,r=void 0;try{for(var s,a=t[Symbol.iterator]();!(i=(s=a.next()).done)&&(o.push(s.value),!e||o.length!==e);i=!0);}catch(f){n=!0,r=f}finally{try{!i&&a["return"]&&a["return"]()}finally{if(n)throw r}}return o}return function(e,o){if(Array.isArray(e))return e;if(Symbol.iterator in Object(e))return t(e,o);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}(),E=function(){function t(t,e){for(var o=0;o<e.length;o++){var i=e[o];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,i.key,i)}}return function(e,o,i){return o&&t(e.prototype,o),i&&t(e,i),e}}(),j=function(t,e,o){for(var i=!0;i;){var n=t,r=e,s=o;i=!1,null===n&&(n=Function.prototype);var a=Object.getOwnPropertyDescriptor(n,r);if(void 0!==a){if("value"in a)return a.value;var f=a.get;if(void 0===f)return;return f.call(s)}var l=Object.getPrototypeOf(n);if(null===l)return;t=l,e=r,o=s,i=!0,a=l=void 0}};if("undefined"==typeof x)throw new Error("You must include the utils.js file before tether.js");var Y=x.Utils,r=Y.getScrollParents,a=Y.getBounds,f=Y.getOffsetParent,h=Y.extend,p=Y.addClass,d=Y.removeClass,m=Y.updateClasses,k=Y.defer,_=Y.flush,l=Y.getScrollBarSize,s=Y.removeUtilElements,L=function(){if("undefined"==typeof document)return"";for(var t=document.createElement("div"),e=["transform","WebkitTransform","OTransform","MozTransform","msTransform"],o=0;o<e.length;++o){var i=e[o];if(void 0!==t.style[i])return i}}(),D=[],X=function(){D.forEach(function(t){t.position(!1)}),_()};!function(){var t=null,e=null,o=null,i=function n(){return"undefined"!=typeof e&&e>16?(e=Math.min(e-16,250),void(o=setTimeout(n,250))):void("undefined"!=typeof t&&b()-t<10||(null!=o&&(clearTimeout(o),o=null),t=b(),X(),e=b()-t))};"undefined"!=typeof window&&"undefined"!=typeof window.addEventListener&&["resize","scroll","touchmove"].forEach(function(t){window.addEventListener(t,i)})}();var F={center:"center",left:"right",right:"left"},H={middle:"middle",top:"bottom",bottom:"top"},N={top:0,left:0,middle:"50%",center:"50%",bottom:"100%",right:"100%"},U=function(t,e){var o=t.left,i=t.top;return"auto"===o&&(o=F[e.left]),"auto"===i&&(i=H[e.top]),{left:o,top:i}},V=function(t){var e=t.left,o=t.top;return"undefined"!=typeof N[t.left]&&(e=N[t.left]),"undefined"!=typeof N[t.top]&&(o=N[t.top]),{left:e,top:o}},R=function(t){var e=t.split(" "),o=z(e,2),i=o[0],n=o[1];return{top:i,left:n}},q=R,I=function(t){function e(t){var o=this;i(this,e),j(Object.getPrototypeOf(e.prototype),"constructor",this).call(this),this.position=this.position.bind(this),D.push(this),this.history=[],this.setOptions(t,!1),x.modules.forEach(function(t){"undefined"!=typeof t.initialize&&t.initialize.call(o)}),this.position()}return v(e,t),E(e,[{key:"getClass",value:function(){var t=arguments.length<=0||void 0===arguments[0]?"":arguments[0],e=this.options.classes;return"undefined"!=typeof e&&e[t]?this.options.classes[t]:this.options.classPrefix?this.options.classPrefix+"-"+t:t}},{key:"setOptions",value:function(t){var e=this,o=arguments.length<=1||void 0===arguments[1]||arguments[1],i={offset:"0 0",targetOffset:"0 0",targetAttachment:"auto auto",classPrefix:"tether"};this.options=h(i,t);var n=this.options,s=n.element,a=n.target,f=n.targetModifier;if(this.element=s,this.target=a,this.targetModifier=f,"viewport"===this.target?(this.target=document.body,this.targetModifier="visible"):"scroll-handle"===this.target&&(this.target=document.body,this.targetModifier="scroll-handle"),["element","target"].forEach(function(t){if("undefined"==typeof e[t])throw new Error("Tether Error: Both element and target must be defined");"undefined"!=typeof e[t].jquery?e[t]=e[t][0]:"string"==typeof e[t]&&(e[t]=document.querySelector(e[t]))}),p(this.element,this.getClass("element")),this.options.addTargetClasses!==!1&&p(this.target,this.getClass("target")),!this.options.attachment)throw new Error("Tether Error: You must provide an attachment");this.targetAttachment=q(this.options.targetAttachment),this.attachment=q(this.options.attachment),this.offset=R(this.options.offset),this.targetOffset=R(this.options.targetOffset),"undefined"!=typeof this.scrollParents&&this.disable(),"scroll-handle"===this.targetModifier?this.scrollParents=[this.target]:this.scrollParents=r(this.target),this.options.enabled!==!1&&this.enable(o)}},{key:"getTargetBounds",value:function(){if("undefined"==typeof this.targetModifier)return a(this.target);if("visible"===this.targetModifier){if(this.target===document.body)return{top:pageYOffset,left:pageXOffset,height:innerHeight,width:innerWidth};var t=a(this.target),e={height:t.height,width:t.width,top:t.top,left:t.left};return e.height=Math.min(e.height,t.height-(pageYOffset-t.top)),e.height=Math.min(e.height,t.height-(t.top+t.height-(pageYOffset+innerHeight))),e.height=Math.min(innerHeight,e.height),e.height-=2,e.width=Math.min(e.width,t.width-(pageXOffset-t.left)),e.width=Math.min(e.width,t.width-(t.left+t.width-(pageXOffset+innerWidth))),e.width=Math.min(innerWidth,e.width),e.width-=2,e.top<pageYOffset&&(e.top=pageYOffset),e.left<pageXOffset&&(e.left=pageXOffset),e}if("scroll-handle"===this.targetModifier){var t=void 0,o=this.target;o===document.body?(o=document.documentElement,t={left:pageXOffset,top:pageYOffset,height:innerHeight,width:innerWidth}):t=a(o);var i=getComputedStyle(o),n=o.scrollWidth>o.clientWidth||[i.overflow,i.overflowX].indexOf("scroll")>=0||this.target!==document.body,r=0;n&&(r=15);var s=t.height-parseFloat(i.borderTopWidth)-parseFloat(i.borderBottomWidth)-r,e={width:15,height:.975*s*(s/o.scrollHeight),left:t.left+t.width-parseFloat(i.borderLeftWidth)-15},f=0;s<408&&this.target===document.body&&(f=-11e-5*Math.pow(s,2)-.00727*s+22.58),this.target!==document.body&&(e.height=Math.max(e.height,24));var l=this.target.scrollTop/(o.scrollHeight-s);return e.top=l*(s-e.height-f)+t.top+parseFloat(i.borderTopWidth),this.target===document.body&&(e.height=Math.max(e.height,24)),e}}},{key:"clearCache",value:function(){this._cache={}}},{key:"cache",value:function(t,e){return"undefined"==typeof this._cache&&(this._cache={}),"undefined"==typeof this._cache[t]&&(this._cache[t]=e.call(this)),this._cache[t]}},{key:"enable",value:function(){var t=this,e=arguments.length<=0||void 0===arguments[0]||arguments[0];this.options.addTargetClasses!==!1&&p(this.target,this.getClass("enabled")),p(this.element,this.getClass("enabled")),this.enabled=!0,this.scrollParents.forEach(function(e){e!==t.target.ownerDocument&&e.addEventListener("scroll",t.position)}),e&&this.position()}},{key:"disable",value:function(){var t=this;d(this.target,this.getClass("enabled")),d(this.element,this.getClass("enabled")),this.enabled=!1,"undefined"!=typeof this.scrollParents&&this.scrollParents.forEach(function(e){e.removeEventListener("scroll",t.position)})}},{key:"destroy",value:function(){var t=this;this.disable(),D.forEach(function(e,o){e===t&&D.splice(o,1)}),0===D.length&&s()}},{key:"updateAttachClasses",value:function(t,e){var o=this;t=t||this.attachment,e=e||this.targetAttachment;var i=["left","top","bottom","right","middle","center"];"undefined"!=typeof this._addAttachClasses&&this._addAttachClasses.length&&this._addAttachClasses.splice(0,this._addAttachClasses.length),"undefined"==typeof this._addAttachClasses&&(this._addAttachClasses=[]);var n=this._addAttachClasses;t.top&&n.push(this.getClass("element-attached")+"-"+t.top),t.left&&n.push(this.getClass("element-attached")+"-"+t.left),e.top&&n.push(this.getClass("target-attached")+"-"+e.top),e.left&&n.push(this.getClass("target-attached")+"-"+e.left);var r=[];i.forEach(function(t){r.push(o.getClass("element-attached")+"-"+t),r.push(o.getClass("target-attached")+"-"+t)}),k(function(){"undefined"!=typeof o._addAttachClasses&&(m(o.element,o._addAttachClasses,r),o.options.addTargetClasses!==!1&&m(o.target,o._addAttachClasses,r),delete o._addAttachClasses)})}},{key:"position",value:function(){var t=this,e=arguments.length<=0||void 0===arguments[0]||arguments[0];if(this.enabled){this.clearCache();var o=U(this.targetAttachment,this.attachment);this.updateAttachClasses(this.attachment,o);var i=this.cache("element-bounds",function(){return a(t.element)}),n=i.width,r=i.height;if(0===n&&0===r&&"undefined"!=typeof this.lastSize){var s=this.lastSize;n=s.width,r=s.height}else this.lastSize={width:n,height:r};var h=this.cache("target-bounds",function(){return t.getTargetBounds()}),d=h,p=C(V(this.attachment),{width:n,height:r}),u=C(V(o),d),c=C(this.offset,{width:n,height:r}),g=C(this.targetOffset,d);p=w(p,c),u=w(u,g);for(var m=h.left+u.left-p.left,v=h.top+u.top-p.top,y=0;y<x.modules.length;++y){var b=x.modules[y],O=b.position.call(this,{left:m,top:v,targetAttachment:o,targetPos:h,elementPos:i,offset:p,targetOffset:u,manualOffset:c,manualTargetOffset:g,scrollbarSize:S,attachment:this.attachment});if(O===!1)return!1;"undefined"!=typeof O&&"object"==typeof O&&(v=O.top,m=O.left)}var E={page:{top:v,left:m},viewport:{top:v-pageYOffset,bottom:pageYOffset-v-r+innerHeight,left:m-pageXOffset,right:pageXOffset-m-n+innerWidth}},A=this.target.ownerDocument,T=A.defaultView,S=void 0;return T.innerHeight>A.documentElement.clientHeight&&(S=this.cache("scrollbar-size",l),E.viewport.bottom-=S.height),T.innerWidth>A.documentElement.clientWidth&&(S=this.cache("scrollbar-size",l),E.viewport.right-=S.width),["","static"].indexOf(A.body.style.position)!==-1&&["","static"].indexOf(A.body.parentElement.style.position)!==-1||(E.page.bottom=A.body.scrollHeight-v-r,E.page.right=A.body.scrollWidth-m-n),"undefined"!=typeof this.options.optimizations&&this.options.optimizations.moveElement!==!1&&"undefined"==typeof this.targetModifier&&!function(){var e=t.cache("target-offsetparent",function(){return f(t.target)}),o=t.cache("target-offsetparent-bounds",function(){return a(e)}),i=getComputedStyle(e),n=o,r={};if(["Top","Left","Bottom","Right"].forEach(function(t){r[t.toLowerCase()]=parseFloat(i["border"+t+"Width"])}),o.right=A.body.scrollWidth-o.left-n.width+r.right,o.bottom=A.body.scrollHeight-o.top-n.height+r.bottom,E.page.top>=o.top+r.top&&E.page.bottom>=o.bottom&&E.page.left>=o.left+r.left&&E.page.right>=o.right){var s=e.scrollTop,l=e.scrollLeft;E.offset={top:E.page.top-o.top+s-r.top,left:E.page.left-o.left+l-r.left}}}(),this.move(E),this.history.unshift(E),this.history.length>3&&this.history.pop(),e&&_(),!0}}},{key:"move",value:function(t){var e=this;if("undefined"!=typeof this.element.parentNode){var o={};for(var i in t){o[i]={};for(var n in t[i]){for(var r=!1,s=0;s<this.history.length;++s){var a=this.history[s];if("undefined"!=typeof a[i]&&!y(a[i][n],t[i][n])){r=!0;break}}r||(o[i][n]=!0)}}var l={top:"",left:"",right:"",bottom:""},d=function(t,o){var i="undefined"!=typeof e.options.optimizations,n=i?e.options.optimizations.gpu:null;if(n!==!1){var r=void 0,s=void 0;if(t.top?(l.top=0,r=o.top):(l.bottom=0,r=-o.bottom),t.left?(l.left=0,s=o.left):(l.right=0,s=-o.right),window.matchMedia){var a=window.matchMedia("only screen and (min-resolution: 1.3dppx)").matches||window.matchMedia("only screen and (-webkit-min-device-pixel-ratio: 1.3)").matches;a||(s=Math.round(s),r=Math.round(r))}l[L]="translateX("+s+"px) translateY("+r+"px)","msTransform"!==L&&(l[L]+=" translateZ(0)")}else t.top?l.top=o.top+"px":l.bottom=o.bottom+"px",t.left?l.left=o.left+"px":l.right=o.right+"px"},p=!1;if((o.page.top||o.page.bottom)&&(o.page.left||o.page.right)?(l.position="absolute",d(o.page,t.page)):(o.viewport.top||o.viewport.bottom)&&(o.viewport.left||o.viewport.right)?(l.position="fixed",d(o.viewport,t.viewport)):"undefined"!=typeof o.offset&&o.offset.top&&o.offset.left?!function(){l.position="absolute";var i=e.cache("target-offsetparent",function(){return f(e.target)});f(e.element)!==i&&k(function(){e.element.parentNode.removeChild(e.element),i.appendChild(e.element)}),d(o.offset,t.offset),p=!0}():(l.position="absolute",d({top:!0,left:!0},t.page)),!p)if(this.options.bodyElement)this.options.bodyElement.appendChild(this.element);else{for(var u=!0,c=this.element.parentNode;c&&1===c.nodeType&&"BODY"!==c.tagName;){if("static"!==getComputedStyle(c).position){u=!1;break}c=c.parentNode}u||(this.element.parentNode.removeChild(this.element),this.element.ownerDocument.body.appendChild(this.element))}var g={},m=!1;for(var n in l){var v=l[n],b=this.element.style[n];b!==v&&(m=!0,g[n]=v)}m&&k(function(){h(e.element.style,g),e.trigger("repositioned")})}}}]),e}(B);I.modules=[],x.position=X;var $=h(I,x),z=function(){function t(t,e){var o=[],i=!0,n=!1,r=void 0;try{for(var s,a=t[Symbol.iterator]();!(i=(s=a.next()).done)&&(o.push(s.value),!e||o.length!==e);i=!0);}catch(f){n=!0,r=f}finally{try{!i&&a["return"]&&a["return"]()}finally{if(n)throw r}}return o}return function(e,o){if(Array.isArray(e))return e;if(Symbol.iterator in Object(e))return t(e,o);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}(),Y=x.Utils,a=Y.getBounds,h=Y.extend,m=Y.updateClasses,k=Y.defer,G=["left","top","right","bottom"];x.modules.push({position:function(t){var e=this,o=t.top,i=t.left,n=t.targetAttachment;if(!this.options.constraints)return!0;var r=this.cache("element-bounds",function(){return a(e.element)}),s=r.height,f=r.width;if(0===f&&0===s&&"undefined"!=typeof this.lastSize){var l=this.lastSize;f=l.width,s=l.height}var d=this.cache("target-bounds",function(){return e.getTargetBounds()}),p=d.height,u=d.width,c=[this.getClass("pinned"),this.getClass("out-of-bounds")];this.options.constraints.forEach(function(t){var e=t.outOfBoundsClass,o=t.pinnedClass;e&&c.push(e),o&&c.push(o)}),c.forEach(function(t){["left","top","right","bottom"].forEach(function(e){c.push(t+"-"+e)})});var g=[],v=h({},n),y=h({},this.attachment);return this.options.constraints.forEach(function(t){var r=t.to,a=t.attachment,l=t.pin;"undefined"==typeof a&&(a="");var h=void 0,d=void 0;if(a.indexOf(" ")>=0){var c=a.split(" "),m=z(c,2);d=m[0],h=m[1]}else h=d=a;var b=O(e,r);"target"!==d&&"both"!==d||(o<b[1]&&"top"===v.top&&(o+=p,v.top="bottom"),o+s>b[3]&&"bottom"===v.top&&(o-=p,v.top="top")),"together"===d&&("top"===v.top&&("bottom"===y.top&&o<b[1]?(o+=p,v.top="bottom",o+=s,y.top="top"):"top"===y.top&&o+s>b[3]&&o-(s-p)>=b[1]&&(o-=s-p,v.top="bottom",y.top="bottom")),"bottom"===v.top&&("top"===y.top&&o+s>b[3]?(o-=p,v.top="top",o-=s,y.top="bottom"):"bottom"===y.top&&o<b[1]&&o+(2*s-p)<=b[3]&&(o+=s-p,v.top="top",y.top="top")),"middle"===v.top&&(o+s>b[3]&&"top"===y.top?(o-=s,y.top="bottom"):o<b[1]&&"bottom"===y.top&&(o+=s,y.top="top"))),"target"!==h&&"both"!==h||(i<b[0]&&"left"===v.left&&(i+=u,v.left="right"),i+f>b[2]&&"right"===v.left&&(i-=u,v.left="left")),"together"===h&&(i<b[0]&&"left"===v.left?"right"===y.left?(i+=u,v.left="right",i+=f,y.left="left"):"left"===y.left&&(i+=u,v.left="right",i-=f,y.left="right"):i+f>b[2]&&"right"===v.left?"left"===y.left?(i-=u,v.left="left",i-=f,y.left="right"):"right"===y.left&&(i-=u,v.left="left",i+=f,y.left="left"):"center"===v.left&&(i+f>b[2]&&"left"===y.left?(i-=f,y.left="right"):i<b[0]&&"right"===y.left&&(i+=f,y.left="left"))),"element"!==d&&"both"!==d||(o<b[1]&&"bottom"===y.top&&(o+=s,y.top="top"),o+s>b[3]&&"top"===y.top&&(o-=s,y.top="bottom")),"element"!==h&&"both"!==h||(i<b[0]&&("right"===y.left?(i+=f,y.left="left"):"center"===y.left&&(i+=f/2,y.left="left")),i+f>b[2]&&("left"===y.left?(i-=f,y.left="right"):"center"===y.left&&(i-=f/2,y.left="right"))),"string"==typeof l?l=l.split(",").map(function(t){return t.trim()}):l===!0&&(l=["top","left","right","bottom"]),l=l||[];var w=[],C=[];o<b[1]&&(l.indexOf("top")>=0?(o=b[1],w.push("top")):C.push("top")),o+s>b[3]&&(l.indexOf("bottom")>=0?(o=b[3]-s,w.push("bottom")):C.push("bottom")),i<b[0]&&(l.indexOf("left")>=0?(i=b[0],w.push("left")):C.push("left")),i+f>b[2]&&(l.indexOf("right")>=0?(i=b[2]-f,w.push("right")):C.push("right")),w.length&&!function(){var t=void 0;t="undefined"!=typeof e.options.pinnedClass?e.options.pinnedClass:e.getClass("pinned"),g.push(t),w.forEach(function(e){g.push(t+"-"+e)})}(),C.length&&!function(){var t=void 0;t="undefined"!=typeof e.options.outOfBoundsClass?e.options.outOfBoundsClass:e.getClass("out-of-bounds"),g.push(t),C.forEach(function(e){g.push(t+"-"+e)})}(),(w.indexOf("left")>=0||w.indexOf("right")>=0)&&(y.left=v.left=!1),(w.indexOf("top")>=0||w.indexOf("bottom")>=0)&&(y.top=v.top=!1),v.top===n.top&&v.left===n.left&&y.top===e.attachment.top&&y.left===e.attachment.left||(e.updateAttachClasses(y,v),e.trigger("update",{attachment:y,targetAttachment:v}))}),k(function(){e.options.addTargetClasses!==!1&&m(e.target,g,c),m(e.element,g,c)}),{top:o,left:i}}});var Y=x.Utils,a=Y.getBounds,m=Y.updateClasses,k=Y.defer;x.modules.push({position:function(t){var e=this,o=t.top,i=t.left,n=this.cache("element-bounds",function(){return a(e.element)}),r=n.height,s=n.width,f=this.getTargetBounds(),l=o+r,h=i+s,d=[];o<=f.bottom&&l>=f.top&&["left","right"].forEach(function(t){var e=f[t];e!==i&&e!==h||d.push(t)}),i<=f.right&&h>=f.left&&["top","bottom"].forEach(function(t){var e=f[t];e!==o&&e!==l||d.push(t)});var p=[],u=[],c=["left","top","right","bottom"];return p.push(this.getClass("abutted")),c.forEach(function(t){p.push(e.getClass("abutted")+"-"+t)}),d.length&&u.push(this.getClass("abutted")),d.forEach(function(t){u.push(e.getClass("abutted")+"-"+t)}),k(function(){e.options.addTargetClasses!==!1&&m(e.target,u,p),m(e.element,u,p)}),!0}});var z=function(){function t(t,e){var o=[],i=!0,n=!1,r=void 0;try{for(var s,a=t[Symbol.iterator]();!(i=(s=a.next()).done)&&(o.push(s.value),!e||o.length!==e);i=!0);}catch(f){n=!0,r=f}finally{try{!i&&a["return"]&&a["return"]()}finally{if(n)throw r}}return o}return function(e,o){if(Array.isArray(e))return e;if(Symbol.iterator in Object(e))return t(e,o);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}();return x.modules.push({position:function(t){var e=t.top,o=t.left;if(this.options.shift){var i=this.options.shift;"function"==typeof this.options.shift&&(i=this.options.shift.call(this,{top:e,left:o}));var n=void 0,r=void 0;if("string"==typeof i){i=i.split(" "),i[1]=i[1]||i[0];var s=i,a=z(s,2);n=a[0],r=a[1],n=parseFloat(n,10),r=parseFloat(r,10)}else n=i.top,r=i.left;return e+=n,o+=r,{top:e,left:o}}}}),$}); \ No newline at end of file
diff --git a/templates/index.html b/templates/index.html
index b7d2511..e6b6ee1 100644
--- a/templates/index.html
+++ b/templates/index.html
@@ -68,7 +68,7 @@
<div class="content">
<div class="price">
<h6></h6>
- <h4 id="minions-killed-now">{{ sql_val("SELECT SUM(turret_kills) FROM participant WHERE created_at > NOW() - '1 day'::INTERVAL") }}<b class="currency"><br/></b></h4>
+ <h4>{{ sql_val("SELECT SUM(turret_kills) FROM participant WHERE created_at > NOW() - '1 day'::INTERVAL") }}<b class="currency"><br/></b></h4>
</div>
<p class="description">rebuilt by workers every day</p>
</div>
@@ -83,7 +83,7 @@
<div class="content">
<div class="price">
<h6></h6>
- <h4 id="minions-killed-now">{{ sql_val("SELECT SUM(minion_kills) FROM participant WHERE NOT winner AND created_at > NOW() - '1 day'::INTERVAL") }} <b class="currency"><br/>out of {{ sql_val("SELECT SUM(minion_kills) FROM participant WHERE created_at > NOW() - '1 day'::INTERVAL") }}<br/></b></h4>
+ <h4>{{ sql_val("SELECT SUM(minion_kills) FROM participant WHERE NOT winner AND created_at > NOW() - '1 day'::INTERVAL") }} <b class="currency"><br/>out of {{ sql_val("SELECT SUM(minion_kills) FROM participant WHERE created_at > NOW() - '1 day'::INTERVAL") }}<br/></b></h4>
</div>
<p class="description">died for nothing</p>
</div>
@@ -98,7 +98,7 @@
<div class="content">
<div class="price">
<h6></h6>
- <h4 id="minions-killed-now">{{ sql_val("SELECT COUNT((item_grants->>'*1045_Item_FountainOfRenewal*')::INT)-COUNT((item_uses->>'*1045_Item_FountainOfRenewal*')::INT) FROM participant WHERE created_at > NOW() - '1 day'::INTERVAL") }}</h4>
+ <h4>{{ sql_val("SELECT COUNT((item_grants->>'*1045_Item_FountainOfRenewal*')::INT)-COUNT((item_uses->>'*1045_Item_FountainOfRenewal*')::INT) FROM participant WHERE created_at > NOW() - '1 day'::INTERVAL") }}</h4>
</div>
<p class="description">bought for the looks</p>
</div>
@@ -113,7 +113,7 @@
<div class="content">
<div class="price">
<h6></h6>
- <h4 id="minions-killed-now">{{ sql_val("SELECT SUM(participant.crystal_mine_captures) FROM participant WHERE participant.created_at > NOW() - '1 day'::INTERVAL") }}</h4>
+ <h4>{{ sql_val("SELECT SUM(participant.crystal_mine_captures) FROM participant WHERE participant.created_at > NOW() - '1 day'::INTERVAL") }}</h4>
</div>
<p class="description">slaughtered</p>
</div>
@@ -128,7 +128,7 @@
<div class="content">
<div class="price">
<h6></h6>
- <h4 id="minions-killed-now">{{ sql_val("SELECT SUM((participant.item_sells->>'*1038_Item_Flare*')::INT) FROM participant WHERE participant.created_at > NOW() - '1 day'::INTERVAL") }}</h4>
+ <h4>{{ sql_val("SELECT SUM((participant.item_sells->>'*1038_Item_Flare*')::INT) FROM participant WHERE participant.created_at > NOW() - '1 day'::INTERVAL") }}</h4>
</div>
<p class="description">thrown in trash</p>
</div>
@@ -143,7 +143,7 @@
<div class="content">
<div class="price">
<h6></h6>
- <h4 id="minions-killed-now">{{ sql_val("SELECT (SUM(match.duration)/60*5) / SUM(roster.kraken_captures) FROM match JOIN roster ON roster.match_api_id=match.api_id WHERE match.created_at > NOW() - '1 day'::INTERVAL") }}</h4>
+ <h4>{{ sql_val("SELECT (SUM(match.duration)/60*5) / SUM(roster.kraken_captures) FROM match JOIN roster ON roster.match_api_id=match.api_id WHERE match.created_at > NOW() - '1 day'::INTERVAL") }}</h4>
</div>
<p class="description">are needed to unleash a Kraken</p>
</div>
@@ -158,7 +158,7 @@
<div class="content">
<div class="price">
<h6></h6>
- <h4 id="minions-killed-now">{{ sql_val("SELECT SUM((item_uses->>'*1041_Item_MinionCandy*')::INT) FROM participant WHERE created_at > NOW() - '1 day'::INTERVAL") }}</h4>
+ <h4>{{ sql_val("SELECT SUM((item_uses->>'*1041_Item_MinionCandy*')::INT) FROM participant WHERE created_at > NOW() - '1 day'::INTERVAL") }}</h4>
</div>
<p class="description">Minion parties</p>
</div>
@@ -173,7 +173,7 @@
<div class="content">
<div class="price">
<h6>every</h6>
- <h4 id="minions-killed-now">{{ sql_val("SELECT SUM(match.duration)/60 / (SUM((participant.item_uses->>'*1052_Item_WeaponInfusion*')::INT) + SUM((participant.item_uses->>'*1053_Item_CrystalInfusion*')::INT)) FROM participant JOIN roster ON participant.roster_api_id=roster.api_id JOIN match ON roster.match_api_id=match.api_id WHERE participant.created_at > NOW() - '1 day'::INTERVAL") }}<b class="currency"><br/>minutes</b></h4>
+ <h4>{{ sql_val("SELECT SUM(match.duration)/60 / (SUM((participant.item_uses->>'*1052_Item_WeaponInfusion*')::INT) + SUM((participant.item_uses->>'*1053_Item_CrystalInfusion*')::INT)) FROM participant JOIN roster ON participant.roster_api_id=roster.api_id JOIN match ON roster.match_api_id=match.api_id WHERE participant.created_at > NOW() - '1 day'::INTERVAL") }}<b class="currency"><br/>minutes</b></h4>
</div>
<p class="description">a hero gets high</p>
</div>
@@ -189,7 +189,7 @@
<div class="content">
<div class="price">
<h6></h6>
- <h4 id="minions-killed-now">{{ sql_val("SELECT SUM((item_uses->>'*1054_Item_ScoutTrap*')::INT) FROM participant WHERE participant.created_at > NOW() - '1 day'::INTERVAL") }}<b class="currency"><br/></b></h4>
+ <h4>{{ sql_val("SELECT SUM((item_uses->>'*1054_Item_ScoutTrap*')::INT) FROM participant WHERE participant.created_at > NOW() - '1 day'::INTERVAL") }}<b class="currency"><br/></b></h4>
</div>
<p class="description">made the Fold a Dangerous Place</p>
</div>
@@ -205,7 +205,7 @@
<div class="content">
<div class="price">
<h6></h6>
- <h4 id="minions-killed-now">{{ sql_val("SELECT SUM(turret_kills) FROM participant WHERE hero='*SAW*' AND created_at > NOW() - '1 day'::INTERVAL") }}<b class="currency"><br/></b></h4>
+ <h4>{{ sql_val("SELECT SUM(turret_kills) FROM participant WHERE hero='*SAW*' AND created_at > NOW() - '1 day'::INTERVAL") }}<b class="currency"><br/></b></h4>
</div>
<p class="description">were pushed by SAW in the last 24h</p>
</div>
@@ -220,8 +220,9 @@
<div class="content">
<p class="description">
- Based on Vainsocial users' data from the past 24 hours that by no means is representative to the whole player base of Vainglory. {{ sql_val("SELECT COUNT(*) FROM match WHERE created_at > NOW() - '1 day'::INTERVAL") }} matches are taken into account for the calculations.
+ Based on Vainsocial users' data from the past 24 hours that by no means is representative to the whole player base of Vainglory.
</p>
+ <!-- {{ sql_val("SELECT COUNT(*) FROM match WHERE created_at > NOW() - '1 day'::INTERVAL") }} matches are taken into account for the calculations. -->
</div>
<div class="filter"></div>
</div>
@@ -260,9 +261,9 @@
<script type="text/javascript">
- var minions_per_second = {{ sql_val("SELECT SUM(minion_kills)/SUM(match.duration)::FLOAT FROM participant JOIN roster ON participant.roster_api_id=roster.api_id JOIN match ON roster.match_api_id=match.api_id WHERE participant.created_at > NOW() - '1 day'::INTERVAL") }};
+ var minions_per_second = {{ sql_val("SELECT SUM(minion_kills)/(24*60*60)::FLOAT FROM participant WHERE participant.created_at > NOW() - '1 day'::INTERVAL") }};
var minions = 0;
- // sum(minions killed) / sum(game lengh s)
+ // sum(minions killed) / (seconds per day)
setInterval(() => {
minions += minions_per_second;
$("#minions-killed-now").text(Math.floor(minions));