diff options
| author | schneefux <schneefux+commit@schneefux.xyz> | 2017-03-25 13:13:28 +0100 |
|---|---|---|
| committer | schneefux <schneefux+commit@schneefux.xyz> | 2017-03-25 13:13:28 +0100 |
| commit | ca88c377f918a9178c56e206b7bb13baefd30c91 (patch) | |
| tree | e4ee2a5fda2ed378e9d103c627e9cb2a40f47310 | |
| parent | b1bbeb2e2db4a287e7ccf627c2dc450cf5a53b62 (diff) | |
| download | minionlivesmatter-ca88c377f918a9178c56e206b7bb13baefd30c91.tar.gz minionlivesmatter-ca88c377f918a9178c56e206b7bb13baefd30c91.zip | |
accidentally committed minionlivesmatter changes to meta
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, '"') + '"'; + 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, '"') + '\"';\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":"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"}
\ 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,""")+'"'),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&¬ify(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":"AAUE,cAAgB,MAAA,aAGlB,KACE,mBAAA,WAAA,WAAA,WACA,mBAAA,UAGF,ECNA,QADA,SDUE,mBAAA,QAAA,WAAA,QEhBA,WCAA,SAAA,SACA,aAAA,KACA,YAAA,KAKI,cAAA,KACA,aAAA,KC2CF,yBFnDF,WCOI,cAAA,KACA,aAAA,MC2CF,yBFnDF,WCOI,cAAA,KACA,aAAA,MC2CF,yBFnDF,WCOI,cAAA,KACA,aAAA,MC2CF,0BFnDF,WCOI,cAAA,KACA,aAAA,MC2CF,yBFnDF,WCkBI,MAAA,MACA,UAAA,MCgCF,yBFnDF,WCkBI,MAAA,MACA,UAAA,MCgCF,yBFnDF,WCkBI,MAAA,MACA,UAAA,MCgCF,0BFnDF,WCkBI,MAAA,OACA,UAAA,MDPJ,iBCZA,SAAA,SACA,aAAA,KACA,YAAA,KAKI,cAAA,KACA,aAAA,KC2CF,yBFvCF,iBCLI,cAAA,KACA,aAAA,MC2CF,yBFvCF,iBCLI,cAAA,KACA,aAAA,MC2CF,yBFvCF,iBCLI,cAAA,KACA,aAAA,MC2CF,0BFvCF,iBCLI,cAAA,KACA,aAAA,MDcJ,KCaA,QAAA,YAAA,QAAA,aAAA,QAAA,YAAA,QAAA,KACA,kBAAA,KAAA,cAAA,KAAA,UAAA,KAKI,aAAA,MACA,YAAA,MCSF,yBF7BF,KCmBI,aAAA,MACA,YAAA,OCSF,yBF7BF,KCmBI,aAAA,MACA,YAAA,OCSF,yBF7BF,KCmBI,aAAA,MACA,YAAA,OCSF,0BF7BF,KCmBI,aAAA,MACA,YAAA,ODdJ,YACE,aAAA,EACA,YAAA,EAFF,iBDkIF,0BC5HM,cAAA,EACA,aAAA,EGjCJ,KAAA,OAAA,QAAA,QAAA,QAAA,OAAA,OAAA,OAAA,OAAA,OAAA,OAAA,OAAA,OAAA,QAAA,UAAA,WAAA,WAAA,WAAA,UAAA,UAAA,UAAA,UAAA,UAAA,UAAA,UAAA,UAAA,QAAA,UAAA,WAAA,WAAA,WAAA,UAAA,UAAA,UAAA,UAAA,UAAA,UAAA,UAAA,UAAA,QAAA,UAAA,WAAA,WAAA,WAAA,UAAA,UAAA,UAAA,UAAA,UAAA,UAAA,UAAA,UAAA,QAAA,UAAA,WAAA,WAAA,WAAA,UAAA,UAAA,UAAA,UAAA,UAAA,UAAA,UAAA,UACE,SAAA,SACA,MAAA,KACA,WAAA,IFuBE,cAAA,KACA,aAAA,KCsBF,yBCjDF,KAAA,OAAA,QAAA,QAAA,QAAA,OAAA,OAAA,OAAA,OAAA,OAAA,OAAA,OAAA,OAAA,QAAA,UAAA,WAAA,WAAA,WAAA,UAAA,UAAA,UAAA,UAAA,UAAA,UAAA,UAAA,UAAA,QAAA,UAAA,WAAA,WAAA,WAAA,UAAA,UAAA,UAAA,UAAA,UAAA,UAAA,UAAA,UAAA,QAAA,UAAA,WAAA,WAAA,WAAA,UAAA,UAAA,UAAA,UAAA,UAAA,UAAA,UAAA,UAAA,QAAA,UAAA,WAAA,WAAA,WAAA,UAAA,UAAA,UAAA,UAAA,UAAA,UAAA,UAAA,UF0BI,cAAA,KACA,aAAA,MCsBF,yBCjDF,KAAA,OAAA,QAAA,QAAA,QAAA,OAAA,OAAA,OAAA,OAAA,OAAA,OAAA,OAAA,OAAA,QAAA,UAAA,WAAA,WAAA,WAAA,UAAA,UAAA,UAAA,UAAA,UAAA,UAAA,UAAA,UAAA,QAAA,UAAA,WAAA,WAAA,WAAA,UAAA,UAAA,UAAA,UAAA,UAAA,UAAA,UAAA,UAAA,QAAA,UAAA,WAAA,WAAA,WAAA,UAAA,UAAA,UAAA,UAAA,UAAA,UAAA,UAAA,UAAA,QAAA,UAAA,WAAA,WAAA,WAAA,UAAA,UAAA,UAAA,UAAA,UAAA,UAAA,UAAA,UF0BI,cAAA,KACA,aAAA,MCsBF,yBCjDF,KAAA,OAAA,QAAA,QAAA,QAAA,OAAA,OAAA,OAAA,OAAA,OAAA,OAAA,OAAA,OAAA,QAAA,UAAA,WAAA,WAAA,WAAA,UAAA,UAAA,UAAA,UAAA,UAAA,UAAA,UAAA,UAAA,QAAA,UAAA,WAAA,WAAA,WAAA,UAAA,UAAA,UAAA,UAAA,UAAA,UAAA,UAAA,UAAA,QAAA,UAAA,WAAA,WAAA,WAAA,UAAA,UAAA,UAAA,UAAA,UAAA,UAAA,UAAA,UAAA,QAAA,UAAA,WAAA,WAAA,WAAA,UAAA,UAAA,UAAA,UAAA,UAAA,UAAA,UAAA,UF0BI,cAAA,KACA,aAAA,MCsBF,0BCjDF,KAAA,OAAA,QAAA,QAAA,QAAA,OAAA,OAAA,OAAA,OAAA,OAAA,OAAA,OAAA,OAAA,QAAA,UAAA,WAAA,WAAA,WAAA,UAAA,UAAA,UAAA,UAAA,UAAA,UAAA,UAAA,UAAA,QAAA,UAAA,WAAA,WAAA,WAAA,UAAA,UAAA,UAAA,UAAA,UAAA,UAAA,UAAA,UAAA,QAAA,UAAA,WAAA,WAAA,WAAA,UAAA,UAAA,UAAA,UAAA,UAAA,UAAA,UAAA,UAAA,QAAA,UAAA,WAAA,WAAA,WAAA,UAAA,UAAA,UAAA,UAAA,UAAA,UAAA,UAAA,UF0BI,cAAA,KACA,aAAA,MEJA,KACE,mBAAA,EAAA,wBAAA,EAAA,WAAA,EACA,iBAAA,EAAA,kBAAA,EAAA,kBAAA,EAAA,UAAA,EACA,UAAA,KAEF,UACE,iBAAA,EAAA,aAAA,EAAA,EAAA,KAAA,SAAA,EAAA,EAAA,KAAA,KAAA,EAAA,EAAA,KACA,MAAA,KAIA,OF6BN,iBAAA,EAAA,aAAA,EAAA,EAAA,UAAA,SAAA,EAAA,EAAA,UAAA,KAAA,EAAA,EAAA,UAKA,UAAA,UElCM,OF6BN,iBAAA,EAAA,aAAA,EAAA,EAAA,WAAA,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAKA,UAAA,WElCM,OF6BN,iBAAA,EAAA,aAAA,EAAA,EAAA,IAAA,SAAA,EAAA,EAAA,IAAA,KAAA,EAAA,EAAA,IAKA,UAAA,IElCM,OF6BN,iBAAA,EAAA,aAAA,EAAA,EAAA,WAAA,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAKA,UAAA,WElCM,OF6BN,iBAAA,EAAA,aAAA,EAAA,EAAA,WAAA,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAKA,UAAA,WElCM,OF6BN,iBAAA,EAAA,aAAA,EAAA,EAAA,IAAA,SAAA,EAAA,EAAA,IAAA,KAAA,EAAA,EAAA,IAKA,UAAA,IElCM,OF6BN,iBAAA,EAAA,aAAA,EAAA,EAAA,WAAA,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAKA,UAAA,WElCM,OF6BN,iBAAA,EAAA,aAAA,EAAA,EAAA,WAAA,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAKA,UAAA,WElCM,OF6BN,iBAAA,EAAA,aAAA,EAAA,EAAA,IAAA,SAAA,EAAA,EAAA,IAAA,KAAA,EAAA,EAAA,IAKA,UAAA,IElCM,QF6BN,iBAAA,EAAA,aAAA,EAAA,EAAA,WAAA,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAKA,UAAA,WElCM,QF6BN,iBAAA,EAAA,aAAA,EAAA,EAAA,WAAA,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAKA,UAAA,WElCM,QF6BN,iBAAA,EAAA,aAAA,EAAA,EAAA,KAAA,SAAA,EAAA,EAAA,KAAA,KAAA,EAAA,EAAA,KAKA,UAAA,KE3BQ,QFuCR,MAAA,KEvCQ,QFuCR,MAAA,UEvCQ,QFuCR,MAAA,WEvCQ,QFuCR,MAAA,IEvCQ,QFuCR,MAAA,WEvCQ,QFuCR,MAAA,WEvCQ,QFuCR,MAAA,IEvCQ,QFuCR,MAAA,WEvCQ,QFuCR,MAAA,WEvCQ,QFuCR,MAAA,IEvCQ,SFuCR,MAAA,WEvCQ,SFuCR,MAAA,WEvCQ,SFuCR,MAAA,KEvCQ,QFmCR,KAAA,KEnCQ,QFmCR,KAAA,UEnCQ,QFmCR,KAAA,WEnCQ,QFmCR,KAAA,IEnCQ,QFmCR,KAAA,WEnCQ,QFmCR,KAAA,WEnCQ,QFmCR,KAAA,IEnCQ,QFmCR,KAAA,WEnCQ,QFmCR,KAAA,WEnCQ,QFmCR,KAAA,IEnCQ,SFmCR,KAAA,WEnCQ,SFmCR,KAAA,WEnCQ,SFmCR,KAAA,KE1BQ,UFsBR,YAAA,UEtBQ,UFsBR,YAAA,WEtBQ,UFsBR,YAAA,IEtBQ,UFsBR,YAAA,WEtBQ,UFsBR,YAAA,WEtBQ,UFsBR,YAAA,IEtBQ,UFsBR,YAAA,WEtBQ,UFsBR,YAAA,WEtBQ,UFsBR,YAAA,IEtBQ,WFsBR,YAAA,WEtBQ,WFsBR,YAAA,WCvBE,yBC1BE,QACE,mBAAA,EAAA,wBAAA,EAAA,WAAA,EACA,iBAAA,EAAA,kBAAA,EAAA,kBAAA,EAAA,UAAA,EACA,UAAA,KAEF,aACE,iBAAA,EAAA,aAAA,EAAA,EAAA,KAAA,SAAA,EAAA,EAAA,KAAA,KAAA,EAAA,EAAA,KACA,MAAA,KAIA,UF6BN,iBAAA,EAAA,aAAA,EAAA,EAAA,UAAA,SAAA,EAAA,EAAA,UAAA,KAAA,EAAA,EAAA,UAKA,UAAA,UElCM,UF6BN,iBAAA,EAAA,aAAA,EAAA,EAAA,WAAA,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAKA,UAAA,WElCM,UF6BN,iBAAA,EAAA,aAAA,EAAA,EAAA,IAAA,SAAA,EAAA,EAAA,IAAA,KAAA,EAAA,EAAA,IAKA,UAAA,IElCM,UF6BN,iBAAA,EAAA,aAAA,EAAA,EAAA,WAAA,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAKA,UAAA,WElCM,UF6BN,iBAAA,EAAA,aAAA,EAAA,EAAA,WAAA,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAKA,UAAA,WElCM,UF6BN,iBAAA,EAAA,aAAA,EAAA,EAAA,IAAA,SAAA,EAAA,EAAA,IAAA,KAAA,EAAA,EAAA,IAKA,UAAA,IElCM,UF6BN,iBAAA,EAAA,aAAA,EAAA,EAAA,WAAA,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAKA,UAAA,WElCM,UF6BN,iBAAA,EAAA,aAAA,EAAA,EAAA,WAAA,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAKA,UAAA,WElCM,UF6BN,iBAAA,EAAA,aAAA,EAAA,EAAA,IAAA,SAAA,EAAA,EAAA,IAAA,KAAA,EAAA,EAAA,IAKA,UAAA,IElCM,WF6BN,iBAAA,EAAA,aAAA,EAAA,EAAA,WAAA,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAKA,UAAA,WElCM,WF6BN,iBAAA,EAAA,aAAA,EAAA,EAAA,WAAA,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAKA,UAAA,WElCM,WF6BN,iBAAA,EAAA,aAAA,EAAA,EAAA,KAAA,SAAA,EAAA,EAAA,KAAA,KAAA,EAAA,EAAA,KAKA,UAAA,KE3BQ,WFuCR,MAAA,KEvCQ,WFuCR,MAAA,UEvCQ,WFuCR,MAAA,WEvCQ,WFuCR,MAAA,IEvCQ,WFuCR,MAAA,WEvCQ,WFuCR,MAAA,WEvCQ,WFuCR,MAAA,IEvCQ,WFuCR,MAAA,WEvCQ,WFuCR,MAAA,WEvCQ,WFuCR,MAAA,IEvCQ,YFuCR,MAAA,WEvCQ,YFuCR,MAAA,WEvCQ,YFuCR,MAAA,KEvCQ,WFmCR,KAAA,KEnCQ,WFmCR,KAAA,UEnCQ,WFmCR,KAAA,WEnCQ,WFmCR,KAAA,IEnCQ,WFmCR,KAAA,WEnCQ,WFmCR,KAAA,WEnCQ,WFmCR,KAAA,IEnCQ,WFmCR,KAAA,WEnCQ,WFmCR,KAAA,WEnCQ,WFmCR,KAAA,IEnCQ,YFmCR,KAAA,WEnCQ,YFmCR,KAAA,WEnCQ,YFmCR,KAAA,KE1BQ,aFsBR,YAAA,EEtBQ,aFsBR,YAAA,UEtBQ,aFsBR,YAAA,WEtBQ,aFsBR,YAAA,IEtBQ,aFsBR,YAAA,WEtBQ,aFsBR,YAAA,WEtBQ,aFsBR,YAAA,IEtBQ,aFsBR,YAAA,WEtBQ,aFsBR,YAAA,WEtBQ,aFsBR,YAAA,IEtBQ,cFsBR,YAAA,WEtBQ,cFsBR,YAAA,YCvBE,yBC1BE,QACE,mBAAA,EAAA,wBAAA,EAAA,WAAA,EACA,iBAAA,EAAA,kBAAA,EAAA,kBAAA,EAAA,UAAA,EACA,UAAA,KAEF,aACE,iBAAA,EAAA,aAAA,EAAA,EAAA,KAAA,SAAA,EAAA,EAAA,KAAA,KAAA,EAAA,EAAA,KACA,MAAA,KAIA,UF6BN,iBAAA,EAAA,aAAA,EAAA,EAAA,UAAA,SAAA,EAAA,EAAA,UAAA,KAAA,EAAA,EAAA,UAKA,UAAA,UElCM,UF6BN,iBAAA,EAAA,aAAA,EAAA,EAAA,WAAA,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAKA,UAAA,WElCM,UF6BN,iBAAA,EAAA,aAAA,EAAA,EAAA,IAAA,SAAA,EAAA,EAAA,IAAA,KAAA,EAAA,EAAA,IAKA,UAAA,IElCM,UF6BN,iBAAA,EAAA,aAAA,EAAA,EAAA,WAAA,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAKA,UAAA,WElCM,UF6BN,iBAAA,EAAA,aAAA,EAAA,EAAA,WAAA,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAKA,UAAA,WElCM,UF6BN,iBAAA,EAAA,aAAA,EAAA,EAAA,IAAA,SAAA,EAAA,EAAA,IAAA,KAAA,EAAA,EAAA,IAKA,UAAA,IElCM,UF6BN,iBAAA,EAAA,aAAA,EAAA,EAAA,WAAA,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAKA,UAAA,WElCM,UF6BN,iBAAA,EAAA,aAAA,EAAA,EAAA,WAAA,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAKA,UAAA,WElCM,UF6BN,iBAAA,EAAA,aAAA,EAAA,EAAA,IAAA,SAAA,EAAA,EAAA,IAAA,KAAA,EAAA,EAAA,IAKA,UAAA,IElCM,WF6BN,iBAAA,EAAA,aAAA,EAAA,EAAA,WAAA,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAKA,UAAA,WElCM,WF6BN,iBAAA,EAAA,aAAA,EAAA,EAAA,WAAA,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAKA,UAAA,WElCM,WF6BN,iBAAA,EAAA,aAAA,EAAA,EAAA,KAAA,SAAA,EAAA,EAAA,KAAA,KAAA,EAAA,EAAA,KAKA,UAAA,KE3BQ,WFuCR,MAAA,KEvCQ,WFuCR,MAAA,UEvCQ,WFuCR,MAAA,WEvCQ,WFuCR,MAAA,IEvCQ,WFuCR,MAAA,WEvCQ,WFuCR,MAAA,WEvCQ,WFuCR,MAAA,IEvCQ,WFuCR,MAAA,WEvCQ,WFuCR,MAAA,WEvCQ,WFuCR,MAAA,IEvCQ,YFuCR,MAAA,WEvCQ,YFuCR,MAAA,WEvCQ,YFuCR,MAAA,KEvCQ,WFmCR,KAAA,KEnCQ,WFmCR,KAAA,UEnCQ,WFmCR,KAAA,WEnCQ,WFmCR,KAAA,IEnCQ,WFmCR,KAAA,WEnCQ,WFmCR,KAAA,WEnCQ,WFmCR,KAAA,IEnCQ,WFmCR,KAAA,WEnCQ,WFmCR,KAAA,WEnCQ,WFmCR,KAAA,IEnCQ,YFmCR,KAAA,WEnCQ,YFmCR,KAAA,WEnCQ,YFmCR,KAAA,KE1BQ,aFsBR,YAAA,EEtBQ,aFsBR,YAAA,UEtBQ,aFsBR,YAAA,WEtBQ,aFsBR,YAAA,IEtBQ,aFsBR,YAAA,WEtBQ,aFsBR,YAAA,WEtBQ,aFsBR,YAAA,IEtBQ,aFsBR,YAAA,WEtBQ,aFsBR,YAAA,WEtBQ,aFsBR,YAAA,IEtBQ,cFsBR,YAAA,WEtBQ,cFsBR,YAAA,YCvBE,yBC1BE,QACE,mBAAA,EAAA,wBAAA,EAAA,WAAA,EACA,iBAAA,EAAA,kBAAA,EAAA,kBAAA,EAAA,UAAA,EACA,UAAA,KAEF,aACE,iBAAA,EAAA,aAAA,EAAA,EAAA,KAAA,SAAA,EAAA,EAAA,KAAA,KAAA,EAAA,EAAA,KACA,MAAA,KAIA,UF6BN,iBAAA,EAAA,aAAA,EAAA,EAAA,UAAA,SAAA,EAAA,EAAA,UAAA,KAAA,EAAA,EAAA,UAKA,UAAA,UElCM,UF6BN,iBAAA,EAAA,aAAA,EAAA,EAAA,WAAA,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAKA,UAAA,WElCM,UF6BN,iBAAA,EAAA,aAAA,EAAA,EAAA,IAAA,SAAA,EAAA,EAAA,IAAA,KAAA,EAAA,EAAA,IAKA,UAAA,IElCM,UF6BN,iBAAA,EAAA,aAAA,EAAA,EAAA,WAAA,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAKA,UAAA,WElCM,UF6BN,iBAAA,EAAA,aAAA,EAAA,EAAA,WAAA,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAKA,UAAA,WElCM,UF6BN,iBAAA,EAAA,aAAA,EAAA,EAAA,IAAA,SAAA,EAAA,EAAA,IAAA,KAAA,EAAA,EAAA,IAKA,UAAA,IElCM,UF6BN,iBAAA,EAAA,aAAA,EAAA,EAAA,WAAA,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAKA,UAAA,WElCM,UF6BN,iBAAA,EAAA,aAAA,EAAA,EAAA,WAAA,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAKA,UAAA,WElCM,UF6BN,iBAAA,EAAA,aAAA,EAAA,EAAA,IAAA,SAAA,EAAA,EAAA,IAAA,KAAA,EAAA,EAAA,IAKA,UAAA,IElCM,WF6BN,iBAAA,EAAA,aAAA,EAAA,EAAA,WAAA,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAKA,UAAA,WElCM,WF6BN,iBAAA,EAAA,aAAA,EAAA,EAAA,WAAA,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAKA,UAAA,WElCM,WF6BN,iBAAA,EAAA,aAAA,EAAA,EAAA,KAAA,SAAA,EAAA,EAAA,KAAA,KAAA,EAAA,EAAA,KAKA,UAAA,KE3BQ,WFuCR,MAAA,KEvCQ,WFuCR,MAAA,UEvCQ,WFuCR,MAAA,WEvCQ,WFuCR,MAAA,IEvCQ,WFuCR,MAAA,WEvCQ,WFuCR,MAAA,WEvCQ,WFuCR,MAAA,IEvCQ,WFuCR,MAAA,WEvCQ,WFuCR,MAAA,WEvCQ,WFuCR,MAAA,IEvCQ,YFuCR,MAAA,WEvCQ,YFuCR,MAAA,WEvCQ,YFuCR,MAAA,KEvCQ,WFmCR,KAAA,KEnCQ,WFmCR,KAAA,UEnCQ,WFmCR,KAAA,WEnCQ,WFmCR,KAAA,IEnCQ,WFmCR,KAAA,WEnCQ,WFmCR,KAAA,WEnCQ,WFmCR,KAAA,IEnCQ,WFmCR,KAAA,WEnCQ,WFmCR,KAAA,WEnCQ,WFmCR,KAAA,IEnCQ,YFmCR,KAAA,WEnCQ,YFmCR,KAAA,WEnCQ,YFmCR,KAAA,KE1BQ,aFsBR,YAAA,EEtBQ,aFsBR,YAAA,UEtBQ,aFsBR,YAAA,WEtBQ,aFsBR,YAAA,IEtBQ,aFsBR,YAAA,WEtBQ,aFsBR,YAAA,WEtBQ,aFsBR,YAAA,IEtBQ,aFsBR,YAAA,WEtBQ,aFsBR,YAAA,WEtBQ,aFsBR,YAAA,IEtBQ,cFsBR,YAAA,WEtBQ,cFsBR,YAAA,YCvBE,0BC1BE,QACE,mBAAA,EAAA,wBAAA,EAAA,WAAA,EACA,iBAAA,EAAA,kBAAA,EAAA,kBAAA,EAAA,UAAA,EACA,UAAA,KAEF,aACE,iBAAA,EAAA,aAAA,EAAA,EAAA,KAAA,SAAA,EAAA,EAAA,KAAA,KAAA,EAAA,EAAA,KACA,MAAA,KAIA,UF6BN,iBAAA,EAAA,aAAA,EAAA,EAAA,UAAA,SAAA,EAAA,EAAA,UAAA,KAAA,EAAA,EAAA,UAKA,UAAA,UElCM,UF6BN,iBAAA,EAAA,aAAA,EAAA,EAAA,WAAA,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAKA,UAAA,WElCM,UF6BN,iBAAA,EAAA,aAAA,EAAA,EAAA,IAAA,SAAA,EAAA,EAAA,IAAA,KAAA,EAAA,EAAA,IAKA,UAAA,IElCM,UF6BN,iBAAA,EAAA,aAAA,EAAA,EAAA,WAAA,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAKA,UAAA,WElCM,UF6BN,iBAAA,EAAA,aAAA,EAAA,EAAA,WAAA,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAKA,UAAA,WElCM,UF6BN,iBAAA,EAAA,aAAA,EAAA,EAAA,IAAA,SAAA,EAAA,EAAA,IAAA,KAAA,EAAA,EAAA,IAKA,UAAA,IElCM,UF6BN,iBAAA,EAAA,aAAA,EAAA,EAAA,WAAA,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAKA,UAAA,WElCM,UF6BN,iBAAA,EAAA,aAAA,EAAA,EAAA,WAAA,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAKA,UAAA,WElCM,UF6BN,iBAAA,EAAA,aAAA,EAAA,EAAA,IAAA,SAAA,EAAA,EAAA,IAAA,KAAA,EAAA,EAAA,IAKA,UAAA,IElCM,WF6BN,iBAAA,EAAA,aAAA,EAAA,EAAA,WAAA,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAKA,UAAA,WElCM,WF6BN,iBAAA,EAAA,aAAA,EAAA,EAAA,WAAA,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAKA,UAAA,WElCM,WF6BN,iBAAA,EAAA,aAAA,EAAA,EAAA,KAAA,SAAA,EAAA,EAAA,KAAA,KAAA,EAAA,EAAA,KAKA,UAAA,KE3BQ,WFuCR,MAAA,KEvCQ,WFuCR,MAAA,UEvCQ,WFuCR,MAAA,WEvCQ,WFuCR,MAAA,IEvCQ,WFuCR,MAAA,WEvCQ,WFuCR,MAAA,WEvCQ,WFuCR,MAAA,IEvCQ,WFuCR,MAAA,WEvCQ,WFuCR,MAAA,WEvCQ,WFuCR,MAAA,IEvCQ,YFuCR,MAAA,WEvCQ,YFuCR,MAAA,WEvCQ,YFuCR,MAAA,KEvCQ,WFmCR,KAAA,KEnCQ,WFmCR,KAAA,UEnCQ,WFmCR,KAAA,WEnCQ,WFmCR,KAAA,IEnCQ,WFmCR,KAAA,WEnCQ,WFmCR,KAAA,WEnCQ,WFmCR,KAAA,IEnCQ,WFmCR,KAAA,WEnCQ,WFmCR,KAAA,WEnCQ,WFmCR,KAAA,IEnCQ,YFmCR,KAAA,WEnCQ,YFmCR,KAAA,WEnCQ,YFmCR,KAAA,KE1BQ,aFsBR,YAAA,EEtBQ,aFsBR,YAAA,UEtBQ,aFsBR,YAAA,WEtBQ,aFsBR,YAAA,IEtBQ,aFsBR,YAAA,WEtBQ,aFsBR,YAAA,WEtBQ,aFsBR,YAAA,IEtBQ,aFsBR,YAAA,WEtBQ,aFsBR,YAAA,WEtBQ,aFsBR,YAAA,IEtBQ,cFsBR,YAAA,WEtBQ,cFsBR,YAAA,YGvEE,aAAwB,0BAAA,EAAA,cAAA,GAAA,eAAA,GAAA,MAAA,GACxB,YAAwB,0BAAA,EAAA,cAAA,EAAA,eAAA,EAAA,MAAA,EACxB,SAAwB,0BAAA,EAAA,cAAA,EAAA,eAAA,EAAA,MAAA,EAExB,UAAgC,mBAAA,qBAAA,sBAAA,iBAAA,uBAAA,cAAA,mBAAA,cAAA,eAAA,cAChC,aAAgC,mBAAA,mBAAA,sBAAA,iBAAA,uBAAA,iBAAA,mBAAA,iBAAA,eAAA,iBAChC,kBAAgC,mBAAA,qBAAA,sBAAA,kBAAA,uBAAA,sBAAA,mBAAA,sBAAA,eAAA,sBAChC,qBAAgC,mBAAA,mBAAA,sBAAA,kBAAA,uBAAA,yBAAA,mBAAA,yBAAA,eAAA,yBAEhC,WAA8B,kBAAA,eAAA,cAAA,eAAA,UAAA,eAC9B,aAA8B,kBAAA,iBAAA,cAAA,iBAAA,UAAA,iBAC9B,mBAA8B,kBAAA,uBAAA,cAAA,uBAAA,UAAA,uBAE9B,uBAAoC,iBAAA,gBAAA,wBAAA,qBAAA,cAAA,gBAAA,gBAAA,qBACpC,qBAAoC,iBAAA,cAAA,wBAAA,mBAAA,cAAA,cAAA,gBAAA,mBACpC,wBAAoC,iBAAA,iBAAA,wBAAA,iBAAA,cAAA,iBAAA,gBAAA,iBACpC,yBAAoC,iBAAA,kBAAA,wBAAA,wBAAA,cAAA,kBAAA,gBAAA,wBACpC,wBAAoC,wBAAA,uBAAA,cAAA,qBAAA,gBAAA,uBAEpC,mBAAiC,kBAAA,gBAAA,oBAAA,qBAAA,eAAA,gBAAA,YAAA,qBACjC,iBAAiC,kBAAA,cAAA,oBAAA,mBAAA,eAAA,cAAA,YAAA,mBACjC,oBAAiC,kBAAA,iBAAA,oBAAA,iBAAA,eAAA,iBAAA,YAAA,iBACjC,sBAAiC,kBAAA,mBAAA,oBAAA,mBAAA,eAAA,mBAAA,YAAA,mBACjC,qBAAiC,kBAAA,kBAAA,oBAAA,kBAAA,eAAA,kBAAA,YAAA,kBAEjC,qBAAkC,sBAAA,qBAAA,mBAAA,gBAAA,cAAA,qBAClC,mBAAkC,sBAAA,mBAAA,mBAAA,cAAA,cAAA,mBAClC,sBAAkC,sBAAA,iBAAA,mBAAA,iBAAA,cAAA,iBAClC,uBAAkC,sBAAA,wBAAA,mBAAA,kBAAA,cAAA,wBAClC,sBAAkC,sBAAA,uBAAA,mBAAA,qBAAA,cAAA,uBAClC,uBAAkC,sBAAA,kBAAA,mBAAA,kBAAA,cAAA,kBAElC,iBAAgC,mBAAA,eAAA,oBAAA,eAAA,mBAAA,eAAA,WAAA,eAChC,kBAAgC,mBAAA,qBAAA,oBAAA,gBAAA,WAAA,qBAChC,gBAAgC,mBAAA,mBAAA,oBAAA,cAAA,WAAA,mBAChC,mBAAgC,mBAAA,iBAAA,oBAAA,iBAAA,mBAAA,iBAAA,WAAA,iBAChC,qBAAgC,mBAAA,mBAAA,oBAAA,mBAAA,WAAA,mBAChC,oBAAgC,mBAAA,kBAAA,oBAAA,kBAAA,mBAAA,kBAAA,WAAA,kBFWhC,yBEhDA,gBAAwB,0BAAA,EAAA,cAAA,GAAA,eAAA,GAAA,MAAA,GACxB,eAAwB,0BAAA,EAAA,cAAA,EAAA,eAAA,EAAA,MAAA,EACxB,YAAwB,0BAAA,EAAA,cAAA,EAAA,eAAA,EAAA,MAAA,EAExB,aAAgC,mBAAA,qBAAA,sBAAA,iBAAA,uBAAA,cAAA,mBAAA,cAAA,eAAA,cAChC,gBAAgC,mBAAA,mBAAA,sBAAA,iBAAA,uBAAA,iBAAA,mBAAA,iBAAA,eAAA,iBAChC,qBAAgC,mBAAA,qBAAA,sBAAA,kBAAA,uBAAA,sBAAA,mBAAA,sBAAA,eAAA,sBAChC,wBAAgC,mBAAA,mBAAA,sBAAA,kBAAA,uBAAA,yBAAA,mBAAA,yBAAA,eAAA,yBAEhC,cAA8B,kBAAA,eAAA,cAAA,eAAA,UAAA,eAC9B,gBAA8B,kBAAA,iBAAA,cAAA,iBAAA,UAAA,iBAC9B,sBAA8B,kBAAA,uBAAA,cAAA,uBAAA,UAAA,uBAE9B,0BAAoC,iBAAA,gBAAA,wBAAA,qBAAA,cAAA,gBAAA,gBAAA,qBACpC,wBAAoC,iBAAA,cAAA,wBAAA,mBAAA,cAAA,cAAA,gBAAA,mBACpC,2BAAoC,iBAAA,iBAAA,wBAAA,iBAAA,cAAA,iBAAA,gBAAA,iBACpC,4BAAoC,iBAAA,kBAAA,wBAAA,wBAAA,cAAA,kBAAA,gBAAA,wBACpC,2BAAoC,wBAAA,uBAAA,cAAA,qBAAA,gBAAA,uBAEpC,sBAAiC,kBAAA,gBAAA,oBAAA,qBAAA,eAAA,gBAAA,YAAA,qBACjC,oBAAiC,kBAAA,cAAA,oBAAA,mBAAA,eAAA,cAAA,YAAA,mBACjC,uBAAiC,kBAAA,iBAAA,oBAAA,iBAAA,eAAA,iBAAA,YAAA,iBACjC,yBAAiC,kBAAA,mBAAA,oBAAA,mBAAA,eAAA,mBAAA,YAAA,mBACjC,wBAAiC,kBAAA,kBAAA,oBAAA,kBAAA,eAAA,kBAAA,YAAA,kBAEjC,wBAAkC,sBAAA,qBAAA,mBAAA,gBAAA,cAAA,qBAClC,sBAAkC,sBAAA,mBAAA,mBAAA,cAAA,cAAA,mBAClC,yBAAkC,sBAAA,iBAAA,mBAAA,iBAAA,cAAA,iBAClC,0BAAkC,sBAAA,wBAAA,mBAAA,kBAAA,cAAA,wBAClC,yBAAkC,sBAAA,uBAAA,mBAAA,qBAAA,cAAA,uBAClC,0BAAkC,sBAAA,kBAAA,mBAAA,kBAAA,cAAA,kBAElC,oBAAgC,mBAAA,eAAA,oBAAA,eAAA,mBAAA,eAAA,WAAA,eAChC,qBAAgC,mBAAA,qBAAA,oBAAA,gBAAA,WAAA,qBAChC,mBAAgC,mBAAA,mBAAA,oBAAA,cAAA,WAAA,mBAChC,sBAAgC,mBAAA,iBAAA,oBAAA,iBAAA,mBAAA,iBAAA,WAAA,iBAChC,wBAAgC,mBAAA,mBAAA,oBAAA,mBAAA,WAAA,mBAChC,uBAAgC,mBAAA,kBAAA,oBAAA,kBAAA,mBAAA,kBAAA,WAAA,mBFWhC,yBEhDA,gBAAwB,0BAAA,EAAA,cAAA,GAAA,eAAA,GAAA,MAAA,GACxB,eAAwB,0BAAA,EAAA,cAAA,EAAA,eAAA,EAAA,MAAA,EACxB,YAAwB,0BAAA,EAAA,cAAA,EAAA,eAAA,EAAA,MAAA,EAExB,aAAgC,mBAAA,qBAAA,sBAAA,iBAAA,uBAAA,cAAA,mBAAA,cAAA,eAAA,cAChC,gBAAgC,mBAAA,mBAAA,sBAAA,iBAAA,uBAAA,iBAAA,mBAAA,iBAAA,eAAA,iBAChC,qBAAgC,mBAAA,qBAAA,sBAAA,kBAAA,uBAAA,sBAAA,mBAAA,sBAAA,eAAA,sBAChC,wBAAgC,mBAAA,mBAAA,sBAAA,kBAAA,uBAAA,yBAAA,mBAAA,yBAAA,eAAA,yBAEhC,cAA8B,kBAAA,eAAA,cAAA,eAAA,UAAA,eAC9B,gBAA8B,kBAAA,iBAAA,cAAA,iBAAA,UAAA,iBAC9B,sBAA8B,kBAAA,uBAAA,cAAA,uBAAA,UAAA,uBAE9B,0BAAoC,iBAAA,gBAAA,wBAAA,qBAAA,cAAA,gBAAA,gBAAA,qBACpC,wBAAoC,iBAAA,cAAA,wBAAA,mBAAA,cAAA,cAAA,gBAAA,mBACpC,2BAAoC,iBAAA,iBAAA,wBAAA,iBAAA,cAAA,iBAAA,gBAAA,iBACpC,4BAAoC,iBAAA,kBAAA,wBAAA,wBAAA,cAAA,kBAAA,gBAAA,wBACpC,2BAAoC,wBAAA,uBAAA,cAAA,qBAAA,gBAAA,uBAEpC,sBAAiC,kBAAA,gBAAA,oBAAA,qBAAA,eAAA,gBAAA,YAAA,qBACjC,oBAAiC,kBAAA,cAAA,oBAAA,mBAAA,eAAA,cAAA,YAAA,mBACjC,uBAAiC,kBAAA,iBAAA,oBAAA,iBAAA,eAAA,iBAAA,YAAA,iBACjC,yBAAiC,kBAAA,mBAAA,oBAAA,mBAAA,eAAA,mBAAA,YAAA,mBACjC,wBAAiC,kBAAA,kBAAA,oBAAA,kBAAA,eAAA,kBAAA,YAAA,kBAEjC,wBAAkC,sBAAA,qBAAA,mBAAA,gBAAA,cAAA,qBAClC,sBAAkC,sBAAA,mBAAA,mBAAA,cAAA,cAAA,mBAClC,yBAAkC,sBAAA,iBAAA,mBAAA,iBAAA,cAAA,iBAClC,0BAAkC,sBAAA,wBAAA,mBAAA,kBAAA,cAAA,wBAClC,yBAAkC,sBAAA,uBAAA,mBAAA,qBAAA,cAAA,uBAClC,0BAAkC,sBAAA,kBAAA,mBAAA,kBAAA,cAAA,kBAElC,oBAAgC,mBAAA,eAAA,oBAAA,eAAA,mBAAA,eAAA,WAAA,eAChC,qBAAgC,mBAAA,qBAAA,oBAAA,gBAAA,WAAA,qBAChC,mBAAgC,mBAAA,mBAAA,oBAAA,cAAA,WAAA,mBAChC,sBAAgC,mBAAA,iBAAA,oBAAA,iBAAA,mBAAA,iBAAA,WAAA,iBAChC,wBAAgC,mBAAA,mBAAA,oBAAA,mBAAA,WAAA,mBAChC,uBAAgC,mBAAA,kBAAA,oBAAA,kBAAA,mBAAA,kBAAA,WAAA,mBFWhC,yBEhDA,gBAAwB,0BAAA,EAAA,cAAA,GAAA,eAAA,GAAA,MAAA,GACxB,eAAwB,0BAAA,EAAA,cAAA,EAAA,eAAA,EAAA,MAAA,EACxB,YAAwB,0BAAA,EAAA,cAAA,EAAA,eAAA,EAAA,MAAA,EAExB,aAAgC,mBAAA,qBAAA,sBAAA,iBAAA,uBAAA,cAAA,mBAAA,cAAA,eAAA,cAChC,gBAAgC,mBAAA,mBAAA,sBAAA,iBAAA,uBAAA,iBAAA,mBAAA,iBAAA,eAAA,iBAChC,qBAAgC,mBAAA,qBAAA,sBAAA,kBAAA,uBAAA,sBAAA,mBAAA,sBAAA,eAAA,sBAChC,wBAAgC,mBAAA,mBAAA,sBAAA,kBAAA,uBAAA,yBAAA,mBAAA,yBAAA,eAAA,yBAEhC,cAA8B,kBAAA,eAAA,cAAA,eAAA,UAAA,eAC9B,gBAA8B,kBAAA,iBAAA,cAAA,iBAAA,UAAA,iBAC9B,sBAA8B,kBAAA,uBAAA,cAAA,uBAAA,UAAA,uBAE9B,0BAAoC,iBAAA,gBAAA,wBAAA,qBAAA,cAAA,gBAAA,gBAAA,qBACpC,wBAAoC,iBAAA,cAAA,wBAAA,mBAAA,cAAA,cAAA,gBAAA,mBACpC,2BAAoC,iBAAA,iBAAA,wBAAA,iBAAA,cAAA,iBAAA,gBAAA,iBACpC,4BAAoC,iBAAA,kBAAA,wBAAA,wBAAA,cAAA,kBAAA,gBAAA,wBACpC,2BAAoC,wBAAA,uBAAA,cAAA,qBAAA,gBAAA,uBAEpC,sBAAiC,kBAAA,gBAAA,oBAAA,qBAAA,eAAA,gBAAA,YAAA,qBACjC,oBAAiC,kBAAA,cAAA,oBAAA,mBAAA,eAAA,cAAA,YAAA,mBACjC,uBAAiC,kBAAA,iBAAA,oBAAA,iBAAA,eAAA,iBAAA,YAAA,iBACjC,yBAAiC,kBAAA,mBAAA,oBAAA,mBAAA,eAAA,mBAAA,YAAA,mBACjC,wBAAiC,kBAAA,kBAAA,oBAAA,kBAAA,eAAA,kBAAA,YAAA,kBAEjC,wBAAkC,sBAAA,qBAAA,mBAAA,gBAAA,cAAA,qBAClC,sBAAkC,sBAAA,mBAAA,mBAAA,cAAA,cAAA,mBAClC,yBAAkC,sBAAA,iBAAA,mBAAA,iBAAA,cAAA,iBAClC,0BAAkC,sBAAA,wBAAA,mBAAA,kBAAA,cAAA,wBAClC,yBAAkC,sBAAA,uBAAA,mBAAA,qBAAA,cAAA,uBAClC,0BAAkC,sBAAA,kBAAA,mBAAA,kBAAA,cAAA,kBAElC,oBAAgC,mBAAA,eAAA,oBAAA,eAAA,mBAAA,eAAA,WAAA,eAChC,qBAAgC,mBAAA,qBAAA,oBAAA,gBAAA,WAAA,qBAChC,mBAAgC,mBAAA,mBAAA,oBAAA,cAAA,WAAA,mBAChC,sBAAgC,mBAAA,iBAAA,oBAAA,iBAAA,mBAAA,iBAAA,WAAA,iBAChC,wBAAgC,mBAAA,mBAAA,oBAAA,mBAAA,WAAA,mBAChC,uBAAgC,mBAAA,kBAAA,oBAAA,kBAAA,mBAAA,kBAAA,WAAA,mBFWhC,0BEhDA,gBAAwB,0BAAA,EAAA,cAAA,GAAA,eAAA,GAAA,MAAA,GACxB,eAAwB,0BAAA,EAAA,cAAA,EAAA,eAAA,EAAA,MAAA,EACxB,YAAwB,0BAAA,EAAA,cAAA,EAAA,eAAA,EAAA,MAAA,EAExB,aAAgC,mBAAA,qBAAA,sBAAA,iBAAA,uBAAA,cAAA,mBAAA,cAAA,eAAA,cAChC,gBAAgC,mBAAA,mBAAA,sBAAA,iBAAA,uBAAA,iBAAA,mBAAA,iBAAA,eAAA,iBAChC,qBAAgC,mBAAA,qBAAA,sBAAA,kBAAA,uBAAA,sBAAA,mBAAA,sBAAA,eAAA,sBAChC,wBAAgC,mBAAA,mBAAA,sBAAA,kBAAA,uBAAA,yBAAA,mBAAA,yBAAA,eAAA,yBAEhC,cAA8B,kBAAA,eAAA,cAAA,eAAA,UAAA,eAC9B,gBAA8B,kBAAA,iBAAA,cAAA,iBAAA,UAAA,iBAC9B,sBAA8B,kBAAA,uBAAA,cAAA,uBAAA,UAAA,uBAE9B,0BAAoC,iBAAA,gBAAA,wBAAA,qBAAA,cAAA,gBAAA,gBAAA,qBACpC,wBAAoC,iBAAA,cAAA,wBAAA,mBAAA,cAAA,cAAA,gBAAA,mBACpC,2BAAoC,iBAAA,iBAAA,wBAAA,iBAAA,cAAA,iBAAA,gBAAA,iBACpC,4BAAoC,iBAAA,kBAAA,wBAAA,wBAAA,cAAA,kBAAA,gBAAA,wBACpC,2BAAoC,wBAAA,uBAAA,cAAA,qBAAA,gBAAA,uBAEpC,sBAAiC,kBAAA,gBAAA,oBAAA,qBAAA,eAAA,gBAAA,YAAA,qBACjC,oBAAiC,kBAAA,cAAA,oBAAA,mBAAA,eAAA,cAAA,YAAA,mBACjC,uBAAiC,kBAAA,iBAAA,oBAAA,iBAAA,eAAA,iBAAA,YAAA,iBACjC,yBAAiC,kBAAA,mBAAA,oBAAA,mBAAA,eAAA,mBAAA,YAAA,mBACjC,wBAAiC,kBAAA,kBAAA,oBAAA,kBAAA,eAAA,kBAAA,YAAA,kBAEjC,wBAAkC,sBAAA,qBAAA,mBAAA,gBAAA,cAAA,qBAClC,sBAAkC,sBAAA,mBAAA,mBAAA,cAAA,cAAA,mBAClC,yBAAkC,sBAAA,iBAAA,mBAAA,iBAAA,cAAA,iBAClC,0BAAkC,sBAAA,wBAAA,mBAAA,kBAAA,cAAA,wBAClC,yBAAkC,sBAAA,uBAAA,mBAAA,qBAAA,cAAA,uBAClC,0BAAkC,sBAAA,kBAAA,mBAAA,kBAAA,cAAA,kBAElC,oBAAgC,mBAAA,eAAA,oBAAA,eAAA,mBAAA,eAAA,WAAA,eAChC,qBAAgC,mBAAA,qBAAA,oBAAA,gBAAA,WAAA,qBAChC,mBAAgC,mBAAA,mBAAA,oBAAA,cAAA,WAAA,mBAChC,sBAAgC,mBAAA,iBAAA,oBAAA,iBAAA,mBAAA,iBAAA,WAAA,iBAChC,wBAAgC,mBAAA,mBAAA,oBAAA,mBAAA,WAAA,mBAChC,uBAAgC,mBAAA,kBAAA,oBAAA,kBAAA,mBAAA,kBAAA,WAAA"}
\ 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":";;;;AAAA;;;;;;;AAOA,IAAMA,SAAU,UAACC,CAAD,EAAO;;AAGrB;;;;;;AAMA,MAAMC,OAAsB,QAA5B;AACA,MAAMC,UAAsB,eAA5B;AACA,MAAMC,WAAsB,WAA5B;AACA,MAAMC,kBAA0BD,QAAhC;AACA,MAAME,eAAsB,WAA5B;AACA,MAAMC,qBAAsBN,EAAEO,EAAF,CAAKN,IAAL,CAA5B;;AAEA,MAAMO,YAAY;AAChBC,YAAS,QADO;AAEhBC,YAAS,KAFO;AAGhBC,WAAS;AAHO,GAAlB;;AAMA,MAAMC,WAAW;AACfC,wBAAqB,yBADN;AAEfC,iBAAqB,yBAFN;AAGfC,WAAqB,OAHN;AAIfN,YAAqB,SAJN;AAKfC,YAAqB;AALN,GAAjB;;AAQA,MAAMM,QAAQ;AACZC,8BAA8Bb,SAA9B,GAA0CC,YAD9B;AAEZa,yBAAsB,UAAQd,SAAR,GAAoBC,YAApB,mBACOD,SADP,GACmBC,YADnB;AAFV,GAAd;;AAOA;;;;;;AArCqB,MA2CfN,MA3Ce;AA6CnB,oBAAYoB,OAAZ,EAAqB;AAAA;;AACnB,WAAKC,QAAL,GAAgBD,OAAhB;AACD;;AAGD;;AAOA;;AAzDmB,qBA2DnBE,MA3DmB,qBA2DV;AACP,UAAIC,qBAAqB,IAAzB;AACA,UAAMC,cAAmBvB,EAAE,KAAKoB,QAAP,EAAiBI,OAAjB,CACvBZ,SAASE,WADc,EAEvB,CAFuB,CAAzB;;AAIA,UAAIS,WAAJ,EAAiB;AACf,YAAME,QAAQzB,EAAE,KAAKoB,QAAP,EAAiBM,IAAjB,CAAsBd,SAASG,KAA/B,EAAsC,CAAtC,CAAd;;AAEA,YAAIU,KAAJ,EAAW;AACT,cAAIA,MAAME,IAAN,KAAe,OAAnB,EAA4B;AAC1B,gBAAIF,MAAMG,OAAN,IACF5B,EAAE,KAAKoB,QAAP,EAAiBS,QAAjB,CAA0BrB,UAAUC,MAApC,CADF,EAC+C;AAC7Ca,mCAAqB,KAArB;AAED,aAJD,MAIO;AACL,kBAAMQ,gBAAgB9B,EAAEuB,WAAF,EAAeG,IAAf,CAAoBd,SAASH,MAA7B,EAAqC,CAArC,CAAtB;;AAEA,kBAAIqB,aAAJ,EAAmB;AACjB9B,kBAAE8B,aAAF,EAAiBC,WAAjB,CAA6BvB,UAAUC,MAAvC;AACD;AACF;AACF;;AAED,cAAIa,kBAAJ,EAAwB;AACtBG,kBAAMG,OAAN,GAAgB,CAAC5B,EAAE,KAAKoB,QAAP,EAAiBS,QAAjB,CAA0BrB,UAAUC,MAApC,CAAjB;AACAT,cAAEyB,KAAF,EAASO,OAAT,CAAiB,QAAjB;AACD;;AAEDP,gBAAMQ,KAAN;AACD;AAEF;;AAED,WAAKb,QAAL,CAAcc,YAAd,CAA2B,cAA3B,EACE,CAAClC,EAAE,KAAKoB,QAAP,EAAiBS,QAAjB,CAA0BrB,UAAUC,MAApC,CADH;;AAGA,UAAIa,kBAAJ,EAAwB;AACtBtB,UAAE,KAAKoB,QAAP,EAAiBe,WAAjB,CAA6B3B,UAAUC,MAAvC;AACD;AACF,KAnGkB;;AAAA,qBAqGnB2B,OArGmB,sBAqGT;AACRpC,QAAEqC,UAAF,CAAa,KAAKjB,QAAlB,EAA4BjB,QAA5B;AACA,WAAKiB,QAAL,GAAgB,IAAhB;AACD,KAxGkB;;AA2GnB;;AA3GmB,WA6GZkB,gBA7GY,6BA6GKC,MA7GL,EA6Ga;AAC9B,aAAO,KAAKC,IAAL,CAAU,YAAY;AAC3B,YAAIC,OAAOzC,EAAE,IAAF,EAAQyC,IAAR,CAAatC,QAAb,CAAX;;AAEA,YAAI,CAACsC,IAAL,EAAW;AACTA,iBAAO,IAAI1C,MAAJ,CAAW,IAAX,CAAP;AACAC,YAAE,IAAF,EAAQyC,IAAR,CAAatC,QAAb,EAAuBsC,IAAvB;AACD;;AAED,YAAIF,WAAW,QAAf,EAAyB;AACvBE,eAAKF,MAAL;AACD;AACF,OAXM,CAAP;AAYD,KA1HkB;;AAAA;AAAA;AAAA,0BAoDE;AACnB,eAAOrC,OAAP;AACD;AAtDkB;;AAAA;AAAA;;AA+HrB;;;;;;AAMAF,IAAE0C,QAAF,EACGC,EADH,CACM3B,MAAMC,cADZ,EAC4BL,SAASC,kBADrC,EACyD,UAAC+B,KAAD,EAAW;AAChEA,UAAMC,cAAN;;AAEA,QAAIC,SAASF,MAAMG,MAAnB;;AAEA,QAAI,CAAC/C,EAAE8C,MAAF,EAAUjB,QAAV,CAAmBrB,UAAUE,MAA7B,CAAL,EAA2C;AACzCoC,eAAS9C,EAAE8C,MAAF,EAAUtB,OAAV,CAAkBZ,SAASF,MAA3B,CAAT;AACD;;AAEDX,WAAOuC,gBAAP,CAAwBU,IAAxB,CAA6BhD,EAAE8C,MAAF,CAA7B,EAAwC,QAAxC;AACD,GAXH,EAYGH,EAZH,CAYM3B,MAAME,mBAZZ,EAYiCN,SAASC,kBAZ1C,EAY8D,UAAC+B,KAAD,EAAW;AACrE,QAAME,SAAS9C,EAAE4C,MAAMG,MAAR,EAAgBvB,OAAhB,CAAwBZ,SAASF,MAAjC,EAAyC,CAAzC,CAAf;AACAV,MAAE8C,MAAF,EAAUX,WAAV,CAAsB3B,UAAUG,KAAhC,EAAuC,eAAesC,IAAf,CAAoBL,MAAMjB,IAA1B,CAAvC;AACD,GAfH;;AAkBA;;;;;;AAMA3B,IAAEO,EAAF,CAAKN,IAAL,IAAyBF,OAAOuC,gBAAhC;AACAtC,IAAEO,EAAF,CAAKN,IAAL,EAAWiD,WAAX,GAAyBnD,MAAzB;AACAC,IAAEO,EAAF,CAAKN,IAAL,EAAWkD,UAAX,GAAyB,YAAY;AACnCnD,MAAEO,EAAF,CAAKN,IAAL,IAAaK,kBAAb;AACA,WAAOP,OAAOuC,gBAAd;AACD,GAHD;;AAKA,SAAOvC,MAAP;AAED,CAtKc,CAsKZqD,MAtKY,CAAf","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":"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","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)); |
